/* A Bison parser, made by GNU Bison 3.0.4. */
/* Bison implementation for Yacc-like parsers in C
Copyright (C) 1984, 1989-1990, 2000-2015 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. */
/* C LALR(1) parser skeleton written by Richard Stallman, by
simplifying the original so-called "semantic" parser. */
/* All symbols defined below should begin with yy or YY, to avoid
infringing on user name space. This should be done even for local
variables, as they might otherwise be expanded by user macros.
There are some unavoidable exceptions within include files to
define necessary library symbols; they are noted "INFRINGES ON
USER NAME SPACE" below. */
/* Identify Bison output. */
#define YYBISON 1
/* Bison version. */
#define YYBISON_VERSION "3.0.4"
/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
/* Pure parsers. */
#define YYPURE 1
/* Push parsers. */
#define YYPUSH 0
/* Pull parsers. */
#define YYPULL 1
/* Substitute the variable and function names. */
#define yyparse base_yyparse
#define yylex base_yylex
#define yyerror base_yyerror
#define yydebug base_yydebug
#define yynerrs base_yynerrs
/* Copy the first part of user declarations. */
#line 1 "gram.y" /* yacc.c:339 */
/*#define YYDEBUG 1*/
/*-------------------------------------------------------------------------
*
* gram.y
* POSTGRESQL BISON rules/actions
*
* Portions Copyright (c) 1996-2018, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
*
* IDENTIFICATION
* src/backend/parser/gram.y
*
* HISTORY
* AUTHOR DATE MAJOR EVENT
* Andrew Yu Sept, 1994 POSTQUEL to SQL conversion
* Andrew Yu Oct, 1994 lispy code conversion
*
* NOTES
* CAPITALS are used to represent terminal symbols.
* non-capitals are used to represent non-terminals.
*
* In general, nothing in this file should initiate database accesses
* nor depend on changeable state (such as SET variables). If you do
* database accesses, your code will fail when we have aborted the
* current transaction and are just parsing commands to find the next
* ROLLBACK or COMMIT. If you make use of SET variables, then you
* will do the wrong thing in multi-query strings like this:
* SET constraint_exclusion TO off; SELECT * FROM foo;
* because the entire string is parsed by gram.y before the SET gets
* executed. Anything that depends on the database or changeable state
* should be handled during parse analysis so that it happens at the
* right time not the wrong time.
*
* WARNINGS
* If you use a list, make sure the datum is a node so that the printing
* routines work.
*
* Sometimes we assign constants to makeStrings. Make sure we don't free
* those.
*
*-------------------------------------------------------------------------
*/
#include "postgres.h"
#include
#include
#include "catalog/index.h"
#include "catalog/namespace.h"
#include "catalog/pg_am.h"
#include "catalog/pg_trigger.h"
#include "commands/defrem.h"
#include "commands/trigger.h"
#include "nodes/makefuncs.h"
#include "nodes/nodeFuncs.h"
#include "parser/gramparse.h"
#include "parser/parser.h"
#include "parser/parse_expr.h"
#include "storage/lmgr.h"
#include "utils/date.h"
#include "utils/datetime.h"
#include "utils/numeric.h"
#include "utils/xml.h"
/*
* Location tracking support --- simpler than bison's default, since we only
* want to track the start position not the end position of each nonterminal.
*/
#define YYLLOC_DEFAULT(Current, Rhs, N) \
do { \
if ((N) > 0) \
(Current) = (Rhs)[1]; \
else \
(Current) = (-1); \
} while (0)
/*
* The above macro assigns -1 (unknown) as the parse location of any
* nonterminal that was reduced from an empty rule, or whose leftmost
* component was reduced from an empty rule. This is problematic
* for nonterminals defined like
* OptFooList: / * EMPTY * / { ... } | OptFooList Foo { ... } ;
* because we'll set -1 as the location during the first reduction and then
* copy it during each subsequent reduction, leaving us with -1 for the
* location even when the list is not empty. To fix that, do this in the
* action for the nonempty rule(s):
* if (@$ < 0) @$ = @2;
* (Although we have many nonterminals that follow this pattern, we only
* bother with fixing @$ like this when the nonterminal's parse location
* is actually referenced in some rule.)
*
* A cleaner answer would be to make YYLLOC_DEFAULT scan all the Rhs
* locations until it's found one that's not -1. Then we'd get a correct
* location for any nonterminal that isn't entirely empty. But this way
* would add overhead to every rule reduction, and so far there's not been
* a compelling reason to pay that overhead.
*/
/*
* Bison doesn't allocate anything that needs to live across parser calls,
* so we can easily have it use palloc instead of malloc. This prevents
* memory leaks if we error out during parsing. Note this only works with
* bison >= 2.0. However, in bison 1.875 the default is to use alloca()
* if possible, so there's not really much problem anyhow, at least if
* you're building with gcc.
*/
#define YYMALLOC palloc
#define YYFREE pfree
/* Private struct for the result of privilege_target production */
typedef struct PrivTarget
{
GrantTargetType targtype;
ObjectType objtype;
List *objs;
} PrivTarget;
/* Private struct for the result of import_qualification production */
typedef struct ImportQual
{
ImportForeignSchemaType type;
List *table_names;
} ImportQual;
/* ConstraintAttributeSpec yields an integer bitmask of these flags: */
#define CAS_NOT_DEFERRABLE 0x01
#define CAS_DEFERRABLE 0x02
#define CAS_INITIALLY_IMMEDIATE 0x04
#define CAS_INITIALLY_DEFERRED 0x08
#define CAS_NOT_VALID 0x10
#define CAS_NO_INHERIT 0x20
#define parser_yyerror(msg) scanner_yyerror(msg, yyscanner)
#define parser_errposition(pos) scanner_errposition(pos, yyscanner)
static void base_yyerror(YYLTYPE *yylloc, core_yyscan_t yyscanner,
const char *msg);
static RawStmt *makeRawStmt(Node *stmt, int stmt_location);
static void updateRawStmtEnd(RawStmt *rs, int end_location);
static Node *makeColumnRef(char *colname, List *indirection,
int location, core_yyscan_t yyscanner);
static Node *makeTypeCast(Node *arg, TypeName *typename, int location);
static Node *makeStringConst(char *str, int location);
static Node *makeStringConstCast(char *str, int location, TypeName *typename);
static Node *makeIntConst(int val, int location);
static Node *makeFloatConst(char *str, int location);
static Node *makeBitStringConst(char *str, int location);
static Node *makeNullAConst(int location);
static Node *makeAConst(Value *v, int location);
static Node *makeBoolAConst(bool state, int location);
static RoleSpec *makeRoleSpec(RoleSpecType type, int location);
static void check_qualified_name(List *names, core_yyscan_t yyscanner);
static List *check_func_name(List *names, core_yyscan_t yyscanner);
static List *check_indirection(List *indirection, core_yyscan_t yyscanner);
static List *extractArgTypes(List *parameters);
static List *extractAggrArgTypes(List *aggrargs);
static List *makeOrderedSetArgs(List *directargs, List *orderedargs,
core_yyscan_t yyscanner);
static void insertSelectOptions(SelectStmt *stmt,
List *sortClause, List *lockingClause,
Node *limitOffset, Node *limitCount,
WithClause *withClause,
core_yyscan_t yyscanner);
static Node *makeSetOp(SetOperation op, bool all, Node *larg, Node *rarg);
static Node *doNegate(Node *n, int location);
static void doNegateFloat(Value *v);
static Node *makeAndExpr(Node *lexpr, Node *rexpr, int location);
static Node *makeOrExpr(Node *lexpr, Node *rexpr, int location);
static Node *makeNotExpr(Node *expr, int location);
static Node *makeAArrayExpr(List *elements, int location);
static Node *makeSQLValueFunction(SQLValueFunctionOp op, int32 typmod,
int location);
static Node *makeXmlExpr(XmlExprOp op, char *name, List *named_args,
List *args, int location);
static List *mergeTableFuncParameters(List *func_args, List *columns);
static TypeName *TableFuncTypeName(List *columns);
static RangeVar *makeRangeVarFromAnyName(List *names, int position, core_yyscan_t yyscanner);
static void SplitColQualList(List *qualList,
List **constraintList, CollateClause **collClause,
core_yyscan_t yyscanner);
static void processCASbits(int cas_bits, int location, const char *constrType,
bool *deferrable, bool *initdeferred, bool *not_valid,
bool *no_inherit, core_yyscan_t yyscanner);
static Node *makeRecursiveViewSelect(char *relname, List *aliases, Node *query);
#line 264 "gram.c" /* yacc.c:339 */
# ifndef YY_NULLPTR
# if defined __cplusplus && 201103L <= __cplusplus
# define YY_NULLPTR nullptr
# else
# define YY_NULLPTR 0
# endif
# endif
/* Enabling verbose error messages. */
#ifdef YYERROR_VERBOSE
# undef YYERROR_VERBOSE
# define YYERROR_VERBOSE 1
#else
# define YYERROR_VERBOSE 0
#endif
/* In a future release of Bison, this section will be replaced
by #include "gram.h". */
#ifndef YY_BASE_YY_GRAM_H_INCLUDED
# define YY_BASE_YY_GRAM_H_INCLUDED
/* Debug traces. */
#ifndef YYDEBUG
# define YYDEBUG 0
#endif
#if YYDEBUG
extern int base_yydebug;
#endif
/* Token type. */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
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,
EQUALS_GREATER = 269,
LESS_EQUALS = 270,
GREATER_EQUALS = 271,
NOT_EQUALS = 272,
ABORT_P = 273,
ABSOLUTE_P = 274,
ACCESS = 275,
ACTION = 276,
ADD_P = 277,
ADMIN = 278,
AFTER = 279,
AGGREGATE = 280,
ALL = 281,
ALSO = 282,
ALTER = 283,
ALWAYS = 284,
ANALYSE = 285,
ANALYZE = 286,
AND = 287,
ANY = 288,
ARRAY = 289,
AS = 290,
ASC = 291,
ASSERTION = 292,
ASSIGNMENT = 293,
ASYMMETRIC = 294,
AT = 295,
ATTACH = 296,
ATTRIBUTE = 297,
AUTHORIZATION = 298,
BACKWARD = 299,
BEFORE = 300,
BEGIN_P = 301,
BETWEEN = 302,
BIGINT = 303,
BINARY = 304,
BIT = 305,
BOOLEAN_P = 306,
BOTH = 307,
BY = 308,
CACHE = 309,
CALL = 310,
CALLED = 311,
CASCADE = 312,
CASCADED = 313,
CASE = 314,
CAST = 315,
CATALOG_P = 316,
CHAIN = 317,
CHAR_P = 318,
CHARACTER = 319,
CHARACTERISTICS = 320,
CHECK = 321,
CHECKPOINT = 322,
CLASS = 323,
CLOSE = 324,
CLUSTER = 325,
COALESCE = 326,
COLLATE = 327,
COLLATION = 328,
COLUMN = 329,
COLUMNS = 330,
COMMENT = 331,
COMMENTS = 332,
COMMIT = 333,
COMMITTED = 334,
CONCURRENTLY = 335,
CONFIGURATION = 336,
CONFLICT = 337,
CONNECTION = 338,
CONSTRAINT = 339,
CONSTRAINTS = 340,
CONTENT_P = 341,
CONTINUE_P = 342,
CONVERSION_P = 343,
COPY = 344,
COST = 345,
CREATE = 346,
CROSS = 347,
CSV = 348,
CUBE = 349,
CURRENT_P = 350,
CURRENT_CATALOG = 351,
CURRENT_DATE = 352,
CURRENT_ROLE = 353,
CURRENT_SCHEMA = 354,
CURRENT_TIME = 355,
CURRENT_TIMESTAMP = 356,
CURRENT_USER = 357,
CURSOR = 358,
CYCLE = 359,
DATA_P = 360,
DATABASE = 361,
DAY_P = 362,
DEALLOCATE = 363,
DEC = 364,
DECIMAL_P = 365,
DECLARE = 366,
DEFAULT = 367,
DEFAULTS = 368,
DEFERRABLE = 369,
DEFERRED = 370,
DEFINER = 371,
DELETE_P = 372,
DELIMITER = 373,
DELIMITERS = 374,
DEPENDS = 375,
DESC = 376,
DETACH = 377,
DICTIONARY = 378,
DISABLE_P = 379,
DISCARD = 380,
DISTINCT = 381,
DO = 382,
DOCUMENT_P = 383,
DOMAIN_P = 384,
DOUBLE_P = 385,
DROP = 386,
EACH = 387,
ELSE = 388,
ENABLE_P = 389,
ENCODING = 390,
ENCRYPTED = 391,
END_P = 392,
ENUM_P = 393,
ESCAPE = 394,
EVENT = 395,
EXCEPT = 396,
EXCLUDE = 397,
EXCLUDING = 398,
EXCLUSIVE = 399,
EXECUTE = 400,
EXISTS = 401,
EXPLAIN = 402,
EXTENSION = 403,
EXTERNAL = 404,
EXTRACT = 405,
FALSE_P = 406,
FAMILY = 407,
FETCH = 408,
FILTER = 409,
FIRST_P = 410,
FLOAT_P = 411,
FOLLOWING = 412,
FOR = 413,
FORCE = 414,
FOREIGN = 415,
FORWARD = 416,
FREEZE = 417,
FROM = 418,
FULL = 419,
FUNCTION = 420,
FUNCTIONS = 421,
GENERATED = 422,
GLOBAL = 423,
GRANT = 424,
GRANTED = 425,
GREATEST = 426,
GROUP_P = 427,
GROUPING = 428,
GROUPS = 429,
HANDLER = 430,
HAVING = 431,
HEADER_P = 432,
HOLD = 433,
HOUR_P = 434,
IDENTITY_P = 435,
IF_P = 436,
ILIKE = 437,
IMMEDIATE = 438,
IMMUTABLE = 439,
IMPLICIT_P = 440,
IMPORT_P = 441,
IN_P = 442,
INCLUDE = 443,
INCLUDING = 444,
INCREMENT = 445,
INDEX = 446,
INDEXES = 447,
INHERIT = 448,
INHERITS = 449,
INITIALLY = 450,
INLINE_P = 451,
INNER_P = 452,
INOUT = 453,
INPUT_P = 454,
INSENSITIVE = 455,
INSERT = 456,
INSTEAD = 457,
INT_P = 458,
INTEGER = 459,
INTERSECT = 460,
INTERVAL = 461,
INTO = 462,
INVOKER = 463,
IS = 464,
ISNULL = 465,
ISOLATION = 466,
JOIN = 467,
KEY = 468,
LABEL = 469,
LANGUAGE = 470,
LARGE_P = 471,
LAST_P = 472,
LATERAL_P = 473,
LEADING = 474,
LEAKPROOF = 475,
LEAST = 476,
LEFT = 477,
LEVEL = 478,
LIKE = 479,
LIMIT = 480,
LISTEN = 481,
LOAD = 482,
LOCAL = 483,
LOCALTIME = 484,
LOCALTIMESTAMP = 485,
LOCATION = 486,
LOCK_P = 487,
LOCKED = 488,
LOGGED = 489,
MAPPING = 490,
MATCH = 491,
MATERIALIZED = 492,
MAXVALUE = 493,
METHOD = 494,
MINUTE_P = 495,
MINVALUE = 496,
MODE = 497,
MONTH_P = 498,
MOVE = 499,
NAME_P = 500,
NAMES = 501,
NATIONAL = 502,
NATURAL = 503,
NCHAR = 504,
NEW = 505,
NEXT = 506,
NO = 507,
NONE = 508,
NOT = 509,
NOTHING = 510,
NOTIFY = 511,
NOTNULL = 512,
NOWAIT = 513,
NULL_P = 514,
NULLIF = 515,
NULLS_P = 516,
NUMERIC = 517,
OBJECT_P = 518,
OF = 519,
OFF = 520,
OFFSET = 521,
OIDS = 522,
OLD = 523,
ON = 524,
ONLY = 525,
OPERATOR = 526,
OPTION = 527,
OPTIONS = 528,
OR = 529,
ORDER = 530,
ORDINALITY = 531,
OTHERS = 532,
OUT_P = 533,
OUTER_P = 534,
OVER = 535,
OVERLAPS = 536,
OVERLAY = 537,
OVERRIDING = 538,
OWNED = 539,
OWNER = 540,
PARALLEL = 541,
PARSER = 542,
PARTIAL = 543,
PARTITION = 544,
PASSING = 545,
PASSWORD = 546,
PLACING = 547,
PLANS = 548,
POLICY = 549,
POSITION = 550,
PRECEDING = 551,
PRECISION = 552,
PRESERVE = 553,
PREPARE = 554,
PREPARED = 555,
PRIMARY = 556,
PRIOR = 557,
PRIVILEGES = 558,
PROCEDURAL = 559,
PROCEDURE = 560,
PROCEDURES = 561,
PROGRAM = 562,
PUBLICATION = 563,
QUOTE = 564,
RANGE = 565,
READ = 566,
REAL = 567,
REASSIGN = 568,
RECHECK = 569,
RECURSIVE = 570,
REF = 571,
REFERENCES = 572,
REFERENCING = 573,
REFRESH = 574,
REINDEX = 575,
RELATIVE_P = 576,
RELEASE = 577,
RENAME = 578,
REPEATABLE = 579,
REPLACE = 580,
REPLICA = 581,
RESET = 582,
RESTART = 583,
RESTRICT = 584,
RETURNING = 585,
RETURNS = 586,
REVOKE = 587,
RIGHT = 588,
ROLE = 589,
ROLLBACK = 590,
ROLLUP = 591,
ROUTINE = 592,
ROUTINES = 593,
ROW = 594,
ROWS = 595,
RULE = 596,
SAVEPOINT = 597,
SCHEMA = 598,
SCHEMAS = 599,
SCROLL = 600,
SEARCH = 601,
SECOND_P = 602,
SECURITY = 603,
SELECT = 604,
SEQUENCE = 605,
SEQUENCES = 606,
SERIALIZABLE = 607,
SERVER = 608,
SESSION = 609,
SESSION_USER = 610,
SET = 611,
SETS = 612,
SETOF = 613,
SHARE = 614,
SHOW = 615,
SIMILAR = 616,
SIMPLE = 617,
SKIP = 618,
SMALLINT = 619,
SNAPSHOT = 620,
SOME = 621,
SQL_P = 622,
STABLE = 623,
STANDALONE_P = 624,
START = 625,
STATEMENT = 626,
STATISTICS = 627,
STDIN = 628,
STDOUT = 629,
STORAGE = 630,
STRICT_P = 631,
STRIP_P = 632,
SUBSCRIPTION = 633,
SUBSTRING = 634,
SYMMETRIC = 635,
SYSID = 636,
SYSTEM_P = 637,
TABLE = 638,
TABLES = 639,
TABLESAMPLE = 640,
TABLESPACE = 641,
TEMP = 642,
TEMPLATE = 643,
TEMPORARY = 644,
TEXT_P = 645,
THEN = 646,
TIES = 647,
TIME = 648,
TIMESTAMP = 649,
TO = 650,
TRAILING = 651,
TRANSACTION = 652,
TRANSFORM = 653,
TREAT = 654,
TRIGGER = 655,
TRIM = 656,
TRUE_P = 657,
TRUNCATE = 658,
TRUSTED = 659,
TYPE_P = 660,
TYPES_P = 661,
UNBOUNDED = 662,
UNCOMMITTED = 663,
UNENCRYPTED = 664,
UNION = 665,
UNIQUE = 666,
UNKNOWN = 667,
UNLISTEN = 668,
UNLOGGED = 669,
UNTIL = 670,
UPDATE = 671,
USER = 672,
USING = 673,
VACUUM = 674,
VALID = 675,
VALIDATE = 676,
VALIDATOR = 677,
VALUE_P = 678,
VALUES = 679,
VARCHAR = 680,
VARIADIC = 681,
VARYING = 682,
VERBOSE = 683,
VERSION_P = 684,
VIEW = 685,
VIEWS = 686,
VOLATILE = 687,
WHEN = 688,
WHERE = 689,
WHITESPACE_P = 690,
WINDOW = 691,
WITH = 692,
WITHIN = 693,
WITHOUT = 694,
WORK = 695,
WRAPPER = 696,
WRITE = 697,
XML_P = 698,
XMLATTRIBUTES = 699,
XMLCONCAT = 700,
XMLELEMENT = 701,
XMLEXISTS = 702,
XMLFOREST = 703,
XMLNAMESPACES = 704,
XMLPARSE = 705,
XMLPI = 706,
XMLROOT = 707,
XMLSERIALIZE = 708,
XMLTABLE = 709,
YEAR_P = 710,
YES_P = 711,
ZONE = 712,
NOT_LA = 713,
NULLS_LA = 714,
WITH_LA = 715,
POSTFIXOP = 716,
UMINUS = 717
};
#endif
/* Value type. */
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
union YYSTYPE
{
#line 202 "gram.y" /* yacc.c:355 */
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;
ObjectWithArgs *objwithargs;
DefElem *defelt;
SortBy *sortby;
WindowDef *windef;
JoinExpr *jexpr;
IndexElem *ielem;
Alias *alias;
RangeVar *range;
IntoClause *into;
WithClause *with;
InferClause *infer;
OnConflictClause *onconflict;
A_Indices *aind;
ResTarget *target;
struct PrivTarget *privtarget;
AccessPriv *accesspriv;
struct ImportQual *importqual;
InsertStmt *istmt;
VariableSetStmt *vsetstmt;
PartitionElem *partelem;
PartitionSpec *partspec;
PartitionBoundSpec *partboundspec;
RoleSpec *rolespec;
#line 811 "gram.c" /* yacc.c:355 */
};
typedef union YYSTYPE YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define YYSTYPE_IS_DECLARED 1
#endif
/* Location type. */
#if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
typedef struct YYLTYPE YYLTYPE;
struct YYLTYPE
{
int first_line;
int first_column;
int last_line;
int last_column;
};
# define YYLTYPE_IS_DECLARED 1
# define YYLTYPE_IS_TRIVIAL 1
#endif
int base_yyparse (core_yyscan_t yyscanner);
#endif /* !YY_BASE_YY_GRAM_H_INCLUDED */
/* Copy the second part of user declarations. */
#line 841 "gram.c" /* yacc.c:358 */
#ifdef short
# undef short
#endif
#ifdef YYTYPE_UINT8
typedef YYTYPE_UINT8 yytype_uint8;
#else
typedef unsigned char yytype_uint8;
#endif
#ifdef YYTYPE_INT8
typedef YYTYPE_INT8 yytype_int8;
#else
typedef signed char yytype_int8;
#endif
#ifdef YYTYPE_UINT16
typedef YYTYPE_UINT16 yytype_uint16;
#else
typedef unsigned short int yytype_uint16;
#endif
#ifdef YYTYPE_INT16
typedef YYTYPE_INT16 yytype_int16;
#else
typedef short int yytype_int16;
#endif
#ifndef YYSIZE_T
# ifdef __SIZE_TYPE__
# define YYSIZE_T __SIZE_TYPE__
# elif defined size_t
# define YYSIZE_T size_t
# elif ! defined YYSIZE_T
# include /* INFRINGES ON USER NAME SPACE */
# define YYSIZE_T size_t
# else
# define YYSIZE_T unsigned int
# endif
#endif
#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
#ifndef YY_
# if defined YYENABLE_NLS && YYENABLE_NLS
# if ENABLE_NLS
# include /* INFRINGES ON USER NAME SPACE */
# define YY_(Msgid) dgettext ("bison-runtime", Msgid)
# endif
# endif
# ifndef YY_
# define YY_(Msgid) Msgid
# endif
#endif
#ifndef YY_ATTRIBUTE
# if (defined __GNUC__ \
&& (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
|| defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
# define YY_ATTRIBUTE(Spec) __attribute__(Spec)
# else
# define YY_ATTRIBUTE(Spec) /* empty */
# endif
#endif
#ifndef YY_ATTRIBUTE_PURE
# define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
#endif
#ifndef YY_ATTRIBUTE_UNUSED
# define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
#endif
#if !defined _Noreturn \
&& (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
# if defined _MSC_VER && 1200 <= _MSC_VER
# define _Noreturn __declspec (noreturn)
# else
# define _Noreturn YY_ATTRIBUTE ((__noreturn__))
# endif
#endif
/* Suppress unused-variable warnings by "using" E. */
#if ! defined lint || defined __GNUC__
# define YYUSE(E) ((void) (E))
#else
# define YYUSE(E) /* empty */
#endif
#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
/* Suppress an incorrect diagnostic about yylval being uninitialized. */
# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
_Pragma ("GCC diagnostic push") \
_Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
_Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
_Pragma ("GCC diagnostic pop")
#else
# define YY_INITIAL_VALUE(Value) Value
#endif
#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
# define YY_IGNORE_MAYBE_UNINITIALIZED_END
#endif
#ifndef YY_INITIAL_VALUE
# define YY_INITIAL_VALUE(Value) /* Nothing. */
#endif
#if ! defined yyoverflow || YYERROR_VERBOSE
/* The parser invokes alloca or malloc; define the necessary symbols. */
# ifdef YYSTACK_USE_ALLOCA
# if YYSTACK_USE_ALLOCA
# ifdef __GNUC__
# define YYSTACK_ALLOC __builtin_alloca
# elif defined __BUILTIN_VA_ARG_INCR
# include /* INFRINGES ON USER NAME SPACE */
# elif defined _AIX
# define YYSTACK_ALLOC __alloca
# elif defined _MSC_VER
# include /* INFRINGES ON USER NAME SPACE */
# define alloca _alloca
# else
# define YYSTACK_ALLOC alloca
# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
# include /* INFRINGES ON USER NAME SPACE */
/* Use EXIT_SUCCESS as a witness for stdlib.h. */
# ifndef EXIT_SUCCESS
# define EXIT_SUCCESS 0
# endif
# endif
# endif
# endif
# endif
# ifdef YYSTACK_ALLOC
/* Pacify GCC's 'empty if-body' warning. */
# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
# ifndef YYSTACK_ALLOC_MAXIMUM
/* The OS might guarantee only one guard page at the bottom of the stack,
and a page size can be as small as 4096 bytes. So we cannot safely
invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
to allow for a few compiler-allocated temporary stack slots. */
# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
# endif
# else
# define YYSTACK_ALLOC YYMALLOC
# define YYSTACK_FREE YYFREE
# ifndef YYSTACK_ALLOC_MAXIMUM
# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
# endif
# if (defined __cplusplus && ! defined EXIT_SUCCESS \
&& ! ((defined YYMALLOC || defined malloc) \
&& (defined YYFREE || defined free)))
# include /* INFRINGES ON USER NAME SPACE */
# ifndef EXIT_SUCCESS
# define EXIT_SUCCESS 0
# endif
# endif
# ifndef YYMALLOC
# define YYMALLOC malloc
# if ! defined malloc && ! defined EXIT_SUCCESS
void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
# endif
# endif
# ifndef YYFREE
# define YYFREE free
# if ! defined free && ! defined EXIT_SUCCESS
void free (void *); /* INFRINGES ON USER NAME SPACE */
# endif
# endif
# endif
#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
#if (! defined yyoverflow \
&& (! defined __cplusplus \
|| (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \
&& defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
/* A type that is properly aligned for any stack member. */
union yyalloc
{
yytype_int16 yyss_alloc;
YYSTYPE yyvs_alloc;
YYLTYPE yyls_alloc;
};
/* The size of the maximum gap between one aligned stack and the next. */
# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
/* The size of an array large to enough to hold all stacks, each with
N elements. */
# define YYSTACK_BYTES(N) \
((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \
+ 2 * YYSTACK_GAP_MAXIMUM)
# define YYCOPY_NEEDED 1
/* Relocate STACK from its old location to the new one. The
local variables YYSIZE and YYSTACKSIZE give the old and new number of
elements in the stack, and YYPTR gives the new location of the
stack. Advance YYPTR to a properly aligned location for the next
stack. */
# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
do \
{ \
YYSIZE_T yynewbytes; \
YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
Stack = &yyptr->Stack_alloc; \
yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
yyptr += yynewbytes / sizeof (*yyptr); \
} \
while (0)
#endif
#if defined YYCOPY_NEEDED && YYCOPY_NEEDED
/* Copy COUNT objects from SRC to DST. The source and destination do
not overlap. */
# ifndef YYCOPY
# if defined __GNUC__ && 1 < __GNUC__
# define YYCOPY(Dst, Src, Count) \
__builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
# else
# define YYCOPY(Dst, Src, Count) \
do \
{ \
YYSIZE_T yyi; \
for (yyi = 0; yyi < (Count); yyi++) \
(Dst)[yyi] = (Src)[yyi]; \
} \
while (0)
# endif
# endif
#endif /* !YYCOPY_NEEDED */
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 828
/* YYLAST -- Last index in YYTABLE. */
#define YYLAST 101254
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 480
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 668
/* YYNRULES -- Number of rules. */
#define YYNRULES 2727
/* YYNSTATES -- Number of states. */
#define YYNSTATES 5473
/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
by yylex, with out-of-bounds checking. */
#define YYUNDEFTOK 2
#define YYMAXUTOK 717
#define YYTRANSLATE(YYX) \
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
as returned by yylex, without out-of-bounds checking. */
static const yytype_uint16 yytranslate[] =
{
0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 469, 2, 2,
474, 475, 467, 465, 478, 466, 476, 468, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 479, 477,
461, 463, 462, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 472, 2, 473, 470, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
455, 456, 457, 458, 459, 460, 464, 471
};
#if YYDEBUG
/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
0, 784, 784, 800, 812, 822, 823, 824, 825, 826,
827, 828, 829, 830, 831, 832, 833, 834, 835, 836,
837, 838, 839, 840, 841, 842, 843, 844, 845, 846,
847, 848, 849, 850, 851, 852, 853, 854, 855, 856,
857, 858, 859, 860, 861, 862, 863, 864, 865, 866,
867, 868, 869, 870, 871, 872, 873, 874, 875, 876,
877, 878, 879, 880, 881, 882, 883, 884, 885, 886,
887, 888, 889, 890, 891, 892, 893, 894, 895, 896,
897, 898, 899, 900, 901, 902, 903, 904, 905, 906,
907, 908, 909, 910, 911, 912, 913, 914, 915, 916,
917, 918, 919, 920, 921, 922, 923, 924, 925, 926,
927, 928, 929, 930, 931, 932, 933, 934, 935, 936,
937, 938, 939, 940, 941, 942, 943, 944, 945, 947,
956, 971, 982, 983, 984, 993, 994, 998, 999, 1003,
1008, 1012, 1022, 1030, 1034, 1038, 1043, 1047, 1095, 1097,
1101, 1105, 1109, 1113, 1127, 1145, 1153, 1164, 1165, 1169,
1177, 1185, 1193, 1214, 1221, 1228, 1235, 1242, 1249, 1266,
1284, 1295, 1296, 1307, 1317, 1327, 1342, 1360, 1361, 1365,
1372, 1380, 1381, 1382, 1383, 1384, 1385, 1399, 1405, 1411,
1420, 1428, 1436, 1440, 1448, 1456, 1463, 1472, 1473, 1481,
1492, 1500, 1508, 1519, 1527, 1535, 1542, 1551, 1561, 1562,
1566, 1567, 1570, 1572, 1576, 1577, 1578, 1579, 1583, 1584,
1585, 1591, 1603, 1607, 1611, 1626, 1633, 1634, 1635, 1639,
1640, 1641, 1645, 1646, 1650, 1654, 1655, 1662, 1669, 1679,
1686, 1696, 1697, 1702, 1703, 1708, 1714, 1720, 1726, 1732,
1742, 1752, 1753, 1757, 1758, 1766, 1781, 1787, 1793, 1799,
1805, 1824, 1833, 1842, 1851, 1860, 1871, 1882, 1891, 1900,
1909, 1920, 1931, 1940, 1949, 1958, 1967, 1976, 1985, 1996,
2010, 2011, 2016, 2029, 2045, 2061, 2070, 2079, 2088, 2097,
2106, 2114, 2122, 2131, 2147, 2156, 2165, 2174, 2191, 2200,
2209, 2218, 2228, 2241, 2256, 2265, 2273, 2288, 2296, 2306,
2316, 2323, 2330, 2338, 2346, 2353, 2360, 2368, 2376, 2384,
2391, 2398, 2406, 2413, 2420, 2428, 2436, 2444, 2452, 2460,
2468, 2478, 2485, 2493, 2501, 2509, 2517, 2525, 2532, 2539,
2546, 2552, 2562, 2563, 2567, 2568, 2569, 2573, 2581, 2585,
2586, 2590, 2597, 2604, 2611, 2621, 2624, 2625, 2629, 2630,
2635, 2639, 2643, 2648, 2655, 2657, 2662, 2666, 2670, 2681,
2689, 2742, 2755, 2769, 2781, 2788, 2792, 2799, 2800, 2801,
2802, 2803, 2807, 2808, 2813, 2814, 2819, 2829, 2839, 2859,
2872, 2873, 2878, 2887, 2897, 2907, 2933, 2939, 2972, 3001,
3023, 3024, 3028, 3029, 3038, 3039, 3040, 3043, 3044, 3049,
3050, 3054, 3058, 3062, 3066, 3070, 3074, 3078, 3082, 3086,
3090, 3094, 3098, 3102, 3106, 3115, 3119, 3123, 3127, 3131,
3135, 3139, 3140, 3145, 3149, 3156, 3163, 3164, 3165, 3166,
3167, 3171, 3175, 3183, 3194, 3211, 3229, 3248, 3267, 3286,
3318, 3319, 3320, 3321, 3322, 3329, 3336, 3337, 3341, 3342,
3346, 3347, 3351, 3355, 3362, 3366, 3373, 3374, 3375, 3379,
3380, 3383, 3404, 3422, 3443, 3444, 3448, 3455, 3456, 3457,
3488, 3495, 3502, 3513, 3524, 3536, 3545, 3554, 3572, 3573,
3592, 3599, 3606, 3613, 3624, 3634, 3635, 3636, 3640, 3641,
3642, 3643, 3644, 3645, 3646, 3647, 3656, 3663, 3667, 3680,
3696, 3711, 3727, 3742, 3761, 3782, 3783, 3787, 3788, 3792,
3793, 3796, 3802, 3803, 3806, 3810, 3818, 3823, 3829, 3830,
3834, 3839, 3846, 3847, 3857, 3859, 3861, 3863, 3866, 3869,
3872, 3876, 3877, 3878, 3879, 3880, 3883, 3884, 3888, 3889,
3892, 3904, 3905, 3908, 3909, 3912, 3923, 3934, 3948, 3949,
3950, 3951, 3954, 3955, 3956, 3957, 3960, 3961, 3964, 3965,
3968, 3986, 3998, 4023, 4036, 4052, 4066, 4067, 4068, 4080,
4093, 4109, 4122, 4123, 4135, 4155, 4165, 4178, 4186, 4197,
4198, 4201, 4202, 4205, 4206, 4209, 4213, 4217, 4221, 4225,
4229, 4233, 4237, 4241, 4245, 4249, 4254, 4258, 4262, 4268,
4269, 4273, 4274, 4275, 4280, 4283, 4284, 4296, 4308, 4323,
4324, 4332, 4333, 4337, 4338, 4342, 4343, 4347, 4348, 4352,
4362, 4375, 4376, 4386, 4397, 4398, 4411, 4418, 4435, 4443,
4454, 4457, 4461, 4465, 4469, 4473, 4485, 4495, 4498, 4502,
4515, 4524, 4533, 4542, 4551, 4560, 4569, 4578, 4587, 4596,
4605, 4614, 4623, 4632, 4641, 4650, 4659, 4668, 4677, 4686,
4695, 4704, 4713, 4722, 4731, 4740, 4749, 4758, 4776, 4787,
4788, 4789, 4790, 4794, 4795, 4799, 4800, 4810, 4818, 4830,
4831, 4835, 4839, 4847, 4851, 4855, 4862, 4866, 4871, 4876,
4883, 4890, 4895, 4905, 4917, 4932, 4933, 4938, 4939, 4943,
4944, 4954, 4963, 4971, 4988, 5008, 5028, 5049, 5080, 5089,
5110, 5125, 5126, 5130, 5138, 5153, 5162, 5174, 5175, 5187,
5195, 5212, 5236, 5253, 5267, 5268, 5272, 5273, 5277, 5278,
5282, 5283, 5287, 5301, 5305, 5306, 5310, 5311, 5312, 5313,
5314, 5324, 5342, 5363, 5389, 5390, 5391, 5395, 5397, 5419,
5421, 5423, 5425, 5427, 5432, 5433, 5437, 5438, 5442, 5453,
5454, 5458, 5467, 5471, 5475, 5480, 5490, 5491, 5495, 5496,
5500, 5501, 5505, 5506, 5510, 5511, 5512, 5516, 5520, 5521,
5522, 5526, 5527, 5532, 5533, 5560, 5561, 5562, 5563, 5564,
5565, 5578, 5588, 5602, 5604, 5609, 5614, 5616, 5621, 5631,
5632, 5633, 5634, 5646, 5666, 5688, 5698, 5709, 5719, 5729,
5740, 5749, 5756, 5763, 5772, 5781, 5790, 5799, 5808, 5818,
5827, 5839, 5842, 5843, 5846, 5850, 5857, 5858, 5859, 5860,
5861, 5862, 5865, 5868, 5869, 5877, 5884, 5885, 5888, 5890,
5901, 5912, 5923, 5934, 5947, 5948, 5964, 5979, 5980, 5984,
5996, 6006, 6014, 6023, 6032, 6033, 6036, 6037, 6040, 6041,
6042, 6045, 6059, 6064, 6074, 6083, 6095, 6096, 6100, 6108,
6120, 6130, 6143, 6153, 6175, 6185, 6203, 6213, 6223, 6233,
6243, 6253, 6263, 6273, 6283, 6293, 6303, 6313, 6327, 6328,
6329, 6330, 6331, 6332, 6333, 6334, 6335, 6336, 6337, 6338,
6339, 6344, 6345, 6346, 6347, 6348, 6349, 6350, 6355, 6356,
6357, 6361, 6362, 6365, 6366, 6369, 6371, 6376, 6377, 6387,
6398, 6399, 6400, 6434, 6442, 6450, 6458, 6466, 6474, 6482,
6490, 6498, 6511, 6519, 6527, 6535, 6543, 6551, 6559, 6567,
6575, 6583, 6595, 6596, 6597, 6598, 6599, 6600, 6601, 6602,
6603, 6604, 6605, 6606, 6607, 6608, 6613, 6614, 6615, 6616,
6617, 6618, 6619, 6620, 6621, 6622, 6623, 6624, 6628, 6629,
6643, 6653, 6663, 6673, 6683, 6693, 6703, 6713, 6723, 6735,
6736, 6741, 6742, 6743, 6744, 6745, 6746, 6751, 6752, 6753,
6754, 6755, 6756, 6757, 6758, 6761, 6762, 6772, 6778, 6786,
6794, 6802, 6810, 6818, 6826, 6834, 6842, 6850, 6858, 6866,
6874, 6882, 6890, 6898, 6906, 6916, 6917, 6920, 6921, 6931,
6947, 6961, 6987, 6989, 6991, 6993, 7000, 7009, 7010, 7013,
7020, 7027, 7034, 7048, 7056, 7064, 7072, 7080, 7088, 7096,
7104, 7112, 7120, 7128, 7136, 7144, 7152, 7160, 7168, 7176,
7184, 7192, 7200, 7212, 7213, 7217, 7218, 7223, 7224, 7234,
7247, 7257, 7269, 7270, 7273, 7274, 7284, 7294, 7295, 7299,
7303, 7307, 7318, 7331, 7345, 7362, 7363, 7364, 7365, 7366,
7367, 7379, 7407, 7438, 7439, 7443, 7444, 7448, 7449, 7453,
7454, 7457, 7458, 7466, 7477, 7488, 7501, 7502, 7505, 7506,
7509, 7510, 7513, 7514, 7517, 7518, 7519, 7522, 7523, 7524,
7540, 7552, 7565, 7577, 7592, 7593, 7596, 7597, 7601, 7602,
7606, 7607, 7612, 7624, 7631, 7638, 7653, 7654, 7658, 7659,
7674, 7683, 7692, 7701, 7710, 7722, 7723, 7724, 7725, 7726,
7732, 7736, 7751, 7752, 7758, 7768, 7772, 7777, 7785, 7826,
7830, 7834, 7838, 7846, 7847, 7851, 7861, 7862, 7868, 7869,
7876, 7880, 7884, 7888, 7892, 7896, 7900, 7904, 7908, 7912,
7916, 7920, 7924, 7928, 7932, 7937, 7944, 7948, 7952, 7956,
7960, 7966, 7967, 7974, 7975, 7979, 7980, 7983, 7995, 7999,
8014, 8022, 8030, 8042, 8043, 8048, 8049, 8066, 8076, 8086,
8096, 8106, 8116, 8129, 8139, 8152, 8162, 8175, 8183, 8185,
8187, 8192, 8194, 8199, 8200, 8205, 8223, 8232, 8233, 8237,
8241, 8253, 8264, 8275, 8288, 8289, 8290, 8294, 8306, 8307,
8317, 8329, 8333, 8337, 8341, 8348, 8368, 8377, 8386, 8395,
8406, 8407, 8410, 8411, 8412, 8415, 8416, 8419, 8429, 8438,
8455, 8464, 8473, 8482, 8491, 8500, 8509, 8518, 8527, 8536,
8545, 8554, 8563, 8573, 8583, 8592, 8601, 8610, 8619, 8628,
8637, 8647, 8657, 8667, 8677, 8687, 8697, 8707, 8717, 8727,
8737, 8747, 8757, 8768, 8779, 8790, 8801, 8811, 8821, 8832,
8843, 8853, 8863, 8871, 8880, 8889, 8898, 8907, 8916, 8925,
8934, 8943, 8952, 8966, 8967, 8970, 8971, 8981, 8989, 8997,
9005, 9014, 9022, 9039, 9048, 9057, 9066, 9075, 9084, 9093,
9102, 9111, 9120, 9129, 9138, 9147, 9156, 9165, 9174, 9183,
9192, 9201, 9210, 9219, 9228, 9237, 9246, 9255, 9264, 9273,
9291, 9300, 9301, 9304, 9306, 9312, 9313, 9314, 9315, 9316,
9325, 9333, 9341, 9349, 9357, 9365, 9373, 9381, 9389, 9397,
9405, 9413, 9421, 9429, 9437, 9445, 9453, 9461, 9469, 9477,
9485, 9493, 9501, 9509, 9527, 9546, 9547, 9551, 9555, 9575,
9582, 9590, 9598, 9615, 9628, 9632, 9639, 9648, 9657, 9666,
9675, 9685, 9695, 9713, 9721, 9737, 9754, 9755, 9756, 9761,
9767, 9776, 9777, 9778, 9779, 9780, 9784, 9785, 9788, 9789,
9790, 9791, 9795, 9796, 9797, 9809, 9819, 9820, 9823, 9832,
9838, 9857, 9864, 9871, 9878, 9885, 9892, 9899, 9906, 9913,
9920, 9927, 9934, 9941, 9948, 9957, 9958, 9959, 9963, 9966,
9969, 9972, 9975, 9982, 9984, 9986, 9991, 9993, 10005, 10018,
10031, 10049, 10070, 10071, 10072, 10073, 10083, 10099, 10109, 10110,
10114, 10115, 10119, 10123, 10127, 10145, 10146, 10147, 10148, 10149,
10150, 10151, 10158, 10159, 10170, 10177, 10184, 10195, 10212, 10219,
10235, 10252, 10258, 10274, 10287, 10296, 10304, 10312, 10321, 10332,
10343, 10353, 10354, 10365, 10375, 10386, 10397, 10408, 10419, 10428,
10440, 10441, 10455, 10478, 10486, 10495, 10506, 10507, 10519, 10534,
10544, 10545, 10549, 10550, 10551, 10552, 10553, 10565, 10574, 10584,
10585, 10589, 10593, 10594, 10598, 10599, 10603, 10604, 10607, 10608,
10611, 10612, 10616, 10617, 10621, 10628, 10630, 10635, 10636, 10649,
10656, 10666, 10673, 10683, 10684, 10685, 10686, 10687, 10688, 10689,
10690, 10691, 10695, 10699, 10706, 10713, 10714, 10718, 10719, 10720,
10730, 10740, 10741, 10745, 10746, 10747, 10748, 10758, 10765, 10783,
10784, 10794, 10800, 10806, 10812, 10828, 10846, 10850, 10858, 10864,
10871, 10877, 10884, 10893, 10894, 10898, 10900, 10905, 10916, 10926,
10936, 10942, 10951, 10960, 10966, 10967, 10978, 10992, 10993, 11004,
11015, 11016, 11019, 11020, 11021, 11022, 11023, 11024, 11025, 11026,
11029, 11030, 11034, 11035, 11036, 11047, 11065, 11066, 11070, 11075,
11099, 11110, 11111, 11121, 11132, 11135, 11136, 11137, 11138, 11139,
11142, 11143, 11144, 11192, 11193, 11197, 11198, 11213, 11214, 11221,
11229, 11237, 11245, 11253, 11261, 11272, 11273, 11300, 11314, 11329,
11330, 11349, 11353, 11357, 11374, 11381, 11388, 11398, 11399, 11402,
11414, 11415, 11419, 11431, 11439, 11444, 11449, 11454, 11459, 11467,
11475, 11480, 11485, 11492, 11493, 11497, 11498, 11499, 11506, 11507,
11511, 11512, 11516, 11517, 11521, 11525, 11526, 11529, 11538, 11551,
11552, 11553, 11554, 11558, 11559, 11563, 11565, 11581, 11583, 11588,
11591, 11596, 11597, 11605, 11625, 11626, 11628, 11633, 11634, 11638,
11639, 11642, 11643, 11668, 11669, 11673, 11674, 11678, 11679, 11680,
11681, 11682, 11686, 11699, 11706, 11713, 11720, 11721, 11725, 11726,
11730, 11731, 11735, 11736, 11740, 11751, 11752, 11753, 11754, 11758,
11759, 11769, 11775, 11793, 11794, 11798, 11799, 11805, 11810, 11818,
11825, 11833, 11839, 11846, 11881, 11906, 11910, 11936, 11940, 11952,
11965, 11979, 11990, 12005, 12011, 12016, 12022, 12029, 12030, 12038,
12042, 12046, 12052, 12059, 12064, 12065, 12066, 12067, 12071, 12072,
12084, 12085, 12090, 12097, 12104, 12111, 12122, 12123, 12136, 12140,
12147, 12160, 12173, 12174, 12189, 12199, 12211, 12216, 12217, 12220,
12221, 12224, 12225, 12230, 12231, 12236, 12237, 12245, 12250, 12251,
12255, 12259, 12265, 12289, 12299, 12312, 12313, 12317, 12331, 12388,
12402, 12404, 12409, 12411, 12413, 12415, 12420, 12422, 12427, 12435,
12455, 12460, 12467, 12472, 12478, 12483, 12492, 12494, 12497, 12501,
12502, 12503, 12504, 12505, 12506, 12511, 12531, 12532, 12533, 12534,
12545, 12551, 12559, 12560, 12566, 12571, 12576, 12581, 12586, 12591,
12596, 12601, 12607, 12613, 12619, 12626, 12648, 12657, 12661, 12669,
12673, 12681, 12693, 12714, 12718, 12724, 12728, 12741, 12749, 12759,
12761, 12763, 12765, 12767, 12769, 12774, 12775, 12782, 12791, 12799,
12808, 12819, 12827, 12828, 12829, 12833, 12835, 12837, 12839, 12841,
12843, 12845, 12850, 12855, 12861, 12869, 12874, 12881, 12888, 12892,
12896, 12932, 12933, 12935, 12943, 12958, 12960, 12962, 12964, 12966,
12968, 12970, 12972, 12974, 12976, 12978, 12980, 12982, 12984, 12987,
12989, 12991, 12994, 12996, 12998, 13000, 13003, 13008, 13016, 13021,
13029, 13034, 13042, 13047, 13056, 13064, 13072, 13080, 13098, 13106,
13114, 13122, 13130, 13146, 13154, 13162, 13170, 13178, 13186, 13194,
13198, 13202, 13206, 13210, 13218, 13226, 13234, 13242, 13262, 13284,
13295, 13302, 13318, 13323, 13329, 13354, 13356, 13358, 13360, 13362,
13364, 13366, 13368, 13370, 13372, 13374, 13376, 13378, 13380, 13382,
13384, 13386, 13388, 13390, 13392, 13396, 13400, 13404, 13408, 13413,
13429, 13430, 13431, 13446, 13480, 13482, 13484, 13495, 13519, 13530,
13541, 13548, 13558, 13568, 13577, 13581, 13587, 13594, 13601, 13611,
13618, 13646, 13681, 13692, 13693, 13700, 13706, 13710, 13714, 13718,
13722, 13726, 13730, 13734, 13738, 13742, 13746, 13750, 13754, 13758,
13762, 13766, 13768, 13772, 13781, 13786, 13793, 13808, 13815, 13819,
13823, 13827, 13831, 13838, 13846, 13854, 13858, 13862, 13866, 13870,
13874, 13880, 13884, 13893, 13897, 13901, 13906, 13920, 13922, 13926,
13928, 13930, 13933, 13936, 13939, 13940, 13943, 13951, 13961, 13962,
13965, 13966, 13967, 13972, 13976, 13980, 13984, 13995, 13996, 14000,
14001, 14009, 14010, 14014, 14015, 14020, 14028, 14030, 14044, 14047,
14074, 14075, 14078, 14079, 14087, 14094, 14101, 14109, 14118, 14135,
14180, 14188, 14196, 14204, 14212, 14223, 14224, 14225, 14226, 14227,
14241, 14242, 14243, 14246, 14247, 14250, 14253, 14254, 14255, 14258,
14259, 14262, 14263, 14264, 14265, 14266, 14267, 14268, 14269, 14270,
14271, 14272, 14273, 14276, 14278, 14283, 14285, 14290, 14292, 14294,
14296, 14298, 14300, 14312, 14316, 14323, 14327, 14333, 14337, 14346,
14357, 14358, 14361, 14365, 14369, 14375, 14376, 14381, 14385, 14392,
14393, 14394, 14395, 14396, 14397, 14398, 14399, 14409, 14413, 14420,
14427, 14428, 14444, 14448, 14453, 14457, 14472, 14477, 14481, 14484,
14487, 14488, 14489, 14492, 14499, 14509, 14523, 14524, 14528, 14539,
14540, 14543, 14544, 14547, 14551, 14558, 14562, 14566, 14574, 14585,
14586, 14590, 14591, 14595, 14596, 14599, 14600, 14610, 14611, 14615,
14616, 14619, 14635, 14643, 14651, 14673, 14674, 14685, 14689, 14716,
14718, 14723, 14726, 14729, 14731, 14733, 14735, 14745, 14747, 14758,
14762, 14766, 14770, 14774, 14783, 14790, 14822, 14826, 14832, 14839,
14843, 14847, 14853, 14854, 14856, 14857, 14858, 14862, 14895, 14922,
14926, 14932, 14934, 14951, 14952, 14953, 14958, 14959, 14960, 14965,
14966, 14967, 14968, 14974, 14975, 14976, 14977, 14978, 14998, 14999,
15000, 15001, 15002, 15003, 15004, 15005, 15006, 15007, 15008, 15009,
15010, 15011, 15012, 15013, 15014, 15015, 15016, 15017, 15018, 15019,
15020, 15021, 15022, 15023, 15024, 15025, 15026, 15027, 15028, 15029,
15030, 15031, 15032, 15033, 15034, 15035, 15036, 15037, 15038, 15039,
15040, 15041, 15042, 15043, 15044, 15045, 15046, 15047, 15048, 15049,
15050, 15051, 15052, 15053, 15054, 15055, 15056, 15057, 15058, 15059,
15060, 15061, 15062, 15063, 15064, 15065, 15066, 15067, 15068, 15069,
15070, 15071, 15072, 15073, 15074, 15075, 15076, 15077, 15078, 15079,
15080, 15081, 15082, 15083, 15084, 15085, 15086, 15087, 15088, 15089,
15090, 15091, 15092, 15093, 15094, 15095, 15096, 15097, 15098, 15099,
15100, 15101, 15102, 15103, 15104, 15105, 15106, 15107, 15108, 15109,
15110, 15111, 15112, 15113, 15114, 15115, 15116, 15117, 15118, 15119,
15120, 15121, 15122, 15123, 15124, 15125, 15126, 15127, 15128, 15129,
15130, 15131, 15132, 15133, 15134, 15135, 15136, 15137, 15138, 15139,
15140, 15141, 15142, 15143, 15144, 15145, 15146, 15147, 15148, 15149,
15150, 15151, 15152, 15153, 15154, 15155, 15156, 15157, 15158, 15159,
15160, 15161, 15162, 15163, 15164, 15165, 15166, 15167, 15168, 15169,
15170, 15171, 15172, 15173, 15174, 15175, 15176, 15177, 15178, 15179,
15180, 15181, 15182, 15183, 15184, 15185, 15186, 15187, 15188, 15189,
15190, 15191, 15192, 15193, 15194, 15195, 15196, 15197, 15198, 15199,
15200, 15201, 15202, 15203, 15204, 15205, 15206, 15207, 15208, 15209,
15210, 15211, 15212, 15213, 15214, 15215, 15216, 15217, 15218, 15219,
15220, 15221, 15222, 15223, 15224, 15225, 15226, 15227, 15228, 15229,
15230, 15231, 15232, 15233, 15234, 15235, 15236, 15237, 15238, 15239,
15240, 15241, 15242, 15243, 15244, 15245, 15246, 15247, 15248, 15249,
15250, 15251, 15252, 15253, 15254, 15255, 15256, 15257, 15258, 15259,
15260, 15261, 15262, 15263, 15264, 15265, 15266, 15267, 15268, 15269,
15270, 15271, 15272, 15273, 15274, 15275, 15276, 15277, 15278, 15279,
15280, 15281, 15282, 15283, 15284, 15285, 15286, 15287, 15301, 15302,
15303, 15304, 15305, 15306, 15307, 15308, 15309, 15310, 15311, 15312,
15313, 15314, 15315, 15316, 15317, 15318, 15319, 15320, 15321, 15322,
15323, 15324, 15325, 15326, 15327, 15328, 15329, 15330, 15331, 15332,
15333, 15334, 15335, 15336, 15337, 15338, 15339, 15340, 15341, 15342,
15343, 15344, 15345, 15346, 15347, 15348, 15349, 15350, 15364, 15365,
15366, 15367, 15368, 15369, 15370, 15371, 15372, 15373, 15374, 15375,
15376, 15377, 15378, 15379, 15380, 15381, 15382, 15383, 15384, 15385,
15386, 15396, 15397, 15398, 15399, 15400, 15401, 15402, 15403, 15404,
15405, 15406, 15407, 15408, 15409, 15410, 15411, 15412, 15413, 15414,
15415, 15416, 15417, 15418, 15419, 15420, 15421, 15422, 15423, 15424,
15425, 15426, 15427, 15428, 15429, 15430, 15431, 15432, 15433, 15434,
15435, 15436, 15437, 15438, 15439, 15440, 15441, 15442, 15443, 15444,
15445, 15446, 15447, 15448, 15449, 15450, 15451, 15452, 15453, 15454,
15455, 15456, 15457, 15458, 15459, 15460, 15461, 15462, 15463, 15464,
15465, 15466, 15467, 15468, 15469, 15470, 15471, 15472
};
#endif
#if YYDEBUG || YYERROR_VERBOSE || 0
/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
First, the terminals, then, starting at YYNTOKENS, nonterminals. */
static const char *const yytname[] =
{
"$end", "error", "$undefined", "IDENT", "FCONST", "SCONST", "BCONST",
"XCONST", "Op", "ICONST", "PARAM", "TYPECAST", "DOT_DOT", "COLON_EQUALS",
"EQUALS_GREATER", "LESS_EQUALS", "GREATER_EQUALS", "NOT_EQUALS",
"ABORT_P", "ABSOLUTE_P", "ACCESS", "ACTION", "ADD_P", "ADMIN", "AFTER",
"AGGREGATE", "ALL", "ALSO", "ALTER", "ALWAYS", "ANALYSE", "ANALYZE",
"AND", "ANY", "ARRAY", "AS", "ASC", "ASSERTION", "ASSIGNMENT",
"ASYMMETRIC", "AT", "ATTACH", "ATTRIBUTE", "AUTHORIZATION", "BACKWARD",
"BEFORE", "BEGIN_P", "BETWEEN", "BIGINT", "BINARY", "BIT", "BOOLEAN_P",
"BOTH", "BY", "CACHE", "CALL", "CALLED", "CASCADE", "CASCADED", "CASE",
"CAST", "CATALOG_P", "CHAIN", "CHAR_P", "CHARACTER", "CHARACTERISTICS",
"CHECK", "CHECKPOINT", "CLASS", "CLOSE", "CLUSTER", "COALESCE",
"COLLATE", "COLLATION", "COLUMN", "COLUMNS", "COMMENT", "COMMENTS",
"COMMIT", "COMMITTED", "CONCURRENTLY", "CONFIGURATION", "CONFLICT",
"CONNECTION", "CONSTRAINT", "CONSTRAINTS", "CONTENT_P", "CONTINUE_P",
"CONVERSION_P", "COPY", "COST", "CREATE", "CROSS", "CSV", "CUBE",
"CURRENT_P", "CURRENT_CATALOG", "CURRENT_DATE", "CURRENT_ROLE",
"CURRENT_SCHEMA", "CURRENT_TIME", "CURRENT_TIMESTAMP", "CURRENT_USER",
"CURSOR", "CYCLE", "DATA_P", "DATABASE", "DAY_P", "DEALLOCATE", "DEC",
"DECIMAL_P", "DECLARE", "DEFAULT", "DEFAULTS", "DEFERRABLE", "DEFERRED",
"DEFINER", "DELETE_P", "DELIMITER", "DELIMITERS", "DEPENDS", "DESC",
"DETACH", "DICTIONARY", "DISABLE_P", "DISCARD", "DISTINCT", "DO",
"DOCUMENT_P", "DOMAIN_P", "DOUBLE_P", "DROP", "EACH", "ELSE", "ENABLE_P",
"ENCODING", "ENCRYPTED", "END_P", "ENUM_P", "ESCAPE", "EVENT", "EXCEPT",
"EXCLUDE", "EXCLUDING", "EXCLUSIVE", "EXECUTE", "EXISTS", "EXPLAIN",
"EXTENSION", "EXTERNAL", "EXTRACT", "FALSE_P", "FAMILY", "FETCH",
"FILTER", "FIRST_P", "FLOAT_P", "FOLLOWING", "FOR", "FORCE", "FOREIGN",
"FORWARD", "FREEZE", "FROM", "FULL", "FUNCTION", "FUNCTIONS",
"GENERATED", "GLOBAL", "GRANT", "GRANTED", "GREATEST", "GROUP_P",
"GROUPING", "GROUPS", "HANDLER", "HAVING", "HEADER_P", "HOLD", "HOUR_P",
"IDENTITY_P", "IF_P", "ILIKE", "IMMEDIATE", "IMMUTABLE", "IMPLICIT_P",
"IMPORT_P", "IN_P", "INCLUDE", "INCLUDING", "INCREMENT", "INDEX",
"INDEXES", "INHERIT", "INHERITS", "INITIALLY", "INLINE_P", "INNER_P",
"INOUT", "INPUT_P", "INSENSITIVE", "INSERT", "INSTEAD", "INT_P",
"INTEGER", "INTERSECT", "INTERVAL", "INTO", "INVOKER", "IS", "ISNULL",
"ISOLATION", "JOIN", "KEY", "LABEL", "LANGUAGE", "LARGE_P", "LAST_P",
"LATERAL_P", "LEADING", "LEAKPROOF", "LEAST", "LEFT", "LEVEL", "LIKE",
"LIMIT", "LISTEN", "LOAD", "LOCAL", "LOCALTIME", "LOCALTIMESTAMP",
"LOCATION", "LOCK_P", "LOCKED", "LOGGED", "MAPPING", "MATCH",
"MATERIALIZED", "MAXVALUE", "METHOD", "MINUTE_P", "MINVALUE", "MODE",
"MONTH_P", "MOVE", "NAME_P", "NAMES", "NATIONAL", "NATURAL", "NCHAR",
"NEW", "NEXT", "NO", "NONE", "NOT", "NOTHING", "NOTIFY", "NOTNULL",
"NOWAIT", "NULL_P", "NULLIF", "NULLS_P", "NUMERIC", "OBJECT_P", "OF",
"OFF", "OFFSET", "OIDS", "OLD", "ON", "ONLY", "OPERATOR", "OPTION",
"OPTIONS", "OR", "ORDER", "ORDINALITY", "OTHERS", "OUT_P", "OUTER_P",
"OVER", "OVERLAPS", "OVERLAY", "OVERRIDING", "OWNED", "OWNER",
"PARALLEL", "PARSER", "PARTIAL", "PARTITION", "PASSING", "PASSWORD",
"PLACING", "PLANS", "POLICY", "POSITION", "PRECEDING", "PRECISION",
"PRESERVE", "PREPARE", "PREPARED", "PRIMARY", "PRIOR", "PRIVILEGES",
"PROCEDURAL", "PROCEDURE", "PROCEDURES", "PROGRAM", "PUBLICATION",
"QUOTE", "RANGE", "READ", "REAL", "REASSIGN", "RECHECK", "RECURSIVE",
"REF", "REFERENCES", "REFERENCING", "REFRESH", "REINDEX", "RELATIVE_P",
"RELEASE", "RENAME", "REPEATABLE", "REPLACE", "REPLICA", "RESET",
"RESTART", "RESTRICT", "RETURNING", "RETURNS", "REVOKE", "RIGHT", "ROLE",
"ROLLBACK", "ROLLUP", "ROUTINE", "ROUTINES", "ROW", "ROWS", "RULE",
"SAVEPOINT", "SCHEMA", "SCHEMAS", "SCROLL", "SEARCH", "SECOND_P",
"SECURITY", "SELECT", "SEQUENCE", "SEQUENCES", "SERIALIZABLE", "SERVER",
"SESSION", "SESSION_USER", "SET", "SETS", "SETOF", "SHARE", "SHOW",
"SIMILAR", "SIMPLE", "SKIP", "SMALLINT", "SNAPSHOT", "SOME", "SQL_P",
"STABLE", "STANDALONE_P", "START", "STATEMENT", "STATISTICS", "STDIN",
"STDOUT", "STORAGE", "STRICT_P", "STRIP_P", "SUBSCRIPTION", "SUBSTRING",
"SYMMETRIC", "SYSID", "SYSTEM_P", "TABLE", "TABLES", "TABLESAMPLE",
"TABLESPACE", "TEMP", "TEMPLATE", "TEMPORARY", "TEXT_P", "THEN", "TIES",
"TIME", "TIMESTAMP", "TO", "TRAILING", "TRANSACTION", "TRANSFORM",
"TREAT", "TRIGGER", "TRIM", "TRUE_P", "TRUNCATE", "TRUSTED", "TYPE_P",
"TYPES_P", "UNBOUNDED", "UNCOMMITTED", "UNENCRYPTED", "UNION", "UNIQUE",
"UNKNOWN", "UNLISTEN", "UNLOGGED", "UNTIL", "UPDATE", "USER", "USING",
"VACUUM", "VALID", "VALIDATE", "VALIDATOR", "VALUE_P", "VALUES",
"VARCHAR", "VARIADIC", "VARYING", "VERBOSE", "VERSION_P", "VIEW",
"VIEWS", "VOLATILE", "WHEN", "WHERE", "WHITESPACE_P", "WINDOW", "WITH",
"WITHIN", "WITHOUT", "WORK", "WRAPPER", "WRITE", "XML_P",
"XMLATTRIBUTES", "XMLCONCAT", "XMLELEMENT", "XMLEXISTS", "XMLFOREST",
"XMLNAMESPACES", "XMLPARSE", "XMLPI", "XMLROOT", "XMLSERIALIZE",
"XMLTABLE", "YEAR_P", "YES_P", "ZONE", "NOT_LA", "NULLS_LA", "WITH_LA",
"'<'", "'>'", "'='", "POSTFIXOP", "'+'", "'-'", "'*'", "'/'", "'%'",
"'^'", "UMINUS", "'['", "']'", "'('", "')'", "'.'", "';'", "','", "':'",
"$accept", "stmtblock", "stmtmulti", "stmt", "CallStmt",
"CreateRoleStmt", "opt_with", "OptRoleList", "AlterOptRoleList",
"AlterOptRoleElem", "CreateOptRoleElem", "CreateUserStmt",
"AlterRoleStmt", "opt_in_database", "AlterRoleSetStmt", "DropRoleStmt",
"CreateGroupStmt", "AlterGroupStmt", "add_drop", "CreateSchemaStmt",
"OptSchemaName", "OptSchemaEltList", "schema_stmt", "VariableSetStmt",
"set_rest", "generic_set", "set_rest_more", "var_name", "var_list",
"var_value", "iso_level", "opt_boolean_or_string", "zone_value",
"opt_encoding", "NonReservedWord_or_Sconst", "VariableResetStmt",
"reset_rest", "generic_reset", "SetResetClause",
"FunctionSetResetClause", "VariableShowStmt", "ConstraintsSetStmt",
"constraints_set_list", "constraints_set_mode", "CheckPointStmt",
"DiscardStmt", "AlterTableStmt", "alter_table_cmds", "partition_cmd",
"index_partition_cmd", "alter_table_cmd", "alter_column_default",
"opt_drop_behavior", "opt_collate_clause", "alter_using",
"replica_identity", "reloptions", "opt_reloptions", "reloption_list",
"reloption_elem", "alter_identity_column_option_list",
"alter_identity_column_option", "PartitionBoundSpec",
"hash_partbound_elem", "hash_partbound", "partbound_datum",
"partbound_datum_list", "range_datum_list", "PartitionRangeDatum",
"AlterCompositeTypeStmt", "alter_type_cmds", "alter_type_cmd",
"ClosePortalStmt", "CopyStmt", "copy_from", "opt_program",
"copy_file_name", "copy_options", "copy_opt_list", "copy_opt_item",
"opt_binary", "opt_oids", "copy_delimiter", "opt_using",
"copy_generic_opt_list", "copy_generic_opt_elem", "copy_generic_opt_arg",
"copy_generic_opt_arg_list", "copy_generic_opt_arg_list_item",
"CreateStmt", "OptTemp", "OptTableElementList",
"OptTypedTableElementList", "TableElementList", "TypedTableElementList",
"TableElement", "TypedTableElement", "columnDef", "columnOptions",
"ColQualList", "ColConstraint", "ColConstraintElem", "generated_when",
"ConstraintAttr", "TableLikeClause", "TableLikeOptionList",
"TableLikeOption", "TableConstraint", "ConstraintElem", "opt_no_inherit",
"opt_column_list", "columnList", "columnElem", "opt_c_include",
"key_match", "ExclusionConstraintList", "ExclusionConstraintElem",
"ExclusionWhereClause", "key_actions", "key_update", "key_delete",
"key_action", "OptInherit", "OptPartitionSpec", "PartitionSpec",
"part_strategy", "part_params", "part_elem", "OptWith", "OnCommitOption",
"OptTableSpace", "OptConsTableSpace", "ExistingIndex", "CreateStatsStmt",
"CreateAsStmt", "create_as_target", "opt_with_data", "CreateMatViewStmt",
"create_mv_target", "OptNoLog", "RefreshMatViewStmt", "CreateSeqStmt",
"AlterSeqStmt", "OptSeqOptList", "OptParenthesizedSeqOptList",
"SeqOptList", "SeqOptElem", "opt_by", "NumericOnly", "NumericOnly_list",
"CreatePLangStmt", "opt_trusted", "handler_name", "opt_inline_handler",
"validator_clause", "opt_validator", "DropPLangStmt", "opt_procedural",
"CreateTableSpaceStmt", "OptTableSpaceOwner", "DropTableSpaceStmt",
"CreateExtensionStmt", "create_extension_opt_list",
"create_extension_opt_item", "AlterExtensionStmt",
"alter_extension_opt_list", "alter_extension_opt_item",
"AlterExtensionContentsStmt", "CreateFdwStmt", "fdw_option",
"fdw_options", "opt_fdw_options", "AlterFdwStmt",
"create_generic_options", "generic_option_list", "alter_generic_options",
"alter_generic_option_list", "alter_generic_option_elem",
"generic_option_elem", "generic_option_name", "generic_option_arg",
"CreateForeignServerStmt", "opt_type", "foreign_server_version",
"opt_foreign_server_version", "AlterForeignServerStmt",
"CreateForeignTableStmt", "AlterForeignTableStmt",
"ImportForeignSchemaStmt", "import_qualification_type",
"import_qualification", "CreateUserMappingStmt", "auth_ident",
"DropUserMappingStmt", "AlterUserMappingStmt", "CreatePolicyStmt",
"AlterPolicyStmt", "RowSecurityOptionalExpr",
"RowSecurityOptionalWithCheck", "RowSecurityDefaultToRole",
"RowSecurityOptionalToRole", "RowSecurityDefaultPermissive",
"RowSecurityDefaultForCmd", "row_security_cmd", "CreateAmStmt",
"CreateTrigStmt", "TriggerActionTime", "TriggerEvents",
"TriggerOneEvent", "TriggerReferencing", "TriggerTransitions",
"TriggerTransition", "TransitionOldOrNew", "TransitionRowOrTable",
"TransitionRelName", "TriggerForSpec", "TriggerForOptEach",
"TriggerForType", "TriggerWhen", "FUNCTION_or_PROCEDURE",
"TriggerFuncArgs", "TriggerFuncArg", "OptConstrFromTable",
"ConstraintAttributeSpec", "ConstraintAttributeElem",
"CreateEventTrigStmt", "event_trigger_when_list",
"event_trigger_when_item", "event_trigger_value_list",
"AlterEventTrigStmt", "enable_trigger", "CreateAssertStmt",
"DropAssertStmt", "DefineStmt", "definition", "def_list", "def_elem",
"def_arg", "old_aggr_definition", "old_aggr_list", "old_aggr_elem",
"opt_enum_val_list", "enum_val_list", "AlterEnumStmt",
"opt_if_not_exists", "CreateOpClassStmt", "opclass_item_list",
"opclass_item", "opt_default", "opt_opfamily", "opclass_purpose",
"opt_recheck", "CreateOpFamilyStmt", "AlterOpFamilyStmt",
"opclass_drop_list", "opclass_drop", "DropOpClassStmt",
"DropOpFamilyStmt", "DropOwnedStmt", "ReassignOwnedStmt", "DropStmt",
"drop_type_any_name", "drop_type_name", "drop_type_name_on_any_name",
"any_name_list", "any_name", "attrs", "type_name_list", "TruncateStmt",
"opt_restart_seqs", "CommentStmt", "comment_type_any_name",
"comment_type_name", "comment_text", "SecLabelStmt", "opt_provider",
"security_label_type_any_name", "security_label_type_name",
"security_label", "FetchStmt", "fetch_args", "from_in", "opt_from_in",
"GrantStmt", "RevokeStmt", "privileges", "privilege_list", "privilege",
"privilege_target", "grantee_list", "grantee", "opt_grant_grant_option",
"GrantRoleStmt", "RevokeRoleStmt", "opt_grant_admin_option",
"opt_granted_by", "AlterDefaultPrivilegesStmt", "DefACLOptionList",
"DefACLOption", "DefACLAction", "defacl_privilege_target", "IndexStmt",
"opt_unique", "opt_concurrently", "opt_index_name",
"access_method_clause", "index_params", "index_elem", "opt_include",
"index_including_params", "opt_collate", "opt_class", "opt_asc_desc",
"opt_nulls_order", "CreateFunctionStmt", "opt_or_replace", "func_args",
"func_args_list", "function_with_argtypes_list",
"function_with_argtypes", "func_args_with_defaults",
"func_args_with_defaults_list", "func_arg", "arg_class", "param_name",
"func_return", "func_type", "func_arg_with_default", "aggr_arg",
"aggr_args", "aggr_args_list", "aggregate_with_argtypes",
"aggregate_with_argtypes_list", "createfunc_opt_list",
"common_func_opt_item", "createfunc_opt_item", "func_as",
"transform_type_list", "opt_definition", "table_func_column",
"table_func_column_list", "AlterFunctionStmt", "alterfunc_opt_list",
"opt_restrict", "RemoveFuncStmt", "RemoveAggrStmt", "RemoveOperStmt",
"oper_argtypes", "any_operator", "operator_with_argtypes_list",
"operator_with_argtypes", "DoStmt", "dostmt_opt_list", "dostmt_opt_item",
"CreateCastStmt", "cast_context", "DropCastStmt", "opt_if_exists",
"CreateTransformStmt", "transform_element_list", "DropTransformStmt",
"ReindexStmt", "reindex_target_type", "reindex_target_multitable",
"reindex_option_list", "reindex_option_elem", "AlterTblSpcStmt",
"RenameStmt", "opt_column", "opt_set_data", "AlterObjectDependsStmt",
"AlterObjectSchemaStmt", "AlterOperatorStmt", "operator_def_list",
"operator_def_elem", "operator_def_arg", "AlterOwnerStmt",
"CreatePublicationStmt", "opt_publication_for_tables",
"publication_for_tables", "AlterPublicationStmt",
"CreateSubscriptionStmt", "publication_name_list",
"publication_name_item", "AlterSubscriptionStmt", "DropSubscriptionStmt",
"RuleStmt", "RuleActionList", "RuleActionMulti", "RuleActionStmt",
"RuleActionStmtOrEmpty", "event", "opt_instead", "NotifyStmt",
"notify_payload", "ListenStmt", "UnlistenStmt", "TransactionStmt",
"opt_transaction", "transaction_mode_item", "transaction_mode_list",
"transaction_mode_list_or_empty", "ViewStmt", "opt_check_option",
"LoadStmt", "CreatedbStmt", "createdb_opt_list", "createdb_opt_items",
"createdb_opt_item", "createdb_opt_name", "opt_equal",
"AlterDatabaseStmt", "AlterDatabaseSetStmt", "DropdbStmt",
"AlterCollationStmt", "AlterSystemStmt", "CreateDomainStmt",
"AlterDomainStmt", "opt_as", "AlterTSDictionaryStmt",
"AlterTSConfigurationStmt", "any_with", "CreateConversionStmt",
"ClusterStmt", "cluster_index_specification", "VacuumStmt",
"vacuum_option_list", "vacuum_option_elem", "AnalyzeStmt",
"analyze_option_list", "analyze_option_elem", "analyze_keyword",
"opt_analyze", "opt_verbose", "opt_full", "opt_freeze", "opt_name_list",
"vacuum_relation", "vacuum_relation_list", "opt_vacuum_relation_list",
"ExplainStmt", "ExplainableStmt", "explain_option_list",
"explain_option_elem", "explain_option_name", "explain_option_arg",
"PrepareStmt", "prep_type_clause", "PreparableStmt", "ExecuteStmt",
"execute_param_clause", "DeallocateStmt", "InsertStmt", "insert_target",
"insert_rest", "override_kind", "insert_column_list",
"insert_column_item", "opt_on_conflict", "opt_conf_expr",
"returning_clause", "DeleteStmt", "using_clause", "LockStmt", "opt_lock",
"lock_type", "opt_nowait", "opt_nowait_or_skip", "UpdateStmt",
"set_clause_list", "set_clause", "set_target", "set_target_list",
"DeclareCursorStmt", "cursor_name", "cursor_options", "opt_hold",
"SelectStmt", "select_with_parens", "select_no_parens", "select_clause",
"simple_select", "with_clause", "cte_list", "common_table_expr",
"opt_with_clause", "into_clause", "OptTempTableName", "opt_table",
"all_or_distinct", "distinct_clause", "opt_all_clause",
"opt_sort_clause", "sort_clause", "sortby_list", "sortby",
"select_limit", "opt_select_limit", "limit_clause", "offset_clause",
"select_limit_value", "select_offset_value", "select_fetch_first_value",
"I_or_F_const", "row_or_rows", "first_or_next", "group_clause",
"group_by_list", "group_by_item", "empty_grouping_set", "rollup_clause",
"cube_clause", "grouping_sets_clause", "having_clause",
"for_locking_clause", "opt_for_locking_clause", "for_locking_items",
"for_locking_item", "for_locking_strength", "locked_rels_list",
"values_clause", "from_clause", "from_list", "table_ref", "joined_table",
"alias_clause", "opt_alias_clause", "func_alias_clause", "join_type",
"join_outer", "join_qual", "relation_expr", "relation_expr_list",
"relation_expr_opt_alias", "tablesample_clause", "opt_repeatable_clause",
"func_table", "rowsfrom_item", "rowsfrom_list", "opt_col_def_list",
"opt_ordinality", "where_clause", "where_or_current_clause",
"OptTableFuncElementList", "TableFuncElementList", "TableFuncElement",
"xmltable", "xmltable_column_list", "xmltable_column_el",
"xmltable_column_option_list", "xmltable_column_option_el",
"xml_namespace_list", "xml_namespace_el", "Typename", "opt_array_bounds",
"SimpleTypename", "ConstTypename", "GenericType", "opt_type_modifiers",
"Numeric", "opt_float", "Bit", "ConstBit", "BitWithLength",
"BitWithoutLength", "Character", "ConstCharacter", "CharacterWithLength",
"CharacterWithoutLength", "character", "opt_varying", "ConstDatetime",
"ConstInterval", "opt_timezone", "opt_interval", "interval_second",
"a_expr", "b_expr", "c_expr", "func_application", "func_expr",
"func_expr_windowless", "func_expr_common_subexpr", "xml_root_version",
"opt_xml_root_standalone", "xml_attributes", "xml_attribute_list",
"xml_attribute_el", "document_or_content", "xml_whitespace_option",
"xmlexists_argument", "within_group_clause", "filter_clause",
"window_clause", "window_definition_list", "window_definition",
"over_clause", "window_specification", "opt_existing_window_name",
"opt_partition_clause", "opt_frame_clause", "frame_extent",
"frame_bound", "opt_window_exclusion_clause", "row", "explicit_row",
"implicit_row", "sub_type", "all_Op", "MathOp", "qual_Op", "qual_all_Op",
"subquery_Op", "expr_list", "func_arg_list", "func_arg_expr",
"type_list", "array_expr", "array_expr_list", "extract_list",
"extract_arg", "overlay_list", "overlay_placing", "position_list",
"substr_list", "substr_from", "substr_for", "trim_list", "in_expr",
"case_expr", "when_clause_list", "when_clause", "case_default",
"case_arg", "columnref", "indirection_el", "opt_slice_bound",
"indirection", "opt_indirection", "opt_asymmetric", "opt_target_list",
"target_list", "target_el", "qualified_name_list", "qualified_name",
"name_list", "name", "database_name", "access_method", "attr_name",
"index_name", "file_name", "func_name", "AexprConst", "Iconst", "Sconst",
"SignedIconst", "RoleId", "RoleSpec", "role_list", "ColId",
"type_function_name", "NonReservedWord", "ColLabel",
"unreserved_keyword", "col_name_keyword", "type_func_name_keyword",
"reserved_keyword", YY_NULLPTR
};
#endif
# ifdef YYPRINT
/* YYTOKNUM[NUM] -- (External) token number corresponding to the
(internal) symbol number NUM (which must be that of a token). */
static const yytype_uint16 yytoknum[] =
{
0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
465, 466, 467, 468, 469, 470, 471, 472, 473, 474,
475, 476, 477, 478, 479, 480, 481, 482, 483, 484,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 496, 497, 498, 499, 500, 501, 502, 503, 504,
505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
525, 526, 527, 528, 529, 530, 531, 532, 533, 534,
535, 536, 537, 538, 539, 540, 541, 542, 543, 544,
545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
555, 556, 557, 558, 559, 560, 561, 562, 563, 564,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 582, 583, 584,
585, 586, 587, 588, 589, 590, 591, 592, 593, 594,
595, 596, 597, 598, 599, 600, 601, 602, 603, 604,
605, 606, 607, 608, 609, 610, 611, 612, 613, 614,
615, 616, 617, 618, 619, 620, 621, 622, 623, 624,
625, 626, 627, 628, 629, 630, 631, 632, 633, 634,
635, 636, 637, 638, 639, 640, 641, 642, 643, 644,
645, 646, 647, 648, 649, 650, 651, 652, 653, 654,
655, 656, 657, 658, 659, 660, 661, 662, 663, 664,
665, 666, 667, 668, 669, 670, 671, 672, 673, 674,
675, 676, 677, 678, 679, 680, 681, 682, 683, 684,
685, 686, 687, 688, 689, 690, 691, 692, 693, 694,
695, 696, 697, 698, 699, 700, 701, 702, 703, 704,
705, 706, 707, 708, 709, 710, 711, 712, 713, 714,
715, 60, 62, 61, 716, 43, 45, 42, 47, 37,
94, 717, 91, 93, 40, 41, 46, 59, 44, 58
};
# endif
#define YYPACT_NINF -4654
#define yypact_value_is_default(Yystate) \
(!!((Yystate) == (-4654)))
#define YYTABLE_NINF -2634
#define yytable_value_is_error(Yytable_value) \
(!!((Yytable_value) == (-2634)))
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
static const int yypact[] =
{
10493, 44, 18318, -4654, -4654, 44, 60456, -4654, 68191, 598,
1300, 88, 176, 14271, 68646, 75926, 754, 971, 15478, 44,
75926, 1089, 51811, 65461, 980, 75926, 1232, 1195, 51811, 75926,
76381, 933, 1448, 871, 76836, 69101, 64096, 1122, 75926, 1506,
924, 77291, 69556, 1389, 70011, 1195, 48199, 126, 1328, 77746,
75926, 2011, 1843, 1410, -4654, -4654, -4654, -4654, -4654, -4654,
-4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654,
-4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654,
-4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654,
-4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654,
-4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654,
-4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654,
-4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654,
-4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654,
-4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654,
-4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654,
-4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -8,
-4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654,
2002, -4654, 1207, 2139, 1283, 839, 1467, -4654, -4654, -4654,
60456, 75926, 75926, 75926, 1654, 75926, 1577, 75926, 195, 60456,
56361, 70466, 1848, 1580, 44553, 78201, -4654, 60456, 75926, 54541,
60456, 75926, 75926, 78656, 75926, 75926, 75926, 133, 66826, 75926,
1777, 75926, 75926, 54996, 79111, 1923, 1538, 249, -4654, -4654,
-4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654,
-4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654,
-4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654,
-4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654,
-4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654,
-4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654,
-4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654,
-4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654,
-4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654,
-4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654,
-4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654,
-4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654,
-4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654,
-4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654,
-4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654,
-4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654,
-4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654,
-4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654,
-4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654,
-4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654,
-4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654,
-4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654,
-4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654,
-4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654,
-4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654,
-4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654,
-4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654,
-4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654,
-4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654,
-4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654,
-4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654,
-4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654,
-4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654,
-4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654,
-4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654,
-4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654,
-4654, -4654, 1670, 1619, -4654, 254, -4654, -4654, -4654, -4654,
-4654, -4654, -4654, -4654, -4654, 75926, 17999, 1232, -4654, -4654,
2011, 75926, 1912, 60456, 75926, 1695, 79566, 1780, 75926, -4654,
75926, 1802, 80021, 201, 1514, 56361, 1720, 45009, 1908, 75926,
75926, 56361, 80476, 80931, 81386, 75926, 75926, -4654, -4654, 1840,
75926, 75926, -4654, 2013, 56816, 1125, 2018, 2152, 2069, 1399,
-4654, 70921, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654,
59546, 971, -4654, -4654, 2026, 60911, 75926, 2095, -4654, -4654,
81841, 98151, 1894, -4654, 264, 61366, 57271, 2203, 1889, 45465,
2276, -4654, 61821, -4654, 57726, 62276, -4654, -4654, -4654, -4654,
-4654, 82296, -4654, 82751, 1999, 2095, -4654, 98592, 58181, -4654,
2142, 83206, 83661, 84116, -4654, 1897, 1423, 941, 40425, -4654,
-4654, -4654, 598, -4654, -4654, -4654, -4654, -4654, -4654, -4654,
-4654, 310, 282, 260, 217, 276, -4654, -4654, 223, 234,
235, 310, 2354, 2354, -4654, 75926, -4654, -4654, 282, 78,
1918, 1918, 1918, 2133, 625, -4654, 1918, 2072, -4654, -4654,
-4654, -4654, 70011, -4654, 1920, 1232, 1980, 2369, 2081, -4654,
-4654, -4654, -4654, -4654, 2074, 75926, 75926, 75926, -4654, -4654,
2483, 2086, 2337, 2103, -4654, -4654, -4654, 2281, 2286, 2290,
342, 1232, 2196, -4654, 2422, -4654, 2341, 27370, 27370, 1232,
71376, 84571, 272, 59546, 1232, 71831, 2154, 1451, 2348, -4654,
-4654, -4654, 948, -4654, 2584, 2176, 2437, 2103, 1538, 41798,
-4654, 2223, 1619, 70011, -4654, -4654, -4654, 244, 2500, 29258,
75926, 2213, -4654, 2207, 2213, 2235, 2237, 1283, -4654, 10493,
2275, 75926, 1153, 1153, 2661, 1153, 1714, 2023, -4654, 2357,
-4654, 2553, 2537, 70011, 2283, 1529, 2288, 1885, 2272, 1570,
2168, -4654, -4654, 230, 75926, 281, 2328, 72286, 6373, 2289,
1619, 2296, -4654, -4654, -4654, 2466, 1412, -4654, -4654, -4654,
-4654, 2590, 2644, 7103, 292, 72741, -4654, -4654, -4654, -4654,
75926, 75926, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654,
-4654, 2332, 1134, -4654, -4654, 2326, 2665, 2544, 7118, 1014,
2628, 2507, 1091, 8496, 2548, 981, 2686, 6760, 1040, 1677,
1227, 73196, 75926, 2649, 2707, 4276, 1737, 820, 2588, 836,
2628, 2709, 2542, 1091, 2742, 5127, 75926, -4654, 2679, 2783,
112, -4654, 291, -4654, 22263, 29258, 47744, -4654, 1619, 2502,
2643, 706, 2688, 60456, 2462, -4654, -4654, 75926, -4654, -4654,
99033, 2521, -4654, 816, 60456, -4654, 2675, 2526, 45921, 75926,
60456, -4654, -4654, 60456, 75926, -4654, -4654, -4654, -4654, -4654,
-4654, -4654, 2591, 2793, 75926, 99033, -4654, 2746, 75926, 75926,
-4654, 2482, -4654, -4654, -4654, -4654, 1918, 75926, 2496, 2916,
99033, 2729, 323, 75926, 1230, 2954, 75926, 2741, 1230, 2565,
85026, -4654, -4654, 1230, -4654, -4654, -4654, 75926, 75926, 2534,
1430, 2740, 2852, 1230, 2759, 2971, 2976, 2768, 2619, 2771,
2207, 2943, 2743, 843, 347, 206, 1569, 1230, 2597, 85481,
85936, 75926, 2600, 75926, 2952, 60456, 60456, 75926, 2877, -4654,
2732, -4654, -4654, 1348, -4654, -4654, -4654, -4654, -4654, 2892,
-4654, 174, 252, 2893, 2566, 2895, -4654, -4654, -4654, 2621,
-4654, 2621, 2621, 2572, 2572, 2752, 2576, 2905, -4654, -4654,
-4654, 974, 2621, 2572, -4654, 99915, -4654, 1556, 1623, -4654,
187, -4654, 3020, -4654, -4654, -4654, -4654, -4654, -4654, -4654,
-4654, 2581, -4654, 132, 1770, -4654, -4654, 2616, -4654, 2913,
193, -4654, 2918, -4654, 2587, 86391, -4654, 86846, 87301, 2921,
407, -4654, 56361, 2923, 193, 2924, 2587, 2925, 193, 2931,
252, 2932, -4654, 994, 2922, 2937, 187, 2941, 1719, 2587,
60001, 2944, 425, -4654, 2948, 477, -4654, 2950, 2820, 29258,
-4654, 2714, -4654, 1328, -4654, 819, -4654, 50901, -4654, 941,
282, -4654, 75926, 282, 75926, 282, 75926, 282, 75926, 282,
75926, 75926, 75926, 282, -4654, -4654, -4654, 75926, 2627, 75926,
75926, -4654, -4654, -4654, 65916, 56361, 66371, -4654, 75926, -4654,
107, 1232, -4654, -4654, 99033, 3069, 56361, 2952, -4654, 1647,
-4654, -4654, -4654, -4654, -4654, -4654, 2884, 75926, 2958, 2959,
65916, 56361, -4654, 87756, 59546, 2841, 2638, -4654, -4654, -4654,
-4654, -4654, 1660, 3116, 219, 3119, 29258, 2651, 219, 219,
2652, 2972, -4654, -4654, -4654, 259, 2655, 2657, -4654, 224,
224, -4654, 2660, 2662, -4654, 225, 2666, 2667, 3130, 3138,
243, 2670, 2672, 2677, 974, 219, 29258, -4654, 2680, 224,
2681, 2683, 2687, 3144, 2689, -4654, 3148, 2690, 200, 215,
2692, 2694, -4654, 2660, -4654, 277, 2696, 2699, 2701, 2702,
2705, 2706, 2712, 2718, 29258, 29258, 29258, -4654, 25954, 1619,
1232, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, 278,
7153, -4654, 2745, -4654, -4654, 2907, -4654, -4654, 29258, -4654,
-4654, 705, -4654, 286, -4654, -4654, -4654, 1619, 2987, 2717,
-4654, -4654, 1090, 2720, -4654, 1969, -4654, -4654, -4654, -4654,
-4654, -4654, 58636, 3161, -4654, 330, 1232, 291, 344, 3102,
49991, 50446, -4654, -4654, 2977, -4654, 75926, -4654, -4654, 1619,
166, -4654, -4654, -4654, -4654, 1731, -4654, -4654, -4654, 598,
17368, 1774, 2213, 75926, 75926, 3164, -4654, -4654, -4654, -4654,
1779, -4654, -4654, 2724, -4654, 2207, -4654, -4654, 1283, 1283,
29258, 1283, 256, 150, 27842, 29730, 3045, 2938, 1334, 263,
3047, -4654, 2946, 1714, 2023, 70011, 75926, 88211, 2856, 29258,
2813, 2818, 2871, 49109, -4654, 2822, 2786, 2823, 2876, 52721,
2744, 2828, 2829, 2883, -4654, 3006, -4654, -4654, 2840, 2844,
88666, -4654, -4654, 896, -4654, -4654, -4654, 896, -4654, 2777,
1600, 875, 1022, 2846, 453, 220, 3158, -4654, 1271, -4654,
-4654, 2900, -4654, 6101, 75926, 3098, 6778, 2979, 292, 2980,
2897, -4654, -4654, 3030, 2857, 75926, 2858, 2992, 292, 1192,
89121, -4654, -4654, -4654, -4654, -4654, -4654, 2898, 25071, -4654,
1771, 2862, 2842, 2872, 75926, 63186, 381, 2974, 2995, 2996,
1206, 1992, 769, 2929, 75926, 297, 3007, 75926, 2796, 2878,
2881, 3092, 2805, 1472, 3196, 2803, -4654, -4654, -4654, -4654,
442, 2049, 2997, -4654, 3096, 3141, 6702, 2866, 2870, 96828,
-4654, 2894, 547, 46377, 75926, 75926, 3021, 2899, 2901, 89576,
2898, 2909, 2910, 2906, 2911, 34, 3199, 1469, 2912, -4654,
-4654, -4654, 1469, 3039, 2917, 2926, 90031, 2898, 75926, 2930,
2936, 75926, 99915, 292, -4654, 3263, 292, 292, 1703, 3264,
2949, 422, 3073, 1642, 1230, 2803, 2423, -4654, 2951, 2960,
350, -4654, 3054, 2961, 2963, 2989, 1232, -4654, -4654, 2965,
3012, 2966, 733, -4654, -4654, 1403, 2957, 70011, 3056, 3064,
467, 2208, 2803, -4654, 2969, 2981, 2805, 2805, 75926, 75926,
75926, 75926, 75926, 317, 3294, 3312, 2982, 213, 3014, 2891,
-4654, 1469, 55451, 2986, -4654, 1469, 75926, 2990, 2228, 2803,
1067, 1427, -4654, -4654, -4654, 1538, -4654, 29258, 29258, 29258,
2896, -4654, 1371, 17368, 741, -4654, 290, 12679, 2914, -4654,
-4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654,
-4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654,
-4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654,
-4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654,
-4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654,
-4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654,
-4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654,
-4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654,
-4654, -4654, -4654, -4654, -4654, 75926, -4654, 75926, -4654, 3165,
99033, 3113, 3175, -4654, 2945, -4654, 3179, 292, -4654, 75926,
75926, 3181, 3123, 3185, 3186, 3127, 1072, 99033, 3128, 3190,
-4654, 3191, 3193, 3008, 2970, 3001, 49550, -4654, 2534, 2934,
3374, 3265, 75926, 52721, -4654, 3388, 896, -4654, 99033, 3145,
3269, -4654, 75926, 3162, 630, -4654, 3305, 3000, -4654, -4654,
100, 75926, 232, 2984, -4654, -4654, 3276, 56361, 312, 3278,
1232, 2998, 3279, 3159, 1232, 56361, 3198, 75926, 75926, 75926,
75926, -4654, -4654, 3166, 188, 142, -4654, 55451, 3178, -4654,
75926, 3182, 2423, 3187, 3398, 65, 1918, 90486, 3277, -4654,
90941, 2968, 2968, 3405, 99033, 3228, -4654, 1863, -4654, 3099,
-4654, 60456, -4654, -4654, 60456, -4654, -4654, -4654, 99033, 75926,
-4654, 2973, -4654, -4654, 29258, -4654, -4654, -4654, 2354, -4654,
99033, 2621, 2621, -4654, -4654, 3412, 3057, 3058, 2354, -4654,
2354, -4654, 99033, -4654, 2983, 2994, 2354, 3059, 3061, 3063,
-4654, 2975, 3065, 2354, -4654, -4654, 1861, -4654, -4654, 60456,
60456, -4654, 56361, 56361, 3306, 425, 3307, 3046, 3321, 3051,
46377, 46377, -4654, 486, 60456, -4654, 56361, 60456, -4654, 75926,
-4654, 75926, -4654, -4654, -4654, -4654, 99033, 99033, -4654, 56361,
55451, 3324, 3325, 252, 75926, 75926, -4654, 75926, 75926, -4654,
75926, 75926, 1786, 91396, 941, 59091, -4654, -4654, -4654, -4654,
-4654, -4654, -4654, -4654, 75926, -4654, 75926, -4654, 75926, -4654,
75926, -4654, 75926, -4654, -4654, -4654, 75926, -4654, 75926, 1815,
-4654, -4654, 1833, 1405, 75926, 75926, 237, 60456, 75926, 3209,
60456, 60456, 75926, 75926, 75926, 75926, 75926, 3082, 2720, 1372,
-4654, 288, 284, 70011, 3220, -4654, -4654, 1852, 2011, 965,
75926, 1340, 2074, -4654, -4654, 66371, 65461, 3326, 170, 75926,
-4654, -4654, 5742, 29258, 1619, 26898, -4654, -4654, 17368, 3066,
29258, 29258, 3016, 2354, 2354, -4654, 944, 29258, 29258, 29258,
2354, 2354, 5198, 29258, 46377, 29258, 34450, 23209, 29258, 29258,
26426, -4654, 29258, 3246, 35854, 29258, 344, 3249, 29258, 344,
5198, 3486, 3486, 2962, 7522, 3023, 1619, -4654, 2354, 972,
-4654, 287, 99033, 29258, 29258, 29258, 29258, 52721, 3105, 218,
75926, 29258, 3029, 1383, -4654, 29258, -4654, 3033, 29258, 3109,
1255, 29258, 29258, 29258, 29258, 29258, 29258, 29258, 29258, 29258,
-4654, 37225, 445, 3336, 3357, 68, 590, 73651, 27370, 3349,
22263, -4654, 273, 3349, -4654, -4654, -4654, 75926, 3161, -4654,
-4654, 3118, -4654, -4654, -4654, -4654, -4654, 293, -4654, -4654,
-4654, -4654, -4654, -4654, -4654, 3035, -4654, -4654, -4654, -4654,
3035, -4654, 3041, 3337, 3339, 252, 75926, 244, 2131, -4654,
29258, -4654, 1871, 3048, 75926, 2275, 75926, -4654, 3315, -4654,
3050, -4654, 13147, 3315, -4654, -4654, 34916, 3167, 3316, 3255,
-4654, -4654, -4654, 3052, 17368, 30202, 30202, -4654, 1878, 17368,
1974, -4654, -4654, -4654, -4654, -4654, -4654, 1164, -4654, 75926,
138, 3045, 263, 3121, 1026, 3499, 75926, -4654, 42255, 1875,
56361, 75926, 75926, 3259, -4654, 3490, -4654, 99915, -4654, 3071,
-4654, 99474, 95491, -4654, -4654, 634, -4654, 650, 56361, -4654,
75926, 75926, -4654, 52721, 56361, 75926, 75926, -4654, 56361, 75926,
75926, -4654, -4654, -4654, -4654, -4654, 51356, 1037, 65461, 3201,
64551, -4654, -4654, 3074, 75926, 3131, 3338, 3340, 26, -4654,
-4654, 91851, -4654, 3291, 56361, 75926, 75926, 29258, 3293, 75926,
75926, -4654, 270, 3168, 3169, -4654, 75926, 3173, 3320, 60456,
3088, 75926, 75926, 99033, 3171, 826, 60456, 3139, 46833, 60456,
60456, 75926, 75926, 75926, 75926, 3227, 3416, 99033, 75926, 3361,
172, 70011, 413, 2400, 2803, 3319, -4654, 3429, 1369, -4654,
56361, -4654, 75926, 3310, -4654, -4654, -4654, 74106, 3537, 3218,
-4654, -4654, 92306, -4654, -4654, -4654, 1876, -4654, 56361, 56361,
75926, 7519, 92761, 1443, 3330, -4654, -4654, 99033, -4654, 75926,
74561, 75926, 75926, 3442, 3368, 75926, 67281, 93216, 93671, 592,
1140, 3369, 75926, 67736, 3370, -4654, 3256, 75926, -4654, -4654,
53176, 56361, 75926, 968, 52721, -4654, -4654, 75926, -4654, 3331,
295, -4654, 75926, 7225, -4654, -4654, 3202, 3214, 75926, 3333,
452, 2452, 2803, 75926, 75926, 3125, 1877, 56361, 75926, 52721,
-4654, 3335, 111, 3457, 56361, 75926, 74106, -4654, 70011, 70011,
56361, 75926, 70011, -4654, 75926, 84571, -4654, 56361, 897, -4654,
3460, 56361, 75926, 74106, -4654, 3286, 56361, 75926, 12568, -4654,
-4654, -4654, 292, -4654, -4654, -4654, -4654, -4654, 75926, 75926,
292, 75926, 75926, 292, 1319, -4654, 56361, 75926, -4654, -4654,
-4654, 56361, 75926, 75926, -4654, 56361, 2984, 75926, 52721, -4654,
75926, 7788, 75926, 75926, 75926, 75926, 75926, 75926, 56361, 75926,
-4654, -4654, 1132, 1210, 1470, 1641, 1030, 75926, 3432, 75926,
94126, 56361, 75926, 75926, 1232, 75926, 1567, -4654, -4654, 3262,
-4654, 56361, 897, -4654, 7756, 75926, 75926, 3221, 3222, 233,
3308, -4654, -4654, -4654, 957, 957, 3343, -4654, 29258, 29258,
28314, 3146, -4654, -4654, 29258, -4654, -4654, -4654, 913, 3585,
94581, 913, -4654, 913, 3414, 3206, 3207, 913, 75926, 913,
913, 75926, -4654, -4654, -4654, -4654, 3411, 75926, 913, 913,
913, 3322, 3360, 165, 3447, 3170, 1883, -4654, -4654, 29258,
99033, 75926, -4654, 1892, -4654, 3183, 188, -4654, -4654, 52721,
75926, 227, 767, 3501, 3381, 63641, 2682, 3491, 75926, 3225,
75926, 3615, 3273, 70011, 2534, -4654, 2682, 75926, -4654, 2631,
65461, -4654, -4654, -4654, -4654, -4654, -4654, -4654, 75926, -4654,
-4654, 3498, 75926, 29258, 3352, -4654, 1232, 2534, 2534, 2534,
2534, -4654, -4654, -4654, -4654, 3395, 1813, -4654, 3192, 2534,
75926, 3317, 3515, 2682, 3194, 3523, -4654, 2423, 3527, 1265,
75926, 3410, 63641, 2012, 3241, 3425, 3646, 1918, 1232, 3428,
3417, -4654, 25512, 5349, 6453, 3418, 3470, 59546, 3510, 3511,
3533, -4654, 174, -4654, 3657, -4654, 29258, 1901, 3223, 187,
-4654, -4654, 3224, 2994, 3238, 3240, 3226, 3231, -4654, 2354,
231, 3232, 1188, 1302, 3353, 2354, 3459, 3233, -4654, 193,
-4654, 2587, -4654, 75926, -4654, 75926, 75926, 75926, 75926, 407,
-4654, -4654, 193, 2587, 193, 252, -4654, 3488, 187, 2587,
3356, 3552, 59546, -4654, 425, -4654, 477, -4654, 3446, 252,
-4654, 3462, 1918, -4654, -4654, -4654, -4654, -4654, -4654, -4654,
-4654, 1903, -4654, 75926, -4654, 3524, 3530, 3531, 3532, 3534,
3242, 3244, 3282, 75926, 3248, 3242, 292, 3248, 3248, 3242,
2720, 2720, 3242, 3244, 55906, 3701, 3557, -4654, 3334, 3254,
3567, 209, -4654, 214, 80, 3489, -4654, -4654, -4654, -4654,
99033, -4654, 56361, 3295, 75926, 75926, -4654, 358, 3464, 3257,
55906, 3681, 252, -4654, 60456, -4654, -4654, 99033, 3341, 3355,
60456, 3473, 3309, 60456, -4654, -4654, 60456, -4654, -4654, -4654,
-4654, -4654, 99033, -4654, 3525, 75926, 75926, 1905, -4654, -4654,
1635, -4654, 1658, 29258, 185, -4654, 14091, 1907, 29258, 3267,
3268, -4654, -4654, -4654, -4654, -4654, -4654, -4654, 3270, 3581,
-4654, 1931, 1933, 1941, 3271, 3272, 7199, 3284, 15130, 3285,
3289, 34450, 34450, 25954, 2270, -4654, 34450, 3290, 3480, 1942,
13290, 3288, 3292, 15477, 28786, 29258, 28786, 28786, 15975, 3288,
3296, 1948, 52721, 3461, 16507, 1953, -4654, 29258, 52721, 7476,
29258, -4654, 29258, 3298, -4654, -4654, 3351, 3351, 3351, 5198,
-4654, 3332, -4654, 34450, 34450, -4654, 2119, 25954, -4654, -4654,
3601, -4654, -4654, 1365, -4654, 3300, -4654, -4654, 3764, 46377,
9860, 29258, 253, 29258, 3029, 29258, 3382, 3351, 3351, 3351,
304, 304, 296, 296, 296, 1864, 590, -4654, -4654, -4654,
3302, 3304, 3323, 3502, 3328, 29258, -4654, 2085, 2101, 75926,
2903, 4546, 5722, -4654, -4654, -4654, 38140, 3358, 741, 3358,
-4654, 1538, 2354, 972, 50901, -4654, -4654, -4654, -4654, -4654,
-4654, -4654, 75926, 17368, -4654, 2011, -4654, -4654, -4654, 29258,
-4654, -4654, 2448, 3344, 97, 3520, 2184, 2184, 1878, 3521,
-4654, -4654, 3379, -4654, 29258, 2143, -4654, 2199, -4654, -4654,
-4654, -4654, 2720, -4654, 3536, -4654, -4654, -4654, 38140, 3362,
3375, 58, 41340, 3529, -4654, 75926, -4654, 75926, 383, -4654,
3342, -4654, -4654, -4654, -4654, -4654, -4654, 95491, 1770, -4654,
99474, -4654, 99474, -4654, 1770, 3747, -4654, 95491, 1723, -4654,
-4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654,
-4654, -4654, 56361, 56361, 3538, 75926, 3543, 3539, 29258, 995,
75926, 3348, 3350, 1476, 3632, 75926, -4654, 3660, 252, -4654,
-4654, 3430, -4654, 17368, -4654, -4654, -4654, -4654, -4654, 56361,
75926, -4654, 59546, -4654, 75926, -4654, 99033, -4654, -4654, -4654,
75926, 3385, 75926, -4654, 75926, 75926, 75926, -4654, -4654, -4654,
-4654, -4654, -4654, -4654, 1104, 99033, -4654, -4654, 75926, 75926,
720, 3433, 3434, 75926, -4654, 1456, 3054, 7802, 75926, 75926,
75926, 3628, 75926, -4654, -4654, -4654, -4654, 3571, -4654, -4654,
95491, -4654, 2587, 1212, 3438, 2803, 3580, -4654, 3691, 3570,
-4654, 3492, 874, -4654, -4654, 75926, 3497, -4654, -4654, -4654,
-4654, 3703, 252, 3704, 252, 75926, 75926, 75926, 75926, 3503,
-4654, -4654, -4654, -4654, 3504, 3624, -4654, 52721, 52721, 52721,
1962, -4654, -4654, 1232, -4654, -4654, -4654, -4654, -4654, -4654,
3663, -4654, 1968, -4654, 1205, -4654, -4654, -4654, -4654, -4654,
-4654, 56361, 75926, 8673, 3707, 75926, 75926, 75926, 1762, -4654,
1065, 99033, -4654, 97269, -4654, -4654, 1991, -4654, 3394, 75926,
3463, 56361, 3443, 75926, -4654, -4654, -4654, 3384, 3384, -4654,
-4654, 3384, -4654, -4654, -4654, 3635, 3572, -4654, 976, 3573,
56361, 3450, -4654, 75926, -4654, -4654, -4654, 3471, -4654, -4654,
3472, 2538, 2803, 2423, -4654, -4654, -4654, -4654, -4654, -4654,
-4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, 1402,
-4654, -4654, 1309, 473, 2674, 2803, -4654, 1528, -4654, 3475,
-4654, 3476, -4654, -4654, -4654, 3633, 3637, 3638, 3479, 3481,
3535, 3482, 3484, 3540, -4654, 3485, 3542, 3487, 3546, 3606,
3495, 252, 99033, 3627, 1232, 3541, 3740, 252, -4654, 3500,
-4654, 3505, -4654, 3850, -4654, 75926, -4654, 3507, 2700, 2803,
-4654, -4654, 56361, 75926, -4654, -4654, -4654, 29258, 3419, 3421,
3424, 17368, 17368, 29258, -4654, -4654, 17368, 3420, -4654, -4654,
-4654, 99033, 75926, 3695, -4654, -4654, 913, 75926, 75926, -4654,
3696, -4654, -4654, 3697, 75926, 3699, -4654, -4654, -4654, -4654,
454, -4654, -4654, -4654, 3322, 3734, 43629, -4654, 3907, 7954,
3436, 375, -4654, 52721, 43629, 1965, 3347, 186, 1230, -4654,
59546, 75926, 59546, -4654, 767, 3570, 75926, 75926, 75926, 3437,
3439, -4654, -4654, -4654, -4654, 56361, 738, 56361, 2354, -4654,
-4654, 3509, -4654, 75926, 1918, 3912, 3758, -4654, 3384, -4654,
3880, 2976, 312, 3599, 1765, 2619, 3823, 2207, 401, 52721,
3241, -4654, -4654, -4654, -4654, 75926, 75926, 188, 1232, -4654,
3454, 3452, -4654, 75926, 3773, 75926, 75926, 75926, 75926, 3295,
3458, 75926, 3465, 99033, 70, 3666, 3665, 2805, 3901, 3792,
2011, 3241, 3544, 3797, 70011, -4654, 2003, 315, -4654, 1232,
59546, 96387, 3783, -4654, 6453, -4654, -4654, 6453, 1058, 75926,
3769, -4654, -4654, 2011, -4654, 99033, 2031, -4654, -4654, -4654,
2354, -4654, -4654, 1079, 1079, 3474, -4654, 3477, -4654, -4654,
-4654, -4654, -4654, -4654, -4654, 3478, -4654, -4654, -4654, 425,
3547, 252, 3548, 252, -4654, -4654, -4654, -4654, 75926, -4654,
75926, 55451, 252, -4654, -4654, 75926, -4654, 3799, -4654, -4654,
3605, 3609, 3612, 3614, 3616, 75926, 3242, -4654, 3483, 56361,
1437, -4654, -4654, 3677, -4654, -4654, 70011, 3607, -4654, -4654,
-4654, -4654, 3814, 3818, -4654, -4654, -4654, 280, -4654, -4654,
-4654, 56361, 65916, 493, 56361, -4654, 3755, 3759, -4654, -4654,
3762, 292, -4654, 3765, 3767, 3768, -4654, 3770, 3771, -4654,
-4654, -4654, 3506, 16829, 29258, -4654, 3844, 99033, -4654, 8190,
-4654, -4654, -4654, 29258, -4654, -4654, -4654, -4654, -4654, 29258,
-4654, 29258, 3820, -4654, 23682, 3973, 3973, 3508, 99033, 34450,
34450, 34450, 34450, 1638, 2681, 34450, 34450, 34450, 34450, 34450,
34450, 34450, 34450, 34450, 35388, 600, -4654, 3708, 29258, 29258,
3832, 3820, -4654, 99033, 3516, 3288, 3517, 3518, 29258, -4654,
-4654, 2044, 36311, 3545, 52721, -4654, 29258, 13782, 2045, 3569,
17049, 1619, 8259, 1232, 29258, 2497, 3174, 29258, 2053, 29258,
3836, -4654, -4654, -4654, 3526, -4654, -4654, 99033, 29258, 3549,
4566, 34450, 34450, 4653, -4654, 5005, 29258, 25954, -4654, 3343,
3574, 42712, -4654, 24155, 3528, 1195, 1195, 1195, 1195, -4654,
75926, 75926, 75926, 38597, 3846, 3551, 37682, 75016, 3550, 1756,
-4654, 75016, 75471, 75016, -4654, 3553, -4654, 1619, 29258, 3838,
3554, 3838, 291, 3555, -4654, -4654, -4654, 3556, -4654, 3560,
-4654, 3344, 789, -4654, -4654, -4654, 3741, -4654, -4654, -4654,
-4654, 3550, 30674, 3682, -4654, -4654, -4654, 3591, 2055, -4654,
-4654, 3933, 3682, -4654, -4654, 2062, 42255, 3362, 29258, 1619,
2067, 1736, -4654, -4654, 95491, -4654, 3611, 2587, 2587, 949,
3242, 3859, 949, 8940, -4654, -4654, 39054, 75926, 75926, -4654,
75926, 2077, 1605, 75926, -4654, 75926, -4654, -4654, -4654, -4654,
3984, -4654, 75926, -4654, -4654, 3603, 3604, 75926, 75926, 75926,
75926, 3808, -4654, -4654, 2272, -4654, -4654, 56361, 75926, -4654,
-4654, -4654, 459, 2719, 2803, -4654, 3631, -4654, -4654, -4654,
3828, -4654, 3983, 3652, 75926, 3893, 75926, 3566, -4654, 1605,
3669, 3875, 1159, 2805, 422, 4015, -4654, 1535, -4654, -4654,
3639, -4654, -4654, 75926, -4654, 75926, -4654, -4654, -4654, -4654,
-4654, -4654, -4654, 3698, -4654, -4654, -4654, -4654, 53176, -4654,
-4654, 75926, -4654, 52721, 43629, 52721, -4654, 1354, 481, 2795,
2803, 75926, -4654, 3648, -4654, 3650, 3654, 3709, 199, 248,
3656, 3658, 3713, 3582, 3583, 3586, -4654, 52721, 44097, 3739,
75926, 2587, 3589, 3634, -4654, 310, 1232, -4654, -4654, 1232,
2587, 1232, -4654, 75926, 75926, 75926, 52721, -4654, 4012, 3684,
75926, 75926, 75926, 75926, -4654, 3651, -4654, 75926, 75926, 3918,
236, 1747, 56361, 75926, 75926, 56361, 75926, 75926, 75926, 75926,
75926, 75926, 3929, 75926, -4654, 4011, 3938, 1735, 3980, 3687,
75926, -4654, 75926, 1232, 3054, 75926, 75926, -4654, -4654, -4654,
-4654, -4654, 3343, -4654, 3618, 3887, 913, -4654, 3888, 3890,
913, 913, 3891, 913, -4654, -4654, 1230, -4654, 454, 75926,
-4654, 3560, 442, 2049, -4654, -4654, -4654, -4654, -4654, -4654,
3170, -4654, -4654, 2135, 75926, -4654, -4654, -4654, 75926, 3629,
75926, 75926, 34450, -4654, 424, 1549, 1171, -4654, 3876, 75926,
2984, -4654, -4654, -4654, 834, 75926, -4654, -4654, -4654, -4654,
-4654, 672, 3458, -4654, 3910, 63641, 2587, 56361, 56361, 2587,
-4654, 99033, 3636, 3241, -4654, 872, 3706, 56361, 312, 1519,
95036, 2998, 3668, 3837, 38140, 1402, -4654, 3640, 3789, -4654,
3641, 3643, -4654, -4654, 75926, 3570, 55451, 2082, 2423, 4076,
98, 1897, -4654, 65006, 3825, 3458, 3910, -4654, -4654, -4654,
4034, 3727, -4654, 2011, 75926, 3295, 3727, 1232, 75926, 3131,
-4654, 95491, 29258, 29258, -4654, 3644, -4654, 3659, 6453, -4654,
3710, 3653, -4654, -4654, -4654, -4654, -4654, 3722, 3661, 75926,
-4654, 3649, -4654, 3655, -4654, -4654, -4654, -4654, -4654, -4654,
75926, -4654, 75926, -4654, 252, -4654, 3779, -4654, 252, 75926,
75926, 75926, 75926, 75926, 75926, 3242, 292, -4654, 3957, 55906,
-4654, -4654, 2088, 75926, -4654, -4654, -4654, 4031, 170, 3975,
-4654, -4654, 1005, 1005, 1005, 3931, 1005, 1005, 1005, 1005,
1005, -4654, 29258, 17368, -4654, 3667, -4654, 17368, 9000, 17368,
3832, -4654, 2090, 29258, -4654, 2380, 2380, 2380, 3318, 3978,
-4654, 1139, 3670, 2380, 2380, 2380, 403, 403, 211, 211,
211, 3973, 600, 17368, 17368, -4654, -4654, 3671, -4654, -4654,
-4654, 3288, -4654, 31146, 3827, 4092, -4654, -4654, -4654, 3712,
3718, 3673, -4654, 29258, 31618, 3683, 99915, 3874, -4654, 1622,
29258, 29258, 5164, -4654, 8140, 29258, 99033, 2098, 5164, 494,
29258, 3287, 3824, 29258, 29258, 5841, 9264, 3688, 29258, 95932,
-4654, -4654, -4654, 2115, 29258, 75926, 75926, 75926, 75926, -4654,
-4654, -4654, 75016, 75471, 75016, 3685, 36768, 24613, 1756, 3693,
75926, -4654, -4654, 3692, 38140, 3950, 3892, -4654, 38140, 3892,
1566, 3892, 3960, 3788, 43169, -4654, -4654, 3700, -4654, 3899,
-4654, 1771, 17368, 4123, 4003, 1232, 4003, 1232, -4654, 46377,
-4654, -4654, -4654, -4654, 3916, 17368, 27370, -4654, 2011, 1976,
75926, 1619, 644, -4654, 3720, 75926, -4654, 3682, 17368, -4654,
3776, 2117, -4654, -4654, -4654, -4654, -4654, -4654, -4654, 3790,
65461, 4021, -4654, 29258, 2128, -4654, 3751, 4117, 307, 2129,
2134, 1605, -4654, 4002, -4654, 1655, 3998, 207, -4654, 252,
-4654, 99033, -4654, 75926, 75926, -4654, -4654, -4654, -4654, 75926,
2744, -4654, -4654, 75926, 75926, 75926, 75926, -4654, 56361, 75926,
-4654, 75926, -4654, 52721, 3347, 310, 424, 4013, 3934, -4654,
292, -4654, 424, 3939, 310, 75926, -4654, -4654, 2280, -4654,
99033, 252, 252, -4654, -4654, -4654, -4654, -4654, 3729, 4144,
3813, 75926, 75926, 75926, -4654, 75926, 56361, 75926, 75926, 2354,
2354, 99033, 3723, -4654, 2354, 2354, 3724, -4654, 56361, 75926,
75926, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654,
-4654, -4654, 3805, -4654, 29258, 4137, -4654, -4654, -4654, -4654,
-4654, -4654, -4654, -4654, -4654, 56361, 75926, 3809, -4654, 3811,
-4654, 729, -4654, -4654, 75926, 75926, 75926, 75926, 4061, -4654,
-4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, 75926,
-4654, 75926, -4654, -4654, 1232, 1232, 99033, 252, 252, -4654,
-4654, -4654, -4654, 3733, 4001, 913, -4654, 913, 913, -4654,
-4654, 913, -4654, 3737, 437, -4654, 1605, 1758, 4047, -4654,
4051, 29258, -4654, 1235, 3318, -4654, 4103, 4181, -4654, -4654,
-4654, -4654, 2984, 1918, 3800, -4654, -4654, 60456, 1251, -4654,
4032, 227, 3956, 63641, 1528, 1572, 3749, 3868, -4654, 2587,
2587, 3807, 75926, 4191, -4654, -4654, -4654, -4654, -4654, -4654,
56361, 3443, -4654, 3974, 102, 4067, 75926, 29258, 3550, -4654,
1708, 4077, -4654, 1232, -4654, -4654, 3883, 3241, -4654, 2011,
75926, 3976, 63641, 3295, 2141, -4654, -4654, -4654, 3804, 4189,
2012, -4654, 1528, 3825, 1131, 75926, -4654, 3806, 4209, -4654,
-4654, 4082, 3977, 3775, -4654, 17368, 17368, 1232,100356, 6453,
99033, 4093, 75926, 197, 4056, 252, -4654, 252, 252, -4654,
75926, -4654, 3242, 3242, 3242, 3242, 3242, -4654, 3985, -4654,
-4654, 4048, -4654, 252, 55906, -4654, -4654, -4654, -4654, -4654,
1005, -4654, -4654, -4654, -4654, -4654, 17368, -4654, -4654, -4654,
-4654, 9299, 34450, 4096, -4654, 3786, 99033, -4654, 3787, 2146,
2160, 35854, 3946, -4654, -4654, -4654, 9499, 3840, 17368, 3895,
3791, 3793, 5164, 5164, 8140, 2165, -4654, 5164, 29258, 29258,
5164, 5164, 29258, -4654, -4654, 9590, 3981, -4654, -4654, 9672,
-4654, -4654, -4654, -4654, -4654, -4654, -4654, 53631, 3798, 3461,
75016, 3801, 75926, 1756, 38140, -4654, -4654, 1512, -4654, 38140,
4053, -4654, 38140, 60456, -4654, 75926, 3802, 75926, -4654, 32090,
29258, 3835, -4654, 3835, -4654, 3803, 75926, 2717, -4654, 58,
-4654, -4654, 4190, 39054, 4146, 29258, -4654, -4654, -4654, -4654,
55906, 4008, 55906, 1605, 10190, 4002, 39054, 47289, 75926, 75926,
75926, 3964, 4002, 3810, 2984, -4654, -4654, -4654, -4654, -4654,
-4654, 3821, -4654, -4654, -4654, -4654, 3902, -4654, -4654, 45,
3220, -4654, 2174, -4654, -4654, 4247, 4142, -4654, -4654, -4654,
-4654, -4654, -4654, 4011, -4654, -4654, 43629, 56361, 75926, -4654,
3905, -4654, -4654, -4654, -4654, -4654, 40883, 46377, -4654, 199,
3829, 3831, 248, -4654, -4654, -4654, 75926, 10239, 3833, 988,
3220, 75926, 75926, 3834, 3839, 3841, 1628, 1305, 1612, 3242,
4125, -4654, -4654, -4654, -4654, 4011, -4654, -4654, -4654, 913,
-4654, -4654, -4654, -4654, 52721, -4654, 2988, -4654, 1230, 4182,
60456, 4274, 4274, 75926, -4654, 10425, 4052, -4654, -4654, 4132,
3800, 4078, 4127, -4654, 3842, 75926, 834, 3845, 75926, 3847,
3968, 1281, 1281, 75926, 75926, 75926, 2178, 2011, 2587, 3634,
312, 4177, 63641, 4219, 3570, 406, -4654, -4654, 1708, -4654,
110, 4194, 3894, -4654, 75926, 4293, 3295, 3458, 75926, 3854,
-4654, -4654, 65006, 4057, 3347,100797, 3665, 3825, 2012, 3991,
-4654, 3992, -4654, 1463, -4654, 2011, 75926, 70011, 39054, -4654,
99474, -4654, 2179, -4654, -4654, 3928, 3358, 3967, 3969, 3860,
75926, 663, -4654, -4654, -4654, -4654, -4654, 75926, -4654, 493,
-4654, -4654, 4619, 34450, 99033, 2185, 29258, -4654, 29258, -4654,
4284, -4654, -4654, -4654, 801, -4654, -4654, -4654, 5164, 5164,
5164, -4654, 4285, 3343, -4654, -4654, 2191, 4304, 33506, 4265,
-4654, 75926, 2193, -4654, 29258, 3870, -4654, -4654, 38140, 1512,
3871, 2195, 75926, 2205, 99033, 3877, 36, 3878, 22736, 3864,
-4654, -4654, -4654, -4654, -4654, 17368, 17368, 75926, -4654, -4654,
-4654, -4654, 3925, 75926, 2214, -4654, 119, 17368, 1437, 949,
493, 4117, 2984, -4654, 3879, -4654, -4654, -4654, 950, 950,
75926, 2984, 75926, 3800, -4654, 75926, 3963, -4654, -4654, 52721,
4170, -4654, 3936, -4654, 1108, 3220, 75926, 99033, -4654, 123,
4197, -4654, 99033, 99033, -4654, -4654, -4654, 29258, 3971, -4654,
-4654, -4654, 1039, 428, 62731, -4654, -4654, 75926, 75926, 75926,
75926, 75926, 252, -4654, 2220, -4654, 39968, -4654, -4654, 2954,
1232, 2954, 1662, -4654, -4654, 2954, -4654, 2954, -4654, 3737,
1232, 4274, 339, -4654, -4654, -4654, 1732, 4106, 3885, -4654,
1074, 4094, 3982, 3886, -4654, 60456, 4359, 3458, 3910, 75926,
-4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654,
2221, 3570, 4215, 3241, 3806, -4654, 75926, 3932, -4654, 38140,
-4654, -4654, -4654, 2954, -4654, 683, 3896, 4224, 3570, 2011,
-4654, 3825, 3458, 3910, -4654, -4654, -4654, 3900, -4654, 3727,
2012, 3665, -4654, -4654, 4309, 4104, 4311, 3295, -4654, 3131,
2226, -4654, 6453,100356, 99033, 4251, 3942, 3943, -4654, -4654,
3959, 75926, -4654, -4654, 3570, -4654, 4619, 2245, -4654, 2250,
2251, 4066, 3965, -4654, 29258, 1166, 3553, 53631, 3909, -4654,
34450, 2252, -4654, 2358, 75926, 2274, -4654, 17368, 75926, -4654,
-4654, 29258, -4654, 2278, -4654, 29258, 3915, 29258, -4654, 32090,
3913, -4654, 4357, 2011, -4654, 3358, 39054, -4654, 4037, -4654,
4232, -4654, 75926, 3800, 46377, 3344, 3344, 1918, 3800, 2300,
-4654, -4654, 75926, -4654, 3885, 29258, -4654, 4016, -4654, -4654,
2304, 1269, 4083, 4083, 2306, 2322, 11091, 75926, -4654, -4654,
-4654, -4654, -4654, -4654, 2323, -4654, -4654, -4654, -4654, 2356,
-4654, 2376, 2354, 3244, 1612, 3244, -4654, 3242, -4654, -4654,
52721, -4654, 54086, -4654, -4654, -4654, 1232, -4654, 1232, 4140,
75926, 48654, 1232, 1232, -4654, -4654, -4654, -4654, -4654, 4272,
4213, -4654, 2423, -4654, -4654, -4654, -4654, 465, -4654, 4145,
4148, 75926, -4654, 3935, -4654, 2377, 1528, 4058, 3570, -4654,
-4654, 75926, 4378, 4380, -4654, 106, 75926, 3550, 75926, -4654,
-4654, -4654, 29258, 834, -4654, 3806, 2012, 1528, 3825, 3347,
39511, -4654, 3665, 3727, 4147, -4654, 4149, -4654, 3948, 4235,
6453, -4654, -4654, 346, 4259, 4260, -4654, -4654, -4654, -4654,
-4654, -4654, -4654, -4654, 3288, 32562, 32562, 32562, 3953, -4654,
-4654, 75926, 3318, 3951, 33506, 52721, 2386, -4654, 97710, -4654,
2398, 2407, -4654, 2409, 32090, 2415, -4654, 75926, 3958, -4654,
-4654, -4654, 42255, 55906, 950, 3996, 3961, -4654, -4654, 4078,
-4654, -4654, 1605, 3220, -4654, 17368, 75926, 60456, 4381, -4654,
-4654, -4654, -4654, -4654, -4654, -4654, 3220, 4036, 1039, -4654,
428, -4654, 62731, -4654, 75926, -4654, -4654, 2420, -4654, -4654,
-4654, 75926, 3640, -4654, 3640, -4654, -4654, 4098, -4654, 1398,
877, 877, 4316, -4654, 4022, -4654, -4654, 3970, -4654, 4435,
4090, 75926, -4654, -4654, 199, 2011, 63641, 3570, -4654, -4654,
11576, 60456, -4654, 3665, 3825, 2012, 29258, 2429, -4654, 4117,
307, 3727, -4654, -4654, -4654, 39054, 3987, 3241, -4654, -4654,
1847, 60456, 60456, 33978, 4105, 221, 13858, 4305, -4654, 4305,
4305, -4654, 2447, 35854, -4654, -4654, -4654, 75926, 4172, 970,
-4654, 4126, -4654, 2453, -4654, -4654, -4654, 2, 493, 3344,
3988, -4654, -4654, 4094, 1605, -4654, 3220, -4654, 75926, -4654,
3989, -4654, -4654, -4654, -4654, -4654, 54086, 3640, 3894, -4654,
-4654, 4428, -4654, 306, -4654, -4654, -4654, -4654, 75926, 3570,
3723, 3806, -4654, -4654, 3990, 3727, 2012, 3665, 11980, -4654,
39511, 75926, 75926, -4654, 2454, 39054, 3727, -4654, 2685, -4654,
-4654, -4654, -4654, -4654, -4654, -4654, 3994, 3995, 4419, -4654,
-4654, -4654, -4654, -4654, 1053, -4654, -4654, -4654, -4654, 3461,
-4654, -4654, 34450, 34450, 4193, -4654, 970, -4654, 3993, -4654,
-4654, -4654, -4654, -4654, 29258, 1605, -4654, -4654, -4654, 1039,
-4654, 4313, -4654, -4654, -4654, 3570, -4654, -4654, 52266, -4654,
3665, 3727, 4117, -4654, -4654, -4654, 4235, -4654, 2455, 3358,
2121, -4654, -4654, 2151, 2237, 4059, 4296, 33034, 4129, -4654,
4198, -4654, 4399, 3318, 3318, -4654, -4654, 29258, 12093, 1605,
2470, 834, -4654, -4654, 2472, -4654, -4654, -4654, -4654, 3727,
-4654, 75926, 3241, -4654, 39054, -4654, -4654, 2685, 4109, 4111,
-4654, -4654, -4654, 75926, 12313, -4654, -4654, 60456, -4654, 52266,
-4654, -4654, 3727, -4654, -4654, 4050, 4060, 2493, -4654, 4010,
-4654, 3358, 4320, 4323, -4654, 52266, -4654, 60456, 60456, 2494,
-4654, -4654, -4654
};
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
Performed when YYTABLE does not specify something else to do. Zero
means the default is an error. */
static const yytype_uint16 yydefact[] =
{
1671, 1447, 632, 1533, 1532, 1447, 0, 255, 0, 1537,
0, 1447, 426, 1125, 0, 0, 0, 0, 632, 1447,
0, 1671, 0, 0, 0, 0, 0, 1684, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1447, 0, 0,
1691, 0, 0, 0, 0, 1684, 0, 1539, 0, 0,
0, 0, 0, 2, 4, 37, 72, 73, 31, 30,
92, 55, 18, 63, 126, 125, 127, 42, 38, 80,
26, 28, 39, 43, 65, 67, 45, 56, 104, 64,
24, 62, 87, 68, 90, 50, 12, 13, 51, 14,
52, 15, 53, 16, 100, 74, 93, 35, 61, 23,
44, 70, 71, 5, 46, 82, 78, 11, 57, 58,
60, 84, 85, 86, 109, 88, 121, 41, 118, 97,
98, 115, 99, 116, 9, 101, 54, 17, 112, 111,
113, 81, 47, 83, 69, 91, 110, 27, 114, 19,
20, 22, 21, 59, 29, 66, 32, 89, 117, 107,
103, 122, 120, 128, 105, 75, 7, 8, 94, 6,
25, 49, 10, 34, 33, 48, 40, 124, 36, 1537,
96, 108, 95, 76, 102, 79, 106, 123, 77, 119,
1644, 1643, 1693, 1647, 1670, 0, 1659, 1446, 1445, 1431,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 631, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1457, 2273, 2288, 2289,
2290, 2291, 2292, 2293, 2294, 2295, 2296, 2297, 2298, 2299,
2300, 2301, 2302, 2303, 2628, 2304, 2305, 2306, 2578, 2579,
2629, 2580, 2581, 2307, 2308, 2309, 2310, 2311, 2312, 2313,
2314, 2582, 2583, 2315, 2316, 2317, 2318, 2319, 2584, 2630,
2320, 2321, 2322, 2323, 2324, 2631, 2325, 2326, 2327, 2328,
2329, 2330, 2331, 2332, 2333, 2632, 2334, 2335, 2336, 2633,
2337, 2338, 2339, 2340, 2341, 2342, 2585, 2586, 2343, 2344,
2345, 2346, 2347, 2348, 2349, 2350, 2351, 2352, 2353, 2354,
2355, 2356, 2357, 2358, 2359, 2360, 2361, 2362, 2363, 2364,
2365, 2366, 2367, 2368, 2369, 2587, 2370, 2371, 2372, 2588,
2373, 2374, 2375, 2589, 2376, 2377, 2378, 2634, 2635, 2379,
2380, 2381, 2382, 2383, 2590, 2591, 2384, 2385, 2386, 2387,
2388, 2389, 2390, 2636, 2391, 2392, 2393, 2394, 2395, 2396,
2397, 2398, 2399, 2400, 2401, 2402, 2637, 2592, 2403, 2404,
2405, 2406, 2593, 2594, 2595, 2407, 2638, 2639, 2408, 2640,
2409, 2410, 2411, 2412, 2413, 2414, 2596, 2641, 2415, 2642,
2416, 2417, 2418, 2419, 2420, 2421, 2422, 2423, 2424, 2425,
2426, 2427, 2428, 2429, 2430, 2431, 2432, 2433, 2434, 2597,
2643, 2598, 2435, 2436, 2437, 2599, 2438, 2439, 2644, 2440,
2600, 2441, 2601, 2442, 2443, 2444, 2445, 2446, 2447, 2448,
2449, 2450, 2451, 2602, 2645, 2452, 2646, 2603, 2453, 2454,
2455, 2456, 2457, 2458, 2459, 2460, 2461, 2462, 2463, 2604,
2464, 2605, 2467, 2465, 2466, 2468, 2469, 2470, 2471, 2472,
2473, 2474, 2475, 2476, 2477, 2606, 2478, 2479, 2480, 2481,
2482, 2483, 2484, 2485, 2486, 2487, 2488, 2489, 2490, 2491,
2492, 2493, 2494, 2495, 2647, 2496, 2497, 2498, 2499, 2500,
2607, 2501, 2502, 2503, 2504, 2505, 2506, 2507, 2508, 2509,
2510, 2511, 2512, 2513, 2514, 2515, 2516, 2608, 2517, 2518,
2648, 2519, 2520, 2609, 2521, 2522, 2523, 2524, 2525, 2526,
2527, 2528, 2529, 2530, 2531, 2532, 2533, 2610, 2534, 2535,
2536, 2649, 2537, 2538, 2539, 2540, 2541, 2542, 2611, 2612,
2543, 2544, 2613, 2545, 2614, 2546, 2547, 2548, 2549, 2550,
2551, 2552, 2553, 2554, 2555, 2556, 2557, 2558, 2559, 2560,
2561, 2562, 2615, 2616, 2563, 2650, 2564, 2565, 2566, 2567,
2568, 2569, 2570, 2571, 2572, 2573, 2574, 2617, 2618, 2619,
2620, 2621, 2622, 2623, 2624, 2625, 2626, 2627, 2575, 2576,
2577, 130, 0, 0, 2247, 2274, 2275, 2278, 2273, 397,
396, 1634, 2241, 2274, 1536, 1514, 632, 0, 1434, 425,
1671, 0, 0, 0, 0, 0, 0, 0, 0, 864,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 178, 0, 0, 0, 0, 451, 450, 0,
0, 0, 1093, 456, 0, 0, 0, 0, 0, 620,
1583, 2465, 1581, 1635, 256, 259, 260, 257, 258, 2263,
0, 1226, 1227, 1229, 0, 0, 0, 1239, 904, 905,
0, 0, 0, 913, 0, 0, 0, 902, 0, 0,
0, 918, 0, 915, 0, 0, 919, 916, 899, 917,
906, 0, 898, 0, 0, 1239, 920, 0, 0, 900,
0, 0, 0, 0, 1435, 1580, 457, 1671, 0, 1558,
1559, 1560, 1537, 1549, 1561, 1554, 1556, 1555, 1557, 1553,
2262, 2289, 1028, 1028, 1028, 1028, 1025, 1026, 1028, 1028,
1028, 2485, 0, 0, 1007, 0, 1009, 2264, 1028, 1033,
518, 518, 518, 0, 1032, 1037, 518, 0, 1428, 1466,
2246, 1683, 0, 1008, 1427, 2543, 1572, 0, 0, 1254,
1250, 1252, 1253, 1251, 0, 0, 0, 2503, 1439, 240,
2514, 2611, 2543, 239, 234, 235, 208, 2293, 0, 0,
1032, 0, 1436, 1437, 990, 1690, 1688, 0, 2228, 2313,
2328, 2418, 231, 2496, 2504, 2514, 2611, 2543, 2574, 187,
197, 192, 0, 249, 2514, 2611, 2543, 245, 1457, 0,
1660, 1792, 2237, 0, 1430, 1429, 1538, 0, 1541, 0,
2480, 1664, 1667, 1543, 1665, 1656, 0, 0, 1, 1671,
0, 1548, 1687, 1687, 0, 1687, 0, 1648, 1656, 1651,
1655, 0, 0, 0, 0, 0, 0, 0, 923, 0,
1469, 2242, 1078, 0, 0, 0, 0, 0, 0, 0,
1134, 1133, 2279, 2269, 2270, 0, 2267, 2268, 2280, 2281,
2282, 0, 2390, 0, 0, 0, 2139, 2150, 2151, 2152,
2317, 2373, 2147, 2148, 2149, 2141, 2142, 2143, 2144, 2145,
2146, 0, 0, 1221, 2140, 0, 2390, 0, 0, 0,
157, 0, 134, 0, 0, 0, 2390, 0, 0, 0,
0, 0, 0, 0, 2390, 0, 0, 0, 0, 0,
157, 2423, 0, 134, 2390, 0, 0, 1451, 0, 0,
0, 1453, 1456, 1432, 0, 2220, 0, 2221, 2248, 1517,
0, 2237, 0, 0, 0, 959, 952, 0, 960, 967,
0, 0, 969, 0, 0, 953, 0, 0, 0, 0,
0, 972, 973, 0, 0, 974, 954, 975, 955, 976,
956, 977, 0, 0, 0, 0, 957, 0, 0, 0,
1443, 0, 1574, 1576, 1575, 1573, 518, 0, 0, 0,
0, 2390, 0, 0, 134, 1502, 0, 2390, 134, 0,
0, 455, 454, 134, 2267, 453, 452, 2317, 2373, 0,
1124, 0, 1386, 134, 2390, 0, 180, 2390, 706, 2390,
1543, 0, 635, 0, 0, 819, 2423, 134, 0, 0,
0, 0, 0, 0, 1096, 0, 0, 0, 0, 619,
632, 1584, 1582, 0, 1230, 233, 232, 1228, 911, 2390,
1166, 346, 346, 0, 0, 2390, 1488, 2276, 1867, 1896,
1874, 1896, 1896, 1863, 1863, 2357, 1876, 2390, 1864, 1865,
1901, 0, 1896, 1863, 1868, 0, 1866, 1904, 1904, 1891,
346, 927, 1848, 1849, 1850, 1851, 1877, 1878, 1852, 1883,
1884, 1888, 1853, 1918, 1863, 2277, 912, 0, 903, 2390,
346, 1130, 2390, 2271, 167, 0, 901, 2317, 2373, 2390,
346, 1223, 0, 2390, 346, 2390, 163, 2390, 346, 2390,
346, 2390, 636, 0, 0, 2390, 346, 2390, 2423, 165,
0, 2390, 346, 921, 2390, 346, 2239, 2390, 0, 0,
1577, 0, 1551, 2615, 1566, 0, 1562, 1569, 1565, 1671,
1028, 1027, 0, 1028, 0, 1028, 0, 1028, 0, 1028,
0, 0, 0, 1028, 2265, 2266, 1010, 0, 1034, 0,
0, 1041, 1040, 1039, 0, 0, 0, 1042, 0, 1796,
1611, 0, 1425, 1442, 0, 0, 0, 1096, 1257, 0,
1255, 1246, 1247, 1438, 238, 236, 0, 0, 0, 0,
0, 0, 1444, 0, 0, 0, 0, 2250, 2252, 2253,
2153, 2223, 0, 2579, 2580, 2581, 2212, 0, 2582, 2583,
2584, 2630, 2049, 2036, 2045, 2050, 2037, 2039, 2046, 2585,
2586, 1984, 2587, 2588, 2260, 2589, 2590, 2591, 2593, 2594,
2595, 2596, 2041, 2043, 2597, 2598, 0, 2261, 2600, 2601,
2447, 2603, 2604, 2606, 2607, 2047, 2609, 2610, 2611, 2612,
2613, 2614, 2259, 0, 2048, 2616, 2618, 2619, 2620, 2621,
2623, 2624, 2625, 2626, 0, 0, 0, 2234, 0, 2016,
0, 1856, 1857, 1879, 1880, 1858, 1885, 1886, 1859, 0,
2233, 1921, 2098, 2015, 2032, 0, 2021, 2022, 0, 2014,
2010, 1673, 2229, 0, 2011, 2249, 2251, 2213, 1673, 2227,
200, 251, 0, 252, 2235, 2514, 188, 230, 202, 229,
203, 201, 0, 2315, 189, 0, 0, 190, 0, 0,
0, 0, 248, 246, 0, 1433, 0, 1794, 1793, 2238,
932, 1526, 1524, 1525, 1523, 0, 1520, 1522, 1540, 1537,
2163, 0, 1666, 0, 0, 0, 1646, 1645, 3, 1531,
0, 1529, 1545, 1547, 1527, 1543, 1685, 1686, 0, 0,
0, 0, 0, 0, 0, 0, 1741, 1701, 1702, 1704,
1738, 1742, 1750, 0, 1652, 0, 0, 1798, 0, 0,
0, 0, 0, 0, 1165, 0, 0, 0, 0, 0,
924, 0, 0, 0, 1475, 0, 1477, 1478, 1479, 0,
0, 1480, 1481, 1469, 242, 1487, 1485, 1468, 1470, 1483,
0, 0, 0, 0, 0, 0, 0, 1494, 0, 171,
172, 0, 648, 632, 0, 2390, 0, 0, 0, 0,
0, 1173, 1180, 0, 0, 0, 0, 0, 0, 0,
0, 1174, 1172, 1175, 244, 1184, 1203, 1206, 0, 1132,
1135, 0, 0, 0, 0, 0, 1314, 0, 0, 0,
0, 1314, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 267, 269, 280, 341, 611,
0, 0, 0, 614, 0, 2390, 0, 0, 0, 0,
1225, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1206, 0, 0, 0, 0, 0, 0, 0, 0, 132,
133, 138, 0, 0, 0, 0, 0, 1206, 0, 0,
0, 0, 0, 0, 597, 610, 0, 0, 0, 0,
0, 607, 0, 0, 134, 272, 587, 593, 0, 0,
0, 713, 712, 0, 0, 0, 0, 1402, 1401, 0,
0, 0, 0, 1492, 1491, 0, 0, 0, 0, 0,
1314, 0, 261, 263, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 389,
390, 0, 0, 0, 138, 0, 0, 0, 0, 274,
0, 0, 1452, 1449, 1450, 0, 1455, 0, 0, 0,
0, 2024, 0, 2167, 1693, 2165, 1150, 2219, 0, 2283,
2651, 2652, 2653, 2654, 2655, 2656, 2657, 2658, 2659, 2660,
2661, 2662, 2663, 2664, 2665, 2666, 2667, 2668, 2669, 2670,
2671, 2672, 2673, 2674, 2675, 2676, 2677, 2678, 2679, 2680,
2681, 2682, 2683, 2684, 2685, 2686, 2687, 2688, 2689, 2690,
2691, 2692, 2693, 2694, 2695, 2696, 2697, 2698, 2699, 2700,
2701, 2702, 2703, 2704, 2705, 2706, 2707, 2708, 2709, 2710,
2711, 2712, 2713, 2714, 2715, 2716, 2717, 2718, 2719, 2720,
2721, 2722, 2723, 2724, 2725, 2726, 2727, 2216, 2215, 2244,
2284, 2285, 2286, 2287, 2222, 0, 1513, 0, 966, 0,
0, 0, 0, 968, 0, 961, 0, 0, 958, 2317,
2373, 0, 0, 0, 0, 0, 0, 0, 0, 0,
971, 0, 0, 0, 428, 0, 0, 816, 0, 0,
0, 0, 0, 0, 827, 0, 1469, 1501, 0, 0,
0, 641, 0, 2390, 0, 136, 865, 0, 817, 456,
0, 0, 0, 1196, 1385, 136, 0, 0, 174, 0,
0, 710, 0, 0, 0, 0, 0, 0, 0, 0,
0, 755, 754, 0, 0, 0, 818, 0, 0, 136,
0, 2390, 590, 2390, 0, 518, 518, 0, 0, 1095,
1098, 0, 0, 0, 0, 0, 1638, 1640, 1639, 0,
1637, 0, 344, 345, 0, 1213, 814, 1238, 0, 0,
1895, 1882, 1890, 1889, 0, 1872, 1871, 1870, 0, 1869,
0, 1896, 1896, 1894, 1873, 1848, 0, 0, 0, 1900,
0, 1898, 0, 894, 1844, 1840, 0, 1907, 1908, 1909,
1906, 1919, 1905, 0, 1854, 1910, 1863, 1860, 914, 0,
0, 1207, 0, 0, 2390, 346, 2390, 0, 2390, 0,
0, 0, 1215, 346, 0, 1209, 0, 0, 1211, 0,
1403, 0, 910, 908, 907, 909, 0, 0, 892, 0,
0, 0, 2390, 346, 0, 0, 887, 0, 0, 889,
0, 0, 0, 0, 1671, 0, 219, 220, 218, 1567,
221, 1568, 1564, 1550, 0, 1018, 0, 1022, 0, 1013,
0, 1019, 0, 1014, 1011, 1012, 0, 1017, 0, 0,
519, 521, 0, 0, 2340, 2356, 0, 2379, 2411, 2412,
2471, 2499, 2504, 2510, 0, 2537, 2548, 0, 1043, 1073,
1038, 724, 0, 0, 1621, 1426, 2170, 0, 1671, 0,
0, 0, 0, 237, 209, 0, 0, 0, 1075, 2503,
1441, 989, 632, 0, 2012, 0, 2019, 2020, 2211, 0,
0, 0, 0, 0, 0, 2018, 2178, 0, 0, 0,
0, 0, 1944, 0, 0, 0, 2191, 0, 2197, 0,
0, 1981, 0, 0, 0, 0, 0, 0, 0, 0,
1945, 1925, 1926, 2016, 2163, 0, 2017, 2256, 0, 1918,
2232, 2153, 0, 2150, 2151, 2152, 0, 0, 0, 2226,
0, 2161, 0, 0, 1959, 2159, 1961, 0, 0, 0,
0, 2147, 2148, 2149, 2141, 2142, 2143, 2144, 2145, 2146,
2157, 1941, 0, 0, 2100, 0, 1940, 0, 0, 1754,
0, 2254, 2214, 1754, 253, 254, 250, 0, 0, 205,
204, 0, 223, 227, 228, 199, 226, 0, 222, 207,
2089, 2088, 206, 198, 195, 193, 210, 212, 213, 196,
194, 247, 0, 0, 0, 346, 1548, 0, 1535, 1751,
0, 1668, 0, 0, 1548, 0, 0, 1544, 1663, 1662,
1694, 1695, 1116, 1661, 1721, 1722, 0, 0, 0, 0,
1747, 1745, 1712, 1705, 1711, 0, 0, 1709, 0, 1713,
1921, 1740, 1650, 1699, 1700, 1703, 1649, 0, 1743, 0,
1624, 1741, 1704, 1608, 0, 1586, 0, 1799, 0, 0,
0, 0, 0, 1145, 1147, 0, 1146, 0, 1149, 0,
1158, 0, 0, 1144, 1163, 0, 1152, 1150, 0, 1490,
0, 0, 925, 0, 0, 0, 0, 1476, 0, 0,
2537, 241, 1479, 1484, 1471, 1482, 0, 0, 0, 0,
0, 1077, 1076, 0, 0, 1100, 0, 0, 0, 1497,
507, 0, 343, 0, 0, 0, 0, 0, 0, 0,
0, 812, 809, 0, 0, 808, 0, 646, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
686, 0, 1314, 0, 718, 0, 1182, 0, 0, 1181,
0, 1185, 0, 0, 1183, 1178, 1179, 2504, 2514, 2543,
243, 1205, 0, 1204, 1200, 1127, 0, 1128, 0, 0,
0, 0, 0, 2366, 2390, 285, 305, 0, 1313, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 328, 0, 0, 331, 330,
0, 0, 0, 0, 0, 335, 314, 0, 315, 0,
0, 334, 0, 0, 612, 613, 0, 0, 0, 0,
1314, 0, 276, 0, 0, 0, 0, 0, 0, 0,
1222, 0, 741, 0, 0, 0, 2504, 1201, 0, 0,
0, 0, 0, 1389, 0, 0, 160, 0, 155, 159,
0, 0, 0, 2504, 1202, 0, 0, 0, 0, 595,
596, 609, 0, 600, 601, 598, 602, 603, 0, 0,
0, 0, 0, 0, 0, 594, 0, 0, 708, 707,
711, 0, 0, 0, 1398, 0, 1196, 0, 0, 1397,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1259, 1258, 0, 0, 0, 0, 0, 0, 855, 0,
0, 0, 0, 0, 0, 0, 0, 162, 728, 0,
727, 0, 156, 161, 0, 0, 0, 0, 0, 0,
0, 217, 1448, 1454, 1693, 1693, 1693, 2030, 0, 0,
0, 0, 1692, 2217, 2220, 1516, 2245, 1515, 0, 0,
0, 0, 970, 0, 0, 0, 0, 0, 0, 0,
0, 0, 962, 963, 964, 965, 0, 0, 0, 0,
0, 403, 0, 0, 0, 2276, 0, 843, 815, 0,
0, 0, 829, 0, 832, 835, 0, 1467, 475, 0,
0, 638, 686, 0, 0, 459, 169, 0, 0, 0,
0, 743, 0, 0, 0, 1384, 131, 178, 180, 457,
0, 179, 181, 183, 184, 185, 182, 186, 0, 705,
709, 0, 0, 0, 0, 634, 0, 0, 0, 0,
0, 756, 760, 759, 763, 761, 0, 757, 0, 0,
1819, 0, 0, 154, 0, 0, 585, 589, 0, 0,
0, 0, 459, 561, 357, 2390, 0, 518, 0, 2390,
0, 1097, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1636, 346, 1167, 0, 1489, 0, 0, 0, 346,
1893, 1892, 1845, 1841, 0, 0, 0, 0, 928, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1861, 346,
1131, 168, 2272, 0, 896, 0, 0, 0, 0, 346,
1224, 884, 346, 164, 346, 346, 637, 0, 346, 166,
0, 0, 0, 629, 346, 922, 346, 2240, 0, 346,
1579, 2390, 518, 1552, 1563, 1015, 1024, 1023, 1021, 1020,
1016, 0, 1035, 0, 517, 0, 0, 0, 0, 0,
1051, 1052, 0, 0, 1048, 1053, 0, 1049, 1050, 1055,
1045, 1044, 1056, 1057, 0, 0, 1075, 722, 0, 0,
0, 0, 1618, 0, 1616, 0, 1797, 1620, 1609, 1571,
0, 1570, 0, 578, 0, 0, 1256, 0, 0, 1032,
0, 0, 346, 1440, 0, 991, 997, 0, 0, 0,
0, 0, 0, 0, 1000, 1001, 0, 1002, 993, 1003,
994, 1004, 0, 995, 0, 0, 0, 0, 2224, 2174,
0, 2175, 0, 0, 2210, 2206, 0, 0, 0, 0,
0, 2179, 2182, 2183, 2184, 2181, 2185, 2180, 0, 0,
2186, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2607, 0, 0, 0, 0, 1985, 0, 0, 2134, 0,
2163, 2196, 0, 0, 0, 0, 0, 0, 2163, 2202,
0, 0, 0, 0, 2087, 0, 2084, 0, 0, 0,
0, 2223, 0, 0, 2257, 1922, 1936, 1937, 1938, 1942,
2231, 0, 2225, 0, 0, 1923, 1950, 0, 2203, 1977,
0, 1982, 1965, 0, 1958, 0, 1963, 1967, 1946, 0,
1943, 0, 2226, 2162, 0, 2160, 0, 1933, 1934, 1935,
1927, 1928, 1929, 1930, 1931, 1932, 1939, 2138, 2136, 2137,
0, 0, 0, 2108, 0, 0, 1962, 2382, 2418, 0,
1684, 1684, 1684, 1672, 1682, 2230, 0, 1814, 1693, 1814,
2236, 0, 0, 1918, 0, 1795, 930, 931, 929, 1519,
1521, 1534, 1548, 2164, 1542, 1671, 1528, 1530, 1546, 0,
1114, 1115, 0, 1119, 2607, 2501, 0, 0, 0, 0,
1714, 1748, 0, 1739, 0, 2250, 1715, 2249, 1716, 1719,
1720, 1710, 1749, 1622, 0, 1744, 1654, 1653, 0, 1817,
0, 0, 0, 1600, 1588, 0, 1800, 0, 1754, 1626,
0, 2223, 1752, 1360, 1260, 1323, 1148, 0, 1863, 1159,
0, 1143, 0, 1142, 1863, 0, 1160, 0, 1863, 1361,
1261, 1324, 926, 1362, 1262, 1325, 1363, 1263, 1486, 1474,
1473, 1472, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 793, 2390, 346, 1495,
1364, 0, 1264, 342, 1496, 1326, 1500, 811, 810, 0,
0, 1327, 0, 647, 0, 651, 0, 653, 654, 655,
0, 0, 0, 656, 0, 2317, 2373, 658, 661, 662,
663, 670, 675, 665, 0, 0, 677, 671, 0, 0,
0, 0, 0, 0, 683, 688, 0, 0, 0, 0,
0, 0, 0, 1176, 1177, 1365, 1267, 0, 1328, 1126,
0, 1268, 170, 0, 0, 268, 2390, 287, 0, 690,
793, 0, 1316, 284, 312, 0, 0, 327, 322, 323,
321, 2390, 346, 2390, 346, 0, 0, 0, 0, 0,
324, 319, 320, 316, 0, 0, 329, 2292, 2358, 2515,
0, 694, 696, 0, 701, 332, 1288, 353, 352, 351,
0, 336, 0, 358, 361, 333, 310, 313, 311, 307,
281, 0, 0, 0, 0, 0, 0, 0, 0, 2243,
0, 0, 1217, 0, 1368, 1329, 0, 1351, 0, 0,
0, 0, 735, 0, 1371, 1274, 1332, 1390, 1392, 1382,
1275, 1391, 158, 1303, 147, 0, 0, 143, 0, 0,
0, 0, 137, 0, 1372, 1276, 1333, 0, 1373, 1277,
0, 0, 273, 588, 599, 604, 1282, 608, 605, 1341,
606, 1380, 1278, 1376, 1306, 1336, 1383, 1399, 1279, 1196,
1394, 1396, 0, 1314, 0, 262, 264, 0, 283, 0,
1280, 0, 1334, 1375, 1305, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1503, 0, 0, 0, 0, 0,
0, 346, 0, 0, 0, 1316, 2390, 346, 1374, 0,
1311, 0, 1349, 0, 391, 0, 1304, 0, 0, 275,
1284, 1343, 0, 0, 215, 214, 216, 0, 0, 0,
0, 2168, 2169, 0, 2166, 2025, 2219, 0, 979, 937,
978, 0, 2356, 0, 936, 938, 0, 0, 0, 939,
0, 943, 944, 0, 0, 0, 935, 933, 934, 402,
0, 427, 400, 401, 403, 0, 0, 842, 0, 0,
0, 0, 831, 0, 0, 0, 1493, 0, 134, 645,
0, 0, 0, 640, 685, 690, 0, 0, 0, 0,
458, 462, 466, 467, 468, 0, 0, 0, 0, 148,
135, 0, 873, 0, 518, 0, 745, 1388, 1387, 1195,
0, 180, 173, 0, 0, 706, 0, 1543, 0, 0,
357, 826, 824, 823, 825, 0, 0, 0, 847, 822,
0, 1818, 1820, 0, 0, 0, 0, 0, 0, 578,
461, 0, 0, 521, 0, 0, 565, 0, 0, 0,
0, 357, 0, 0, 0, 1137, 0, 1155, 1138, 0,
0, 0, 0, 1189, 1122, 1190, 1168, 1123, 0, 0,
617, 1641, 1642, 0, 1214, 0, 0, 1862, 1875, 895,
0, 1903, 1902, 1904, 1904, 0, 1846, 0, 1887, 1912,
1913, 1914, 1915, 1916, 1917, 0, 1911, 1855, 1208, 346,
0, 346, 0, 346, 1216, 1210, 1212, 1404, 0, 893,
0, 0, 346, 886, 888, 0, 890, 0, 1036, 520,
0, 0, 0, 0, 0, 0, 1047, 615, 1054, 0,
1068, 1063, 1065, 0, 1069, 721, 0, 0, 1619, 1612,
1614, 1613, 0, 0, 1610, 2171, 885, 0, 584, 1248,
1249, 0, 0, 346, 0, 1070, 0, 0, 998, 992,
0, 0, 996, 0, 0, 0, 999, 0, 0, 1689,
2172, 2173, 0, 0, 0, 2207, 0, 0, 2062, 0,
2038, 2040, 2052, 0, 2063, 2023, 2064, 2042, 2044, 0,
2154, 0, 0, 2053, 0, 1987, 1988, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2003, 2002, 2054, 2133, 0, 0,
2194, 2195, 2055, 0, 0, 2201, 0, 0, 0, 2060,
2065, 0, 0, 0, 0, 2071, 0, 2092, 0, 0,
0, 2013, 2164, 0, 0, 0, 0, 0, 0, 0,
0, 1983, 1966, 1960, 0, 1964, 1968, 0, 0, 0,
1954, 0, 0, 1952, 1978, 1948, 0, 0, 1979, 0,
0, 0, 2031, 0, 0, 1684, 1684, 1684, 1684, 1681,
0, 0, 0, 0, 2501, 2627, 0, 1778, 1753, 1755,
1765, 1778, 1783, 1778, 2033, 1812, 2034, 2237, 0, 1724,
0, 1724, 191, 0, 224, 211, 1518, 0, 1696, 0,
2155, 1119, 0, 1698, 1718, 1717, 0, 1708, 1746, 1706,
1623, 1607, 0, 1605, 1592, 1594, 1593, 0, 0, 1595,
2223, 0, 1605, 1587, 1631, 0, 0, 1817, 0, 1630,
0, 1863, 1140, 1141, 0, 1164, 0, 1080, 1081, 0,
1079, 0, 0, 0, 506, 1099, 0, 0, 0, 793,
0, 0, 510, 0, 1498, 0, 1381, 1302, 649, 650,
0, 664, 0, 673, 672, 0, 0, 0, 0, 0,
0, 0, 657, 679, 621, 680, 682, 0, 0, 681,
684, 687, 1314, 0, 719, 1290, 0, 1347, 1170, 1317,
0, 1129, 0, 0, 0, 0, 0, 0, 475, 306,
0, 0, 0, 0, 366, 0, 289, 298, 364, 304,
0, 1322, 338, 0, 309, 0, 302, 325, 317, 326,
318, 337, 339, 0, 698, 699, 697, 693, 0, 700,
702, 0, 355, 0, 0, 0, 1367, 0, 1314, 0,
277, 0, 1286, 0, 1345, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1350, 0, 0, 0,
0, 740, 0, 737, 1318, 0, 0, 140, 139, 0,
146, 0, 1319, 0, 0, 0, 0, 1400, 0, 0,
0, 0, 0, 0, 373, 0, 282, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 392, 348, 0, 850, 0, 0,
0, 394, 0, 0, 0, 0, 0, 1366, 1269, 2028,
2029, 2026, 1693, 2218, 0, 0, 0, 950, 0, 0,
0, 0, 0, 0, 405, 406, 134, 404, 0, 0,
841, 2447, 2141, 2142, 839, 845, 836, 838, 840, 837,
0, 844, 793, 0, 0, 828, 833, 834, 0, 0,
0, 0, 0, 490, 0, 0, 0, 481, 0, 0,
1196, 474, 477, 478, 0, 0, 641, 644, 642, 643,
678, 0, 461, 497, 547, 0, 150, 0, 0, 151,
149, 0, 0, 357, 742, 0, 739, 0, 176, 457,
0, 710, 0, 0, 0, 1196, 633, 762, 765, 758,
0, 846, 848, 820, 0, 690, 0, 0, 590, 0,
518, 1580, 573, 0, 549, 461, 547, 559, 558, 560,
0, 567, 356, 0, 0, 578, 567, 0, 0, 1100,
1136, 0, 0, 0, 1186, 1191, 1187, 0, 0, 1151,
0, 1188, 1169, 1420, 1421, 1418, 1419, 0, 0, 0,
1633, 0, 1881, 0, 1899, 1897, 1842, 1847, 1920, 897,
0, 880, 0, 882, 346, 729, 0, 630, 346, 0,
0, 0, 0, 0, 0, 1046, 0, 1066, 0, 0,
1029, 1072, 0, 0, 1617, 1615, 576, 0, 1075, 0,
1030, 1074, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2176, 0, 2209, 2205, 0, 2035, 2177, 0, 2189,
2188, 2134, 0, 0, 1986, 1998, 1999, 2000, 2190, 0,
2008, 0, 0, 1995, 1996, 1997, 1989, 1990, 1991, 1992,
1993, 1994, 2001, 2199, 2198, 2192, 2193, 0, 2057, 2058,
2059, 2200, 2066, 0, 2307, 2093, 2070, 2086, 2085, 0,
0, 0, 2073, 0, 0, 2082, 0, 2135, 2258, 1924,
0, 0, 1951, 2204, 1969, 0, 0, 0, 1947, 2154,
0, 0, 0, 0, 0, 1956, 0, 0, 0, 2111,
2106, 2107, 2131, 0, 0, 0, 0, 0, 0, 1675,
1674, 1680, 1778, 1783, 1778, 0, 0, 1656, 0, 1765,
0, 1777, 1763, 1776, 0, 0, 1789, 1787, 0, 1789,
0, 1789, 0, 1757, 0, 1779, 1759, 1776, 1761, 0,
1804, 2238, 1813, 0, 1737, 2025, 1737, 0, 1669, 0,
1697, 1117, 1118, 1707, 2336, 1815, 0, 1606, 0, 0,
0, 1597, 1603, 1585, 0, 0, 1627, 1605, 1628, 1161,
0, 0, 1153, 1086, 1087, 1090, 1088, 1085, 1089, 0,
0, 0, 793, 0, 0, 528, 0, 1111, 1111, 0,
0, 512, 570, 523, 796, 0, 0, 0, 794, 346,
1265, 0, 674, 0, 0, 669, 667, 666, 668, 0,
622, 1379, 1266, 0, 0, 0, 0, 1171, 0, 0,
1289, 0, 286, 0, 471, 0, 0, 299, 0, 295,
0, 1315, 0, 0, 0, 0, 294, 368, 0, 365,
0, 346, 346, 340, 695, 354, 359, 360, 363, 0,
0, 0, 0, 0, 1321, 0, 0, 0, 0, 0,
0, 0, 874, 857, 0, 0, 875, 876, 0, 0,
0, 1219, 1220, 1218, 1352, 1353, 1358, 1355, 1354, 1357,
1359, 1356, 0, 1272, 0, 0, 733, 144, 141, 142,
145, 1300, 1283, 1342, 1395, 0, 0, 0, 1281, 0,
1335, 0, 1296, 1292, 0, 0, 0, 0, 0, 1378,
1310, 1340, 1377, 1308, 1338, 1307, 1337, 1309, 1339, 0,
1301, 0, 1822, 854, 0, 0, 0, 346, 346, 853,
731, 1285, 1344, 0, 0, 0, 940, 0, 0, 942,
945, 0, 947, 410, 430, 751, 813, 0, 0, 830,
792, 0, 479, 0, 485, 488, 0, 0, 492, 493,
491, 480, 1196, 518, 569, 782, 783, 0, 0, 803,
0, 639, 0, 459, 0, 494, 0, 0, 463, 153,
152, 0, 0, 0, 746, 750, 748, 747, 749, 744,
0, 735, 180, 2390, 0, 0, 0, 0, 571, 1393,
0, 775, 821, 0, 1821, 725, 0, 357, 586, 0,
0, 0, 459, 578, 0, 464, 469, 470, 475, 0,
561, 548, 0, 549, 0, 0, 575, 1465, 0, 579,
581, 0, 0, 0, 1139, 1156, 1157, 0, 0, 1120,
0, 0, 0, 0, 624, 346, 1843, 346, 346, 1245,
0, 891, 1060, 1061, 1062, 1059, 1058, 616, 0, 1064,
723, 0, 577, 346, 0, 1006, 984, 1005, 983, 985,
0, 987, 988, 982, 980, 981, 2208, 2051, 2061, 2187,
2133, 2164, 0, 0, 2009, 0, 0, 2056, 2617, 0,
0, 0, 0, 2090, 2091, 2072, 0, 2437, 2077, 0,
0, 0, 1975, 1973, 1970, 0, 1971, 1955, 0, 0,
1953, 1949, 0, 1980, 2097, 0, 2113, 2110, 2130, 2164,
1679, 1678, 1677, 1676, 1764, 1760, 1762, 0, 2622, 0,
1767, 1774, 0, 1756, 0, 1788, 1784, 0, 1785, 0,
0, 1786, 0, 0, 1758, 0, 1774, 0, 1811, 0,
0, 2102, 2255, 2102, 225, 0, 0, 1604, 1589, 0,
1590, 1596, 0, 0, 0, 0, 1632, 1625, 1154, 1162,
0, 0, 0, 508, 0, 523, 0, 0, 0, 1113,
1113, 0, 523, 0, 1196, 798, 797, 800, 795, 799,
1499, 0, 659, 660, 676, 1291, 0, 1348, 1298, 0,
1621, 288, 0, 691, 293, 0, 0, 290, 367, 369,
291, 292, 296, 348, 308, 301, 0, 0, 0, 1287,
0, 1346, 1294, 1369, 1270, 1330, 0, 0, 863, 0,
0, 0, 0, 1370, 1271, 1331, 0, 0, 0, 0,
1621, 0, 0, 0, 0, 0, 0, 0, 0, 1508,
0, 1320, 347, 852, 851, 348, 393, 1312, 2027, 0,
941, 948, 949, 946, 0, 399, 407, 431, 134, 0,
0, 1236, 1236, 0, 793, 0, 0, 476, 489, 0,
569, 527, 0, 482, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 738, 737,
175, 0, 459, 0, 690, 0, 769, 770, 764, 766,
0, 777, 781, 849, 0, 0, 578, 461, 0, 0,
1578, 460, 0, 0, 472, 0, 565, 549, 561, 0,
562, 0, 566, 0, 1458, 0, 0, 0, 0, 1192,
0, 1198, 0, 1150, 1193, 0, 1814, 0, 0, 0,
0, 628, 1237, 881, 883, 730, 1067, 0, 1071, 346,
986, 2135, 2004, 0, 0, 0, 0, 2067, 0, 2068,
2095, 2094, 2074, 2078, 0, 2075, 2076, 1972, 1976, 1974,
1957, 2099, 0, 1693, 2132, 1807, 0, 1810, 0, 0,
1766, 0, 0, 1768, 0, 0, 1770, 1772, 0, 0,
0, 0, 0, 0, 2241, 2335, 2591, 2498, 0, 1723,
1725, 1728, 1730, 1729, 1731, 1727, 1736, 0, 1658, 1657,
2156, 1816, 0, 0, 0, 1101, 0, 1629, 1068, 0,
346, 1111, 1196, 529, 2447, 530, 1110, 1112, 1116, 1116,
0, 1196, 0, 569, 652, 0, 0, 270, 689, 0,
0, 300, 350, 362, 0, 1621, 0, 0, 861, 870,
870, 858, 0, 0, 877, 1273, 734, 0, 0, 265,
1297, 1293, 0, 0, 0, 1510, 1511, 0, 0, 0,
0, 0, 346, 951, 0, 433, 440, 411, 416, 1502,
0, 1502, 0, 413, 417, 1502, 412, 1502, 409, 410,
0, 1236, 0, 1233, 1232, 791, 0, 516, 592, 483,
0, 538, 0, 0, 804, 0, 0, 461, 547, 0,
505, 498, 499, 500, 501, 502, 503, 504, 496, 495,
0, 690, 867, 357, 1465, 732, 0, 0, 703, 0,
767, 772, 771, 1502, 776, 0, 0, 0, 690, 0,
574, 549, 461, 547, 465, 475, 551, 0, 552, 567,
561, 565, 563, 564, 0, 0, 0, 578, 1512, 1100,
0, 1197, 0, 0, 0, 0, 0, 0, 1240, 623,
0, 0, 627, 618, 690, 1031, 2005, 0, 2006, 0,
0, 0, 2080, 2079, 0, 2117, 1812, 0, 0, 1806,
0, 0, 1836, 0, 0, 0, 1775, 1791, 0, 1771,
1769, 0, 1780, 0, 1782, 0, 0, 0, 1732, 0,
2101, 2103, 0, 0, 1602, 1814, 0, 1599, 0, 1082,
0, 1083, 1113, 569, 0, 1119, 1119, 518, 569, 0,
793, 1299, 0, 692, 592, 0, 303, 0, 278, 1295,
0, 0, 872, 872, 0, 0, 0, 0, 380, 387,
386, 381, 379, 388, 0, 384, 378, 377, 382, 0,
375, 0, 0, 1504, 0, 1505, 1506, 1509, 395, 408,
0, 438, 0, 436, 435, 437, 0, 424, 0, 0,
0, 0, 0, 0, 398, 429, 1231, 1235, 1234, 0,
0, 484, 0, 486, 524, 525, 526, 0, 487, 534,
535, 0, 801, 0, 806, 0, 0, 0, 690, 546,
714, 0, 0, 0, 1459, 0, 0, 572, 0, 778,
779, 774, 0, 0, 726, 1465, 561, 0, 549, 473,
0, 446, 565, 567, 0, 1462, 0, 580, 0, 1107,
1121, 1199, 1194, 1424, 0, 0, 626, 625, 720, 2007,
2083, 2069, 2096, 2081, 2112, 0, 0, 0, 0, 1805,
1808, 0, 1839, 0, 0, 0, 0, 1825, 0, 1773,
0, 0, 1781, 0, 0, 0, 1726, 0, 0, 1591,
1601, 1102, 0, 0, 1116, 533, 0, 1104, 1103, 527,
793, 522, 509, 1621, 297, 349, 0, 0, 0, 868,
871, 859, 860, 879, 878, 736, 1621, 0, 0, 371,
0, 370, 0, 374, 0, 434, 443, 0, 441, 414,
419, 0, 423, 421, 420, 415, 418, 0, 515, 0,
0, 0, 0, 536, 0, 537, 568, 0, 805, 0,
0, 0, 716, 866, 0, 0, 459, 690, 768, 773,
0, 0, 1460, 565, 549, 561, 0, 0, 553, 1111,
1111, 567, 444, 1463, 1464, 0, 0, 357, 1423, 1422,
1671, 0, 0, 2578, 2336, 2550, 0, 2129, 2118, 2129,
2129, 2109, 0, 0, 1837, 1838, 1823, 0, 0, 1827,
1790, 1803, 1734, 0, 1733, 2104, 2105, 1814, 346, 1119,
0, 793, 531, 538, 511, 271, 1621, 862, 0, 266,
0, 385, 383, 376, 1507, 439, 0, 422, 781, 591,
543, 0, 542, 0, 540, 539, 802, 807, 0, 690,
856, 1465, 704, 780, 0, 567, 561, 565, 0, 550,
0, 1113, 1113, 448, 0, 0, 567, 1406, 1671, 1405,
1407, 1415, 1412, 1414, 1413, 1411, 1243, 1244, 0, 2122,
2121, 2120, 2124, 2123, 0, 2116, 2114, 2115, 1809, 0,
1826, 1829, 0, 0, 0, 1835, 1828, 1830, 0, 1801,
1735, 1598, 1084, 1105, 0, 513, 793, 279, 869, 0,
442, 0, 541, 545, 544, 690, 715, 1461, 786, 447,
565, 567, 1111, 554, 556, 555, 1107, 1108, 0, 1814,
0, 1416, 1410, 1656, 1643, 0, 0, 0, 0, 2126,
0, 2127, 0, 1832, 1833, 1834, 1831, 0, 0, 514,
0, 0, 717, 788, 0, 784, 787, 789, 790, 567,
445, 1113, 357, 1106, 0, 1091, 1408, 1671, 0, 0,
2119, 2125, 2128, 0, 0, 532, 372, 0, 752, 0,
449, 557, 567, 1109, 1409, 0, 0, 0, 1802, 0,
785, 1814, 0, 0, 1824, 786, 1092, 0, 0, 0,
1241, 1242, 753
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
-4654, -4654, -4654, 3676, -4654, -4654, -886, 10, 2902, -1923,
-4654, -4654, -4654, 1194, -4654, -4654, -4654, -4654, 3645, -4654,
1983, -2424, -4654, -4654, 131, 3587, -1294, 103, 3163, 1646,
-4654, -1141, -4654, -4654, -496, 101, -4654, 3584, 533, -4654,
-4654, -4654, -4654, -4654, -4654, -4654, -4654, -804, 2111, -4654,
2194, 1474, 5864, -2914, -4654, -4654, -1254, -3213, -4654, 786,
-4654, 813, -4164, -690, -4654, -4611, -4654, -865, -683, -4654,
-4654, 2104, -4654, -4654, -4654, 1278, 698, -352, -4654, -4654,
-4654, -4654, -4654, -4654, -4654, -531, -4654, -4654, -775, 154,
38, -2440, -3739, -4654, -4654, 657, -169, -1416, -4654, -3559,
-4654, 202, -2128, -4654, -4654, -4654, -136, -1388, 1589, -4654,
-715, -1151, 1898, -2554, -637, -4654, -13, -4654, -749, -545,
-542, -673, -3784, -4240, -4654, -4654, -4654, -774, -4250, -4493,
-3795, -4373, 1604, -4654, 155, -3129, -3195, 158, 635, -4654,
159, 161, -4654, 652, -466, -896, -1505, -4654, -629, -4654,
-4654, -4654, -2915, -4654, -4654, -4654, -4654, 51, -4654, -4654,
-4654, -4654, 699, -4654, -4654, -4654, -4654, -4654, -4654, -2681,
2076, 2079, -4654, -3174, -4654, -869, -4654, 846, -2959, 1508,
-4654, -4654, 1274, 3664, 682, -4654, -4654, -4654, -4654, -4654,
-4654, -4654, -1719, -4654, -4654, -4654, -4654, 204, -103, -4654,
-4654, -4654, -4654, -4654, -4654, 162, -4654, 2092, 1272, -4654,
-4654, -108, -4654, -4654, -4654, -4654, -4654, -4654, -727, -4475,
-881, -864, -4654, -2951, -4654, -4654, -4654, -78, -4654, -4654,
-4654, -4654, -4654, -4654, -920, -4654, 1336, -3147, -4654, -4654,
1342, -4654, -4654, -4654, -4654, -4654, -642, -16, 2838, -4654,
-245, -437, -4654, -4654, -4654, -15, -4654, -4654, -4654, -4654,
-4654, -4654, -4654, -4654, -1089, 10051, -806, -569, -4654, -4654,
-4654, -4654, -4654, -2143, -4654, -4654, -4654, -4654, -3648, -4654,
4577, 2064, 63, 167, -4654, -23, 83, 3431, -1134, -2638,
629, -199, -4654, -4654, -4654, -2556, -4654, -4654, -4654, -4654,
-3506, 169, -4654, 3423, -4654, -3793, -4521, -3553, -785, -4654,
-4046, -4392, -4419, -3478, -4654, -4654, -4654, -4654, -548, -125,
2810, -4654, -1395, 2456, -887, -4654, -2089, 685, 1690, 3662,
-2735, -144, 2809, -2507, -647, -3248, -4654, -4654, -2328, -331,
-4654, -4654, 1339, 439, -4654, -4654, -4654, -4654, -620, 2754,
-202, -4654, -4654, 3972, -4654, -4322, -4654, 3944, -4654, -4654,
-4654, -4654, 2668, 2684, -4654, 2664, -4654, -4654, -1400, 1455,
-4654, -4654, -4654, -4654, 894, -4654, -4654, -4654, -4654, -4654,
-4654, -4654, 1343, 880, -4654, -4654, -4654, -4654, -4654, -617,
-789, -4654, -4654, 178, -4654, -4654, -4654, -4654, 2305, -889,
-730, 3843, 179, -4653, -4654, -4654, -1143, -4654, 3235, -4654,
-4654, -4654, -4654, -4654, -4654, -4654, -4654, -4654, -2692, -4654,
-4654, -4391, -4654, -4654, -4654, -4654, -4654, 2552, -4654, -4654,
2549, 60, -4654, -34, -4654, -4654, -956, 2547, -4654, -1902,
-4654, -582, -4654, 2750, -4654, -4654, -4654, -4654, -1819, 180,
745, -4654, 14, -4654, -4654, 118, -4654, 518, -4654, -4654,
-3409, 15, -4654, -4654, -4654, -4654, -4331, -4654, 21, -512,
1047, -2791, -4654, 183, 89, -4654, -4654, 12, 109, -42,
-37, -33, 3, 115, 3313, -4654, 3363, -4654, 30, 1806,
-4654, -4654, -791, -162, -4654, 1799, -644, 2528, 3297, 3301,
-4654, 1788, 2557, -1960, -1955, -4654, 1096, -485, -319, -4654,
-4654, -4654, -4654, 555, -640, 2541, -4654, 3303, -4654, -4654,
-4654, -1911, -2820, -3422, 1118, -3432, -3365, 593, 575, -1435,
-91, -43, -757, 3329, -4654, -4654, 1128, -283, -4654, -4654,
-281, -2784, 1081, -4654, -4306, -2312, 1138, -741, -574, -4654,
-660, -4654, -447, 2083, 2873, -1041, -4654, -4654, -1003, 13480,
-4654, -4654, -4654, 14002, 14231, -4654, -4654, 14469, 15888, -4654,
-862, 15976, 13281, -1016, -1871, 393, 12797, -1658, -489, 48,
-4654, -3479, -1835, -4654, -4654, -4654, -30, 1197, 975, -4654,
-4366, -4654, -4654, 184, -4654, -448, -4654, -445, -4654, -4654,
-4654, -2717, -4179, -2802, 2669, -4654, -4654, -4654, -154, -4654,
16836, -2730, -4654, -376, -1342, -1495, -3417, -1873, -4654, -4654,
-4654, -4654, -4654, -4654, -4654, -1603, -3286, -614, 1906, -4654,
-4654, 1997, -4654, -4654, -4654, -885, 2282, -767, -2632, 1916,
-4654, -766, 2676, -782, 10363, -622, 8862, -524, -2265, -1246,
-1619, -4654, 1464, -4654, 4779, 5621, -18, -133, 4218, -201,
-6, 12653, -616, -931, 3795, 11083, 9468, -3131
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
-1, 52, 53, 54, 55, 56, 1521, 2496, 2348, 3279,
3280, 57, 58, 1517, 59, 60, 61, 62, 1433, 63,
1015, 1768, 2511, 64, 2181, 800, 801, 802, 2085, 2086,
2432, 2087, 2075, 1318, 1910, 1454, 774, 775, 1415, 1455,
66, 67, 1312, 2066, 68, 69, 70, 1485, 1573, 1486,
1487, 1427, 1815, 4302, 5026, 3071, 2311, 3328, 3072, 3073,
3697, 3698, 3776, 5050, 5051, 5043, 5049, 5044, 5045, 71,
1589, 1590, 72, 73, 3244, 3240, 3826, 4645, 4646, 4878,
611, 2473, 4648, 4649, 4864, 4865, 5064, 5207, 5208, 2512,
1760, 3322, 3914, 3270, 4394, 3271, 4395, 3272, 4396, 3256,
3861, 3862, 4337, 3863, 3273, 4355, 4908, 3274, 2200, 5081,
2553, 1932, 1930, 4564, 4891, 4164, 4165, 5291, 5088, 5089,
5090, 5314, 4357, 4400, 4401, 4937, 5247, 5248, 3326, 3921,
4406, 4663, 2956, 75, 709, 1794, 3428, 710, 2556, 646,
711, 2513, 80, 2546, 5083, 2547, 1547, 2362, 5046, 3408,
81, 1040, 3663, 4731, 4962, 4963, 82, 225, 83, 1776,
84, 85, 2491, 3263, 86, 2217, 2973, 87, 88, 3004,
3005, 3006, 89, 3688, 4582, 1488, 3060, 3061, 3062, 3063,
3719, 90, 1771, 2520, 2521, 91, 92, 93, 94, 2669,
2670, 95, 2419, 96, 97, 98, 99, 3753, 4266, 4371,
3102, 3286, 3886, 4369, 100, 2514, 1784, 2536, 2537, 4381,
4688, 4689, 4690, 4923, 5238, 4692, 4925, 5111, 4927, 4347,
5424, 5425, 4654, 3642, 4178, 102, 4348, 4349, 5095, 103,
2215, 104, 105, 106, 1744, 2483, 2484, 3835, 1737, 2476,
2477, 3900, 3901, 107, 3184, 108, 4242, 4243, 647, 5102,
5032, 5191, 109, 110, 4246, 4247, 111, 112, 113, 114,
115, 701, 702, 703, 1132, 1133, 2928, 1080, 116, 2095,
117, 978, 979, 3219, 118, 1205, 2715, 2716, 4446, 119,
734, 1151, 1152, 2515, 121, 743, 2689, 745, 1947, 3410,
3411, 3980, 122, 123, 2666, 2692, 124, 1420, 2191, 2192,
4159, 2516, 648, 1800, 2560, 2951, 4804, 4805, 5257, 5398,
4559, 4818, 2873, 3593, 126, 649, 1459, 2266, 1100, 1101,
2563, 3336, 2160, 2161, 2162, 3938, 2163, 3338, 2164, 1394,
2165, 1050, 1051, 3344, 3345, 3346, 3934, 3941, 2505, 4721,
4722, 127, 1457, 2264, 128, 129, 130, 1500, 891, 1110,
1111, 131, 661, 662, 132, 4883, 133, 1054, 134, 4729,
135, 136, 765, 766, 1189, 1190, 137, 138, 2280, 3700,
139, 140, 141, 3096, 3097, 4258, 142, 143, 1763, 1764,
144, 145, 3149, 3150, 146, 147, 148, 5339, 5400, 5401,
5402, 3947, 5260, 5341, 1182, 150, 151, 152, 189, 931,
932, 933, 2517, 4714, 154, 155, 1416, 1417, 1418, 1419,
2186, 156, 157, 158, 159, 160, 161, 162, 1748, 163,
164, 4857, 165, 166, 1706, 167, 1345, 1346, 168, 1360,
1361, 169, 2862, 605, 818, 1349, 1355, 1362, 1363, 1364,
170, 713, 1145, 1146, 1147, 1912, 171, 1185, 981, 714,
1140, 173, 715, 2144, 2903, 3607, 3608, 3609, 3612, 4544,
4137, 716, 2899, 176, 1954, 2675, 2678, 2895, 717, 2908,
2909, 2910, 3615, 718, 736, 1043, 2570, 719, 1279, 181,
182, 183, 827, 821, 822, 185, 2059, 2843, 752, 1368,
787, 788, 836, 2442, 2110, 2111, 2135, 2136, 1377, 1378,
2123, 2127, 2128, 2886, 2879, 2116, 4124, 4789, 4790, 4791,
4792, 4793, 4794, 4531, 2131, 2132, 1380, 1381, 1382, 2140,
186, 2847, 3568, 3569, 3570, 4101, 4102, 4116, 4112, 4516,
4776, 3571, 1180, 1388, 4524, 5369, 3572, 4765, 4766, 4979,
4120, 3579, 3603, 3310, 3311, 3312, 3573, 5156, 5157, 5366,
5367, 4981, 4982, 2166, 1845, 1082, 1280, 1083, 1857, 1281,
1829, 1085, 1282, 1283, 1284, 1088, 1285, 1286, 1287, 1091,
1821, 1288, 1289, 1839, 1854, 1855, 1350, 4983, 1291, 1292,
1293, 3575, 1294, 4055, 4480, 4469, 2775, 2776, 2082, 4051,
3513, 2054, 2833, 4798, 5000, 5001, 3552, 4080, 4496, 4763,
5148, 5267, 5268, 5355, 1295, 1296, 1297, 2830, 2050, 894,
1298, 3837, 2052, 2769, 1614, 1615, 1957, 1977, 2722, 2738,
2739, 2749, 3472, 2757, 2762, 3500, 3501, 2770, 2799, 1299,
2724, 2725, 3456, 1979, 1300, 937, 1618, 938, 1974, 2794,
1308, 1301, 1302, 1948, 811, 4772, 1136, 850, 3088, 1698,
940, 749, 1303, 1304, 1305, 1306, 1493, 865, 1103, 1104,
602, 594, 867, 3064, 603, 596, 597, 1703
};
/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
positive, shift that token. If negative, reduce the rule whose
number is the opposite. If YYTABLE_NINF, syntax error. */
static const yytype_int16 yytable[] =
{
593, 810, 892, 184, 738, 1699, 1909, 1009, 1313, 826,
738, 1546, 179, 779, 174, 175, 1865, 746, 1929, 748,
837, 177, 1309, 754, 184, 1171, 1172, 1173, 768, 776,
746, 1177, 783, 2199, 1835, 776, 776, 1594, 812, 1551,
815, 2375, 1400, 1606, 1046, 1339, 845, 1612, 1383, 2275,
893, 645, 3433, 1704, 591, 3269, 1340, 3347, 3147, 3090,
1825, 1826, 1841, 2267, 1773, 3581, 1967, 1327, 2541, 700,
1834, 2288, 2921, 2923, 858, 813, 901, 2276, 3601, 3689,
1135, 712, 898, 4166, 3292, 903, 2445, 3896, 3669, 1758,
922, 3870, 1148, 1460, 994, 3181, 3942, 600, 3714, 3942,
3716, 65, 2721, 1545, 653, 1786, 744, 3847, 1746, 180,
3414, 1572, 1751, 4130, 2436, 3839, 3614, 1755, 3926, 780,
4067, 1599, 4560, 3839, 3912, 1142, 4161, 1765, 1126, 4204,
180, 4410, 4403, 4354, 1114, 831, 4413, 1118, 773, 2681,
4115, 1789, 3591, 4769, 4098, 807, 1056, 839, 2784, 3521,
4706, 840, 2849, 2172, 74, 76, 2260, 4167, 77, 78,
825, 79, 101, 4708, 1044, 824, 2888, 120, 4819, 125,
2396, 2620, 799, 2891, 1339, 915, 4402, 1046, 149, 153,
172, 2561, 3620, 178, 593, 848, 848, 851, 3909, 848,
4670, 4895, 1376, 860, 2859, 812, 1379, 4950, 895, 1822,
1823, 860, 2866, 4143, 860, -1904, 4113, 812, 4118, 848,
1833, 1456, 812, 4939, 4035, 2260, 848, -2375, 812, 4781,
-1904, 4783, 3478, -2413, -1896, 609, 1825, 1826, 2305, -1863,
-1876, 1812, 2260, 3282, -2436, -2468, 4859, 4860, 4707, 1847,
720, 1785, 5048, 1841, 1812, 1492, 1834, 1341, -1901, 4827,
1812, 1456, 1421, 2093, -2276, 2412, 1456, 2792, 2502, -2277,
-2304, 5104, -2276, -2276, -2633, 2434, 2435, -2277, -2277, 720,
2183, 1734, -2633, -2633, 3, 4, -2378, 659, -2248, 3619,
2538, 5031, -1891, 659, 3259, 720, 1153, 4889, 1856, 4849,
816, 659, 2792, 838, 1952, -2247, 1489, 1320, 659, 2967,
856, 720, 1157, 1429, 2671, 2532, 999, 2022, 3224, 1812,
3225, 1848, 3204, -2139, 3229, 2022, 3231, 3232, 3454, 720,
-2139, 4568, 2400, 2401, 3670, 3236, 3237, 3238, 3242, 2550,
4884, 3864, 2207, 2072, 1489, 659, 2028, 3917, 2754, 720,
2691, 3381, 2652, 3383, 2028, 4448, 4449, 2999, 4451, 4452,
4453, 4454, 4455, 3418, 2551, 659, 1822, 1823, 3420, 2407,
4727, 1422, 4390, 2117, 4239, 3077, 2550, -1719, 2030, 1097,
4390, 1781, 1849, 5258, 5007, 1850, 2030, 5077, 5350, 4558,
726, 1168, 1603, 1833, 1317, 3986, 726, 4391, 607, 2533,
3260, 2551, 1782, 4996, 4285, 4391, 2893, 726, 726, 5015,
5016, 4826, 2118, 2509, 727, 927, 1342, 2834, 1343, 2107,
727, 2114, 1430, 4244, 3478, 2499, 1372, 2342, 5383, 3422,
604, 727, 727, 726, 3000, 3122, -134, 3932, 2672, 2667,
2080, -134, 1489, 659, 3100, -2434, 3578, 720, 1606, 726,
3605, 187, 2073, 1351, 2954, 726, 2314, 727, 5123, 4921,
5020, 720, 2539, 4335, 1704, 2278, 2296, 3001, 4941, 659,
911, 2119, 5242, 727, 1812, 2279, 830, 4940, 1699, 727,
4240, 2827, 2081, 893, 2208, 3606, 4993, 4336, 2828, 1851,
3616, 2510, 1812, 1116, 188, 187, 1742, 2278, 1374, 912,
2297, 2359, 1003, 4922, 2094, 3002, 3423, 1129, 1013, 3122,
2955, 2894, 928, 1813, 5028, 1201, 3101, 2115, 1743, 2120,
1988, 1027, 2016, 2668, 1046, 1423, 1813, 5351, 1911, 4245,
-2158, 3431, 1813, 1863, 5078, 893, 2278, -2158, 188, 1375,
2500, 1046, 3987, 2278, 1812, 5008, 1070, 2205, 3844, 2552,
2062, 2278, 2835, 1812, 2304, 929, 2846, 2278, 5259, 1783,
1812, 2394, 1169, 1424, 1604, 2278, -432, 3770, 2074, 5076,
3243, 4286, 3078, 2209, 3894, 5384, 2121, 1913, 3419, 4919,
3261, 3474, 4392, 3421, 4241, 1704, 4682, 4227, 857, 5038,
5236, 1813, 5220, 3670, 1000, 1953, 1425, 1852, 1046, 5302,
2653, 2534, 4728, 3839, 3003, 2343, 2968, 1499, 2793, 941,
817, 2022, 930, 2487, 2535, 812, 1853, 593, 2413, 2378,
848, 3478, 851, 184, 848, 2503, 2540, 4261, 2723, 3865,
5174, 895, 985, 2673, 982, 983, 1016, 4569, 848, 5251,
2028, 984, 2244, 3541, 1893, 848, 2414, 1431, 5241, 1836,
5175, 3205, 2389, 2674, 1953, 5180, 1820, 1098, 1863, 4485,
610, 1426, 1814, -2139, 1836, 2370, 3262, 977, 2373, 593,
1837, 4115, 2030, 5204, 851, 1842, 826, -2434, 5387, 860,
4363, 1860, 1344, 895, 1838, 1837, 860, 1384, 1149, 860,
1743, 3493, 4513, 2380, -1863, 3635, 4517, 5041, 4171, 1840,
5122, 5116, 2322, -1896, -2375, 848, 2076, 1432, 1824, 1828,
-2413, 2088, 2088, 1150, 3366, 1155, 1046, 1159, 1971, 1179,
184, -2436, -2468, 1163, 1046, 1046, 2433, -1901, 2848, 180,
1612, 1612, 1612, -2276, 4459, 732, 733, 4504, -2277, 4506,
4409, 4385, 2102, -2633, 5334, -2434, 1813, -2304, 4547, 2141,
2408, 732, 733, 2142, 1141, 935, 812, -2248, -2434, 936,
5325, -1891, 2018, -2378, 1813, 5289, 1721, 1490, 1491, 812,
2060, 1193, -1863, 1902, -2247, 5012, 2049, 2852, 1144, 1605,
1179, 2046, 2047, 2048, 2049, 732, 733, 2641, 3933, 935,
654, 1307, 1307, 936, 812, 776, 1154, 1156, 1158, 776,
839, 1160, 1161, 1162, 840, 1490, 1491, 1743, 2289, 1709,
1387, 1167, 4740, 812, 893, 2624, 1813, 812, 3008, 2246,
2263, 2829, 2485, 1307, 1436, 1813, 180, 825, 2478, 2254,
1176, 3767, 1813, 2441, 1166, 812, 2070, 3824, 3825, 1716,
5042, 3622, 184, 3623, 5391, 1723, 1176, 812, 1724, 4704,
3909, 179, 3009, 174, 175, 5272, 2651, 3085, 2206, 1743,
177, 812, 5295, 2598, 4193, 4647, 3027, 2663, 1583, 1519,
-2158, 3616, 2395, 2263, 1584, 5299, 5243, 3888, 3771, 812,
3490, 3491, 3492, 3493, 848, 848, 4231, 1347, 5245, 2100,
2263, 5221, 1520, 2330, 2100, 1871, 2130, -134, -134, 4151,
2328, 4326, 4623, 1490, 1491, 3665, 3691, 5429, 4364, 1404,
3114, 1578, 2015, 1895, 2360, 776, 776, 2363, 2364, 2925,
3877, 1873, 2057, 4542, 4325, 4960, 4624, 2888, 659, 2494,
3086, 1714, 1316, 3596, 1777, -1863, 1324, 2932, 1307, 1307,
65, 2981, 5230, 3045, 5310, 1352, 838, 593, 180, 5394,
5395, 2193, 2999, 1579, 4131, 3214, 5447, 2731, 860, 659,
785, 1414, 895, 5244, 860, 1898, 841, 860, 4931, 2194,
3586, 4352, 3818, 3819, 1863, 5377, 1778, 1585, 2260, 2580,
2581, 3979, 848, 5362, 1949, -2245, 659, 759, 4141, 1405,
3115, 659, 3584, 74, 76, 1959, 2870, 77, 78, 4365,
79, 101, 3046, 5412, 812, 5327, 120, 3617, 125, 4345,
1968, 848, 848, 4166, 5326, 3692, 4132, 149, 153, 172,
659, 3576, 178, 2149, 773, 1565, 834, 2195, 4259, 3000,
1175, 2329, 5109, 812, 812, 812, 604, 848, 4767, 593,
593, 1406, 706, 3116, 4424, 2196, 1511, 1831, 1832, 5451,
842, 2388, 2375, 1489, 659, 2940, 3587, 655, 720, 4745,
786, 2732, 15, 4972, 5110, 2044, 2045, 2046, 2047, 2048,
2049, 2193, 760, 3576, 4167, 3488, 3489, 3490, 3491, 3492,
3493, 2871, 3878, 4366, 4378, 1882, 5390, 4167, 4770, 1847,
3067, 2554, 5363, 3817, 5348, 4961, 20, 3738, 2454, 2718,
3117, 1805, 4773, 3475, 3476, 2290, 2790, 4777, 3495, 848,
4779, 848, 848, 1176, 2495, 656, 2201, 1580, 2291, 2926,
2292, 1329, 2927, -1863, 5097, 4153, 1835, 1883, 4543, 3,
4, 1586, -1863, 2733, 1824, -1863, 1399, 1407, -1863, 5311,
1779, 1704, 3068, 1307, 2202, 3525, 3526, 2195, 2900, 4346,
747, 657, 3666, 658, 5121, 1512, 4353, 1478, 5408, 5118,
3179, 1848, 184, 2462, 3165, 2196, 5128, 3836, 5096, 1587,
3166, 2660, 2661, 1931, 1931, 3836, 4625, 3337, 812, 2293,
746, 3942, 3218, 1612, 4695, 3943, 2197, 1704, 935, 1366,
706, 2182, 936, 2058, 2734, 3657, 660, 2735, 3118, 3003,
5038, 1964, 1588, 5117, 812, 2463, 3739, 1970, 4700, 1715,
15, 3693, 3694, 5331, 5332, 2064, 5312, 1743, 1581, 2982,
1307, 4553, 1849, 1914, 761, 1850, 1916, 757, 1918, 2440,
1920, 4367, 1922, 3069, 5364, 5409, 1926, 3658, 5440, 5365,
3695, 1780, 834, 5313, 20, 3757, 826, 659, 5084, 4167,
1307, 1915, 1699, 1917, 4583, 1919, 2016, 1921, 4709, 1923,
1924, 1925, 3939, 762, 763, 843, 1927, 4973, 180, 3944,
32, 2579, 4710, 3167, 4445, 4463, 1529, 4464, 1307, 1307,
1307, 2202, 1307, 2065, 2920, 2626, 2203, 5039, 1516, 1367,
5040, 1884, 1411, 4665, 1412, 4340, 2198, 4154, 4368, 1148,
40, 2736, 1307, 4155, 1904, 2575, 2197, 1905, 5041, 1513,
4156, 3849, 2812, 5010, 1530, 5410, 3119, 4900, 2255, 2901,
1556, 2599, 2650, 1478, 3120, 2098, 2655, 3121, 2618, 1851,
2659, 1976, 2633, 2662, 44, 1548, 2612, 4967, 5252, 2614,
812, 2108, 2109, 4157, 2113, 840, 840, 1514, 840, 4207,
5145, 1985, 1387, 1330, 4848, 764, 5431, 3852, 832, 893,
3740, 1557, 2427, 3180, 4546, 4158, 4989, 2892, 4901, 2464,
2682, 1558, 5085, 1549, 1307, 48, 4902, 3369, 1307, 1307,
1515, 2942, 2001, 3074, 2747, 40, 5119, 2117, 49, 812,
812, 2147, 1885, 1307, 2438, 2439, 3070, 2013, 3741, 2654,
2428, 3659, 2657, 2658, 4903, 2211, 4666, 1806, 3098, 2737,
2256, 50, 3854, 4465, 776, 2212, 2198, 3945, 32, 44,
3318, 1331, 833, 4208, -2267, 51, 2118, 3168, -157, 1501,
5030, 3742, 781, 2365, 1197, 5034, 5035, 1852, 3370, 4711,
4341, 4419, 4443, 1532, 1429, 3207, 5086, 2813, 40, 2251,
1028, 5042, 2814, 1863, 776, 5411, 759, -157, 2577, 4833,
48, 1807, 1533, 5171, 2943, 3169, 5333, 3151, 812, 2277,
2465, 4904, 3133, 49, 5027, 3839, 1863, 3025, 812, 1550,
592, 848, 44, 4905, 3946, 1029, 5146, 838, 838, 2815,
838, 3047, 834, 3174, 2239, 3013, 50, 1372, 3170, 4656,
1502, 3530, 3660, 3531, 3857, 3171, 3682, 895, 4767, 812,
2902, 4930, 1534, 776, 1490, 1491, 5147, 2755, 1030, 2800,
4918, 2801, 1559, 48, 3379, 2773, 3532, 707, 1836, 187,
776, 4944, 812, 2120, 2391, 812, 49, 4167, 1519, 4945,
5389, 760, 4344, 3172, 2802, 1851, 3858, 5177, 5178, 1837,
3048, 5399, 3372, 1430, 5188, 2284, 1560, 2285, 1808, 50,
1561, 1520, 3859, 1612, 3132, 1031, 2213, 2366, 3257, 1374,
2367, 812, 188, 708, 1035, 927, 3173, 4379, 3683, 606,
1046, 2645, 848, 848, 848, 848, 812, 3014, 751, 4001,
2121, 3107, 3108, 1562, 3289, 3111, 1863, 3155, 1535, 3193,
812, 624, 4384, 3768, 2214, 1584, 5430, 2717, 624, 2720,
1809, 1307, 1307, 1307, 4105, 2727, 2286, 3301, 3302, 3303,
3304, 2741, 2742, 2743, 40, 5189, 2816, 835, 1414, 3309,
3199, 2759, 2761, 1414, 3533, 3681, 2771, 2880, 2375, 3534,
4858, 2999, 40, 2022, 5450, 3836, 1536, 2803, 4229, 1537,
3774, 5249, 2804, 3208, 3209, 3210, 3860, 2805, 44, 1851,
2374, 626, 927, 4906, 846, 2937, 4907, 5461, 626, 4257,
-583, 2601, 928, 859, 4338, 3769, 44, 1519, 3724, 2610,
2573, 859, 3966, 4316, 859, 2613, 4106, 4319, 4320, 4832,
4322, 3725, 1539, 761, 1743, 758, 3775, 624, 2619, 48,
1520, 4946, 1414, 1810, 2030, 4427, 1414, 4428, 1585, 2446,
5103, 812, 49, 4886, 1036, 929, 2306, 48, 3000, 4107,
4230, 2646, 3214, 848, 848, 4671, 893, 893, 3812, 4174,
784, 4862, 762, 763, 4108, 50, 1541, 1787, 3576, -685,
4106, 3576, 4339, 3134, 4109, 2600, 848, 5100, 2429, 51,
1037, 3137, 4855, 2647, 3140, -457, 3288, 626, 1542, 928,
1788, 2430, 5127, 3772, 5114, 812, 2648, 51, 2187, 4304,
4110, 4672, 930, 4107, 4019, 4856, 4020, 3535, 1544, 2188,
4565, 848, 848, 848, 848, 2506, 4167, 3536, 4519, 2431,
4305, 4774, 5397, 1898, 812, 2806, 808, 2189, 4109, 2649,
5138, 812, 929, 3175, 2446, 2807, 35, 1038, 1330, 2543,
4175, 3576, 819, 1039, 3641, 593, 4739, 2365, 593, 2665,
637, 5373, 638, 851, 1390, 4959, 1326, 637, 1307, 638,
3112, 4015, 4016, 4017, 4018, 2345, 3176, 4023, 4024, 4025,
4026, 4027, 4028, 4029, 4030, 4031, 4032, 643, 4566, 2504,
893, 3511, 3331, 828, 1759, 4111, 4174, 3518, 4105, 930,
1863, 5249, 1391, 860, 860, 1401, 4167, 4176, 2307, 4177,
-457, 2950, 2296, 3694, 895, 895, 1331, 1372, 860, 4010,
5023, 860, 1373, 5309, 3978, 2022, 2306, 1890, 3003, 1197,
3766, 5453, 3942, 4071, 4072, 1392, 2308, 829, 848, 848,
5079, 4218, 4021, 1402, 2954, 848, 2297, 812, 4036, 4111,
1891, 1001, 4022, 1002, 2028, 4287, 637, 184, 638, 2309,
2676, 2310, 4808, 4669, 4810, 3979, 5069, -1100, 4572, 4573,
4106, 5070, 1931, 4650, 5232, 2598, 1403, 4175, 4288, 848,
4775, 860, 2190, 1759, 860, 860, 2030, 812, 812, 1374,
848, 2366, 4955, 2688, 2367, 844, 2304, 812, 4680, 2337,
3638, 1046, 4699, 4107, 812, 4167, 4651, 852, 4686, 746,
746, 184, 1553, 2693, 3177, 1144, 2354, 1307, 4108, 1307,
985, 5071, 982, 983, 1307, 1307, 4687, 854, 4109, 984,
1375, 1307, 1307, 1307, 4176, 2372, 4177, 1307, 895, 1307,
1307, 1307, 1307, 1307, 1307, 1836, 1307, 3178, 1307, 1307,
1554, 4812, 1307, 2635, 4110, 2636, 1046, 2637, 4821, 2638,
875, 2639, 1322, 180, 4660, 2640, 1837, 1307, 1307, 1307,
1307, 4172, 1574, 2714, 848, 1307, 2987, 3407, 2307, 1307,
1838, 3406, 1307, 1555, 2068, 1307, 1307, 1307, 1307, 1307,
1307, 1307, 1307, 1307, 5336, 1307, 5137, 3735, 2687, 4855,
2346, 812, 1307, 2315, 1307, 2349, 2308, 3580, 720, 3576,
1575, 812, 1836, 5322, 1576, 4855, 2278, 180, 3022, 5182,
3918, 3350, 4856, 3922, 893, 2975, 2287, 988, 4585, 2309,
1028, 2310, 3306, 1837, 4589, 3736, 735, 3307, 4856, 4111,
812, 935, 735, 1577, 1307, 936, 1522, 1840, 812, 5107,
812, 2983, 5337, 29, 2988, 2989, 1898, 1005, 3450, 1006,
1307, 874, 3621, 2100, 1591, 1029, 2304, 1595, 3737, 1307,
1307, 3582, 1961, 917, 2417, 1962, 3392, 2021, 2423, 846,
2022, 3451, 1975, 812, 51, 3021, 3452, 3671, 926, 859,
2906, 2798, 2911, -1656, 934, 5386, 859, 3298, 3890, 859,
3504, 987, 3506, 3507, 3897, -1656, 2904, 1347, 2861, 2028,
-1656, 3, 4, 3699, 3907, 2944, -2634, 2947, 2941, 990,
1395, 1404, 4640, 851, 4641, 4642, -1692, 5066, 4643, 5068,
993, -1692, 746, 5072, 746, 5073, 1023, 4386, 3594, 3539,
4217, 2030, 3626, 720, 4334, 1031, 40, 1824, 3007, 2173,
3356, 1307, 996, 3674, 1396, 4150, 2096, -1656, 1397, 2097,
1824, 5422, 2173, 593, 3113, 848, 848, 2889, 2890, 5452,
860, 5170, 895, 860, 860, 2088, 848, -1656, 848, 5294,
44, 5108, 848, 1010, 3848, 812, 4823, 1510, 1046, 3307,
1033, 1398, 1527, 935, 1824, -2248, 1399, 936, -1692, 2099,
-582, 1405, 2100, 180, 2104, 1032, 776, 2105, 3527, 4539,
1034, 2630, 2755, 2755, 2100, 1048, 2277, 2755, -1656, 3576,
4202, 48, 4194, 3576, 3032, 812, 1053, -1656, 1210, 3730,
-1655, 3478, 3044, 1105, 49, 3479, 3480, 3481, 3196, -1692,
2642, 812, -1655, 2643, 1096, 1179, 1179, -1655, 3989, 1179,
2568, -2634, 2569, 1406, 2755, 2755, -2634, 50, 2644, 4412,
226, 2643, 812, -1714, -1714, 1532, 608, 3089, 3089, 1106,
1612, 5338, 2485, 3630, 704, 40, 1612, 2679, 4232, 1112,
2680, 3845, 812, 812, 1533, 1824, 812, 2173, 851, 776,
5375, 3893, 782, -2634, -1655, 1123, 2864, 3954, 3955, 1898,
2912, 3019, 3092, 2100, 3020, 3093, 1046, 1130, 3247, 44,
40, 3248, 848, 720, -1655, 848, 1210, 3252, 3151, 3478,
3253, 1139, 3866, 3479, 3480, 3481, 3357, 3477, 3398, 2100,
3449, 2643, 3458, 2100, 1534, 2100, 812, 812, 1210, 3505,
2037, 3478, 1170, 5155, 44, -2634, -2634, -2634, 1181, 1407,
48, 3182, 1174, 3185, 3187, -1655, 3464, 846, 3465, 2100,
4912, 2100, -1656, 49, -1655, 1178, 3466, 3497, 859, 2100,
2100, 3528, 1186, 3510, 859, 5419, 2100, 859, 3515, 5269,
5270, 3516, 1307, 1307, 1307, 48, 50, 3717, 1307, 4209,
3718, 4216, 2306, 3722, 848, 5130, 3723, 4212, 49, 3324,
51, 3325, 848, 1408, 1184, 848, 876, 3482, 1532, 3554,
1179, 848, 2306, 877, 878, 879, 3746, 5356, 5357, 3747,
1535, 50, 3555, 1307, 3556, 848, 3648, 1533, 3930, 3483,
-2634, 3931, -1718, -1718, 5013, 51, 4169, 4170, 3557, 2277,
3558, 1409, 3089, 5018, 812, 35, 4863, 812, 832, 1801,
1802, 3291, 1188, 5371, 746, 1210, 3952, 3836, 3478, 2100,
-1693, 1187, 3479, 3480, 3481, -1693, 848, 1307, 1536, 4042,
4052, 1537, 4043, 4053, 1410, 4397, 1194, 1534, 4063, 4060,
4139, 2100, 2374, 4140, 3182, 5288, 3337, 4144, -1717, -1717,
4145, 3484, 4149, 1195, 848, 2927, 3323, 3294, 1196, -1655,
3436, 2397, 4173, 1198, 1411, 2643, 1412, 4387, 1199, 1200,
2643, 3319, 833, 4440, 1539, 4460, 1953, 3483, 2100, 3883,
1307, 2426, 4327, 4486, 4328, 3440, 2680, -2634, 3443, 1197,
1204, 3444, -1693, 4047, 2044, 2045, 2046, 2047, 2048, 2049,
4498, 1203, 4549, 2100, 2307, 2927, 5436, 848, 5437, 848,
3089, 848, 3089, 4555, 4561, 1413, 4556, 2643, 1541, 4562,
1206, 1325, 2643, 1535, 2307, 5435, 4701, 3834, 2598, 4702,
1328, 4747, 2308, -1693, 4748, 3834, 1356, 1332, -1644, 3484,
1542, 4951, 834, 1333, 2306, 4749, 2718, 1931, 2100, 1369,
4757, 1371, 2308, 2680, 1046, 2309, 1046, 2310, 1334, 4828,
1544, 3484, 4829, 4913, 4952, 893, 2643, 4953, 180, 3982,
4968, 1536, 1348, 2680, 1537, 2309, 4976, 2310, 4986, 4977,
4992, 1898, 3576, 3904, 4518, 2374, 4521, 5466, 812, 3576,
4994, 1354, 2304, 3904, 3576, 3114, 2306, 3576, 593, 5005,
1338, 1353, 5006, 1606, 860, 5059, 5099, 860, 5060, 2067,
860, 5129, 2304, 1359, 5006, 3275, 3483, 1539, 3576, 848,
1356, 826, 1357, 4217, 1370, 617, 1385, 1307, 3590, 3589,
5139, 3576, 1307, 2680, 1046, 5140, 5141, 5153, 3516, 2100,
5154, 3485, 3486, 3487, 2718, 3488, 3489, 3490, 3491, 3492,
3493, 3627, 3628, 3010, 1386, 1307, 1307, 1307, 1399, 5159,
1307, 1541, 1898, 5162, 1081, 826, 3904, 1389, 1307, 1307,
1307, 1307, 1393, 1458, 3867, 3115, 3869, 835, 3484, 1434,
-2278, 1307, 2306, 1542, 1307, 5181, 1307, 1463, 2643, 5187,
1081, 5193, 2680, 3975, 2680, 4581, 2307, 1307, 1307, 1461,
1464, 1307, 3074, 1544, 4228, 3087, 4699, 5194, 5197, 624,
2680, 5198, 1503, 895, 4742, 1307, 1499, 1307, 4210, 1307,
4121, 1504, 3995, 1505, 2308, 1516, 3098, 1528, 3116, 3485,
3486, 3487, -1094, 3488, 3489, 3490, 3491, 3492, 3493, 1307,
1518, 5199, 1531, 812, 5200, 3151, 1566, 2309, 2307, 2310,
3577, -2634, -2634, -2634, 3936, 3488, 3489, 3490, 3491, 3492,
3493, 5201, 5228, 1567, 5202, 5229, 812, 1582, 4190, 626,
826, 5276, 2013, 1307, 5277, 1593, 2308, 1592, 184, 3276,
3560, 3561, 3562, 5280, 2304, 3117, 1898, 985, 1307, 982,
983, 3765, 5281, 3576, 5282, 2100, 984, 2100, 1596, 2309,
5284, 2310, 3577, 2100, 3574, 5305, 3610, 1602, 5306, 3613,
3751, 2911, 1601, -2538, 5329, 3293, 2013, 5330, 2306, 882,
883, 884, 1707, 885, 886, 887, 888, 889, 890, 3760,
1705, 1713, 5358, 2798, 2307, 3904, 2304, 1708, 5370, 5396,
5433, 4999, 5006, 5434, 2306, 4310, 1710, 1726, 1717, 3548,
4323, 29, 1307, 3576, 3089, 5446, 3574, 5448, 5198, 1931,
5449, 1727, 2308, 2306, 1437, 3567, 1718, 1733, 3485, 3486,
3487, 1730, 3488, 3489, 3490, 3491, 3492, 3493, 5464, 5472,
1736, 5277, 5449, 3118, 180, 2309, 848, 2310, 848, 848,
848, 2777, 1739, 1741, 2780, 3371, 3373, 3374, 1438, 1747,
2755, 2755, 2755, 2755, -2538, 1750, 2755, 2755, 2755, 2755,
2755, 2755, 2755, 2755, 2755, 2755, 1752, 3567, 1743, 1761,
1762, 825, 2304, 1766, 1767, 4481, 3277, 3773, 637, -177,
638, 4313, 1769, 4045, 1770, 1772, 1774, 1790, 1775, 2306,
1797, 640, 1799, 1712, 40, 1804, 206, 4867, 1811, 1817,
1818, 1819, 642, 3806, -2538, 1759, 1824, 1440, 1820, 1827,
1828, 1830, 2755, 2755, 1844, 1846, -2538, 1858, 1729, 1859,
2307, -2538, 4195, 3278, 1862, 1863, -2538, 1870, 44, 1874,
1876, 1877, -2538, 1740, 3876, -2538, 3879, 1879, 1881, -2538,
1886, 4868, 1441, 1887, 3576, 4966, 2307, 1889, 2308, 1901,
1894, 3119, 3590, 812, 1897, 3834, 1900, 1903, 4012, 3120,
3590, 1928, 3121, -1656, 1958, 2307, 4869, 1963, -2538, 48,
1972, 2309, 1973, 2310, 2308, -1656, 1965, 1966, 1442, 4256,
-1656, -1867, 49, 4870, -1874, 1980, 1981, 4871, -2538, 1983,
1982, 1984, 4041, 2308, 51, -1864, 1986, 2309, 4233, 2310,
1987, 1988, 3576, -1865, 1989, 50, 1990, 4872, 2304, -1868,
4873, 1991, 1443, -1866, 1993, 1994, 2309, 1995, 2310, 51,
-1417, 1996, -1417, 1997, 1998, 4874, 1999, -1656, 2000, -2538,
2002, 3576, -2538, 2003, 2304, 2004, 2005, 4083, -2538, 2006,
2007, 2307, 1210, 2053, 1445, 3478, 2008, -1656, 2055, 3479,
3480, 3481, 2009, 2304, 2057, 2058, 2071, 2083, 2067, 2103,
2091, 1307, 2106, 1373, 1375, 2137, 4061, 1307, 2150, 2308,
2139, 4676, 2148, 2151, 2152, 2169, 848, 2168, 2170, 2171,
2173, 3089, 3089, 2174, 2175, 35, 2176, 2261, -1656, 1447,
3988, 2177, 2309, -2538, 2310, 2178, 1704, -1656, 1448, 2179,
2185, 2204, 2210, 2216, 2241, 2248, 1449, 4875, 2245, 2247,
2249, 2253, 2250, 2252, 2262, 4876, 2718, 2268, 2270, 2269,
812, 812, 812, 2281, 2282, 2283, 1451, 1956, 2294, 2304,
2300, 2298, 2303, 2301, 1452, 846, 2302, 812, 846, 2304,
2312, 2313, 2316, 2317, 2323, 3576, 751, 2318, 2324, 2327,
2333, 3929, 2338, 2339, 2334, 1210, 2335, 4877, 3478, 1931,
812, 2340, 3479, 3480, 3481, 2344, 2341, 2347, 2350, 1931,
812, 812, 2351, -2538, 4397, 812, 2361, 2368, 2371, 4488,
2386, 2352, 5152, 859, 859, 2356, 1210, 1478, 812, 3478,
1453, 2357, 2383, 3479, 3480, 3481, 2409, -2538, 859, -2538,
-2538, 859, 3925, 2390, 2369, 2392, 2376, 4437, 4432, 4433,
4434, 4435, 4436, 2393, 2410, 2377, 2381, 2415, 2382, 2021,
2385, 2387, 2022, 2755, 2398, 3950, -2634, -2634, -2634, 2416,
4537, 2437, -1656, 1179, 2448, -2538, 2399, 2411, -2538, -2538,
-2538, 2421, 2450, 3483, 2451, 2425, 2452, 4077, 2453, 848,
2457, 2028, 2458, 2444, 2459, 2460, 2461, 2467, 2029, 2468,
2469, 859, 2470, 2471, 859, 859, 2474, 2472, 2479, 2480,
812, 2481, 2486, 3849, 2489, 2490, 2493, 619, 2498, 3850,
3576, 2504, 2507, 2030, 2518, 2522, 812, 1550, 2523, 2526,
2531, 3851, 2542, 2549, 935, 2558, 2545, 1356, 936, 180,
2565, 2548, 2562, 2567, 2571, 3484, 2582, 2576, 1307, 2595,
2584, 2585, 2603, 2605, 2592, 2589, 2593, 1307, 2594, 3852,
2596, 3853, 180, 1307, 2606, 1307, 2590, 2607, 1307, 2608,
2621, 2622, 2656, 1307, 1307, 1307, 1307, 2664, 2677, 1307,
1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 2690,
2728, 2772, 1307, 1307, 2778, 3576, 3483, 2022, 2791, 2723,
3576, 2782, 1307, 2797, 2811, 826, 1307, 2809, 2831, 4535,
1307, 2832, 2846, 2854, 3854, 2851, 2855, 2856, 1307, 2857,
833, 1307, 2865, 1307, 826, 2883, 2881, 3483, 2869, 2882,
2884, 4720, 1307, 2031, 2905, 1307, 1307, 2916, 2032, 2898,
1307, 1307, 3855, 2917, 2945, 4081, 2919, 1307, 2948, 2950,
2959, 2952, 2964, 2953, 812, 812, 812, 593, 3484, 2974,
3577, 4103, 2976, 2969, 2970, 4103, 4117, 4103, 2972, 2984,
3590, 2980, 1307, 2994, 2995, 2035, 2998, 3012, 3011, 3017,
1322, 4588, 2326, 1326, 3028, 4085, 4086, 4087, 4088, 3484,
3035, 3036, 3049, 3054, 3590, 3055, 1307, 3081, 3076, 3576,
3082, 3856, 3084, 3091, 3099, 3103, 3857, 4509, 3123, 3127,
2911, 3574, 1307, 3183, 3574, 3195, 3202, 3203, 834, 3206,
3221, 3215, 2037, 3226, 3227, 3228, 3234, 3241, 4661, 3239,
4168, 1931, 1931, 3246, 2446, 3485, 3486, 3487, 3245, 3488,
3489, 3490, 3491, 3492, 3493, 3267, 3254, 3266, 3858, 3281,
3285, 848, 848, 848, 848, 3283, 2013, 3287, 3296, 3305,
3299, 3314, 4626, 4627, 3859, 4629, 3308, 4470, 3315, 3316,
3313, 5019, 4092, 3317, 3321, 4097, 4359, 4360, 3327, 3329,
2277, 3330, 3333, 846, 3574, 3349, 3334, 3348, 3351, 3352,
859, 3353, 3355, 859, 859, 3361, 3360, 3362, 3358, 4222,
1851, 3363, 3376, 3388, 5413, 5414, 3364, 3368, 3377, 3390,
3391, 3400, 2039, 4866, 2375, 3395, 3397, 3401, 3402, 3403,
1898, 3404, 1895, 3405, 3413, 5063, 1860, 2691, 3416, 3415,
3417, 3424, 3427, 3432, 3434, 1176, 3441, 4267, 3439, 3442,
3446, 3438, 3460, 3461, 3463, 3462, 3467, 3468, 3485, 3486,
3487, 3512, 3488, 3489, 3490, 3491, 3492, 3493, 3860, 3470,
3473, -2131, 4879, 3474, 3529, 3496, 2100, 3502, 5053, 3600,
5055, 3509, 2021, 3523, 3537, 2022, 3547, 3546, 3549, 3485,
3486, 3487, 3551, 3488, 3489, 3490, 3491, 3492, 3493, 3524,
-1720, 3597, 3578, 2449, 4307, 3598, 3602, 3550, 3611, 3604,
3624, 595, 3553, 3592, 2028, 3618, 3643, 3629, 3632, 2040,
2466, -2634, -2634, -2634, -2634, 3631, 2044, 2045, 2046, 2047,
2048, 2049, 3636, 3640, 3637, 3645, 3652, 3678, 3667, 3668,
3680, 2488, 1210, 3684, 3685, 3478, 2030, 3686, 848, 3479,
3480, 3481, 812, 3687, 848, 3702, 1307, 3713, 3690, 3703,
3705, 3711, 3712, 812, 3721, 3731, 4489, 3748, 3750, 4350,
3755, 3752, 1953, 3756, 3759, 3761, 3763, 3764, 3779, 2277,
3777, 3778, 3780, 3781, 3782, 3792, 3783, 3785, 3784, 3786,
3788, 3796, 3790, 3787, 812, 3789, 3800, 2566, 3577, 3791,
3793, 4910, 2407, 3813, 3809, 3802, 3810, 3798, 3182, 3811,
3803, 2574, 3805, 3538, 3816, 3820, 3821, 4398, 3823, 3829,
3840, 3843, 3874, 1081, 3881, 3884, 3885, 3875, 812, 5212,
5214, 5206, 2446, 3887, 3889, 2588, 1307, 1307, 3892, 3903,
3904, 3906, 3913, 3919, 3920, 4407, 3923, 4815, 3924, 3927,
3916, 3940, 3574, 3928, 3949, 3969, -2634, 3956, 3970, 3981,
3957, -2634, 3971, 3958, 3089, 3972, 3089, 3973, 3984, 3974,
3983, 3976, 3985, 812, 3992, 3960, 3962, 3834, 3993, 2617,
1081, 3994, 4975, 2755, 3996, 893, 3997, 3998, 1975, 3999,
4000, 4004, 4750, 3499, 3478, 595, 4013, 4839, -2634, -2130,
3498, 4038, 4039, 4040, 595, 868, 1307, 4579, 4054, 4065,
4066, 4685, 595, 3567, 868, 595, 4084, 1307, 4078, 4095,
4123, 4133, 4136, 4119, 4138, 4142, 4152, 4160, 868, 4181,
4046, 4183, 4184, 4189, 4069, 4096, 4196, 4197, 4104, 4125,
4127, 4128, 180, 3483, 4129, 2037, 4198, 1307, 4199, 4201,
4203, 4205, 4206, 4235, 4220, 4236, 4223, 1307, 1307, 4237,
1532, 4248, 4238, 4249, 1307, 1307, 4250, 4251, 4252, 1307,
5307, 4253, 4262, 4264, 1307, 4275, 4720, 1307, 1307, 1533,
4276, 4265, 1307, 4497, 4619, 4281, 4284, 4299, 1307, 812,
812, 812, 812, 4301, 4303, 4211, 4103, 4117, 4103, 4342,
1307, 4103, 4306, 4314, 4511, 3484, 4315, 4317, 3577, 4318,
4321, 4370, 3577, 4331, 4356, 2785, 4377, 4380, 4526, 4376,
4362, 4389, 4404, 4405, 4399, 4420, 4382, 4422, 2643, 1534,
4211, 4383, 4417, 895, 4425, -2634, 4438, 2207, 4426, 4866,
1307, 4421, 4430, 4418, 3610, 4423, 4442, 4551, 4444, 2911,
4450, 4462, 4457, 4471, 4466, 4472, 4467, 4473, 4475, 4985,
4538, 4540, 3574, 4474, 746, -2132, 3574, 1307, 846, 4507,
4985, 4479, 4514, 4494, 859, 5206, 4512, 859, 4510, 4678,
859, 4515, 4522, 4523, 4527, 4528, 4529, 3089, 3089, 4530,
4536, 4548, 4212, 4545, 4552, 4550, 5219, 4584, 4557, 4558,
4563, 4567, 4596, 4587, 4586, 2277, 4591, 4597, 4590, 4598,
4616, 4609, 4612, 4618, 4621, 1535, 4622, 4630, 4638, 4592,
4639, 4644, 4652, 3567, 4653, 4658, 4659, 3567, 4662, 4667,
4668, 4674, -2634, 4673, 5275, 4675, 4677, 4683, 4681, 2044,
2045, 2046, 2047, 2048, 2049, 4691, 4694, 5065, 5052, 5057,
4698, 4703, 4705, 4713, 4715, 4716, 4717, 180, 180, 4718,
1046, 4725, 4730, 1536, 2755, 4737, 1537, 4736, 1307, 4743,
4744, 4746, 4751, 4753, 4754, 4778, 4755, 2374, 4756, 4213,
4762, 4797, 4768, 4806, 4803, 4771, 4782, 4809, 4800, 2755,
848, 4820, 4830, 4861, 4822, 3485, 3486, 3487, 4831, 3488,
3489, 3490, 3491, 3492, 3493, 848, 4824, 4825, 1465, 1539,
4836, 4880, 5179, 4842, 1466, 4843, 2979, 4847, 4852, 4882,
592, 4341, 4888, 4853, 4890, 4854, 4893, 1568, 4892, 4896,
2996, 4899, 4898, 4916, 4917, 1307, 4924, 4926, 4929, 4933,
4935, 4942, 4943, 4954, 4956, 4958, 4957, 4971, 4974, 4978,
4984, 593, 4999, 1541, 4988, 4991, 1468, 2277, 5003, 5022,
5024, 4995, 4997, 5014, 5025, 5031, 1931, 5037, 5080, 5082,
3029, 5092, 592, 5087, 5094, 1542, 5160, 5101, 5091, 5113,
5112, 1307, 4970, 5106, 5120, 5124, 5125, 5126, 5133, 5134,
5135, 5136, 5142, 5151, 848, 1544, 3323, 4214, 5143, 5164,
4215, 5167, 5168, 5172, 5176, 5173, 4834, 5190, 1569, 5211,
1470, 4696, 5186, 893, 5217, 4840, 5218, 1471, 595, 5227,
1472, 5231, 2015, 5234, 5222, 5235, 812, 5224, 866, 5253,
868, 5254, 5255, 5256, 5261, 5262, 868, 902, 5271, 5273,
5290, 5300, 4079, 5220, 5298, 1473, 5292, 5308, 5221, 868,
5317, 923, 3590, 5318, 5349, 5316, 1046, 5354, 5361, 5382,
5368, 5407, 5415, 893, 5438, 868, 1307, 5428, 5421, 5439,
595, 5335, 5374, 5379, 5388, 1307, 1095, 5417, 5441, 1474,
595, 868, 5405, 5406, 5443, 5442, 5455, 595, 5456, 868,
595, 4838, 1307, 1307, 5465, 5467, 1307, 5462, 5468, 2304,
3290, 2755, 1095, 868, 2090, 1563, 2422, 5463, 180, 1564,
3585, 593, 3156, 868, 4103, 1358, 3696, 3080, 3577, 4226,
4219, 1462, 5303, 3577, 5420, 5301, 3577, 593, 5428, 3182,
3194, 4784, 3828, 1307, 1307, 4881, 4324, 5074, 1475, 5205,
1476, 5380, 4358, 4934, 5428, 4657, 4909, 4168, 3634, 1307,
1477, 3399, 5293, 4813, 5376, 5225, -2540, 5223, 5315, 1478,
4168, 895, 848, 848, 848, 3574, 5393, 3639, 5184, 4408,
4388, 1479, 3574, 3250, 4224, 4351, 3715, 3574, 3264, 3891,
3574, 3265, 1552, 4375, 2021, 4679, 4915, 2022, 3255, 3899,
4920, 5381, 595, 595, 5469, 5460, 5052, 4894, 868, 3846,
3841, 3574, 5320, 4841, 2497, 5033, 5192, 4844, 5144, 1570,
860, 895, 1481, 1482, 3574, 753, 2028, 1950, 4439, 5009,
1960, 5432, 2564, -2634, 595, 5161, 4414, 3625, 2922, 5163,
2572, 5165, 5131, 3567, 2609, 4801, 2686, 1210, 3567, 2684,
3478, 3567, 1571, 1047, 3479, 3480, 3481, -2540, 2030, 1124,
3799, 4254, 3895, 5340, 860, 2685, 4274, 812, 5454, 2860,
1738, 1335, 2184, 2868, 2867, 2634, 4393, 4802, 4541, 4350,
5287, 2021, 812, 4146, 2022, 2755, 2101, 812, 3588, 3089,
2897, 2063, 3599, 2878, 4949, 2134, 2277, 4126, 2133, 5283,
5166, 4533, 2896, 2138, 4099, 4520, 4505, -2540, 4990, 4914,
1046, 4093, 812, 2028, 5150, 5149, 4398, 1484, 4147, -2540,
-2634, 4094, 5457, 5360, -2540, 4070, 5416, 5274, 2583, -2540,
848, 812, 4168, 4048, 2143, -2540, 4969, 4799, -2540, 5285,
3544, 3455, -2540, 5286, 2836, 2030, 3217, 4947, 3542, 595,
595, 1700, 0, 0, 2845, 0, 0, 1307, 595, 0,
1307, 0, 1307, 0, 0, 1095, 826, 0, -2634, 595,
0, -2540, 0, -2634, 0, 595, 0, 0, 595, 0,
0, 0, 1307, 3425, 0, 0, 3574, 0, 1307, 0,
1095, -2540, 3577, 0, 0, 0, 4784, 0, 0, 0,
3437, 0, 1307, 0, 5359, 1095, 180, 0, 0, 0,
-2634, 5002, 4073, 0, 0, 3445, 0, 0, 0, 0,
0, 737, 0, 0, 0, 0, 0, 737, 0, 0,
0, 0, -2540, 0, 812, -2540, 1931, 0, 0, 0,
0, -2540, 0, 0, 180, 0, 3574, 0, -2634, 0,
595, 595, 0, 0, 0, -2634, 0, 2037, 0, 0,
-2634, 1307, 0, 1004, 0, 0, 0, 0, 0, 1004,
0, 848, 848, 848, 848, 0, 0, 0, 0, 0,
893, 0, 1004, 0, 0, 0, 0, 0, 0, 0,
1095, 0, 0, 2755, 2755, 0, -2540, -2634, 0, 0,
0, 0, 0, 0, 0, 0, 0, 3567, 0, 593,
3484, 0, 0, 0, 0, 0, 0, 2013, 0, 0,
0, 0, 0, 0, 0, 0, 0, 868, 0, 0,
812, 0, 0, 3577, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2037, 868, 0, -2634, 0, 751,
0, 0, 0, 0, 595, 0, 0, 0, 0, 0,
0, 5115, 868, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, -2540, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 3574, 1307, 0,
868, 593, 0, 0, 1307, 0, 0, 0, 5158, 1095,
-2540, 868, -2540, -2540, 0, 1307, 0, 0, 0, 1307,
0, 1307, 0, 1307, 0, 0, 868, 0, 0, 868,
4168, 0, 0, 0, 0, 0, 848, 0, 895, 0,
0, 595, 0, 2021, -2634, 5169, 2022, 0, -2540, 1307,
0, -2540, -2540, -2540, -2634, 3574, 0, 592, 3567, 0,
592, 2044, 2045, 2046, 2047, 2048, 2049, 0, 180, 0,
0, 595, 0, 0, 0, 2028, 0, 0, 0, 0,
0, 0, -2634, 0, 3574, 0, 0, 0, 0, 3650,
0, 0, 5297, 0, 1931, 1931, 0, 0, 0, 595,
595, 595, 0, 595, 0, 0, 0, 2030, 3661, 0,
3485, 3486, 3487, 0, 3488, 3489, 3490, 3491, 3492, 3493,
0, 0, 0, 595, 0, 848, 0, 0, 0, 0,
592, 0, 5239, 0, 0, 0, 1307, 0, 0, 0,
0, -2634, 180, 0, 5250, 0, 0, 868, 2044, 2045,
2046, 2047, 2048, 2049, 0, 868, 868, 0, 0, 0,
0, 0, 0, 0, 0, 0, 5346, 5347, 0, 1307,
1307, 1307, 0, 0, 4074, 3182, 0, 0, 1307, 1465,
0, 0, 0, 0, 0, 1466, 0, 0, 1307, 0,
0, 5002, 0, 0, 0, 595, 2911, 0, 3574, 595,
595, 0, 2021, 0, 3743, 2022, 3745, 0, 0, 0,
0, 860, 0, 0, 595, 0, 0, -2634, 1095, 0,
0, 0, -2634, 0, 1700, 0, 0, 1468, 848, 0,
0, 0, 0, 0, 2028, 1931, 2021, 0, 0, 2022,
0, -2634, 0, 2023, 2024, 2025, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, -2634,
2277, 0, 0, 0, 0, 593, 2030, 0, 2028, 0,
1307, 0, 0, 0, 0, 2029, 0, 5321, 0, 4168,
0, 1470, 0, 1095, 0, 860, 860, 1307, 1471, 0,
0, 1472, 0, 184, 0, 3795, 0, 1307, 0, 0,
2030, 5158, 5345, 0, 5342, 5343, 2037, 0, 0, 0,
0, 5344, 0, 0, 0, 0, 1473, 0, 0, 0,
0, 0, 848, 0, 1095, 0, 5404, 0, 0, 0,
0, 0, 0, 3574, 3814, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1474, 0, 0, 0, 5250, 848, 848, 1095, 0, 4168,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 184, 5470, 5471, 180, 0, -2634, 0, 0, 0,
5345, -2634, 5342, 5343, 0, 0, 1307, 1307, 592, 5344,
0, 0, 0, 0, 0, 0, -2634, 0, 1307, 180,
0, 0, 0, 0, 0, 0, 0, 0, 3574, 1475,
2031, 1476, 0, 3574, 3339, 2032, 0, 868, -2634, 0,
0, 1477, 0, 0, 0, 0, 0, 0, 0, 0,
1478, 1307, 595, 595, 595, 1437, 3029, 2033, 2034, 0,
0, 1307, 1479, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2035, 0, 0, 848, 0, 0, 4168, 0,
0, 0, 0, 0, 0, 2037, 0, 5158, 3951, 1438,
184, 593, 0, 0, 0, 0, 0, 5403, 0, 5345,
1597, 5342, 5343, 1481, 1482, 2036, 0, 0, 5344, 0,
0, 860, 860, -2634, 0, 0, 0, 0, 0, 2037,
2044, 2045, 2046, 2047, 2048, 2049, 0, 0, 0, 0,
0, 0, 3574, 1598, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1440, 0,
737, 0, 737, 0, 737, 1095, 0, 0, 0, 0,
737, 1164, 1165, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1095, 0, 0, -2634, 0, 0, 0, 0,
0, 1095, 0, 1441, 0, 0, 0, 0, 1700, 0,
4005, 0, 0, 1095, 0, 0, 180, 0, 1484, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2039,
0, 4014, 868, 0, 3340, 0, 0, 0, 592, 1442,
868, 0, 592, 0, 0, 0, 0, 0, 0, 0,
0, 0, 868, 0, 0, 0, 4037, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1095,
0, 0, 0, 1443, 0, 0, 595, 0, 0, 595,
0, 0, 0, 1095, 0, 0, 0, 0, 0, 595,
1956, 0, -2634, 0, 0, 1095, 0, 0, 0, 2044,
2045, 2046, 2047, 2048, 2049, 1445, 0, 1095, 663, 0,
0, 0, 0, 0, 0, 0, 0, 750, 0, 0,
0, 0, 0, 737, 595, 595, 2040, 868, 868, 2041,
2042, 2043, 0, 2044, 2045, 2046, 2047, 2048, 2049, 595,
0, 868, 595, 0, 0, 0, 35, 0, 0, 0,
3341, 1095, 1095, 0, 868, 868, 0, 0, 0, 1448,
0, 0, 0, 0, 0, 0, 0, 1449, 0, 0,
868, 0, 0, 0, 0, 2262, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1451, 0, 0,
0, 0, -2555, 0, 0, 1452, 0, 0, 0, 0,
0, 0, 595, 0, 0, 595, 595, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 3342, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 2694, 595, 0,
595, 0, 0, 0, 0, 595, 595, 0, 0, 0,
0, 1453, 595, 595, 595, 3343, 0, 0, 595, 0,
595, 595, 595, 595, 595, 595, 0, 595, 0, 595,
595, 0, 0, 595, 0, 0, 0, 0, 0, 0,
2420, 4664, 0, -2555, 0, 0, 2695, 1095, 595, 595,
595, 595, 1700, 0, 0, 0, 595, 0, 0, 0,
595, 0, 0, 595, 0, 0, 595, 595, 595, 595,
595, 595, 595, 595, 595, 0, 595, 0, 2696, 2021,
0, 0, 2022, 595, 0, 595, 0, 0, 0, 0,
0, 0, 0, -2555, 0, 0, 0, 0, 0, 0,
0, 2697, 0, 0, 0, -2555, 0, 0, 0, 0,
-2555, 2028, 2698, 0, 0, -2555, 0, 0, -2634, 0,
0, -2555, 0, 0, -2555, 595, 0, 0, -2555, 0,
0, 0, 2699, 0, 0, 0, 0, 2700, 0, 0,
0, 595, 0, 2030, 0, 0, 0, 0, 0, 0,
595, 595, 0, 0, 0, 0, 737, -2555, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 868, 0, -2555, 0, 0,
0, 0, 1095, 0, 0, 0, 1095, 1095, 2701, 0,
0, 0, 0, 868, 4361, 0, 0, 0, 1700, 868,
0, 592, 0, 868, 0, 0, 0, 0, 592, 2702,
4492, 868, 0, 592, 0, 2508, 592, 4780, -2555, 0,
0, -2555, 0, 2525, 0, 0, 0, -2555, 0, 868,
0, 0, 595, 0, 0, 2420, 0, 592, 0, 0,
0, 0, 0, 0, 595, 0, 0, 0, 1095, 0,
592, 595, 0, -2634, 595, 595, 0, 0, -2634, 0,
0, 0, 1095, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 868, 206, 2703, 0, 0,
2704, 0, -2555, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 868, 868, -2634, 0, 0, 0, 0,
859, 0, 1095, 0, 0, 0, 2705, 0, 0, 2706,
0, 2602, 0, 0, 0, 2707, 0, 0, 0, 0,
0, 0, 2708, 0, 0, 1700, 868, 0, 0, 1700,
0, 0, 0, 0, 737, 751, 0, 0, 2420, 737,
737, 0, 2037, 0, 859, 0, 0, 0, 0, 0,
2709, 2218, 868, 0, 1700, 2710, 2219, 0, 2711, 868,
0, 0, -2555, 0, 0, 868, 0, 0, 0, 0,
0, 0, 868, 0, 0, 0, 868, 2712, 0, 1956,
0, 868, 0, 0, 0, 0, -2555, 0, -2555, -2555,
0, 2220, 0, 0, 0, 0, 0, 0, 0, 0,
0, 868, 2713, 0, 2221, 0, 868, 0, 0, 0,
868, 0, 592, 1700, 0, 0, 0, 0, 0, 2222,
0, 0, 0, 868, -2555, 0, 0, -2555, -2555, -2555,
0, 0, -2634, 0, 0, 0, 868, 0, 0, 0,
0, 0, 0, 0, 0, 0, 868, 737, 0, 0,
0, 0, 0, 0, 0, 0, 0, 737, 980, 0,
2223, 0, 0, 595, 595, 595, 0, 0, 0, 595,
0, 2224, 592, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2225, 0, 0, 4571, 0, 2226, 0, 0, 1164,
1165, 0, 0, 0, 595, 1095, 0, 0, 0, 0,
0, 1045, 663, 0, 1700, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, -2634,
0, 0, 0, 4593, 0, 0, 2044, 2045, 2046, 2047,
2048, 2049, 737, 0, 0, 737, 737, 0, 595, 0,
0, 0, 0, 0, 4608, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2227, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1095, 0, 5093,
0, 0, 868, 0, 0, 0, 0, 0, 2913, 0,
0, 595, 2228, 0, 0, 0, 1183, 0, 0, 0,
0, 0, 0, 592, 0, 0, 2929, 0, 0, 4635,
0, 0, 2933, 0, 0, 0, 2936, 0, 0, 0,
0, 0, 1202, 0, 0, 206, 2229, 0, 0, 0,
1310, 0, 0, 1319, 1045, 1321, 0, 868, 0, 0,
0, 0, 2960, 0, 0, 0, 0, 0, 0, 1437,
0, 0, 0, 0, 0, 0, 0, 0, 2230, 0,
0, 592, 0, 0, 2231, 0, 0, 0, 0, 0,
0, 2232, 0, 0, 2233, 0, 0, 0, 0, 868,
0, 0, 0, 1438, 0, 0, 0, 0, 3015, 0,
592, 0, 0, 0, 0, 1095, 0, 868, 0, 0,
0, 0, 0, 0, 2234, 868, 1004, 0, 3339, 595,
0, 2235, 1095, 1439, 0, 595, 737, 0, 595, 2236,
0, 595, 0, 4724, 0, 0, 2237, 1095, 0, 1437,
0, 0, 0, 0, 0, 0, 0, 0, 595, 3065,
0, 0, 1440, 595, 0, 0, 0, 0, 0, 0,
0, 2238, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1438, 0, 3094, 595, 595, 595, 1956,
0, 595, 3104, 0, 0, 0, 0, 1441, 3109, 595,
595, 595, 595, 0, 0, 1004, 0, 1700, 0, 3124,
0, 0, 595, 1700, 3128, 595, 0, 595, 0, 0,
0, 0, 0, 0, 592, 0, 0, 0, 595, 595,
0, 0, 595, 1442, 3141, 0, 0, 0, 0, 3143,
0, 0, 1440, 3146, 0, 0, 595, 2578, 595, 0,
595, 0, 0, 0, 0, 0, 3163, 2586, 0, 2587,
0, 0, 0, 0, 0, 2591, 0, 1443, 0, 3188,
595, 0, 2597, 0, 0, 0, 0, 1441, 0, 1004,
0, 595, 0, 0, 0, 0, 0, 0, 0, 868,
0, 859, 0, 0, 0, 0, 0, 0, 1444, 1445,
0, 0, 0, 0, 595, 0, 0, 0, 3340, 0,
0, 0, 0, 1442, 0, 0, 0, 0, 0, 595,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 595, 0, 0, 1446, 0, 0, 0,
35, 0, 0, 0, 1447, 5324, 0, 1443, 0, 0,
0, 0, 1095, 1448, 0, 1095, 0, 1095, 0, 592,
0, 1449, 1095, 0, 1465, 859, 859, 0, 0, 1450,
1466, 0, 0, 0, 0, 0, 0, 868, 868, 1445,
0, 1451, 0, 595, 0, 0, 0, 0, 0, 1452,
0, 1045, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2729, 2730, 868, 0, 0, 868, 1045, 2744,
2745, 1095, 1468, 0, 0, 0, 0, 0, 0, 0,
35, 0, 1465, 0, 1447, 0, 0, 0, 1466, 0,
1095, 0, 0, 1448, 592, 1532, 0, 2783, 0, 592,
1465, 1449, 1955, 0, 0, 1453, 1466, 0, 0, 2262,
0, 0, 0, 0, 1533, 1095, 0, 0, 0, 0,
0, 1451, 2319, 0, 0, 1045, 1470, 1956, 0, 1452,
1468, 0, 0, 1471, 0, 0, 1472, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1468, 0,
0, 3342, 1700, 1700, 1700, 0, 0, 0, 0, 0,
0, 1473, 0, 0, 1534, 0, 0, 3795, 0, 0,
0, 0, 0, 0, 0, 0, 868, 0, 0, 0,
0, 0, 3412, 0, 1470, 1453, 1095, 0, 1095, 3343,
0, 1471, 0, 0, 1472, 1474, 868, 0, 592, 0,
3426, 2017, 1470, 0, 2887, 2887, 0, 0, 3412, 1471,
2019, 5459, 1472, 0, 0, 868, 1816, 0, 0, 1473,
1956, 0, 0, 0, 2061, 1956, 1956, 0, 0, 0,
0, 859, 859, 0, 0, 0, 0, 1473, 0, 0,
0, 0, 0, 1045, 1843, 0, 2078, 2079, 0, 0,
1535, 1045, 1045, 1474, 1475, 0, 1476, 0, 0, 0,
0, 0, 0, 0, 1861, 737, 1477, 0, 0, 0,
0, 1474, 0, 0, 1872, 1478, 0, 1095, 1875, 0,
0, 0, 1878, 0, 1880, 0, 0, 1479, 0, 0,
1888, 0, 0, 0, 0, 0, 1896, 868, 1536, 1899,
0, 1537, 595, 0, 0, 0, 0, 0, 595, 0,
0, 0, 1538, 0, 1476, 0, 1095, 0, 0, 0,
0, 0, 0, 0, 1477, 2320, 0, 0, 1481, 1482,
1475, 0, 1476, 1478, 0, 0, 0, 5132, 0, 0,
0, 1095, 1477, 0, 1539, 1479, 0, 0, 1700, 1095,
0, 1478, 0, 0, 0, 868, 0, 868, 2321, 3031,
0, 0, 0, 1479, 0, 0, 0, 0, 0, 0,
868, 0, 868, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1540, 0, 0, 1481, 1482, 1541, 0,
0, 0, 0, 0, 1700, 0, 0, 0, 0, 0,
0, 2242, 0, 0, 1481, 1482, 0, 0, 0, 0,
1542, 0, 0, 0, 0, 0, 1543, 0, 1095, 0,
0, 0, 0, 1484, 0, 1465, 0, 0, 0, 0,
1544, 1466, 0, 0, 2243, 868, 1095, 0, 0, 0,
0, 737, 0, 0, 1467, 0, 0, 0, 0, 737,
1095, 0, 737, 0, 0, 0, 2020, 0, 0, 0,
0, 2021, 0, 0, 2022, 0, 0, 0, 2023, 2024,
2025, 2379, 0, 1468, 1437, 0, 0, 2384, 0, 0,
0, 1484, 0, 0, 0, 2026, 868, 3646, 2027, 0,
0, 0, 0, 2028, 0, 0, 0, 0, 0, 1484,
2029, 0, 0, 0, 868, 0, 0, 2021, 1438, 0,
2022, 0, 0, 0, 2023, 2024, 2025, 0, 0, 0,
0, 0, 0, 1469, 0, 2030, 868, 1470, 0, 868,
0, 2026, 0, 0, 1471, 0, 0, 1472, 1506, 2028,
0, 5279, 0, 0, 0, 0, 2029, 1465, 0, 595,
0, 0, 1095, 1466, 0, 0, 0, 0, 595, 0,
0, 0, 1473, 0, 595, 0, 595, 1440, 0, 595,
0, 2030, 0, 1095, 595, 595, 595, 595, 0, 0,
595, 595, 595, 595, 595, 595, 595, 595, 595, 595,
0, 0, 0, 595, 595, 1468, 1474, 0, 1095, 3726,
0, 0, 1441, 595, 0, 0, 0, 595, 0, 1700,
0, 595, 0, 0, 0, 0, 0, 0, 0, 595,
0, 0, 595, 0, 595, 0, 0, 0, 0, 0,
0, 0, 1095, 595, 0, 2031, 595, 595, 1442, 0,
2032, 595, 595, 0, 0, 0, 0, 0, 595, 1470,
0, 0, 0, 0, 0, 1475, 1471, 1476, 595, 1472,
0, 595, 2033, 2034, 0, 0, 0, 1477, 3365, 3367,
0, 0, 1443, 595, 3375, 0, 1478, 2035, 0, 0,
0, 2031, 0, 0, 1473, 0, 2032, 0, 1479, 0,
0, 2519, 0, 0, 0, 2524, 0, 595, 0, 0,
0, 0, 0, 1507, 1445, 0, 0, 0, 2033, 2034,
2036, 0, 0, 595, 0, 0, 0, 0, 1474, 1095,
3807, 0, 0, 2035, 2037, 0, 1480, 2038, 0, 1481,
1482, 595, 0, 0, 0, 737, 0, 0, 0, 0,
0, 1508, 0, 0, 0, 35, 0, 0, 0, 1447,
0, 0, 0, 0, 0, 0, 2036, 0, 1448, 1483,
0, 0, 868, 0, 0, 0, 1449, 0, 0, 0,
2037, 0, 0, 2038, 1509, 0, 0, 1475, 0, 1476,
0, 0, 0, 0, 2021, 0, 1451, 2022, 0, 1477,
0, 2023, 2024, 2025, 1452, 0, 0, 0, 1478, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2026, 0,
1479, 0, 0, 1700, 2039, 0, 2028, 0, 1700, 1095,
1700, 0, 0, 2029, 1484, 0, 0, 0, 0, 0,
2021, 0, 0, 2022, 0, 0, 0, 2023, 2024, 2025,
0, 1465, 1700, 1095, 0, 0, 0, 1466, 2030, 0,
1453, 1481, 1482, 0, 2026, 0, 0, 0, 0, 0,
2039, 1700, 2028, 0, 0, 0, 0, 0, 0, 2029,
0, 0, 0, 0, 0, 0, 0, 868, 0, 0,
868, 1483, 0, 0, 0, 0, 0, 0, 0, 1468,
0, 0, 0, 0, 2030, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 2740, 0, 2420,
0, 2040, 0, 0, 2041, 2042, 2043, 0, 2044, 2045,
2046, 2047, 2048, 2049, 0, 0, 0, 3977, 0, 0,
0, 3583, 0, 737, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1470, 0, 0, 1484, 595, 0, 0,
1471, 0, 3991, 1472, 0, 3595, 3595, 2040, 2031, 0,
2041, 2042, 2043, 2032, 2044, 2045, 2046, 2047, 2048, 2049,
0, 0, 868, 868, 0, 0, 1095, 3469, 1473, 0,
0, 0, 868, 0, 0, 2033, 2034, 0, 0, 595,
0, 0, 0, 0, 0, 0, 0, 0, 2853, 0,
2035, 868, 0, 0, 2031, 0, 0, 0, 0, 2032,
0, 0, 1474, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1095, 595, 595, 2604,
0, 2033, 2034, 2036, 0, 0, 0, 2611, 0, 0,
0, 0, 0, 0, 0, 0, 2035, 2037, 0, 0,
2038, 0, 0, 0, 0, 0, 0, 2623, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1475, 0, 1476, 868, 0, 0, 0, 1465, 2036,
0, 0, 0, 1477, 1466, 0, 0, 0, 0, 0,
0, 0, 1478, 2037, 0, 0, 2038, 595, 0, 0,
0, 0, 0, 0, 1479, 0, 0, 1045, 595, 0,
1465, 0, 0, 0, 0, 0, 1466, 0, 0, 0,
0, 0, 0, 0, 1465, 0, 1468, 0, 0, 1568,
1466, 0, 0, 0, 0, 0, 0, 2039, 595, 0,
0, 0, 3024, 0, 0, 1481, 1482, 0, 595, 595,
0, 1095, 0, 0, 0, 595, 595, 0, 1468, 0,
595, 1095, 0, 0, 0, 595, 0, 0, 595, 595,
0, 0, 1468, 595, 0, 1483, 0, 0, 1321, 595,
1470, 0, 0, 2039, 0, 4191, 0, 1471, 0, 0,
1472, 595, 0, 0, 0, 0, 0, 0, 0, 595,
0, 0, 0, 595, 0, 0, 0, 0, 0, 0,
1569, 0, 1470, 0, 0, 1473, 0, 0, 0, 1471,
0, 0, 1472, 0, 0, 0, 1470, 0, 0, 0,
0, 595, 0, 1471, 2040, 0, 1472, 2041, 2042, 2043,
1484, 2044, 2045, 2046, 2047, 2048, 2049, 1473, 0, 1474,
0, 0, 0, 0, 3519, 0, 0, 1321, 595, 2858,
0, 1473, 2021, 0, 0, 2022, 0, 0, 0, 2023,
2024, 2025, 0, 0, 1321, 0, 1095, 0, 0, 0,
2040, 1474, 0, 2041, 2042, 2043, 2026, 2044, 2045, 2046,
2047, 2048, 2049, 868, 2028, 1474, 0, 2781, 1700, 0,
4289, 2029, 0, 4292, 0, 0, 0, 0, 1475, 0,
1476, 0, 0, 0, 0, 1095, 0, 0, 0, 0,
1477, 0, 0, 0, 0, 737, 2030, 0, 0, 1478,
0, 868, 0, 737, 0, 3191, 1095, 0, 0, 0,
1475, 1479, 1476, 868, 0, 0, 0, 0, 0, 0,
0, 0, 1477, 0, 1475, 0, 1476, 3880, 0, 595,
0, 1478, 0, 0, 0, 0, 1477, 0, 0, 3220,
868, 0, 3220, 1479, 3220, 1478, 0, 0, 3220, 3197,
3220, 3220, 1481, 1482, 0, 0, 0, 1479, 0, 3220,
3220, 3220, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1095, 0, 0, 0, 4372, 0, 0, 0, 0,
0, 3153, 3198, 0, 1481, 1482, 0, 0, 0, 0,
0, 0, 0, 0, 2420, 3672, 595, 0, 1481, 1482,
0, 0, 0, 0, 0, 0, 2031, 0, 0, 3953,
0, 2032, 595, 0, 3154, 0, 0, 3300, 2021, 0,
0, 2022, 0, 0, 0, 2023, 2024, 2025, 3673, 0,
0, 0, 0, 2033, 2034, 868, 0, 0, 0, 0,
0, 0, 595, 0, 0, 0, 0, 1484, 2035, 3332,
2028, 0, 0, 0, 0, 0, 0, 2029, 1045, 0,
0, 0, 0, 0, 0, 0, 0, 3412, 2021, 0,
0, 2022, 0, 0, 0, 2023, 2024, 2025, 0, 1484,
0, 2036, 2030, 1095, 0, 1095, 0, 0, 0, 0,
737, 0, 2026, 1484, 0, 2037, 0, 0, 2038, 0,
2028, 0, 0, 0, 0, 0, 0, 2029, 0, 868,
0, 0, 0, 1045, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 595, 0, 0,
0, 1095, 2030, 0, 0, 0, 595, 2021, 0, 0,
2022, 0, 0, 0, 2023, 2024, 2025, 0, 0, 0,
0, 0, 0, 595, 595, 0, 0, 595, 0, 0,
0, 2026, 0, 0, 0, 0, 0, 0, 0, 2028,
0, 0, 595, 0, 0, 0, 2029, 0, 0, 595,
0, 0, 0, 0, 595, 2039, 0, 595, 595, 0,
0, 0, 2031, 0, 595, 595, 0, 2032, 0, 0,
0, 2030, 0, 0, 0, 0, 0, 0, 595, 0,
595, 0, 0, 0, 0, 868, 0, 868, 0, -2634,
-2634, 595, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2035, 0, 0, 0, 0, 0,
0, 0, 2031, 0, 0, 0, 0, 2032, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1095, 868, 0, 0, 0, 0, -2634, 0, 2033,
2034, 595, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2037, 2040, 0, 2035, 2041, 2042, 2043, 0, 2044,
2045, 2046, 2047, 2048, 2049, 0, 0, 0, 0, 3842,
0, 0, 0, 0, 0, 0, 3354, 0, 0, 1700,
0, 2031, 0, 3359, 0, 595, 2032, 2036, 0, 0,
0, 0, 0, 0, 4603, 0, 0, 0, 0, 0,
0, 2037, 0, 3378, 2038, 0, 4613, 0, 2033, 2034,
0, 0, 0, 3384, 0, 1045, 3385, 0, 3386, 3387,
0, 0, 3389, 2035, 0, 0, 0, 0, 3393, 0,
3394, 0, 0, 3396, 0, 0, 0, 0, 0, 0,
4938, 2039, 0, 737, 0, 0, 0, 0, 0, 0,
0, 0, 0, 595, 0, 1095, 2036, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 737, 0, 0,
2037, 0, 0, 2038, 737, 0, 0, 0, 595, 1095,
0, 595, 0, 595, 0, 0, 0, 0, 0, 0,
0, 2039, 1437, 0, 0, 0, 3435, 0, 0, 0,
0, 0, 0, 595, 0, 0, 0, 0, 0, 595,
0, 0, 0, 595, 0, 0, 0, 0, 0, 1095,
0, 0, 0, 595, 0, 0, 1438, 0, 0, 0,
0, 0, 0, 1045, 0, 0, 0, 0, 2040, 0,
0, 2041, 2042, 2043, 0, 2044, 2045, 2046, 2047, 2048,
2049, 1164, 1165, 0, 0, 0, 1523, 0, 0, 0,
2039, 0, 0, 0, 1700, 0, 0, 0, 0, 0,
0, 0, 1095, 0, 0, 0, 0, 1095, 1095, 0,
0, 0, 595, 0, 0, 1440, 0, 0, 2040, 868,
0, 2041, 2042, 2043, 0, 2044, 2045, 2046, 2047, 2048,
2049, 868, 3412, 0, 0, 4006, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1441, 0, 0, 0, 3720, 0, 0, 0, 0, 0,
595, 0, 0, 0, 0, 1465, 0, 0, 0, 0,
0, 1466, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 595, 0, 1442, 2040, 0, 0,
2041, 2042, 2043, 0, 2044, 2045, 2046, 2047, 2048, 2049,
0, 0, 0, 0, 4057, 0, 0, 0, 0, 3758,
0, 0, 0, 1468, 0, 0, 0, 0, 1095, 1095,
1443, 0, 0, 0, 0, 737, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 3412, 595,
3412, 0, 595, 0, 0, 595, 0, 0, 0, 0,
0, 1524, 1445, 0, 0, 0, 595, 0, 0, 0,
595, 0, 595, 0, 595, 0, 0, 1470, 0, 0,
0, 595, 0, 0, 1471, 3797, 0, 1472, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1525,
595, 0, 3644, 35, 0, 0, 0, 1447, 0, 0,
0, 0, 1473, 0, 0, 0, 1448, 0, 0, 0,
0, 0, 0, 0, 1449, 0, 0, 3220, 0, 0,
0, 0, 1526, 0, 0, 1700, 0, 868, 0, 0,
0, 3827, 0, 0, 1451, 0, 1474, 3838, 0, 0,
601, 0, 1452, 0, 0, 3838, 652, 601, 0, 0,
0, 1045, 705, 1045, 601, 0, 0, 0, 0, 0,
601, 0, 756, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 3704, 595, 3706, 0,
0, 823, 823, 0, 0, 595, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1475, 0, 1476, 1453, 3902,
0, 0, 0, 0, 0, 0, 0, 1477, 0, 0,
595, 595, 595, 0, 0, 0, 1478, 0, 2021, 595,
1700, 2022, 0, 1095, 0, 2023, 2024, 2025, 1479, 595,
3935, 1045, 0, 0, 0, 0, 0, 0, 868, 0,
0, 0, 2026, 0, 0, 0, 0, 0, 0, 0,
2028, 0, 595, 0, 737, 0, 0, 2029, 0, 737,
0, 0, 0, 737, 0, 0, 3728, 868, 0, 1481,
1482, 0, 0, 0, 0, 0, 0, 0, 2021, 0,
0, 2022, 2030, 0, 0, 2023, 2024, 2025, 4606, 4607,
0, 0, 0, 4610, 4611, 0, 0, 0, 0, 3729,
0, 0, 2026, 0, 0, 0, 595, 0, 0, 0,
2028, 595, 0, 0, 0, 3794, 0, 2029, 0, 0,
595, 3801, 0, 0, 0, 0, 595, 595, 595, 855,
0, 0, 0, 0, 0, 0, 0, 897, 595, 0,
899, 0, 2030, 904, 905, 0, 908, 0, 910, 0,
0, 916, 0, 918, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1484, 0, 0, 0, 0, 0,
0, 868, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2031, 0, 0, 595, 0, 2032, 0, 0,
595, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 4058, 0, 0, 0, 0, 2033,
2034, 0, 0, 0, 0, 0, 0, 595, 595, 0,
0, 0, 0, 0, 2035, 0, 0, 0, 0, 595,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2031, 1700, 0, 0, 0, 2032, 0, 0,
0, 0, 0, 0, 0, 0, 0, 2036, 0, 0,
0, 0, 595, 0, 0, 0, 0, 0, 0, 2033,
2034, 2037, 595, 0, 2038, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2035, 0, 0, 0, 0, 595,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 595, 3959, 1700, 3961, 0, 3963, 0, 0,
0, 0, 0, 0, 0, 0, 3967, 2036, 0, 0,
1700, 0, 595, 595, 0, 0, 0, 0, 0, 0,
0, 2037, 2021, 0, 2038, 2022, 0, 0, 0, 2023,
2024, 2025, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2026, 3990, 0, 0,
0, 2039, 0, 0, 2028, 0, 0, 2021, 0, 0,
2022, 2029, 0, 0, 2023, 2024, 2025, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2026, 0, 0, 0, 0, 2030, 0, 0, 2028,
0, 0, 0, 0, 0, 3838, 2029, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2039, 0, 0, 0, 0, 0, 0, 0, 4260,
0, 2030, 0, 0, 0, 737, 0, 4268, 0, 0,
4269, 0, 4270, 0, 0, 0, 0, 0, 0, 0,
0, 3412, 0, 0, 0, 0, 0, 0, 2040, 0,
0, 2041, 2042, 2043, 0, 2044, 2045, 2046, 2047, 2048,
2049, 0, 0, 0, 0, 4162, 0, 0, 0, 0,
0, 0, 0, 0, 4309, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 3220, 0, 0,
0, 3220, 3220, 0, 3220, 0, 2031, 0, 0, 3827,
0, 2032, 0, 0, 0, 0, 0, 0, 2040, 0,
0, 2041, 2042, 2043, 0, 2044, 2045, 2046, 2047, 2048,
2049, 0, 0, 2033, 2034, 4458, 989, 0, 0, 0,
0, 2031, 0, 0, 998, 0, 2032, 0, 2035, 0,
0, 1011, 1012, 0, 0, 1018, 0, 1021, 1022, 0,
0, 0, 1024, 0, 0, 0, 0, 2021, 2033, 2034,
2022, 0, 0, 1042, 2023, 2024, 2025, 0, 0, 0,
0, 2036, 0, 2035, 0, 0, 0, 0, 1052, 0,
0, 2026, 0, 0, 0, 2037, 0, 0, 2038, 2028,
0, 0, 0, 0, 0, 0, 2029, 0, 4411, 0,
0, 0, 0, 1120, 0, 1122, 2036, 0, 0, 0,
0, 0, 0, 0, 0, 1138, 0, 0, 0, 0,
2037, 2030, 0, 2038, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 601, 2021, 0,
0, 2022, 0, 0, 0, 2023, 2024, 2025, 0, 0,
0, 0, 0, 4447, 4447, 4447, 0, 4447, 4447, 4447,
4447, 4447, 2026, 0, 0, 2039, 0, 0, 1192, 0,
2028, 737, 737, 0, 0, 0, 0, 2029, 0, 0,
0, 0, 0, 0, 0, 737, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2039, 0, 2030, 0, 0, 0, 0, 861, 870, 0,
0, 0, 0, 0, 0, 861, 0, 870, 861, 0,
2021, 2031, 823, 2022, 0, 0, 2032, 2023, 2024, 2025,
0, 870, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2026, 0, 0, 0, 2033, 2034,
0, 0, 2028, 0, 0, 0, 1428, 0, 0, 2029,
0, 0, 2040, 2035, 0, 2041, 2042, 2043, 0, 2044,
2045, 2046, 2047, 2048, 2049, 0, 0, 0, 0, 4493,
0, 0, 0, 0, 2030, 0, 4532, 0, 4534, 0,
0, 0, 0, 0, 0, 0, 2036, 2040, 0, 0,
2041, 2042, 2043, 0, 2044, 2045, 2046, 2047, 2048, 2049,
2037, 0, 2031, 2038, 4741, 0, 0, 2032, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1600, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2033,
2034, 0, 0, 0, 0, 0, 0, 0, 0, 1711,
0, 0, 0, 0, 2035, 0, 0, 0, 0, 0,
0, 1722, 0, 0, 0, 0, 1725, 0, 4429, 0,
0, 5203, 4431, 0, 0, 0, 1728, 0, 0, 0,
0, 1732, 0, 0, 0, 0, 0, 2036, 0, 1735,
0, 0, 0, 0, 2031, 1745, 0, 0, 1749, 2032,
2039, 2037, 0, 0, 2038, 0, 0, 0, 2021, 0,
0, 2022, 0, 0, 0, 2023, 2024, 2025, 0, 0,
0, 2033, 2034, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2026, 0, 0, 0, 2035, 0, 0, 1803,
2028, 0, 0, 0, 0, 0, 0, 2029, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 4633, 4634, 0, 0, 2036,
0, 0, 2030, 0, 0, 0, 3220, 0, 3220, 3220,
0, 0, 3220, 2037, 0, 0, 2038, 0, 0, 0,
0, 2039, 0, 0, 0, 0, 0, 2040, 0, 0,
2041, 2042, 2043, 0, 2044, 2045, 2046, 2047, 2048, 2049,
0, 0, 0, 0, 4752, 0, 0, 737, 0, 737,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 4693, 0, 0, 0, 0, 0,
0, 0, 0, 0, 601, 0, 601, 0, 601, 0,
601, 0, 601, 601, 601, 0, 0, 0, 0, 601,
0, 0, 0, 2039, 0, 0, 0, 0, 4719, 0,
1951, 0, 2031, 4570, 0, 0, 0, 2032, 2040, 0,
0, 2041, 2042, 2043, 0, 2044, 2045, 2046, 2047, 2048,
2049, 0, 0, 0, 0, 4761, 0, 0, 0, 2033,
2034, 4447, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2035, 4594, 4595, 0, 0, 0,
0, 0, 0, 870, 0, 0, 0, 0, 0, 870,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 870, 0, 0, 0, 0, 2036, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 870, 0,
2040, 2037, 0, 2041, 2042, 2043, 0, 2044, 2045, 2046,
2047, 2048, 2049, 861, 870, 0, 0, 4764, 0, 0,
861, 0, 870, 861, 0, 0, 0, 0, 737, 0,
0, 0, 0, 0, 0, 0, 870, 5426, 0, 0,
0, 4636, 4637, 0, 0, 0, 870, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2021, 0,
0, 2022, 0, 0, 0, 2023, 2024, 2025, 0, 0,
0, 0, 0, 0, 0, 823, 0, 3838, 0, 0,
0, 2039, 2026, 0, 0, 0, 0, 0, 5426, 0,
2028, 0, 0, 0, 0, 0, 0, 2029, 0, 0,
0, 0, 847, 849, 5426, 0, 853, 2021, 0, 0,
2022, 0, 0, 0, 2023, 2024, 2025, 0, 0, 0,
3220, 870, 2030, 0, 0, 0, 909, 0, 0, 0,
0, 2026, 0, 919, 0, 0, 0, 0, 0, 2028,
0, 0, 0, 0, 0, 0, 2029, 0, 0, 4732,
0, 4733, 4734, 0, 0, 0, 2240, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 4738, 0, 0,
0, 2030, 0, 0, 0, 0, 0, 0, 2040, 0,
0, 2041, 2042, 2043, 0, 2044, 2045, 2046, 2047, 2048,
2049, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2331, 0, 0, 0,
0, 0, 2031, 0, 0, 0, 0, 2032, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2033,
2034, 0, 0, 0, 1702, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2035, 0, 0, 0, 0, 0,
0, 2031, 861, 0, 0, 0, 2032, 0, 861, 0,
0, 861, 0, 2021, 0, 0, 2022, 0, 0, 0,
2023, 2024, 2025, 0, 0, 0, 0, 2036, 2033, 2034,
0, 0, 0, 0, 0, 0, 0, 2026, 0, 0,
0, 2037, 0, 2035, 2038, 2028, 0, 0, 0, 0,
0, 0, 2029, 5047, 5047, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1045, 0, 0,
0, 5067, 0, -129, 0, 0, 2036, 2030, 0, 0,
0, 5075, 0, 0, 0, 0, 0, 0, 0, 0,
2037, 1, 0, 2038, 0, 0, 0, 0, 0, 0,
0, 2, 0, 3, 4, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 5,
0, 0, 0, 0, 0, 0, 0, 0, 6, 0,
0, 2039, 0, 0, 0, 0, 0, 0, 0, 0,
7, 0, 8, 9, 873, 0, 0, 0, 0, 10,
0, 11, 0, 0, 0, 0, 907, 0, 0, 0,
870, 0, 12, 0, 13, 0, 0, 925, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 870, 0,
2039, 14, 0, 4965, 15, 0, 0, 2031, 0, 0,
0, 0, 2032, 0, 2492, 870, 0, 0, 16, 0,
17, 0, 0, 0, 18, 0, 0, 0, 0, 0,
19, 0, 0, 0, 2033, 2034, 0, 0, 20, 0,
21, 0, 0, 870, 0, 0, 22, 0, 2040, 2035,
0, 2041, 2042, 2043, 870, 2044, 2045, 2046, 2047, 2048,
2049, 0, 23, 0, 0, 4811, 0, 992, 0, 870,
0, 995, 870, 0, 5011, 0, 0, 0, 0, 24,
0, 0, 2036, 1045, 0, 1020, 0, 5209, 0, 5210,
0, 0, 1025, 5215, 5216, 0, 2037, 2040, 0, 2038,
2041, 2042, 2043, 0, 2044, 2045, 2046, 2047, 2048, 2049,
0, 0, 0, 0, 4846, 0, 0, 0, 0, 25,
26, 0, 0, 0, 0, 27, 5058, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 28, 0, 0,
0, 2615, 0, 2616, 0, 0, 0, 0, 0, 29,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2627, 0, 2628, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 601, 0, 601, 0,
601, 0, 601, 0, 601, 0, 2039, 0, 601, 0,
870, 0, 30, 0, 0, 0, 0, 0, 870, 870,
0, 0, 0, 0, 0, 0, 31, 0, 0, 0,
0, 0, 32, 33, 0, 34, 0, 0, 0, 5047,
35, 5047, 0, 0, 0, 36, 0, 0, 37, 0,
0, 0, 0, 0, 0, 38, 0, 0, 0, 0,
0, 39, 40, 0, 0, 0, 0, 0, 0, 41,
0, 0, 0, 42, 0, 0, 0, 0, 0, 0,
0, 0, 0, 43, 0, 0, 0, 1702, 0, 0,
0, 0, 0, 0, 0, 0, 44, 0, 0, 0,
0, 0, 0, 2040, 0, 0, 2041, 2042, 2043, 0,
2044, 2045, 2046, 2047, 2048, 2049, 45, 0, 0, 0,
4887, 0, 0, 0, 0, 0, 46, 0, 0, 0,
0, 0, 47, 0, 0, 0, 0, 48, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1045, 0, 0,
49, 1497, 1498, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 50, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 51, 939, 0,
-129, 0, 0, 0, 986, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5047, 0, 0, 0, 0, 0, 0, 0, 0, 5427,
0, 0, 0, 2914, 2915, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1731,
0, 0, 2930, 2931, 0, 0, 0, 2934, 2935, 0,
0, 0, 2938, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2949, 0, 1756, 1757,
870, 0, 0, 2958, 0, 0, 0, 2961, 2962, 0,
5427, 2965, 2966, 0, 0, 0, 0, 0, 2971, 0,
0, 0, 0, 0, 1798, 0, 5427, 0, 0, 0,
0, 0, 0, 2990, 0, 2992, 0, 0, 0, 2021,
0, 0, 2022, 0, 0, 0, 2023, 2024, 2025, 0,
0, 0, 0, 0, 3016, 0, 0, 0, 0, 3018,
0, 0, 0, 2026, 0, 0, 0, 0, 1191, 0,
0, 2028, 3023, 0, 0, 0, 0, 0, 2029, 0,
0, 3030, 0, 0, 3034, 0, 0, 3037, 3040, 3042,
0, 0, 5372, 1314, 3050, 3053, 0, 0, 1867, 1869,
0, 0, 0, 2030, 3066, 0, 0, 0, 0, 3075,
0, 0, 1337, 0, 3079, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3095, 0, 0, 0, 1365, 0, 0, 3105, 3106, 0,
0, 0, 0, 3110, 0, 0, 0, 0, 0, 0,
0, 1702, 0, 0, 3125, 3126, 0, 0, 0, 3129,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 3136, 0, 0, 3139, 870, 0, 0, 1496, 3142,
0, 0, 0, 870, 3144, 3145, 0, 0, 0, 3148,
0, 0, 3152, 0, 0, 870, 3159, 3160, 3161, 3162,
0, 3164, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2031, 3189, 3190, 0, 3192, 2032, 0,
0, 0, 0, 869, 0, 0, 0, 3200, 3201, 0,
0, 0, 869, 0, 0, 0, 0, 0, 0, 0,
2033, 2034, 0, 0, 0, 0, 869, 0, 0, 0,
0, 0, 0, 0, 0, 2035, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 861, 861, 0,
870, 870, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 861, 0, 870, 861, 0, 0, 2036, 0,
0, 0, 3258, 0, 0, 0, 0, 870, 870, 0,
0, 0, 2037, 1754, 0, 2038, 0, 0, 0, 0,
0, 0, 0, 870, 0, 0, 0, 0, 0, 0,
3295, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1792, 1795, 1796, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 861, 0, 0, 861, 861,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2039, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1702, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2299, 0,
0, 0, 0, 0, 0, 0, 0, 1314, 0, 0,
0, 0, 0, 0, 0, 0, 0, 3430, 0, 2040,
0, 0, 2041, 2042, 2043, 0, 2044, 2045, 2046, 2047,
2048, 2049, 0, 1314, 0, 0, 5195, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 3448, 0,
0, 0, 0, 0, 2021, 0, 0, 2022, 0, 0,
0, 2023, 2024, 2025, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2026, 0,
0, 0, 0, 0, 0, 0, 2028, 0, 870, 0,
0, 0, 0, 2029, 0, 0, 0, 0, 0, 2402,
2403, 2404, 2405, 0, 0, 0, 870, 0, 0, 0,
0, 1702, 870, 0, 0, 0, 870, 0, 2030, 0,
0, 0, 0, 0, 870, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 870, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 861, 0, 0, 861, 861, 2092,
0, 0, 0, 0, 0, 0, 0, 0, 869, 0,
0, 0, 0, 0, 869, 0, 0, 0, 870, 0,
0, 0, 0, 0, 0, 0, 0, 869, 0, 0,
0, 0, 0, 0, 0, 0, 870, 870, 0, 0,
0, 0, 0, 869, 0, 0, 0, 0, 0, 2145,
0, 0, 0, 0, 0, 0, 0, 0, 2031, 869,
0, 0, 0, 2032, 0, 0, 0, 869, 1702, 870,
2455, 2456, 1702, 0, 0, 0, 0, 0, 0, 0,
0, 869, 0, 0, 0, 2033, 2034, 0, 0, 0,
0, 869, 0, 2482, 0, 870, 0, 1702, 0, 0,
2035, 0, 870, 0, 0, 0, 0, 0, 870, 0,
0, 0, 0, 0, 0, 870, 0, 0, 0, 870,
0, 0, 0, 0, 870, 0, 0, 2271, 2527, 2528,
2529, 2530, 3647, 2036, 0, 0, 3649, 2295, 0, 0,
0, 0, 3651, 0, 870, 0, 0, 2037, 0, 870,
2038, 0, 0, 870, 0, 0, 1702, 0, 0, 0,
3662, 3664, 0, 0, 0, 3664, 870, 0, 2332, 0,
3675, 3676, 3677, 0, 3679, 0, 869, 0, 0, 870,
0, 0, 0, 0, 0, 0, 0, 0, 0, 870,
0, 2355, 0, 0, 2358, 0, 0, 3701, 0, 0,
0, 0, 0, 0, 0, 0, 0, 3707, 3708, 3709,
3710, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 2039, 0, 0,
0, 0, 0, 0, 3727, 2406, 2625, 3732, 3733, 3734,
0, 0, 2629, 0, 0, 0, 0, 1702, 0, 2424,
0, 0, 0, 0, 0, 3754, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 3762, 0, 0, 2021, 0,
0, 2022, 0, 0, 0, 2023, 2024, 2025, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2026, 0, 0, 0, 0, 0, 0, 1701,
2028, 0, 0, 0, 0, 0, 0, 2029, 0, 0,
0, 0, 0, 0, 2040, 870, 0, 2041, 2042, 2043,
0, 2044, 2045, 2046, 2047, 2048, 2049, 0, 0, 0,
0, 5323, 2030, 0, 0, 0, 0, 3804, 0, 0,
0, 0, 0, 0, 0, 3808, 0, 0, 0, 0,
2447, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2795, 0, 0, 0, 0, 0, 0, 0, 0,
870, 0, 0, 0, 0, 0, 3822, 0, 0, 0,
0, 2021, 0, 0, 2022, 0, 0, 0, 2023, 2024,
2025, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 3868, 2501, 2026, 0, 0, 0, 0,
0, 0, 870, 2028, 0, 0, 0, 0, 0, 0,
2029, 0, 0, 0, 0, 0, 0, 0, 0, 0,
870, 0, 0, 2544, 0, 0, 0, 0, 870, 0,
2557, 0, 2031, 0, 0, 2030, 0, 2032, 861, 0,
0, 861, 0, 0, 861, 3905, 0, 0, 0, 0,
3911, 0, 0, 0, 0, 0, 0, 0, 0, 2033,
2034, 0, 0, 0, 0, 869, 0, 0, 0, 0,
0, 0, 0, 0, 2035, 0, 0, 0, 0, 0,
0, 3948, 0, 869, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
869, 0, 0, 0, 0, 0, 0, 2036, 0, 0,
1702, 0, 0, 0, 0, 0, 1702, 0, 0, 0,
3964, 2037, 3965, 0, 2038, 0, 0, 0, 869, 0,
0, 0, 0, 0, 0, 0, 2632, 0, 0, 869,
0, 0, 2977, 2978, 0, 2031, 0, 0, 0, 0,
2032, 0, 0, 2991, 869, 2993, 0, 869, 0, 2997,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2033, 2034, 0, 0, 1314, 1314, 0, 0,
0, 0, 0, 0, 0, 0, 0, 2035, 0, 0,
0, 2021, 870, 2683, 2022, 0, 0, 0, 2023, 2024,
2025, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2039, 0, 0, 0, 2026, 0, 0, 0, 0,
2036, 0, 0, 2028, 0, 0, 0, 0, 0, 0,
2029, 0, 0, 0, 2037, 0, 0, 2038, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2030, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 869, 0, 0, 0, 0,
870, 870, 0, 869, 869, 0, 0, 0, 0, 3135,
2844, 0, 3138, 0, 0, 0, 0, 0, 0, 0,
2850, 0, 0, 0, 0, 0, 0, 870, 2040, 0,
870, 2041, 2042, 2043, 0, 2044, 2045, 2046, 2047, 2048,
2049, 0, 0, 0, 2039, 5392, 0, 0, 0, 1365,
0, 0, 0, 0, 0, 0, 0, 1365, 0, 1365,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1701, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2031, 0, 0, 0, 0,
2032, 3223, 1314, 0, 0, 4179, 0, 4180, 0, 3230,
0, 0, 3233, 0, 4182, 0, 0, 0, 3235, 0,
0, 0, 2033, 2034, 0, 1702, 1702, 1702, 0, 0,
4192, 0, 3251, 0, 0, 0, 0, 2035, 0, 0,
0, 0, 0, 0, 0, 0, 4200, 0, 0, 870,
0, 2040, 0, 0, 2041, 2042, 2043, 0, 2044, 2045,
2046, 2047, 2048, 2049, 0, 4221, 0, 0, 5445, 870,
2036, 0, 0, 3297, 0, 0, 0, 0, 0, 0,
0, 0, 0, 4225, 2037, 0, 0, 2038, 870, 0,
1465, 0, 0, 4234, 0, 0, 1466, 0, 0, 0,
0, 3320, 0, 1532, 0, 0, 0, 0, 0, 0,
0, 0, 4263, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1533, 0, 0, 4271, 4272, 4273, 0, 0,
0, 0, 4277, 4278, 4279, 4280, 0, 0, 1468, 4282,
4283, 0, 0, 0, 3033, 4290, 4291, 0, 4293, 4294,
4295, 4296, 4297, 4298, 0, 4300, 3380, 0, 3382, 0,
3056, 0, 0, 0, 4308, 0, 0, 4311, 4312, 0,
870, 0, 1534, 0, 2039, 869, 0, 0, 0, 0,
0, 3083, 0, 0, 0, 0, 0, 2021, 0, 0,
2022, 3664, 1470, 0, 2023, 2024, 2025, 0, 0, 1471,
0, 0, 1472, 0, 0, 0, 0, 0, 0, 0,
0, 2026, 0, 4333, 0, 0, 0, 0, 0, 2028,
0, 1702, 0, 0, 0, 0, 2029, 1473, 870, 0,
870, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 870, 0, 870, 0, 0, 0, 0,
0, 2030, 0, 0, 0, 3157, 3158, 0, 1535, 0,
0, 1474, 0, 0, 0, 0, 3447, 1702, 0, 0,
0, 2040, 0, 0, 2041, 2042, 2043, 0, 2044, 2045,
2046, 2047, 2048, 2049, 0, 0, 0, 0, 5458, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1536, 0, 870, 1537,
0, 3664, 0, 0, 0, 0, 0, 0, 0, 0,
1538, 0, 1476, 0, 0, 0, 1701, 0, 0, 0,
0, 0, 1477, 0, 0, 0, 0, 0, 0, 0,
0, 1478, 0, 0, 0, 4441, 0, 0, 0, 0,
869, 0, 1539, 1479, 0, 0, 0, 0, 869, 870,
0, 2031, 0, 3284, 0, 0, 2032, 0, 0, 0,
869, 0, 0, 0, 0, 0, 0, 870, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2033, 2034,
0, 3130, 0, 0, 1481, 1482, 1541, 0, 0, 870,
0, 0, 870, 2035, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1542, 0,
0, 0, 0, 0, 3131, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2036, 0, 1544, 0,
0, 0, 0, 0, 0, 869, 869, 0, 0, 0,
2037, 0, 0, 2038, 0, 0, 0, 0, 0, 869,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 869, 869, 0, 0, 0, 0, 0, 0,
0, 0, 1702, 0, 0, 0, 0, 0, 869, 1484,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 3653, 0, 3654, 3655, 3656, 0, 0,
2039, 0, 0, 0, 0, 0, 0, 3429, 0, 0,
0, 4574, 0, 0, 0, 4575, 4576, 4577, 4578, 0,
0, 4580, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 4599, 4600, 4601, 0, 4602, 0, 4604,
4605, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1701, 4614, 4615, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 870, 0, 2040, 4620, 0,
2041, 2042, 2043, 0, 2044, 2045, 2046, 2047, 2048, 2049,
0, 0, 2443, 0, 0, 2021, 0, 0, 2022, 0,
0, 4631, 2023, 2024, 2025, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2026,
0, 0, 0, 2870, 0, 0, 1702, 2028, 0, 0,
0, 1702, 0, 1702, 2029, 0, 0, 0, 0, 0,
0, 0, 3559, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1702, 0, 0, 0, 2030,
0, 0, 0, 0, 0, 1365, 0, 0, 0, 0,
0, 0, 0, 869, 1702, 0, 0, 0, 4684, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
870, 869, 0, 870, 0, 0, 1701, 869, 0, 0,
0, 869, 0, 0, 0, 0, 0, 4712, 2871, 869,
0, 0, 0, 3815, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 869, 0, 0,
0, 0, 4735, 0, 0, 0, 0, 0, 2021, 0,
0, 2022, 0, 0, 0, 2023, 2024, 2025, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2026, 0, 1094, 0, 0, 0, 0, 2031,
2028, 0, 0, 869, 2032, 0, 0, 2029, 0, 0,
0, 0, 0, 0, 0, 870, 870, 0, 0, 0,
1094, 869, 869, 0, 0, 870, 2033, 2034, 0, 0,
0, 0, 2030, 0, 0, 0, 0, 0, 0, 0,
0, 2035, 0, 0, 870, 0, 0, 0, 0, 0,
0, 0, 0, 1701, 869, 0, 0, 1701, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 601, 0,
0, 0, 0, 0, 2036, 0, 0, 0, 0, 0,
869, 0, 1701, 0, 0, 0, 0, 869, 2037, 0,
0, 2038, 0, 869, 0, 0, 0, 0, 0, 0,
869, 0, 0, 0, 869, 0, 0, 0, 0, 869,
0, 0, 0, 0, 0, 0, 3968, 870, 3498, 0,
0, 0, 0, 3499, 0, 0, 0, 0, 0, 869,
4835, 0, 3749, 0, 869, 0, 0, 0, 869, 0,
0, 1701, 2031, 0, 0, 0, 0, 2032, 4845, 0,
0, 869, 0, 4850, 4851, 0, 0, 0, 0, 0,
0, 0, 0, 0, 869, 0, 0, 0, 0, 2033,
2034, 0, 0, 0, 869, 0, 0, 0, 2039, 0,
0, 0, 0, 0, 2035, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 4911, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 2036, 0, 0,
0, 0, 0, 0, 0, 0, 4928, 0, 0, 0,
0, 2037, 0, 0, 2038, 2872, 0, 0, 0, 0,
0, 0, 1701, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1290, 1290, 0, 1616, 0, 0,
0, 0, 3664, 0, 0, 0, 0, 0, 0, 4964,
0, 0, 0, 1094, 0, 2040, 0, 0, 2041, 2042,
2043, 0, 2044, 2045, 2046, 2047, 2048, 2049, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1094, 3871,
3872, 3873, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1094, 0, 0, 3882, 0, 0, 0,
869, 2039, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 5004, 870, 0, 0, 3898,
0, 1702, 0, 0, 0, 0, 0, 0, 0, 3908,
3910, 0, 0, 0, 3915, 0, 0, 5021, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 5029, 0,
0, 0, 0, 0, 870, 869, 0, 0, 4185, 4186,
4187, 4188, 0, 0, 0, 0, 870, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1094, 0,
0, 1613, 1617, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 870, 0, 0, 0, 869, 2040, 0,
0, 2041, 2042, 2043, 0, 2044, 2045, 2046, 2047, 2048,
2049, 5098, 0, 0, 0, 869, 0, 0, 0, 0,
0, 0, 0, 869, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2021, 0, 0, 2022, 0, 1314, 0, 2023, 2024, 2025,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2026, 0, 0, 0, 0, 0,
0, 0, 2028, 3664, 0, 0, 0, 0, 0, 2029,
0, 0, 0, 0, 0, 0, 0, 1094, 870, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2030, 1701, 0, 0, 0, 0,
0, 1701, 0, 0, 0, 0, 2021, 0, 0, 2022,
0, 0, 0, 2023, 2024, 2025, 0, 0, 0, 0,
0, 0, 0, 0, 5183, 0, 0, 0, 0, 0,
2026, 0, 0, 0, 0, 4329, 0, 0, 2028, 5196,
0, 4332, 0, 0, 0, 2029, 0, 0, 0, 0,
0, 0, 870, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 4089, 4090, 4091, 0, 0, 0, 0,
2030, 0, 0, 0, 0, 0, 0, 869, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1093, 5226, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2031, 0, 0, 0, 5237, 2032,
0, 0, 0, 0, 0, 0, 0, 0, 1093, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2033, 2034, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2035, 0, 0, 0,
0, 0, 0, 1978, 0, 5352, 0, 0, 870, 0,
870, 0, 0, 0, 0, 869, 869, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2036,
2031, 0, 0, 1992, 0, 2032, 2167, 0, 5296, 0,
0, 0, 869, 2037, 0, 869, 2038, 0, 0, 0,
0, 0, 0, 0, 0, 870, 0, 2033, 2034, 0,
0, 2010, 2011, 2012, 861, 2014, 0, 0, 0, 0,
4049, 0, 2035, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 5319, 0, 2056, 0, 0, 0, 2021,
0, 0, 2022, 0, 0, 0, 2023, 2024, 2025, 0,
0, 2167, 1702, 0, 0, 2036, 0, 0, 861, 0,
0, 0, 0, 2026, 0, 0, 3457, 0, 0, 2037,
0, 2028, 2038, 0, 0, 0, 0, 0, 2029, 0,
1701, 1701, 1701, 2039, 0, 0, 0, 0, 0, 0,
0, 1084, 1094, 0, 5353, 0, 0, 0, 0, 4050,
0, 0, 0, 2030, 869, 0, 0, 2112, 0, 0,
0, 2124, 2129, 0, 0, 0, 0, 1084, 0, 0,
5385, 0, 0, 0, 869, 1094, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 869, 0, 0, 0, 0, 0, 0,
0, 4330, 0, 0, 0, 0, 0, 0, 0, 2039,
0, 0, 4343, 0, 0, 0, 0, 0, 0, 0,
0, 1093, 0, 0, 0, 0, 0, 0, 0, 0,
2040, 0, 0, 2041, 2042, 2043, 0, 2044, 2045, 2046,
2047, 2048, 2049, 4374, 0, 0, 1093, 0, 0, 0,
1616, 1616, 1616, 0, 0, 0, 0, 0, 0, 0,
0, 1093, 0, 2031, 0, 0, 0, 0, 2032, 0,
0, 0, 0, 0, 0, 869, 0, 2557, 0, 0,
0, 612, 0, 0, 0, 0, 613, 1702, 0, 0,
2033, 2034, 0, 0, 0, 0, 0, 0, 614, 0,
0, 0, 0, 0, 0, 2035, 2040, 0, 0, 2041,
2042, 2043, 870, 2044, 2045, 2046, 2047, 2048, 2049, 0,
0, 615, 2632, 0, 870, 0, 1701, 4628, 0, 0,
0, 0, 0, 869, 616, 869, 0, 0, 2036, 0,
0, 0, 4632, 0, 0, 617, 1093, 0, 869, -865,
869, 0, 2037, 1094, 0, 2038, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 618, 0, 0,
1094, 0, 1701, 619, 0, 0, 0, 0, 0, 2167,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
620, 1094, 0, 0, 1613, 1613, 1613, 0, 0, 0,
0, 621, 0, 0, 0, 0, 0, 0, 0, 622,
0, 0, 0, 869, 0, 0, 0, 0, 0, 0,
1084, 623, 0, 0, 0, 0, 0, 0, 0, 624,
0, 4697, 0, 625, 0, 0, 0, 0, 4500, 4501,
4502, 4503, 2039, 0, 0, 1084, 0, 1094, 0, 0,
0, 0, -1094, 0, 0, 1093, 0, 0, 0, 0,
1084, 1094, 0, 0, 869, 0, 0, 0, 0, 0,
0, 0, 0, 1094, 0, 0, 0, 0, 0, 0,
0, 0, 869, 0, 0, 1094, 0, 0, 0, 626,
0, 0, 0, 0, 0, 0, 0, 0, -583, 0,
0, 0, 0, 0, 869, 0, 0, 869, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1702, 0,
870, 0, 0, 0, 0, 0, 0, 0, 0, 1094,
1094, 0, 627, 0, 0, 628, 0, 0, 0, 2040,
0, 0, 2041, 2042, 2043, 1084, 2044, 2045, 2046, 2047,
2048, 2049, 0, 0, 0, 629, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 630,
0, 0, 0, 0, 0, 0, -457, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1701, 0, 0,
0, 0, 0, 0, 0, 631, 2077, 0, 0, 4816,
4817, 4817, 0, 0, 632, 0, 0, 0, 0, 0,
0, -457, 0, 1702, 633, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 870, 0, 634, 0, 0, 0, 0, 0, 635,
0, 0, 0, 0, -457, 861, 0, 636, 637, 0,
638, 639, 0, 0, 1084, 0, 0, 0, 0, 0,
870, 640, 0, 1086, 1093, 1094, 641, 0, 0, 0,
0, 0, 642, 0, 0, 643, 0, 0, 644, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1086,
0, -457, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1616, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 861,
861, 0, 0, 0, 0, 0, 0, 0, 0, 1093,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
869, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 4948, 0, 0,
0, 0, 0, 0, 870, 0, 0, 2726, 0, 0,
1093, 0, 0, 0, 0, 4726, 0, 0, 0, 0,
2746, 0, 2748, 0, 0, 2760, 2763, 2768, 0, 0,
0, 1701, 2774, 0, 0, 2779, 1701, 0, 1701, 0,
2918, 0, 0, 1093, 2167, 2924, 0, 0, 0, 0,
2786, 2787, 2788, 2789, 0, 0, 0, 0, 2796, 0,
1701, 0, 2808, 0, 0, 2810, 0, 0, 2817, 2818,
2819, 2820, 2821, 2822, 2823, 2824, 2825, 0, 2826, 1701,
0, 0, 0, 0, 0, 1290, 1702, 1613, 0, 0,
0, 0, 0, 0, 0, 869, 0, 0, 869, 0,
0, 0, 0, 1084, 0, 0, 1094, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1094, 0, 0, 0, 0, 0, 0, 2863, 0, 0,
0, 0, 1087, 0, 0, 0, 0, 0, 0, 5054,
0, 5056, 0, 0, 0, 0, 0, 1702, 0, 0,
0, 0, 2011, 2012, 0, 0, 0, 0, 1087, 0,
1094, 0, 0, 1702, 0, 861, 861, 0, 1084, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1086, 0, 0, 0, 0, 0, 0, 0,
869, 869, 0, 0, 0, 0, 0, 0, 0, 0,
869, 0, 0, 0, 0, 0, 0, 1086, 0, 1084,
0, 0, 0, 0, 0, 0, 0, 0, 0, 869,
0, 1093, 1086, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2963, 0, 0, 0, 1093, 0,
0, 0, 1084, 0, 0, 0, 4885, 1093, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1093,
0, 4897, 0, 0, 0, 0, 1314, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 4932, 869, 4817, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1086, 0, 0,
0, 0, 0, 0, 0, 1093, 0, 0, 0, 0,
0, 0, 0, 1616, 0, 0, 0, 0, 0, 1093,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1093, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1093, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1094, 0, 0, 0, 0, 2021, 0,
1089, 2022, 0, 0, 0, 2023, 2024, 2025, 0, 0,
0, 0, 5233, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2026, 0, 0, 0, 1089, 1093, 1093, 0,
2028, 0, 0, 0, 0, 0, 0, 2029, 0, 0,
0, 1087, 0, 5017, 0, 0, 1086, 0, 0, 0,
1084, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2030, 0, 0, 0, 1087, 1084, 0, 0,
0, 0, 0, 0, 0, 2167, 1084, 0, 0, 0,
0, 1087, 0, 0, 0, 0, 0, 0, 1084, 0,
0, 0, 0, 0, 0, 3211, 3212, 1613, 0, 0,
0, 3216, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 5304, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 3249, 0, 0, 5105,
0, 869, 0, 0, 1084, 0, 1701, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1084, 0,
0, 0, 0, 1093, 0, 0, 1087, 0, 0, 0,
1084, 0, 2031, 0, 0, 0, 0, 2032, 0, 869,
0, 0, 1084, 0, 0, 0, 0, 0, 0, 0,
0, 869, 0, 1094, 0, 0, 0, 0, 0, 2033,
2034, 0, 0, 0, 0, 0, 0, 0, 0, 5378,
1094, 0, 0, 0, 2035, 0, 0, 0, 869, 0,
0, 0, 0, 0, 0, 1094, 1084, 1084, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 4817, 4817, 0, 0, 0, 2036, 0, 0,
0, 0, 0, 0, 0, 1086, 0, 0, 0, 0,
0, 2037, 0, 0, 2038, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1087, 0, 0, 0, 1089,
0, 0, 3471, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1093, 0,
0, 0, 1093, 1093, 1089, 0, 0, 0, 0, 0,
0, 0, 0, 869, 0, 0, 0, 0, 0, 1089,
1086, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 4817, 0, 0, 2021, 0, 0, 2022, 0,
0, 2039, 2023, 2024, 2025, 0, 0, 0, 664, 0,
0, 1086, 1084, 665, 1093, 0, 0, 0, 0, 2026,
0, 0, 3503, 0, 0, 666, 0, 2028, 1093, 0,
3453, 0, 0, 0, 2029, 3459, 0, 869, 0, 0,
0, 0, 0, 0, 1086, 0, 0, 0, 667, 0,
0, 0, 0, 0, 1089, 0, 0, 0, 0, 2030,
2014, 668, 0, 0, 0, 0, 0, 0, 1093, 0,
0, 2768, 0, 2768, 2768, 0, 669, 0, 0, 0,
2167, 0, 0, 2924, 3517, 2924, 0, 3520, 0, 3522,
2167, 0, 0, 0, 670, 0, 0, 0, 2040, 0,
0, 2041, 2042, 2043, 0, 2044, 2045, 2046, 2047, 2048,
2049, 0, 0, 0, 0, 0, 0, 671, 3540, 0,
3543, 0, 3545, 0, 0, 0, 0, 0, 672, 0,
0, 0, 0, 0, 1087, 0, 673, 0, 0, 1094,
0, 0, 0, 869, 0, 869, 0, 1084, 674, 0,
0, 1084, 1084, 675, 0, 0, 0, 0, 1094, 0,
676, 0, 0, 1089, 0, 0, 0, 0, 0, 2031,
0, 0, 0, 0, 2032, 0, 2112, 0, 0, 677,
0, 0, 0, 2167, 0, 0, 0, 0, 0, 0,
869, 2129, 0, 0, 0, 0, 2033, 2034, 0, 1087,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2035, 0, 1084, 0, 0, 0, 0, 0, 0,
0, 0, 1086, 0, 0, 678, 0, 1084, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1701, 0, 1086,
1087, 0, 0, 0, 2036, 0, 0, 0, 1086, 0,
0, 0, 0, 0, 1094, 3633, 1094, 0, 2037, 679,
1086, 2038, 0, 0, 0, 0, 0, 1084, 0, 0,
0, 1093, 680, 1087, 0, 0, 0, 0, 0, 0,
0, 0, 681, 0, 0, 0, 0, 0, 0, 0,
0, 0, 206, 682, 0, 0, 683, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1086, 0, 0, 0,
0, 0, 684, 0, 0, 685, 0, 0, 0, 686,
1086, 687, 0, 0, 0, 0, 0, 0, 688, 0,
0, 689, 1086, 0, 0, 1094, 0, 0, 2039, 0,
0, 0, 0, 1093, 1086, 0, 0, 0, 0, 0,
690, 0, 0, 0, 0, 0, 691, 0, 0, 0,
1616, 692, 1089, 0, 693, 0, 1616, 0, 694, 0,
0, 0, 0, 0, 1094, 0, 695, 0, 696, 0,
0, 0, 0, 697, 0, 0, 0, 0, 1086, 1086,
0, 0, 0, 0, 0, 698, 0, 0, 0, 2924,
0, 0, 0, 0, 0, 0, 0, 2924, 699, 0,
0, 0, 1701, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1089, 0, 0,
0, 0, 0, 0, 0, 2040, 0, 869, 2041, 2042,
2043, 1087, 2044, 2045, 2046, 2047, 2048, 2049, 0, 869,
0, 0, 0, 0, 0, 0, 0, 0, 1087, 0,
1084, 1093, 0, 0, 0, 0, 0, 1087, 1089, 0,
0, 0, 0, 0, 0, 0, 1094, 0, 1093, 1087,
0, 0, 0, 2021, 0, 0, 2022, 0, 0, 0,
2023, 2024, 2025, 1093, 2924, 0, 0, 0, 0, 0,
0, 1089, 0, 0, 1613, 0, 0, 2026, 1094, 0,
1613, 0, 0, 0, 0, 2028, 0, 0, 0, 0,
0, 0, 2029, 0, 1086, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1087, 0, 0, 0, 0,
0, 0, 1084, 0, 0, 0, 0, 2030, 0, 1087,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1087, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1087, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1094, 0, 0, 0, 0, 0, 0, 1087, 1087, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1094, 0, 0, 0, 0, 0, 0, 3508, 0,
0, 0, 0, 1701, 0, 869, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1094, 2031, 0, 1086,
1084, 0, 2032, 1086, 1086, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1084, 0, 1089,
0, 0, 0, 0, 2033, 2034, 0, 0, 0, 0,
1094, 0, 1084, 0, 0, 0, 1089, 0, 1093, 2035,
0, 1093, 0, 1093, 0, 1089, 0, 0, 1093, 0,
0, 0, 0, 0, 0, 0, 0, 1089, 0, 0,
0, 0, 0, 0, 0, 1086, 0, 0, 0, 0,
0, 0, 2036, 0, 0, 0, 0, 0, 1701, 1086,
0, 0, 0, 0, 0, 0, 2037, 0, 0, 2038,
0, 4003, 0, 1087, 0, 0, 869, 1093, 0, 0,
4007, 0, 0, 0, 0, 0, 4008, 0, 4009, 0,
0, 0, 0, 1089, 0, 0, 1093, 2167, 0, 1086,
0, 0, 0, 0, 0, 869, 0, 1089, 0, 0,
0, 0, 0, 0, 0, 4033, 4034, 0, 0, 1089,
0, 1093, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1089, 0, 2774, 0, 0, 0, 0, 0, 0,
0, 4059, 0, 0, 4062, 0, 4064, 0, 0, 0,
0, 0, 0, 0, 0, 4068, 2039, 0, 0, 0,
0, 0, 0, 4075, 4076, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1089, 1089, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1093, 0, 1093, 4122, 0, 2924, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1087, 869,
0, 0, 1087, 1087, 0, 0, 0, 1084, 0, 4135,
1084, 2924, 1084, 0, 0, 0, 0, 1084, 0, 0,
0, 0, 0, 0, 0, 4148, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2040, 0, 0, 2041, 2042, 2043, 0,
2044, 2045, 2046, 2047, 2048, 2049, 0, 0, 0, 0,
0, 0, 0, 0, 1087, 0, 1084, 0, 0, 0,
0, 0, 0, 1093, 0, 0, 0, 0, 1087, 0,
0, 1701, 0, 0, 0, 1084, 0, 0, 0, 0,
0, 0, 1086, 0, 0, 0, 0, 0, 0, 0,
0, 1089, 0, 0, 0, 0, 0, 0, 0, 0,
1084, 0, 1093, 0, 0, 0, 0, 0, 1087, 0,
0, 0, 0, 0, 0, 2021, 0, 0, 2022, 0,
0, 0, 2023, 2024, 2025, 0, 0, 1093, 0, 0,
0, 0, 1701, 0, 1094, 1093, 0, 0, 0, 2026,
0, 0, 3514, 0, 0, 0, 0, 2028, 1701, 0,
0, 0, 0, 0, 2029, 0, 0, 0, 0, 1090,
0, 0, 0, 0, 1086, 0, 0, 0, 0, 0,
0, 1084, 0, 1084, 0, 0, 0, 0, 0, 2030,
0, 0, 0, 0, 2167, 1090, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1093, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1093, 0, 0, 0, 1089, 0, 0, 0,
1089, 1089, 0, 0, 0, 0, 1093, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1092, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1084, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1092, 0, 0, 0, 0, 0, 0,
0, 0, 1086, 0, 0, 0, 0, 0, 0, 2031,
0, 0, 1089, 0, 2032, 0, 0, 0, 0, 1086,
0, 1084, 0, 0, 0, 0, 1089, 0, 0, 1094,
0, 1087, 0, 0, 1086, 0, 2033, 2034, 0, 1094,
0, 0, 0, 0, 0, 0, 1084, 0, 0, 4415,
4416, 2035, 0, 0, 1084, 0, 0, 0, 1093, 0,
0, 0, 0, 0, 0, 0, 1089, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1093,
0, 0, 0, 0, 2036, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2037, 0,
0, 2038, 0, 0, 1093, 0, 0, 0, 0, 0,
0, 0, 0, 1087, 0, 0, 0, 0, 0, 4456,
0, 0, 0, 1084, 0, 0, 0, 0, 0, 0,
4461, 0, 0, 0, 0, 0, 0, 0, 1093, 0,
0, 1084, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1094, 1084, 0, 2021, 1090, 0,
2022, 0, 0, 0, 2023, 2024, 2025, 0, 0, 0,
4476, 4478, 0, 0, 0, 0, 0, 4482, 4483, 0,
0, 2026, 4484, 1090, 0, 0, 0, 4487, 2039, 2028,
4490, 4491, 0, 1094, 0, 4495, 2029, 0, 1090, 0,
0, 4499, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1094, 0, 0, 0, 0, 0,
0, 2030, 0, 0, 0, 1093, 0, 0, 0, 0,
0, 1087, 0, 0, 0, 0, 0, 0, 0, 1086,
0, 0, 1086, 0, 1086, 0, 1092, 0, 1087, 1086,
0, 0, 0, 1290, 0, 0, 0, 1084, 0, 0,
0, 0, 0, 1087, 0, 0, 0, 0, 0, 1089,
0, 1092, 0, 0, 0, 0, 0, 0, 1084, 1094,
4554, 0, 0, 1090, 0, 2040, 1092, 0, 2041, 2042,
2043, 0, 2044, 2045, 2046, 2047, 2048, 2049, 1086, 0,
0, 0, 0, 1084, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1086, 0, 0,
0, 0, 0, 0, 0, 1093, 0, 0, 0, 0,
0, 2031, 0, 0, 0, 0, 2032, 1084, 0, 0,
0, 0, 1086, 0, 0, 0, 0, 0, 0, 1093,
0, 1089, 0, 0, 0, 0, 0, 0, 2033, 2034,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1092, 0, 2035, 0, 0, 0, 2021, 0, 0,
2022, 4617, 0, 0, 2023, 2024, 2025, 0, 0, 0,
0, 4723, 1090, 1094, 0, 0, 0, 0, 0, 0,
0, 2026, 0, 0, 4056, 0, 2036, 0, 0, 2028,
0, 0, 0, 1086, 0, 1086, 2029, 0, 0, 0,
2037, 0, 0, 2038, 1084, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1094,
0, 2030, 0, 0, 0, 0, 0, 0, 4655, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1087, 1089,
0, 1087, 0, 1087, 0, 0, 0, 0, 1087, 0,
1092, 0, 1093, 0, 0, 0, 1089, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1089, 0, 0, 1086, 0, 0, 0, 0, 0,
2039, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1084, 0, 0, 1087, 0, 0,
0, 0, 1093, 0, 0, 0, 0, 0, 0, 0,
4002, 0, 0, 1086, 0, 0, 1087, 0, 1084, 0,
0, 2031, 0, 0, 0, 0, 2032, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1086, 2924,
0, 1087, 0, 0, 0, 0, 1086, 0, 2033, 2034,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2035, 0, 0, 0, 0, 0, 0,
0, 1090, 0, 0, 0, 4758, 4759, 2040, 0, 4760,
2041, 2042, 2043, 0, 2044, 2045, 2046, 2047, 2048, 2049,
0, 0, 0, 0, 0, 0, 2036, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2037, 0, 1087, 2038, 1087, 1086, 4795, 4796, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1093, 0, 0,
0, 0, 4807, 1086, 0, 0, 1090, 1093, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1086, 0, 0,
0, 1084, 0, 0, 0, 0, 0, 0, 0, 1092,
0, 0, 0, 2924, 0, 0, 2021, 0, 0, 2022,
0, 0, 0, 2023, 2024, 2025, 1089, 1090, 0, 1089,
0, 1089, 0, 0, 0, 0, 1089, 1094, 0, 0,
2026, 0, 0, 0, 0, 0, 0, 0, 2028, 0,
2039, 1084, 0, 1087, 0, 2029, 0, 0, 0, 0,
1090, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1092, 0, 0, 1094, 0, 0,
2030, 0, 0, 0, 0, 1089, 0, 0, 0, 0,
0, 0, 1087, 0, 0, 0, 0, 0, 0, 1086,
0, 0, 1093, 0, 1089, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1092, 0, 1087, 0, 0,
1086, 0, 0, 0, 0, 1087, 0, 0, 0, 1089,
1094, 0, 0, 0, 0, 1094, 1094, 0, 0, 0,
0, 1093, 0, 0, 0, 1086, 0, 2040, 1092, 0,
2041, 2042, 2043, 0, 2044, 2045, 2046, 2047, 2048, 2049,
0, 0, 1093, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1084, 0, 0, 1086,
0, 0, 0, 2774, 0, 0, 1084, 0, 0, 0,
2031, 0, 0, 0, 1087, 2032, 0, 0, 0, 0,
1089, 0, 1089, 0, 0, 0, 0, 0, 0, 0,
0, 4987, 1087, 0, 0, 0, 0, 2033, 2034, 0,
0, 0, 0, 0, 0, 2014, 1087, 1093, 0, 0,
0, 0, 2035, 0, 0, 0, 0, 0, 1090, 0,
0, 0, 0, 0, 0, 0, 4723, 1094, 0, 0,
0, 0, 0, 0, 0, 1090, 0, 0, 0, 0,
0, 0, 0, 0, 1090, 2036, 1086, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1090, 0, 0, 2037,
0, 0, 2038, 0, 5036, 0, 0, 0, 0, 0,
0, 1089, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1084, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1092, 0, 1087, 0,
1089, 0, 1090, 0, 0, 0, 0, 0, 0, 0,
1084, 1093, 0, 1092, 0, 0, 1090, 0, 0, 1087,
0, 0, 1092, 0, 0, 1089, 0, 0, 1090, 0,
0, 1084, 0, 1089, 1092, 0, 1086, 0, 0, 2039,
1090, 0, 0, 0, 1087, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1093, 0, 0,
1086, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1087, 0,
0, 0, 0, 0, 1090, 1090, 0, 0, 0, 0,
1092, 0, 0, 0, 0, 0, 1084, 0, 0, 0,
0, 0, 1089, 0, 1092, 0, 4795, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1092, 0, 0, 0,
1089, 1094, 0, 0, 0, 0, 0, 0, 1092, 0,
0, 0, 5185, 0, 1089, 0, 2040, 0, 0, 2041,
2042, 2043, 0, 2044, 2045, 2046, 2047, 2048, 2049, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1087, 0, 0, 0, 0,
0, 0, 1092, 1092, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1093, 0, 0,
0, 0, 0, 1086, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1084, 0, 0, 0, 0, 0, 0, 0, 0, 5240,
1090, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1089, 0, 0, 0,
0, 0, 0, 1086, 0, 0, 0, 0, 0, 0,
0, 0, 5266, 5266, 5266, 0, 1084, 1089, 0, 0,
0, 0, 0, 0, 0, 1087, 0, 0, 0, 0,
0, 4795, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1089, 0, 0, 0, 0, 0, 0, 1087,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1092, 0,
0, 1093, 0, 0, 0, 0, 1089, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 942,
0, 0, 0, 0, 943, 1093, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 5328, 0, 1090, 0, 0, 0, 1090,
1090, 0, 0, 0, 0, 0, 0, 0, 1086, 944,
5266, 0, 0, 0, 0, 1093, 0, 0, 1086, 0,
0, 0, 945, 946, 0, 0, 1084, 0, 0, 0,
0, 0, 0, 947, 0, 0, 0, 948, 0, 0,
0, 0, 0, 1089, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 949, 0, 0, 0, 0,
0, 1090, 1087, 0, 0, 0, 0, 0, 1093, 0,
0, 0, 0, 1093, 1093, 1090, 2051, 0, 950, 0,
0, 0, 0, 1092, 0, 0, 0, 1092, 1092, 951,
0, 0, 0, 0, 0, 0, 0, 952, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 953,
0, 0, 1087, 0, 954, 1090, 0, 0, 0, 0,
0, 5418, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1086, 0, 0, 2051, 0, 0, 0,
955, 0, 0, 1089, 0, 0, 0, 0, 0, 1092,
1084, 0, 0, 0, 5266, 0, 0, 0, 0, 0,
0, 0, 0, 1092, 5444, 956, 0, 1089, 0, 0,
0, 0, 1086, 0, 1084, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1093, 957, 0, 0, 0,
0, 0, 0, 1086, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1092, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1084, 0, 0, 0, 0, 0,
958, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1087, 0, 0,
0, 0, 0, 959, 0, 0, 0, 1087, 0, 0,
0, 0, 0, 206, 960, 0, 0, 961, 1086, 0,
0, 0, 0, 0, 0, 0, 0, 1084, 0, 0,
0, 0, 1084, 1084, 0, 0, 0, 0, 0, 0,
0, 0, 0, 962, 0, 0, 963, 0, 0, 0,
964, 0, 965, 190, 0, 0, 0, 0, 0, 966,
1089, 0, 967, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1090, 0,
0, 968, 0, 0, 0, 0, 0, 969, 0, 0,
0, 0, 970, 0, 0, 971, 0, 0, 0, 972,
0, 191, 0, 0, 0, 0, 0, 973, 0, 974,
1089, 0, 0, 0, 975, 0, 192, 0, 0, 0,
0, 0, 1087, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1086, 0, 193, 0, 0, 0, 0, 976,
194, 0, 0, 0, 1084, 0, 0, 0, 0, 1093,
0, 0, 0, 0, 0, 0, 0, 195, 0, 2051,
1090, 1087, 0, 2051, 0, 0, 1092, 0, 196, 0,
0, 0, 0, 0, 0, 0, 197, 0, 1086, 0,
0, 0, 1087, 0, 0, 0, 0, 0, 198, 0,
0, 0, 0, 199, 0, 0, 0, 0, 0, 0,
200, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 201,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1089, 0, 0, 0, 0,
0, 0, 0, 0, 202, 1089, 0, 1087, 1092, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 203, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1090, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1090, 0, 0, 0, 204,
0, 0, 0, 0, 0, 0, 0, 0, 1086, 0,
1090, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 205, 0, 0, 0, 0, 0, 0, 0,
0, 0, 206, 207, 0, 0, 208, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1084, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1089, 1087, 209, 0, 0, 210, 1092, 0, 0, 211,
0, 212, 0, 0, 0, 0, 0, 0, 213, 0,
0, 214, 0, 1092, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1092, 1089,
215, 0, 0, 0, 0, 0, 216, 1087, 0, 0,
217, 218, 0, 0, 219, 0, 0, 0, 220, 0,
1089, 0, 0, 0, 0, 0, 0, 0, 221, 0,
0, 0, 1086, 222, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 223, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1086, 0, 224, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1089, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1086, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1090, 0, 0, 1090, 0,
1090, 0, 0, 0, 2051, 1090, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1087, 2051, 0,
0, 0, 2756, 0, 0, 0, 0, 0, 0, 1086,
0, 0, 0, 0, 1086, 1086, 2051, 2051, 2051, 0,
2051, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1090, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1090, 0, 0, 0, 0, 0, 1089,
0, 0, 2051, 1092, 0, 0, 1092, 0, 1092, 0,
0, 0, 0, 1092, 0, 0, 0, 0, 1090, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1089, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2051, 0,
0, 1087, 1092, 0, 0, 0, 1086, 0, 0, 0,
2051, 0, 0, 0, 0, 2051, 0, 0, 0, 0,
0, 1092, 0, 0, 0, 1087, 0, 0, 0, 1090,
0, 1090, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1092, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1087, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1089, 0, 1092, 1087, 1092,
1090, 0, 0, 1087, 1087, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1090,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1090, 0, 0, 0, 0, 0,
0, 0, 1090, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1092, 0,
1086, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1087, 0, 0, 0, 1089,
0, 0, 0, 0, 0, 0, 0, 1092, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1090, 0, 1089, 0, 0, 0, 0, 0, 0,
0, 0, 1092, 0, 0, 0, 0, 0, 0, 1090,
1092, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1090, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1089, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1092,
0, 0, 0, 0, 0, 0, 1089, 0, 0, 0,
0, 1089, 1089, 0, 0, 0, 0, 1092, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1092, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1090, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1090, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1087,
0, 1090, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1089, 0, 1090, 0, 0, 0, 0,
0, 0, 0, 1092, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1092, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1092,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1090, 1092, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2051, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2051, 0, 2051, 0, 0, 2756, 2756, 0,
3494, 0, 2756, 0, 0, 0, 2051, 0, 0, 2051,
1092, 0, 0, 0, 2051, 0, 0, 0, 0, 0,
2051, 0, 1090, 0, 0, 2051, 0, 0, 0, 0,
0, 0, 2051, 2051, 2051, 2051, 0, 1089, 0, 2756,
2756, 0, 2051, 0, 0, 0, 1090, 0, 0, 0,
0, 0, 0, 0, 2051, 0, 2051, 0, 0, 0,
0, 0, 0, 2051, 2051, 2051, 2051, 2051, 2051, 2051,
2051, 2051, 2051, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2051,
1092, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1092, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1090,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2051,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1090,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1092, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1092, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1090, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1090, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1092, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1092, 0, 0, 0, 0, 2051, 2051, 0,
0, 0, 2051, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1090,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2051, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1090, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1090,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1092, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1090, 0, 1092, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1092, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1092, 0, 0, 0, 0, 0, 0, 2051,
0, 0, 0, 0, 0, 2051, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1090, 0,
0, 3494, 3494, 0, 0, 2756, 2756, 2756, 2756, 0,
0, 2756, 2756, 2756, 2756, 2756, 2756, 2756, 2756, 2756,
2756, 3494, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2051, 1090, 0, 2051, 0, 2051, 0,
0, 3494, 3494, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2051, 2756, 2756, 2051,
0, 2051, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1092, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1092, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2051,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1090, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1092, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1090, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1090, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1090, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2756, 0,
0, 0, 0, 0, 0, 0, 1092, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1092, 0, 0, 0, 0, 1090, 0, 0, 0, 0,
1090, 1090, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1092, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1092, 0, 0, 0, 0, 1092, 1092,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2051,
0, 0, 1090, 2051, 2051, 2051, 0, 0, 0, 0,
0, 3494, 3494, 3494, 3494, 0, 0, 0, 0, 3494,
3494, 3494, 3494, 3494, 3494, 3494, 3494, 3494, 3494, 2051,
2051, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2051, 0, 0, 2051, 0,
2051, 0, 0, 0, 2051, 0, 0, 3494, 3494, 0,
0, 2051, 2051, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1092, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2051, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2051, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2051, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1090, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1092, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3494, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2051, 2051, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2051, 0, 0, 0, 0, 2051, 2756, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2051, 0, 2051, 0, 0, 0, 2051, 2051,
2051, 0, 0, 2051, 0, 0, 2051, 2051, 0, 0,
0, 2051, 0, 0, 0, 2051, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2051, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2051, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2051, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 3494, 2756,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2051, 2051, 2051, 0, 0, 0,
0, 0, 0, 0, 2756, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2051, 2051, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2051, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 3494, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2756, 0, 0, 3494,
0, 0, 0, 2051, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2051, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 3494, 0,
2756, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2051, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2051, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2051, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2051, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2756, 2756,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 3494,
3494, 0, 0, 0, 2051, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 227, 1207, 659, 1208,
1209, 1210, 720, 1211, 0, 0, 0, 0, 0, 0,
2051, 228, 229, 230, 231, 232, 233, 234, 235, 1607,
236, 237, 238, 0, 0, 0, 0, 1212, 0, 0,
239, 240, 0, 241, 242, 243, 244, 245, 246, 247,
248, 1213, 250, 1214, 1215, 0, 253, 254, 255, 256,
257, 258, 1216, 1217, 259, 260, 1218, 1219, 263, 0,
264, 265, 266, 267, 1220, 0, 1221, 0, 270, 271,
272, 273, 274, 275, 276, 277, 278, 0, 279, 280,
281, 282, 283, 284, 0, 285, 286, 287, 288, 1222,
1223, 1224, 1225, 1226, 1227, 1228, 290, 291, 292, 293,
294, 295, 1229, 1230, 298, 1231, 299, 0, 300, 301,
302, 303, 304, 305, 0, 306, 307, 308, 309, 1608,
0, 310, 311, 1065, 313, 314, 0, 315, 316, 317,
0, 318, 319, 320, 0, 321, 322, 323, 324, 1232,
326, 327, 328, 1233, 1234, 330, 0, 331, 332, 1235,
334, 0, 335, 0, 336, 337, 0, 338, 339, 340,
341, 342, 0, 343, 1236, 0, 1237, 346, 347, 0,
348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
0, 358, 359, 360, 361, 362, 363, 364, 0, 365,
366, 367, 368, 369, 370, 371, 1238, 1239, 0, 1240,
0, 375, 376, 377, 378, 379, 380, 381, 382, 383,
384, 0, 0, 385, 1241, 387, 388, 389, 0, 390,
391, 392, 1242, 1243, 393, 394, 395, 396, 397, 398,
399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
1244, 410, 1245, 412, 413, 414, 415, 1246, 416, 417,
418, 419, 1247, 1248, 421, 1249, 423, 424, 425, 0,
426, 427, 0, 0, 1250, 429, 430, 0, 0, 431,
432, 433, 434, 435, 436, 1251, 438, 439, 440, 441,
442, 443, 444, 445, 446, 0, 447, 448, 1252, 450,
451, 452, 453, 454, 0, 455, 456, 457, 458, 459,
460, 461, 462, 463, 464, 1253, 466, 467, 468, 469,
0, 470, 471, 472, 473, 474, 475, 476, 477, 478,
479, 480, 481, 0, 482, 483, 484, 485, 486, 487,
488, 489, 1254, 491, 492, 493, 494, 495, 496, 497,
498, 499, 0, 500, 501, 502, 503, 504, 1255, 505,
506, 507, 508, 509, 510, 511, 512, 1256, 514, 0,
515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
525, 526, 1257, 0, 528, 529, 0, 530, 531, 532,
533, 534, 535, 536, 0, 537, 1258, 1259, 0, 0,
540, 541, 1260, 543, 1261, 1262, 545, 546, 547, 548,
549, 550, 551, 0, 1263, 552, 553, 554, 555, 556,
1264, 0, 557, 558, 559, 560, 561, 562, 1265, 1609,
564, 565, 566, 567, 568, 569, 0, 0, 570, 0,
0, 571, 572, 573, 574, 575, 576, 577, 1266, 1267,
1268, 1269, 582, 1270, 1271, 1272, 1273, 587, 588, 589,
590, 1274, 0, 0, 0, 0, 0, 0, 1275, 1276,
1610, 0, 0, 0, 0, 0, 0, 1278, 1611, 227,
1207, 659, 1208, 1209, 1210, 720, 1211, 0, 0, 0,
0, 0, 0, 0, 228, 229, 230, 231, 232, 233,
234, 235, 0, 236, 237, 238, 0, 0, 0, 0,
1212, 0, 0, 239, 240, 0, 241, 242, 243, 244,
245, 246, 247, 248, 1213, 250, 1214, 1215, 0, 253,
254, 255, 256, 257, 258, 1216, 1217, 259, 260, 1218,
1219, 263, 0, 264, 265, 266, 267, 1220, 0, 1221,
0, 270, 271, 272, 273, 274, 275, 276, 277, 278,
0, 279, 280, 281, 282, 283, 284, 0, 285, 286,
287, 288, 1222, 1223, 1224, 1225, 1226, 1227, 1228, 290,
291, 292, 293, 294, 295, 1229, 1230, 298, 1231, 299,
0, 300, 301, 302, 303, 304, 305, 0, 306, 307,
308, 309, 0, 0, 310, 311, 1065, 313, 314, 0,
315, 316, 317, 0, 318, 319, 320, 0, 321, 322,
323, 324, 1232, 326, 327, 328, 1233, 1234, 330, 0,
331, 332, 1235, 334, 0, 335, 0, 336, 337, 0,
338, 339, 340, 341, 342, 0, 343, 1236, 0, 1237,
346, 347, 0, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 358, 359, 360, 361, 362, 363,
364, 0, 365, 366, 367, 368, 369, 370, 371, 1238,
1239, 0, 1240, 0, 375, 376, 377, 378, 379, 380,
381, 382, 383, 384, 0, 0, 385, 1241, 387, 388,
389, 0, 390, 391, 392, 1242, 1243, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 1244, 410, 1245, 412, 413, 414, 415,
1246, 416, 417, 418, 419, 1247, 1248, 421, 1249, 423,
424, 425, 0, 426, 427, 0, 0, 1250, 429, 430,
0, 0, 431, 432, 433, 434, 435, 436, 1251, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 447,
448, 1252, 450, 451, 452, 453, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 1253, 466,
467, 468, 469, 0, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 481, 0, 482, 483, 484,
485, 486, 487, 488, 489, 1254, 491, 492, 493, 494,
495, 496, 497, 498, 499, 40, 500, 501, 502, 503,
504, 1255, 505, 506, 507, 508, 509, 510, 511, 512,
1256, 514, 0, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 1257, 0, 528, 529, 44,
530, 531, 532, 533, 534, 535, 536, 0, 537, 1258,
1259, 0, 0, 540, 541, 1260, 543, 1261, 1262, 545,
546, 547, 548, 549, 550, 551, 0, 1263, 552, 553,
554, 555, 556, 1264, 0, 557, 558, 559, 560, 561,
1143, 1265, 0, 564, 565, 566, 567, 568, 569, 0,
0, 570, 0, 49, 571, 572, 573, 574, 575, 576,
577, 1266, 1267, 1268, 1269, 582, 1270, 1271, 1272, 1273,
587, 588, 589, 590, 1274, 0, 50, 0, 0, 0,
0, 1275, 1276, 0, 0, 0, 0, 0, 0, 0,
1278, 4998, 227, 1207, 659, 1208, 1209, 1210, 720, 1211,
0, 0, 0, 0, 0, 0, 0, 228, 229, 230,
231, 232, 233, 234, 235, 0, 236, 237, 238, 0,
0, 0, 0, 1212, 0, 0, 239, 240, 0, 241,
242, 243, 244, 245, 246, 247, 248, 1213, 250, 1214,
1215, 0, 253, 254, 255, 256, 257, 258, 1216, 1217,
259, 260, 1218, 1219, 263, 0, 264, 265, 266, 267,
1220, 0, 1221, 0, 270, 271, 272, 273, 274, 275,
276, 277, 278, 0, 279, 280, 281, 282, 283, 284,
0, 285, 286, 287, 288, 1222, 1223, 1224, 1225, 1226,
1227, 1228, 290, 291, 292, 293, 294, 295, 1229, 1230,
298, 1231, 299, 0, 300, 301, 302, 303, 304, 305,
0, 306, 307, 308, 309, 0, 0, 310, 311, 1065,
313, 314, 0, 315, 316, 317, 0, 318, 319, 320,
0, 321, 322, 323, 324, 1232, 326, 327, 328, 1233,
1234, 330, 0, 331, 332, 1235, 334, 0, 335, 0,
336, 337, 0, 338, 339, 340, 341, 342, 0, 343,
1236, 0, 1237, 346, 347, 0, 348, 349, 350, 351,
352, 353, 354, 355, 356, 357, 0, 358, 359, 360,
361, 362, 363, 364, 0, 365, 366, 367, 368, 369,
370, 371, 1238, 1239, 0, 1240, 0, 375, 376, 377,
378, 379, 380, 381, 382, 383, 384, 0, 0, 385,
1241, 387, 388, 389, 0, 390, 391, 392, 1242, 1243,
393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
403, 404, 405, 406, 407, 408, 1244, 410, 1245, 412,
413, 414, 415, 1246, 416, 417, 418, 419, 1247, 1248,
421, 1249, 423, 424, 425, 0, 426, 427, 0, 0,
1250, 429, 430, 0, 0, 431, 432, 433, 434, 435,
436, 1251, 438, 439, 440, 441, 442, 443, 444, 445,
446, 0, 447, 448, 1252, 450, 451, 452, 453, 454,
0, 455, 456, 457, 458, 459, 460, 461, 462, 463,
464, 1253, 466, 467, 468, 469, 0, 470, 471, 472,
473, 474, 475, 476, 477, 478, 479, 480, 481, 0,
482, 483, 484, 485, 486, 487, 488, 489, 1254, 491,
492, 493, 494, 495, 496, 497, 498, 499, 0, 500,
501, 502, 503, 504, 1255, 505, 506, 507, 508, 509,
510, 511, 512, 1256, 514, 0, 515, 516, 517, 518,
519, 520, 521, 522, 523, 524, 525, 526, 1257, 0,
528, 529, 0, 530, 531, 532, 533, 534, 535, 536,
0, 537, 1258, 1259, 0, 0, 540, 541, 1260, 543,
1261, 1262, 545, 546, 547, 548, 549, 550, 551, 0,
1263, 552, 553, 554, 555, 556, 1264, 0, 557, 558,
559, 560, 561, 562, 1265, 0, 564, 565, 566, 567,
568, 569, 0, 0, 570, 0, 0, 571, 572, 573,
574, 575, 576, 577, 1266, 1267, 1268, 1269, 582, 1270,
1271, 1272, 1273, 587, 588, 589, 590, 1274, 0, 0,
0, 0, 0, 0, 1275, 1276, 0, 0, 0, 0,
0, 0, 0, 1278, 2758, 227, 1207, 659, 1208, 1209,
1210, 720, 1211, 0, 0, 0, 0, 0, 0, 0,
228, 229, 230, 231, 232, 233, 234, 235, 0, 236,
237, 238, 0, 0, 0, 0, 1212, 0, 0, 239,
240, 0, 241, 242, 243, 244, 245, 246, 247, 248,
1213, 250, 1214, 1215, 0, 253, 254, 255, 256, 257,
258, 1216, 1217, 259, 260, 1218, 1219, 263, 0, 264,
265, 266, 267, 1220, 0, 1221, 0, 270, 271, 272,
273, 274, 275, 276, 277, 278, 0, 279, 280, 281,
282, 283, 284, 0, 285, 286, 287, 288, 1222, 1223,
1224, 1225, 1226, 1227, 1228, 290, 291, 292, 293, 294,
295, 1229, 1230, 298, 1231, 299, 0, 300, 301, 302,
303, 304, 305, 0, 306, 307, 308, 309, 0, 0,
310, 311, 1065, 313, 314, 0, 315, 316, 317, 0,
318, 319, 320, 0, 321, 322, 323, 324, 1232, 326,
327, 328, 1233, 1234, 330, 0, 331, 332, 1235, 334,
0, 335, 0, 336, 337, 0, 338, 339, 340, 341,
342, 0, 343, 1236, 0, 1237, 346, 347, 0, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 0,
358, 359, 360, 361, 362, 363, 364, 0, 365, 366,
367, 368, 369, 370, 371, 1238, 1239, 0, 1240, 0,
375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
0, 0, 385, 1241, 387, 388, 389, 0, 390, 391,
392, 1242, 1243, 393, 394, 395, 396, 397, 398, 399,
400, 401, 402, 403, 404, 405, 406, 407, 408, 1244,
410, 1245, 412, 413, 414, 415, 1246, 416, 417, 418,
419, 1247, 1248, 421, 1249, 423, 424, 425, 0, 426,
427, 0, 0, 1250, 429, 430, 0, 0, 431, 432,
433, 434, 435, 436, 1251, 438, 439, 440, 441, 442,
443, 444, 445, 446, 0, 447, 448, 1252, 450, 451,
452, 453, 454, 0, 455, 456, 457, 458, 459, 460,
461, 462, 463, 464, 1253, 466, 467, 468, 469, 0,
470, 471, 472, 473, 474, 475, 476, 477, 478, 479,
480, 481, 0, 482, 483, 484, 485, 486, 487, 488,
489, 1254, 491, 492, 493, 494, 495, 496, 497, 498,
499, 0, 500, 501, 502, 503, 504, 1255, 505, 506,
507, 508, 509, 510, 511, 512, 1256, 514, 0, 515,
516, 517, 518, 519, 520, 521, 522, 523, 524, 525,
526, 1257, 0, 528, 529, 0, 530, 531, 532, 533,
534, 535, 536, 0, 537, 1258, 1259, 0, 0, 540,
541, 1260, 543, 1261, 1262, 545, 546, 547, 548, 549,
550, 551, 0, 1263, 552, 553, 554, 555, 556, 1264,
0, 557, 558, 559, 560, 561, 562, 1265, 0, 564,
565, 566, 567, 568, 569, 0, 0, 570, 0, 0,
571, 572, 573, 574, 575, 576, 577, 1266, 1267, 1268,
1269, 582, 1270, 1271, 1272, 1273, 587, 588, 589, 590,
1274, 0, 0, 0, 0, 0, 0, 1275, 1276, 0,
0, 0, 0, 0, 0, 0, 1278, 4011, 227, 1207,
659, 1208, 1209, 1210, 720, 1211, 0, 0, 0, 0,
0, 0, 0, 228, 229, 230, 231, 232, 233, 234,
235, 0, 236, 237, 238, 0, 0, 0, 0, 1212,
0, 0, 239, 240, 0, 241, 242, 243, 244, 245,
246, 247, 248, 1213, 250, 1214, 1215, 0, 253, 254,
255, 256, 257, 258, 1216, 1217, 259, 260, 1218, 1219,
263, 0, 264, 265, 266, 267, 1220, 0, 1221, 0,
270, 271, 272, 273, 274, 275, 276, 277, 278, 0,
279, 280, 281, 282, 283, 284, 0, 285, 286, 287,
288, 1222, 1223, 1224, 1225, 1226, 1227, 1228, 290, 291,
292, 293, 294, 295, 1229, 1230, 298, 1231, 299, 0,
300, 301, 302, 303, 304, 305, 0, 306, 307, 308,
309, 0, 0, 310, 311, 1065, 313, 314, 0, 315,
316, 317, 0, 318, 319, 320, 0, 321, 322, 323,
324, 1232, 326, 327, 328, 1233, 1234, 330, 0, 331,
332, 1235, 334, 0, 335, 0, 336, 337, 0, 338,
339, 340, 341, 342, 0, 343, 1236, 0, 1237, 346,
347, 0, 348, 349, 350, 351, 352, 353, 354, 355,
356, 357, 0, 358, 359, 360, 361, 362, 363, 364,
0, 365, 366, 367, 368, 369, 370, 371, 1238, 1239,
0, 1240, 0, 375, 376, 377, 378, 379, 380, 381,
382, 383, 384, 0, 0, 385, 1241, 387, 388, 389,
0, 390, 391, 392, 1242, 1243, 393, 394, 395, 396,
397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
407, 408, 1244, 410, 1245, 412, 413, 414, 415, 1246,
416, 417, 418, 419, 1247, 1248, 421, 1249, 423, 424,
425, 0, 426, 427, 0, 0, 1250, 429, 430, 0,
0, 431, 432, 433, 434, 435, 436, 1251, 438, 439,
440, 441, 442, 443, 444, 445, 446, 0, 447, 448,
1252, 450, 451, 452, 453, 454, 0, 455, 456, 457,
458, 459, 460, 461, 462, 463, 464, 1253, 466, 467,
468, 469, 0, 470, 471, 472, 473, 474, 475, 476,
477, 478, 479, 480, 481, 0, 482, 483, 484, 485,
486, 487, 488, 489, 1254, 491, 492, 493, 494, 495,
496, 497, 498, 499, 0, 500, 501, 502, 503, 504,
1255, 505, 506, 507, 508, 509, 510, 511, 512, 1256,
514, 0, 515, 516, 517, 518, 519, 520, 521, 522,
523, 524, 525, 526, 1257, 0, 528, 529, 0, 530,
531, 532, 533, 534, 535, 536, 0, 537, 1258, 1259,
0, 0, 540, 541, 1260, 543, 1261, 1262, 545, 546,
547, 548, 549, 550, 551, 0, 1263, 552, 553, 554,
555, 556, 1264, 0, 557, 558, 559, 560, 561, 562,
1265, 0, 564, 565, 566, 567, 568, 569, 0, 0,
570, 0, 0, 571, 572, 573, 574, 575, 576, 577,
1266, 1267, 1268, 1269, 582, 1270, 1271, 1272, 1273, 587,
588, 589, 590, 1274, 0, 0, 598, 0, 0, 0,
1275, 1276, 0, 0, 0, 0, 0, 0, 0, 1278,
4082, 228, 229, 230, 231, 232, 233, 234, 235, 0,
236, 237, 238, 0, 0, 0, 0, 0, 4100, 0,
239, 240, 0, 241, 242, 243, 0, 245, 246, 247,
248, 249, 0, 251, 252, 0, 253, 254, 255, 256,
257, 258, 0, 0, 259, 260, 261, 262, 263, 0,
264, 265, 266, 267, 268, 0, 0, 0, 270, 271,
272, 273, 274, 0, 276, 277, 278, 0, 279, 280,
281, 282, 283, 284, 0, -1778, 286, 287, 288, 0,
0, 0, 0, 0, 0, 0, 290, 291, 292, 293,
294, 295, 296, 297, 298, 0, 299, 0, 300, 301,
302, 303, 304, 305, 0, 306, 307, 308, 309, 0,
0, 310, 311, 312, 313, 314, 0, 315, 316, 317,
0, 318, 319, 320, 0, 321, 322, 323, 324, 325,
326, 327, 328, 329, 0, 330, 0, 331, 332, 333,
334, 0, 335, 0, 336, 0, 0, -1778, 339, 340,
341, 342, 0, 343, 344, 0, 345, 346, 347, 0,
348, 349, 350, 351, 352, 0, 354, 355, 356, 357,
0, 358, 359, 360, 361, 362, 363, 364, 0, 365,
-1778, 367, 368, 369, 370, 371, 372, 373, 0, 374,
0, 375, 0, 0, 378, -1778, 380, 381, 382, 383,
384, 0, 0, 385, 386, -1778, 388, 0, 0, 390,
391, 392, 0, 0, 393, 394, 395, 396, 397, 398,
399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
409, -1778, 411, 412, 413, 414, 415, 0, 416, 417,
0, 419, 0, 420, 421, 422, 423, 424, 425, 0,
426, 427, 0, 0, 428, 429, 430, 0, 0, 431,
432, 433, 0, 435, 0, 437, 438, 439, 440, 441,
442, 443, 444, 445, 446, 0, 447, 448, 449, 450,
451, 452, 453, 454, 0, 455, 456, 457, 458, 459,
460, 461, 462, 463, 464, 465, 466, 467, 468, 469,
0, 470, 471, 472, 473, 474, 475, 476, 477, 478,
479, 480, 481, 0, 482, 483, -1778, 485, 486, 487,
488, 489, 490, 491, 492, 493, 494, 495, 496, 497,
498, 499, 0, 500, 501, 502, 503, 504, 0, 505,
506, 507, 508, 509, 0, 511, 512, 513, 514, 0,
515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
525, 526, 527, 0, 528, 529, 0, 530, 0, 532,
533, 534, 535, 536, 0, 537, 538, 539, 0, 0,
540, 541, 542, 543, 544, 0, 545, 546, 547, 548,
549, 550, 551, 0, 0, 552, 553, 554, 555, 556,
0, 0, 557, 558, 559, 560, 561, 562, 563, 0,
564, 0, 566, 567, 568, 569, 0, 0, 570, 0,
0, 571, 572, 573, 574, 575, 576, 577, 578, 579,
580, 581, 582, 583, 584, 585, 586, 587, 588, 589,
590, 0, 0, 0, 1057, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1356, 228,
229, 230, 231, 232, 233, 234, 235, 0, 236, 237,
238, 0, 0, 0, 0, 0, 0, 0, 239, 240,
0, 241, 242, 243, 244, 245, 246, 247, 0, 1058,
250, 1059, 1060, 0, 253, 254, 255, 256, 257, 258,
0, 0, 259, 260, 1061, 1062, 263, 0, 264, 265,
266, 267, 0, 0, 269, 0, 270, 271, 272, 273,
274, 275, 276, 277, 278, 0, 279, 280, 281, 282,
283, 284, 0, 285, 286, 287, 288, 0, 0, 0,
289, 0, 0, 0, 290, 291, 292, 293, 294, 295,
1063, 1064, 298, 0, 299, 0, 300, 301, 302, 303,
304, 305, 0, 306, 307, 308, 309, 0, 0, 310,
311, 1065, 313, 314, 0, 315, 316, 317, 0, 318,
319, 320, 0, 321, 322, 323, 324, 0, 326, 327,
328, 0, 0, 330, 0, 331, 332, 1066, 334, 0,
335, 0, 336, 337, 0, 338, 339, 340, 341, 342,
0, 343, 0, 0, 0, 346, 347, 0, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 2153, 358,
359, 360, 361, 362, 363, 364, 0, 365, 366, 2154,
368, 369, 370, 371, 1068, 1069, 0, 1070, 0, 375,
376, 377, 378, 379, 380, 381, 382, 383, 384, 0,
0, 385, 0, 387, 388, 389, 0, 390, 391, 392,
0, 0, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 1071, 410,
1072, 412, 413, 414, 0, 0, 416, 417, 418, 419,
0, 0, 421, 1073, 423, 424, 425, 0, 426, 427,
0, 0, 428, 429, 430, 0, 0, 431, 432, 2156,
434, 435, 436, 0, 438, 439, 440, 441, 442, 443,
444, 445, 446, 0, 447, 448, 0, 450, 0, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 1074, 466, 467, 468, 469, 0, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
481, 0, 482, 483, 484, 485, 486, 487, 488, 489,
0, 491, 492, 493, 494, 495, 496, 497, 498, 499,
0, 500, 501, 502, 503, 504, 0, 505, 506, 2157,
508, 509, 510, 511, 512, 1076, 514, 0, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
0, 0, 528, 529, 0, 530, 531, 532, 533, 534,
535, 536, 0, 537, 1077, 1078, 0, 0, 540, 541,
0, 543, 0, 0, 545, 546, 547, 548, 549, 550,
551, 0, 0, 552, 553, 554, 555, 556, 0, 0,
557, 558, 559, 560, 561, 0, 1079, 2158, 564, 565,
566, 567, 568, 569, 0, 0, 570, 0, 0, 571,
572, 573, 574, 575, 576, 1057, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 588, 589, 590, 0,
228, 229, 230, 231, 232, 233, 234, 235, 0, 236,
237, 238, 0, 0, 0, 0, 2265, 0, 0, 239,
240, 0, 241, 242, 243, 244, 245, 246, 247, 0,
1058, 250, 1059, 1060, 0, 253, 254, 255, 256, 257,
258, 0, 0, 259, 260, 1061, 1062, 263, 0, 264,
265, 266, 267, 0, 0, 269, 0, 270, 271, 272,
273, 274, 275, 276, 277, 278, 0, 279, 280, 281,
282, 283, 284, 0, 285, 286, 287, 288, 0, 0,
0, 289, 0, 0, 0, 290, 291, 292, 293, 294,
295, 1063, 1064, 298, 0, 299, 0, 300, 301, 302,
303, 304, 305, 0, 306, 307, 308, 309, 0, 0,
310, 311, 1065, 313, 314, 0, 315, 316, 317, 0,
318, 319, 320, 0, 321, 322, 323, 324, 0, 326,
327, 328, 0, 0, 330, 0, 331, 332, 1066, 334,
0, 335, 0, 336, 337, 0, 338, 339, 340, 341,
342, 0, 343, 0, 0, 0, 346, 347, 0, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 2153,
358, 359, 360, 361, 362, 363, 364, 0, 365, 366,
2154, 368, 369, 370, 371, 1068, 1069, 0, 1070, 0,
375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
0, 0, 385, 0, 387, 388, 389, 0, 390, 391,
392, 0, 0, 393, 394, 395, 396, 397, 398, 399,
400, 401, 402, 403, 404, 405, 406, 407, 408, 1071,
410, 1072, 412, 413, 414, 0, 0, 416, 417, 418,
419, 0, 0, 421, 1073, 423, 424, 425, 0, 426,
427, 0, 0, 428, 429, 430, 0, 0, 431, 432,
2156, 434, 435, 436, 0, 438, 439, 440, 441, 442,
443, 444, 445, 446, 0, 447, 448, 0, 450, 0,
452, 453, 454, 0, 455, 456, 457, 458, 459, 460,
461, 462, 463, 464, 1074, 466, 467, 468, 469, 0,
470, 471, 472, 473, 474, 475, 476, 477, 478, 479,
480, 481, 0, 482, 483, 484, 485, 486, 487, 488,
489, 0, 491, 492, 493, 494, 495, 496, 497, 498,
499, 0, 500, 501, 502, 503, 504, 0, 505, 506,
2157, 508, 509, 510, 511, 512, 1076, 514, 0, 515,
516, 517, 518, 519, 520, 521, 522, 523, 524, 525,
526, 0, 0, 528, 529, 0, 530, 531, 532, 533,
534, 535, 536, 0, 537, 1077, 1078, 0, 0, 540,
541, 0, 543, 0, 0, 545, 546, 547, 548, 549,
550, 551, 0, 0, 552, 553, 554, 555, 556, 0,
0, 557, 558, 559, 560, 561, 0, 1079, 2158, 564,
565, 566, 567, 568, 569, 0, 0, 570, 0, 0,
571, 572, 573, 574, 575, 576, 0, 227, 1207, 659,
1208, 1209, 1210, 720, 1211, 0, 0, 588, 589, 590,
0, 0, 228, 229, 230, 231, 232, 233, 234, 235,
0, 236, 237, 238, 0, 0, 0, 3335, 1212, 0,
0, 239, 240, 0, 241, 242, 243, 244, 245, 246,
247, 248, 1213, 250, 1214, 1215, 0, 253, 254, 255,
256, 257, 258, 1216, 1217, 259, 260, 1218, 1219, 263,
0, 264, 265, 266, 267, 1220, 0, 1221, 0, 270,
271, 272, 273, 274, 275, 276, 277, 278, 0, 279,
280, 281, 282, 283, 284, 0, 285, 286, 287, 288,
1222, 1223, 1224, 1225, 1226, 1227, 1228, 290, 291, 292,
293, 294, 295, 1229, 1230, 298, 1231, 299, 0, 300,
301, 302, 303, 304, 305, 0, 306, 307, 308, 309,
0, 0, 310, 311, 1065, 313, 314, 0, 315, 316,
317, 0, 318, 319, 320, 0, 321, 322, 323, 324,
1232, 326, 327, 328, 1233, 1234, 330, 0, 331, 332,
1235, 334, 0, 335, 0, 336, 337, 0, 338, 339,
340, 341, 342, 0, 343, 1236, 0, 1237, 346, 347,
0, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 0, 358, 359, 360, 361, 362, 363, 364, 0,
365, 366, 367, 368, 369, 370, 371, 1238, 1239, 0,
1240, 0, 375, 376, 377, 378, 379, 380, 381, 382,
383, 384, 0, 0, 385, 1241, 387, 388, 389, 0,
390, 391, 392, 1242, 1243, 393, 394, 395, 396, 397,
398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
408, 1244, 410, 1245, 412, 413, 414, 415, 1246, 416,
417, 418, 419, 1247, 1248, 421, 1249, 423, 424, 425,
0, 426, 427, 0, 0, 1250, 429, 430, 0, 0,
431, 432, 433, 434, 435, 436, 1251, 438, 439, 440,
441, 442, 443, 444, 445, 446, 0, 447, 448, 1252,
450, 451, 452, 453, 454, 0, 455, 456, 457, 458,
459, 460, 461, 462, 463, 464, 1253, 466, 467, 468,
469, 0, 470, 471, 472, 473, 474, 475, 476, 477,
478, 479, 480, 481, 0, 482, 483, 484, 485, 486,
487, 488, 489, 1254, 491, 492, 493, 494, 495, 496,
497, 498, 499, 40, 500, 501, 502, 503, 504, 1255,
505, 506, 507, 508, 509, 510, 511, 512, 1256, 514,
0, 515, 516, 517, 518, 519, 520, 521, 522, 523,
524, 525, 526, 1257, 0, 528, 529, 44, 530, 531,
532, 533, 534, 535, 536, 0, 537, 1258, 1259, 0,
0, 540, 541, 1260, 543, 1261, 1262, 545, 546, 547,
548, 549, 550, 551, 0, 1263, 552, 553, 554, 555,
556, 1264, 0, 557, 558, 559, 560, 561, 1143, 1265,
0, 564, 565, 566, 567, 568, 569, 0, 0, 570,
0, 49, 571, 572, 573, 574, 575, 576, 577, 1266,
1267, 1268, 1269, 582, 1270, 1271, 1272, 1273, 587, 588,
589, 590, 1274, 0, 50, 0, 0, 0, 0, 1275,
1276, 0, 0, 0, 0, 0, 0, 0, 1278, 227,
1207, 659, 1208, 1209, 1210, 720, 1211, 0, 0, 0,
0, 0, 0, 0, 228, 229, 230, 231, 232, 233,
234, 235, 0, 236, 237, 238, 0, 0, 0, 0,
1212, 0, 0, 239, 240, 0, 241, 242, 243, 244,
245, 246, 247, 248, 1213, 250, 1214, 1215, 2764, 253,
254, 255, 256, 257, 258, 1216, 1217, 259, 260, 1218,
1219, 263, 0, 264, 265, 266, 267, 1220, 0, 1221,
0, 270, 271, 272, 273, 274, 275, 276, 277, 278,
0, 279, 280, 281, 282, 283, 284, 0, 285, 286,
287, 288, 1222, 1223, 1224, 1225, 1226, 1227, 1228, 290,
291, 292, 293, 294, 295, 1229, 1230, 298, 1231, 299,
0, 300, 301, 302, 303, 304, 305, 0, 306, 307,
308, 309, 0, 0, 310, 311, 1065, 313, 314, 0,
315, 316, 317, 0, 318, 319, 320, 0, 321, 322,
323, 324, 1232, 326, 327, 328, 1233, 1234, 330, 0,
331, 332, 1235, 334, 0, 335, 0, 336, 337, 2765,
338, 339, 340, 341, 342, 0, 343, 1236, 0, 1237,
346, 347, 0, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 358, 359, 360, 361, 362, 363,
364, 0, 365, 366, 367, 368, 369, 370, 371, 1238,
1239, 0, 1240, 0, 375, 376, 377, 378, 379, 380,
381, 382, 383, 384, 0, 2766, 385, 1241, 387, 388,
389, 0, 390, 391, 392, 1242, 1243, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 1244, 410, 1245, 412, 413, 414, 415,
1246, 416, 417, 418, 419, 1247, 1248, 421, 1249, 423,
424, 425, 0, 426, 427, 0, 0, 1250, 429, 430,
0, 0, 431, 432, 433, 434, 435, 436, 1251, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 447,
448, 1252, 450, 451, 452, 453, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 1253, 466,
467, 468, 469, 0, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 481, 0, 482, 483, 484,
485, 486, 487, 488, 489, 1254, 491, 492, 493, 494,
495, 496, 497, 498, 499, 0, 500, 501, 502, 503,
504, 1255, 505, 506, 507, 508, 509, 510, 511, 512,
1256, 514, 0, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 1257, 0, 528, 529, 0,
530, 531, 532, 533, 534, 535, 536, 0, 537, 1258,
1259, 0, 2767, 540, 541, 1260, 543, 1261, 1262, 545,
546, 547, 548, 549, 550, 551, 0, 1263, 552, 553,
554, 555, 556, 1264, 0, 557, 558, 559, 560, 561,
562, 1265, 0, 564, 565, 566, 567, 568, 569, 0,
0, 570, 0, 0, 571, 572, 573, 574, 575, 576,
577, 1266, 1267, 1268, 1269, 582, 1270, 1271, 1272, 1273,
587, 588, 589, 590, 1274, 0, 0, 0, 0, 0,
0, 1275, 1276, 0, 0, 0, 0, 0, 0, 0,
1278, 227, 1207, 659, 1208, 1209, 1210, 720, 1211, 0,
0, 0, 0, 0, 0, 0, 228, 229, 230, 231,
232, 233, 234, 235, 0, 236, 237, 238, 0, 0,
0, 0, 1212, 0, 0, 239, 240, 0, 241, 242,
243, 244, 245, 246, 247, 248, 1213, 250, 1214, 1215,
0, 253, 254, 255, 256, 257, 258, 1216, 1217, 259,
260, 1218, 1219, 263, 0, 264, 265, 266, 267, 1220,
0, 1221, 0, 270, 271, 272, 273, 274, 275, 276,
277, 278, 0, 279, 280, 281, 282, 283, 284, 0,
285, 286, 287, 288, 1222, 1223, 1224, 1225, 1226, 1227,
1228, 290, 291, 292, 293, 294, 295, 1229, 1230, 298,
1231, 299, 0, 300, 301, 302, 303, 304, 305, 0,
306, 307, 308, 309, 0, 0, 310, 311, 1065, 313,
314, 0, 315, 316, 317, 0, 318, 319, 320, 0,
321, 322, 323, 324, 1232, 326, 327, 328, 1233, 1234,
330, 0, 331, 332, 1235, 334, 0, 335, 0, 336,
337, 0, 338, 339, 340, 341, 342, 0, 343, 1236,
0, 1237, 346, 347, 0, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 0, 358, 359, 360, 361,
362, 363, 364, 0, 365, 366, 367, 368, 369, 370,
371, 1238, 1239, 0, 1240, 0, 375, 376, 377, 378,
379, 380, 381, 382, 383, 384, 0, 0, 385, 1241,
387, 388, 389, 0, 390, 391, 392, 1242, 1243, 393,
394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 1244, 410, 1245, 412, 413,
414, 415, 1246, 416, 417, 418, 419, 1247, 1248, 421,
1249, 423, 424, 425, 0, 426, 427, 0, 0, 1250,
429, 430, 0, 0, 431, 432, 433, 434, 435, 436,
1251, 438, 439, 440, 441, 442, 443, 444, 445, 446,
0, 447, 448, 1252, 450, 451, 452, 453, 454, 0,
455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
1253, 466, 467, 468, 469, 0, 470, 471, 472, 473,
474, 475, 476, 477, 478, 479, 480, 481, 0, 482,
483, 484, 485, 486, 487, 488, 489, 1254, 491, 492,
493, 494, 495, 496, 497, 498, 499, 0, 500, 501,
502, 503, 504, 1255, 505, 506, 507, 508, 509, 510,
511, 512, 1256, 514, 0, 515, 516, 517, 518, 519,
520, 521, 522, 523, 524, 525, 526, 1257, 0, 528,
529, 0, 530, 531, 532, 533, 534, 535, 536, 0,
537, 1258, 1259, 0, 0, 540, 541, 1260, 543, 1261,
1262, 545, 546, 547, 548, 549, 550, 551, 0, 1263,
552, 553, 554, 555, 556, 1264, 0, 557, 558, 559,
560, 561, 562, 1265, 0, 564, 565, 566, 567, 568,
569, 0, 0, 570, 0, 0, 571, 572, 573, 574,
575, 576, 577, 1266, 1267, 1268, 1269, 582, 1270, 1271,
1272, 1273, 587, 588, 589, 590, 1274, 0, 0, 0,
0, 0, 0, 1275, 1276, 0, 0, 0, 0, 0,
1975, 2719, 1278, 227, 1207, 659, 1208, 1209, 1210, 720,
1211, 0, 0, 0, 0, 0, 0, 0, 228, 229,
230, 231, 232, 233, 234, 235, 0, 236, 237, 238,
0, 0, 0, 0, 1212, 0, 0, 239, 240, 0,
241, 242, 243, 244, 245, 246, 247, 248, 1213, 250,
1214, 1215, 0, 253, 254, 255, 256, 257, 258, 1216,
1217, 259, 260, 1218, 1219, 263, 0, 264, 265, 266,
267, 1220, 0, 1221, 0, 270, 271, 272, 273, 274,
275, 276, 277, 278, 0, 279, 280, 281, 282, 283,
284, 0, 285, 286, 287, 288, 1222, 1223, 1224, 1225,
1226, 1227, 1228, 290, 291, 292, 293, 294, 295, 1229,
1230, 298, 1231, 299, 0, 300, 301, 302, 303, 304,
305, 0, 306, 307, 308, 309, 0, 0, 310, 311,
1065, 313, 314, 0, 315, 316, 317, 0, 318, 319,
320, 0, 321, 322, 323, 324, 1232, 326, 327, 328,
1233, 1234, 330, 0, 331, 332, 1235, 334, 0, 335,
0, 336, 337, 0, 338, 339, 340, 341, 342, 0,
343, 1236, 0, 1237, 346, 347, 0, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 0, 358, 359,
360, 361, 362, 363, 364, 0, 365, 366, 367, 368,
369, 370, 371, 1238, 1239, 0, 1240, 0, 375, 376,
377, 378, 379, 380, 381, 382, 383, 384, 0, 0,
385, 1241, 387, 388, 389, 0, 390, 391, 392, 1242,
1243, 393, 394, 395, 396, 397, 398, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 1244, 410, 1245,
412, 413, 414, 415, 1246, 416, 417, 418, 419, 1247,
1248, 421, 1249, 423, 424, 425, 0, 426, 427, 0,
0, 1250, 429, 430, 0, 0, 431, 432, 433, 434,
435, 436, 1251, 438, 439, 440, 441, 442, 443, 444,
445, 446, 0, 447, 448, 1252, 450, 451, 452, 453,
454, 0, 455, 456, 457, 458, 459, 460, 461, 462,
463, 464, 1253, 466, 467, 468, 469, 0, 470, 471,
472, 473, 474, 475, 476, 477, 478, 479, 480, 481,
0, 482, 483, 484, 485, 486, 487, 488, 489, 1254,
491, 492, 493, 494, 495, 496, 497, 498, 499, 0,
500, 501, 502, 503, 504, 1255, 505, 506, 507, 508,
509, 510, 511, 512, 1256, 514, 0, 515, 516, 517,
518, 519, 520, 521, 522, 523, 524, 525, 526, 1257,
0, 528, 529, 0, 530, 531, 532, 533, 534, 535,
536, 0, 537, 1258, 1259, 0, 0, 540, 541, 1260,
543, 1261, 1262, 545, 546, 547, 548, 549, 550, 551,
0, 1263, 552, 553, 554, 555, 556, 1264, 0, 557,
558, 559, 560, 561, 562, 1265, 0, 564, 565, 566,
567, 568, 569, 0, 0, 570, 0, 0, 571, 572,
573, 574, 575, 576, 577, 1266, 1267, 1268, 1269, 582,
1270, 1271, 1272, 1273, 587, 588, 589, 590, 1274, 0,
0, 0, 0, 0, 0, 1275, 1276, 1277, 0, 0,
0, 0, 0, 0, 1278, 227, 1207, 659, 1208, 1209,
1210, 720, 1211, 0, 0, 0, 0, 0, 0, 0,
228, 229, 230, 231, 232, 233, 234, 235, 2122, 236,
237, 238, 0, 0, 0, 0, 1212, 0, 0, 239,
240, 0, 241, 242, 243, 244, 245, 246, 247, 248,
1213, 250, 1214, 1215, 0, 253, 254, 255, 256, 257,
258, 1216, 1217, 259, 260, 1218, 1219, 263, 0, 264,
265, 266, 267, 1220, 0, 1221, 0, 270, 271, 272,
273, 274, 275, 276, 277, 278, 0, 279, 280, 281,
282, 283, 284, 0, 285, 286, 287, 288, 1222, 1223,
1224, 1225, 1226, 1227, 1228, 290, 291, 292, 293, 294,
295, 1229, 1230, 298, 1231, 299, 0, 300, 301, 302,
303, 304, 305, 0, 306, 307, 308, 309, 0, 0,
310, 311, 1065, 313, 314, 0, 315, 316, 317, 0,
318, 319, 320, 0, 321, 322, 323, 324, 1232, 326,
327, 328, 1233, 1234, 330, 0, 331, 332, 1235, 334,
0, 335, 0, 336, 337, 0, 338, 339, 340, 341,
342, 0, 343, 1236, 0, 1237, 346, 347, 0, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 0,
358, 359, 360, 361, 362, 363, 364, 0, 365, 366,
367, 368, 369, 370, 371, 1238, 1239, 0, 1240, 0,
375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
0, 0, 385, 1241, 387, 388, 389, 0, 390, 391,
392, 1242, 1243, 393, 394, 395, 396, 397, 398, 399,
400, 401, 402, 403, 404, 405, 406, 407, 408, 1244,
410, 1245, 412, 413, 414, 415, 1246, 416, 417, 418,
419, 1247, 1248, 421, 1249, 423, 424, 425, 0, 426,
427, 0, 0, 1250, 429, 430, 0, 0, 431, 432,
433, 434, 435, 436, 1251, 438, 439, 440, 441, 442,
443, 444, 445, 446, 0, 447, 448, 1252, 450, 451,
452, 453, 454, 0, 455, 456, 457, 458, 459, 460,
461, 462, 463, 464, 1253, 466, 467, 468, 469, 0,
470, 471, 472, 473, 474, 475, 476, 477, 478, 479,
480, 481, 0, 482, 483, 484, 485, 486, 487, 488,
489, 1254, 491, 492, 493, 494, 495, 496, 497, 498,
499, 0, 500, 501, 502, 503, 504, 1255, 505, 506,
507, 508, 509, 510, 511, 512, 1256, 514, 0, 515,
516, 517, 518, 519, 520, 521, 522, 523, 524, 525,
526, 1257, 0, 528, 529, 0, 530, 531, 532, 533,
534, 535, 536, 0, 537, 1258, 1259, 0, 0, 540,
541, 1260, 543, 1261, 1262, 545, 546, 547, 548, 549,
550, 551, 0, 1263, 552, 553, 554, 555, 556, 1264,
0, 557, 558, 559, 560, 561, 562, 1265, 0, 564,
565, 566, 567, 568, 569, 0, 0, 570, 0, 0,
571, 572, 573, 574, 575, 576, 577, 1266, 1267, 1268,
1269, 582, 1270, 1271, 1272, 1273, 587, 588, 589, 590,
1274, 0, 0, 0, 0, 0, 0, 1275, 1276, 0,
0, 0, 0, 0, 0, 0, 1278, 227, 1207, 659,
1208, 1209, 1210, 720, 1211, 0, 0, 0, 0, 0,
0, 0, 228, 229, 230, 231, 232, 233, 234, 235,
0, 236, 237, 238, 0, 0, 0, 0, 1212, 0,
0, 239, 240, 0, 241, 242, 243, 244, 245, 246,
247, 248, 1213, 250, 1214, 1215, 0, 253, 254, 255,
256, 257, 258, 1216, 1217, 259, 260, 1218, 1219, 263,
0, 264, 265, 266, 267, 1220, 0, 1221, 0, 270,
271, 272, 273, 274, 275, 276, 277, 278, 0, 279,
280, 281, 282, 283, 284, 0, 285, 286, 287, 288,
1222, 1223, 1224, 1225, 1226, 1227, 1228, 290, 291, 292,
293, 294, 295, 1229, 1230, 298, 1231, 299, 0, 300,
301, 302, 303, 304, 305, 0, 306, 307, 308, 309,
0, 0, 310, 311, 1065, 313, 314, 0, 315, 316,
317, 0, 318, 319, 320, 0, 321, 322, 323, 324,
1232, 326, 327, 328, 1233, 1234, 330, 0, 331, 332,
1235, 334, 0, 335, 0, 336, 337, 0, 338, 339,
340, 341, 342, 0, 343, 1236, 0, 1237, 346, 347,
0, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 0, 358, 359, 360, 361, 362, 363, 364, 0,
365, 366, 367, 368, 369, 370, 371, 1238, 1239, 0,
1240, 0, 375, 376, 377, 378, 379, 380, 381, 382,
383, 384, 0, 0, 385, 1241, 387, 388, 389, 0,
390, 391, 392, 1242, 1243, 393, 394, 395, 396, 397,
398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
408, 1244, 410, 1245, 412, 413, 414, 415, 1246, 416,
417, 418, 419, 1247, 1248, 421, 1249, 423, 424, 425,
0, 426, 427, 0, 0, 1250, 429, 430, 0, 0,
431, 432, 433, 434, 435, 436, 1251, 438, 439, 440,
441, 442, 443, 444, 445, 446, 0, 447, 448, 1252,
450, 451, 452, 453, 454, 0, 455, 456, 457, 458,
459, 460, 461, 462, 463, 464, 1253, 466, 467, 468,
469, 0, 470, 471, 472, 473, 474, 475, 476, 477,
478, 479, 480, 481, 0, 482, 483, 484, 485, 486,
487, 488, 489, 1254, 491, 492, 493, 494, 495, 496,
497, 498, 499, 0, 500, 501, 502, 503, 504, 1255,
505, 506, 507, 508, 509, 510, 511, 512, 1256, 514,
0, 515, 516, 517, 518, 519, 520, 521, 522, 523,
524, 525, 526, 1257, 0, 528, 529, 0, 530, 531,
532, 533, 534, 535, 536, 0, 537, 1258, 1259, 0,
0, 540, 541, 1260, 543, 1261, 1262, 545, 546, 547,
548, 549, 550, 551, 0, 1263, 552, 553, 554, 555,
556, 1264, 0, 557, 558, 559, 560, 561, 562, 1265,
3213, 564, 565, 566, 567, 568, 569, 0, 0, 570,
0, 0, 571, 572, 573, 574, 575, 576, 577, 1266,
1267, 1268, 1269, 582, 1270, 1271, 1272, 1273, 587, 588,
589, 590, 1274, 0, 0, 0, 0, 0, 0, 1275,
1276, 0, 0, 0, 0, 0, 0, 0, 1278, 227,
1207, 659, 1208, 1209, 1210, 720, 1211, 0, 0, 0,
0, 0, 0, 0, 228, 229, 230, 231, 232, 233,
234, 235, 0, 236, 237, 238, 0, 0, 0, 0,
1212, 0, 0, 239, 240, 0, 241, 242, 243, 244,
245, 246, 247, 248, 1213, 250, 1214, 1215, 0, 253,
254, 255, 256, 257, 258, 1216, 1217, 259, 260, 1218,
1219, 263, 0, 264, 265, 266, 267, 1220, 0, 1221,
0, 270, 271, 272, 273, 274, 275, 276, 277, 278,
0, 279, 280, 281, 282, 283, 284, 0, 285, 286,
287, 288, 1222, 1223, 1224, 1225, 1226, 1227, 1228, 290,
291, 292, 293, 294, 295, 1229, 1230, 298, 1231, 299,
0, 300, 301, 302, 303, 304, 305, 0, 306, 307,
308, 309, 0, 0, 310, 311, 1065, 313, 314, 0,
315, 316, 317, 0, 318, 319, 320, 0, 321, 322,
323, 324, 1232, 326, 327, 328, 1233, 1234, 330, 0,
331, 332, 1235, 334, 0, 335, 0, 336, 337, 2765,
338, 339, 340, 341, 342, 0, 343, 1236, 0, 1237,
346, 347, 0, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 358, 359, 360, 361, 362, 363,
364, 0, 365, 366, 367, 368, 369, 370, 371, 1238,
1239, 0, 1240, 0, 375, 376, 377, 378, 379, 380,
381, 382, 383, 384, 0, 0, 385, 1241, 387, 388,
389, 0, 390, 391, 392, 1242, 1243, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 1244, 410, 1245, 412, 413, 414, 415,
1246, 416, 417, 418, 419, 1247, 1248, 421, 1249, 423,
424, 425, 0, 426, 427, 0, 0, 1250, 429, 430,
0, 0, 431, 432, 433, 434, 435, 436, 1251, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 447,
448, 1252, 450, 451, 452, 453, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 1253, 466,
467, 468, 469, 0, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 481, 0, 482, 483, 484,
485, 486, 487, 488, 489, 1254, 491, 492, 493, 494,
495, 496, 497, 498, 499, 0, 500, 501, 502, 503,
504, 1255, 505, 506, 507, 508, 509, 510, 511, 512,
1256, 514, 0, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 1257, 0, 528, 529, 0,
530, 531, 532, 533, 534, 535, 536, 0, 537, 1258,
1259, 0, 0, 540, 541, 1260, 543, 1261, 1262, 545,
546, 547, 548, 549, 550, 551, 0, 1263, 552, 553,
554, 555, 556, 1264, 0, 557, 558, 559, 560, 561,
562, 1265, 0, 564, 565, 566, 567, 568, 569, 0,
0, 570, 0, 0, 571, 572, 573, 574, 575, 576,
577, 1266, 1267, 1268, 1269, 582, 1270, 1271, 1272, 1273,
587, 588, 589, 590, 1274, 0, 0, 0, 0, 0,
0, 1275, 1276, 0, 0, 0, 0, 0, 0, 0,
1278, 227, 1207, 659, 1208, 1209, 1210, 720, 1211, 0,
0, 0, 0, 0, 0, 0, 228, 229, 230, 231,
232, 233, 234, 235, 0, 236, 237, 238, 0, 0,
0, 0, 1212, 0, 0, 239, 240, 0, 241, 242,
243, 244, 245, 246, 247, 248, 1213, 250, 1214, 1215,
0, 253, 254, 255, 256, 257, 258, 1216, 1217, 259,
260, 1218, 1219, 263, 0, 264, 265, 266, 267, 1220,
0, 1221, 0, 270, 271, 272, 273, 274, 275, 276,
277, 278, 0, 279, 280, 281, 282, 283, 284, 0,
285, 286, 287, 288, 1222, 1223, 1224, 1225, 1226, 1227,
1228, 290, 291, 292, 293, 294, 295, 1229, 1230, 298,
1231, 299, 0, 300, 301, 302, 303, 304, 305, 0,
306, 307, 308, 309, 0, 0, 310, 311, 1065, 313,
314, 0, 315, 316, 317, 0, 318, 319, 320, 0,
321, 322, 323, 324, 1232, 326, 327, 328, 1233, 1234,
330, 0, 331, 332, 1235, 334, 0, 335, 0, 336,
337, 0, 338, 339, 340, 341, 342, 0, 343, 1236,
0, 1237, 346, 347, 0, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 0, 358, 359, 360, 361,
362, 363, 364, 0, 365, 366, 367, 368, 369, 370,
371, 1238, 1239, 0, 1240, 0, 375, 376, 377, 378,
379, 380, 381, 382, 383, 384, 0, 0, 385, 1241,
387, 388, 389, 0, 390, 391, 392, 1242, 1243, 393,
394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 1244, 410, 1245, 412, 413,
414, 415, 1246, 416, 417, 418, 419, 1247, 1248, 421,
1249, 423, 424, 425, 0, 426, 427, 0, 0, 1250,
429, 430, 0, 0, 431, 432, 433, 434, 435, 436,
1251, 438, 439, 440, 441, 442, 443, 444, 445, 446,
0, 447, 448, 1252, 450, 451, 452, 453, 454, 0,
455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
1253, 466, 467, 468, 469, 0, 470, 471, 472, 473,
474, 475, 476, 477, 478, 479, 480, 481, 0, 482,
483, 484, 485, 486, 487, 488, 489, 1254, 491, 492,
493, 494, 495, 496, 497, 498, 499, 0, 500, 501,
502, 503, 504, 1255, 505, 506, 507, 508, 509, 510,
511, 512, 1256, 514, 0, 515, 516, 517, 518, 519,
520, 521, 522, 523, 524, 525, 526, 1257, 0, 528,
529, 0, 530, 531, 532, 533, 534, 535, 536, 0,
537, 1258, 1259, 0, 0, 540, 541, 1260, 543, 1261,
1262, 545, 546, 547, 548, 549, 550, 551, 0, 1263,
552, 553, 554, 555, 556, 1264, 0, 557, 558, 559,
560, 561, 562, 1265, 0, 564, 565, 566, 567, 568,
569, 0, 0, 570, 0, 0, 571, 572, 573, 574,
575, 576, 577, 1266, 1267, 1268, 1269, 582, 1270, 1271,
1272, 1273, 587, 588, 589, 590, 1274, 0, 0, 0,
0, 0, 0, 1275, 1276, 0, 0, 0, 0, 0,
0, 0, 1278, 227, 1207, 659, 1208, 1209, 1210, 720,
1211, 0, 0, 0, 0, 0, 0, 0, 228, 229,
230, 231, 232, 233, 234, 235, 0, 236, 237, 238,
0, 0, 0, 0, 1212, 0, 0, 239, 240, 0,
241, 242, 243, 244, 245, 246, 247, 248, 1213, 250,
1214, 1215, 0, 253, 254, 255, 256, 257, 258, 1216,
1217, 259, 260, 1218, 1219, 263, 0, 264, 265, 266,
267, 1220, 0, 1221, 0, 270, 271, 272, 273, 274,
275, 276, 277, 278, 0, 279, 280, 281, 282, 283,
284, 0, 285, 286, 287, 288, 1222, 1223, 1224, 1225,
1226, 1227, 1228, 290, 291, 292, 293, 294, 295, 1229,
1230, 298, 1231, 299, 0, 300, 301, 302, 303, 304,
305, 0, 306, 307, 308, 309, 0, 0, 310, 311,
1065, 313, 314, 0, 315, 316, 317, 0, 318, 319,
320, 0, 321, 322, 323, 324, 1232, 326, 327, 328,
1233, 1234, 330, 0, 331, 332, 1235, 334, 0, 335,
0, 336, 337, 0, 338, 339, 340, 341, 342, 0,
343, 1236, 0, 1237, 346, 347, 0, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 0, 358, 359,
360, 361, 362, 363, 364, 0, 365, 366, 367, 368,
369, 370, 371, 1238, 1239, 0, 1240, 0, 375, 376,
377, 378, 379, 380, 381, 382, 383, 384, 0, 0,
385, 1241, 387, 388, 389, 0, 390, 391, 392, 1242,
1243, 393, 394, 395, 396, 397, 398, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 1244, 410, 1245,
412, 413, 414, 415, 1246, 416, 417, 418, 419, 1247,
1248, 421, 1249, 423, 424, 425, 0, 426, 427, 0,
0, 1250, 429, 430, 0, 0, 431, 432, 433, 434,
435, 436, 1251, 438, 439, 440, 441, 442, 443, 444,
445, 446, 0, 447, 448, 1252, 450, 451, 452, 453,
454, 0, 455, 456, 457, 458, 459, 460, 461, 462,
463, 464, 1253, 466, 467, 468, 469, 0, 470, 471,
472, 473, 474, 475, 476, 477, 478, 479, 480, 481,
0, 482, 483, 484, 485, 486, 487, 488, 489, 1254,
491, 492, 493, 494, 495, 496, 497, 498, 499, 0,
500, 501, 502, 503, 504, 1255, 505, 506, 507, 508,
509, 510, 511, 512, 1256, 514, 0, 515, 516, 517,
518, 519, 520, 521, 522, 523, 524, 525, 526, 1257,
0, 528, 529, 0, 530, 531, 532, 533, 534, 535,
536, 0, 537, 1258, 1259, 0, 0, 540, 541, 1260,
543, 1261, 1262, 545, 546, 547, 548, 549, 550, 551,
0, 1263, 552, 553, 554, 555, 556, 1264, 0, 557,
558, 559, 560, 561, 562, 1265, 0, 564, 565, 566,
567, 568, 569, 0, 0, 570, 0, 0, 571, 572,
573, 574, 575, 576, 577, 1266, 1267, 1268, 1269, 582,
1270, 1271, 1272, 1273, 587, 588, 589, 590, 1274, 0,
0, 0, 0, 0, 0, 2125, 2126, 0, 0, 0,
0, 0, 0, 0, 1278, 227, 2885, 659, 1208, 1209,
1210, 720, 1211, 0, 0, 0, 0, 0, 0, 0,
228, 229, 230, 231, 232, 233, 234, 235, 0, 236,
237, 238, 0, 0, 0, 0, 1212, 0, 0, 239,
240, 0, 241, 242, 243, 244, 245, 246, 247, 248,
1213, 250, 1214, 1215, 0, 253, 254, 255, 256, 257,
258, 1216, 1217, 259, 260, 1218, 1219, 263, 0, 264,
265, 266, 267, 1220, 0, 1221, 0, 270, 271, 272,
273, 274, 275, 276, 277, 278, 0, 279, 280, 281,
282, 283, 284, 0, 285, 286, 287, 288, 1222, 1223,
1224, 1225, 1226, 1227, 1228, 290, 291, 292, 293, 294,
295, 1229, 1230, 298, 1231, 299, 0, 300, 301, 302,
303, 304, 305, 0, 306, 307, 308, 309, 0, 0,
310, 311, 1065, 313, 314, 0, 315, 316, 317, 0,
318, 319, 320, 0, 321, 322, 323, 324, 1232, 326,
327, 328, 1233, 1234, 330, 0, 331, 332, 1235, 334,
0, 335, 0, 336, 337, 0, 338, 339, 340, 341,
342, 0, 343, 1236, 0, 1237, 346, 347, 0, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 0,
358, 359, 360, 361, 362, 363, 364, 0, 365, 366,
367, 368, 369, 370, 371, 1238, 1239, 0, 1240, 0,
375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
0, 0, 385, 1241, 387, 388, 389, 0, 390, 391,
392, 1242, 1243, 393, 394, 395, 396, 397, 398, 399,
400, 401, 402, 403, 404, 405, 406, 407, 408, 1244,
410, 1245, 412, 413, 414, 415, 1246, 416, 417, 418,
419, 1247, 1248, 421, 1249, 423, 424, 425, 0, 426,
427, 0, 0, 1250, 429, 430, 0, 0, 431, 432,
433, 434, 435, 436, 1251, 438, 439, 440, 441, 442,
443, 444, 445, 446, 0, 447, 448, 1252, 450, 451,
452, 453, 454, 0, 455, 456, 457, 458, 459, 460,
461, 462, 463, 464, 1253, 466, 467, 468, 469, 0,
470, 471, 472, 473, 474, 475, 476, 477, 478, 479,
480, 481, 0, 482, 483, 484, 485, 486, 487, 488,
489, 1254, 491, 492, 493, 494, 495, 496, 497, 498,
499, 0, 500, 501, 502, 503, 504, 1255, 505, 506,
507, 508, 509, 510, 511, 512, 1256, 514, 0, 515,
516, 517, 518, 519, 520, 521, 522, 523, 524, 525,
526, 1257, 0, 528, 529, 0, 530, 531, 532, 533,
534, 535, 536, 0, 537, 1258, 1259, 0, 0, 540,
541, 1260, 543, 1261, 1262, 545, 546, 547, 548, 549,
550, 551, 0, 1263, 552, 553, 554, 555, 556, 1264,
0, 557, 558, 559, 560, 561, 562, 1265, 0, 564,
565, 566, 567, 568, 569, 0, 0, 570, 0, 0,
571, 572, 573, 574, 575, 576, 577, 1266, 1267, 1268,
1269, 582, 1270, 1271, 1272, 1273, 587, 588, 589, 590,
1274, 0, 0, 0, 0, 0, 0, 1275, 1276, 0,
0, 0, 0, 0, 0, 0, 1278, 227, 1207, 659,
1208, 1209, 1210, 720, 1211, 0, 0, 0, 0, 0,
0, 0, 228, 229, 230, 231, 232, 233, 234, 235,
0, 236, 237, 238, 0, 0, 0, 0, 1212, 0,
0, 239, 240, 0, 241, 242, 243, 244, 245, 246,
247, 248, 1213, 250, 1214, 1215, 0, 253, 254, 255,
256, 257, 258, 1216, 1217, 259, 260, 1218, 1219, 263,
0, 264, 265, 266, 267, 1220, 0, 1221, 0, 270,
271, 272, 273, 274, 275, 276, 277, 278, 0, 279,
280, 281, 282, 283, 284, 0, 285, 286, 287, 4134,
1222, 1223, 1224, 1225, 1226, 1227, 1228, 290, 291, 292,
293, 294, 295, 1229, 1230, 298, 1231, 299, 0, 300,
301, 302, 303, 304, 305, 0, 306, 307, 308, 309,
0, 0, 310, 311, 1065, 313, 314, 0, 315, 316,
317, 0, 318, 319, 320, 0, 321, 322, 323, 324,
1232, 326, 327, 328, 1233, 1234, 330, 0, 331, 332,
1235, 334, 0, 335, 0, 336, 337, 0, 338, 339,
340, 341, 342, 0, 343, 1236, 0, 1237, 346, 347,
0, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 0, 358, 359, 360, 361, 362, 363, 364, 0,
365, 366, 367, 368, 369, 370, 371, 1238, 1239, 0,
1240, 0, 375, 376, 377, 378, 379, 380, 381, 382,
383, 384, 0, 0, 385, 1241, 387, 388, 389, 0,
390, 391, 392, 1242, 1243, 393, 394, 395, 396, 397,
398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
408, 1244, 410, 1245, 412, 413, 414, 415, 1246, 416,
417, 418, 419, 1247, 1248, 421, 1249, 423, 424, 425,
0, 426, 427, 0, 0, 1250, 429, 430, 0, 0,
431, 432, 433, 434, 435, 436, 1251, 438, 439, 440,
441, 442, 443, 444, 445, 446, 0, 447, 448, 1252,
450, 451, 452, 453, 454, 0, 455, 456, 457, 458,
459, 460, 461, 462, 463, 464, 1253, 466, 467, 468,
469, 0, 470, 471, 472, 473, 474, 475, 476, 477,
478, 479, 480, 481, 0, 482, 483, 484, 485, 486,
487, 488, 489, 1254, 491, 492, 493, 494, 495, 496,
497, 498, 499, 0, 500, 501, 502, 503, 504, 1255,
505, 506, 507, 508, 509, 510, 511, 512, 1256, 514,
0, 515, 516, 517, 518, 519, 520, 521, 522, 523,
524, 525, 526, 1257, 0, 528, 529, 0, 530, 531,
532, 533, 534, 535, 536, 0, 537, 1258, 1259, 0,
0, 540, 541, 1260, 543, 1261, 1262, 545, 546, 547,
548, 549, 550, 551, 0, 1263, 552, 553, 554, 555,
556, 1264, 0, 557, 558, 559, 560, 561, 562, 1265,
0, 564, 565, 566, 567, 568, 569, 0, 0, 570,
0, 0, 571, 572, 573, 574, 575, 576, 577, 1266,
1267, 1268, 1269, 582, 1270, 1271, 1272, 1273, 587, 588,
589, 590, 1274, 0, 0, 0, 0, 0, 0, 1275,
1276, 0, 0, 0, 0, 0, 0, 0, 1278, 227,
1207, 659, 1208, 1209, 1210, 720, 1211, 0, 0, 0,
0, 0, 0, 0, 228, 229, 230, 231, 232, 233,
234, 235, 0, 236, 237, 238, 0, 0, 0, 0,
1212, 0, 0, 239, 240, 0, 241, 242, 243, 244,
245, 246, 247, 248, 1213, 250, 1214, 1215, 0, 253,
254, 255, 256, 257, 258, 1216, 1217, 259, 260, 1218,
1219, 263, 0, 264, 265, 266, 267, 1220, 0, 1221,
0, 270, 271, 272, 273, 274, 275, 276, 277, 278,
0, 279, 280, 281, 282, 283, 284, 0, 285, 286,
287, 288, 1222, 1223, 1224, 1225, 1226, 1227, 1228, 290,
291, 292, 293, 294, 295, 1229, 1230, 298, 1231, 299,
0, 300, 301, 302, 303, 304, 305, 0, 306, 307,
308, 309, 0, 0, 310, 311, 1065, 313, 314, 0,
315, 316, 317, 0, 318, 319, 320, 0, 321, 322,
323, 324, 1232, 326, 327, 328, 1233, 1234, 330, 0,
331, 332, 1235, 334, 0, 335, 0, 336, 337, 0,
338, 339, 340, 341, 342, 0, 343, 1236, 0, 1237,
346, 347, 0, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 358, 359, 360, 361, 362, 363,
364, 0, 365, 366, 367, 368, 369, 370, 371, 1238,
1239, 0, 1240, 0, 375, 376, 377, 378, 379, 380,
381, 382, 383, 384, 0, 0, 385, 1241, 387, 388,
389, 0, 390, 391, 392, 1242, 1243, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 1244, 410, 1245, 412, 413, 414, 415,
1246, 416, 417, 418, 419, 1247, 1248, 421, 1249, 423,
424, 425, 0, 426, 427, 0, 0, 1250, 429, 430,
0, 0, 431, 432, 433, 434, 435, 436, 1251, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 447,
448, 1252, 450, 451, 452, 453, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 1253, 466,
467, 468, 469, 0, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 481, 0, 482, 483, 484,
485, 486, 487, 488, 489, 1254, 491, 492, 493, 494,
495, 496, 497, 498, 499, 0, 500, 501, 502, 503,
504, 1255, 505, 506, 507, 508, 509, 510, 511, 512,
1256, 514, 0, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 1257, 0, 528, 529, 0,
530, 531, 532, 533, 534, 535, 536, 0, 537, 1258,
1259, 0, 0, 540, 541, 1260, 543, 1261, 1262, 545,
546, 547, 548, 549, 550, 551, 0, 1263, 552, 553,
554, 555, 556, 1264, 0, 557, 558, 559, 560, 561,
562, 1265, 0, 564, 565, 566, 567, 568, 569, 0,
0, 570, 0, 0, 571, 572, 573, 574, 575, 576,
4468, 1266, 1267, 1268, 1269, 582, 1270, 1271, 1272, 1273,
587, 588, 589, 590, 1274, 0, 0, 0, 0, 0,
0, 1275, 1276, 0, 0, 0, 0, 0, 0, 0,
1278, 227, 1207, 659, 1208, 1209, 1210, 720, 1211, 0,
0, 0, 0, 0, 0, 0, 228, 229, 230, 231,
232, 233, 234, 235, 0, 236, 237, 238, 0, 0,
0, 0, 1212, 0, 0, 239, 240, 0, 241, 242,
243, 244, 245, 246, 247, 248, 1213, 250, 1214, 1215,
0, 253, 254, 255, 256, 257, 258, 1216, 1217, 259,
260, 1218, 1219, 263, 0, 264, 265, 266, 267, 1220,
0, 1221, 0, 270, 271, 272, 273, 274, 275, 276,
277, 278, 0, 279, 280, 281, 282, 283, 284, 0,
285, 286, 287, 288, 1222, 1223, 1224, 1225, 1226, 1227,
1228, 290, 291, 292, 293, 294, 295, 1229, 1230, 298,
1231, 299, 0, 300, 301, 302, 303, 304, 305, 0,
306, 307, 308, 309, 0, 0, 310, 311, 1065, 313,
314, 0, 315, 316, 317, 0, 318, 319, 320, 0,
321, 322, 323, 324, 1232, 326, 327, 328, 1233, 1234,
330, 0, 331, 332, 1235, 334, 0, 335, 0, 336,
337, 0, 338, 339, 340, 341, 342, 0, 343, 1236,
0, 1237, 346, 347, 0, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 0, 358, 359, 360, 361,
362, 363, 364, 0, 365, 366, 367, 368, 369, 370,
371, 1238, 1239, 0, 1240, 0, 375, 376, 377, 378,
379, 380, 381, 382, 383, 384, 0, 0, 385, 1241,
387, 388, 389, 0, 390, 391, 392, 1242, 1243, 393,
394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 1244, 410, 1245, 412, 413,
4477, 415, 1246, 416, 417, 418, 419, 1247, 1248, 421,
1249, 423, 424, 425, 0, 426, 427, 0, 0, 1250,
429, 430, 0, 0, 431, 432, 433, 434, 435, 436,
1251, 438, 439, 440, 441, 442, 443, 444, 445, 446,
0, 447, 448, 1252, 450, 451, 452, 453, 454, 0,
455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
1253, 466, 467, 468, 469, 0, 470, 471, 472, 473,
474, 475, 476, 477, 478, 479, 480, 481, 0, 482,
483, 484, 485, 486, 487, 488, 489, 1254, 491, 492,
493, 494, 495, 496, 497, 498, 499, 0, 500, 501,
502, 503, 504, 1255, 505, 506, 507, 508, 509, 510,
511, 512, 1256, 514, 0, 515, 516, 517, 518, 519,
520, 521, 522, 523, 524, 525, 526, 1257, 0, 528,
529, 0, 530, 531, 532, 533, 534, 535, 536, 0,
537, 1258, 1259, 0, 0, 540, 541, 1260, 543, 1261,
1262, 545, 546, 547, 548, 549, 550, 551, 0, 1263,
552, 553, 554, 555, 556, 1264, 0, 557, 558, 559,
560, 561, 562, 1265, 0, 564, 565, 566, 567, 568,
569, 0, 0, 570, 0, 0, 571, 572, 573, 574,
575, 576, 577, 1266, 1267, 1268, 1269, 582, 1270, 1271,
1272, 1273, 587, 588, 589, 590, 1274, 0, 0, 0,
0, 0, 0, 1275, 1276, 0, 0, 0, 0, 0,
0, 0, 1278, 227, 1207, 659, 1208, 1209, 1210, 720,
1211, 0, 0, 0, 0, 0, 0, 0, 228, 229,
230, 231, 232, 233, 234, 235, 0, 236, 237, 238,
0, 0, 0, 0, 1212, 0, 0, 239, 240, 0,
241, 242, 243, 244, 245, 246, 247, 248, 1213, 250,
1214, 1215, 0, 253, 254, 255, 256, 257, 258, 1216,
1217, 259, 260, 1218, 1219, 263, 0, 264, 265, 266,
267, 1220, 0, 1221, 0, 270, 271, 272, 273, 274,
275, 276, 277, 278, 0, 279, 280, 281, 282, 283,
284, 0, 285, 286, 4785, 288, 1222, 1223, 1224, 1225,
1226, 1227, 1228, 290, 291, 292, 293, 294, 295, 1229,
1230, 298, 1231, 299, 0, 300, 301, 302, 303, 304,
305, 0, 306, 307, 308, 309, 0, 0, 310, 311,
1065, 313, 314, 0, 315, 316, 317, 0, 318, 319,
320, 0, 321, 322, 323, 324, 1232, 326, 327, 328,
1233, 1234, 330, 0, 331, 332, 1235, 334, 0, 335,
0, 336, 337, 0, 338, 339, 340, 341, 342, 0,
343, 1236, 0, 4786, 346, 347, 0, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 0, 358, 359,
360, 361, 362, 363, 364, 0, 365, 366, 367, 368,
369, 370, 371, 1238, 1239, 0, 1240, 0, 375, 376,
377, 378, 379, 380, 381, 382, 383, 384, 0, 0,
385, 1241, 387, 388, 389, 0, 390, 391, 392, 1242,
1243, 393, 394, 395, 396, 397, 398, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 1244, 410, 1245,
412, 413, 414, 415, 1246, 416, 417, 418, 419, 1247,
1248, 421, 1249, 423, 424, 425, 0, 426, 427, 0,
0, 1250, 429, 430, 0, 0, 431, 432, 433, 434,
435, 436, 1251, 438, 439, 440, 441, 442, 443, 444,
445, 446, 0, 447, 448, 1252, 450, 451, 452, 453,
454, 0, 455, 456, 457, 458, 459, 460, 461, 462,
463, 464, 1253, 466, 467, 468, 469, 0, 470, 471,
472, 473, 474, 475, 476, 477, 478, 479, 480, 481,
0, 482, 483, 484, 485, 486, 4787, 488, 489, 1254,
491, 492, 493, 494, 495, 496, 497, 498, 499, 0,
500, 501, 502, 503, 504, 1255, 505, 506, 507, 508,
509, 510, 511, 512, 1256, 514, 0, 515, 516, 517,
518, 519, 520, 521, 522, 523, 524, 525, 526, 1257,
0, 528, 529, 0, 530, 531, 532, 533, 534, 535,
536, 0, 537, 1258, 1259, 0, 0, 540, 541, 1260,
543, 1261, 1262, 545, 546, 547, 548, 549, 550, 551,
0, 1263, 552, 553, 554, 555, 556, 1264, 0, 557,
558, 559, 560, 561, 562, 1265, 0, 564, 565, 566,
567, 568, 569, 0, 0, 570, 0, 0, 571, 572,
573, 574, 575, 576, 577, 1266, 1267, 1268, 1269, 582,
1270, 1271, 1272, 1273, 587, 588, 589, 590, 1274, 0,
0, 0, 0, 0, 0, 1275, 1276, 0, 0, 0,
0, 0, 0, 0, 4788, 227, 1207, 659, 1208, 1209,
1210, 720, 1211, 0, 0, 0, 0, 0, 0, 0,
228, 229, 230, 231, 232, 233, 234, 235, 0, 236,
237, 238, 0, 0, 0, 0, 1212, 0, 0, 239,
240, 0, 241, 242, 243, 244, 245, 246, 247, 5263,
1213, 250, 1214, 1215, 0, 253, 254, 255, 256, 257,
258, 1216, 1217, 259, 260, 1218, 1219, 263, 0, 264,
265, 266, 267, 1220, 0, 1221, 0, 270, 271, 272,
273, 274, 275, 276, 277, 278, 0, 279, 280, 281,
282, 283, 284, 0, 285, 286, 287, 5264, 1222, 1223,
1224, 1225, 1226, 1227, 1228, 290, 291, 292, 293, 294,
295, 1229, 1230, 298, 1231, 299, 0, 300, 301, 302,
303, 304, 305, 0, 306, 307, 308, 309, 0, 0,
310, 311, 1065, 313, 314, 0, 315, 316, 317, 0,
318, 319, 320, 0, 321, 322, 323, 324, 1232, 326,
327, 328, 1233, 1234, 330, 0, 331, 332, 1235, 334,
0, 335, 0, 336, 337, 0, 338, 339, 340, 341,
342, 0, 343, 1236, 0, 1237, 346, 347, 0, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 0,
358, 359, 360, 361, 362, 363, 364, 0, 365, 366,
367, 368, 369, 370, 371, 1238, 1239, 0, 1240, 0,
375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
0, 0, 385, 1241, 387, 388, 389, 0, 390, 391,
392, 1242, 1243, 393, 394, 395, 396, 397, 398, 399,
400, 401, 402, 403, 404, 405, 406, 407, 408, 1244,
410, 1245, 412, 413, 414, 415, 1246, 416, 417, 418,
419, 1247, 1248, 421, 1249, 423, 424, 425, 0, 426,
427, 0, 0, 1250, 429, 430, 0, 0, 431, 432,
433, 434, 435, 436, 1251, 438, 439, 440, 441, 442,
443, 444, 445, 446, 0, 447, 448, 1252, 450, 451,
452, 453, 454, 0, 455, 456, 457, 458, 459, 460,
461, 462, 463, 464, 1253, 466, 467, 468, 469, 0,
470, 471, 472, 473, 474, 475, 476, 477, 478, 479,
480, 481, 0, 482, 483, 484, 485, 486, 487, 488,
489, 1254, 491, 492, 493, 494, 495, 496, 497, 498,
499, 0, 500, 501, 502, 503, 504, 1255, 505, 506,
507, 508, 509, 510, 511, 512, 1256, 514, 0, 515,
516, 517, 518, 519, 520, 521, 522, 523, 524, 525,
526, 1257, 0, 528, 529, 0, 530, 531, 532, 533,
534, 535, 536, 0, 537, 1258, 1259, 0, 0, 540,
541, 1260, 543, 1261, 1262, 545, 546, 547, 548, 5265,
550, 551, 0, 1263, 552, 553, 554, 555, 556, 1264,
0, 557, 558, 559, 560, 561, 562, 1265, 0, 564,
565, 566, 567, 568, 569, 0, 0, 570, 0, 0,
571, 572, 573, 574, 575, 576, 577, 1266, 1267, 1268,
1269, 582, 1270, 1271, 1272, 1273, 587, 588, 589, 590,
1274, 0, 0, 0, 0, 0, 0, 1275, 1276, 0,
0, 0, 0, 0, 0, 0, 1278, 227, 1207, 659,
1208, 1209, 1210, 720, 1211, 0, 0, 0, 0, 0,
0, 0, 228, 229, 230, 231, 232, 233, 234, 235,
0, 236, 237, 238, 0, 0, 0, 0, 1212, 0,
0, 239, 240, 0, 241, 242, 243, 244, 245, 246,
247, 248, 1213, 250, 1214, 1215, 0, 253, 254, 255,
256, 257, 258, 1216, 1217, 259, 260, 1218, 1219, 263,
0, 264, 265, 266, 267, 1220, 0, 1221, 0, 270,
271, 272, 273, 274, 275, 276, 277, 278, 0, 279,
280, 281, 282, 283, 284, 0, 285, 286, 287, 5264,
1222, 1223, 1224, 1225, 1226, 1227, 1228, 290, 291, 292,
293, 294, 295, 1229, 1230, 298, 1231, 299, 0, 300,
301, 302, 303, 304, 305, 0, 306, 307, 308, 309,
0, 0, 310, 311, 1065, 313, 314, 0, 315, 316,
317, 0, 318, 319, 320, 0, 321, 322, 323, 324,
1232, 326, 327, 328, 1233, 1234, 330, 0, 331, 332,
1235, 334, 0, 335, 0, 336, 337, 0, 338, 339,
340, 341, 342, 0, 343, 1236, 0, 1237, 346, 347,
0, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 0, 358, 359, 360, 361, 362, 363, 364, 0,
365, 366, 367, 368, 369, 370, 371, 1238, 1239, 0,
1240, 0, 375, 376, 377, 378, 379, 380, 381, 382,
383, 384, 0, 0, 385, 1241, 387, 388, 389, 0,
390, 391, 392, 1242, 1243, 393, 394, 395, 396, 397,
398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
408, 1244, 410, 1245, 412, 413, 414, 415, 1246, 416,
417, 418, 419, 1247, 1248, 421, 1249, 423, 424, 425,
0, 426, 427, 0, 0, 1250, 429, 430, 0, 0,
431, 432, 433, 434, 435, 436, 1251, 438, 439, 440,
441, 442, 443, 444, 445, 446, 0, 447, 448, 1252,
450, 451, 452, 453, 454, 0, 455, 456, 457, 458,
459, 460, 461, 462, 463, 464, 1253, 466, 467, 468,
469, 0, 470, 471, 472, 473, 474, 475, 476, 477,
478, 479, 480, 481, 0, 482, 483, 484, 485, 486,
487, 488, 489, 1254, 491, 492, 493, 494, 495, 496,
497, 498, 499, 0, 500, 501, 502, 503, 504, 1255,
505, 506, 507, 508, 509, 510, 511, 512, 1256, 514,
0, 515, 516, 517, 518, 519, 520, 521, 522, 523,
524, 525, 526, 1257, 0, 528, 529, 0, 530, 531,
532, 533, 534, 535, 536, 0, 537, 1258, 1259, 0,
0, 540, 541, 1260, 543, 1261, 1262, 545, 546, 547,
548, 5265, 550, 551, 0, 1263, 552, 553, 554, 555,
556, 1264, 0, 557, 558, 559, 560, 561, 562, 1265,
0, 564, 565, 566, 567, 568, 569, 0, 0, 570,
0, 0, 571, 572, 573, 574, 575, 576, 577, 1266,
1267, 1268, 1269, 582, 1270, 1271, 1272, 1273, 587, 588,
589, 590, 1274, 0, 0, 0, 0, 0, 0, 1275,
1276, 0, 0, 0, 0, 0, 0, 0, 1278, 227,
1207, 659, 1208, 1209, 1210, 720, 1211, 0, 0, 0,
0, 0, 0, 0, 228, 229, 230, 231, 232, 233,
234, 235, 0, 236, 237, 238, 0, 0, 0, 0,
1212, 0, 0, 239, 240, 0, 241, 242, 243, 244,
245, 246, 247, 248, 1213, 250, 1214, 1215, 0, 253,
254, 255, 256, 257, 258, 1216, 1217, 259, 260, 1218,
1219, 263, 0, 264, 265, 266, 267, 1220, 0, 1221,
0, 270, 271, 272, 273, 274, 275, 276, 277, 278,
0, 279, 280, 281, 282, 283, 284, 0, 285, 286,
287, 288, 1222, 1223, 1224, 1225, 1226, 1227, 1228, 290,
291, 292, 293, 294, 295, 1229, 1230, 298, 4980, 299,
0, 300, 301, 302, 303, 304, 305, 0, 306, 307,
308, 309, 0, 0, 310, 311, 1065, 313, 314, 0,
315, 316, 317, 0, 318, 319, 320, 0, 321, 322,
323, 324, 1232, 326, 327, 328, 1233, 1234, 330, 0,
331, 332, 1235, 334, 0, 335, 0, 336, 337, 0,
338, 339, 340, 341, 342, 0, 343, 1236, 0, 1237,
346, 347, 0, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 358, 359, 360, 361, 362, 363,
364, 0, 365, 366, 367, 368, 369, 370, 371, 1238,
1239, 0, 1240, 0, 375, 376, 377, 378, 379, 380,
381, 382, 383, 384, 0, 0, 385, 1241, 387, 388,
389, 0, 390, 391, 392, 1242, 1243, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 1244, 410, 1245, 412, 413, 414, 415,
0, 416, 417, 418, 419, 1247, 1248, 421, 1249, 423,
424, 425, 0, 426, 427, 0, 0, 1250, 429, 430,
0, 0, 431, 432, 433, 434, 435, 436, 1251, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 447,
448, 1252, 450, 451, 452, 453, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 1253, 466,
467, 468, 469, 0, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 481, 0, 482, 483, 484,
485, 486, 487, 488, 489, 2750, 491, 492, 493, 494,
495, 496, 497, 498, 499, 0, 500, 501, 502, 503,
504, 1255, 505, 506, 507, 508, 509, 510, 511, 512,
1256, 514, 0, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 1257, 0, 528, 529, 0,
530, 531, 532, 533, 534, 535, 536, 0, 537, 1258,
1259, 0, 0, 540, 541, 1260, 543, 1261, 1262, 545,
546, 547, 548, 549, 550, 551, 0, 0, 552, 553,
554, 555, 556, 1264, 0, 557, 558, 559, 560, 561,
562, 1265, 0, 564, 565, 566, 567, 568, 569, 0,
0, 570, 0, 0, 571, 572, 573, 574, 575, 576,
577, 1266, 1267, 1268, 1269, 582, 1270, 1271, 1272, 1273,
587, 588, 589, 590, 0, 0, 0, 0, 0, 0,
0, 2751, 2752, 0, 0, 0, 0, 0, 0, 0,
2753, 227, 1207, 659, 1208, 1209, 1210, 720, 1211, 0,
0, 0, 0, 0, 0, 0, 228, 229, 230, 231,
232, 233, 234, 235, 0, 236, 237, 238, 0, 0,
0, 0, 1212, 0, 0, 239, 240, 0, 241, 242,
243, 244, 245, 246, 247, -2634, 1213, 250, 1214, 1215,
0, 253, 254, 255, 256, 257, 258, 1216, 1217, 259,
260, 1218, 1219, 263, 0, 264, 265, 266, 267, 1220,
0, 1221, 0, 270, 271, 272, 273, 274, 275, 276,
277, 278, 0, 279, 280, 281, 282, 283, 284, 0,
285, 286, 287, 5264, 1222, 1223, 1224, 1225, 1226, 1227,
1228, 290, 291, 292, 293, 294, 295, 1229, 1230, 298,
1231, 299, 0, 300, 301, 302, 303, 304, 305, 0,
306, 307, 308, 309, 0, 0, 310, 311, 1065, 313,
314, 0, 315, 316, 317, 0, 318, 319, 320, 0,
321, 322, 323, 324, 1232, 326, 327, 328, 1233, 1234,
330, 0, 331, 332, 1235, 334, 0, 335, 0, 336,
337, 0, 338, 339, 340, 341, 342, 0, 343, 1236,
0, 1237, 346, 347, 0, 348, 349, 350, 351, 352,
-2634, 354, 355, 356, 357, 0, 358, 359, 360, 361,
362, 363, 364, 0, 365, 366, 367, 368, 369, 370,
371, 1238, 1239, 0, 1240, 0, 375, 0, 0, 378,
379, 380, 381, 382, 383, 384, 0, 0, 385, 1241,
387, 388, -2634, 0, 390, 391, 392, 1242, 1243, 393,
394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 1244, 410, 1245, 412, 413,
414, 415, 1246, 416, 417, 0, 419, 1247, 1248, 421,
1249, 423, 424, 425, 0, 426, 427, 0, 0, 1250,
429, 430, 0, 0, 431, 432, 433, 434, 435, 436,
1251, 438, 439, 440, 441, 442, 443, 444, 445, 446,
0, 447, 448, 1252, 450, 451, 452, 453, 454, 0,
455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
1253, 466, 467, 468, 469, 0, 470, 471, 472, 473,
474, 475, 476, 477, 478, 479, 480, 481, 0, 482,
483, 484, 485, 486, 487, 488, 489, 1254, 491, 492,
493, 494, 495, 496, 497, 498, 499, 0, 500, 501,
502, 503, 504, 1255, 505, 506, 507, 508, 509, -2634,
511, 512, 1256, 514, 0, 515, 516, 517, 518, 519,
520, 521, 522, 523, 524, 525, 526, 1257, 0, 528,
529, 0, 530, 531, 532, 533, 534, 535, 536, 0,
537, 1258, 1259, 0, 0, 540, 541, 1260, 543, 1261,
1262, 545, 546, 547, 548, 5265, 550, 551, 0, 1263,
552, 553, 554, 555, 556, 1264, 0, 557, 558, 559,
560, 561, 562, 1265, 0, 564, 565, 566, 567, 568,
569, 0, 0, 570, 0, 0, 571, 572, 573, 574,
575, 576, 577, 1266, 1267, 1268, 1269, 582, 1270, 1271,
1272, 1273, 587, 588, 589, 590, -2634, 0, 0, 0,
0, 0, 0, 1275, 1276, 0, 0, 0, 0, 0,
0, 0, 1278, 227, 1207, 659, 1208, 1209, 1210, 720,
1211, 0, 0, 0, 0, 0, 0, 0, 228, 229,
230, 231, 232, 233, 234, 235, 0, 236, 237, 238,
0, 0, 0, 0, 1212, 0, 0, 239, 240, 0,
241, 242, 243, 244, 245, 246, 247, 248, 1213, 250,
1214, 1215, 0, 253, 254, 255, 256, 257, 258, 1216,
1217, 259, 260, 1218, 1219, 263, 0, 264, 265, 266,
267, 1220, 0, 1221, 0, 270, 271, 272, 273, 274,
275, 276, 277, 278, 0, 279, 280, 281, 282, 283,
284, 0, 285, 286, 287, 288, 1222, 1223, 1224, 1225,
1226, 1227, 1228, 290, 291, 292, 293, 294, 295, 1229,
1230, 298, 0, 299, 0, 300, 301, 302, 303, 304,
305, 0, 306, 307, 308, 309, 0, 0, 310, 311,
1065, 313, 314, 0, 315, 316, 317, 0, 318, 319,
320, 0, 321, 322, 323, 324, 1232, 326, 327, 328,
1233, 1234, 330, 0, 331, 332, 1235, 334, 0, 335,
0, 336, 337, 0, 338, 339, 340, 341, 342, 0,
343, 1236, 0, 1237, 346, 347, 0, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 0, 358, 359,
360, 361, 362, 363, 364, 0, 365, 366, 367, 368,
369, 370, 371, 1238, 1239, 0, 1240, 0, 375, 376,
377, 378, 379, 380, 381, 382, 383, 384, 0, 0,
385, 1241, 387, 388, 389, 0, 390, 391, 392, 1242,
1243, 393, 394, 395, 396, 397, 398, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 1244, 410, 1245,
412, 413, 414, 415, 0, 416, 417, 418, 419, 1247,
1248, 421, 1249, 423, 424, 425, 0, 426, 427, 0,
0, 1250, 429, 430, 0, 0, 431, 432, 433, 434,
435, 436, 1251, 438, 439, 440, 441, 442, 443, 444,
445, 446, 0, 447, 448, 1252, 450, 451, 452, 453,
454, 0, 455, 456, 457, 458, 459, 460, 461, 462,
463, 464, 1253, 466, 467, 468, 469, 0, 470, 471,
472, 473, 474, 475, 476, 477, 478, 479, 480, 481,
0, 482, 483, 484, 485, 486, 487, 488, 489, 2750,
491, 492, 493, 494, 495, 496, 497, 498, 499, 0,
500, 501, 502, 503, 504, 1255, 505, 506, 507, 508,
509, 510, 511, 512, 1256, 514, 0, 515, 516, 517,
518, 519, 520, 521, 522, 523, 524, 525, 526, 1257,
0, 528, 529, 0, 530, 531, 532, 533, 534, 535,
536, 0, 537, 1258, 1259, 0, 0, 540, 541, 1260,
543, 1261, 1262, 545, 546, 547, 548, 549, 550, 551,
0, 0, 552, 553, 554, 555, 556, 1264, 0, 557,
558, 559, 560, 561, 562, 1265, 0, 564, 565, 566,
567, 568, 569, 0, 0, 570, 0, 0, 571, 572,
573, 574, 575, 576, 577, 1266, 1267, 1268, 1269, 582,
1270, 1271, 1272, 1273, 587, 588, 589, 590, 0, 0,
0, 0, 0, 0, 0, 2751, 2752, 0, 0, 227,
1207, 659, 1208, 1209, 2753, 720, 1211, 0, 0, 0,
0, 0, 0, 0, 228, 229, 230, 231, 232, 233,
234, 235, 0, 236, 237, 238, 0, 0, 0, 0,
1212, 0, 0, 239, 240, 0, 241, 242, 243, 244,
245, 246, 247, 248, 1213, 250, 1214, 1215, 0, 253,
254, 255, 256, 257, 258, 1216, 1217, 259, 260, 1218,
1219, 263, 0, 264, 265, 266, 267, 1220, 0, 1221,
0, 270, 271, 272, 273, 274, 275, 276, 277, 278,
0, 279, 280, 281, 282, 283, 284, 0, 285, 286,
287, 288, 1222, 1223, 1224, 1225, 1226, 1227, 1228, 290,
291, 292, 293, 294, 295, 1229, 1230, 298, 0, 299,
0, 300, 301, 302, 303, 304, 305, 0, 306, 307,
308, 309, 0, 0, 310, 311, 1065, 313, 314, 0,
315, 316, 317, 0, 318, 319, 320, 0, 321, 322,
323, 324, 1232, 326, 327, 328, 1233, 1234, 330, 0,
331, 332, 1235, 334, 0, 335, 0, 336, 337, 0,
338, 339, 340, 341, 342, 0, 343, 1236, 0, 1237,
346, 347, 0, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 358, 359, 360, 361, 362, 363,
364, 0, 365, 366, 367, 368, 369, 370, 371, 1238,
1239, 0, 1240, 0, 375, 376, 377, 378, 379, 380,
381, 382, 383, 384, 0, 0, 385, 1241, 387, 388,
389, 0, 390, 391, 392, 1242, 1243, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 1244, 410, 1245, 412, 413, 414, 415,
0, 416, 417, 418, 419, 1247, 1248, 421, 1249, 423,
424, 425, 0, 426, 427, 0, 0, 428, 429, 430,
0, 0, 431, 432, 433, 434, 435, 436, 1251, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 447,
448, 1252, 450, 451, 452, 453, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 1253, 466,
467, 468, 469, 0, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 481, 0, 482, 483, 484,
485, 486, 487, 488, 489, 2874, 2875, 492, 493, 494,
495, 496, 497, 498, 499, 0, 500, 501, 502, 503,
504, 1255, 505, 506, 507, 508, 509, 510, 511, 512,
1256, 514, 0, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 1257, 0, 528, 529, 0,
530, 531, 532, 533, 534, 535, 536, 0, 537, 1258,
1259, 0, 0, 540, 541, 1260, 543, 1261, 1262, 545,
546, 547, 548, 549, 550, 551, 0, 0, 552, 553,
554, 555, 556, 1264, 0, 557, 558, 559, 560, 561,
562, 1265, 0, 564, 565, 566, 567, 568, 569, 0,
0, 570, 0, 0, 571, 572, 573, 574, 575, 576,
577, 1266, 1267, 1268, 1269, 582, 1270, 1271, 1272, 1273,
587, 588, 589, 590, 0, 0, 0, 0, 0, 0,
0, 2876, 2877, 0, 0, 0, 0, 0, 0, 0,
2753, 227, 1207, 659, 1208, 1209, 1210, 720, 1211, 0,
0, 0, 0, 0, 0, 0, 228, 229, 230, 231,
232, 233, 234, 235, 0, 236, 237, 238, 0, 0,
0, 0, 1212, 0, 0, 239, 240, 0, 241, 242,
243, 244, 245, 246, 247, 248, 1213, 250, 1214, 1215,
0, 253, 254, 255, 256, 257, 258, 1216, 1217, 259,
260, 1218, 1219, 263, 0, 264, 265, 266, 267, 1220,
0, 1221, 0, 270, 271, 272, 273, 274, 275, 276,
277, 278, 0, 279, 280, 281, 282, 283, 284, 0,
285, 286, 287, 288, 1222, 1223, 1224, 1225, 1226, 1227,
1228, 290, 291, 292, 293, 294, 295, 1229, 1230, 298,
0, 299, 0, 300, 301, 302, 303, 304, 305, 0,
306, 307, 308, 309, 0, 0, 310, 311, 1065, 313,
314, 0, 315, 316, 317, 0, 318, 319, 320, 0,
321, 322, 323, 324, 1232, 326, 327, 328, 1233, 1234,
330, 0, 331, 332, 1235, 334, 0, 335, 0, 336,
337, 0, 338, 339, 340, 341, 342, 0, 343, 1236,
0, 1237, 346, 347, 0, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 0, 358, 359, 360, 361,
362, 363, 364, 0, 365, 366, 367, 368, 369, 370,
371, 1238, 1239, 0, 1240, 0, 375, 0, 377, 378,
379, 380, 381, 382, 383, 384, 0, 0, 385, 1241,
387, 388, 389, 0, 390, 391, 392, 1242, 1243, 393,
394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 1244, 410, 1245, 412, 413,
414, 415, 0, 416, 417, 418, 419, 1247, 1248, 421,
1249, 423, 424, 425, 0, 426, 427, 0, 0, 1250,
429, 430, 0, 0, 431, 432, 433, 434, 435, 436,
1251, 438, 439, 440, 441, 442, 443, 444, 445, 446,
0, 447, 448, 1252, 450, 451, 452, 453, 454, 0,
455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
1253, 466, 467, 468, 469, 0, 470, 471, 472, 473,
474, 475, 476, 477, 478, 479, 480, 481, 0, 482,
483, 484, 485, 486, 487, 488, 489, 2750, 491, 492,
493, 494, 495, 496, 497, 498, 499, 0, 500, 501,
502, 503, 504, 1255, 505, 506, 507, 508, 509, 510,
511, 512, 1256, 514, 0, 515, 516, 517, 518, 519,
520, 521, 522, 523, 524, 525, 526, 1257, 0, 528,
529, 0, 530, 531, 532, 533, 534, 535, 536, 0,
537, 1258, 1259, 0, 0, 540, 541, 1260, 543, 1261,
1262, 545, 546, 547, 548, 549, 550, 551, 0, 0,
552, 553, 554, 555, 556, 1264, 0, 557, 558, 559,
560, 561, 562, 1265, 0, 564, 565, 566, 567, 568,
569, 0, 0, 570, 0, 0, 571, 572, 573, 574,
575, 576, 577, 1266, 1267, 1268, 1269, 582, 1270, 1271,
1272, 1273, 587, 588, 589, 590, 0, 0, 0, 0,
0, 0, 0, 2751, 2752, 0, 0, 227, 1207, 659,
1208, 1209, 2753, 720, 1211, 0, 0, 0, 0, 0,
0, 0, 228, 229, 230, 231, 232, 233, 234, 235,
0, 236, 237, 238, 0, 0, 0, 0, 1212, 0,
0, 239, 240, 0, 241, 242, 243, 244, 245, 246,
247, 248, 1213, 250, 1214, 1215, 0, 253, 254, 255,
256, 257, 258, 1216, 1217, 259, 260, 1218, 1219, 263,
0, 264, 265, 266, 267, 1220, 0, 1221, 0, 270,
271, 272, 273, 274, 275, 276, 277, 278, 0, 279,
280, 281, 282, 283, 284, 0, 285, 286, 287, 288,
1222, 1223, 1224, 1225, 1226, 1227, 1228, 290, 291, 292,
293, 294, 295, 1229, 1230, 298, 0, 299, 0, 300,
301, 302, 303, 304, 305, 0, 306, 307, 308, 309,
0, 0, 310, 311, 1065, 313, 314, 0, 315, 316,
317, 0, 318, 319, 320, 0, 321, 322, 323, 324,
1232, 326, 327, 328, 1233, 1234, 330, 0, 331, 332,
1235, 334, 0, 335, 0, 336, 337, 0, 338, 339,
340, 341, 342, 0, 343, 1236, 0, 1237, 346, 347,
0, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 0, 358, 359, 360, 361, 362, 363, 364, 0,
365, 366, 367, 368, 369, 370, 371, 1238, 1239, 0,
1240, 0, 375, 376, 377, 378, 379, 380, 381, 382,
383, 384, 0, 0, 385, 1241, 387, 388, 389, 0,
390, 391, 392, 1242, 1243, 393, 394, 395, 396, 397,
398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
408, 1244, 410, 1245, 412, 413, 414, 415, 0, 416,
417, 418, 419, 1247, 1248, 421, 1249, 423, 424, 425,
0, 426, 427, 0, 0, 428, 429, 430, 0, 0,
431, 432, 433, 434, 435, 436, 1251, 438, 439, 440,
441, 442, 443, 444, 445, 446, 0, 447, 448, 1252,
450, 451, 452, 453, 454, 0, 455, 456, 457, 458,
459, 460, 461, 462, 463, 464, 1253, 466, 467, 468,
469, 0, 470, 471, 472, 473, 474, 475, 476, 477,
478, 479, 480, 481, 0, 482, 483, 484, 485, 486,
487, 488, 489, 2750, 491, 492, 493, 494, 495, 496,
497, 498, 499, 0, 500, 501, 502, 503, 504, 1255,
505, 506, 507, 508, 509, 510, 511, 512, 1256, 514,
0, 515, 516, 517, 518, 519, 520, 521, 522, 523,
524, 525, 526, 1257, 0, 528, 529, 0, 530, 531,
532, 533, 534, 535, 536, 0, 537, 1258, 1259, 0,
0, 540, 541, 1260, 543, 1261, 1262, 545, 546, 547,
548, 549, 550, 551, 0, 0, 552, 553, 554, 555,
556, 1264, 0, 557, 558, 559, 560, 561, 562, 1265,
0, 564, 565, 566, 567, 568, 569, 0, 0, 570,
0, 0, 571, 572, 573, 574, 575, 576, 577, 1266,
1267, 1268, 1269, 582, 1270, 1271, 1272, 1273, 587, 588,
589, 590, 0, 0, 227, 1207, 659, 1208, 1209, 0,
720, 1211, 0, 0, 0, 0, 0, 0, 2753, 228,
229, 230, 231, 232, 233, 234, 235, 0, 236, 237,
238, 0, 0, 0, 0, 1212, 0, 0, 239, 240,
0, 241, 242, 243, 244, 245, 246, 247, 248, 1213,
250, 1214, 1215, 0, 4044, 254, 255, 256, 257, 258,
1216, 1217, 259, 260, 1218, 1219, 263, 0, 264, 265,
266, 267, 1220, 0, 1221, 0, 270, 271, 272, 273,
274, 275, 276, 277, 278, 0, 279, 280, 281, 282,
283, 284, 0, 285, 286, 287, 288, 1222, 1223, 1224,
1225, 1226, 1227, 1228, 290, 291, 292, 293, 294, 295,
1229, 1230, 298, 0, 299, 0, 300, 301, 302, 303,
304, 305, 0, 306, 307, 308, 309, 0, 0, 310,
311, 1065, 313, 314, 0, 315, 316, 317, 0, 318,
319, 320, 0, 321, 322, 323, 324, 1232, 326, 327,
328, 1233, 1234, 330, 0, 331, 332, 1235, 334, 0,
335, 0, 336, 337, 0, 338, 339, 340, 341, 342,
0, 343, 1236, 0, 1237, 346, 347, 0, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 0, 358,
359, 360, 361, 362, 363, 364, 0, 365, 366, 367,
368, 369, 370, 371, 1238, 1239, 0, 1240, 0, 375,
376, 377, 378, 379, 380, 381, 382, 383, 384, 0,
0, 385, 1241, 387, 388, 389, 0, 390, 391, 392,
1242, 1243, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 1244, 410,
1245, 412, 413, 414, 415, 0, 416, 417, 418, 419,
1247, 1248, 421, 1249, 423, 424, 425, 0, 426, 427,
0, 0, 428, 429, 430, 0, 0, 431, 432, 433,
434, 435, 436, 1251, 438, 439, 440, 441, 442, 443,
444, 445, 446, 0, 447, 448, 1252, 450, 451, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 1253, 466, 467, 468, 469, 0, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
481, 0, 482, 483, 484, 485, 486, 487, 488, 489,
2750, 491, 492, 493, 494, 495, 496, 497, 498, 499,
0, 500, 501, 502, 503, 504, 1255, 505, 506, 507,
508, 509, 510, 511, 512, 1256, 514, 0, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
1257, 0, 528, 529, 0, 530, 531, 532, 533, 534,
535, 536, 0, 537, 1258, 1259, 0, 0, 540, 541,
1260, 543, 1261, 1262, 545, 546, 547, 548, 549, 550,
551, 0, 0, 552, 553, 554, 555, 556, 1264, 0,
557, 558, 559, 560, 561, 562, 1265, 0, 564, 565,
566, 567, 568, 569, 0, 0, 570, 0, 0, 571,
572, 573, 574, 575, 576, 577, 1266, 1267, 1268, 1269,
582, 1270, 1271, 1272, 1273, 587, 588, 589, 590, 0,
0, 227, 1207, 659, 1208, 1209, 0, 720, 1211, 0,
0, 0, 0, 0, 0, 2753, 228, 229, 230, 231,
232, 233, 234, 235, 0, 236, 237, 238, 0, 0,
0, 0, 1212, 0, 0, 239, 240, 0, 241, 242,
243, 244, 245, 246, 247, 248, 1213, 250, 1214, 1215,
0, 253, 254, 255, 256, 257, 258, 1216, 1217, 259,
260, 1218, 1219, 263, 0, 264, 265, 266, 267, 1220,
0, 1221, 0, 270, 271, 272, 273, 274, 275, 276,
277, 278, 0, 279, 280, 281, 282, 283, 284, 0,
285, 286, 287, 288, 1222, 1223, 1224, 1225, 1226, 1227,
1228, 290, 291, 292, 293, 294, 295, 1229, 1230, 298,
0, 299, 0, 300, 301, 302, 303, 304, 305, 0,
306, 307, 308, 309, 0, 0, 310, 311, 1065, 313,
314, 0, 315, 316, 317, 0, 318, 319, 320, 0,
321, 322, 323, 324, 1232, 326, 327, 328, 1233, 1234,
330, 0, 331, 332, 1235, 334, 0, 335, 0, 336,
337, 0, 338, 339, 340, 341, 342, 0, 343, 1236,
0, 1237, 346, 347, 0, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 0, 358, 359, 360, 361,
362, 363, 364, 0, 365, 366, 367, 368, 369, 370,
371, 1238, 1239, 0, 1240, 0, 375, 376, 377, 378,
379, 380, 381, 382, 383, 384, 0, 0, 385, 1241,
387, 388, 389, 0, 390, 391, 392, 1242, 1243, 393,
394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 1244, 410, 1245, 412, 413,
414, 415, 0, 416, 417, 418, 419, 1247, 1248, 421,
1249, 423, 424, 425, 0, 426, 427, 0, 0, 428,
429, 430, 0, 0, 431, 432, 433, 434, 435, 436,
1251, 438, 439, 440, 441, 442, 443, 444, 445, 446,
0, 447, 448, 1252, 450, 451, 452, 453, 454, 0,
455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
1253, 466, 467, 468, 469, 0, 470, 471, 472, 473,
474, 475, 476, 477, 478, 479, 480, 481, 0, 482,
483, 484, 485, 486, 487, 488, 489, 2750, 491, 492,
493, 494, 495, 496, 497, 498, 499, 0, 500, 501,
502, 503, 504, 1255, 505, 506, 507, 508, 509, 510,
511, 512, 1256, 514, 0, 515, 516, 517, 518, 519,
520, 521, 522, 523, 524, 525, 526, 1257, 0, 528,
529, 0, 530, 531, 532, 533, 534, 535, 536, 0,
537, 1258, 1259, 0, 0, 540, 541, 1260, 543, 1261,
1262, 545, 546, 547, 548, 549, 550, 551, 0, 0,
552, 553, 554, 555, 556, 1264, 0, 557, 558, 559,
560, 561, 562, 1265, 0, 564, 565, 566, 567, 568,
569, 0, 0, 570, 0, 0, 571, 572, 573, 574,
575, 576, 577, 1266, 1267, 1268, 1269, 4508, 1270, 1271,
1272, 1273, 587, 588, 589, 590, 0, 0, 227, 1207,
659, 1208, 1209, 1210, 720, 1211, 0, 0, 0, 0,
0, 0, 2753, 228, 229, 230, 231, 232, 233, 234,
235, 0, 236, 237, 238, 0, 0, 0, 0, 1212,
0, 0, 239, 240, 0, 241, 242, 243, 244, 245,
246, 247, 0, 1213, 250, 1214, 1215, 0, 253, 254,
255, 256, 257, 258, 1216, 1217, 259, 260, 1218, 1219,
263, 0, 264, 265, 266, 267, 1220, 0, 1221, 0,
270, 271, 272, 273, 274, 275, 276, 277, 278, 0,
279, 280, 281, 282, 283, 284, 0, 285, 286, 287,
288, 1222, 1223, 1224, 1225, 1226, 1227, 1228, 290, 291,
292, 293, 294, 295, 1229, 1230, 298, 1231, 299, 0,
300, 301, 302, 303, 304, 305, 0, 306, 307, 308,
309, 0, 0, 310, 311, 1065, 313, 314, 0, 315,
316, 317, 0, 318, 0, 320, 0, 321, 322, 323,
324, 1232, 326, 327, 328, 1233, 1234, 330, 0, 331,
332, 1235, 334, 0, 335, 0, 336, 337, 0, 338,
339, 340, 341, 342, 0, 343, 1236, 0, 1237, 346,
347, 0, 348, 349, 350, 351, 352, 0, 354, 355,
356, 357, 0, 358, 359, 360, 361, 362, 363, 364,
0, 365, 366, 367, 368, 369, 370, 371, 1238, 1239,
0, 1240, 0, 375, 0, 0, 378, 379, 380, 381,
382, 383, 384, 0, 0, 385, 1241, 387, 388, 0,
0, 390, 391, 392, 1242, 1243, 393, 394, 395, 396,
397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
407, 408, 1244, 410, 1245, 412, 413, 414, 415, 1246,
416, 417, 0, 419, 1247, 1248, 421, 1249, 423, 424,
425, 0, 426, 427, 0, 0, 1250, 429, 430, 0,
0, 431, 432, 433, 434, 435, 436, 1251, 438, 439,
440, 441, 442, 443, 444, 445, 446, 0, 447, 448,
1252, 450, 451, 452, 453, 454, 0, 455, 456, 457,
458, 459, 460, 461, 462, 463, 464, 1253, 466, 467,
468, 469, 0, 470, 471, 472, 473, 474, 475, 476,
477, 478, 479, 480, 481, 0, 482, 483, 484, 485,
486, 487, 488, 489, 1254, 491, 492, 493, 494, 495,
496, 497, 498, 499, 0, 500, 501, 502, 503, 504,
1255, 505, 506, 507, 508, 509, 0, 511, 512, 1256,
514, 0, 515, 516, 517, 518, 519, 520, 521, 522,
523, 524, 525, 526, 1257, 0, 528, 529, 0, 530,
531, 532, 533, 534, 535, 536, 0, 537, 1258, 1259,
0, 0, 540, 541, 1260, 543, 1261, 1262, 545, 546,
547, 548, 549, 550, 551, 0, 1263, 552, 553, 554,
555, 556, 1264, 0, 557, 558, 559, 560, 561, 562,
1265, 0, 564, 565, 566, 567, 568, 569, 0, 0,
570, 0, 0, 571, 572, 573, 574, 575, 576, 577,
1266, 1267, 1268, 1269, 582, 1270, 1271, 1272, 1273, 587,
588, 589, 590, 0, 0, 227, 0, 0, 0, 0,
1275, 1276, 0, 0, 0, 0, 0, 0, 0, 1278,
228, 229, 230, 231, 232, 233, 234, 235, 0, 236,
237, 238, 0, 0, 0, 0, 0, 0, 0, 239,
240, 0, 241, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 0, 253, 254, 255, 256, 257,
258, 0, 1217, 259, 260, 261, 262, 263, 0, 264,
265, 266, 267, 1220, 0, 1221, 0, 270, 271, 272,
273, 274, 275, 276, 277, 278, 0, 279, 280, 281,
282, 283, 284, 0, 285, 286, 287, 288, 1222, 1223,
1224, 1225, 1226, 1227, 1228, 290, 291, 292, 293, 294,
295, 296, 297, 298, 0, 299, 0, 300, 301, 302,
303, 304, 305, 0, 306, 307, 308, 309, 0, 0,
310, 311, 312, 313, 314, 0, 315, 316, 317, 0,
318, 319, 320, 0, 321, 322, 323, 324, 325, 326,
327, 328, 1233, 0, 330, 0, 331, 332, 333, 334,
0, 335, 0, 336, 337, 0, 338, 339, 340, 341,
342, 0, 343, 1236, 0, 345, 346, 347, 0, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 0,
358, 359, 360, 361, 362, 363, 364, 0, 365, 366,
367, 368, 369, 370, 371, 372, 373, 0, 374, 0,
375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
3563, 0, 385, 1241, 387, 388, 389, 0, 390, 391,
392, 1242, 1243, 393, 394, 395, 396, 397, 398, 399,
400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
410, 411, 412, 413, 414, 415, 0, 416, 417, 418,
419, 0, 1248, 421, 422, 423, 424, 425, 0, 426,
427, 0, 809, 428, 429, 430, 0, 0, 431, 432,
433, 434, 435, 436, 1251, 438, 439, 440, 441, 442,
443, 444, 445, 446, 0, 447, 448, 1252, 450, 451,
452, 453, 454, 0, 455, 456, 457, 458, 459, 460,
461, 462, 463, 464, 465, 466, 467, 468, 469, 0,
470, 471, 472, 473, 474, 475, 476, 477, 478, 479,
480, 481, 0, 482, 483, 484, 485, 486, 487, 488,
489, 490, 3564, 492, 493, 494, 495, 496, 497, 498,
499, 40, 500, 501, 502, 503, 504, 1255, 505, 506,
507, 508, 509, 510, 511, 512, 513, 514, 0, 515,
516, 517, 518, 519, 520, 521, 522, 523, 524, 525,
526, 1257, 0, 528, 529, 44, 530, 531, 532, 533,
534, 535, 536, 0, 537, 538, 539, 0, 0, 540,
541, 1260, 543, 1261, 0, 545, 546, 547, 548, 549,
550, 551, 0, 0, 552, 553, 554, 555, 556, 1264,
0, 557, 558, 559, 560, 561, 1143, 563, 0, 564,
565, 566, 567, 568, 569, 0, 0, 570, 0, 49,
571, 572, 573, 574, 575, 576, 577, 1266, 1267, 1268,
1269, 582, 1270, 1271, 1272, 1273, 3565, 588, 589, 590,
0, 0, 50, 227, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 3566, 0, 228, 229,
230, 231, 232, 233, 234, 235, 0, 236, 237, 238,
0, 0, 0, 0, 0, 0, 0, 239, 240, 0,
241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 0, 253, 254, 255, 256, 257, 258, 0,
1217, 259, 260, 261, 262, 263, 0, 264, 265, 266,
267, 1220, 0, 1221, 0, 270, 271, 272, 273, 274,
275, 276, 277, 278, 0, 279, 280, 281, 282, 283,
284, 0, 285, 286, 287, 288, 1222, 1223, 1224, 1225,
1226, 1227, 1228, 290, 291, 292, 293, 294, 295, 296,
297, 298, 0, 299, 0, 300, 301, 302, 303, 304,
305, 0, 306, 307, 308, 309, 0, 0, 310, 311,
312, 313, 314, 0, 315, 316, 317, 0, 318, 319,
320, 0, 321, 322, 323, 324, 325, 326, 327, 328,
1233, 0, 330, 0, 331, 332, 333, 334, 0, 335,
0, 336, 337, 0, 338, 339, 340, 341, 342, 0,
343, 1236, 0, 345, 346, 347, 0, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 0, 358, 359,
360, 361, 362, 363, 364, 0, 365, 366, 367, 368,
369, 370, 371, 372, 373, 0, 374, 0, 375, 376,
377, 378, 379, 380, 381, 382, 383, 384, 3563, 0,
385, 1241, 387, 388, 389, 0, 390, 391, 392, 1242,
1243, 393, 394, 395, 396, 397, 398, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
412, 413, 414, 415, 0, 416, 417, 418, 419, 0,
1248, 421, 422, 423, 424, 425, 0, 426, 427, 0,
809, 428, 429, 430, 0, 0, 431, 432, 433, 434,
435, 436, 1251, 438, 439, 440, 441, 442, 443, 444,
445, 446, 0, 447, 448, 1252, 450, 451, 452, 453,
454, 0, 455, 456, 457, 458, 459, 460, 461, 462,
463, 464, 465, 466, 467, 468, 469, 0, 470, 471,
472, 473, 474, 475, 476, 477, 478, 479, 480, 481,
0, 482, 483, 484, 485, 486, 487, 488, 489, 490,
3564, 492, 493, 494, 495, 496, 497, 498, 499, 0,
500, 501, 502, 503, 504, 1255, 505, 506, 507, 508,
509, 510, 511, 512, 513, 514, 0, 515, 516, 517,
518, 519, 520, 521, 522, 523, 524, 525, 526, 1257,
0, 528, 529, 0, 530, 531, 532, 533, 534, 535,
536, 0, 537, 538, 539, 0, 0, 540, 541, 1260,
543, 1261, 0, 545, 546, 547, 548, 549, 550, 551,
0, 0, 552, 553, 554, 555, 556, 1264, 0, 557,
558, 559, 560, 561, 562, 563, 0, 564, 565, 566,
567, 568, 569, 0, 0, 570, 0, 0, 571, 572,
573, 574, 575, 576, 577, 1266, 1267, 1268, 1269, 582,
1270, 1271, 1272, 1273, 3565, 588, 589, 590, 0, 0,
227, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 3566, 228, 229, 230, 231, 232,
233, 234, 235, 0, 236, 237, 238, 0, 0, 0,
0, 0, 0, 0, 239, 240, 0, 241, 242, 243,
244, 245, 246, 247, 248, 249, 250, 251, 252, 0,
253, 254, 255, 256, 257, 258, 0, 1217, 259, 260,
261, 262, 263, 0, 264, 265, 266, 267, 1220, 0,
1221, 0, 270, 271, 272, 273, 274, 275, 276, 277,
278, 0, 279, 280, 281, 282, 283, 284, 0, 285,
286, 287, 288, 1222, 1223, 1224, 1225, 1226, 1227, 1228,
290, 291, 292, 293, 294, 295, 296, 297, 298, 0,
299, 0, 300, 301, 302, 303, 304, 305, 0, 306,
307, 308, 309, 0, 0, 310, 311, 312, 313, 314,
0, 315, 316, 317, 0, 318, 319, 320, 0, 321,
322, 323, 324, 325, 326, 327, 328, 1233, 0, 330,
0, 331, 332, 333, 334, 0, 335, 0, 336, 337,
0, 338, 339, 340, 341, 342, 0, 343, 1236, 0,
345, 346, 347, 0, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 0, 358, 359, 360, 361, 362,
363, 364, 0, 365, 366, 367, 368, 369, 370, 371,
372, 373, 0, 374, 0, 375, 376, 377, 378, 379,
380, 381, 382, 383, 384, 0, 0, 385, 1241, 387,
388, 389, 0, 390, 391, 392, 1242, 1243, 393, 394,
395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
415, 0, 416, 417, 418, 419, 0, 1248, 421, 422,
423, 424, 425, 0, 426, 427, 0, 0, 428, 429,
430, 0, 0, 431, 432, 433, 434, 435, 436, 1251,
438, 439, 440, 441, 442, 443, 444, 445, 446, 0,
447, 448, 1252, 450, 451, 452, 453, 454, 0, 455,
456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
466, 467, 468, 469, 0, 470, 471, 472, 473, 474,
475, 476, 477, 478, 479, 480, 481, 0, 482, 483,
484, 485, 486, 487, 488, 489, 490, 3564, 492, 493,
494, 495, 496, 497, 498, 499, 0, 500, 501, 502,
503, 504, 1255, 505, 506, 507, 508, 509, 510, 511,
512, 513, 514, 0, 515, 516, 517, 518, 519, 520,
521, 522, 523, 524, 525, 526, 1257, 0, 528, 529,
0, 530, 531, 532, 533, 534, 535, 536, 0, 537,
538, 539, 0, 0, 540, 541, 1260, 543, 1261, 0,
545, 546, 547, 548, 549, 550, 551, 0, 0, 552,
553, 554, 555, 556, 1264, 0, 557, 558, 559, 560,
561, 562, 563, 0, 564, 565, 566, 567, 568, 569,
0, 0, 570, 0, 0, 571, 572, 573, 574, 575,
576, 577, 1266, 1267, 1268, 1269, 582, 1270, 1271, 1272,
1273, 3565, 588, 589, 590, 0, 0, 227, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 51, 228, 229, 230, 231, 232, 233, 234, 235,
0, 236, 237, 238, 0, 0, 0, 0, 0, 0,
0, 239, 240, 0, 241, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 0, 253, 254, 255,
256, 257, 258, 0, 1217, 259, 260, 261, 262, 263,
0, 264, 265, 266, 267, 1220, 0, 1221, 0, 270,
271, 272, 273, 274, 275, 276, 277, 278, 0, 279,
280, 281, 282, 283, 284, 0, 285, 286, 287, 288,
1222, 1223, 1224, 1225, 1226, 1227, 1228, 290, 291, 292,
293, 294, 295, 296, 297, 298, 0, 299, 0, 300,
301, 302, 303, 304, 305, 0, 306, 307, 308, 309,
0, 0, 310, 311, 312, 313, 314, 0, 315, 316,
317, 0, 318, 319, 320, 0, 321, 322, 323, 324,
325, 326, 327, 328, 1233, 0, 330, 0, 331, 332,
333, 334, 0, 335, 0, 336, 337, 0, 338, 339,
340, 341, 342, 0, 343, 1236, 0, 345, 346, 347,
0, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 0, 358, 359, 360, 361, 362, 363, 364, 0,
365, 366, 367, 368, 369, 370, 371, 372, 373, 0,
374, 0, 375, 376, 377, 378, 379, 380, 381, 382,
383, 384, 0, 0, 385, 1241, 387, 388, 389, 0,
390, 391, 392, 1242, 1243, 393, 394, 395, 396, 397,
398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
408, 409, 410, 411, 412, 413, 414, 415, 0, 416,
417, 418, 419, 0, 1248, 421, 422, 423, 424, 425,
0, 426, 427, 0, 0, 428, 429, 430, 0, 0,
431, 432, 433, 434, 435, 436, 1251, 438, 439, 440,
441, 442, 443, 444, 445, 446, 0, 447, 448, 1252,
450, 451, 452, 453, 454, 0, 455, 456, 457, 458,
459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
469, 0, 470, 471, 472, 473, 474, 475, 476, 477,
478, 479, 480, 481, 0, 482, 483, 484, 485, 486,
487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
497, 498, 499, 0, 500, 501, 502, 503, 504, 1255,
505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
0, 515, 516, 517, 518, 519, 520, 521, 522, 523,
524, 525, 526, 1257, 0, 528, 529, 0, 530, 531,
532, 533, 534, 535, 536, 0, 537, 538, 539, 0,
0, 540, 541, 1260, 543, 1261, 0, 545, 546, 547,
548, 549, 550, 551, 0, 0, 552, 553, 554, 555,
556, 1264, 0, 557, 558, 559, 560, 561, 562, 563,
0, 564, 565, 566, 567, 568, 569, 0, 0, 570,
0, 0, 571, 572, 573, 574, 575, 576, 577, 1266,
1267, 1268, 1269, 582, 1270, 1271, 1272, 1273, 587, 588,
589, 590, 0, 0, 227, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 4163, 228,
229, 230, 231, 232, 233, 234, 235, 0, 236, 237,
238, 0, 0, 0, 0, 0, 0, 0, 239, 240,
0, 241, 242, 243, 244, 245, 246, 247, 248, 249,
250, 251, 252, 0, 253, 254, 255, 256, 257, 258,
0, 1217, 259, 260, 261, 262, 263, 0, 264, 265,
266, 267, 1220, 0, 1221, 0, 270, 271, 272, 273,
274, 275, 276, 277, 278, 0, 279, 280, 281, 282,
283, 284, 0, 285, 286, 287, 288, 1222, 1223, 1224,
1225, 1226, 1227, 1228, 290, 291, 292, 293, 294, 295,
296, 297, 298, 0, 299, 0, 300, 301, 302, 303,
304, 305, 0, 306, 307, 308, 309, 0, 0, 310,
311, 312, 313, 314, 0, 315, 316, 317, 0, 318,
319, 320, 0, 321, 322, 323, 324, 325, 326, 327,
328, 1233, 0, 330, 0, 331, 332, 333, 334, 0,
335, 0, 336, 337, 0, 338, 339, 340, 341, 342,
0, 343, 1236, 0, 345, 346, 347, 0, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 0, 358,
359, 360, 361, 362, 363, 364, 0, 365, 366, 367,
368, 369, 370, 371, 372, 373, 0, 374, 0, 375,
376, 377, 378, 379, 380, 381, 382, 383, 384, 0,
0, 385, 1241, 387, 388, 389, 0, 390, 391, 392,
1242, 1243, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, 412, 413, 414, 415, 0, 416, 417, 418, 419,
0, 1248, 421, 422, 423, 424, 425, 0, 426, 427,
0, 0, 428, 429, 430, 0, 0, 431, 432, 433,
434, 435, 436, 1251, 438, 439, 440, 441, 442, 443,
444, 445, 446, 0, 447, 448, 1252, 450, 451, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
481, 0, 482, 483, 484, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 496, 497, 498, 499,
0, 500, 501, 502, 503, 504, 1255, 505, 506, 507,
508, 509, 510, 511, 512, 513, 514, 0, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
1257, 0, 528, 529, 0, 530, 531, 532, 533, 534,
535, 536, 0, 537, 538, 539, 0, 0, 540, 541,
1260, 543, 1261, 0, 545, 546, 547, 548, 549, 550,
551, 0, 0, 552, 553, 554, 555, 556, 1264, 0,
557, 558, 559, 560, 561, 562, 563, 0, 564, 565,
566, 567, 568, 569, 0, 0, 570, 0, 0, 571,
572, 573, 574, 575, 576, 577, 1266, 1267, 1268, 1269,
582, 1270, 1271, 1272, 1273, 587, 588, 589, 590, 0,
0, 862, 1489, 659, 0, 0, 0, 720, 0, 0,
0, 0, 0, 0, 0, 5246, 228, 229, 230, 231,
232, 233, 234, 235, 0, 236, 237, 238, 0, 0,
0, 0, 0, 0, 0, 239, 240, 0, 241, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
0, 253, 254, 255, 256, 257, 258, 0, 0, 259,
260, 261, 262, 263, 0, 264, 265, 266, 267, 268,
0, 269, 0, 270, 271, 272, 273, 274, 275, 276,
277, 278, 0, 279, 280, 281, 282, 283, 284, 0,
285, 286, 287, 288, 0, 0, 0, 289, 0, 0,
0, 290, 291, 292, 293, 294, 295, 296, 297, 298,
0, 299, 0, 300, 301, 302, 303, 304, 305, 0,
306, 307, 308, 309, 0, 0, 310, 311, 312, 313,
314, 0, 315, 316, 317, 0, 318, 319, 320, 0,
321, 322, 323, 324, 325, 326, 327, 328, 329, 1906,
330, 0, 331, 332, 333, 334, 0, 335, 0, 336,
337, 0, 338, 339, 340, 341, 342, 0, 343, 344,
0, 345, 346, 347, 0, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 0, 358, 359, 360, 361,
362, 363, 364, 0, 365, 366, 367, 368, 369, 370,
371, 372, 373, 0, 374, 0, 375, 376, 377, 378,
379, 380, 381, 382, 383, 384, 0, 0, 385, 386,
387, 388, 389, 0, 390, 391, 392, 0, 0, 393,
394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 0, 416, 417, 418, 419, 0, 420, 421,
422, 423, 424, 425, 0, 426, 427, 1907, 0, 428,
429, 430, 0, 0, 431, 432, 433, 434, 435, 436,
437, 438, 439, 440, 441, 442, 443, 444, 445, 446,
0, 447, 448, 449, 450, 451, 452, 453, 454, 0,
455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
465, 466, 467, 468, 469, 0, 470, 471, 472, 473,
474, 475, 476, 477, 478, 479, 480, 481, 0, 482,
483, 484, 485, 486, 487, 488, 489, 490, 491, 492,
493, 494, 495, 496, 497, 498, 499, 0, 500, 501,
502, 503, 504, 0, 505, 506, 507, 508, 509, 510,
511, 512, 513, 514, 0, 515, 516, 517, 518, 519,
520, 521, 522, 523, 524, 525, 526, 527, 0, 528,
529, 0, 530, 531, 532, 533, 534, 535, 536, 0,
537, 538, 539, 0, 0, 540, 541, 542, 543, 544,
1908, 545, 546, 547, 548, 549, 550, 551, 0, 0,
552, 553, 554, 555, 556, 0, 0, 557, 558, 559,
560, 561, 562, 563, 0, 564, 565, 566, 567, 568,
569, 0, 0, 570, 0, 0, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 582, 583, 584,
585, 586, 587, 588, 589, 590, 0, 0, 862, 0,
0, 0, 0, 1490, 1491, 5061, 0, 0, 0, 0,
0, 0, 5062, 228, 229, 230, 231, 232, 233, 234,
235, 0, 236, 237, 238, 3, 4, 0, 0, 0,
0, 0, 239, 240, 0, 241, 242, 243, 244, 245,
246, 247, 248, 249, 250, 251, 252, 0, 253, 254,
255, 256, 257, 258, 0, 0, 259, 260, 261, 262,
263, 0, 264, 265, 266, 267, 268, 0, 269, 0,
270, 271, 272, 273, 274, 275, 276, 277, 278, 0,
279, 280, 281, 282, 283, 284, 0, 285, 286, 287,
288, 0, 0, 0, 289, 0, 0, 0, 290, 291,
292, 293, 294, 295, 296, 297, 298, 0, 299, 0,
300, 301, 302, 303, 304, 305, 0, 306, 307, 308,
309, 0, 0, 310, 311, 312, 313, 314, 0, 315,
316, 317, 0, 318, 319, 320, 0, 321, 322, 323,
324, 325, 326, 327, 328, 329, 0, 330, 0, 331,
332, 333, 334, 0, 335, 0, 336, 337, 0, 338,
339, 340, 341, 342, 0, 343, 344, 0, 345, 346,
347, 0, 348, 349, 350, 351, 352, 353, 354, 355,
356, 357, 0, 358, 359, 360, 361, 362, 363, 364,
0, 365, 366, 367, 368, 369, 370, 371, 372, 373,
0, 374, 0, 375, 376, 377, 378, 379, 380, 381,
382, 383, 384, 0, 0, 385, 386, 387, 388, 389,
0, 390, 391, 392, 0, 0, 393, 394, 395, 396,
397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
407, 408, 409, 410, 411, 412, 413, 414, 415, 0,
416, 417, 418, 419, 0, 420, 421, 422, 423, 424,
425, 0, 426, 427, 0, 0, 428, 429, 430, 0,
0, 431, 432, 433, 434, 435, 436, 437, 438, 439,
440, 441, 442, 443, 444, 445, 446, 0, 447, 448,
449, 450, 451, 452, 453, 454, 0, 455, 456, 457,
458, 459, 460, 461, 462, 463, 464, 465, 466, 467,
468, 469, 0, 470, 471, 472, 473, 474, 475, 476,
477, 478, 479, 480, 481, 0, 482, 483, 484, 485,
486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
496, 497, 498, 499, 40, 500, 501, 502, 503, 504,
0, 505, 506, 507, 508, 509, 510, 511, 512, 513,
514, 0, 515, 516, 517, 518, 519, 520, 521, 522,
523, 524, 525, 526, 527, 0, 528, 529, 44, 530,
531, 532, 533, 534, 535, 536, 0, 537, 538, 539,
0, 0, 540, 541, 542, 543, 544, 0, 545, 546,
547, 548, 549, 550, 551, 0, 0, 552, 553, 554,
555, 556, 0, 0, 557, 558, 559, 560, 561, 1143,
563, 0, 564, 565, 566, 567, 568, 569, 0, 0,
570, 0, 49, 571, 572, 573, 574, 575, 576, 577,
578, 579, 580, 581, 582, 583, 584, 585, 586, 587,
588, 589, 590, 0, 0, 50, 227, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 51,
0, 228, 229, 230, 231, 232, 233, 234, 235, 0,
236, 237, 238, 0, 0, 0, 0, 0, 0, 0,
239, 240, 0, 241, 242, 243, 244, 245, 246, 247,
248, 249, 250, 251, 252, 0, 253, 254, 255, 256,
257, 258, 0, 0, 259, 260, 261, 262, 263, 0,
264, 265, 266, 267, 268, 0, 269, 0, 270, 271,
272, 273, 274, 275, 276, 277, 278, 0, 279, 280,
281, 282, 283, 284, 0, 285, 286, 287, 288, 0,
0, 0, 289, 0, 0, 0, 290, 291, 292, 293,
294, 295, 296, 297, 298, 0, 299, 0, 300, 301,
302, 303, 304, 305, 0, 306, 307, 308, 309, 0,
0, 310, 311, 312, 313, 314, 0, 315, 316, 317,
0, 318, 319, 320, 0, 321, 322, 323, 324, 325,
326, 327, 328, 329, 0, 330, 0, 331, 332, 333,
334, 0, 335, 0, 336, 337, 0, 338, 339, 340,
341, 342, 0, 343, 344, 0, 345, 346, 347, 0,
348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
0, 358, 359, 360, 361, 362, 363, 364, 0, 365,
366, 367, 368, 369, 370, 371, 372, 373, 0, 374,
0, 375, 376, 377, 378, 379, 380, 381, 382, 383,
384, 0, 0, 385, 386, 387, 388, 389, 0, 390,
391, 392, 0, 0, 393, 394, 395, 396, 397, 398,
399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
409, 410, 411, 412, 413, 414, 415, 0, 416, 417,
418, 419, 0, 420, 421, 422, 423, 424, 425, 0,
426, 427, 0, 0, 428, 429, 430, 0, 0, 431,
432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
442, 443, 444, 445, 446, 0, 447, 448, 449, 450,
451, 452, 453, 454, 0, 455, 456, 457, 458, 459,
460, 461, 462, 463, 464, 465, 466, 467, 468, 469,
0, 470, 471, 472, 473, 474, 475, 476, 477, 478,
479, 480, 481, 0, 482, 483, 484, 485, 486, 487,
488, 489, 490, 491, 492, 493, 494, 495, 496, 497,
498, 499, 0, 500, 501, 502, 503, 504, 0, 505,
506, 507, 508, 509, 510, 511, 512, 513, 514, 0,
515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
525, 526, 527, 0, 528, 529, 0, 530, 531, 532,
533, 534, 535, 536, 0, 537, 538, 539, 0, 0,
540, 541, 542, 543, 544, 0, 545, 546, 547, 548,
549, 550, 551, 0, 0, 552, 553, 554, 555, 556,
0, 0, 557, 558, 559, 560, 561, 562, 563, 0,
564, 565, 566, 567, 568, 569, 0, 0, 570, 0,
0, 571, 572, 573, 574, 575, 576, 577, 578, 579,
580, 581, 582, 583, 584, 585, 586, 587, 588, 589,
590, 0, 0, 598, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 4837, 228, 229,
230, 231, 232, 233, 234, 235, 0, 236, 237, 238,
0, 0, 0, 0, 0, 0, 0, 239, 240, 0,
241, 242, 243, 0, 245, 246, 247, 248, 249, 0,
251, 252, 0, 253, 254, 255, 256, 257, 258, 0,
0, 259, 260, 261, 262, 263, 0, 264, 265, 266,
267, 268, 0, 0, 0, 270, 271, 272, 273, 274,
0, 276, 277, 278, 0, 279, 280, 281, 282, 283,
284, 0, 0, 286, 287, 288, 0, 0, 0, 0,
0, 0, 0, 290, 291, 292, 293, 294, 295, 296,
297, 298, 0, 299, 0, 300, 301, 302, 303, 304,
305, 0, 306, 307, 308, 309, 0, 0, 310, 311,
312, 313, 314, 0, 315, 316, 317, 0, 318, 319,
320, 0, 321, 322, 323, 324, 325, 326, 327, 328,
329, 0, 330, 0, 331, 332, 333, 334, 0, 335,
0, 336, 0, 0, 0, 339, 340, 341, 342, 0,
343, 344, 0, 345, 346, 347, 0, 348, 349, 350,
351, 352, 0, 354, 355, 356, 357, 0, 358, 359,
360, 361, 362, 363, 364, 0, 365, 0, 367, 368,
369, 370, 371, 372, 373, 0, 374, 0, 375, 0,
0, 378, 0, 380, 381, 382, 383, 384, 0, 0,
385, 386, 0, 388, 0, 0, 390, 391, 392, 0,
0, 393, 394, 395, 396, 397, 398, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 409, 0, 411,
412, 413, 414, 415, 0, 416, 417, 0, 419, 0,
420, 421, 422, 423, 424, 425, 0, 426, 427, 0,
0, 428, 429, 430, 0, 0, 431, 432, 433, 0,
435, 0, 437, 438, 439, 440, 441, 442, 443, 444,
445, 446, 0, 447, 448, 449, 450, 451, 452, 453,
454, 0, 455, 456, 457, 458, 459, 460, 461, 462,
463, 464, 465, 466, 467, 468, 469, 0, 470, 471,
472, 473, 474, 475, 476, 477, 478, 479, 480, 481,
0, 482, 483, 0, 485, 486, 487, 488, 489, 490,
491, 492, 493, 494, 495, 496, 497, 498, 499, 40,
500, 501, 502, 503, 504, 0, 505, 506, 507, 508,
509, 0, 511, 512, 513, 514, 0, 515, 516, 517,
518, 519, 520, 521, 522, 523, 524, 525, 526, 527,
0, 528, 529, 44, 530, 0, 532, 533, 534, 535,
536, 0, 537, 538, 539, 0, 0, 540, 541, 542,
543, 544, 0, 545, 546, 547, 548, 549, 550, 551,
0, 0, 552, 553, 554, 555, 556, 0, 0, 557,
558, 559, 560, 561, 1143, 563, 0, 564, 0, 566,
567, 568, 569, 0, 0, 570, 0, 49, 571, 572,
573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
583, 584, 585, 586, 587, 588, 589, 590, 0, 0,
50, 598, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 51, 0, 228, 229, 230, 231,
232, 233, 234, 235, 0, 236, 237, 238, 0, 0,
0, 0, 0, 0, 0, 239, 240, 0, 241, 242,
243, 0, 245, 246, 247, 248, 249, 0, 251, 252,
0, 253, 254, 255, 256, 257, 258, 0, 0, 259,
260, 261, 262, 263, 0, 264, 265, 266, 267, 268,
0, 0, 0, 270, 271, 272, 273, 274, 0, 276,
277, 278, 0, 279, 280, 281, 282, 283, 284, 0,
0, 286, 287, 288, 0, 0, 0, 0, 0, 0,
0, 290, 291, 292, 293, 294, 295, 296, 297, 298,
0, 299, 0, 300, 301, 302, 303, 304, 305, 0,
306, 307, 308, 309, 0, 0, 310, 311, 312, 313,
314, 0, 315, 316, 317, 0, 318, 319, 320, 0,
321, 322, 323, 324, 325, 326, 327, 328, 329, 0,
330, 0, 331, 332, 333, 334, 0, 335, 0, 336,
0, 0, 0, 339, 340, 341, 342, 0, 343, 344,
0, 345, 346, 347, 0, 348, 349, 350, 351, 352,
0, 354, 355, 356, 357, 0, 358, 359, 360, 361,
362, 363, 364, 0, 365, 0, 367, 368, 369, 370,
371, 372, 373, 0, 374, 0, 375, 0, 0, 378,
0, 380, 381, 382, 383, 384, 0, 0, 385, 386,
0, 388, 0, 0, 390, 391, 392, 0, 0, 393,
394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 0, 411, 412, 413,
414, 415, 0, 416, 417, 0, 419, 0, 420, 421,
422, 423, 424, 425, 0, 426, 427, 0, 0, 428,
429, 430, 0, 0, 431, 432, 433, 0, 435, 0,
437, 438, 439, 440, 441, 442, 443, 444, 445, 446,
0, 447, 448, 449, 450, 451, 452, 453, 454, 0,
455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
465, 466, 467, 468, 469, 0, 470, 471, 472, 473,
474, 475, 476, 477, 478, 479, 480, 481, 0, 482,
483, 0, 485, 486, 487, 488, 489, 490, 491, 492,
493, 494, 495, 496, 497, 498, 499, 0, 500, 501,
502, 503, 504, 0, 505, 506, 507, 508, 509, 0,
511, 512, 513, 514, 0, 515, 516, 517, 518, 519,
520, 521, 522, 523, 524, 525, 526, 527, 0, 528,
529, 0, 530, 0, 532, 533, 534, 535, 536, 0,
537, 538, 539, 0, 0, 540, 541, 542, 543, 544,
0, 545, 546, 547, 548, 549, 550, 551, 0, 0,
552, 553, 554, 555, 556, 0, 0, 557, 558, 559,
560, 561, 562, 563, 0, 564, 0, 566, 567, 568,
569, 0, 0, 570, 0, 0, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 582, 583, 584,
585, 586, 587, 588, 589, 590, 0, 0, 598, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1336, 228, 229, 230, 231, 232, 233, 234,
235, 0, 236, 237, 238, 0, 0, 0, 0, 0,
0, 0, 239, 240, 0, 241, 242, 243, 0, 245,
246, 247, 248, 249, 0, 251, 252, 0, 253, 254,
255, 256, 257, 258, 0, 0, 259, 260, 261, 262,
263, 0, 264, 265, 266, 267, 268, 0, 0, 0,
270, 271, 272, 273, 274, 0, 276, 277, 278, 0,
279, 280, 281, 282, 283, 284, 0, 0, 286, 287,
288, 0, 0, 0, 0, 0, 0, 0, 290, 291,
292, 293, 294, 295, 296, 297, 298, 0, 299, 0,
300, 301, 302, 303, 304, 305, 0, 306, 307, 308,
309, 0, 0, 310, 311, 312, 313, 314, 0, 315,
316, 317, 0, 318, 319, 320, 0, 321, 322, 323,
324, 325, 326, 327, 328, 329, 0, 330, 0, 331,
332, 333, 334, 0, 335, 0, 336, 0, 0, 0,
339, 340, 341, 342, 0, 343, 344, 0, 345, 346,
347, 0, 348, 349, 350, 351, 352, 0, 354, 355,
356, 357, 0, 358, 359, 360, 361, 362, 363, 364,
0, 365, 0, 367, 368, 369, 370, 371, 372, 373,
0, 374, 0, 375, 0, 0, 378, 0, 380, 381,
382, 383, 384, 0, 0, 385, 386, 0, 388, 0,
0, 390, 391, 392, 0, 0, 393, 394, 395, 396,
397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
407, 408, 409, 0, 411, 412, 413, 414, 415, 0,
416, 417, 0, 419, 0, 420, 421, 422, 423, 424,
425, 0, 426, 427, 0, 0, 428, 429, 430, 0,
0, 431, 432, 433, 0, 435, 0, 437, 438, 439,
440, 441, 442, 443, 444, 445, 446, 0, 447, 448,
449, 450, 451, 452, 453, 454, 0, 455, 456, 457,
458, 459, 460, 461, 462, 463, 464, 465, 466, 467,
468, 469, 0, 470, 471, 472, 473, 474, 475, 476,
477, 478, 479, 480, 481, 0, 482, 483, 0, 485,
486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
496, 497, 498, 499, 0, 500, 501, 502, 503, 504,
0, 505, 506, 507, 508, 509, 0, 511, 512, 513,
514, 0, 515, 516, 517, 518, 519, 520, 521, 522,
523, 524, 525, 526, 527, 0, 528, 529, 0, 530,
0, 532, 533, 534, 535, 536, 0, 537, 538, 539,
0, 0, 540, 541, 542, 543, 544, 0, 545, 546,
547, 548, 549, 550, 551, 0, 0, 552, 553, 554,
555, 556, 0, 0, 557, 558, 559, 560, 561, 562,
563, 0, 564, 0, 566, 567, 568, 569, 0, 0,
570, 0, 0, 571, 572, 573, 574, 575, 576, 577,
578, 579, 580, 581, 582, 583, 584, 585, 586, 587,
588, 589, 590, 0, 0, 598, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2907,
228, 229, 230, 231, 232, 233, 234, 235, 0, 236,
237, 238, 0, 0, 0, 0, 0, 0, 0, 239,
240, 0, 241, 242, 243, 0, 245, 246, 247, 248,
249, 0, 251, 252, 0, 253, 254, 255, 256, 257,
258, 0, 0, 259, 260, 261, 262, 263, 0, 264,
265, 266, 267, 268, 0, 0, 0, 270, 271, 272,
273, 274, 0, 276, 277, 278, 0, 279, 280, 281,
282, 283, 284, 0, 0, 286, 287, 288, 0, 0,
0, 0, 0, 0, 0, 290, 291, 292, 293, 294,
295, 296, 297, 298, 0, 299, 0, 300, 301, 302,
303, 304, 305, 0, 306, 307, 308, 309, 0, 0,
310, 311, 312, 313, 314, 0, 315, 316, 317, 0,
318, 319, 320, 0, 321, 322, 323, 324, 325, 326,
327, 328, 329, 0, 330, 0, 331, 332, 333, 334,
0, 335, 0, 336, 0, 0, 0, 339, 340, 341,
342, 0, 343, 344, 0, 345, 346, 347, 0, 348,
349, 350, 351, 352, 0, 354, 355, 356, 357, 0,
358, 359, 360, 361, 362, 363, 364, 0, 365, 0,
367, 368, 369, 370, 371, 372, 373, 0, 374, 0,
375, 0, 0, 378, 0, 380, 381, 382, 383, 384,
0, 0, 385, 386, 0, 388, 0, 0, 390, 391,
392, 0, 0, 393, 394, 395, 396, 397, 398, 399,
400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
0, 411, 412, 413, 414, 415, 0, 416, 417, 0,
419, 0, 420, 421, 422, 423, 424, 425, 0, 426,
427, 0, 0, 428, 429, 430, 0, 0, 431, 432,
433, 0, 435, 0, 437, 438, 439, 440, 441, 442,
443, 444, 445, 446, 0, 447, 448, 449, 450, 451,
452, 453, 454, 0, 455, 456, 457, 458, 459, 460,
461, 462, 463, 464, 465, 466, 467, 468, 469, 0,
470, 471, 472, 473, 474, 475, 476, 477, 478, 479,
480, 481, 0, 482, 483, 0, 485, 486, 487, 488,
489, 490, 491, 492, 493, 494, 495, 496, 497, 498,
499, 0, 500, 501, 502, 503, 504, 0, 505, 506,
507, 508, 509, 0, 511, 512, 513, 514, 0, 515,
516, 517, 518, 519, 520, 521, 522, 523, 524, 525,
526, 527, 0, 528, 529, 0, 530, 0, 532, 533,
534, 535, 536, 0, 537, 538, 539, 0, 0, 540,
541, 542, 543, 544, 0, 545, 546, 547, 548, 549,
550, 551, 0, 0, 552, 553, 554, 555, 556, 0,
0, 557, 558, 559, 560, 561, 562, 563, 0, 564,
0, 566, 567, 568, 569, 0, 0, 570, 0, 0,
571, 572, 573, 574, 575, 576, 577, 578, 579, 580,
581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
0, 0, 598, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 4079, 228, 229, 230,
231, 232, 233, 234, 235, 0, 236, 237, 238, 0,
0, 0, 0, 0, 0, 0, 239, 240, 0, 241,
242, 243, 0, 245, 246, 247, 248, 249, 0, 251,
252, 0, 253, 254, 255, 256, 257, 258, 0, 0,
259, 260, 261, 262, 263, 0, 264, 265, 266, 267,
268, 0, 0, 0, 270, 271, 272, 273, 274, 0,
276, 277, 278, 0, 279, 280, 281, 282, 283, 284,
0, 0, 286, 287, 288, 0, 0, 0, 0, 0,
0, 0, 290, 291, 292, 293, 294, 295, 296, 297,
298, 0, 299, 0, 300, 301, 302, 303, 304, 305,
0, 306, 307, 308, 309, 0, 0, 310, 311, 312,
313, 314, 0, 315, 316, 317, 0, 318, 319, 320,
0, 321, 322, 323, 324, 325, 326, 327, 328, 329,
0, 330, 0, 331, 332, 333, 334, 0, 335, 0,
336, 0, 0, 0, 339, 340, 341, 342, 0, 343,
344, 0, 345, 346, 347, 0, 348, 349, 350, 351,
352, 0, 354, 355, 356, 357, 0, 358, 359, 360,
361, 362, 363, 364, 0, 365, 0, 367, 368, 369,
370, 371, 372, 373, 0, 374, 0, 375, 0, 0,
378, 0, 380, 381, 382, 383, 384, 0, 0, 385,
386, 0, 388, 0, 0, 390, 391, 392, 0, 0,
393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
403, 404, 405, 406, 407, 408, 409, 0, 411, 412,
413, 414, 415, 0, 416, 417, 0, 419, 0, 420,
421, 422, 423, 424, 425, 0, 426, 427, 0, 0,
428, 429, 430, 0, 0, 431, 432, 433, 0, 435,
0, 437, 438, 439, 440, 441, 442, 443, 444, 445,
446, 0, 447, 448, 449, 450, 451, 452, 453, 454,
0, 455, 456, 457, 458, 459, 460, 461, 462, 463,
464, 465, 466, 467, 468, 469, 0, 470, 471, 472,
473, 474, 475, 476, 477, 478, 479, 480, 481, 0,
482, 483, 0, 485, 486, 487, 488, 489, 490, 491,
492, 493, 494, 495, 496, 497, 498, 499, 0, 500,
501, 502, 503, 504, 0, 505, 506, 507, 508, 509,
0, 511, 512, 513, 514, 0, 515, 516, 517, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 0,
528, 529, 0, 530, 0, 532, 533, 534, 535, 536,
0, 537, 538, 539, 0, 0, 540, 541, 542, 543,
544, 0, 545, 546, 547, 548, 549, 550, 551, 0,
0, 552, 553, 554, 555, 556, 0, 0, 557, 558,
559, 560, 561, 562, 563, 0, 564, 0, 566, 567,
568, 569, 0, 0, 570, 0, 0, 571, 572, 573,
574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
584, 585, 586, 587, 588, 589, 590, 0, 0, 0,
0, 0, 1057, 1489, 659, 0, 0, 876, 720, 0,
0, 0, 0, 4525, 877, 878, 879, 228, 229, 230,
231, 232, 233, 234, 235, 1620, 236, 237, 238, 1621,
1622, 1623, 1624, 1625, 1626, 1627, 239, 240, 1628, 241,
242, 243, 244, 245, 246, 247, 0, 1058, 250, 1059,
1060, 1629, 253, 254, 255, 256, 257, 258, 1630, 1631,
259, 260, 1061, 1062, 263, 1632, 264, 265, 266, 267,
0, 1633, 269, 1634, 270, 271, 272, 273, 274, 275,
276, 277, 278, 1635, 279, 280, 281, 282, 283, 284,
1636, 285, 286, 287, 288, 1637, 1638, 1639, 289, 1640,
1641, 1642, 290, 291, 292, 293, 294, 295, 1063, 1064,
298, 1643, 299, 1644, 300, 301, 302, 303, 304, 305,
1645, 306, 307, 308, 309, 1646, 1647, 310, 311, 1065,
313, 314, 1648, 315, 316, 317, 1649, 318, 319, 320,
1650, 321, 322, 323, 324, 0, 326, 327, 328, 0,
1651, 330, 1652, 331, 332, 1066, 334, 1653, 335, 1654,
336, 337, 1655, 338, 339, 340, 341, 342, 1656, 343,
0, 1657, 0, 346, 347, 1658, 348, 349, 350, 351,
352, 353, 354, 355, 356, 357, 1659, 358, 359, 360,
361, 362, 363, 364, 1660, 365, 366, 0, 368, 369,
370, 371, 1068, 1069, 1661, 1070, 1662, 375, 376, 377,
378, 379, 380, 381, 382, 383, 384, 1663, 1664, 385,
0, 387, 388, 389, 1665, 390, 391, 392, 1666, 1667,
393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
403, 404, 405, 406, 407, 408, 1071, 410, 1072, 412,
413, 414, 3830, 1668, 416, 417, 418, 419, 1669, 0,
421, 1073, 423, 424, 425, 1670, 426, 427, 1671, 1672,
3831, 429, 430, 1673, 1674, 431, 432, 0, 434, 435,
436, 0, 438, 439, 440, 441, 442, 443, 444, 445,
446, 1675, 447, 448, 0, 450, 0, 452, 453, 454,
1676, 455, 456, 457, 458, 459, 460, 461, 462, 463,
464, 1074, 466, 467, 468, 469, 1677, 470, 471, 472,
473, 474, 475, 476, 477, 478, 479, 480, 481, 1678,
482, 483, 484, 485, 486, 487, 488, 489, 0, 491,
492, 493, 494, 495, 496, 497, 498, 499, 1679, 500,
501, 502, 503, 504, 1680, 505, 506, 2157, 508, 509,
510, 511, 512, 1076, 514, 1681, 515, 516, 517, 518,
519, 520, 521, 522, 523, 524, 525, 526, 0, 1682,
528, 529, 1683, 530, 531, 532, 533, 534, 535, 536,
1684, 537, 1077, 1078, 1685, 1686, 540, 541, 0, 543,
0, 1687, 545, 546, 547, 548, 549, 550, 551, 1688,
1689, 552, 553, 554, 555, 556, 1690, 1691, 557, 558,
559, 560, 561, 0, 1079, 1692, 564, 565, 566, 567,
568, 569, 1693, 1694, 570, 1695, 1696, 571, 572, 573,
574, 575, 576, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 588, 589, 590, 0, 0, 0,
882, 883, 884, 0, 3832, 3833, 887, 888, 889, 890,
1057, 1489, 659, 0, 0, 876, 720, 0, 0, 0,
0, 0, 877, 878, 879, 228, 229, 230, 231, 232,
233, 234, 235, 1620, 236, 237, 238, 1621, 1622, 1623,
1624, 1625, 1626, 1627, 239, 240, 1628, 241, 242, 243,
244, 245, 246, 247, 0, 1058, 250, 1059, 1060, 1629,
253, 254, 255, 256, 257, 258, 1630, 1631, 259, 260,
1061, 1062, 263, 1632, 264, 265, 266, 267, 0, 1633,
269, 1634, 270, 271, 272, 273, 274, 275, 276, 277,
278, 1635, 279, 280, 281, 282, 283, 284, 1636, 285,
286, 287, 288, 1637, 1638, 1639, 289, 1640, 1641, 1642,
290, 291, 292, 293, 294, 295, 1063, 1064, 298, 1643,
299, 1644, 300, 301, 302, 303, 304, 305, 1645, 306,
307, 308, 309, 1646, 1647, 310, 311, 1065, 313, 314,
1648, 315, 316, 317, 1649, 318, 319, 320, 1650, 321,
322, 323, 324, 0, 326, 327, 328, 0, 1651, 330,
1652, 331, 332, 1066, 334, 1653, 335, 1654, 336, 337,
1655, 338, 339, 340, 341, 342, 1656, 343, 0, 1657,
0, 346, 347, 1658, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 1659, 358, 359, 360, 361, 362,
363, 364, 1660, 365, 366, 0, 368, 369, 370, 371,
1068, 1069, 1661, 1070, 1662, 375, 376, 377, 378, 379,
380, 381, 382, 383, 384, 1663, 1664, 385, 0, 387,
388, 389, 1665, 390, 391, 392, 1666, 1667, 393, 394,
395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
405, 406, 407, 408, 1071, 410, 1072, 412, 413, 414,
4255, 1668, 416, 417, 418, 419, 1669, 0, 421, 1073,
423, 424, 425, 1670, 426, 427, 1671, 1672, 3831, 429,
430, 1673, 1674, 431, 432, 0, 434, 435, 436, 0,
438, 439, 440, 441, 442, 443, 444, 445, 446, 1675,
447, 448, 0, 450, 0, 452, 453, 454, 1676, 455,
456, 457, 458, 459, 460, 461, 462, 463, 464, 1074,
466, 467, 468, 469, 1677, 470, 471, 472, 473, 474,
475, 476, 477, 478, 479, 480, 481, 1678, 482, 483,
484, 485, 486, 487, 488, 489, 0, 491, 492, 493,
494, 495, 496, 497, 498, 499, 1679, 500, 501, 502,
503, 504, 1680, 505, 506, 2157, 508, 509, 510, 511,
512, 1076, 514, 1681, 515, 516, 517, 518, 519, 520,
521, 522, 523, 524, 525, 526, 0, 1682, 528, 529,
1683, 530, 531, 532, 533, 534, 535, 536, 1684, 537,
1077, 1078, 1685, 1686, 540, 541, 0, 543, 0, 1687,
545, 546, 547, 548, 549, 550, 551, 1688, 1689, 552,
553, 554, 555, 556, 1690, 1691, 557, 558, 559, 560,
561, 0, 1079, 1692, 564, 565, 566, 567, 568, 569,
1693, 1694, 570, 1695, 1696, 571, 572, 573, 574, 575,
576, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 588, 589, 590, 0, 598, 0, 882, 883,
884, 876, 3832, 3833, 887, 888, 889, 890, 877, 878,
879, 228, 229, 230, 231, 232, 233, 234, 235, 0,
236, 237, 238, 0, 0, 0, 0, 0, 0, 0,
239, 240, 0, 241, 242, 243, 0, 245, 246, 247,
248, 249, 0, 251, 252, 0, 253, 254, 255, 256,
257, 258, 0, 0, 259, 260, 261, 262, 263, 0,
264, 880, 266, 267, 268, 0, 0, 0, 270, 271,
272, 273, 274, 0, 276, 277, 278, 0, 279, 280,
281, 282, 283, 284, 0, 0, 286, 287, 288, 0,
0, 0, 0, 0, 0, 0, 290, 291, 292, 293,
294, 295, 296, 297, 298, 0, 299, 0, 300, 301,
302, 303, 304, 305, 0, 306, 307, 308, 309, 0,
0, 310, 311, 312, 313, 314, 0, 315, 316, 317,
0, 318, 319, 320, 0, 321, 322, 323, 324, 325,
326, 327, 328, 329, 0, 881, 0, 331, 332, 333,
334, 0, 335, 0, 336, 0, 0, 0, 339, 340,
341, 342, 0, 343, 344, 0, 345, 346, 347, 0,
348, 349, 350, 351, 352, 0, 354, 355, 356, 357,
0, 358, 359, 360, 361, 362, 363, 364, 0, 365,
0, 367, 368, 369, 370, 371, 372, 373, 0, 374,
0, 375, 0, 0, 378, 0, 380, 381, 382, 383,
384, 0, 0, 385, 386, 0, 388, 0, 0, 390,
391, 392, 0, 0, 393, 394, 395, 396, 397, 398,
399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
409, 0, 411, 412, 413, 414, 415, 0, 416, 417,
0, 419, 0, 420, 421, 422, 423, 424, 425, 0,
426, 427, 0, 0, 428, 429, 430, 0, 0, 431,
432, 433, 0, 435, 0, 437, 438, 439, 440, 441,
442, 443, 444, 445, 446, 0, 447, 448, 449, 450,
451, 452, 453, 454, 0, 455, 456, 457, 458, 459,
460, 461, 462, 463, 464, 465, 466, 467, 468, 469,
0, 470, 471, 472, 473, 474, 475, 476, 477, 478,
479, 480, 481, 0, 482, 483, 0, 485, 486, 487,
488, 489, 490, 491, 492, 493, 494, 495, 496, 497,
498, 499, 0, 500, 501, 502, 503, 504, 0, 505,
506, 507, 508, 509, 0, 511, 512, 513, 514, 0,
515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
525, 526, 527, 0, 528, 529, 0, 530, 0, 532,
533, 534, 535, 536, 0, 537, 538, 539, 0, 0,
540, 541, 542, 543, 544, 0, 545, 546, 547, 548,
549, 550, 551, 0, 0, 552, 553, 554, 555, 556,
0, 0, 557, 558, 559, 560, 561, 562, 563, 0,
564, 0, 566, 567, 568, 569, 0, 0, 570, 0,
0, 571, 572, 573, 574, 575, 576, 577, 578, 579,
580, 581, 582, 583, 584, 585, 586, 587, 588, 589,
590, 0, 598, 0, 882, 883, 884, 876, 885, 886,
887, 888, 889, 890, 877, 878, 879, 228, 229, 230,
231, 232, 233, 234, 235, 0, 236, 237, 238, 0,
0, 0, 0, 0, 0, 0, 239, 240, 0, 241,
242, 243, 0, 245, 246, 247, 248, 249, 0, 251,
252, 0, 253, 254, 255, 256, 257, 258, 0, 0,
259, 260, 261, 262, 263, 0, 264, 1007, 266, 267,
268, 0, 0, 0, 270, 271, 272, 273, 274, 0,
276, 277, 278, 0, 279, 280, 281, 282, 283, 284,
0, 0, 286, 287, 288, 0, 0, 0, 0, 0,
0, 0, 290, 291, 292, 293, 294, 295, 296, 297,
298, 0, 299, 0, 300, 301, 302, 303, 304, 305,
0, 306, 307, 308, 309, 0, 0, 310, 311, 312,
313, 314, 0, 315, 316, 317, 0, 318, 319, 320,
0, 321, 322, 323, 324, 325, 326, 327, 328, 329,
0, 1008, 0, 331, 332, 333, 334, 0, 335, 0,
336, 0, 0, 0, 339, 340, 341, 342, 0, 343,
344, 0, 345, 346, 347, 0, 348, 349, 350, 351,
352, 0, 354, 355, 356, 357, 0, 358, 359, 360,
361, 362, 363, 364, 0, 365, 0, 367, 368, 369,
370, 371, 372, 373, 0, 374, 0, 375, 0, 0,
378, 0, 380, 381, 382, 383, 384, 0, 0, 385,
386, 0, 388, 0, 0, 390, 391, 392, 0, 0,
393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
403, 404, 405, 406, 407, 408, 409, 0, 411, 412,
413, 414, 415, 0, 416, 417, 0, 419, 0, 420,
421, 422, 423, 424, 425, 0, 426, 427, 0, 0,
428, 429, 430, 0, 0, 431, 432, 433, 0, 435,
0, 437, 438, 439, 440, 441, 442, 443, 444, 445,
446, 0, 447, 448, 449, 450, 451, 452, 453, 454,
0, 455, 456, 457, 458, 459, 460, 461, 462, 463,
464, 465, 466, 467, 468, 469, 0, 470, 471, 472,
473, 474, 475, 476, 477, 478, 479, 480, 481, 0,
482, 483, 0, 485, 486, 487, 488, 489, 490, 491,
492, 493, 494, 495, 496, 497, 498, 499, 0, 500,
501, 502, 503, 504, 0, 505, 506, 507, 508, 509,
0, 511, 512, 513, 514, 0, 515, 516, 517, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 0,
528, 529, 0, 530, 0, 532, 533, 534, 535, 536,
0, 537, 538, 539, 0, 0, 540, 541, 542, 543,
544, 0, 545, 546, 547, 548, 549, 550, 551, 0,
0, 552, 553, 554, 555, 556, 0, 0, 557, 558,
559, 560, 561, 562, 563, 0, 564, 0, 566, 567,
568, 569, 0, 0, 570, 0, 0, 571, 572, 573,
574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
584, 585, 586, 587, 588, 589, 590, 0, 598, 0,
882, 883, 884, 876, 885, 886, 887, 888, 889, 890,
877, 878, 879, 228, 229, 230, 231, 232, 233, 234,
235, 0, 236, 237, 238, 0, 0, 0, 0, 0,
0, 0, 239, 240, 0, 241, 242, 243, 0, 245,
246, 247, 248, 249, 0, 251, 252, 0, 253, 254,
255, 256, 257, 258, 0, 0, 259, 260, 261, 262,
263, 0, 264, 1107, 266, 267, 268, 0, 0, 0,
270, 271, 272, 273, 274, 0, 276, 277, 278, 0,
279, 280, 281, 282, 283, 284, 0, 0, 286, 287,
288, 0, 0, 0, 0, 0, 0, 0, 290, 291,
292, 293, 294, 295, 296, 297, 298, 0, 299, 0,
300, 301, 302, 303, 304, 305, 0, 306, 307, 308,
309, 0, 0, 310, 311, 312, 313, 314, 0, 315,
316, 317, 0, 318, 319, 320, 0, 321, 322, 323,
324, 325, 326, 327, 328, 329, 0, 1108, 0, 331,
332, 333, 334, 0, 335, 0, 336, 0, 0, 0,
339, 340, 341, 342, 0, 343, 344, 0, 345, 346,
347, 0, 348, 349, 350, 351, 1109, 0, 354, 355,
356, 357, 0, 358, 359, 360, 361, 362, 363, 364,
0, 365, 0, 367, 368, 369, 370, 371, 372, 373,
0, 374, 0, 375, 0, 0, 378, 0, 380, 381,
382, 383, 384, 0, 0, 385, 386, 0, 388, 0,
0, 390, 391, 392, 0, 0, 393, 394, 395, 396,
397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
407, 408, 409, 0, 411, 412, 413, 414, 415, 0,
416, 417, 0, 419, 0, 420, 421, 422, 423, 424,
425, 0, 426, 427, 0, 0, 428, 429, 430, 0,
0, 431, 432, 433, 0, 435, 0, 437, 438, 439,
440, 441, 442, 443, 444, 445, 446, 0, 447, 448,
449, 450, 451, 452, 453, 454, 0, 455, 456, 457,
458, 459, 460, 461, 462, 463, 464, 465, 466, 467,
468, 469, 0, 470, 471, 472, 473, 474, 475, 476,
477, 478, 479, 480, 481, 0, 482, 483, 0, 485,
486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
496, 497, 498, 499, 0, 500, 501, 502, 503, 504,
0, 505, 506, 507, 508, 509, 0, 511, 512, 513,
514, 0, 515, 516, 517, 518, 519, 520, 521, 522,
523, 524, 525, 526, 527, 0, 528, 529, 0, 530,
0, 532, 533, 534, 535, 536, 0, 537, 538, 539,
0, 0, 540, 541, 542, 543, 544, 0, 545, 546,
547, 548, 549, 550, 551, 0, 0, 552, 553, 554,
555, 556, 0, 0, 557, 558, 559, 560, 561, 562,
563, 0, 564, 0, 566, 567, 568, 569, 0, 0,
570, 0, 0, 571, 572, 573, 574, 575, 576, 577,
578, 579, 580, 581, 582, 583, 584, 585, 586, 587,
588, 589, 590, 0, 598, 0, 882, 883, 884, 876,
885, 886, 887, 888, 889, 890, 877, 878, 879, 228,
229, 230, 231, 232, 233, 234, 235, 0, 236, 237,
238, 0, 0, 0, 0, 0, 0, 0, 239, 240,
0, 241, 242, 243, 0, 245, 246, 247, 248, 249,
0, 251, 252, 0, 253, 254, 255, 256, 257, 258,
0, 0, 259, 260, 261, 262, 263, 0, 264, 1719,
266, 267, 268, 0, 0, 0, 270, 271, 272, 273,
274, 0, 276, 277, 278, 0, 279, 280, 281, 282,
283, 284, 0, 0, 286, 287, 288, 0, 0, 0,
0, 0, 0, 0, 290, 291, 292, 293, 294, 295,
296, 297, 298, 0, 299, 0, 300, 301, 302, 303,
304, 305, 0, 306, 307, 308, 309, 0, 0, 310,
311, 312, 313, 314, 0, 315, 316, 317, 0, 318,
319, 320, 0, 321, 322, 323, 324, 325, 326, 327,
328, 329, 0, 1720, 0, 331, 332, 333, 334, 0,
335, 0, 336, 0, 0, 0, 339, 340, 341, 342,
0, 343, 344, 0, 345, 346, 347, 0, 348, 349,
350, 351, 352, 0, 354, 355, 356, 357, 0, 358,
359, 360, 361, 362, 363, 364, 0, 365, 0, 367,
368, 369, 370, 371, 372, 373, 0, 374, 0, 375,
0, 0, 378, 0, 380, 381, 382, 383, 384, 0,
0, 385, 386, 0, 388, 0, 0, 390, 391, 392,
0, 0, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 0,
411, 412, 413, 414, 415, 0, 416, 417, 0, 419,
0, 420, 421, 422, 423, 424, 425, 0, 426, 427,
0, 0, 428, 429, 430, 0, 0, 431, 432, 433,
0, 435, 0, 437, 438, 439, 440, 441, 442, 443,
444, 445, 446, 0, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
481, 0, 482, 483, 0, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 496, 497, 498, 499,
0, 500, 501, 502, 503, 504, 0, 505, 506, 507,
508, 509, 0, 511, 512, 513, 514, 0, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 0, 528, 529, 0, 530, 0, 532, 533, 534,
535, 536, 0, 537, 538, 539, 0, 0, 540, 541,
542, 543, 544, 0, 545, 546, 547, 548, 549, 550,
551, 0, 0, 552, 553, 554, 555, 556, 0, 0,
557, 558, 559, 560, 561, 562, 563, 0, 564, 0,
566, 567, 568, 569, 0, 0, 570, 0, 0, 571,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 584, 585, 586, 587, 588, 589, 590, 0,
598, 0, 882, 883, 884, 876, 885, 886, 887, 888,
889, 890, 877, 878, 879, 228, 229, 230, 231, 232,
233, 234, 235, 0, 236, 237, 238, 0, 0, 0,
0, 0, 0, 0, 239, 240, 0, 241, 242, 243,
0, 245, 246, 247, 248, 249, 0, 251, 252, 0,
253, 254, 255, 256, 257, 258, 0, 0, 259, 260,
261, 262, 263, 0, 264, 265, 266, 267, 268, 0,
0, 0, 270, 271, 272, 273, 274, 0, 276, 277,
278, 0, 279, 280, 281, 282, 283, 284, 0, 0,
286, 287, 288, 0, 0, 0, 0, 0, 0, 0,
290, 291, 292, 293, 294, 295, 296, 297, 298, 0,
299, 0, 300, 301, 302, 303, 304, 305, 0, 306,
307, 308, 309, 0, 0, 310, 311, 312, 313, 314,
0, 315, 316, 317, 0, 318, 319, 320, 0, 321,
322, 323, 324, 325, 326, 327, 328, 329, 0, 330,
0, 331, 332, 333, 334, 0, 335, 0, 336, 0,
0, 0, 339, 340, 341, 342, 0, 343, 344, 0,
345, 346, 347, 0, 348, 349, 350, 351, 352, 0,
354, 355, 356, 357, 0, 358, 359, 360, 361, 362,
363, 364, 0, 365, 0, 367, 368, 369, 370, 371,
372, 373, 0, 374, 0, 375, 0, 0, 378, 0,
380, 381, 382, 383, 384, 0, 0, 385, 386, 0,
388, 0, 0, 390, 391, 392, 0, 0, 393, 394,
395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
405, 406, 407, 408, 409, 0, 411, 412, 413, 414,
415, 0, 416, 417, 0, 419, 0, 420, 421, 422,
423, 424, 425, 0, 426, 427, 0, 0, 428, 429,
430, 0, 0, 431, 432, 433, 0, 435, 0, 437,
438, 439, 440, 441, 442, 443, 444, 445, 446, 0,
447, 448, 449, 450, 451, 452, 453, 454, 0, 455,
456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
466, 467, 468, 469, 0, 470, 471, 472, 473, 474,
475, 476, 477, 478, 479, 480, 481, 0, 482, 483,
0, 485, 486, 487, 488, 489, 490, 491, 492, 493,
494, 495, 496, 497, 498, 499, 0, 500, 501, 502,
503, 504, 0, 505, 506, 507, 508, 509, 0, 511,
512, 513, 514, 0, 515, 516, 517, 518, 519, 520,
521, 522, 523, 524, 525, 526, 527, 0, 528, 529,
0, 530, 0, 532, 533, 534, 535, 536, 0, 537,
538, 539, 0, 0, 540, 541, 542, 543, 544, 0,
545, 546, 547, 548, 549, 550, 551, 0, 0, 552,
553, 554, 555, 556, 0, 0, 557, 558, 559, 560,
561, 562, 563, 0, 564, 0, 566, 567, 568, 569,
0, 0, 570, 0, 0, 571, 572, 573, 574, 575,
576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
586, 587, 588, 589, 590, 0, 598, 0, 882, 883,
884, 876, 885, 886, 887, 888, 889, 890, 877, 878,
879, 228, 229, 230, 231, 232, 233, 234, 235, 0,
236, 237, 238, 0, 0, 0, 0, 0, 0, 0,
239, 240, 0, 241, 242, 243, 0, 245, 246, 247,
248, 249, 0, 251, 252, 0, 253, 254, 255, 256,
257, 258, 0, 0, 259, 260, 261, 262, 263, 0,
264, 2985, 266, 267, 268, 0, 0, 0, 270, 271,
272, 273, 274, 0, 276, 277, 278, 0, 279, 280,
281, 282, 283, 284, 0, 0, 286, 287, 288, 0,
0, 0, 0, 0, 0, 0, 290, 291, 292, 293,
294, 295, 296, 297, 298, 0, 299, 0, 300, 301,
302, 303, 304, 305, 0, 306, 307, 308, 309, 0,
0, 310, 311, 312, 313, 314, 0, 315, 316, 317,
0, 318, 319, 320, 0, 321, 322, 323, 324, 325,
326, 327, 328, 329, 0, 2986, 0, 331, 332, 333,
334, 0, 335, 0, 336, 0, 0, 0, 339, 340,
341, 342, 0, 343, 344, 0, 345, 346, 347, 0,
348, 349, 350, 351, 352, 0, 354, 355, 356, 357,
0, 358, 359, 360, 361, 362, 363, 364, 0, 365,
0, 367, 368, 369, 370, 371, 372, 373, 0, 374,
0, 375, 0, 0, 378, 0, 380, 381, 382, 383,
384, 0, 0, 385, 386, 0, 388, 0, 0, 390,
391, 392, 0, 0, 393, 394, 395, 396, 397, 398,
399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
409, 0, 411, 412, 413, 414, 415, 0, 416, 417,
0, 419, 0, 420, 421, 422, 423, 424, 425, 0,
426, 427, 0, 0, 428, 429, 430, 0, 0, 431,
432, 433, 0, 435, 0, 437, 438, 439, 440, 441,
442, 443, 444, 445, 446, 0, 447, 448, 449, 450,
451, 452, 453, 454, 0, 455, 456, 457, 458, 459,
460, 461, 462, 463, 464, 465, 466, 467, 468, 469,
0, 470, 471, 472, 473, 474, 475, 476, 477, 478,
479, 480, 481, 0, 482, 483, 0, 485, 486, 487,
488, 489, 490, 491, 492, 493, 494, 495, 496, 497,
498, 499, 0, 500, 501, 502, 503, 504, 0, 505,
506, 507, 508, 509, 0, 511, 512, 513, 514, 0,
515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
525, 526, 527, 0, 528, 529, 0, 530, 0, 532,
533, 534, 535, 536, 0, 537, 538, 539, 0, 0,
540, 541, 542, 543, 544, 0, 545, 546, 547, 548,
549, 550, 551, 0, 0, 552, 553, 554, 555, 556,
0, 0, 557, 558, 559, 560, 561, 562, 563, 0,
564, 0, 566, 567, 568, 569, 0, 0, 570, 0,
0, 571, 572, 573, 574, 575, 576, 577, 578, 579,
580, 581, 582, 583, 584, 585, 586, 587, 588, 589,
590, 0, 598, 0, 882, 883, 884, 876, 885, 886,
887, 888, 889, 890, 877, 878, 879, 228, 229, 230,
231, 232, 233, 234, 235, 0, 236, 237, 238, 0,
0, 0, 0, 0, 0, 0, 239, 240, 0, 241,
242, 243, 0, 245, 246, 247, 248, 249, 0, 251,
252, 0, 253, 254, 255, 256, 257, 258, 0, 0,
259, 260, 261, 262, 263, 0, 264, 265, 266, 267,
268, 0, 0, 0, 270, 271, 272, 273, 274, 0,
276, 277, 278, 0, 279, 280, 281, 282, 283, 284,
0, 0, 286, 287, 288, 0, 0, 0, 0, 0,
0, 0, 290, 291, 292, 293, 294, 295, 296, 297,
298, 0, 299, 0, 300, 301, 302, 303, 304, 305,
0, 306, 307, 308, 309, 0, 0, 310, 311, 312,
313, 314, 0, 315, 316, 317, 0, 318, 319, 320,
0, 321, 322, 323, 324, 325, 326, 327, 328, 329,
0, 330, 0, 331, 332, 333, 334, 0, 335, 0,
336, 0, 0, 0, 339, 340, 341, 342, 0, 343,
344, 0, 345, 346, 347, 0, 348, 349, 350, 351,
352, 0, 354, 355, 356, 357, 0, 358, 359, 360,
361, 362, 363, 364, 0, 365, 0, 367, 368, 369,
370, 371, 372, 373, 0, 374, 0, 375, 0, 0,
378, 0, 380, 381, 382, 383, 384, 0, 0, 385,
386, 0, 388, 0, 0, 390, 391, 392, 0, 0,
393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
403, 404, 405, 406, 407, 408, 409, 0, 411, 412,
413, 414, 415, 0, 416, 417, 0, 419, 0, 420,
421, 422, 423, 424, 425, 0, 426, 427, 0, 0,
4814, 429, 430, 0, 0, 431, 432, 433, 0, 435,
0, 437, 438, 439, 440, 441, 442, 443, 444, 445,
446, 0, 447, 448, 449, 450, 451, 452, 453, 454,
0, 455, 456, 457, 458, 459, 460, 461, 462, 463,
464, 465, 466, 467, 468, 469, 0, 470, 471, 472,
473, 474, 475, 476, 477, 478, 479, 480, 481, 0,
482, 483, 0, 485, 486, 487, 488, 489, 490, 491,
492, 493, 494, 495, 496, 497, 498, 499, 0, 500,
501, 502, 503, 504, 0, 505, 506, 507, 508, 509,
0, 511, 512, 513, 514, 0, 515, 516, 517, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 0,
528, 529, 0, 530, 0, 532, 533, 534, 535, 536,
0, 537, 538, 539, 0, 0, 540, 541, 542, 543,
544, 0, 545, 546, 547, 548, 549, 550, 551, 0,
0, 552, 553, 554, 555, 556, 0, 0, 557, 558,
559, 560, 561, 562, 563, 0, 564, 0, 566, 567,
568, 569, 0, 0, 570, 0, 0, 571, 572, 573,
574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
584, 585, 586, 587, 588, 589, 590, 1619, 0, 0,
882, 883, 884, 0, 885, 886, 887, 888, 889, 890,
0, 0, 228, 229, 230, 231, 232, 233, 234, 235,
1620, 236, 237, 238, 1621, 1622, 1623, 1624, 1625, 1626,
1627, 239, 240, 1628, 241, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 1629, 253, 254, 255,
256, 257, 258, 1630, 1631, 259, 260, 261, 262, 263,
1632, 264, 265, 266, 267, 268, 1633, 269, 1634, 270,
271, 272, 273, 274, 275, 276, 277, 278, 1635, 279,
280, 281, 282, 283, 284, 1636, 285, 286, 287, 288,
1637, 1638, 1639, 289, 1640, 1641, 1642, 290, 291, 292,
293, 294, 295, 296, 297, 298, 1643, 299, 1644, 300,
301, 302, 303, 304, 305, 1645, 306, 307, 308, 309,
1646, 1647, 310, 311, 312, 313, 314, 1648, 315, 316,
317, 1649, 318, 319, 320, 1650, 321, 322, 323, 324,
325, 326, 327, 328, 329, 1651, 330, 1652, 331, 332,
333, 334, 1653, 335, 1654, 336, 337, 1655, 338, 339,
340, 341, 342, 1656, 343, 344, 1657, 345, 346, 347,
1658, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 1659, 358, 359, 360, 361, 362, 363, 364, 1660,
365, 366, 367, 368, 369, 370, 371, 372, 373, 1661,
374, 1662, 375, 376, 377, 378, 379, 380, 381, 382,
383, 384, 1663, 1664, 385, 386, 387, 388, 389, 1665,
390, 391, 392, 1666, 1667, 393, 394, 395, 396, 397,
398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
408, 409, 410, 411, 412, 413, 414, 415, 1668, 416,
417, 418, 419, 1669, 420, 421, 422, 423, 424, 425,
1670, 426, 427, 1671, 1672, 428, 429, 430, 1673, 1674,
431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
441, 442, 443, 444, 445, 446, 1675, 447, 448, 449,
450, 451, 452, 453, 454, 1676, 455, 456, 457, 458,
459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
469, 1677, 470, 471, 472, 473, 474, 475, 476, 477,
478, 479, 480, 481, 1678, 482, 483, 484, 485, 486,
487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
497, 498, 499, 1679, 500, 501, 502, 503, 504, 1680,
505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
1681, 515, 516, 517, 518, 519, 520, 521, 522, 523,
524, 525, 526, 527, 1682, 528, 529, 1683, 530, 531,
532, 533, 534, 535, 536, 1684, 537, 538, 539, 1685,
1686, 540, 541, 542, 543, 544, 1687, 545, 546, 547,
548, 549, 550, 551, 1688, 1689, 552, 553, 554, 555,
556, 1690, 1691, 557, 558, 559, 560, 561, 562, 563,
1692, 564, 565, 566, 567, 568, 569, 1693, 1694, 570,
1695, 1696, 571, 572, 573, 574, 575, 576, 577, 578,
579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
589, 590, 598, 0, 0, 0, 0, 0, 0, 0,
0, 1697, 0, 0, 0, 0, 0, 228, 229, 230,
231, 232, 233, 234, 235, 0, 236, 237, 238, 0,
0, 0, 0, 0, 0, 0, 239, 240, 0, 241,
242, 243, 0, 245, 246, 247, 248, 249, 0, 251,
252, 0, 253, 254, 255, 256, 257, 258, 0, 0,
259, 260, 261, 262, 263, 0, 264, 265, 266, 267,
268, 0, 0, 0, 270, 271, 272, 273, 274, 0,
276, 277, 278, 0, 279, 280, 281, 282, 283, 284,
0, 0, 286, 287, 288, 0, 0, 0, 0, 0,
0, 0, 290, 291, 292, 293, 294, 295, 296, 297,
298, 0, 299, 0, 300, 301, 302, 303, 304, 305,
0, 306, 307, 308, 309, 0, 0, 310, 311, 312,
313, 314, 0, 315, 316, 317, 0, 318, 319, 320,
0, 321, 322, 323, 324, 325, 326, 327, 328, 329,
0, 330, 0, 331, 332, 333, 334, 0, 335, 0,
336, 0, 0, 0, 339, 340, 341, 342, 0, 343,
344, 0, 345, 346, 347, 0, 348, 349, 350, 351,
352, 0, 354, 355, 356, 357, 0, 358, 359, 360,
361, 362, 363, 364, 0, 365, 0, 367, 368, 369,
370, 371, 372, 373, 0, 374, 0, 375, 0, 0,
378, 0, 380, 381, 382, 383, 384, 0, 0, 385,
386, 0, 388, 0, 0, 390, 391, 392, 0, 0,
393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
403, 404, 405, 406, 407, 408, 409, 0, 411, 412,
413, 414, 415, 0, 416, 417, 0, 419, 0, 420,
421, 422, 423, 424, 425, 0, 426, 427, 0, 0,
428, 429, 430, 0, 0, 431, 432, 433, 0, 435,
0, 437, 438, 439, 440, 441, 442, 443, 444, 445,
446, 0, 447, 448, 449, 450, 451, 452, 453, 454,
0, 455, 456, 457, 458, 459, 460, 461, 462, 463,
464, 465, 466, 467, 468, 469, 0, 470, 471, 472,
473, 474, 475, 476, 477, 478, 479, 480, 481, 0,
482, 483, 0, 485, 486, 487, 488, 489, 490, 491,
492, 493, 494, 495, 496, 497, 498, 499, 0, 500,
501, 502, 503, 504, 0, 505, 506, 507, 508, 509,
0, 511, 512, 513, 514, 0, 515, 516, 517, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 0,
528, 529, 0, 530, 0, 532, 533, 534, 535, 536,
0, 537, 538, 539, 0, 0, 540, 541, 542, 543,
544, 0, 545, 546, 547, 548, 549, 550, 551, 0,
0, 552, 553, 554, 555, 556, 0, 0, 557, 558,
559, 560, 561, 562, 563, 0, 564, 0, 566, 567,
568, 569, 0, 0, 570, 0, 0, 571, 572, 573,
574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
584, 585, 586, 587, 588, 589, 590, 598, 0, 0,
0, 0, 0, 0, 0, 0, 814, 0, 0, 0,
0, 0, 228, 229, 230, 231, 232, 233, 234, 235,
0, 236, 237, 238, 0, 0, 0, 0, 0, 0,
0, 239, 240, 0, 241, 242, 243, 0, 245, 246,
247, 248, 249, 0, 251, 252, 0, 253, 254, 255,
256, 257, 258, 0, 0, 259, 260, 261, 262, 263,
0, 264, 265, 266, 267, 268, 0, 0, 0, 270,
271, 272, 273, 274, 0, 276, 277, 278, 0, 279,
280, 281, 282, 283, 284, 0, 0, 286, 287, 288,
0, 0, 0, 0, 0, 0, 0, 290, 291, 292,
293, 294, 295, 296, 297, 298, 0, 299, 0, 300,
301, 302, 303, 304, 305, 0, 306, 307, 308, 309,
0, 0, 310, 311, 312, 313, 314, 0, 315, 316,
317, 0, 318, 319, 320, 0, 321, 322, 323, 324,
325, 326, 327, 328, 329, 0, 330, 0, 331, 332,
333, 334, 0, 335, 0, 336, 0, 0, 0, 339,
340, 341, 342, 0, 343, 344, 0, 345, 346, 347,
0, 348, 349, 350, 351, 352, 0, 354, 355, 356,
357, 0, 358, 359, 360, 361, 362, 363, 364, 0,
365, 0, 367, 368, 369, 370, 371, 372, 373, 0,
374, 0, 375, 0, 0, 378, 0, 380, 381, 382,
383, 384, 0, 0, 385, 386, 0, 388, 0, 0,
390, 391, 392, 0, 0, 393, 394, 395, 396, 397,
398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
408, 409, 0, 411, 412, 413, 414, 415, 0, 416,
417, 0, 419, 0, 420, 421, 422, 423, 424, 425,
0, 426, 427, 0, 0, 428, 429, 430, 0, 0,
431, 432, 433, 0, 435, 0, 437, 438, 439, 440,
441, 442, 443, 444, 445, 446, 0, 447, 448, 449,
450, 451, 452, 453, 454, 0, 455, 456, 457, 458,
459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
469, 0, 470, 471, 472, 473, 474, 475, 476, 477,
478, 479, 480, 481, 0, 482, 483, 0, 485, 486,
487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
497, 498, 499, 0, 500, 501, 502, 503, 504, 0,
505, 506, 507, 508, 509, 0, 511, 512, 513, 514,
0, 515, 516, 517, 518, 519, 520, 521, 522, 523,
524, 525, 526, 527, 0, 528, 529, 0, 530, 0,
532, 533, 534, 535, 536, 0, 537, 538, 539, 0,
0, 540, 541, 542, 543, 544, 0, 545, 546, 547,
548, 549, 550, 551, 0, 0, 552, 553, 554, 555,
556, 0, 0, 557, 558, 559, 560, 561, 562, 563,
0, 564, 0, 566, 567, 568, 569, 0, 0, 570,
0, 0, 571, 572, 573, 574, 575, 576, 577, 578,
579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
589, 590, 1057, 0, 0, 0, 0, 0, 0, 0,
0, 5213, 0, 0, 0, 0, 0, 228, 229, 230,
231, 232, 233, 234, 235, 0, 236, 237, 238, 0,
0, 0, 0, 0, 0, 0, 239, 240, 0, 241,
242, 243, 244, 245, 246, 247, 0, 1058, 250, 1059,
1060, 0, 253, 254, 255, 256, 257, 258, 0, 0,
259, 260, 1061, 1062, 263, 0, 264, 265, 266, 267,
0, 0, 269, 0, 270, 271, 272, 273, 274, 275,
276, 277, 278, 0, 279, 280, 281, 282, 283, 284,
0, 285, 286, 287, 288, 0, 0, 0, 289, 0,
0, 0, 290, 291, 292, 293, 294, 295, 1063, 1064,
298, 0, 299, 0, 300, 301, 302, 303, 304, 305,
0, 306, 307, 308, 309, 0, 0, 310, 311, 1065,
313, 314, 0, 315, 316, 317, 0, 318, 319, 320,
0, 321, 322, 323, 324, 0, 326, 327, 328, 0,
0, 330, 0, 331, 332, 1066, 334, 0, 335, 0,
336, 337, 0, 338, 339, 340, 341, 342, 0, 343,
0, 0, 0, 346, 347, 0, 348, 349, 350, 351,
352, 353, 354, 355, 356, 357, 2153, 358, 359, 360,
361, 362, 363, 364, 0, 365, 366, 2154, 368, 369,
370, 371, 1068, 1069, 0, 1070, 0, 375, 376, 377,
378, 379, 380, 381, 382, 383, 384, 0, 0, 385,
0, 387, 388, 389, 0, 390, 391, 392, 0, 0,
393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
403, 404, 405, 406, 407, 408, 1071, 410, 1072, 412,
413, 414, 0, 0, 416, 417, 418, 419, 0, 0,
421, 1073, 423, 424, 425, 0, 426, 427, 0, 0,
428, 429, 430, 0, 2155, 431, 432, 2156, 434, 435,
436, 0, 438, 439, 440, 441, 442, 443, 444, 445,
446, 0, 447, 448, 0, 450, 0, 452, 453, 454,
0, 455, 456, 457, 458, 459, 460, 461, 462, 463,
464, 1074, 466, 467, 468, 469, 0, 470, 471, 472,
473, 474, 475, 476, 477, 478, 479, 480, 481, 0,
482, 483, 484, 485, 486, 487, 488, 489, 0, 491,
492, 493, 494, 495, 496, 497, 498, 499, 0, 500,
501, 502, 503, 504, 0, 505, 506, 2157, 508, 509,
510, 511, 512, 1076, 514, 0, 515, 516, 517, 518,
519, 520, 521, 522, 523, 524, 525, 526, 0, 0,
528, 529, 0, 530, 531, 532, 533, 534, 535, 536,
0, 537, 1077, 1078, 0, 0, 540, 541, 0, 543,
0, 0, 545, 546, 547, 548, 549, 550, 551, 0,
0, 552, 553, 554, 555, 556, 0, 0, 557, 558,
559, 560, 561, 0, 1079, 2158, 564, 565, 566, 567,
568, 569, 0, 0, 570, 0, 0, 571, 572, 573,
574, 575, 576, 2475, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 588, 589, 590, 0, 228, 229,
230, 231, 232, 233, 234, 235, 2159, 236, 237, 238,
0, 0, 0, 0, 0, 0, 0, 239, 240, 0,
241, 242, 243, 244, 245, 246, 247, 0, 1058, 250,
1059, 1060, 0, 253, 254, 255, 256, 257, 258, 0,
0, 259, 260, 1061, 1062, 263, 0, 264, 265, 266,
267, 0, 0, 269, 0, 270, 271, 272, 273, 274,
275, 276, 277, 278, 0, 279, 280, 281, 282, 283,
284, 0, 285, 286, 287, 288, 0, 0, 0, 289,
0, 0, 0, 290, 291, 292, 293, 294, 295, 1063,
1064, 298, 0, 299, 0, 300, 301, 302, 303, 304,
305, 0, 306, 307, 308, 309, 0, 0, 310, 311,
1065, 313, 314, 0, 315, 316, 317, 0, 318, 319,
320, 0, 321, 322, 323, 324, 0, 326, 327, 328,
0, 0, 330, 0, 331, 332, 1066, 334, 0, 335,
0, 336, 337, 0, 338, 339, 340, 341, 342, 0,
343, 0, 0, 0, 346, 347, 0, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 2153, 358, 359,
360, 361, 362, 363, 364, 0, 365, 366, 2154, 368,
369, 370, 371, 1068, 1069, 0, 1070, 0, 375, 376,
377, 378, 379, 380, 381, 382, 383, 384, 0, 0,
385, 0, 387, 388, 389, 0, 390, 391, 392, 0,
0, 393, 394, 395, 396, 397, 398, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 1071, 410, 1072,
412, 413, 414, 0, 0, 416, 417, 418, 419, 0,
0, 421, 1073, 423, 424, 425, 0, 426, 427, 0,
0, 428, 429, 430, 0, 2155, 431, 432, 2156, 434,
435, 436, 0, 438, 439, 440, 441, 442, 443, 444,
445, 446, 0, 447, 448, 0, 450, 0, 452, 453,
454, 0, 455, 456, 457, 458, 459, 460, 461, 462,
463, 464, 1074, 466, 467, 468, 469, 0, 470, 471,
472, 473, 474, 475, 476, 477, 478, 479, 480, 481,
0, 482, 483, 484, 485, 486, 487, 488, 489, 0,
491, 492, 493, 494, 495, 496, 497, 498, 499, 0,
500, 501, 502, 503, 504, 0, 505, 506, 2157, 508,
509, 510, 511, 512, 1076, 514, 0, 515, 516, 517,
518, 519, 520, 521, 522, 523, 524, 525, 526, 0,
0, 528, 529, 0, 530, 531, 532, 533, 534, 535,
536, 0, 537, 1077, 1078, 0, 0, 540, 541, 0,
543, 0, 0, 545, 546, 547, 548, 549, 550, 551,
0, 0, 552, 553, 554, 555, 556, 0, 0, 557,
558, 559, 560, 561, 0, 1079, 2158, 564, 565, 566,
567, 568, 569, 0, 0, 570, 0, 0, 571, 572,
573, 574, 575, 576, 862, 1489, 659, 0, 0, 0,
720, 0, 0, 0, 0, 588, 589, 590, 0, 228,
229, 230, 231, 232, 233, 234, 235, 2159, 236, 237,
238, 0, 0, 0, 0, 0, 0, 0, 239, 240,
0, 241, 242, 243, 244, 245, 246, 247, 248, 249,
250, 251, 252, 0, 253, 254, 255, 256, 257, 258,
0, 0, 259, 260, 261, 262, 263, 0, 264, 265,
266, 267, 268, 0, 269, 0, 270, 271, 272, 273,
274, 275, 276, 277, 278, 0, 279, 280, 281, 282,
283, 284, 0, 285, 286, 287, 288, 0, 0, 0,
289, 0, 0, 0, 290, 291, 292, 293, 294, 295,
296, 297, 298, 2084, 299, 0, 300, 301, 302, 303,
304, 305, 0, 306, 307, 308, 309, 0, 0, 310,
311, 312, 313, 314, 0, 315, 316, 317, 0, 318,
319, 320, 0, 321, 322, 323, 324, 325, 326, 327,
328, 329, 1906, 330, 0, 331, 332, 333, 334, 0,
335, 0, 336, 337, 0, 338, 339, 340, 341, 342,
0, 343, 344, 0, 345, 346, 347, 0, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 0, 358,
359, 360, 361, 362, 363, 364, 0, 365, 366, 367,
368, 369, 370, 371, 372, 373, 0, 374, 0, 375,
376, 377, 378, 379, 380, 381, 382, 383, 384, 0,
0, 385, 386, 387, 388, 389, 0, 390, 391, 392,
0, 0, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, 412, 413, 414, 415, 0, 416, 417, 418, 419,
0, 420, 421, 422, 423, 424, 425, 0, 426, 427,
1907, 0, 428, 429, 430, 0, 0, 431, 432, 433,
434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
444, 445, 446, 0, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
481, 0, 482, 483, 484, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 496, 497, 498, 499,
0, 500, 501, 502, 503, 504, 0, 505, 506, 507,
508, 509, 510, 511, 512, 513, 514, 0, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 0, 528, 529, 0, 530, 531, 532, 533, 534,
535, 536, 0, 537, 538, 539, 0, 0, 540, 541,
542, 543, 544, 1908, 545, 546, 547, 548, 549, 550,
551, 0, 0, 552, 553, 554, 555, 556, 0, 0,
557, 558, 559, 560, 561, 562, 563, 0, 564, 565,
566, 567, 568, 569, 0, 0, 570, 0, 0, 571,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 584, 585, 586, 587, 588, 589, 590, 862,
1489, 659, 0, 0, 0, 720, 1490, 1491, 0, 0,
0, 0, 0, 0, 228, 229, 230, 231, 232, 233,
234, 235, 0, 236, 237, 238, 0, 0, 0, 0,
0, 0, 0, 239, 240, 0, 241, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 0, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 0, 264, 265, 266, 267, 268, 0, 269,
0, 270, 271, 272, 273, 274, 275, 276, 277, 278,
0, 279, 280, 281, 282, 283, 284, 0, 285, 286,
287, 288, 0, 0, 0, 289, 0, 0, 0, 290,
291, 292, 293, 294, 295, 296, 297, 298, 2089, 299,
0, 300, 301, 302, 303, 304, 305, 0, 306, 307,
308, 309, 0, 0, 310, 311, 312, 313, 314, 0,
315, 316, 317, 0, 318, 319, 320, 0, 321, 322,
323, 324, 325, 326, 327, 328, 329, 1906, 330, 0,
331, 332, 333, 334, 0, 335, 0, 336, 337, 0,
338, 339, 340, 341, 342, 0, 343, 344, 0, 345,
346, 347, 0, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 358, 359, 360, 361, 362, 363,
364, 0, 365, 366, 367, 368, 369, 370, 371, 372,
373, 0, 374, 0, 375, 376, 377, 378, 379, 380,
381, 382, 383, 384, 0, 0, 385, 386, 387, 388,
389, 0, 390, 391, 392, 0, 0, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
0, 416, 417, 418, 419, 0, 420, 421, 422, 423,
424, 425, 0, 426, 427, 1907, 0, 428, 429, 430,
0, 0, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 447,
448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 0, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 481, 0, 482, 483, 484,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 496, 497, 498, 499, 0, 500, 501, 502, 503,
504, 0, 505, 506, 507, 508, 509, 510, 511, 512,
513, 514, 0, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 0, 528, 529, 0,
530, 531, 532, 533, 534, 535, 536, 0, 537, 538,
539, 0, 0, 540, 541, 542, 543, 544, 1908, 545,
546, 547, 548, 549, 550, 551, 0, 0, 552, 553,
554, 555, 556, 0, 0, 557, 558, 559, 560, 561,
562, 563, 0, 564, 565, 566, 567, 568, 569, 0,
0, 570, 0, 0, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
587, 588, 589, 590, 862, 1489, 659, 0, 0, 0,
720, 1490, 1491, 0, 0, 0, 0, 0, 0, 228,
229, 230, 231, 232, 233, 234, 235, 0, 236, 237,
238, 0, 0, 0, 0, 0, 0, 0, 239, 240,
0, 241, 242, 243, 244, 245, 246, 247, 248, 249,
250, 251, 252, 0, 253, 254, 255, 256, 257, 258,
0, 0, 259, 260, 261, 262, 263, 0, 264, 265,
266, 267, 268, 0, 269, 0, 270, 271, 272, 273,
274, 275, 276, 277, 278, 0, 279, 280, 281, 282,
283, 284, 0, 285, 286, 287, 288, 0, 0, 0,
289, 0, 0, 0, 290, 291, 292, 293, 294, 295,
296, 297, 298, 0, 299, 0, 300, 301, 302, 303,
304, 305, 0, 306, 307, 308, 309, 0, 0, 310,
311, 312, 313, 314, 0, 315, 316, 317, 0, 318,
319, 320, 0, 321, 322, 323, 324, 325, 326, 327,
328, 329, 1906, 330, 0, 331, 332, 333, 334, 0,
335, 0, 336, 337, 0, 338, 339, 340, 341, 342,
0, 343, 344, 0, 345, 346, 347, 0, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 0, 358,
359, 360, 361, 362, 363, 364, 0, 365, 366, 367,
368, 369, 370, 371, 372, 373, 0, 374, 0, 375,
376, 377, 378, 379, 380, 381, 382, 383, 384, 0,
0, 385, 386, 387, 388, 389, 0, 390, 391, 392,
0, 0, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, 412, 413, 414, 415, 0, 416, 417, 418, 419,
0, 420, 421, 422, 423, 424, 425, 0, 426, 427,
1907, 0, 428, 429, 430, 0, 0, 431, 432, 433,
434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
444, 445, 446, 0, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
481, 0, 482, 483, 484, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 496, 497, 498, 499,
0, 500, 501, 502, 503, 504, 0, 505, 506, 507,
508, 509, 510, 511, 512, 513, 514, 0, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 0, 528, 529, 0, 530, 531, 532, 533, 534,
535, 536, 0, 537, 538, 539, 0, 0, 540, 541,
542, 543, 544, 1908, 545, 546, 547, 548, 549, 550,
551, 0, 0, 552, 553, 554, 555, 556, 0, 0,
557, 558, 559, 560, 561, 562, 563, 0, 564, 565,
566, 567, 568, 569, 0, 0, 570, 0, 0, 571,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 584, 585, 586, 587, 588, 589, 590, 862,
0, 659, 0, 0, 0, 720, 1490, 1491, 0, 0,
0, 0, 0, 0, 228, 229, 230, 231, 232, 233,
234, 235, 0, 236, 237, 238, 0, 0, 0, 0,
0, 0, 0, 239, 240, 0, 241, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 0, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 0, 264, 265, 266, 267, 268, 0, 269,
0, 270, 271, 272, 273, 274, 275, 276, 277, 278,
0, 279, 280, 281, 282, 283, 284, 0, 285, 286,
287, 288, 0, 0, 0, 289, 0, 0, 0, 290,
291, 292, 293, 294, 295, 296, 297, 298, 2939, 299,
0, 300, 301, 302, 303, 304, 305, 0, 306, 307,
308, 309, 0, 0, 310, 311, 312, 313, 314, 0,
315, 316, 317, 0, 318, 319, 320, 0, 321, 322,
323, 324, 325, 326, 327, 328, 329, 1906, 330, 0,
331, 332, 333, 334, 0, 335, 0, 336, 337, 0,
338, 339, 340, 341, 342, 0, 343, 344, 0, 345,
346, 347, 0, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 358, 359, 360, 361, 362, 363,
364, 0, 365, 366, 367, 368, 369, 370, 371, 372,
373, 0, 374, 0, 375, 376, 377, 378, 379, 380,
381, 382, 383, 384, 0, 0, 385, 386, 387, 388,
389, 0, 390, 391, 392, 0, 0, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
0, 416, 417, 418, 419, 0, 420, 421, 422, 423,
424, 425, 0, 426, 427, 1907, 0, 428, 429, 430,
0, 0, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 447,
448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 0, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 481, 0, 482, 483, 484,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 496, 497, 498, 499, 0, 500, 501, 502, 503,
504, 0, 505, 506, 507, 508, 509, 510, 511, 512,
513, 514, 0, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 0, 528, 529, 0,
530, 531, 532, 533, 534, 535, 536, 0, 537, 538,
539, 0, 0, 540, 541, 542, 543, 544, 1908, 545,
546, 547, 548, 549, 550, 551, 0, 0, 552, 553,
554, 555, 556, 0, 0, 557, 558, 559, 560, 561,
562, 563, 0, 564, 565, 566, 567, 568, 569, 0,
0, 570, 0, 0, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
587, 588, 589, 590, 598, 0, 0, 0, 0, 0,
720, 732, 733, 0, 0, 0, 0, 0, 0, 228,
721, 230, 231, 232, 233, 234, 235, 722, 236, 237,
238, 0, 0, 0, 0, 0, 0, 0, 239, 240,
0, 241, 242, 243, 0, 723, 246, 247, 248, 249,
0, 251, 252, 0, 253, 254, 255, 256, 257, 258,
0, 0, 259, 260, 261, 262, 263, 0, 264, 265,
266, 267, 268, 0, 0, 0, 270, 271, 272, 273,
274, 0, 276, 277, 278, 0, 279, 280, 281, 282,
283, 284, 0, 0, 286, 287, 288, 0, 0, 0,
0, 0, 0, 0, 290, 291, 292, 293, 294, 295,
296, 297, 298, 0, 299, 0, 300, 301, 302, 303,
304, 305, 0, 306, 307, 308, 309, 0, 0, 310,
311, 312, 313, 314, 0, 315, 316, 317, 0, 318,
319, 320, 0, 321, 322, 323, 324, 325, 326, 327,
328, 329, 0, 330, 0, 331, 724, 333, 334, 0,
335, 0, 725, 0, 726, 0, 339, 340, 341, 342,
0, 343, 344, 0, 345, 346, 347, 0, 348, 349,
350, 351, 352, 0, 354, 355, 356, 357, 727, 358,
359, 360, 361, 362, 363, 364, 0, 365, 0, 367,
368, 369, 370, 371, 372, 373, 0, 374, 0, 375,
0, 0, 378, 0, 380, 381, 382, 383, 728, 0,
0, 385, 386, 0, 388, 0, 0, 390, 391, 392,
0, 0, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 0,
411, 412, 729, 414, 415, 0, 416, 417, 0, 419,
0, 420, 421, 422, 423, 424, 425, 0, 426, 427,
0, 0, 428, 429, 430, 0, 0, 431, 432, 433,
0, 435, 0, 437, 438, 439, 440, 441, 442, 443,
444, 445, 446, 0, 447, 448, 449, 450, 451, 452,
453, 454, 0, 730, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
471, 472, 731, 474, 475, 476, 477, 478, 479, 480,
481, 0, 482, 483, 0, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 496, 497, 498, 499,
0, 500, 501, 502, 503, 504, 0, 505, 506, 507,
508, 509, 0, 511, 512, 513, 514, 0, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 0, 528, 529, 0, 530, 0, 532, 533, 534,
535, 536, 0, 537, 538, 539, 0, 0, 540, 541,
542, 543, 544, 0, 545, 546, 547, 548, 549, 550,
551, 0, 0, 552, 553, 554, 555, 556, 0, 0,
557, 558, 559, 560, 561, 562, 563, 0, 564, 0,
566, 567, 568, 569, 0, 0, 570, 0, 0, 571,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 584, 585, 586, 587, 588, 589, 590, 1619,
5423, 659, 0, 0, 0, 720, 732, 733, 0, 0,
0, 0, 0, 0, 228, 229, 230, 231, 232, 233,
234, 235, 1620, 236, 237, 238, 1621, 1622, 1623, 1624,
1625, 1626, 1627, 239, 240, 1628, 241, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 1629, 253,
254, 255, 256, 257, 258, 1630, 1631, 259, 260, 261,
262, 263, 1632, 264, 265, 266, 267, 268, 1633, 269,
1634, 270, 271, 272, 273, 274, 275, 276, 277, 278,
1635, 279, 280, 281, 282, 283, 284, 1636, 285, 286,
287, 288, 1637, 1638, 1639, 289, 1640, 1641, 1642, 290,
291, 292, 293, 294, 295, 296, 297, 298, 1643, 299,
1644, 300, 301, 302, 303, 304, 305, 1645, 306, 307,
308, 309, 1646, 1647, 310, 311, 312, 313, 314, 1648,
315, 316, 317, 1649, 318, 319, 320, 1650, 321, 322,
323, 324, 325, 326, 327, 328, 329, 1651, 330, 1652,
331, 332, 333, 334, 1653, 335, 1654, 336, 337, 1655,
338, 339, 340, 341, 342, 1656, 343, 344, 1657, 345,
346, 347, 1658, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 1659, 358, 359, 360, 361, 362, 363,
364, 1660, 365, 366, 367, 368, 369, 370, 371, 372,
373, 1661, 374, 1662, 375, 376, 377, 378, 379, 380,
381, 382, 383, 384, 1663, 1664, 385, 386, 387, 388,
389, 1665, 390, 391, 392, 1666, 1667, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
1668, 416, 417, 418, 419, 1669, 420, 421, 422, 423,
424, 425, 1670, 426, 427, 1671, 1672, 428, 429, 430,
1673, 1674, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, 1675, 447,
448, 449, 450, 451, 452, 453, 454, 1676, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 1677, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 481, 1678, 482, 483, 484,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 496, 497, 498, 499, 1679, 500, 501, 502, 503,
504, 1680, 505, 506, 507, 508, 509, 510, 511, 512,
513, 514, 1681, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 1682, 528, 529, 1683,
530, 531, 532, 533, 534, 535, 536, 1684, 537, 538,
539, 1685, 1686, 540, 541, 542, 543, 544, 1687, 545,
546, 547, 548, 549, 550, 551, 1688, 1689, 552, 553,
554, 555, 556, 1690, 1691, 557, 558, 559, 560, 561,
562, 563, 1692, 564, 565, 566, 567, 568, 569, 1693,
1694, 570, 1695, 1696, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
587, 588, 589, 590, 1619, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 228,
229, 230, 231, 232, 233, 234, 235, 1620, 236, 237,
238, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 239, 240,
1628, 241, 242, 243, 244, 245, 246, 247, 248, 249,
250, 251, 252, 1629, 253, 254, 255, 256, 257, 258,
1630, 1631, 259, 260, 261, 262, 263, 1632, 264, 265,
266, 267, 268, 1633, 269, 1634, 270, 271, 272, 273,
274, 275, 276, 277, 278, 1635, 279, 280, 281, 282,
283, 284, 1636, 285, 286, 287, 288, 1637, 1638, 1639,
289, 1640, 1641, 1642, 290, 291, 292, 293, 294, 295,
296, 297, 298, 1643, 299, 1644, 300, 301, 302, 303,
304, 305, 1645, 306, 307, 308, 309, 1646, 1647, 310,
311, 312, 313, 314, 1648, 315, 316, 317, 1649, 318,
319, 320, 1650, 321, 322, 323, 324, 325, 326, 327,
328, 329, 1651, 330, 1652, 331, 332, 333, 334, 1653,
335, 1654, 336, 337, 1655, 338, 339, 340, 341, 342,
1656, 343, 344, 1657, 345, 346, 347, 1658, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 1659, 358,
359, 360, 361, 362, 363, 364, 1660, 365, 366, 367,
368, 369, 370, 371, 372, 373, 1661, 374, 1662, 375,
376, 377, 378, 379, 380, 381, 382, 383, 384, 1663,
1664, 385, 386, 387, 388, 389, 1665, 390, 391, 392,
1666, 1667, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, 412, 413, 414, 415, 1668, 416, 417, 418, 419,
1669, 420, 421, 422, 423, 424, 425, 1670, 426, 427,
1671, 1672, 428, 429, 430, 1673, 1674, 431, 432, 433,
434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
444, 445, 446, 1675, 447, 448, 449, 450, 451, 452,
453, 454, 1676, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 1677, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
481, 1678, 482, 483, 484, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 496, 497, 498, 499,
1679, 500, 501, 502, 503, 504, 1680, 505, 506, 507,
508, 509, 510, 511, 512, 513, 514, 1681, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 1682, 528, 529, 1683, 530, 531, 532, 533, 534,
535, 536, 1684, 537, 538, 539, 1685, 1686, 540, 541,
542, 543, 544, 1687, 545, 546, 547, 548, 549, 550,
551, 1688, 1689, 552, 553, 554, 555, 556, 1690, 1691,
557, 558, 559, 560, 561, 562, 563, 1692, 564, 565,
566, 567, 568, 569, 1693, 1694, 570, 1695, 1696, 571,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 584, 585, 586, 587, 588, 589, 590, 1619,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 228, 229, 230, 231, 3057, 233,
234, 235, 1620, 236, 237, 238, 1621, 1622, 1623, 1624,
1625, 1626, 1627, 239, 240, 1628, 241, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 1629, 253,
254, 255, 256, 257, 258, 1630, 1631, 259, 260, 261,
262, 263, 1632, 264, 265, 266, 267, 268, 1633, 269,
1634, 270, 271, 272, 273, 274, 275, 276, 277, 278,
1635, 279, 280, 281, 282, 283, 284, 1636, 285, 286,
287, 288, 1637, 1638, 1639, 289, 1640, 1641, 1642, 290,
291, 292, 293, 294, 295, 296, 297, 298, 1643, 299,
1644, 300, 301, 302, 303, 304, 305, 1645, 306, 307,
308, 309, 1646, 1647, 310, 311, 312, 3058, 314, 1648,
315, 316, 317, 1649, 318, 319, 320, 1650, 321, 322,
323, 324, 325, 326, 327, 328, 329, 1651, 330, 1652,
331, 332, 333, 334, 1653, 335, 1654, 336, 337, 1655,
338, 339, 340, 341, 342, 1656, 343, 344, 1657, 345,
346, 347, 1658, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 1659, 358, 359, 360, 361, 362, 363,
364, 1660, 365, 366, 367, 368, 369, 370, 371, 372,
373, 1661, 374, 1662, 375, 376, 377, 378, 379, 380,
381, 382, 383, 384, 1663, 1664, 385, 386, 387, 388,
389, 1665, 390, 391, 392, 1666, 1667, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
1668, 416, 417, 418, 419, 1669, 420, 421, 422, 423,
424, 425, 1670, 426, 427, 1671, 1672, 428, 429, 430,
1673, 1674, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, 1675, 447,
448, 449, 450, 451, 452, 453, 454, 1676, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 1677, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 481, 1678, 482, 483, 484,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 496, 497, 498, 499, 1679, 500, 501, 502, 503,
504, 1680, 3059, 506, 507, 508, 509, 510, 511, 512,
513, 514, 1681, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 1682, 528, 529, 1683,
530, 531, 532, 533, 534, 535, 536, 1684, 537, 538,
539, 1685, 1686, 540, 541, 542, 543, 544, 1687, 545,
546, 547, 548, 549, 550, 551, 1688, 1689, 552, 553,
554, 555, 556, 1690, 1691, 557, 558, 559, 560, 561,
562, 563, 1692, 564, 565, 566, 567, 568, 569, 1693,
1694, 570, 1695, 1696, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
587, 588, 589, 590, 227, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 228,
229, 230, 231, 232, 233, 234, 235, 0, 236, 237,
238, 0, 0, 0, 0, 0, 0, 0, 239, 240,
0, 241, 242, 243, 244, 245, 246, 247, 248, 249,
250, 251, 252, 0, 253, 254, 255, 256, 257, 258,
0, 1217, 259, 260, 261, 262, 263, 0, 264, 265,
266, 267, 1220, 0, 1221, 0, 270, 271, 272, 273,
274, 275, 276, 277, 278, 0, 279, 280, 281, 282,
283, 284, 0, 285, 286, 287, 288, 1222, 1223, 1224,
1225, 1226, 1227, 1228, 290, 291, 292, 293, 294, 295,
296, 297, 298, 0, 299, 0, 300, 301, 302, 303,
304, 305, 0, 306, 307, 308, 309, 0, 0, 310,
311, 312, 313, 314, 0, 315, 316, 317, 0, 318,
319, 320, 0, 321, 322, 323, 324, 325, 326, 327,
328, 1233, 0, 330, 0, 331, 332, 333, 334, 0,
335, 0, 336, 337, 0, 338, 339, 340, 341, 342,
0, 343, 1236, 0, 345, 346, 347, 0, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 0, 358,
359, 360, 361, 362, 363, 364, 0, 365, 366, 367,
368, 369, 370, 371, 372, 373, 0, 374, 0, 375,
376, 377, 378, 379, 380, 381, 382, 383, 384, 0,
0, 385, 1241, 387, 388, 389, 0, 390, 391, 392,
1242, 1243, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, 412, 413, 414, 415, 0, 416, 417, 418, 419,
0, 1248, 421, 422, 423, 424, 425, 0, 426, 427,
0, 0, 428, 429, 430, 0, 0, 431, 432, 433,
434, 435, 436, 1251, 438, 439, 440, 441, 442, 443,
444, 445, 446, 0, 447, 448, 1252, 450, 451, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
481, 0, 482, 483, 484, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 496, 497, 498, 499,
0, 500, 501, 502, 503, 504, 1255, 505, 506, 507,
508, 509, 510, 511, 512, 513, 514, 0, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
1257, 0, 528, 529, 0, 530, 531, 532, 533, 534,
535, 536, 0, 537, 538, 539, 0, 0, 540, 541,
1260, 543, 1261, 0, 545, 546, 547, 548, 549, 550,
551, 0, 0, 552, 553, 554, 555, 556, 1264, 0,
557, 558, 559, 560, 561, 562, 563, 0, 564, 565,
566, 567, 568, 569, 0, 0, 570, 0, 0, 571,
572, 573, 574, 575, 576, 577, 1266, 1267, 1268, 1269,
582, 1270, 1271, 1272, 1273, 587, 588, 589, 590, 862,
0, 659, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 228, 229, 230, 231, 232, 233,
234, 235, 0, 236, 237, 238, 0, 0, 0, 0,
0, 0, 0, 239, 240, 0, 241, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 0, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 0, 264, 265, 266, 267, 268, 0, 269,
0, 270, 271, 272, 273, 274, 275, 276, 277, 278,
0, 279, 280, 281, 282, 283, 284, 0, 285, 286,
287, 288, 0, 0, 0, 289, 0, 0, 0, 290,
291, 292, 293, 294, 295, 296, 297, 298, 0, 299,
0, 300, 301, 302, 303, 304, 305, 0, 306, 307,
308, 309, 0, 0, 310, 311, 312, 313, 314, 0,
315, 316, 317, 0, 318, 319, 320, 0, 321, 322,
323, 324, 325, 326, 327, 328, 329, 1906, 330, 0,
331, 332, 333, 334, 0, 335, 0, 336, 337, 0,
338, 339, 340, 341, 342, 0, 343, 344, 0, 345,
346, 347, 0, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 358, 359, 360, 361, 362, 363,
364, 0, 365, 366, 367, 368, 369, 370, 371, 372,
373, 0, 374, 0, 375, 376, 377, 378, 379, 380,
381, 382, 383, 384, 0, 0, 385, 386, 387, 388,
389, 0, 390, 391, 392, 0, 0, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
0, 416, 417, 418, 419, 0, 420, 421, 422, 423,
424, 425, 0, 426, 427, 1907, 0, 428, 429, 430,
0, 0, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 447,
448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 0, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 481, 0, 482, 483, 484,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 496, 497, 498, 499, 0, 500, 501, 502, 503,
504, 0, 505, 506, 507, 508, 509, 510, 511, 512,
513, 514, 0, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 0, 528, 529, 0,
530, 531, 532, 533, 534, 535, 536, 0, 537, 538,
539, 0, 0, 540, 541, 542, 543, 544, 1908, 545,
546, 547, 548, 549, 550, 551, 0, 0, 552, 553,
554, 555, 556, 0, 0, 557, 558, 559, 560, 561,
562, 563, 0, 564, 565, 566, 567, 568, 569, 0,
0, 570, 0, 0, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
587, 588, 589, 590, 862, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 228,
229, 230, 231, 232, 233, 234, 235, 900, 236, 237,
238, 0, 0, 0, 0, 0, 0, 0, 239, 240,
0, 241, 242, 243, 244, 245, 246, 247, 248, 249,
250, 251, 252, 0, 253, 254, 255, 256, 257, 258,
0, 0, 259, 260, 261, 262, 263, 0, 264, 265,
266, 267, 268, 0, 269, 0, 270, 271, 272, 273,
274, 275, 276, 277, 278, 0, 279, 280, 281, 282,
283, 284, 0, 285, 286, 287, 288, 0, 0, 0,
289, 0, 0, 863, 290, 291, 292, 293, 294, 295,
296, 297, 298, 0, 299, 0, 300, 301, 302, 303,
304, 305, 0, 306, 307, 308, 309, 0, 0, 310,
311, 312, 313, 314, 0, 315, 316, 317, 0, 318,
319, 320, 0, 321, 322, 323, 324, 325, 326, 327,
328, 329, 0, 330, 0, 331, 332, 333, 334, 0,
335, 0, 336, 337, 0, 338, 339, 340, 341, 342,
0, 343, 344, 0, 345, 346, 347, 0, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 0, 358,
359, 360, 361, 362, 363, 364, 0, 365, 366, 367,
368, 369, 370, 371, 372, 373, 0, 374, 0, 375,
376, 377, 378, 379, 380, 381, 382, 383, 384, 0,
0, 385, 386, 387, 388, 389, 0, 390, 391, 392,
0, 0, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, 412, 413, 414, 415, 0, 416, 417, 418, 419,
0, 420, 421, 422, 423, 424, 425, 0, 426, 427,
0, 0, 428, 429, 430, 0, 0, 431, 432, 433,
434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
444, 445, 446, 0, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
481, 0, 482, 483, 484, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 496, 497, 498, 499,
0, 500, 501, 502, 503, 504, 864, 505, 506, 507,
508, 509, 510, 511, 512, 513, 514, 0, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 0, 528, 529, 0, 530, 531, 532, 533, 534,
535, 536, 0, 537, 538, 539, 0, 0, 540, 541,
542, 543, 544, 0, 545, 546, 547, 548, 549, 550,
551, 0, 0, 552, 553, 554, 555, 556, 0, 0,
557, 558, 559, 560, 561, 562, 563, 0, 564, 565,
566, 567, 568, 569, 0, 0, 570, 0, 0, 571,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 584, 585, 586, 587, 588, 589, 590, 862,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 228, 229, 230, 231, 232, 233,
234, 235, 920, 236, 237, 238, 0, 0, 0, 0,
0, 0, 0, 239, 240, 0, 241, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 0, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 0, 264, 265, 266, 267, 268, 0, 269,
0, 270, 271, 272, 273, 274, 275, 276, 277, 278,
0, 279, 280, 281, 282, 283, 284, 0, 285, 286,
287, 288, 0, 0, 0, 289, 0, 0, 863, 290,
291, 292, 293, 294, 295, 296, 297, 298, 0, 299,
0, 300, 301, 302, 303, 304, 305, 0, 306, 307,
308, 309, 0, 0, 310, 311, 312, 313, 314, 0,
315, 316, 317, 0, 318, 319, 320, 0, 321, 322,
323, 324, 325, 326, 327, 328, 329, 0, 330, 0,
331, 332, 333, 334, 0, 335, 0, 336, 337, 0,
338, 339, 340, 341, 342, 0, 343, 344, 0, 345,
346, 347, 0, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 358, 359, 360, 361, 362, 363,
364, 0, 365, 366, 367, 368, 369, 370, 371, 372,
373, 0, 374, 0, 375, 376, 377, 378, 379, 380,
381, 382, 383, 384, 0, 0, 385, 386, 387, 388,
389, 0, 390, 391, 392, 0, 0, 393, 394, 395,
396, 921, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
0, 416, 417, 418, 419, 0, 420, 421, 422, 423,
424, 425, 0, 426, 427, 0, 0, 428, 429, 430,
0, 0, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 447,
448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 0, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 481, 0, 482, 483, 484,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 496, 497, 498, 499, 0, 500, 501, 502, 503,
504, 864, 505, 506, 507, 508, 509, 510, 511, 512,
513, 514, 0, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 0, 528, 529, 0,
530, 531, 532, 533, 534, 535, 536, 0, 537, 538,
539, 0, 0, 540, 541, 542, 543, 544, 0, 545,
546, 547, 548, 549, 550, 551, 0, 0, 552, 553,
554, 555, 556, 0, 0, 557, 558, 559, 560, 561,
562, 563, 0, 564, 565, 566, 567, 568, 569, 0,
0, 570, 0, 0, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
587, 588, 589, 590, 862, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 228,
229, 230, 231, 232, 233, 234, 235, 0, 236, 237,
238, 0, 0, 0, 0, 0, 0, 0, 239, 240,
0, 241, 242, 243, 244, 245, 246, 247, 248, 249,
250, 251, 252, 0, 253, 254, 255, 256, 257, 258,
0, 0, 259, 260, 261, 262, 263, 0, 264, 265,
266, 267, 268, 0, 269, 0, 270, 271, 272, 273,
274, 275, 276, 277, 278, 0, 279, 280, 281, 282,
283, 284, 0, 285, 286, 287, 288, 0, 0, 0,
289, 0, 0, 863, 290, 291, 292, 293, 294, 295,
296, 297, 298, 0, 299, 0, 300, 301, 302, 303,
304, 305, 0, 306, 307, 308, 309, 0, 0, 310,
311, 312, 313, 314, 0, 315, 316, 317, 0, 318,
319, 320, 0, 321, 322, 323, 324, 325, 326, 327,
328, 329, 0, 330, 0, 331, 332, 333, 334, 0,
335, 0, 336, 337, 0, 338, 339, 340, 341, 342,
0, 343, 344, 0, 345, 346, 347, 0, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 0, 358,
359, 360, 361, 362, 363, 364, 0, 365, 366, 367,
368, 369, 370, 371, 372, 373, 0, 374, 0, 375,
376, 377, 378, 379, 380, 381, 382, 383, 384, 0,
0, 385, 386, 387, 388, 389, 0, 390, 391, 392,
0, 0, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, 412, 413, 414, 415, 0, 416, 417, 418, 419,
0, 420, 421, 422, 423, 424, 425, 0, 426, 427,
0, 0, 428, 429, 430, 0, 0, 431, 432, 433,
434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
444, 445, 446, 0, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
481, 0, 482, 483, 484, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 496, 497, 498, 499,
0, 500, 501, 502, 503, 504, 864, 505, 506, 507,
508, 509, 510, 511, 512, 513, 514, 0, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 0, 528, 529, 0, 530, 531, 532, 533, 534,
535, 536, 0, 537, 538, 539, 0, 0, 540, 541,
542, 543, 544, 0, 545, 546, 547, 548, 549, 550,
551, 0, 0, 552, 553, 554, 555, 556, 2418, 0,
557, 558, 559, 560, 561, 562, 563, 0, 564, 565,
566, 567, 568, 569, 0, 0, 570, 0, 0, 571,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 584, 585, 586, 587, 588, 589, 590, 862,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 228, 229, 230, 231, 232, 233,
234, 235, 0, 236, 237, 238, 0, 0, 0, 0,
0, 0, 0, 239, 240, 0, 241, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 0, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 0, 264, 265, 266, 267, 268, 0, 269,
0, 270, 271, 272, 273, 274, 275, 276, 277, 278,
0, 279, 280, 281, 282, 283, 284, 0, 285, 286,
287, 288, 0, 0, 0, 289, 0, 0, 863, 290,
291, 292, 293, 294, 295, 296, 297, 298, 0, 299,
0, 300, 301, 302, 303, 304, 305, 0, 306, 307,
308, 309, 0, 0, 310, 311, 312, 313, 314, 0,
315, 316, 317, 0, 318, 319, 320, 0, 321, 322,
323, 324, 325, 326, 327, 328, 329, 0, 330, 0,
331, 332, 333, 334, 0, 335, 0, 336, 337, 0,
338, 339, 340, 341, 342, 0, 343, 344, 3409, 345,
346, 347, 0, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 358, 359, 360, 361, 362, 363,
364, 0, 365, 366, 367, 368, 369, 370, 371, 372,
373, 0, 374, 0, 375, 376, 377, 378, 379, 380,
381, 382, 383, 384, 0, 0, 385, 386, 387, 388,
389, 0, 390, 391, 392, 0, 0, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
0, 416, 417, 418, 419, 0, 420, 421, 422, 423,
424, 425, 0, 426, 427, 0, 0, 428, 429, 430,
0, 0, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 447,
448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 0, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 481, 0, 482, 483, 484,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 496, 497, 498, 499, 0, 500, 501, 502, 503,
504, 864, 505, 506, 507, 508, 509, 510, 511, 512,
513, 514, 0, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 0, 528, 529, 0,
530, 531, 532, 533, 534, 535, 536, 0, 537, 538,
539, 0, 0, 540, 541, 542, 543, 544, 0, 545,
546, 547, 548, 549, 550, 551, 0, 0, 552, 553,
554, 555, 556, 0, 0, 557, 558, 559, 560, 561,
562, 563, 0, 564, 565, 566, 567, 568, 569, 0,
0, 570, 0, 0, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
587, 588, 589, 590, 862, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 228,
229, 230, 231, 232, 233, 234, 235, 0, 236, 237,
238, 0, 0, 0, 0, 0, 0, 0, 239, 240,
0, 241, 242, 243, 244, 245, 246, 247, 248, 249,
250, 251, 252, 0, 253, 254, 255, 256, 257, 258,
0, 0, 259, 260, 261, 262, 263, 0, 264, 265,
266, 267, 268, 0, 269, 0, 270, 271, 272, 273,
274, 275, 276, 277, 278, 0, 279, 280, 281, 282,
283, 284, 0, 285, 286, 287, 288, 0, 0, 0,
289, 0, 0, 863, 290, 291, 292, 293, 294, 295,
296, 297, 298, 0, 299, 0, 300, 301, 302, 303,
304, 305, 0, 306, 307, 308, 309, 0, 0, 310,
311, 312, 313, 314, 0, 315, 316, 317, 0, 318,
319, 320, 0, 321, 322, 323, 324, 325, 326, 327,
328, 329, 0, 330, 0, 331, 332, 333, 334, 0,
335, 0, 336, 337, 0, 338, 339, 340, 341, 342,
0, 343, 344, 0, 345, 346, 347, 0, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 0, 358,
359, 360, 361, 362, 363, 364, 0, 365, 366, 367,
368, 369, 370, 371, 372, 373, 0, 374, 0, 375,
376, 377, 378, 379, 380, 381, 382, 383, 384, 0,
0, 385, 386, 387, 388, 389, 0, 390, 391, 392,
0, 0, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, 412, 413, 414, 415, 0, 416, 417, 418, 419,
0, 420, 421, 422, 423, 424, 425, 0, 426, 427,
0, 0, 428, 429, 430, 0, 0, 431, 432, 433,
434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
444, 445, 446, 0, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
481, 0, 482, 483, 484, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 496, 497, 498, 499,
0, 500, 501, 502, 503, 504, 864, 505, 506, 507,
508, 509, 510, 511, 512, 513, 514, 0, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 0, 528, 529, 0, 530, 531, 532, 533, 534,
535, 536, 0, 537, 538, 539, 0, 0, 540, 541,
542, 543, 544, 0, 545, 546, 547, 548, 549, 550,
551, 0, 0, 552, 553, 554, 555, 556, 0, 0,
557, 558, 559, 560, 561, 562, 563, 0, 564, 565,
566, 567, 568, 569, 0, 0, 570, 0, 0, 571,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 584, 585, 586, 587, 588, 589, 590, 862,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 228, 229, 230, 231, 232, 233,
234, 235, 0, 236, 237, 238, 0, 0, 0, 0,
0, 0, 0, 239, 240, 0, 241, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 0, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 0, 264, 265, 266, 267, 268, 0, 269,
0, 270, 271, 272, 273, 274, 275, 276, 277, 278,
0, 279, 280, 281, 282, 283, 284, 0, 285, 286,
287, 288, 0, 0, 0, 289, 0, 0, 863, 290,
291, 292, 293, 294, 295, 296, 297, 298, 0, 299,
0, 300, 301, 302, 303, 304, 305, 0, 306, 307,
308, 309, 0, 0, 310, 311, 312, 313, 314, 0,
315, 316, 317, 0, 318, 319, 320, 0, 321, 322,
323, 324, 325, 326, 327, 328, 329, 0, 330, 0,
331, 332, 333, 334, 0, 335, 0, 336, 337, 0,
338, 339, 340, 341, 342, 0, 343, 344, 0, 345,
346, 347, 0, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 358, 359, 360, 361, 362, 363,
364, 0, 365, 366, 367, 368, 369, 370, 371, 372,
373, 0, 374, 0, 375, 376, 377, 378, 379, 380,
381, 382, 383, 384, 0, 0, 385, 386, 387, 388,
389, 0, 390, 391, 392, 0, 0, 393, 394, 395,
396, 1026, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
0, 416, 417, 418, 419, 0, 420, 421, 422, 423,
424, 425, 0, 426, 427, 0, 0, 428, 429, 430,
0, 0, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 447,
448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 0, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 481, 0, 482, 483, 484,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 496, 497, 498, 499, 0, 500, 501, 502, 503,
504, 864, 505, 506, 507, 508, 509, 510, 511, 512,
513, 514, 0, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 0, 528, 529, 0,
530, 531, 532, 533, 534, 535, 536, 0, 537, 538,
539, 0, 0, 540, 541, 542, 543, 544, 0, 545,
546, 547, 548, 549, 550, 551, 0, 0, 552, 553,
554, 555, 556, 0, 0, 557, 558, 559, 560, 561,
562, 563, 0, 564, 565, 566, 567, 568, 569, 0,
0, 570, 0, 0, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
587, 588, 589, 590, 862, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 228,
229, 230, 231, 232, 233, 234, 235, 0, 236, 237,
238, 0, 0, 0, 0, 0, 0, 0, 239, 240,
0, 241, 242, 243, 244, 245, 246, 247, 248, 249,
250, 251, 252, 0, 253, 254, 255, 256, 257, 258,
0, 0, 259, 260, 261, 262, 263, 0, 264, 265,
266, 267, 268, 0, 269, 0, 270, 271, 272, 273,
274, 275, 276, 277, 278, 0, 279, 280, 281, 282,
283, 284, 0, 285, 286, 287, 288, 0, 0, 0,
289, 0, 0, 863, 290, 291, 292, 293, 294, 295,
296, 297, 298, 0, 299, 0, 300, 301, 302, 303,
304, 305, 0, 306, 307, 308, 309, 0, 0, 310,
311, 312, 313, 314, 0, 315, 316, 317, 0, 318,
319, 320, 0, 321, 322, 323, 324, 325, 326, 327,
328, 329, 0, 330, 0, 331, 332, 333, 334, 0,
335, 0, 336, 337, 0, 338, 339, 340, 341, 342,
0, 343, 344, 0, 345, 346, 347, 0, 348, 349,
350, 351, 1102, 353, 354, 355, 356, 357, 0, 358,
359, 360, 361, 362, 363, 364, 0, 365, 366, 367,
368, 369, 370, 371, 372, 373, 0, 374, 0, 375,
376, 377, 378, 379, 380, 381, 382, 383, 384, 0,
0, 385, 386, 387, 388, 389, 0, 390, 391, 392,
0, 0, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, 412, 413, 414, 415, 0, 416, 417, 418, 419,
0, 420, 421, 422, 423, 424, 425, 0, 426, 427,
0, 0, 428, 429, 430, 0, 0, 431, 432, 433,
434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
444, 445, 446, 0, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
481, 0, 482, 483, 484, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 496, 497, 498, 499,
0, 500, 501, 502, 503, 504, 864, 505, 506, 507,
508, 509, 510, 511, 512, 513, 514, 0, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 0, 528, 529, 0, 530, 531, 532, 533, 534,
535, 536, 0, 537, 538, 539, 0, 0, 540, 541,
542, 543, 544, 0, 545, 546, 547, 548, 549, 550,
551, 0, 0, 552, 553, 554, 555, 556, 0, 0,
557, 558, 559, 560, 561, 562, 563, 0, 564, 565,
566, 567, 568, 569, 0, 0, 570, 0, 0, 571,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 584, 585, 586, 587, 588, 589, 590, 862,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 228, 229, 230, 231, 232, 233,
234, 235, 0, 236, 237, 238, 0, 0, 0, 0,
0, 0, 0, 239, 240, 0, 241, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 0, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 0, 264, 265, 266, 267, 268, 0, 269,
0, 270, 271, 272, 273, 274, 275, 276, 277, 278,
0, 279, 280, 281, 282, 283, 284, 0, 285, 286,
287, 288, 0, 0, 0, 289, 0, 0, 863, 290,
291, 292, 293, 294, 295, 296, 297, 298, 0, 299,
0, 300, 301, 302, 303, 304, 305, 0, 306, 307,
308, 309, 0, 0, 310, 311, 312, 313, 314, 0,
315, 316, 317, 0, 318, 319, 320, 0, 321, 322,
323, 324, 325, 326, 327, 328, 329, 0, 330, 0,
331, 332, 333, 334, 0, 335, 0, 336, 337, 0,
338, 339, 340, 341, 342, 0, 343, 344, 0, 345,
346, 347, 0, 348, 349, 350, 351, 1115, 353, 354,
355, 356, 357, 0, 358, 359, 360, 361, 362, 363,
364, 0, 365, 366, 367, 368, 369, 370, 371, 372,
373, 0, 374, 0, 375, 376, 377, 378, 379, 380,
381, 382, 383, 384, 0, 0, 385, 386, 387, 388,
389, 0, 390, 391, 392, 0, 0, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
0, 416, 417, 418, 419, 0, 420, 421, 422, 423,
424, 425, 0, 426, 427, 0, 0, 428, 429, 430,
0, 0, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 447,
448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 0, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 481, 0, 482, 483, 484,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 496, 497, 498, 499, 0, 500, 501, 502, 503,
504, 864, 505, 506, 507, 508, 509, 510, 511, 512,
513, 514, 0, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 0, 528, 529, 0,
530, 531, 532, 533, 534, 535, 536, 0, 537, 538,
539, 0, 0, 540, 541, 542, 543, 544, 0, 545,
546, 547, 548, 549, 550, 551, 0, 0, 552, 553,
554, 555, 556, 0, 0, 557, 558, 559, 560, 561,
562, 563, 0, 564, 565, 566, 567, 568, 569, 0,
0, 570, 0, 0, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
587, 588, 589, 590, 862, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 228,
229, 230, 231, 232, 233, 234, 235, 0, 236, 237,
238, 0, 0, 0, 0, 0, 0, 0, 239, 240,
0, 241, 242, 243, 244, 245, 246, 247, 248, 249,
250, 251, 252, 0, 253, 254, 255, 256, 257, 258,
0, 0, 259, 260, 261, 262, 263, 0, 264, 265,
266, 267, 268, 0, 269, 0, 270, 271, 272, 273,
274, 275, 276, 277, 278, 0, 279, 280, 281, 282,
283, 284, 0, 285, 286, 287, 288, 0, 0, 0,
289, 0, 0, 863, 290, 291, 292, 293, 294, 295,
296, 297, 298, 0, 299, 0, 300, 301, 302, 303,
304, 305, 0, 306, 307, 308, 309, 0, 0, 310,
311, 312, 313, 314, 0, 315, 316, 317, 0, 318,
319, 320, 0, 321, 322, 323, 324, 325, 326, 327,
328, 329, 0, 330, 0, 331, 332, 333, 334, 0,
335, 0, 336, 337, 0, 338, 339, 340, 341, 342,
0, 343, 344, 0, 345, 346, 347, 0, 348, 349,
350, 351, 1127, 353, 354, 355, 356, 357, 0, 358,
359, 360, 361, 362, 363, 364, 0, 365, 366, 367,
368, 369, 370, 371, 372, 373, 0, 374, 0, 375,
376, 377, 378, 379, 380, 381, 382, 383, 384, 0,
0, 385, 386, 387, 388, 389, 0, 390, 391, 392,
0, 0, 393, 394, 395, 396, 1128, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, 412, 413, 414, 415, 0, 416, 417, 418, 419,
0, 420, 421, 422, 423, 424, 425, 0, 426, 427,
0, 0, 428, 429, 430, 0, 0, 431, 432, 433,
434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
444, 445, 446, 0, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
481, 0, 482, 483, 484, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 496, 497, 498, 499,
0, 500, 501, 502, 503, 504, 864, 505, 506, 507,
508, 509, 510, 511, 512, 513, 514, 0, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 0, 528, 529, 0, 530, 531, 532, 533, 534,
535, 536, 0, 537, 538, 539, 0, 0, 540, 541,
542, 543, 544, 0, 545, 546, 547, 548, 549, 550,
551, 0, 0, 552, 553, 554, 555, 556, 0, 0,
557, 558, 559, 560, 561, 562, 563, 0, 564, 565,
566, 567, 568, 569, 0, 0, 570, 0, 0, 571,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 584, 585, 586, 587, 588, 589, 590, 862,
0, 659, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 228, 229, 230, 231, 232, 233,
234, 235, 0, 236, 237, 238, 0, 0, 0, 0,
0, 0, 0, 239, 240, 0, 241, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 0, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 0, 264, 265, 266, 267, 268, 0, 269,
0, 270, 271, 272, 273, 274, 275, 276, 277, 278,
0, 279, 280, 281, 282, 283, 284, 0, 285, 286,
287, 288, 0, 0, 0, 289, 0, 0, 0, 290,
291, 292, 293, 294, 295, 296, 297, 298, 2069, 299,
0, 300, 301, 302, 303, 304, 305, 0, 306, 307,
308, 309, 0, 0, 310, 311, 312, 313, 314, 0,
315, 316, 317, 0, 318, 319, 320, 0, 321, 322,
323, 324, 325, 326, 327, 328, 329, 0, 330, 0,
331, 332, 333, 334, 0, 335, 0, 336, 337, 0,
338, 339, 340, 341, 342, 0, 343, 344, 0, 345,
346, 347, 0, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 358, 359, 360, 361, 362, 363,
364, 0, 365, 366, 367, 368, 369, 370, 371, 372,
373, 0, 374, 0, 375, 376, 377, 378, 379, 380,
381, 382, 383, 384, 0, 0, 385, 386, 387, 388,
389, 0, 390, 391, 392, 0, 0, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
0, 416, 417, 418, 419, 0, 420, 421, 422, 423,
424, 425, 0, 426, 427, 0, 0, 428, 429, 430,
0, 0, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 447,
448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 0, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 481, 0, 482, 483, 484,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 496, 497, 498, 499, 0, 500, 501, 502, 503,
504, 0, 505, 506, 507, 508, 509, 510, 511, 512,
513, 514, 0, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 0, 528, 529, 0,
530, 531, 532, 533, 534, 535, 536, 0, 537, 538,
539, 0, 0, 540, 541, 542, 543, 544, 0, 545,
546, 547, 548, 549, 550, 551, 0, 0, 552, 553,
554, 555, 556, 0, 0, 557, 558, 559, 560, 561,
562, 563, 0, 564, 565, 566, 567, 568, 569, 0,
0, 570, 0, 0, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
587, 588, 589, 590, 862, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 228,
229, 230, 231, 232, 233, 234, 235, 0, 236, 237,
238, 3, 4, 0, 0, 0, 0, 0, 239, 240,
0, 241, 242, 243, 244, 245, 246, 247, 248, 249,
250, 251, 252, 0, 253, 254, 255, 256, 257, 258,
0, 0, 259, 260, 261, 262, 263, 0, 264, 265,
266, 267, 268, 0, 269, 0, 270, 271, 272, 273,
274, 275, 276, 277, 278, 0, 279, 280, 281, 282,
283, 284, 0, 285, 286, 287, 288, 0, 0, 0,
289, 0, 0, 0, 290, 291, 292, 293, 294, 295,
296, 297, 298, 0, 299, 0, 300, 301, 302, 303,
304, 305, 0, 306, 307, 308, 309, 0, 0, 310,
311, 312, 313, 314, 0, 315, 316, 317, 0, 318,
319, 320, 0, 321, 322, 323, 324, 325, 326, 327,
328, 329, 0, 330, 0, 331, 332, 333, 334, 0,
335, 0, 336, 337, 0, 338, 339, 340, 341, 342,
0, 343, 344, 0, 345, 346, 347, 0, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 0, 358,
359, 360, 361, 362, 363, 364, 0, 365, 366, 367,
368, 369, 370, 371, 372, 373, 0, 374, 0, 375,
376, 377, 378, 379, 380, 381, 382, 383, 384, 0,
0, 385, 386, 387, 388, 389, 0, 390, 391, 392,
0, 0, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, 412, 413, 414, 415, 0, 416, 417, 418, 419,
0, 420, 421, 422, 423, 424, 425, 0, 426, 427,
0, 0, 428, 429, 430, 0, 0, 431, 432, 433,
434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
444, 445, 446, 0, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
481, 0, 482, 483, 484, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 496, 497, 498, 499,
0, 500, 501, 502, 503, 504, 0, 505, 506, 507,
508, 509, 510, 511, 512, 513, 514, 0, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 0, 528, 529, 0, 530, 531, 532, 533, 534,
535, 536, 0, 537, 538, 539, 0, 0, 540, 541,
542, 543, 544, 0, 545, 546, 547, 548, 549, 550,
551, 0, 0, 552, 553, 554, 555, 556, 0, 0,
557, 558, 559, 560, 561, 562, 563, 0, 564, 565,
566, 567, 568, 569, 0, 0, 570, 0, 0, 571,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 584, 585, 586, 587, 588, 589, 590, 862,
0, 659, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 228, 229, 230, 231, 232, 233,
234, 235, 0, 236, 237, 238, 0, 0, 0, 0,
0, 0, 0, 239, 240, 0, 241, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 0, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 0, 264, 265, 266, 267, 268, 0, 269,
0, 270, 271, 272, 273, 274, 275, 276, 277, 278,
0, 279, 280, 281, 282, 283, 284, 0, 285, 286,
287, 288, 0, 0, 0, 289, 0, 0, 0, 290,
291, 292, 293, 294, 295, 296, 297, 298, 0, 299,
0, 300, 301, 302, 303, 304, 305, 0, 306, 307,
308, 309, 0, 0, 310, 311, 312, 313, 314, 0,
315, 316, 317, 0, 318, 319, 320, 0, 321, 322,
323, 324, 325, 326, 327, 328, 329, 0, 330, 0,
331, 332, 333, 334, 0, 335, 0, 336, 337, 0,
338, 339, 340, 341, 342, 0, 343, 344, 0, 345,
346, 347, 0, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 358, 359, 360, 361, 362, 363,
364, 0, 365, 366, 367, 368, 369, 370, 371, 372,
373, 0, 374, 0, 375, 376, 377, 378, 379, 380,
381, 382, 383, 384, 0, 0, 385, 386, 387, 388,
389, 0, 390, 391, 392, 0, 0, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
0, 416, 417, 418, 419, 0, 420, 421, 422, 423,
424, 425, 0, 426, 427, 0, 0, 428, 429, 430,
0, 0, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 447,
448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 0, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 481, 0, 482, 483, 484,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 496, 497, 498, 499, 0, 500, 501, 502, 503,
504, 0, 505, 506, 507, 508, 509, 510, 511, 512,
513, 514, 0, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 0, 528, 529, 0,
530, 531, 532, 533, 534, 535, 536, 0, 537, 538,
539, 0, 0, 540, 541, 542, 543, 544, 0, 545,
546, 547, 548, 549, 550, 551, 0, 0, 552, 553,
554, 555, 556, 0, 0, 557, 558, 559, 560, 561,
562, 563, 0, 564, 565, 566, 567, 568, 569, 0,
0, 570, 0, 0, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
587, 588, 589, 590, 862, 0, 659, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 228,
229, 230, 231, 232, 233, 234, 235, 0, 236, 237,
238, 0, 0, 0, 0, 0, 0, 0, 239, 240,
0, 241, 242, 243, 244, 245, 246, 247, 248, 249,
250, 251, 252, 0, 253, 254, 255, 256, 257, 258,
0, 0, 259, 260, 261, 262, 263, 0, 264, 265,
266, 267, 268, 0, 269, 0, 270, 271, 272, 273,
274, 275, 276, 277, 278, 0, 279, 280, 281, 282,
283, 284, 0, 285, 286, 287, 288, 0, 0, 0,
289, 0, 0, 0, 290, 291, 292, 293, 294, 295,
296, 297, 298, 0, 299, 0, 300, 301, 302, 303,
304, 305, 0, 306, 307, 308, 309, 0, 0, 310,
311, 312, 313, 314, 0, 315, 316, 317, 0, 318,
319, 320, 0, 321, 322, 323, 324, 325, 326, 327,
328, 329, 0, 330, 0, 331, 332, 333, 334, 0,
335, 0, 336, 337, 0, 338, 339, 340, 341, 342,
0, 343, 344, 0, 345, 346, 347, 0, 348, 349,
350, 351, 1892, 353, 354, 355, 356, 357, 0, 358,
359, 360, 361, 362, 363, 364, 0, 365, 366, 367,
368, 369, 370, 371, 372, 373, 0, 374, 0, 375,
376, 377, 378, 379, 380, 381, 382, 383, 384, 0,
0, 385, 386, 387, 388, 389, 0, 390, 391, 392,
0, 0, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, 412, 413, 414, 415, 0, 416, 417, 418, 419,
0, 420, 421, 422, 423, 424, 425, 0, 426, 427,
0, 0, 428, 429, 430, 0, 0, 431, 432, 433,
434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
444, 445, 446, 0, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
481, 0, 482, 483, 484, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 496, 497, 498, 499,
0, 500, 501, 502, 503, 504, 0, 505, 506, 507,
508, 509, 510, 511, 512, 513, 514, 0, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 0, 528, 529, 0, 530, 531, 532, 533, 534,
535, 536, 0, 537, 538, 539, 0, 0, 540, 541,
542, 543, 544, 0, 545, 546, 547, 548, 549, 550,
551, 0, 0, 552, 553, 554, 555, 556, 0, 0,
557, 558, 559, 560, 561, 562, 563, 0, 564, 565,
566, 567, 568, 569, 0, 0, 570, 0, 0, 571,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 584, 585, 586, 587, 588, 589, 590, 227,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 228, 229, 230, 231, 232, 233,
234, 235, 0, 236, 237, 238, 0, 0, 0, 0,
0, 0, 0, 239, 240, 0, 241, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 0, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 0, 264, 265, 266, 267, 268, 0, 269,
0, 270, 271, 272, 273, 274, 275, 276, 277, 278,
0, 279, 280, 281, 282, 283, 284, 0, 285, 286,
287, 288, 0, 0, 0, 289, 0, 0, 0, 290,
291, 292, 293, 294, 295, 296, 297, 298, 0, 299,
0, 300, 301, 302, 303, 304, 305, 0, 306, 307,
308, 309, 0, 0, 310, 311, 312, 313, 314, 0,
315, 316, 317, 0, 318, 319, 320, 0, 321, 322,
323, 324, 325, 326, 327, 328, 329, 0, 330, 0,
331, 332, 333, 334, 0, 335, 0, 336, 337, 0,
338, 339, 340, 341, 342, 0, 343, 344, 0, 345,
346, 347, 0, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 358, 359, 360, 361, 362, 363,
364, 0, 365, 366, 367, 368, 369, 370, 371, 372,
373, 0, 374, 0, 375, 376, 377, 378, 379, 380,
381, 382, 383, 384, 0, 0, 385, 386, 387, 388,
389, 0, 390, 391, 392, 0, 0, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
0, 416, 417, 418, 419, 0, 420, 421, 422, 423,
424, 425, 0, 426, 427, 0, 0, 428, 429, 430,
0, 0, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 447,
448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 0, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 481, 0, 482, 483, 484,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 496, 497, 498, 499, 0, 500, 501, 502, 503,
504, 0, 505, 506, 507, 508, 509, 510, 511, 512,
513, 514, 0, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 0, 528, 529, 0,
530, 531, 532, 533, 534, 535, 536, 0, 537, 538,
539, 0, 0, 540, 541, 542, 543, 544, 0, 545,
546, 547, 548, 549, 550, 551, 0, 0, 552, 553,
554, 555, 556, 0, 0, 557, 558, 559, 560, 561,
562, 563, 0, 564, 565, 566, 567, 568, 569, 0,
0, 570, 0, 0, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
587, 588, 589, 590, 227, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 228,
229, 230, 231, 232, 233, 234, 235, 0, 236, 237,
238, 0, 0, 0, 0, 0, 0, 0, 239, 240,
0, 241, 242, 243, 244, 245, 246, 247, 248, 249,
250, 251, 252, 0, 253, 254, 255, 256, 257, 258,
0, 0, 259, 260, 261, 262, 263, 0, 264, 265,
266, 267, 268, 0, 269, 0, 270, 271, 272, 273,
274, 275, 276, 277, 278, 0, 279, 280, 281, 282,
283, 284, 0, 285, 286, 287, 288, 0, 0, 0,
289, 0, 0, 0, 290, 291, 292, 293, 294, 295,
296, 297, 298, 0, 299, 0, 300, 301, 302, 303,
304, 305, 0, 306, 307, 308, 309, 0, 0, 310,
311, 312, 313, 314, 0, 315, 316, 317, 0, 318,
319, 320, 0, 321, 322, 323, 324, 325, 326, 327,
328, 329, 0, 330, 0, 331, 332, 333, 334, 0,
335, 0, 336, 337, 0, 338, 339, 340, 341, 342,
0, 343, 344, 0, 345, 346, 347, 0, 348, 349,
350, 351, 1049, 353, 354, 355, 356, 357, 0, 358,
359, 360, 361, 362, 363, 364, 0, 365, 366, 367,
368, 369, 370, 371, 372, 373, 0, 374, 0, 375,
376, 377, 378, 379, 380, 381, 382, 383, 384, 0,
0, 385, 386, 387, 388, 389, 0, 390, 391, 392,
0, 0, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, 412, 413, 414, 415, 0, 416, 417, 418, 419,
0, 420, 421, 422, 423, 424, 425, 0, 426, 427,
0, 0, 428, 429, 430, 0, 0, 431, 432, 433,
434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
444, 445, 446, 0, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
481, 0, 482, 483, 484, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 496, 497, 498, 499,
0, 500, 501, 502, 503, 504, 0, 505, 506, 507,
508, 509, 510, 511, 512, 513, 514, 0, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 0, 528, 529, 0, 530, 531, 532, 533, 534,
535, 536, 0, 537, 538, 539, 0, 0, 540, 541,
542, 543, 544, 0, 545, 546, 547, 548, 549, 550,
551, 0, 0, 552, 553, 554, 555, 556, 0, 0,
557, 558, 559, 560, 561, 562, 563, 0, 564, 565,
566, 567, 568, 569, 0, 0, 570, 0, 0, 571,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 584, 585, 586, 587, 588, 589, 590, 227,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 228, 229, 230, 231, 232, 233,
234, 235, 0, 236, 237, 238, 0, 0, 0, 0,
0, 0, 0, 239, 240, 0, 241, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 0, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 0, 264, 265, 266, 267, 268, 0, 269,
0, 270, 271, 272, 273, 274, 275, 276, 277, 278,
0, 279, 280, 281, 282, 283, 284, 0, 285, 286,
287, 288, 0, 0, 0, 289, 0, 0, 0, 290,
291, 292, 293, 294, 295, 296, 297, 298, 0, 299,
0, 300, 301, 302, 303, 304, 305, 0, 306, 307,
308, 309, 0, 0, 310, 311, 312, 313, 314, 0,
315, 316, 317, 0, 318, 319, 320, 0, 321, 322,
323, 324, 325, 326, 327, 328, 329, 0, 330, 0,
331, 332, 333, 334, 0, 335, 0, 336, 337, 0,
338, 339, 340, 341, 342, 0, 343, 344, 0, 345,
346, 347, 0, 348, 349, 350, 351, 1099, 353, 354,
355, 356, 357, 0, 358, 359, 360, 361, 362, 363,
364, 0, 365, 366, 367, 368, 369, 370, 371, 372,
373, 0, 374, 0, 375, 376, 377, 378, 379, 380,
381, 382, 383, 384, 0, 0, 385, 386, 387, 388,
389, 0, 390, 391, 392, 0, 0, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
0, 416, 417, 418, 419, 0, 420, 421, 422, 423,
424, 425, 0, 426, 427, 0, 0, 428, 429, 430,
0, 0, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 447,
448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 0, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 481, 0, 482, 483, 484,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 496, 497, 498, 499, 0, 500, 501, 502, 503,
504, 0, 505, 506, 507, 508, 509, 510, 511, 512,
513, 514, 0, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 0, 528, 529, 0,
530, 531, 532, 533, 534, 535, 536, 0, 537, 538,
539, 0, 0, 540, 541, 542, 543, 544, 0, 545,
546, 547, 548, 549, 550, 551, 0, 0, 552, 553,
554, 555, 556, 0, 0, 557, 558, 559, 560, 561,
562, 563, 0, 564, 565, 566, 567, 568, 569, 0,
0, 570, 0, 0, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
587, 588, 589, 590, 227, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 228,
229, 230, 231, 232, 233, 234, 235, 0, 236, 237,
238, 0, 0, 0, 0, 0, 0, 0, 239, 240,
0, 241, 242, 243, 244, 245, 246, 247, 248, 249,
250, 251, 252, 0, 253, 254, 255, 256, 257, 258,
0, 0, 259, 260, 261, 262, 263, 0, 264, 265,
266, 267, 268, 0, 269, 0, 270, 271, 272, 273,
274, 275, 276, 277, 278, 0, 279, 280, 281, 282,
283, 284, 0, 285, 286, 287, 288, 0, 0, 0,
289, 0, 0, 0, 290, 291, 292, 293, 294, 295,
296, 297, 298, 0, 299, 0, 300, 301, 302, 303,
304, 305, 0, 306, 307, 308, 309, 0, 0, 310,
311, 312, 313, 314, 0, 315, 316, 317, 0, 318,
319, 320, 0, 321, 322, 323, 324, 325, 326, 327,
328, 329, 0, 330, 0, 331, 332, 333, 334, 0,
335, 0, 336, 337, 0, 338, 339, 340, 341, 342,
0, 343, 344, 0, 345, 346, 347, 0, 348, 349,
350, 351, 1113, 353, 354, 355, 356, 357, 0, 358,
359, 360, 361, 362, 363, 364, 0, 365, 366, 367,
368, 369, 370, 371, 372, 373, 0, 374, 0, 375,
376, 377, 378, 379, 380, 381, 382, 383, 384, 0,
0, 385, 386, 387, 388, 389, 0, 390, 391, 392,
0, 0, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, 412, 413, 414, 415, 0, 416, 417, 418, 419,
0, 420, 421, 422, 423, 424, 425, 0, 426, 427,
0, 0, 428, 429, 430, 0, 0, 431, 432, 433,
434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
444, 445, 446, 0, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
481, 0, 482, 483, 484, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 496, 497, 498, 499,
0, 500, 501, 502, 503, 504, 0, 505, 506, 507,
508, 509, 510, 511, 512, 513, 514, 0, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 0, 528, 529, 0, 530, 531, 532, 533, 534,
535, 536, 0, 537, 538, 539, 0, 0, 540, 541,
542, 543, 544, 0, 545, 546, 547, 548, 549, 550,
551, 0, 0, 552, 553, 554, 555, 556, 0, 0,
557, 558, 559, 560, 561, 562, 563, 0, 564, 565,
566, 567, 568, 569, 0, 0, 570, 0, 0, 571,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 584, 585, 586, 587, 588, 589, 590, 227,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 228, 229, 230, 231, 232, 233,
234, 235, 0, 236, 237, 238, 0, 0, 0, 0,
0, 0, 0, 239, 240, 0, 241, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 0, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 0, 264, 265, 266, 267, 268, 0, 269,
0, 270, 271, 272, 273, 274, 275, 276, 277, 278,
0, 279, 280, 281, 282, 283, 284, 0, 285, 286,
287, 288, 0, 0, 0, 289, 0, 0, 0, 290,
291, 292, 293, 294, 295, 296, 297, 298, 0, 299,
0, 300, 301, 302, 303, 304, 305, 0, 306, 307,
308, 309, 0, 0, 310, 311, 312, 313, 314, 0,
315, 316, 317, 0, 318, 319, 320, 0, 321, 322,
323, 324, 325, 326, 327, 328, 329, 0, 330, 0,
331, 332, 333, 334, 0, 335, 0, 336, 337, 0,
338, 339, 340, 341, 342, 0, 343, 344, 0, 345,
346, 347, 0, 348, 349, 350, 351, 1117, 353, 354,
355, 356, 357, 0, 358, 359, 360, 361, 362, 363,
364, 0, 365, 366, 367, 368, 369, 370, 371, 372,
373, 0, 374, 0, 375, 376, 377, 378, 379, 380,
381, 382, 383, 384, 0, 0, 385, 386, 387, 388,
389, 0, 390, 391, 392, 0, 0, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
0, 416, 417, 418, 419, 0, 420, 421, 422, 423,
424, 425, 0, 426, 427, 0, 0, 428, 429, 430,
0, 0, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 447,
448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 0, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 481, 0, 482, 483, 484,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 496, 497, 498, 499, 0, 500, 501, 502, 503,
504, 0, 505, 506, 507, 508, 509, 510, 511, 512,
513, 514, 0, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 0, 528, 529, 0,
530, 531, 532, 533, 534, 535, 536, 0, 537, 538,
539, 0, 0, 540, 541, 542, 543, 544, 0, 545,
546, 547, 548, 549, 550, 551, 0, 0, 552, 553,
554, 555, 556, 0, 0, 557, 558, 559, 560, 561,
562, 563, 0, 564, 565, 566, 567, 568, 569, 0,
0, 570, 0, 0, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
587, 588, 589, 590, 862, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 228,
229, 230, 231, 232, 233, 234, 235, 0, 236, 237,
238, 0, 0, 0, 0, 0, 0, 0, 239, 240,
0, 241, 242, 243, 244, 245, 246, 247, 248, 249,
250, 251, 252, 0, 253, 254, 255, 256, 257, 258,
0, 0, 259, 260, 261, 262, 263, 0, 264, 265,
266, 267, 268, 0, 269, 0, 270, 271, 272, 273,
274, 275, 276, 277, 278, 0, 279, 280, 281, 282,
283, 284, 0, 285, 286, 287, 288, 0, 0, 0,
289, 0, 0, 0, 290, 291, 292, 293, 294, 295,
296, 297, 298, 0, 299, 0, 300, 301, 302, 303,
304, 305, 0, 306, 307, 308, 309, 0, 0, 310,
311, 312, 313, 314, 0, 315, 316, 317, 0, 318,
319, 320, 0, 321, 322, 323, 324, 325, 326, 327,
328, 329, 0, 330, 0, 331, 332, 333, 334, 0,
335, 0, 336, 337, 0, 338, 339, 340, 341, 342,
0, 343, 344, 0, 345, 346, 347, 0, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 0, 358,
359, 360, 361, 362, 363, 364, 0, 365, 366, 367,
368, 369, 370, 371, 372, 373, 0, 374, 0, 375,
376, 377, 378, 379, 380, 381, 382, 383, 384, 0,
0, 385, 386, 387, 388, 389, 0, 390, 391, 392,
0, 0, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, 412, 413, 414, 415, 0, 416, 417, 418, 419,
0, 420, 421, 422, 423, 424, 425, 0, 426, 427,
0, 0, 428, 429, 430, 0, 0, 431, 432, 433,
434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
444, 445, 446, 0, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
481, 0, 482, 483, 484, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 496, 497, 498, 499,
0, 500, 501, 502, 503, 504, 0, 505, 506, 507,
508, 509, 510, 511, 512, 513, 514, 0, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 0, 528, 529, 0, 530, 531, 532, 533, 534,
535, 536, 0, 537, 538, 539, 0, 0, 540, 541,
542, 543, 544, 0, 545, 546, 547, 548, 549, 550,
551, 0, 0, 552, 553, 554, 555, 556, 0, 0,
557, 558, 559, 560, 561, 562, 563, 0, 564, 565,
566, 567, 568, 569, 0, 0, 570, 0, 0, 571,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 584, 585, 586, 587, 588, 589, 590, 598,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 228, 229, 230, 231, 232, 233,
234, 235, 0, 236, 237, 238, 0, 0, 0, 0,
0, 0, 0, 239, 240, 0, 241, 242, 243, 0,
245, 246, 247, 248, 249, 0, 251, 252, 0, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 2193, 264, 265, 266, 267, 268, 0, 0,
2272, 270, 271, 272, 273, 274, 0, 276, 277, 278,
2194, 279, 280, 281, 282, 283, 284, 0, 0, 286,
287, 288, 0, 0, 0, 0, 0, 0, 0, 290,
291, 292, 293, 294, 295, 296, 297, 298, 0, 299,
0, 300, 301, 302, 303, 304, 305, 0, 306, 307,
308, 309, 0, 0, 310, 311, 312, 313, 314, 0,
315, 316, 317, 0, 318, 319, 320, 0, 2273, 322,
323, 324, 325, 326, 327, 328, 329, 0, 330, 0,
331, 332, 333, 334, 0, 335, 2196, 336, 0, 0,
0, 339, 340, 341, 342, 0, 343, 344, 0, 345,
346, 347, 0, 348, 349, 350, 351, 2274, 0, 354,
355, 356, 357, 0, 358, 359, 360, 361, 362, 363,
364, 0, 365, 0, 367, 368, 369, 370, 371, 372,
373, 0, 374, 0, 375, 0, 0, 378, 0, 380,
381, 382, 383, 384, 0, 0, 385, 386, 0, 388,
0, 0, 390, 391, 392, 0, 0, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 0, 411, 412, 413, 414, 415,
0, 416, 417, 0, 419, 0, 420, 421, 422, 423,
424, 425, 0, 426, 427, 0, 0, 428, 429, 430,
0, 0, 431, 432, 433, 0, 435, 0, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 447,
448, 449, 450, 451, 452, 453, 454, 2197, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 0, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 481, 0, 482, 483, 0,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 496, 497, 498, 499, 0, 500, 501, 502, 503,
504, 0, 505, 506, 507, 508, 509, 0, 511, 512,
513, 514, 0, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 0, 528, 529, 0,
530, 0, 532, 533, 534, 535, 536, 0, 537, 538,
539, 0, 0, 540, 541, 542, 543, 544, 0, 545,
546, 547, 548, 549, 550, 551, 0, 2198, 552, 553,
554, 555, 556, 0, 0, 557, 558, 559, 560, 561,
562, 563, 0, 564, 0, 566, 567, 568, 569, 0,
0, 570, 0, 0, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
587, 588, 589, 590, 598, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 228,
229, 230, 231, 232, 233, 234, 235, 0, 236, 237,
238, 0, 0, 0, 0, 0, 0, 0, 239, 240,
0, 241, 242, 243, 0, 245, 246, 247, 248, 249,
0, 251, 252, 0, 253, 254, 255, 256, 257, 258,
0, 0, 259, 260, 261, 262, 263, 2193, 264, 265,
266, 267, 268, 0, 0, 0, 270, 271, 272, 273,
274, 0, 276, 277, 278, 2194, 279, 280, 281, 282,
283, 284, 0, 0, 286, 287, 288, 0, 0, 0,
0, 0, 0, 0, 290, 291, 292, 293, 294, 295,
296, 297, 298, 0, 299, 0, 300, 301, 302, 303,
304, 305, 0, 306, 307, 308, 309, 0, 0, 310,
311, 312, 313, 314, 0, 315, 316, 317, 0, 318,
319, 320, 0, 2273, 322, 323, 324, 325, 326, 327,
328, 329, 0, 330, 0, 331, 332, 333, 334, 0,
335, 2196, 336, 0, 0, 0, 339, 340, 341, 342,
0, 343, 344, 0, 345, 346, 347, 0, 348, 349,
350, 351, 352, 0, 354, 355, 356, 357, 0, 358,
359, 360, 361, 362, 363, 364, 0, 365, 0, 367,
368, 369, 370, 371, 372, 373, 0, 374, 0, 375,
0, 0, 378, 0, 380, 381, 382, 383, 384, 0,
0, 385, 386, 0, 388, 3268, 0, 390, 391, 392,
0, 0, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 0,
411, 412, 413, 414, 415, 0, 416, 417, 0, 419,
0, 420, 421, 422, 423, 424, 425, 0, 426, 427,
0, 0, 428, 429, 430, 0, 0, 431, 432, 433,
0, 435, 0, 437, 438, 439, 440, 441, 442, 443,
444, 445, 446, 0, 447, 448, 449, 450, 451, 452,
453, 454, 2197, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
481, 0, 482, 483, 0, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 496, 497, 498, 499,
0, 500, 501, 502, 503, 504, 0, 505, 506, 507,
508, 509, 0, 511, 512, 513, 514, 0, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 0, 528, 529, 0, 530, 0, 532, 533, 534,
535, 536, 0, 537, 538, 539, 0, 0, 540, 541,
542, 543, 544, 0, 545, 546, 547, 548, 549, 550,
551, 0, 2198, 552, 553, 554, 555, 556, 0, 0,
557, 558, 559, 560, 561, 562, 563, 0, 564, 0,
566, 567, 568, 569, 0, 0, 570, 0, 0, 571,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 584, 585, 586, 587, 588, 589, 590, 598,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 228, 229, 230, 231, 232, 777,
234, 235, 739, 236, 237, 238, 0, 0, 0, 0,
0, 0, 0, 239, 240, 0, 241, 242, 243, 0,
245, 246, 247, 248, 249, 0, 251, 252, 0, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 0, 264, 265, 266, 267, 268, 0, 0,
0, 270, 271, 272, 273, 274, 0, 276, 277, 278,
0, 279, 280, 281, 282, 283, 284, 740, 0, 286,
287, 288, 0, 0, 0, 0, 0, 0, 0, 290,
291, 292, 293, 294, 295, 296, 297, 298, 0, 299,
0, 300, 301, 302, 303, 304, 305, 0, 306, 307,
308, 309, 0, 0, 310, 311, 312, 313, 314, 0,
315, 316, 317, 0, 318, 319, 320, 0, 321, 322,
323, 324, 325, 326, 327, 328, 329, 0, 330, 0,
331, 332, 333, 334, 0, 335, 0, 336, 0, 0,
0, 339, 340, 341, 342, 778, 343, 344, 0, 345,
346, 347, 0, 348, 349, 350, 351, 352, 0, 354,
355, 356, 357, 0, 358, 359, 360, 361, 362, 363,
364, 0, 365, 0, 367, 368, 369, 370, 371, 372,
373, 0, 374, 0, 375, 0, 0, 378, 0, 380,
381, 382, 383, 384, 0, 0, 385, 386, 0, 388,
0, 0, 390, 391, 392, 0, 0, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 0, 411, 412, 413, 414, 415,
0, 416, 417, 0, 419, 0, 420, 421, 422, 423,
424, 425, 0, 426, 427, 0, 0, 428, 429, 430,
0, 0, 431, 432, 433, 0, 435, 0, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 447,
448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 741, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 481, 0, 482, 483, 0,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 496, 497, 498, 499, 742, 500, 501, 502, 503,
504, 0, 505, 506, 507, 508, 509, 0, 511, 512,
513, 514, 0, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 0, 528, 529, 0,
530, 0, 532, 533, 534, 535, 536, 0, 537, 538,
539, 0, 0, 540, 541, 542, 543, 544, 0, 545,
546, 547, 548, 549, 550, 551, 0, 0, 552, 553,
554, 555, 556, 0, 0, 557, 558, 559, 560, 561,
562, 563, 0, 564, 0, 566, 567, 568, 569, 0,
0, 570, 0, 0, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
587, 588, 589, 590, 598, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 228,
229, 230, 231, 232, 233, 234, 235, 739, 236, 237,
238, 0, 0, 0, 0, 0, 0, 0, 239, 240,
0, 241, 242, 243, 0, 245, 246, 247, 248, 249,
0, 251, 252, 0, 253, 254, 255, 256, 257, 258,
0, 0, 259, 260, 261, 262, 263, 0, 264, 265,
266, 267, 268, 0, 0, 0, 270, 271, 272, 273,
274, 0, 276, 277, 278, 0, 279, 280, 281, 282,
283, 284, 740, 0, 286, 287, 288, 0, 0, 0,
0, 0, 0, 0, 290, 291, 292, 293, 294, 295,
296, 297, 298, 0, 299, 0, 300, 301, 302, 303,
304, 305, 0, 306, 307, 308, 309, 0, 0, 310,
311, 312, 313, 314, 0, 315, 316, 317, 0, 318,
319, 320, 0, 321, 322, 323, 324, 325, 326, 327,
328, 329, 0, 330, 0, 331, 332, 333, 334, 0,
335, 0, 336, 0, 0, 0, 339, 340, 341, 342,
2946, 343, 344, 0, 345, 346, 347, 0, 348, 349,
350, 351, 352, 0, 354, 355, 356, 357, 0, 358,
359, 360, 361, 362, 363, 364, 0, 365, 0, 367,
368, 369, 370, 371, 372, 373, 0, 374, 0, 375,
0, 0, 378, 0, 380, 381, 382, 383, 384, 0,
0, 385, 386, 0, 388, 0, 0, 390, 391, 392,
0, 0, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 0,
411, 412, 413, 414, 415, 0, 416, 417, 0, 419,
0, 420, 421, 422, 423, 424, 425, 0, 426, 427,
0, 0, 428, 429, 430, 0, 0, 431, 432, 433,
0, 435, 0, 437, 438, 439, 440, 441, 442, 443,
444, 445, 446, 0, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 741, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
481, 0, 482, 483, 0, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 496, 497, 498, 499,
742, 500, 501, 502, 503, 504, 0, 505, 506, 507,
508, 509, 0, 511, 512, 513, 514, 0, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 0, 528, 529, 0, 530, 0, 532, 533, 534,
535, 536, 0, 537, 538, 539, 0, 0, 540, 541,
542, 543, 544, 0, 545, 546, 547, 548, 549, 550,
551, 0, 0, 552, 553, 554, 555, 556, 0, 0,
557, 558, 559, 560, 561, 562, 563, 0, 564, 0,
566, 567, 568, 569, 0, 0, 570, 0, 0, 571,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 584, 585, 586, 587, 588, 589, 590, 598,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 228, 229, 230, 231, 232, 233,
234, 235, 0, 236, 237, 238, 0, 0, 0, 0,
0, 0, 0, 239, 240, 0, 241, 242, 243, 0,
245, 246, 247, 248, 249, 0, 251, 252, 0, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 2193, 264, 265, 266, 267, 268, 0, 0,
0, 270, 271, 272, 273, 274, 0, 276, 277, 278,
2194, 279, 280, 281, 282, 283, 284, 0, 0, 286,
287, 288, 0, 0, 0, 0, 0, 0, 0, 290,
291, 292, 293, 294, 295, 296, 297, 298, 0, 299,
0, 300, 301, 302, 303, 304, 305, 0, 306, 307,
308, 309, 0, 0, 310, 311, 312, 313, 314, 0,
315, 316, 317, 0, 318, 319, 320, 0, 2273, 322,
323, 324, 325, 326, 327, 328, 329, 0, 330, 0,
331, 332, 333, 334, 0, 335, 2196, 336, 0, 0,
0, 339, 340, 341, 342, 0, 343, 344, 0, 345,
346, 347, 0, 348, 349, 350, 351, 352, 0, 354,
355, 356, 357, 0, 358, 359, 360, 361, 362, 363,
364, 0, 365, 0, 367, 368, 369, 370, 371, 372,
373, 0, 374, 0, 375, 0, 0, 378, 0, 380,
381, 382, 383, 384, 0, 0, 385, 386, 0, 388,
0, 0, 390, 391, 392, 0, 0, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 0, 411, 412, 413, 414, 415,
0, 416, 417, 0, 419, 0, 420, 421, 422, 423,
424, 425, 0, 426, 427, 0, 0, 428, 429, 430,
0, 0, 431, 432, 433, 0, 435, 0, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 447,
448, 449, 450, 451, 452, 453, 454, 2197, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 0, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 481, 0, 482, 483, 0,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 496, 497, 498, 499, 0, 500, 501, 502, 503,
504, 0, 505, 506, 507, 508, 509, 0, 511, 512,
513, 514, 0, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 0, 528, 529, 0,
530, 0, 532, 533, 534, 535, 536, 0, 537, 538,
539, 0, 0, 540, 541, 542, 543, 544, 0, 545,
546, 547, 548, 549, 550, 551, 0, 2198, 552, 553,
554, 555, 556, 0, 0, 557, 558, 559, 560, 561,
562, 563, 0, 564, 0, 566, 567, 568, 569, 0,
0, 570, 0, 0, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
587, 588, 589, 590, 598, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 228,
229, 230, 231, 232, 233, 234, 235, 739, 236, 237,
238, 0, 0, 0, 0, 0, 0, 0, 239, 240,
0, 241, 242, 243, 0, 245, 246, 247, 248, 249,
0, 251, 252, 0, 253, 254, 255, 256, 257, 258,
0, 0, 259, 260, 261, 262, 263, 0, 264, 265,
266, 267, 268, 0, 0, 0, 270, 271, 272, 273,
274, 0, 276, 277, 278, 0, 279, 280, 281, 282,
283, 284, 740, 0, 286, 287, 288, 0, 0, 0,
0, 0, 0, 0, 290, 291, 292, 293, 294, 295,
296, 297, 298, 0, 299, 0, 300, 301, 302, 303,
304, 305, 0, 306, 307, 308, 309, 0, 0, 310,
311, 312, 313, 314, 0, 315, 316, 317, 0, 318,
319, 320, 0, 321, 322, 323, 324, 325, 326, 327,
328, 329, 0, 330, 0, 331, 332, 333, 334, 0,
335, 0, 336, 0, 0, 0, 339, 340, 341, 342,
0, 343, 344, 0, 345, 346, 347, 0, 348, 349,
350, 351, 352, 0, 354, 355, 356, 357, 0, 358,
359, 360, 361, 362, 363, 364, 0, 365, 0, 367,
368, 369, 370, 371, 372, 373, 0, 374, 0, 375,
0, 0, 378, 0, 380, 381, 382, 383, 384, 0,
0, 385, 386, 0, 388, 0, 0, 390, 391, 392,
0, 0, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 0,
411, 412, 413, 414, 415, 0, 416, 417, 0, 419,
0, 420, 421, 422, 423, 424, 425, 0, 426, 427,
0, 0, 428, 429, 430, 0, 0, 431, 432, 433,
0, 435, 0, 437, 438, 439, 440, 441, 442, 443,
444, 445, 446, 0, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 741, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
481, 0, 482, 483, 0, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 496, 497, 498, 499,
742, 500, 501, 502, 503, 504, 0, 505, 506, 507,
508, 509, 0, 511, 512, 513, 514, 0, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 0, 528, 529, 0, 530, 0, 532, 533, 534,
535, 536, 0, 537, 538, 539, 0, 0, 540, 541,
542, 543, 544, 0, 545, 546, 547, 548, 549, 550,
551, 0, 0, 552, 553, 554, 555, 556, 0, 0,
557, 558, 559, 560, 561, 562, 563, 0, 564, 0,
566, 567, 568, 569, 0, 0, 570, 0, 0, 571,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 584, 585, 586, 587, 588, 589, 590, 598,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 228, 229, 230, 231, 232, 233,
234, 235, 1933, 236, 237, 238, 0, 0, 0, 0,
0, 0, 0, 239, 240, 0, 241, 242, 243, 0,
245, 246, 247, 248, 249, 0, 251, 252, 0, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 0, 264, 265, 266, 267, 268, 0, 0,
0, 270, 271, 272, 273, 274, 0, 276, 277, 278,
0, 279, 280, 281, 282, 283, 284, 0, 0, 286,
287, 288, 0, 0, 0, 0, 0, 0, 0, 290,
291, 292, 1934, 294, 295, 296, 297, 298, 0, 299,
0, 300, 301, 302, 303, 304, 305, 0, 306, 307,
308, 309, 0, 0, 310, 1935, 312, 313, 314, 0,
315, 316, 317, 0, 318, 319, 320, 0, 321, 322,
323, 324, 325, 326, 327, 328, 329, 0, 330, 0,
331, 332, 333, 334, 0, 335, 1936, 336, 0, 0,
0, 1937, 340, 341, 342, 0, 343, 344, 0, 345,
346, 347, 0, 348, 349, 350, 351, 352, 0, 354,
355, 356, 357, 0, 358, 359, 360, 361, 362, 363,
364, 0, 365, 0, 367, 368, 369, 370, 371, 372,
373, 0, 374, 0, 375, 0, 0, 378, 0, 380,
381, 1938, 1939, 384, 0, 0, 385, 386, 0, 388,
0, 0, 390, 391, 392, 0, 0, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 0, 411, 412, 413, 414, 415,
0, 416, 417, 0, 419, 0, 420, 421, 422, 423,
424, 425, 0, 426, 427, 0, 0, 428, 429, 430,
0, 0, 431, 432, 433, 0, 435, 0, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 447,
448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
457, 1940, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 0, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 481, 0, 482, 483, 0,
485, 486, 487, 1941, 489, 490, 491, 492, 493, 1942,
495, 496, 497, 498, 499, 0, 1943, 501, 502, 503,
504, 0, 505, 506, 507, 508, 509, 0, 511, 512,
513, 514, 0, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 0, 528, 529, 1944,
530, 0, 1945, 533, 534, 535, 536, 0, 537, 538,
539, 0, 0, 540, 541, 542, 543, 544, 0, 545,
546, 1946, 548, 549, 550, 551, 0, 0, 552, 553,
554, 555, 556, 0, 0, 557, 558, 559, 560, 561,
562, 563, 0, 564, 0, 566, 567, 568, 569, 0,
0, 570, 0, 0, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
587, 588, 589, 590, 598, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 228,
229, 230, 231, 232, 233, 234, 235, 0, 236, 237,
238, 0, 0, 0, 0, 0, 0, 0, 239, 240,
0, 241, 242, 243, 0, 245, 246, 247, 248, 249,
0, 251, 252, 0, 253, 254, 255, 256, 257, 258,
0, 0, 259, 260, 261, 262, 263, 0, 264, 265,
266, 267, 268, 0, 0, 0, 270, 271, 272, 273,
274, 0, 276, 277, 278, 0, 279, 280, 281, 282,
283, 284, 740, 0, 286, 287, 288, 0, 0, 0,
0, 0, 0, 0, 290, 291, 292, 293, 294, 295,
296, 297, 298, 0, 299, 0, 300, 301, 302, 303,
304, 305, 0, 306, 307, 308, 309, 0, 0, 310,
311, 312, 313, 314, 0, 315, 316, 317, 0, 318,
319, 320, 0, 321, 322, 323, 324, 325, 326, 327,
328, 329, 0, 330, 0, 331, 332, 333, 334, 0,
335, 0, 336, 0, 0, 0, 339, 340, 341, 342,
0, 343, 344, 0, 345, 346, 347, 0, 348, 349,
350, 351, 352, 0, 354, 355, 356, 357, 0, 358,
359, 360, 361, 362, 363, 364, 0, 365, 0, 367,
368, 369, 370, 371, 372, 373, 0, 374, 0, 375,
0, 0, 378, 0, 380, 381, 382, 383, 384, 0,
0, 385, 386, 0, 388, 0, 0, 390, 391, 392,
0, 0, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 0,
411, 412, 413, 414, 415, 0, 416, 417, 0, 419,
0, 420, 421, 422, 423, 424, 425, 0, 426, 427,
0, 0, 428, 429, 430, 0, 0, 431, 432, 433,
0, 435, 0, 437, 438, 439, 440, 441, 442, 443,
444, 445, 446, 0, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 741, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
481, 0, 482, 483, 0, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 496, 497, 498, 499,
742, 500, 501, 502, 503, 504, 0, 505, 506, 507,
508, 509, 0, 511, 512, 513, 514, 0, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 0, 528, 529, 0, 530, 0, 532, 533, 534,
535, 536, 0, 537, 538, 539, 0, 0, 540, 541,
542, 543, 544, 0, 545, 546, 547, 548, 549, 550,
551, 0, 0, 552, 553, 554, 555, 556, 0, 0,
557, 558, 559, 560, 561, 562, 563, 0, 564, 0,
566, 567, 568, 569, 0, 0, 570, 0, 0, 571,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 584, 585, 586, 587, 588, 589, 590, 598,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 228, 229, 230, 231, 232, 233,
234, 235, 913, 236, 237, 238, 0, 0, 0, 0,
0, 0, 0, 239, 240, 0, 241, 242, 243, 0,
245, 246, 247, 248, 249, 0, 251, 252, 0, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 0, 264, 265, 266, 267, 268, 0, 0,
0, 270, 271, 272, 273, 274, 0, 276, 277, 278,
0, 279, 280, 281, 282, 283, 284, 0, 0, 286,
287, 288, 0, 0, 0, 0, 0, 0, 0, 290,
291, 292, 293, 294, 295, 296, 297, 298, 0, 299,
0, 300, 301, 302, 303, 304, 305, 0, 306, 307,
308, 309, 0, 0, 310, 311, 312, 313, 314, 0,
315, 316, 317, 0, 318, 319, 320, 0, 321, 322,
323, 324, 325, 326, 327, 328, 329, 0, 330, 0,
331, 332, 333, 334, 0, 335, 0, 336, 0, 0,
0, 339, 340, 341, 342, 0, 343, 344, 0, 345,
346, 347, 0, 348, 349, 350, 351, 914, 0, 354,
355, 356, 357, 0, 358, 359, 360, 361, 362, 363,
364, 0, 365, 0, 367, 368, 369, 370, 371, 372,
373, 0, 374, 0, 375, 0, 0, 378, 0, 380,
381, 382, 383, 384, 0, 0, 385, 386, 0, 388,
0, 0, 390, 391, 392, 0, 0, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 0, 411, 412, 413, 414, 415,
0, 416, 417, 0, 419, 0, 420, 421, 422, 423,
424, 425, 0, 426, 427, 0, 809, 428, 429, 430,
0, 0, 431, 432, 433, 0, 435, 0, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 447,
448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 0, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 481, 0, 482, 483, 0,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 496, 497, 498, 499, 0, 500, 501, 502, 503,
504, 0, 505, 506, 507, 508, 509, 0, 511, 512,
513, 514, 0, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 0, 528, 529, 0,
530, 0, 532, 533, 534, 535, 536, 0, 537, 538,
539, 0, 0, 540, 541, 542, 543, 544, 0, 545,
546, 547, 548, 549, 550, 551, 0, 0, 552, 553,
554, 555, 556, 0, 0, 557, 558, 559, 560, 561,
562, 563, 0, 564, 0, 566, 567, 568, 569, 0,
0, 570, 0, 0, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
587, 588, 589, 590, 598, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 228,
229, 230, 231, 232, 233, 234, 235, 3038, 236, 237,
238, 0, 0, 0, 0, 0, 0, 0, 239, 240,
0, 241, 242, 243, 0, 245, 246, 247, 248, 249,
0, 251, 252, 0, 253, 254, 255, 256, 257, 258,
0, 0, 259, 260, 261, 262, 263, 0, 264, 265,
266, 267, 268, 0, 0, 0, 270, 271, 272, 273,
274, 0, 276, 277, 278, 0, 279, 280, 281, 282,
283, 284, 0, 0, 286, 287, 288, 0, 0, 0,
0, 0, 0, 0, 290, 291, 292, 293, 294, 295,
296, 297, 298, 0, 299, 0, 300, 301, 302, 303,
304, 305, 0, 306, 307, 308, 309, 0, 0, 310,
311, 312, 313, 314, 0, 315, 316, 317, 0, 318,
319, 320, 0, 321, 322, 323, 324, 325, 326, 327,
328, 329, 0, 330, 0, 331, 332, 333, 334, 0,
335, 0, 336, 0, 0, 0, 339, 340, 341, 342,
0, 343, 344, 0, 345, 346, 347, 0, 348, 349,
350, 351, 352, 0, 354, 355, 356, 357, 0, 358,
359, 360, 361, 362, 363, 364, 0, 365, 0, 367,
368, 369, 370, 371, 372, 373, 0, 374, 0, 375,
0, 0, 378, 0, 380, 381, 382, 383, 384, 0,
0, 385, 386, 0, 388, 0, 0, 390, 391, 392,
0, 0, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 0,
411, 412, 413, 414, 415, 0, 416, 417, 0, 419,
0, 420, 421, 422, 423, 424, 425, 0, 426, 427,
0, 0, 428, 429, 430, 0, 0, 431, 432, 433,
0, 435, 0, 437, 438, 439, 440, 441, 442, 443,
444, 445, 446, 0, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
481, 0, 482, 483, 0, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 496, 497, 498, 499,
0, 500, 501, 502, 503, 504, 0, 505, 506, 507,
508, 509, 0, 511, 512, 513, 514, 0, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 0, 528, 529, 0, 530, 0, 532, 533, 534,
535, 536, 0, 537, 538, 539, 0, 0, 540, 541,
542, 543, 544, 0, 545, 546, 547, 548, 549, 550,
551, 0, 0, 552, 553, 554, 555, 556, 3039, 0,
557, 558, 559, 560, 561, 562, 563, 0, 564, 0,
566, 567, 568, 569, 0, 0, 570, 0, 0, 571,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 584, 585, 586, 587, 588, 589, 590, 598,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 228, 229, 230, 231, 232, 233,
234, 235, 3051, 236, 237, 238, 0, 0, 0, 0,
0, 0, 0, 239, 240, 0, 241, 242, 243, 0,
245, 246, 247, 248, 249, 0, 251, 252, 0, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 0, 264, 265, 266, 267, 268, 0, 0,
0, 270, 271, 272, 273, 274, 0, 276, 277, 278,
0, 279, 280, 281, 282, 283, 284, 0, 0, 286,
287, 288, 0, 0, 0, 0, 0, 0, 0, 290,
291, 292, 293, 294, 295, 296, 297, 298, 0, 299,
0, 300, 301, 302, 303, 304, 305, 0, 306, 307,
308, 309, 0, 0, 310, 311, 312, 313, 314, 0,
315, 316, 317, 0, 318, 319, 320, 0, 321, 322,
323, 324, 325, 326, 327, 328, 329, 0, 330, 0,
331, 332, 333, 334, 0, 335, 0, 336, 0, 0,
0, 339, 340, 341, 342, 0, 343, 344, 0, 345,
346, 347, 0, 348, 349, 350, 351, 352, 0, 354,
355, 356, 357, 0, 358, 359, 360, 361, 362, 363,
364, 0, 365, 0, 367, 368, 369, 370, 371, 372,
373, 0, 374, 0, 375, 0, 0, 378, 0, 380,
381, 382, 383, 384, 0, 0, 385, 386, 0, 388,
0, 0, 390, 391, 392, 0, 0, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 0, 411, 412, 413, 414, 415,
0, 416, 417, 0, 419, 0, 420, 421, 422, 423,
424, 425, 0, 426, 427, 0, 0, 428, 429, 430,
0, 0, 431, 432, 433, 0, 435, 0, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 447,
448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 0, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 481, 0, 482, 483, 0,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 496, 497, 498, 499, 0, 500, 501, 502, 503,
504, 0, 505, 506, 507, 508, 509, 0, 511, 512,
513, 514, 0, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 0, 528, 529, 0,
530, 0, 532, 533, 534, 535, 536, 0, 537, 538,
539, 0, 0, 540, 541, 542, 543, 544, 0, 545,
546, 547, 548, 549, 550, 551, 0, 0, 552, 553,
554, 555, 556, 3052, 0, 557, 558, 559, 560, 561,
562, 563, 0, 564, 0, 566, 567, 568, 569, 0,
0, 570, 0, 0, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
587, 588, 589, 590, 598, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 228,
229, 230, 231, 232, 233, 234, 235, 599, 236, 237,
238, 0, 0, 0, 0, 0, 0, 0, 239, 240,
0, 241, 242, 243, 0, 245, 246, 247, 248, 249,
0, 251, 252, 0, 253, 254, 255, 256, 257, 258,
0, 0, 259, 260, 261, 262, 263, 0, 264, 265,
266, 267, 268, 0, 0, 0, 270, 271, 272, 273,
274, 0, 276, 277, 278, 0, 279, 280, 281, 282,
283, 284, 0, 0, 286, 287, 288, 0, 0, 0,
0, 0, 0, 0, 290, 291, 292, 293, 294, 295,
296, 297, 298, 0, 299, 0, 300, 301, 302, 303,
304, 305, 0, 306, 307, 308, 309, 0, 0, 310,
311, 312, 313, 314, 0, 315, 316, 317, 0, 318,
319, 320, 0, 321, 322, 323, 324, 325, 326, 327,
328, 329, 0, 330, 0, 331, 332, 333, 334, 0,
335, 0, 336, 0, 0, 0, 339, 340, 341, 342,
0, 343, 344, 0, 345, 346, 347, 0, 348, 349,
350, 351, 352, 0, 354, 355, 356, 357, 0, 358,
359, 360, 361, 362, 363, 364, 0, 365, 0, 367,
368, 369, 370, 371, 372, 373, 0, 374, 0, 375,
0, 0, 378, 0, 380, 381, 382, 383, 384, 0,
0, 385, 386, 0, 388, 0, 0, 390, 391, 392,
0, 0, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 0,
411, 412, 413, 414, 415, 0, 416, 417, 0, 419,
0, 420, 421, 422, 423, 424, 425, 0, 426, 427,
0, 0, 428, 429, 430, 0, 0, 431, 432, 433,
0, 435, 0, 437, 438, 439, 440, 441, 442, 443,
444, 445, 446, 0, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
481, 0, 482, 483, 0, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 496, 497, 498, 499,
0, 500, 501, 502, 503, 504, 0, 505, 506, 507,
508, 509, 0, 511, 512, 513, 514, 0, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 0, 528, 529, 0, 530, 0, 532, 533, 534,
535, 536, 0, 537, 538, 539, 0, 0, 540, 541,
542, 543, 544, 0, 545, 546, 547, 548, 549, 550,
551, 0, 0, 552, 553, 554, 555, 556, 0, 0,
557, 558, 559, 560, 561, 562, 563, 0, 564, 0,
566, 567, 568, 569, 0, 0, 570, 0, 0, 571,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 584, 585, 586, 587, 588, 589, 590, 598,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 228, 229, 230, 231, 232, 233,
234, 235, 650, 236, 237, 238, 0, 0, 0, 0,
0, 0, 0, 239, 240, 0, 241, 242, 243, 0,
245, 246, 247, 248, 249, 0, 251, 252, 0, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 0, 264, 265, 266, 267, 268, 0, 0,
0, 270, 271, 272, 273, 274, 0, 276, 277, 278,
0, 279, 280, 281, 282, 283, 284, 0, 0, 286,
287, 288, 0, 0, 0, 0, 0, 0, 0, 290,
291, 292, 293, 294, 295, 296, 297, 298, 0, 299,
0, 300, 301, 302, 303, 304, 305, 0, 306, 307,
308, 309, 0, 0, 310, 311, 312, 313, 314, 0,
315, 316, 317, 0, 318, 319, 320, 0, 321, 322,
323, 324, 325, 326, 327, 328, 329, 0, 330, 0,
331, 332, 333, 334, 0, 335, 0, 336, 0, 0,
0, 339, 340, 341, 342, 0, 343, 344, 0, 345,
346, 347, 0, 348, 349, 350, 351, 352, 0, 354,
355, 356, 357, 0, 358, 359, 360, 361, 362, 363,
364, 0, 365, 0, 367, 368, 369, 370, 371, 372,
373, 0, 374, 0, 375, 0, 0, 378, 0, 380,
381, 382, 383, 384, 0, 0, 385, 386, 0, 388,
0, 0, 390, 391, 392, 0, 0, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 0, 411, 412, 413, 414, 415,
0, 416, 417, 0, 419, 0, 420, 421, 422, 423,
424, 425, 0, 426, 427, 0, 0, 428, 429, 430,
0, 0, 431, 432, 433, 0, 435, 0, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 447,
448, 449, 450, 451, 452, 651, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 0, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 481, 0, 482, 483, 0,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 496, 497, 498, 499, 0, 500, 501, 502, 503,
504, 0, 505, 506, 507, 508, 509, 0, 511, 512,
513, 514, 0, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 0, 528, 529, 0,
530, 0, 532, 533, 534, 535, 536, 0, 537, 538,
539, 0, 0, 540, 541, 542, 543, 544, 0, 545,
546, 547, 548, 549, 550, 551, 0, 0, 552, 553,
554, 555, 556, 0, 0, 557, 558, 559, 560, 561,
562, 563, 0, 564, 0, 566, 567, 568, 569, 0,
0, 570, 0, 0, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
587, 588, 589, 590, 598, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 228,
229, 230, 231, 232, 233, 234, 235, 769, 236, 237,
238, 0, 0, 0, 0, 0, 0, 0, 239, 240,
0, 241, 242, 243, 0, 245, 246, 247, 248, 249,
0, 251, 252, 0, 253, 254, 255, 256, 257, 258,
0, 0, 259, 260, 261, 262, 263, 0, 264, 265,
266, 267, 268, 0, 0, 0, 270, 271, 272, 273,
274, 0, 276, 277, 278, 0, 279, 280, 281, 282,
283, 284, 0, 0, 286, 287, 288, 0, 0, 0,
0, 0, 0, 0, 290, 291, 292, 293, 294, 295,
296, 297, 298, 0, 299, 0, 300, 301, 302, 303,
304, 305, 0, 306, 307, 308, 309, 0, 0, 310,
311, 312, 313, 314, 0, 315, 316, 317, 0, 318,
319, 320, 0, 321, 322, 323, 324, 325, 326, 327,
328, 329, 0, 330, 0, 331, 332, 333, 334, 0,
335, 0, 336, 0, 0, 0, 339, 340, 341, 342,
0, 343, 344, 0, 345, 346, 347, 0, 348, 349,
350, 351, 352, 0, 354, 355, 356, 357, 0, 358,
359, 360, 361, 362, 363, 364, 0, 365, 0, 367,
368, 369, 370, 371, 372, 373, 0, 374, 0, 375,
0, 0, 378, 0, 380, 381, 382, 383, 384, 0,
0, 385, 386, 0, 388, 0, 0, 390, 391, 392,
0, 0, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 0,
411, 412, 413, 414, 415, 0, 416, 417, 0, 419,
0, 420, 421, 422, 423, 424, 425, 0, 426, 427,
0, 0, 428, 429, 430, 0, 0, 431, 432, 433,
0, 435, 0, 437, 438, 439, 440, 441, 442, 443,
444, 445, 446, 0, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
481, 0, 482, 483, 0, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 496, 497, 498, 499,
0, 500, 501, 502, 503, 770, 0, 505, 506, 507,
508, 509, 0, 511, 512, 513, 514, 0, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 0, 528, 529, 0, 530, 0, 532, 533, 534,
535, 536, 0, 537, 771, 539, 0, 0, 772, 541,
542, 543, 544, 0, 545, 546, 547, 548, 549, 550,
551, 0, 0, 552, 553, 554, 555, 556, 0, 0,
557, 558, 559, 560, 561, 562, 563, 0, 564, 0,
566, 567, 568, 569, 0, 0, 570, 0, 0, 571,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 584, 585, 586, 587, 588, 589, 590, 598,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 228, 229, 230, 231, 232, 233,
234, 235, 803, 236, 237, 238, 0, 0, 0, 0,
0, 0, 0, 239, 240, 0, 241, 242, 243, 0,
245, 246, 247, 248, 249, 0, 251, 252, 0, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 0, 264, 265, 266, 267, 268, 0, 0,
0, 270, 271, 272, 273, 274, 0, 276, 277, 278,
0, 279, 280, 281, 282, 283, 284, 0, 0, 286,
287, 288, 0, 0, 0, 0, 0, 0, 0, 290,
291, 292, 293, 294, 295, 296, 297, 298, 0, 299,
0, 300, 301, 302, 303, 304, 305, 0, 306, 307,
308, 309, 0, 0, 310, 311, 312, 313, 314, 0,
315, 316, 317, 0, 318, 319, 320, 0, 321, 322,
323, 324, 325, 326, 327, 328, 329, 0, 330, 0,
331, 332, 333, 334, 0, 335, 0, 336, 0, 0,
0, 339, 340, 341, 342, 0, 343, 344, 0, 345,
346, 347, 0, 348, 349, 350, 351, 352, 0, 354,
355, 356, 357, 0, 358, 359, 360, 361, 362, 363,
364, 0, 365, 0, 367, 368, 369, 370, 371, 372,
373, 0, 374, 0, 375, 0, 0, 378, 0, 380,
381, 382, 383, 384, 0, 0, 385, 386, 0, 388,
0, 0, 390, 391, 392, 0, 0, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 0, 411, 412, 413, 414, 415,
0, 416, 417, 0, 419, 0, 420, 421, 422, 423,
424, 425, 0, 426, 427, 0, 0, 428, 429, 430,
0, 0, 431, 432, 433, 0, 435, 0, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 447,
448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 0, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 481, 0, 482, 483, 0,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 496, 497, 498, 499, 0, 500, 501, 502, 503,
804, 0, 505, 506, 507, 508, 509, 0, 511, 512,
513, 514, 0, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 0, 528, 529, 0,
530, 0, 532, 533, 534, 535, 536, 0, 537, 805,
539, 0, 0, 806, 541, 542, 543, 544, 0, 545,
546, 547, 548, 549, 550, 551, 0, 0, 552, 553,
554, 555, 556, 0, 0, 557, 558, 559, 560, 561,
562, 563, 0, 564, 0, 566, 567, 568, 569, 0,
0, 570, 0, 0, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
587, 588, 589, 590, 598, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 228,
229, 230, 231, 232, 233, 234, 235, 0, 236, 237,
238, 0, 0, 0, 0, 0, 0, 0, 239, 240,
0, 241, 242, 243, 0, 245, 246, 247, 248, 249,
0, 251, 252, 0, 253, 254, 255, 256, 257, 258,
0, 0, 259, 260, 261, 262, 263, 0, 264, 265,
266, 267, 268, 0, 0, 0, 270, 271, 272, 273,
274, 0, 276, 277, 278, 0, 279, 280, 281, 282,
283, 284, 0, 0, 286, 287, 288, 0, 0, 0,
0, 0, 0, 0, 290, 291, 292, 293, 294, 295,
296, 297, 298, 0, 299, 0, 300, 301, 302, 303,
304, 305, 0, 306, 307, 308, 309, 0, 0, 310,
311, 312, 313, 314, 0, 315, 316, 317, 0, 318,
319, 320, 0, 321, 322, 323, 324, 325, 326, 327,
328, 329, 0, 330, 0, 331, 332, 333, 334, 0,
335, 0, 336, 0, 0, 0, 339, 340, 341, 342,
0, 343, 344, 0, 345, 346, 347, 0, 348, 349,
350, 351, 352, 0, 354, 355, 356, 357, 0, 358,
359, 360, 361, 362, 363, 364, 0, 365, 0, 367,
368, 369, 370, 371, 372, 373, 0, 374, 0, 375,
0, 0, 378, 0, 380, 381, 382, 383, 384, 0,
0, 385, 386, 0, 388, 0, 0, 390, 391, 392,
0, 0, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 0,
411, 412, 413, 414, 415, 0, 416, 417, 0, 419,
0, 420, 421, 422, 423, 424, 425, 0, 426, 427,
0, 809, 428, 429, 430, 0, 0, 431, 432, 433,
0, 435, 0, 437, 438, 439, 440, 441, 442, 443,
444, 445, 446, 0, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
481, 0, 482, 483, 0, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 496, 497, 498, 499,
0, 500, 501, 502, 503, 504, 0, 505, 506, 507,
508, 509, 0, 511, 512, 513, 514, 0, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 0, 528, 529, 0, 530, 0, 532, 533, 534,
535, 536, 0, 537, 538, 539, 0, 0, 540, 541,
542, 543, 544, 0, 545, 546, 547, 548, 549, 550,
551, 0, 0, 552, 553, 554, 555, 556, 0, 0,
557, 558, 559, 560, 561, 562, 563, 0, 564, 0,
566, 567, 568, 569, 0, 0, 570, 0, 0, 571,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 584, 585, 586, 587, 588, 589, 590, 598,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 228, 229, 230, 231, 232, 233,
234, 235, 871, 236, 237, 238, 0, 0, 0, 0,
0, 0, 0, 239, 240, 0, 241, 242, 243, 0,
245, 246, 247, 248, 249, 0, 251, 252, 0, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 0, 264, 265, 266, 267, 268, 0, 0,
0, 270, 271, 272, 273, 274, 0, 276, 277, 278,
0, 279, 280, 281, 282, 283, 284, 0, 0, 286,
287, 288, 0, 0, 0, 0, 0, 0, 0, 290,
291, 292, 293, 294, 295, 296, 297, 298, 0, 299,
0, 300, 301, 302, 303, 304, 305, 0, 306, 307,
308, 309, 0, 0, 310, 311, 312, 313, 314, 0,
315, 316, 317, 0, 318, 319, 320, 0, 321, 322,
323, 324, 325, 326, 327, 328, 329, 0, 330, 0,
331, 332, 333, 334, 0, 335, 0, 336, 0, 0,
0, 339, 340, 341, 342, 0, 343, 344, 0, 345,
346, 347, 0, 348, 349, 350, 351, 872, 0, 354,
355, 356, 357, 0, 358, 359, 360, 361, 362, 363,
364, 0, 365, 0, 367, 368, 369, 370, 371, 372,
373, 0, 374, 0, 375, 0, 0, 378, 0, 380,
381, 382, 383, 384, 0, 0, 385, 386, 0, 388,
0, 0, 390, 391, 392, 0, 0, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 0, 411, 412, 413, 414, 415,
0, 416, 417, 0, 419, 0, 420, 421, 422, 423,
424, 425, 0, 426, 427, 0, 0, 428, 429, 430,
0, 0, 431, 432, 433, 0, 435, 0, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 447,
448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 0, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 481, 0, 482, 483, 0,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 496, 497, 498, 499, 0, 500, 501, 502, 503,
504, 0, 505, 506, 507, 508, 509, 0, 511, 512,
513, 514, 0, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 0, 528, 529, 0,
530, 0, 532, 533, 534, 535, 536, 0, 537, 538,
539, 0, 0, 540, 541, 542, 543, 544, 0, 545,
546, 547, 548, 549, 550, 551, 0, 0, 552, 553,
554, 555, 556, 0, 0, 557, 558, 559, 560, 561,
562, 563, 0, 564, 0, 566, 567, 568, 569, 0,
0, 570, 0, 0, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
587, 588, 589, 590, 598, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 228,
229, 230, 231, 232, 233, 234, 235, 1041, 236, 237,
238, 0, 0, 0, 0, 0, 0, 0, 239, 240,
0, 241, 242, 243, 0, 245, 246, 247, 248, 249,
0, 251, 252, 0, 253, 254, 255, 256, 257, 258,
0, 0, 259, 260, 261, 262, 263, 0, 264, 265,
266, 267, 268, 0, 0, 0, 270, 271, 272, 273,
274, 0, 276, 277, 278, 0, 279, 280, 281, 282,
283, 284, 0, 0, 286, 287, 288, 0, 0, 0,
0, 0, 0, 0, 290, 291, 292, 293, 294, 295,
296, 297, 298, 0, 299, 0, 300, 301, 302, 303,
304, 305, 0, 306, 307, 308, 309, 0, 0, 310,
311, 312, 313, 314, 0, 315, 316, 317, 0, 318,
319, 320, 0, 321, 322, 323, 324, 325, 326, 327,
328, 329, 0, 330, 0, 331, 332, 333, 334, 0,
335, 0, 336, 0, 0, 0, 339, 340, 341, 342,
0, 343, 344, 0, 345, 346, 347, 0, 348, 349,
350, 351, 352, 0, 354, 355, 356, 357, 0, 358,
359, 360, 361, 362, 363, 364, 0, 365, 0, 367,
368, 369, 370, 371, 372, 373, 0, 374, 0, 375,
0, 0, 378, 0, 380, 381, 382, 383, 384, 0,
0, 385, 386, 0, 388, 0, 0, 390, 391, 392,
0, 0, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 0,
411, 412, 413, 414, 415, 0, 416, 417, 0, 419,
0, 420, 421, 422, 423, 424, 425, 0, 426, 427,
0, 0, 428, 429, 430, 0, 0, 431, 432, 433,
0, 435, 0, 437, 438, 439, 440, 441, 442, 443,
444, 445, 446, 0, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
481, 0, 482, 483, 0, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 496, 497, 498, 499,
0, 500, 501, 502, 503, 504, 0, 505, 506, 507,
508, 509, 0, 511, 512, 513, 514, 0, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 0, 528, 529, 0, 530, 0, 532, 533, 534,
535, 536, 0, 537, 538, 539, 0, 0, 540, 541,
542, 543, 544, 0, 545, 546, 547, 548, 549, 550,
551, 0, 0, 552, 553, 554, 555, 556, 0, 0,
557, 558, 559, 560, 561, 562, 563, 0, 564, 0,
566, 567, 568, 569, 0, 0, 570, 0, 0, 571,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 584, 585, 586, 587, 588, 589, 590, 598,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 228, 229, 230, 231, 232, 233,
234, 235, 1311, 236, 237, 238, 0, 0, 0, 0,
0, 0, 0, 239, 240, 0, 241, 242, 243, 0,
245, 246, 247, 248, 249, 0, 251, 252, 0, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 0, 264, 265, 266, 267, 268, 0, 0,
0, 270, 271, 272, 273, 274, 0, 276, 277, 278,
0, 279, 280, 281, 282, 283, 284, 0, 0, 286,
287, 288, 0, 0, 0, 0, 0, 0, 0, 290,
291, 292, 293, 294, 295, 296, 297, 298, 0, 299,
0, 300, 301, 302, 303, 304, 305, 0, 306, 307,
308, 309, 0, 0, 310, 311, 312, 313, 314, 0,
315, 316, 317, 0, 318, 319, 320, 0, 321, 322,
323, 324, 325, 326, 327, 328, 329, 0, 330, 0,
331, 332, 333, 334, 0, 335, 0, 336, 0, 0,
0, 339, 340, 341, 342, 0, 343, 344, 0, 345,
346, 347, 0, 348, 349, 350, 351, 352, 0, 354,
355, 356, 357, 0, 358, 359, 360, 361, 362, 363,
364, 0, 365, 0, 367, 368, 369, 370, 371, 372,
373, 0, 374, 0, 375, 0, 0, 378, 0, 380,
381, 382, 383, 384, 0, 0, 385, 386, 0, 388,
0, 0, 390, 391, 392, 0, 0, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 0, 411, 412, 413, 414, 415,
0, 416, 417, 0, 419, 0, 420, 421, 422, 423,
424, 425, 0, 426, 427, 0, 0, 428, 429, 430,
0, 0, 431, 432, 433, 0, 435, 0, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 447,
448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 0, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 481, 0, 482, 483, 0,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 496, 497, 498, 499, 0, 500, 501, 502, 503,
504, 0, 505, 506, 507, 508, 509, 0, 511, 512,
513, 514, 0, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 0, 528, 529, 0,
530, 0, 532, 533, 534, 535, 536, 0, 537, 538,
539, 0, 0, 540, 541, 542, 543, 544, 0, 545,
546, 547, 548, 549, 550, 551, 0, 0, 552, 553,
554, 555, 556, 0, 0, 557, 558, 559, 560, 561,
562, 563, 0, 564, 0, 566, 567, 568, 569, 0,
0, 570, 0, 0, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
587, 588, 589, 590, 598, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 228,
229, 230, 231, 232, 233, 234, 235, 0, 236, 237,
238, 0, 0, 0, 0, 0, 0, 0, 239, 240,
0, 241, 242, 243, 1322, 245, 246, 247, 248, 249,
0, 251, 252, 0, 253, 254, 255, 256, 257, 258,
0, 0, 789, 260, 261, 262, 1323, 0, 264, 265,
266, 267, 268, 0, 0, 0, 270, 271, 272, 273,
274, 0, 276, 277, 278, 0, 279, 280, 281, 282,
283, 284, 0, 0, 286, 287, 288, 0, 0, 0,
0, 0, 0, 0, 290, 291, 292, 293, 294, 295,
296, 297, 298, 0, 299, 0, 300, 301, 302, 303,
304, 305, 0, 306, 307, 308, 309, 0, 0, 310,
311, 312, 313, 314, 0, 315, 316, 317, 0, 318,
319, 320, 0, 321, 322, 323, 324, 325, 326, 327,
328, 329, 0, 330, 0, 331, 332, 333, 334, 0,
335, 0, 336, 0, 0, 0, 339, 340, 341, 342,
0, 343, 344, 0, 345, 346, 347, 0, 348, 349,
350, 351, 352, 0, 354, 355, 356, 357, 0, 358,
359, 360, 361, 362, 363, 364, 0, 365, 0, 367,
368, 369, 370, 371, 372, 373, 0, 374, 0, 375,
0, 0, 378, 0, 380, 381, 382, 383, 384, 0,
0, 385, 386, 0, 388, 0, 0, 390, 391, 392,
0, 0, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 792, 409, 0,
411, 412, 413, 414, 415, 0, 416, 417, 0, 419,
0, 420, 421, 422, 423, 424, 425, 0, 426, 427,
0, 0, 428, 429, 430, 0, 0, 431, 432, 433,
0, 435, 0, 437, 438, 439, 440, 441, 442, 443,
444, 445, 446, 0, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
481, 0, 482, 483, 0, 793, 486, 487, 488, 489,
490, 491, 492, 493, 794, 495, 496, 497, 498, 499,
0, 500, 501, 502, 503, 1315, 0, 505, 506, 507,
508, 509, 0, 511, 512, 513, 514, 0, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 0, 528, 529, 0, 530, 0, 532, 533, 534,
535, 536, 0, 537, 796, 539, 0, 0, 797, 541,
542, 543, 544, 0, 545, 546, 547, 548, 549, 550,
551, 0, 0, 552, 553, 554, 555, 556, 0, 0,
557, 558, 559, 560, 561, 562, 563, 0, 564, 0,
566, 567, 568, 569, 0, 0, 570, 0, 0, 571,
572, 573, 574, 575, 798, 577, 578, 579, 580, 581,
582, 583, 584, 585, 586, 587, 588, 589, 590, 598,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 228, 229, 230, 231, 232, 233,
234, 235, 0, 236, 237, 238, 0, 0, 0, 0,
0, 0, 0, 239, 240, 0, 241, 242, 243, 0,
245, 246, 247, 248, 249, 0, 251, 252, 0, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 0, 264, 265, 266, 267, 268, 0, 0,
0, 270, 271, 272, 273, 274, 0, 276, 277, 278,
0, 279, 280, 281, 282, 283, 284, 0, 0, 286,
287, 288, 0, 0, 0, 0, 0, 0, 0, 290,
291, 292, 293, 294, 295, 296, 297, 298, 0, 299,
0, 300, 301, 302, 303, 304, 305, 0, 306, 307,
308, 309, 0, 0, 310, 311, 312, 313, 314, 0,
315, 316, 317, 0, 318, 319, 320, 0, 321, 322,
323, 324, 325, 326, 327, 328, 329, 0, 330, 0,
331, 332, 333, 334, 0, 335, 0, 336, 0, 0,
0, 339, 340, 341, 342, 0, 343, 344, 0, 345,
346, 347, 0, 348, 349, 350, 351, 1435, 0, 354,
355, 356, 357, 0, 358, 359, 360, 361, 362, 363,
364, 0, 365, 0, 367, 368, 369, 370, 371, 372,
373, 0, 374, 0, 375, 0, 0, 378, 0, 380,
381, 382, 383, 384, 0, 0, 385, 386, 0, 388,
0, 0, 390, 391, 392, 0, 0, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 0, 411, 412, 413, 414, 415,
0, 416, 417, 0, 419, 0, 420, 421, 422, 423,
424, 425, 0, 426, 427, 0, 809, 428, 429, 430,
0, 0, 431, 432, 433, 0, 435, 0, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 447,
448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 0, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 481, 0, 482, 483, 0,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 496, 497, 498, 499, 0, 500, 501, 502, 503,
504, 0, 505, 506, 507, 508, 509, 0, 511, 512,
513, 514, 0, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 0, 528, 529, 0,
530, 0, 532, 533, 534, 535, 536, 0, 537, 538,
539, 0, 0, 540, 541, 542, 543, 544, 0, 545,
546, 547, 548, 549, 550, 551, 0, 0, 552, 553,
554, 555, 556, 0, 0, 557, 558, 559, 560, 561,
562, 563, 0, 564, 0, 566, 567, 568, 569, 0,
0, 570, 0, 0, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
587, 588, 589, 590, 598, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 228,
229, 230, 231, 232, 233, 234, 235, 1494, 236, 237,
238, 0, 0, 0, 0, 0, 0, 0, 239, 240,
0, 241, 242, 243, 0, 245, 246, 247, 248, 249,
0, 251, 252, 0, 253, 254, 255, 256, 257, 258,
0, 0, 259, 260, 261, 262, 263, 0, 264, 265,
266, 267, 268, 0, 0, 0, 270, 271, 272, 273,
274, 0, 276, 277, 278, 0, 279, 280, 281, 282,
283, 284, 0, 0, 286, 287, 288, 0, 0, 0,
0, 0, 0, 0, 290, 291, 292, 293, 294, 295,
296, 297, 298, 0, 299, 0, 300, 301, 302, 303,
304, 305, 0, 306, 307, 308, 309, 0, 0, 310,
311, 312, 313, 314, 0, 315, 316, 317, 0, 318,
319, 320, 0, 321, 322, 323, 324, 325, 326, 327,
328, 329, 0, 330, 0, 331, 332, 333, 334, 0,
335, 0, 336, 0, 0, 0, 339, 340, 341, 342,
0, 343, 344, 0, 345, 346, 347, 0, 348, 349,
350, 351, 1495, 0, 354, 355, 356, 357, 0, 358,
359, 360, 361, 362, 363, 364, 0, 365, 0, 367,
368, 369, 370, 371, 372, 373, 0, 374, 0, 375,
0, 0, 378, 0, 380, 381, 382, 383, 384, 0,
0, 385, 386, 0, 388, 0, 0, 390, 391, 392,
0, 0, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 0,
411, 412, 413, 414, 415, 0, 416, 417, 0, 419,
0, 420, 421, 422, 423, 424, 425, 0, 426, 427,
0, 0, 428, 429, 430, 0, 0, 431, 432, 433,
0, 435, 0, 437, 438, 439, 440, 441, 442, 443,
444, 445, 446, 0, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
481, 0, 482, 483, 0, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 496, 497, 498, 499,
0, 500, 501, 502, 503, 504, 0, 505, 506, 507,
508, 509, 0, 511, 512, 513, 514, 0, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 0, 528, 529, 0, 530, 0, 532, 533, 534,
535, 536, 0, 537, 538, 539, 0, 0, 540, 541,
542, 543, 544, 0, 545, 546, 547, 548, 549, 550,
551, 0, 0, 552, 553, 554, 555, 556, 0, 0,
557, 558, 559, 560, 561, 562, 563, 0, 564, 0,
566, 567, 568, 569, 0, 0, 570, 0, 0, 571,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 584, 585, 586, 587, 588, 589, 590, 598,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 228, 229, 230, 231, 232, 233,
234, 235, 769, 236, 237, 238, 0, 0, 0, 0,
0, 0, 0, 239, 240, 0, 241, 242, 243, 0,
245, 246, 247, 248, 249, 0, 251, 252, 0, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 0, 264, 265, 266, 267, 268, 0, 0,
0, 270, 271, 272, 273, 274, 0, 276, 277, 278,
0, 279, 280, 281, 282, 283, 284, 0, 0, 286,
287, 288, 0, 0, 0, 0, 0, 0, 0, 290,
291, 292, 293, 294, 295, 296, 297, 298, 0, 299,
0, 300, 301, 302, 303, 304, 305, 0, 306, 307,
308, 309, 0, 0, 310, 311, 312, 313, 314, 0,
315, 316, 317, 0, 318, 319, 320, 0, 321, 322,
323, 324, 325, 326, 327, 328, 329, 0, 330, 0,
331, 332, 333, 334, 0, 335, 0, 336, 0, 0,
0, 339, 340, 341, 342, 0, 343, 344, 0, 345,
346, 347, 0, 348, 349, 350, 351, 352, 0, 354,
355, 356, 357, 0, 358, 359, 360, 361, 362, 363,
364, 0, 365, 0, 367, 368, 369, 370, 371, 372,
373, 0, 374, 0, 375, 0, 0, 378, 0, 380,
381, 382, 383, 384, 0, 0, 385, 386, 0, 388,
0, 0, 390, 391, 392, 0, 0, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 0, 411, 412, 413, 414, 415,
0, 416, 417, 0, 419, 0, 420, 421, 422, 423,
424, 425, 0, 426, 427, 0, 0, 428, 429, 430,
0, 0, 431, 432, 433, 0, 435, 0, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 447,
448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 0, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 481, 0, 482, 483, 0,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 496, 497, 498, 499, 0, 500, 501, 502, 503,
504, 0, 505, 506, 507, 508, 509, 0, 511, 512,
513, 514, 0, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 0, 528, 529, 0,
530, 0, 532, 533, 534, 535, 536, 0, 537, 538,
539, 0, 0, 540, 541, 542, 543, 544, 0, 545,
546, 547, 548, 549, 550, 551, 0, 0, 552, 553,
554, 555, 556, 0, 0, 557, 558, 559, 560, 561,
562, 563, 0, 564, 0, 566, 567, 568, 569, 0,
0, 570, 0, 0, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
587, 588, 589, 590, 598, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 228,
229, 230, 231, 232, 233, 234, 235, 0, 236, 237,
238, 0, 0, 0, 0, 0, 0, 0, 239, 240,
0, 241, 242, 243, 0, 245, 246, 247, 248, 249,
0, 251, 252, 0, 253, 254, 255, 256, 257, 258,
0, 0, 259, 260, 261, 262, 263, 0, 264, 265,
266, 267, 268, 0, 0, 0, 270, 271, 272, 273,
274, 0, 276, 277, 278, 0, 279, 280, 281, 282,
283, 284, 0, 0, 286, 287, 288, 0, 0, 0,
0, 0, 0, 0, 290, 291, 292, 293, 294, 295,
296, 297, 298, 0, 299, 0, 300, 301, 302, 303,
304, 305, 0, 306, 307, 308, 309, 0, 0, 310,
311, 312, 313, 314, 0, 315, 316, 317, 0, 318,
319, 320, 0, 321, 322, 323, 324, 325, 326, 327,
328, 329, 0, 330, 0, 331, 332, 333, 334, 0,
335, 0, 336, 0, 0, 0, 339, 340, 341, 2837,
0, 343, 344, 0, 345, 346, 347, 0, 348, 349,
350, 351, 352, 0, 354, 355, 356, 357, 0, 358,
359, 360, 361, 362, 363, 364, 0, 365, 0, 367,
368, 369, 370, 371, 372, 373, 0, 374, 0, 375,
0, 0, 378, 0, 380, 381, 382, 383, 384, 0,
0, 385, 386, 0, 388, 0, 0, 390, 391, 2838,
0, 0, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 0,
411, 412, 413, 414, 415, 0, 416, 417, 0, 419,
0, 420, 421, 422, 423, 424, 425, 0, 426, 427,
0, 0, 428, 429, 430, 0, 0, 431, 432, 433,
0, 435, 0, 437, 438, 439, 440, 441, 442, 443,
444, 445, 446, 0, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
481, 0, 482, 483, 0, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 496, 497, 498, 499,
0, 500, 501, 502, 503, 504, 0, 505, 506, 507,
508, 509, 0, 511, 512, 513, 514, 0, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 0, 528, 529, 2839, 530, 0, 532, 2840, 534,
2841, 536, 0, 537, 538, 539, 0, 0, 540, 541,
542, 543, 544, 0, 545, 546, 547, 548, 549, 550,
551, 0, 0, 552, 553, 2842, 555, 556, 0, 0,
557, 558, 559, 560, 561, 562, 563, 0, 564, 0,
566, 567, 568, 569, 0, 0, 570, 0, 0, 571,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 584, 585, 586, 587, 588, 589, 590, 598,
0, 659, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 228, 229, 230, 231, 232, 233,
234, 235, 0, 236, 237, 238, 0, 0, 0, 0,
0, 0, 0, 239, 240, 0, 241, 242, 243, 0,
245, 246, 247, 248, 249, 0, 251, 252, 0, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 0, 264, 265, 266, 267, 268, 0, 0,
0, 270, 271, 272, 273, 274, 0, 276, 277, 278,
0, 279, 280, 281, 282, 283, 284, 0, 0, 286,
287, 288, 0, 0, 0, 0, 0, 0, 0, 290,
291, 292, 293, 294, 295, 296, 297, 298, 0, 299,
0, 300, 301, 302, 303, 304, 305, 0, 306, 307,
308, 309, 0, 0, 310, 311, 312, 313, 314, 0,
315, 316, 317, 0, 318, 319, 320, 0, 321, 322,
323, 324, 325, 326, 327, 328, 329, 0, 330, 0,
331, 332, 333, 334, 0, 335, 0, 336, 0, 0,
0, 339, 340, 341, 342, 0, 343, 344, 0, 345,
346, 347, 0, 348, 349, 350, 351, 352, 0, 354,
355, 356, 357, 0, 358, 359, 360, 361, 362, 363,
364, 0, 365, 0, 367, 368, 369, 370, 371, 372,
373, 0, 374, 0, 375, 0, 0, 378, 0, 380,
381, 382, 383, 384, 0, 0, 385, 386, 0, 388,
0, 0, 390, 391, 392, 0, 0, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 0, 411, 412, 413, 414, 415,
0, 416, 417, 0, 419, 0, 420, 421, 422, 423,
424, 425, 0, 426, 427, 0, 0, 428, 429, 430,
0, 0, 431, 432, 433, 0, 435, 0, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 447,
448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 0, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 481, 0, 482, 483, 0,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 496, 497, 498, 499, 0, 500, 501, 502, 503,
504, 0, 505, 506, 507, 508, 509, 0, 511, 512,
513, 514, 0, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 0, 528, 529, 0,
530, 0, 532, 533, 534, 535, 536, 0, 537, 538,
539, 0, 0, 540, 541, 542, 543, 544, 0, 545,
546, 547, 548, 549, 550, 551, 0, 0, 552, 553,
554, 555, 556, 0, 0, 557, 558, 559, 560, 561,
562, 563, 0, 564, 0, 566, 567, 568, 569, 0,
0, 570, 0, 0, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
587, 588, 589, 590, 598, 0, 0, 0, 0, 0,
720, 0, 0, 0, 0, 0, 0, 0, 0, 228,
229, 230, 231, 232, 233, 234, 235, 0, 236, 237,
238, 0, 0, 0, 0, 0, 0, 0, 239, 240,
0, 241, 242, 243, 0, 245, 246, 247, 248, 249,
0, 251, 252, 0, 253, 254, 255, 256, 257, 258,
0, 0, 259, 260, 261, 262, 263, 0, 264, 265,
266, 267, 268, 0, 0, 0, 270, 271, 272, 273,
274, 0, 276, 277, 278, 0, 279, 280, 281, 282,
283, 284, 0, 0, 286, 287, 288, 0, 0, 0,
0, 0, 0, 0, 290, 291, 292, 293, 294, 295,
296, 297, 298, 0, 299, 0, 300, 301, 302, 303,
304, 305, 0, 306, 307, 308, 309, 0, 0, 310,
311, 312, 313, 314, 0, 315, 316, 317, 0, 318,
319, 320, 0, 321, 322, 323, 324, 325, 326, 327,
328, 329, 0, 330, 0, 331, 332, 333, 334, 0,
335, 0, 336, 0, 0, 0, 339, 340, 341, 342,
0, 343, 344, 0, 345, 346, 347, 0, 348, 349,
350, 351, 352, 0, 354, 355, 356, 357, 0, 358,
359, 360, 361, 362, 363, 364, 0, 365, 0, 367,
368, 369, 370, 371, 372, 373, 0, 374, 0, 375,
0, 0, 378, 0, 380, 381, 382, 383, 384, 0,
0, 385, 386, 0, 388, 0, 0, 390, 391, 392,
0, 0, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 0,
411, 412, 413, 414, 415, 0, 416, 417, 0, 419,
0, 420, 421, 422, 423, 424, 425, 0, 426, 427,
0, 0, 428, 429, 430, 0, 0, 431, 432, 433,
0, 435, 0, 437, 438, 439, 440, 441, 442, 443,
444, 445, 446, 0, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
481, 0, 482, 483, 0, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 496, 497, 498, 499,
0, 500, 501, 502, 503, 504, 0, 505, 506, 507,
508, 509, 0, 511, 512, 513, 514, 0, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 0, 528, 529, 0, 530, 0, 532, 533, 534,
535, 536, 0, 537, 538, 539, 0, 0, 540, 541,
542, 543, 544, 0, 545, 546, 547, 548, 549, 550,
551, 0, 0, 552, 553, 554, 555, 556, 0, 0,
557, 558, 559, 560, 561, 562, 563, 0, 564, 0,
566, 567, 568, 569, 0, 0, 570, 0, 0, 571,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 584, 585, 586, 587, 588, 589, 590, 598,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 228, 229, 230, 231, 232, 233,
234, 235, 0, 236, 237, 238, 0, 0, 0, 0,
0, 4100, 0, 239, 240, 0, 241, 242, 243, 0,
245, 246, 247, 248, 249, 0, 251, 252, 0, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 0, 264, 265, 266, 267, 268, 0, 0,
0, 270, 271, 272, 273, 274, 0, 276, 277, 278,
0, 279, 280, 281, 282, 283, 284, 0, 0, 286,
287, 288, 0, 0, 0, 0, 0, 0, 0, 290,
291, 292, 293, 294, 295, 296, 297, 298, 0, 299,
0, 300, 301, 302, 303, 304, 305, 0, 306, 307,
308, 309, 0, 0, 310, 311, 312, 313, 314, 0,
315, 316, 317, 0, 318, 319, 320, 0, 321, 322,
323, 324, 325, 326, 327, 328, 329, 0, 330, 0,
331, 332, 333, 334, 0, 335, 0, 336, 0, 0,
0, 339, 340, 341, 342, 0, 343, 344, 0, 345,
346, 347, 0, 348, 349, 350, 351, 352, 0, 354,
355, 356, 357, 0, 358, 359, 360, 361, 362, 363,
364, 0, 365, 0, 367, 368, 369, 370, 371, 372,
373, 0, 374, 0, 375, 0, 0, 378, 0, 380,
381, 382, 383, 384, 0, 0, 385, 386, 0, 388,
0, 0, 390, 391, 392, 0, 0, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 0, 411, 412, 413, 414, 415,
0, 416, 417, 0, 419, 0, 420, 421, 422, 423,
424, 425, 0, 426, 427, 0, 0, 428, 429, 430,
0, 0, 431, 432, 433, 0, 435, 0, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 447,
448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 0, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 481, 0, 482, 483, 0,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 496, 497, 498, 499, 0, 500, 501, 502, 503,
504, 0, 505, 506, 507, 508, 509, 0, 511, 512,
513, 514, 0, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 0, 528, 529, 0,
530, 0, 532, 533, 534, 535, 536, 0, 537, 538,
539, 0, 0, 540, 541, 542, 543, 544, 0, 545,
546, 547, 548, 549, 550, 551, 0, 0, 552, 553,
554, 555, 556, 0, 0, 557, 558, 559, 560, 561,
562, 563, 0, 564, 0, 566, 567, 568, 569, 0,
0, 570, 0, 0, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
587, 588, 589, 590, 598, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 228,
229, 230, 231, 232, 233, 234, 235, 0, 236, 237,
238, 0, 0, 0, 0, 0, 4114, 0, 239, 240,
0, 241, 242, 243, 0, 245, 246, 247, 248, 249,
0, 251, 252, 0, 253, 254, 255, 256, 257, 258,
0, 0, 259, 260, 261, 262, 263, 0, 264, 265,
266, 267, 268, 0, 0, 0, 270, 271, 272, 273,
274, 0, 276, 277, 278, 0, 279, 280, 281, 282,
283, 284, 0, 0, 286, 287, 288, 0, 0, 0,
0, 0, 0, 0, 290, 291, 292, 293, 294, 295,
296, 297, 298, 0, 299, 0, 300, 301, 302, 303,
304, 305, 0, 306, 307, 308, 309, 0, 0, 310,
311, 312, 313, 314, 0, 315, 316, 317, 0, 318,
319, 320, 0, 321, 322, 323, 324, 325, 326, 327,
328, 329, 0, 330, 0, 331, 332, 333, 334, 0,
335, 0, 336, 0, 0, 0, 339, 340, 341, 342,
0, 343, 344, 0, 345, 346, 347, 0, 348, 349,
350, 351, 352, 0, 354, 355, 356, 357, 0, 358,
359, 360, 361, 362, 363, 364, 0, 365, 0, 367,
368, 369, 370, 371, 372, 373, 0, 374, 0, 375,
0, 0, 378, 0, 380, 381, 382, 383, 384, 0,
0, 385, 386, 0, 388, 0, 0, 390, 391, 392,
0, 0, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 0,
411, 412, 413, 414, 415, 0, 416, 417, 0, 419,
0, 420, 421, 422, 423, 424, 425, 0, 426, 427,
0, 0, 428, 429, 430, 0, 0, 431, 432, 433,
0, 435, 0, 437, 438, 439, 440, 441, 442, 443,
444, 445, 446, 0, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
481, 0, 482, 483, 0, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 496, 497, 498, 499,
0, 500, 501, 502, 503, 504, 0, 505, 506, 507,
508, 509, 0, 511, 512, 513, 514, 0, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 0, 528, 529, 0, 530, 0, 532, 533, 534,
535, 536, 0, 537, 538, 539, 0, 0, 540, 541,
542, 543, 544, 0, 545, 546, 547, 548, 549, 550,
551, 0, 0, 552, 553, 554, 555, 556, 0, 0,
557, 558, 559, 560, 561, 562, 563, 0, 564, 0,
566, 567, 568, 569, 0, 0, 570, 0, 0, 571,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 584, 585, 586, 587, 588, 589, 590, 598,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 228, 229, 230, 231, 232, 233,
234, 235, 0, 236, 237, 238, 0, 0, 0, 0,
0, 0, 0, 239, 240, 0, 241, 242, 243, 0,
245, 246, 247, 248, 249, 0, 251, 252, 0, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 0, 264, 265, 266, 267, 268, 0, 0,
0, 270, 271, 272, 273, 274, 0, 276, 277, 278,
0, 279, 280, 281, 282, 283, 284, 0, 0, 286,
287, 288, 0, 0, 0, 0, 0, 0, 0, 290,
291, 292, 293, 294, 295, 296, 297, 298, 0, 299,
0, 300, 301, 302, 303, 304, 305, 0, 306, 307,
308, 309, 0, 0, 310, 311, 312, 313, 314, 0,
315, 316, 317, 0, 318, 319, 320, 0, 321, 322,
323, 324, 325, 326, 327, 328, 329, 0, 330, 0,
331, 332, 333, 334, 0, 335, 0, 336, 0, 0,
0, 339, 340, 341, 342, 0, 343, 344, 0, 345,
346, 347, 0, 348, 349, 350, 351, 352, 0, 354,
355, 356, 357, 0, 358, 359, 360, 361, 362, 363,
364, 0, 365, 0, 367, 368, 369, 370, 371, 372,
373, 0, 374, 0, 375, 0, 0, 378, 0, 380,
381, 382, 383, 384, 0, 0, 385, 386, 0, 388,
0, 0, 390, 391, 392, 0, 0, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 0, 411, 412, 413, 414, 415,
0, 416, 417, 0, 419, 0, 420, 421, 422, 423,
424, 425, 0, 426, 427, 0, 0, 428, 429, 430,
0, 0, 431, 432, 433, 0, 435, 0, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 447,
448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 0, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 481, 0, 482, 483, 0,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 496, 497, 498, 499, 0, 500, 501, 502, 503,
504, 0, 505, 506, 507, 508, 509, 0, 511, 512,
513, 514, 0, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 0, 528, 529, 0,
530, 0, 532, 533, 534, 535, 536, 0, 537, 538,
539, 0, 0, 540, 541, 542, 543, 544, 0, 545,
546, 547, 548, 549, 550, 551, 0, 0, 552, 553,
554, 555, 556, 0, 0, 557, 558, 559, 560, 561,
562, 563, 0, 564, 0, 566, 567, 568, 569, 0,
0, 570, 0, 0, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
587, 588, 589, 590, 598, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 228,
229, 230, 231, 232, 233, 234, 235, 0, 236, 237,
238, 0, 0, 0, 0, 0, 0, 0, 239, 240,
0, 241, 242, 243, 0, 245, 246, 247, 248, 249,
0, 251, 252, 0, 253, 254, 255, 256, 257, 258,
0, 0, 259, 260, 261, 262, 263, 0, 264, 265,
266, 267, 268, 0, 0, 0, 270, 271, 272, 273,
274, 0, 276, 277, 278, 0, 279, 280, 281, 282,
283, 284, 0, 0, 286, 287, 288, 0, 0, 0,
0, 0, 0, 0, 290, 291, 292, 293, 294, 295,
296, 297, 298, 0, 299, 0, 300, 301, 302, 303,
304, 305, 0, 306, 307, 308, 309, 0, 0, 310,
311, 312, 313, 314, 0, 315, 316, 317, 0, 318,
319, 320, 0, 321, 322, 323, 324, 325, 326, 327,
328, 329, 0, 330, 0, 331, 332, 333, 334, 0,
335, 0, 336, 0, 0, 0, 339, 340, 341, 342,
0, 343, 344, 0, 345, 346, 347, 0, 348, 349,
350, 351, 352, 0, 354, 355, 356, 357, 0, 358,
359, 360, 361, 362, 363, 364, 0, 365, 0, 367,
368, 369, 370, 371, 372, 373, 0, 374, 0, 375,
0, 0, 378, 0, 380, 381, 382, 383, 384, 0,
0, 385, 386, 0, 388, 0, 0, 390, 391, 392,
0, 0, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 0,
411, 412, 413, 414, 415, 0, 416, 417, 0, 419,
0, 420, 421, 422, 423, 424, 425, 0, 426, 427,
0, 0, 428, 429, 430, 0, 0, 431, 432, 433,
0, 435, 0, 437, 438, 439, 440, 441, 442, 443,
444, 445, 446, 0, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
481, 0, 482, 483, 0, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 496, 497, 498, 499,
0, 500, 501, 502, 503, 504, 0, 505, 506, 507,
508, 509, 0, 511, 512, 513, 514, 0, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 0, 528, 529, 0, 530, 0, 532, 533, 534,
535, 536, 0, 537, 538, 539, 0, 0, 755, 541,
542, 543, 544, 0, 545, 546, 547, 548, 549, 550,
551, 0, 0, 552, 553, 554, 555, 556, 0, 0,
557, 558, 559, 560, 561, 562, 563, 0, 564, 0,
566, 567, 568, 569, 0, 0, 570, 0, 0, 571,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 584, 585, 586, 587, 588, 589, 590, 598,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 228, 229, 230, 231, 232, 233,
234, 235, 0, 236, 237, 238, 0, 0, 0, 0,
0, 0, 0, 239, 240, 0, 241, 242, 243, 0,
245, 246, 247, 248, 249, 0, 251, 252, 0, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 0, 264, 265, 266, 267, 268, 0, 0,
0, 270, 271, 272, 273, 274, 0, 276, 277, 278,
0, 279, 280, 281, 282, 283, 284, 0, 0, 286,
287, 288, 0, 0, 0, 0, 0, 0, 0, 290,
291, 292, 293, 294, 295, 296, 297, 298, 0, 299,
0, 300, 301, 302, 303, 304, 305, 0, 306, 307,
308, 309, 0, 0, 310, 311, 312, 313, 314, 0,
315, 316, 317, 0, 318, 319, 320, 0, 321, 322,
323, 324, 325, 326, 327, 328, 329, 0, 330, 0,
331, 332, 333, 334, 0, 335, 0, 336, 0, 0,
0, 339, 340, 341, 342, 0, 343, 344, 0, 345,
346, 347, 0, 348, 349, 350, 351, 352, 0, 354,
355, 356, 357, 0, 358, 359, 360, 361, 362, 363,
364, 0, 365, 0, 367, 368, 369, 370, 371, 372,
373, 0, 374, 0, 375, 0, 0, 378, 0, 380,
381, 382, 383, 384, 0, 0, 385, 386, 0, 388,
0, 0, 390, 391, 392, 0, 0, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 0, 411, 412, 413, 414, 415,
0, 416, 417, 0, 419, 0, 420, 421, 422, 423,
424, 425, 0, 426, 427, 0, 0, 428, 429, 430,
0, 0, 431, 432, 433, 0, 435, 0, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 447,
448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 0, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 481, 0, 482, 483, 0,
485, 486, 487, 488, 489, 490, 491, 492, 767, 494,
495, 496, 497, 498, 499, 0, 500, 501, 502, 503,
504, 0, 505, 506, 507, 508, 509, 0, 511, 512,
513, 514, 0, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 0, 528, 529, 0,
530, 0, 532, 533, 534, 535, 536, 0, 537, 538,
539, 0, 0, 540, 541, 542, 543, 544, 0, 545,
546, 547, 548, 549, 550, 551, 0, 0, 552, 553,
554, 555, 556, 0, 0, 557, 558, 559, 560, 561,
562, 563, 0, 564, 0, 566, 567, 568, 569, 0,
0, 570, 0, 0, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
587, 588, 589, 590, 598, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 228,
229, 230, 231, 232, 233, 234, 235, 0, 236, 237,
238, 0, 0, 0, 0, 0, 0, 0, 239, 240,
0, 241, 242, 243, 0, 245, 246, 247, 248, 249,
0, 251, 252, 0, 253, 254, 255, 256, 257, 258,
0, 0, 789, 260, 261, 262, 263, 0, 264, 265,
266, 267, 268, 0, 0, 0, 270, 271, 272, 273,
274, 0, 276, 277, 278, 0, 790, 280, 281, 282,
283, 284, 0, 0, 286, 287, 288, 0, 0, 0,
0, 0, 0, 0, 290, 291, 292, 293, 294, 295,
296, 297, 298, 0, 299, 0, 300, 301, 302, 303,
304, 305, 0, 306, 307, 308, 309, 0, 0, 310,
311, 312, 313, 314, 0, 315, 316, 317, 0, 318,
319, 320, 0, 321, 322, 323, 324, 325, 326, 327,
328, 329, 0, 330, 0, 331, 332, 333, 334, 0,
335, 0, 336, 0, 0, 0, 339, 340, 341, 342,
0, 343, 344, 0, 345, 346, 347, 0, 348, 349,
350, 351, 352, 0, 354, 355, 356, 357, 0, 358,
359, 360, 361, 362, 363, 364, 0, 365, 0, 367,
368, 369, 370, 371, 372, 373, 0, 374, 0, 375,
0, 0, 378, 0, 380, 381, 382, 383, 384, 0,
0, 385, 386, 0, 388, 0, 0, 390, 391, 791,
0, 0, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 792, 409, 0,
411, 412, 413, 414, 415, 0, 416, 417, 0, 419,
0, 420, 421, 422, 423, 424, 425, 0, 426, 427,
0, 0, 428, 429, 430, 0, 0, 431, 432, 433,
0, 435, 0, 437, 438, 439, 440, 441, 442, 443,
444, 445, 446, 0, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
481, 0, 482, 483, 0, 793, 486, 487, 488, 489,
490, 491, 492, 493, 794, 495, 496, 497, 498, 499,
0, 500, 501, 502, 503, 795, 0, 505, 506, 507,
508, 509, 0, 511, 512, 513, 514, 0, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 0, 528, 529, 0, 530, 0, 532, 533, 534,
535, 536, 0, 537, 796, 539, 0, 0, 797, 541,
542, 543, 544, 0, 545, 546, 547, 548, 549, 550,
551, 0, 0, 552, 553, 554, 555, 556, 0, 0,
557, 558, 559, 560, 561, 562, 563, 0, 564, 0,
566, 567, 568, 569, 0, 0, 570, 0, 0, 571,
572, 573, 574, 575, 798, 577, 578, 579, 580, 581,
582, 583, 584, 585, 586, 587, 588, 589, 590, 598,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 228, 229, 230, 231, 232, 233,
234, 235, 0, 236, 237, 238, 0, 0, 0, 0,
0, 0, 0, 239, 240, 0, 241, 242, 243, 0,
245, 246, 247, 248, 249, 0, 251, 252, 0, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 0, 264, 265, 266, 267, 268, 0, 0,
0, 270, 271, 272, 273, 274, 0, 276, 277, 278,
0, 279, 280, 281, 282, 283, 284, 0, 0, 286,
287, 288, 0, 0, 0, 0, 0, 0, 0, 290,
291, 292, 293, 294, 295, 296, 297, 298, 0, 299,
0, 300, 301, 302, 303, 304, 305, 0, 306, 307,
308, 309, 0, 0, 310, 311, 312, 313, 314, 0,
315, 316, 317, 0, 318, 319, 320, 0, 321, 322,
323, 324, 325, 326, 327, 328, 329, 0, 330, 0,
331, 332, 333, 334, 0, 335, 0, 336, 0, 0,
0, 339, 340, 341, 342, 0, 343, 344, 0, 345,
346, 347, 0, 348, 349, 350, 351, 352, 0, 354,
355, 356, 357, 0, 358, 359, 360, 361, 362, 363,
364, 0, 365, 0, 367, 368, 369, 370, 371, 372,
373, 0, 374, 0, 375, 0, 0, 378, 0, 380,
381, 382, 383, 384, 0, 0, 385, 386, 0, 388,
0, 0, 390, 391, 392, 0, 0, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 0, 411, 412, 413, 414, 415,
0, 416, 417, 0, 419, 0, 420, 421, 422, 423,
424, 425, 0, 426, 427, 0, 0, 428, 429, 430,
0, 0, 431, 432, 433, 0, 435, 0, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 447,
448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 820, 469, 0, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 481, 0, 482, 483, 0,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 496, 497, 498, 499, 0, 500, 501, 502, 503,
504, 0, 505, 506, 507, 508, 509, 0, 511, 512,
513, 514, 0, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 0, 528, 529, 0,
530, 0, 532, 533, 534, 535, 536, 0, 537, 538,
539, 0, 0, 540, 541, 542, 543, 544, 0, 545,
546, 547, 548, 549, 550, 551, 0, 0, 552, 553,
554, 555, 556, 0, 0, 557, 558, 559, 560, 561,
562, 563, 0, 564, 0, 566, 567, 568, 569, 0,
0, 570, 0, 0, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
587, 588, 589, 590, 598, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 228,
229, 230, 231, 232, 233, 234, 235, 0, 236, 237,
238, 0, 0, 0, 0, 0, 0, 0, 239, 240,
0, 241, 242, 243, 0, 245, 246, 247, 248, 249,
0, 251, 252, 0, 253, 254, 255, 256, 257, 258,
0, 0, 259, 260, 261, 262, 263, 0, 264, 265,
266, 267, 268, 0, 0, 0, 270, 271, 272, 273,
274, 0, 276, 277, 278, 0, 279, 280, 281, 282,
283, 284, 0, 0, 286, 287, 288, 0, 0, 0,
0, 0, 0, 0, 290, 291, 292, 293, 294, 295,
296, 297, 298, 0, 299, 0, 300, 301, 302, 303,
304, 305, 0, 306, 307, 308, 309, 0, 0, 310,
311, 312, 313, 314, 0, 315, 316, 317, 0, 318,
319, 320, 0, 321, 322, 323, 324, 325, 326, 327,
328, 329, 0, 330, 0, 331, 332, 333, 334, 0,
335, 0, 336, 0, 0, 0, 339, 340, 341, 342,
0, 343, 344, 0, 345, 346, 347, 0, 348, 349,
350, 351, 896, 0, 354, 355, 356, 357, 0, 358,
359, 360, 361, 362, 363, 364, 0, 365, 0, 367,
368, 369, 370, 371, 372, 373, 0, 374, 0, 375,
0, 0, 378, 0, 380, 381, 382, 383, 384, 0,
0, 385, 386, 0, 388, 0, 0, 390, 391, 392,
0, 0, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 0,
411, 412, 413, 414, 415, 0, 416, 417, 0, 419,
0, 420, 421, 422, 423, 424, 425, 0, 426, 427,
0, 0, 428, 429, 430, 0, 0, 431, 432, 433,
0, 435, 0, 437, 438, 439, 440, 441, 442, 443,
444, 445, 446, 0, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
481, 0, 482, 483, 0, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 496, 497, 498, 499,
0, 500, 501, 502, 503, 504, 0, 505, 506, 507,
508, 509, 0, 511, 512, 513, 514, 0, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 0, 528, 529, 0, 530, 0, 532, 533, 534,
535, 536, 0, 537, 538, 539, 0, 0, 540, 541,
542, 543, 544, 0, 545, 546, 547, 548, 549, 550,
551, 0, 0, 552, 553, 554, 555, 556, 0, 0,
557, 558, 559, 560, 561, 562, 563, 0, 564, 0,
566, 567, 568, 569, 0, 0, 570, 0, 0, 571,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 584, 585, 586, 587, 588, 589, 590, 598,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 228, 229, 230, 231, 232, 233,
234, 235, 0, 236, 237, 238, 0, 0, 0, 0,
0, 0, 0, 239, 240, 0, 241, 242, 243, 0,
245, 246, 247, 248, 249, 0, 251, 252, 0, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 0, 264, 265, 266, 267, 268, 0, 0,
0, 270, 271, 272, 273, 274, 0, 276, 277, 278,
0, 279, 280, 281, 282, 283, 284, 0, 0, 286,
287, 288, 0, 0, 0, 0, 0, 0, 0, 290,
291, 292, 293, 294, 295, 296, 297, 298, 0, 299,
0, 300, 301, 302, 303, 304, 305, 0, 306, 307,
308, 309, 0, 0, 310, 311, 312, 313, 314, 0,
315, 316, 317, 0, 318, 319, 320, 0, 321, 322,
323, 324, 325, 326, 327, 328, 329, 0, 330, 0,
331, 332, 333, 334, 0, 335, 0, 336, 0, 0,
0, 339, 340, 341, 342, 0, 343, 344, 0, 345,
346, 347, 0, 348, 349, 350, 351, 906, 0, 354,
355, 356, 357, 0, 358, 359, 360, 361, 362, 363,
364, 0, 365, 0, 367, 368, 369, 370, 371, 372,
373, 0, 374, 0, 375, 0, 0, 378, 0, 380,
381, 382, 383, 384, 0, 0, 385, 386, 0, 388,
0, 0, 390, 391, 392, 0, 0, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 0, 411, 412, 413, 414, 415,
0, 416, 417, 0, 419, 0, 420, 421, 422, 423,
424, 425, 0, 426, 427, 0, 0, 428, 429, 430,
0, 0, 431, 432, 433, 0, 435, 0, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 447,
448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 0, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 481, 0, 482, 483, 0,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 496, 497, 498, 499, 0, 500, 501, 502, 503,
504, 0, 505, 506, 507, 508, 509, 0, 511, 512,
513, 514, 0, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 0, 528, 529, 0,
530, 0, 532, 533, 534, 535, 536, 0, 537, 538,
539, 0, 0, 540, 541, 542, 543, 544, 0, 545,
546, 547, 548, 549, 550, 551, 0, 0, 552, 553,
554, 555, 556, 0, 0, 557, 558, 559, 560, 561,
562, 563, 0, 564, 0, 566, 567, 568, 569, 0,
0, 570, 0, 0, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
587, 588, 589, 590, 598, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 228,
229, 230, 231, 232, 233, 234, 235, 0, 236, 237,
238, 0, 0, 0, 0, 0, 0, 0, 239, 240,
0, 241, 242, 243, 0, 245, 246, 247, 248, 249,
0, 251, 252, 0, 253, 254, 255, 256, 257, 258,
0, 0, 259, 260, 261, 262, 263, 0, 264, 265,
266, 267, 268, 0, 0, 0, 270, 271, 272, 273,
274, 0, 276, 277, 278, 0, 279, 280, 281, 282,
283, 284, 0, 0, 286, 287, 288, 0, 0, 0,
0, 0, 0, 0, 290, 291, 292, 293, 294, 295,
296, 297, 298, 0, 299, 0, 300, 301, 302, 303,
304, 305, 0, 306, 307, 308, 309, 0, 0, 310,
311, 312, 313, 314, 0, 315, 316, 317, 0, 318,
319, 320, 0, 321, 322, 323, 324, 325, 326, 327,
328, 329, 0, 330, 0, 331, 332, 333, 334, 0,
335, 0, 336, 0, 0, 0, 339, 340, 341, 342,
0, 343, 344, 0, 345, 346, 347, 0, 348, 349,
350, 351, 924, 0, 354, 355, 356, 357, 0, 358,
359, 360, 361, 362, 363, 364, 0, 365, 0, 367,
368, 369, 370, 371, 372, 373, 0, 374, 0, 375,
0, 0, 378, 0, 380, 381, 382, 383, 384, 0,
0, 385, 386, 0, 388, 0, 0, 390, 391, 392,
0, 0, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 0,
411, 412, 413, 414, 415, 0, 416, 417, 0, 419,
0, 420, 421, 422, 423, 424, 425, 0, 426, 427,
0, 0, 428, 429, 430, 0, 0, 431, 432, 433,
0, 435, 0, 437, 438, 439, 440, 441, 442, 443,
444, 445, 446, 0, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
481, 0, 482, 483, 0, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 496, 497, 498, 499,
0, 500, 501, 502, 503, 504, 0, 505, 506, 507,
508, 509, 0, 511, 512, 513, 514, 0, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 0, 528, 529, 0, 530, 0, 532, 533, 534,
535, 536, 0, 537, 538, 539, 0, 0, 540, 541,
542, 543, 544, 0, 545, 546, 547, 548, 549, 550,
551, 0, 0, 552, 553, 554, 555, 556, 0, 0,
557, 558, 559, 560, 561, 562, 563, 0, 564, 0,
566, 567, 568, 569, 0, 0, 570, 0, 0, 571,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 584, 585, 586, 587, 588, 589, 590, 598,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 228, 229, 230, 231, 232, 233,
234, 235, 0, 236, 237, 238, 0, 0, 0, 0,
0, 0, 0, 239, 240, 0, 241, 242, 243, 0,
245, 246, 247, 248, 249, 0, 251, 252, 0, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 0, 264, 265, 266, 267, 268, 0, 0,
0, 270, 271, 272, 273, 274, 0, 276, 277, 278,
0, 279, 280, 281, 282, 283, 284, 0, 0, 286,
287, 288, 0, 0, 0, 0, 0, 0, 0, 290,
291, 292, 293, 294, 295, 296, 297, 298, 0, 299,
0, 300, 301, 302, 303, 304, 305, 0, 306, 307,
308, 309, 0, 0, 310, 311, 312, 313, 314, 0,
315, 316, 317, 0, 318, 319, 320, 0, 321, 322,
323, 324, 325, 326, 327, 328, 329, 0, 330, 0,
331, 332, 333, 334, 0, 335, 0, 336, 0, 0,
0, 339, 340, 341, 342, 0, 343, 344, 0, 345,
346, 347, 0, 348, 349, 350, 351, 991, 0, 354,
355, 356, 357, 0, 358, 359, 360, 361, 362, 363,
364, 0, 365, 0, 367, 368, 369, 370, 371, 372,
373, 0, 374, 0, 375, 0, 0, 378, 0, 380,
381, 382, 383, 384, 0, 0, 385, 386, 0, 388,
0, 0, 390, 391, 392, 0, 0, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 0, 411, 412, 413, 414, 415,
0, 416, 417, 0, 419, 0, 420, 421, 422, 423,
424, 425, 0, 426, 427, 0, 0, 428, 429, 430,
0, 0, 431, 432, 433, 0, 435, 0, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 447,
448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 0, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 481, 0, 482, 483, 0,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 496, 497, 498, 499, 0, 500, 501, 502, 503,
504, 0, 505, 506, 507, 508, 509, 0, 511, 512,
513, 514, 0, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 0, 528, 529, 0,
530, 0, 532, 533, 534, 535, 536, 0, 537, 538,
539, 0, 0, 540, 541, 542, 543, 544, 0, 545,
546, 547, 548, 549, 550, 551, 0, 0, 552, 553,
554, 555, 556, 0, 0, 557, 558, 559, 560, 561,
562, 563, 0, 564, 0, 566, 567, 568, 569, 0,
0, 570, 0, 0, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
587, 588, 589, 590, 598, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 228,
229, 230, 231, 232, 233, 234, 235, 0, 236, 237,
238, 0, 0, 0, 0, 0, 0, 0, 239, 240,
0, 241, 242, 243, 0, 245, 246, 247, 248, 249,
0, 251, 252, 0, 253, 254, 255, 256, 257, 258,
0, 0, 259, 260, 261, 262, 263, 0, 264, 265,
266, 267, 268, 0, 0, 0, 270, 271, 272, 273,
274, 0, 276, 277, 278, 0, 279, 280, 281, 282,
283, 284, 0, 0, 286, 287, 288, 0, 0, 0,
0, 0, 0, 0, 290, 291, 292, 293, 294, 295,
296, 297, 298, 0, 299, 0, 300, 301, 302, 303,
304, 305, 0, 306, 307, 308, 309, 0, 0, 310,
311, 312, 313, 314, 0, 315, 316, 317, 0, 318,
319, 320, 0, 321, 322, 323, 324, 325, 326, 327,
328, 329, 0, 330, 0, 331, 332, 333, 334, 0,
335, 0, 336, 0, 0, 0, 339, 340, 341, 342,
0, 343, 344, 0, 345, 346, 347, 0, 348, 349,
350, 351, 997, 0, 354, 355, 356, 357, 0, 358,
359, 360, 361, 362, 363, 364, 0, 365, 0, 367,
368, 369, 370, 371, 372, 373, 0, 374, 0, 375,
0, 0, 378, 0, 380, 381, 382, 383, 384, 0,
0, 385, 386, 0, 388, 0, 0, 390, 391, 392,
0, 0, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 0,
411, 412, 413, 414, 415, 0, 416, 417, 0, 419,
0, 420, 421, 422, 423, 424, 425, 0, 426, 427,
0, 0, 428, 429, 430, 0, 0, 431, 432, 433,
0, 435, 0, 437, 438, 439, 440, 441, 442, 443,
444, 445, 446, 0, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
481, 0, 482, 483, 0, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 496, 497, 498, 499,
0, 500, 501, 502, 503, 504, 0, 505, 506, 507,
508, 509, 0, 511, 512, 513, 514, 0, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 0, 528, 529, 0, 530, 0, 532, 533, 534,
535, 536, 0, 537, 538, 539, 0, 0, 540, 541,
542, 543, 544, 0, 545, 546, 547, 548, 549, 550,
551, 0, 0, 552, 553, 554, 555, 556, 0, 0,
557, 558, 559, 560, 561, 562, 563, 0, 564, 0,
566, 567, 568, 569, 0, 0, 570, 0, 0, 571,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 584, 585, 586, 587, 588, 589, 590, 598,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 228, 229, 230, 231, 232, 233,
234, 235, 0, 236, 237, 238, 0, 0, 0, 0,
0, 0, 0, 239, 240, 0, 241, 242, 243, 0,
245, 246, 247, 248, 249, 0, 251, 252, 0, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 0, 264, 265, 266, 267, 268, 0, 0,
0, 270, 271, 272, 273, 274, 0, 276, 277, 278,
0, 279, 280, 281, 282, 283, 284, 0, 0, 286,
287, 288, 0, 0, 0, 0, 0, 0, 0, 290,
291, 292, 293, 294, 295, 296, 297, 298, 0, 299,
0, 300, 301, 302, 303, 304, 305, 0, 306, 307,
308, 309, 0, 0, 310, 311, 312, 313, 314, 0,
315, 316, 317, 0, 318, 319, 320, 0, 321, 322,
323, 324, 325, 326, 327, 328, 329, 0, 330, 0,
331, 332, 333, 334, 0, 335, 0, 336, 0, 0,
0, 339, 340, 341, 342, 0, 343, 344, 0, 345,
346, 347, 0, 348, 349, 350, 351, 1014, 0, 354,
355, 356, 357, 0, 358, 359, 360, 361, 362, 363,
364, 0, 365, 0, 367, 368, 369, 370, 371, 372,
373, 0, 374, 0, 375, 0, 0, 378, 0, 380,
381, 382, 383, 384, 0, 0, 385, 386, 0, 388,
0, 0, 390, 391, 392, 0, 0, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 0, 411, 412, 413, 414, 415,
0, 416, 417, 0, 419, 0, 420, 421, 422, 423,
424, 425, 0, 426, 427, 0, 0, 428, 429, 430,
0, 0, 431, 432, 433, 0, 435, 0, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 447,
448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 0, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 481, 0, 482, 483, 0,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 496, 497, 498, 499, 0, 500, 501, 502, 503,
504, 0, 505, 506, 507, 508, 509, 0, 511, 512,
513, 514, 0, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 0, 528, 529, 0,
530, 0, 532, 533, 534, 535, 536, 0, 537, 538,
539, 0, 0, 540, 541, 542, 543, 544, 0, 545,
546, 547, 548, 549, 550, 551, 0, 0, 552, 553,
554, 555, 556, 0, 0, 557, 558, 559, 560, 561,
562, 563, 0, 564, 0, 566, 567, 568, 569, 0,
0, 570, 0, 0, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
587, 588, 589, 590, 598, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 228,
229, 230, 231, 232, 233, 234, 235, 0, 236, 237,
238, 0, 0, 0, 0, 0, 0, 0, 239, 240,
0, 241, 242, 243, 0, 245, 246, 247, 248, 249,
0, 251, 252, 0, 253, 254, 255, 256, 257, 258,
0, 0, 259, 260, 261, 262, 263, 0, 264, 265,
266, 267, 268, 0, 0, 0, 270, 271, 272, 273,
274, 0, 276, 277, 278, 0, 279, 280, 281, 282,
283, 284, 0, 0, 286, 287, 288, 0, 0, 0,
0, 0, 0, 0, 290, 291, 292, 293, 294, 295,
296, 297, 298, 0, 299, 0, 300, 301, 302, 303,
304, 305, 0, 306, 307, 308, 309, 0, 0, 310,
311, 312, 313, 314, 0, 315, 316, 317, 0, 318,
319, 320, 0, 321, 322, 323, 324, 325, 326, 327,
328, 329, 0, 330, 0, 331, 332, 333, 334, 0,
335, 0, 336, 0, 0, 0, 339, 340, 341, 342,
0, 343, 344, 0, 345, 346, 347, 0, 348, 349,
350, 351, 1017, 0, 354, 355, 356, 357, 0, 358,
359, 360, 361, 362, 363, 364, 0, 365, 0, 367,
368, 369, 370, 371, 372, 373, 0, 374, 0, 375,
0, 0, 378, 0, 380, 381, 382, 383, 384, 0,
0, 385, 386, 0, 388, 0, 0, 390, 391, 392,
0, 0, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 0,
411, 412, 413, 414, 415, 0, 416, 417, 0, 419,
0, 420, 421, 422, 423, 424, 425, 0, 426, 427,
0, 0, 428, 429, 430, 0, 0, 431, 432, 433,
0, 435, 0, 437, 438, 439, 440, 441, 442, 443,
444, 445, 446, 0, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
481, 0, 482, 483, 0, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 496, 497, 498, 499,
0, 500, 501, 502, 503, 504, 0, 505, 506, 507,
508, 509, 0, 511, 512, 513, 514, 0, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 0, 528, 529, 0, 530, 0, 532, 533, 534,
535, 536, 0, 537, 538, 539, 0, 0, 540, 541,
542, 543, 544, 0, 545, 546, 547, 548, 549, 550,
551, 0, 0, 552, 553, 554, 555, 556, 0, 0,
557, 558, 559, 560, 561, 562, 563, 0, 564, 0,
566, 567, 568, 569, 0, 0, 570, 0, 0, 571,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 584, 585, 586, 587, 588, 589, 590, 598,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 228, 229, 230, 231, 232, 233,
234, 235, 0, 236, 237, 238, 0, 0, 0, 0,
0, 0, 0, 239, 240, 0, 241, 242, 243, 0,
245, 246, 247, 248, 249, 0, 251, 252, 0, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 0, 264, 265, 266, 267, 268, 0, 0,
0, 270, 271, 272, 273, 274, 0, 276, 277, 278,
0, 279, 280, 281, 282, 283, 284, 0, 0, 286,
287, 288, 0, 0, 0, 0, 0, 0, 0, 290,
291, 292, 293, 294, 295, 296, 297, 298, 0, 299,
0, 300, 301, 302, 303, 304, 305, 0, 306, 307,
308, 309, 0, 0, 310, 311, 312, 313, 314, 0,
315, 316, 317, 0, 318, 319, 320, 0, 321, 322,
323, 324, 325, 326, 327, 328, 329, 0, 330, 0,
331, 332, 333, 334, 0, 335, 0, 336, 0, 0,
0, 339, 340, 341, 342, 0, 343, 344, 0, 345,
346, 347, 0, 348, 349, 350, 351, 1019, 0, 354,
355, 356, 357, 0, 358, 359, 360, 361, 362, 363,
364, 0, 365, 0, 367, 368, 369, 370, 371, 372,
373, 0, 374, 0, 375, 0, 0, 378, 0, 380,
381, 382, 383, 384, 0, 0, 385, 386, 0, 388,
0, 0, 390, 391, 392, 0, 0, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 0, 411, 412, 413, 414, 415,
0, 416, 417, 0, 419, 0, 420, 421, 422, 423,
424, 425, 0, 426, 427, 0, 0, 428, 429, 430,
0, 0, 431, 432, 433, 0, 435, 0, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 447,
448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 0, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 481, 0, 482, 483, 0,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 496, 497, 498, 499, 0, 500, 501, 502, 503,
504, 0, 505, 506, 507, 508, 509, 0, 511, 512,
513, 514, 0, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 0, 528, 529, 0,
530, 0, 532, 533, 534, 535, 536, 0, 537, 538,
539, 0, 0, 540, 541, 542, 543, 544, 0, 545,
546, 547, 548, 549, 550, 551, 0, 0, 552, 553,
554, 555, 556, 0, 0, 557, 558, 559, 560, 561,
562, 563, 0, 564, 0, 566, 567, 568, 569, 0,
0, 570, 0, 0, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
587, 588, 589, 590, 598, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 228,
229, 230, 231, 232, 233, 234, 235, 0, 236, 237,
238, 0, 0, 0, 0, 0, 0, 0, 239, 240,
0, 241, 242, 243, 0, 245, 246, 247, 248, 249,
0, 251, 252, 0, 253, 254, 255, 256, 257, 258,
0, 0, 259, 260, 261, 262, 263, 0, 264, 265,
266, 267, 268, 0, 0, 0, 270, 271, 272, 273,
274, 0, 276, 277, 278, 0, 279, 280, 281, 282,
283, 284, 0, 0, 286, 287, 288, 0, 0, 0,
0, 0, 0, 0, 290, 291, 292, 293, 294, 295,
296, 297, 298, 0, 299, 0, 300, 301, 302, 303,
304, 305, 0, 306, 307, 308, 309, 0, 0, 310,
311, 312, 313, 314, 0, 315, 316, 317, 0, 318,
319, 320, 0, 321, 322, 323, 324, 325, 326, 327,
328, 329, 0, 330, 0, 331, 332, 333, 334, 0,
335, 0, 336, 0, 0, 0, 339, 340, 341, 342,
0, 343, 344, 0, 345, 346, 347, 0, 348, 349,
350, 351, 1055, 0, 354, 355, 356, 357, 0, 358,
359, 360, 361, 362, 363, 364, 0, 365, 0, 367,
368, 369, 370, 371, 372, 373, 0, 374, 0, 375,
0, 0, 378, 0, 380, 381, 382, 383, 384, 0,
0, 385, 386, 0, 388, 0, 0, 390, 391, 392,
0, 0, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 0,
411, 412, 413, 414, 415, 0, 416, 417, 0, 419,
0, 420, 421, 422, 423, 424, 425, 0, 426, 427,
0, 0, 428, 429, 430, 0, 0, 431, 432, 433,
0, 435, 0, 437, 438, 439, 440, 441, 442, 443,
444, 445, 446, 0, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
481, 0, 482, 483, 0, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 496, 497, 498, 499,
0, 500, 501, 502, 503, 504, 0, 505, 506, 507,
508, 509, 0, 511, 512, 513, 514, 0, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 0, 528, 529, 0, 530, 0, 532, 533, 534,
535, 536, 0, 537, 538, 539, 0, 0, 540, 541,
542, 543, 544, 0, 545, 546, 547, 548, 549, 550,
551, 0, 0, 552, 553, 554, 555, 556, 0, 0,
557, 558, 559, 560, 561, 562, 563, 0, 564, 0,
566, 567, 568, 569, 0, 0, 570, 0, 0, 571,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 584, 585, 586, 587, 588, 589, 590, 598,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 228, 229, 230, 231, 232, 233,
234, 235, 0, 236, 237, 238, 0, 0, 0, 0,
0, 0, 0, 239, 240, 0, 241, 242, 243, 0,
245, 246, 247, 248, 249, 0, 251, 252, 0, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 0, 264, 265, 266, 267, 268, 0, 0,
0, 270, 271, 272, 273, 274, 0, 276, 277, 278,
0, 279, 280, 281, 282, 283, 284, 0, 0, 286,
287, 288, 0, 0, 0, 0, 0, 0, 0, 290,
291, 292, 293, 294, 295, 296, 297, 298, 0, 299,
0, 300, 301, 302, 303, 304, 305, 0, 306, 307,
308, 309, 0, 0, 310, 311, 312, 313, 314, 0,
315, 316, 317, 0, 318, 319, 320, 0, 321, 322,
323, 324, 325, 326, 327, 328, 329, 0, 330, 0,
331, 332, 333, 334, 0, 335, 0, 336, 0, 0,
0, 339, 340, 341, 342, 0, 343, 344, 0, 345,
346, 347, 0, 348, 349, 350, 351, 1119, 0, 354,
355, 356, 357, 0, 358, 359, 360, 361, 362, 363,
364, 0, 365, 0, 367, 368, 369, 370, 371, 372,
373, 0, 374, 0, 375, 0, 0, 378, 0, 380,
381, 382, 383, 384, 0, 0, 385, 386, 0, 388,
0, 0, 390, 391, 392, 0, 0, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 0, 411, 412, 413, 414, 415,
0, 416, 417, 0, 419, 0, 420, 421, 422, 423,
424, 425, 0, 426, 427, 0, 0, 428, 429, 430,
0, 0, 431, 432, 433, 0, 435, 0, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 447,
448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 0, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 481, 0, 482, 483, 0,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 496, 497, 498, 499, 0, 500, 501, 502, 503,
504, 0, 505, 506, 507, 508, 509, 0, 511, 512,
513, 514, 0, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 0, 528, 529, 0,
530, 0, 532, 533, 534, 535, 536, 0, 537, 538,
539, 0, 0, 540, 541, 542, 543, 544, 0, 545,
546, 547, 548, 549, 550, 551, 0, 0, 552, 553,
554, 555, 556, 0, 0, 557, 558, 559, 560, 561,
562, 563, 0, 564, 0, 566, 567, 568, 569, 0,
0, 570, 0, 0, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
587, 588, 589, 590, 598, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 228,
229, 230, 231, 232, 233, 234, 235, 0, 236, 237,
238, 0, 0, 0, 0, 0, 0, 0, 239, 240,
0, 241, 242, 243, 0, 245, 246, 247, 248, 249,
0, 251, 252, 0, 253, 254, 255, 256, 257, 258,
0, 0, 259, 260, 261, 262, 263, 0, 264, 265,
266, 267, 268, 0, 0, 0, 270, 271, 272, 273,
274, 0, 276, 277, 278, 0, 279, 280, 281, 282,
283, 284, 0, 0, 286, 287, 288, 0, 0, 0,
0, 0, 0, 0, 290, 291, 292, 293, 294, 295,
296, 297, 298, 0, 299, 0, 300, 301, 302, 303,
304, 305, 0, 306, 307, 308, 309, 0, 0, 310,
311, 312, 313, 314, 0, 315, 316, 317, 0, 318,
319, 320, 0, 321, 322, 323, 324, 325, 326, 327,
328, 329, 0, 330, 0, 331, 332, 333, 334, 0,
335, 0, 336, 0, 0, 0, 339, 340, 341, 342,
0, 343, 344, 0, 345, 346, 347, 0, 348, 349,
350, 351, 1121, 0, 354, 355, 356, 357, 0, 358,
359, 360, 361, 362, 363, 364, 0, 365, 0, 367,
368, 369, 370, 371, 372, 373, 0, 374, 0, 375,
0, 0, 378, 0, 380, 381, 382, 383, 384, 0,
0, 385, 386, 0, 388, 0, 0, 390, 391, 392,
0, 0, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 0,
411, 412, 413, 414, 415, 0, 416, 417, 0, 419,
0, 420, 421, 422, 423, 424, 425, 0, 426, 427,
0, 0, 428, 429, 430, 0, 0, 431, 432, 433,
0, 435, 0, 437, 438, 439, 440, 441, 442, 443,
444, 445, 446, 0, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
481, 0, 482, 483, 0, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 496, 497, 498, 499,
0, 500, 501, 502, 503, 504, 0, 505, 506, 507,
508, 509, 0, 511, 512, 513, 514, 0, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 0, 528, 529, 0, 530, 0, 532, 533, 534,
535, 536, 0, 537, 538, 539, 0, 0, 540, 541,
542, 543, 544, 0, 545, 546, 547, 548, 549, 550,
551, 0, 0, 552, 553, 554, 555, 556, 0, 0,
557, 558, 559, 560, 561, 562, 563, 0, 564, 0,
566, 567, 568, 569, 0, 0, 570, 0, 0, 571,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 584, 585, 586, 587, 588, 589, 590, 598,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 228, 229, 230, 231, 232, 233,
234, 235, 0, 236, 237, 238, 0, 0, 0, 0,
0, 0, 0, 239, 240, 0, 241, 242, 243, 0,
245, 246, 247, 248, 249, 0, 251, 252, 0, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 0, 264, 265, 266, 267, 268, 0, 0,
0, 270, 271, 272, 273, 274, 0, 276, 277, 278,
0, 279, 280, 281, 282, 283, 284, 0, 0, 286,
287, 288, 0, 0, 0, 0, 0, 0, 0, 290,
291, 292, 293, 294, 295, 296, 297, 298, 0, 299,
0, 300, 301, 302, 303, 304, 305, 0, 306, 307,
308, 309, 0, 0, 310, 311, 312, 313, 314, 0,
315, 316, 317, 0, 318, 319, 320, 0, 321, 322,
323, 324, 325, 326, 327, 328, 329, 0, 330, 0,
331, 332, 333, 334, 0, 335, 0, 336, 0, 0,
0, 339, 340, 341, 342, 0, 343, 344, 0, 345,
346, 347, 0, 348, 349, 350, 351, 1131, 0, 354,
355, 356, 357, 0, 358, 359, 360, 361, 362, 363,
364, 0, 365, 0, 367, 368, 369, 370, 371, 372,
373, 0, 374, 0, 375, 0, 0, 378, 0, 380,
381, 382, 383, 384, 0, 0, 385, 386, 0, 388,
0, 0, 390, 391, 392, 0, 0, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 0, 411, 412, 413, 414, 415,
0, 416, 417, 0, 419, 0, 420, 421, 422, 423,
424, 425, 0, 426, 427, 0, 0, 428, 429, 430,
0, 0, 431, 432, 433, 0, 435, 0, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 447,
448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 0, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 481, 0, 482, 483, 0,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 496, 497, 498, 499, 0, 500, 501, 502, 503,
504, 0, 505, 506, 507, 508, 509, 0, 511, 512,
513, 514, 0, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 0, 528, 529, 0,
530, 0, 532, 533, 534, 535, 536, 0, 537, 538,
539, 0, 0, 540, 541, 542, 543, 544, 0, 545,
546, 547, 548, 549, 550, 551, 0, 0, 552, 553,
554, 555, 556, 0, 0, 557, 558, 559, 560, 561,
562, 563, 0, 564, 0, 566, 567, 568, 569, 0,
0, 570, 0, 0, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
587, 588, 589, 590, 598, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 228,
229, 230, 231, 232, 233, 234, 235, 0, 236, 237,
238, 0, 0, 0, 0, 0, 0, 0, 239, 240,
0, 241, 242, 243, 0, 245, 246, 247, 248, 249,
0, 251, 252, 0, 253, 254, 255, 256, 257, 258,
0, 0, 259, 260, 261, 262, 263, 0, 264, 265,
266, 267, 268, 0, 0, 0, 270, 271, 272, 273,
274, 0, 276, 277, 278, 0, 279, 280, 281, 282,
283, 284, 0, 0, 286, 287, 288, 0, 0, 0,
0, 0, 0, 0, 290, 291, 292, 293, 294, 295,
296, 297, 298, 0, 299, 0, 300, 301, 302, 303,
304, 305, 0, 306, 307, 308, 309, 0, 0, 310,
311, 312, 313, 314, 0, 315, 316, 317, 0, 318,
319, 320, 0, 321, 322, 323, 324, 325, 326, 327,
328, 329, 0, 330, 0, 331, 332, 333, 334, 0,
335, 0, 336, 0, 0, 0, 339, 340, 341, 342,
0, 343, 344, 0, 345, 346, 347, 0, 348, 349,
350, 351, 1134, 0, 354, 355, 356, 357, 0, 358,
359, 360, 361, 362, 363, 364, 0, 365, 0, 367,
368, 369, 370, 371, 372, 373, 0, 374, 0, 375,
0, 0, 378, 0, 380, 381, 382, 383, 384, 0,
0, 385, 386, 0, 388, 0, 0, 390, 391, 392,
0, 0, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 0,
411, 412, 413, 414, 415, 0, 416, 417, 0, 419,
0, 420, 421, 422, 423, 424, 425, 0, 426, 427,
0, 0, 428, 429, 430, 0, 0, 431, 432, 433,
0, 435, 0, 437, 438, 439, 440, 441, 442, 443,
444, 445, 446, 0, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
481, 0, 482, 483, 0, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 496, 497, 498, 499,
0, 500, 501, 502, 503, 504, 0, 505, 506, 507,
508, 509, 0, 511, 512, 513, 514, 0, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 0, 528, 529, 0, 530, 0, 532, 533, 534,
535, 536, 0, 537, 538, 539, 0, 0, 540, 541,
542, 543, 544, 0, 545, 546, 547, 548, 549, 550,
551, 0, 0, 552, 553, 554, 555, 556, 0, 0,
557, 558, 559, 560, 561, 562, 563, 0, 564, 0,
566, 567, 568, 569, 0, 0, 570, 0, 0, 571,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 584, 585, 586, 587, 588, 589, 590, 598,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 228, 229, 230, 231, 232, 233,
234, 235, 0, 236, 237, 238, 0, 0, 0, 0,
0, 0, 0, 239, 240, 0, 241, 242, 243, 0,
245, 246, 247, 248, 249, 0, 251, 252, 0, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 0, 264, 265, 266, 267, 268, 0, 0,
0, 270, 271, 272, 273, 274, 0, 276, 277, 278,
0, 279, 280, 281, 282, 283, 284, 0, 0, 286,
287, 288, 0, 0, 0, 0, 0, 0, 0, 290,
291, 292, 293, 294, 295, 296, 297, 298, 0, 299,
0, 300, 301, 302, 303, 304, 305, 0, 306, 307,
308, 309, 0, 0, 310, 311, 312, 313, 314, 0,
315, 316, 317, 0, 318, 319, 320, 0, 321, 322,
323, 324, 325, 326, 327, 328, 329, 0, 330, 0,
331, 332, 333, 334, 0, 335, 0, 336, 0, 0,
0, 339, 340, 341, 342, 0, 343, 344, 0, 345,
346, 347, 0, 348, 349, 350, 351, 1137, 0, 354,
355, 356, 357, 0, 358, 359, 360, 361, 362, 363,
364, 0, 365, 0, 367, 368, 369, 370, 371, 372,
373, 0, 374, 0, 375, 0, 0, 378, 0, 380,
381, 382, 383, 384, 0, 0, 385, 386, 0, 388,
0, 0, 390, 391, 392, 0, 0, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 0, 411, 412, 413, 414, 415,
0, 416, 417, 0, 419, 0, 420, 421, 422, 423,
424, 425, 0, 426, 427, 0, 0, 428, 429, 430,
0, 0, 431, 432, 433, 0, 435, 0, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 447,
448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 0, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 481, 0, 482, 483, 0,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 496, 497, 498, 499, 0, 500, 501, 502, 503,
504, 0, 505, 506, 507, 508, 509, 0, 511, 512,
513, 514, 0, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 0, 528, 529, 0,
530, 0, 532, 533, 534, 535, 536, 0, 537, 538,
539, 0, 0, 540, 541, 542, 543, 544, 0, 545,
546, 547, 548, 549, 550, 551, 0, 0, 552, 553,
554, 555, 556, 0, 0, 557, 558, 559, 560, 561,
562, 563, 0, 564, 0, 566, 567, 568, 569, 0,
0, 570, 0, 0, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
587, 588, 589, 590, 598, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 228,
229, 230, 231, 232, 233, 234, 235, 0, 236, 237,
238, 0, 0, 0, 0, 0, 0, 0, 239, 240,
0, 241, 242, 243, 0, 245, 246, 247, 248, 249,
0, 251, 252, 0, 253, 254, 255, 256, 257, 258,
0, 0, 789, 260, 261, 262, 263, 0, 264, 265,
266, 267, 268, 0, 0, 0, 270, 271, 272, 273,
274, 0, 276, 277, 278, 0, 279, 280, 281, 282,
283, 284, 0, 0, 286, 287, 288, 0, 0, 0,
0, 0, 0, 0, 290, 291, 292, 293, 294, 295,
296, 297, 298, 0, 299, 0, 300, 301, 302, 303,
304, 305, 0, 306, 307, 308, 309, 0, 0, 310,
311, 312, 313, 314, 0, 315, 316, 317, 0, 318,
319, 320, 0, 321, 322, 323, 324, 325, 326, 327,
328, 329, 0, 330, 0, 331, 332, 333, 334, 0,
335, 0, 336, 0, 0, 0, 339, 340, 341, 342,
0, 343, 344, 0, 345, 346, 347, 0, 348, 349,
350, 351, 352, 0, 354, 355, 356, 357, 0, 358,
359, 360, 361, 362, 363, 364, 0, 365, 0, 367,
368, 369, 370, 371, 372, 373, 0, 374, 0, 375,
0, 0, 378, 0, 380, 381, 382, 383, 384, 0,
0, 385, 386, 0, 388, 0, 0, 390, 391, 392,
0, 0, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 792, 409, 0,
411, 412, 413, 414, 415, 0, 416, 417, 0, 419,
0, 420, 421, 422, 423, 424, 425, 0, 426, 427,
0, 0, 428, 429, 430, 0, 0, 431, 432, 433,
0, 435, 0, 437, 438, 439, 440, 441, 442, 443,
444, 445, 446, 0, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
481, 0, 482, 483, 0, 793, 486, 487, 488, 489,
490, 491, 492, 493, 794, 495, 496, 497, 498, 499,
0, 500, 501, 502, 503, 1315, 0, 505, 506, 507,
508, 509, 0, 511, 512, 513, 514, 0, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 0, 528, 529, 0, 530, 0, 532, 533, 534,
535, 536, 0, 537, 796, 539, 0, 0, 797, 541,
542, 543, 544, 0, 545, 546, 547, 548, 549, 550,
551, 0, 0, 552, 553, 554, 555, 556, 0, 0,
557, 558, 559, 560, 561, 562, 563, 0, 564, 0,
566, 567, 568, 569, 0, 0, 570, 0, 0, 571,
572, 573, 574, 575, 798, 577, 578, 579, 580, 581,
582, 583, 584, 585, 586, 587, 588, 589, 590, 598,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 228, 229, 230, 231, 232, 233,
234, 235, 0, 236, 237, 238, 0, 0, 0, 0,
0, 0, 0, 239, 240, 0, 241, 242, 243, 0,
245, 246, 247, 248, 249, 0, 251, 252, 0, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 0, 264, 265, 266, 267, 268, 0, 0,
0, 270, 271, 272, 273, 274, 0, 276, 277, 278,
0, 279, 280, 281, 282, 283, 284, 0, 0, 286,
287, 288, 0, 0, 0, 0, 0, 0, 0, 290,
291, 292, 293, 294, 295, 296, 297, 298, 0, 299,
0, 300, 301, 302, 303, 304, 305, 0, 306, 307,
308, 309, 0, 0, 310, 311, 312, 313, 314, 0,
315, 316, 317, 0, 318, 319, 320, 0, 321, 322,
323, 324, 325, 326, 327, 328, 329, 0, 330, 0,
331, 332, 333, 334, 0, 335, 0, 336, 0, 0,
0, 339, 340, 341, 342, 0, 343, 344, 0, 345,
346, 347, 0, 348, 349, 350, 351, 1753, 0, 354,
355, 356, 357, 0, 358, 359, 360, 361, 362, 363,
364, 0, 365, 0, 367, 368, 369, 370, 371, 372,
373, 0, 374, 0, 375, 0, 0, 378, 0, 380,
381, 382, 383, 384, 0, 0, 385, 386, 0, 388,
0, 0, 390, 391, 392, 0, 0, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 0, 411, 412, 413, 414, 415,
0, 416, 417, 0, 419, 0, 420, 421, 422, 423,
424, 425, 0, 426, 427, 0, 0, 428, 429, 430,
0, 0, 431, 432, 433, 0, 435, 0, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 447,
448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 0, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 481, 0, 482, 483, 0,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 496, 497, 498, 499, 0, 500, 501, 502, 503,
504, 0, 505, 506, 507, 508, 509, 0, 511, 512,
513, 514, 0, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 0, 528, 529, 0,
530, 0, 532, 533, 534, 535, 536, 0, 537, 538,
539, 0, 0, 540, 541, 542, 543, 544, 0, 545,
546, 547, 548, 549, 550, 551, 0, 0, 552, 553,
554, 555, 556, 0, 0, 557, 558, 559, 560, 561,
562, 563, 0, 564, 0, 566, 567, 568, 569, 0,
0, 570, 0, 0, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
587, 588, 589, 590, 598, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 228,
229, 230, 231, 232, 233, 234, 235, 0, 236, 237,
238, 0, 0, 0, 0, 0, 0, 0, 239, 240,
0, 241, 242, 243, 0, 245, 246, 247, 248, 249,
0, 251, 252, 0, 253, 254, 255, 256, 257, 258,
0, 0, 259, 260, 261, 262, 263, 0, 264, 265,
266, 267, 268, 0, 0, 0, 270, 271, 272, 273,
274, 0, 276, 277, 278, 0, 279, 280, 281, 282,
283, 284, 0, 0, 286, 287, 288, 0, 0, 0,
0, 0, 0, 0, 290, 291, 292, 293, 294, 295,
296, 297, 298, 0, 299, 0, 300, 301, 302, 303,
304, 305, 0, 306, 307, 308, 309, 0, 0, 310,
311, 312, 313, 314, 0, 315, 316, 317, 0, 318,
319, 320, 0, 321, 322, 323, 324, 325, 326, 327,
328, 329, 0, 330, 0, 331, 332, 333, 334, 0,
335, 0, 336, 0, 0, 0, 339, 340, 341, 342,
0, 343, 344, 0, 345, 346, 347, 0, 348, 349,
350, 351, 1791, 0, 354, 355, 356, 357, 0, 358,
359, 360, 361, 362, 363, 364, 0, 365, 0, 367,
368, 369, 370, 371, 372, 373, 0, 374, 0, 375,
0, 0, 378, 0, 380, 381, 382, 383, 384, 0,
0, 385, 386, 0, 388, 0, 0, 390, 391, 392,
0, 0, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 0,
411, 412, 413, 414, 415, 0, 416, 417, 0, 419,
0, 420, 421, 422, 423, 424, 425, 0, 426, 427,
0, 0, 428, 429, 430, 0, 0, 431, 432, 433,
0, 435, 0, 437, 438, 439, 440, 441, 442, 443,
444, 445, 446, 0, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
481, 0, 482, 483, 0, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 496, 497, 498, 499,
0, 500, 501, 502, 503, 504, 0, 505, 506, 507,
508, 509, 0, 511, 512, 513, 514, 0, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 0, 528, 529, 0, 530, 0, 532, 533, 534,
535, 536, 0, 537, 538, 539, 0, 0, 540, 541,
542, 543, 544, 0, 545, 546, 547, 548, 549, 550,
551, 0, 0, 552, 553, 554, 555, 556, 0, 0,
557, 558, 559, 560, 561, 562, 563, 0, 564, 0,
566, 567, 568, 569, 0, 0, 570, 0, 0, 571,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 584, 585, 586, 587, 588, 589, 590, 598,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 228, 229, 230, 231, 232, 233,
234, 235, 0, 236, 237, 238, 0, 0, 0, 0,
0, 0, 0, 239, 240, 0, 241, 242, 243, 0,
245, 246, 247, 248, 249, 0, 251, 252, 0, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 0, 264, 265, 266, 267, 268, 0, 0,
0, 270, 271, 272, 273, 274, 0, 276, 277, 278,
0, 279, 280, 281, 282, 283, 284, 0, 0, 286,
287, 288, 0, 0, 0, 0, 0, 0, 0, 290,
291, 292, 293, 294, 295, 296, 297, 298, 0, 299,
0, 300, 301, 302, 303, 304, 305, 0, 306, 307,
308, 309, 0, 0, 310, 311, 312, 313, 314, 0,
315, 316, 317, 0, 318, 319, 320, 0, 321, 322,
323, 324, 325, 326, 327, 328, 329, 0, 330, 0,
331, 332, 333, 334, 0, 335, 0, 336, 0, 0,
0, 339, 340, 341, 342, 0, 343, 344, 0, 345,
346, 347, 0, 348, 349, 350, 351, 1793, 0, 354,
355, 356, 357, 0, 358, 359, 360, 361, 362, 363,
364, 0, 365, 0, 367, 368, 369, 370, 371, 372,
373, 0, 374, 0, 375, 0, 0, 378, 0, 380,
381, 382, 383, 384, 0, 0, 385, 386, 0, 388,
0, 0, 390, 391, 392, 0, 0, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 0, 411, 412, 413, 414, 415,
0, 416, 417, 0, 419, 0, 420, 421, 422, 423,
424, 425, 0, 426, 427, 0, 0, 428, 429, 430,
0, 0, 431, 432, 433, 0, 435, 0, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 447,
448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 0, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 481, 0, 482, 483, 0,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 496, 497, 498, 499, 0, 500, 501, 502, 503,
504, 0, 505, 506, 507, 508, 509, 0, 511, 512,
513, 514, 0, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 0, 528, 529, 0,
530, 0, 532, 533, 534, 535, 536, 0, 537, 538,
539, 0, 0, 540, 541, 542, 543, 544, 0, 545,
546, 547, 548, 549, 550, 551, 0, 0, 552, 553,
554, 555, 556, 0, 0, 557, 558, 559, 560, 561,
562, 563, 0, 564, 0, 566, 567, 568, 569, 0,
0, 570, 0, 0, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
587, 588, 589, 590, 598, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 228,
229, 230, 231, 232, 233, 234, 235, 0, 236, 237,
238, 0, 0, 0, 0, 0, 0, 0, 239, 240,
0, 241, 242, 243, 0, 245, 246, 247, 248, 249,
0, 251, 252, 0, 253, 254, 255, 256, 257, 258,
0, 0, 259, 260, 261, 262, 263, 0, 264, 265,
266, 267, 268, 0, 0, 0, 270, 271, 272, 273,
274, 0, 276, 277, 278, 0, 279, 280, 281, 282,
283, 284, 0, 0, 286, 287, 288, 0, 0, 0,
0, 0, 0, 0, 290, 291, 292, 293, 294, 295,
296, 297, 298, 0, 299, 0, 300, 301, 302, 303,
304, 305, 0, 306, 307, 308, 309, 0, 0, 310,
311, 312, 313, 314, 0, 315, 316, 317, 0, 318,
319, 320, 0, 321, 322, 323, 324, 325, 326, 327,
328, 329, 0, 330, 0, 331, 332, 333, 334, 0,
335, 0, 336, 0, 0, 0, 339, 340, 341, 342,
0, 343, 344, 0, 345, 346, 347, 0, 348, 349,
350, 351, 1864, 0, 354, 355, 356, 357, 0, 358,
359, 360, 361, 362, 363, 364, 0, 365, 0, 367,
368, 369, 370, 371, 372, 373, 0, 374, 0, 375,
0, 0, 378, 0, 380, 381, 382, 383, 384, 0,
0, 385, 386, 0, 388, 0, 0, 390, 391, 392,
0, 0, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 0,
411, 412, 413, 414, 415, 0, 416, 417, 0, 419,
0, 420, 421, 422, 423, 424, 425, 0, 426, 427,
0, 0, 428, 429, 430, 0, 0, 431, 432, 433,
0, 435, 0, 437, 438, 439, 440, 441, 442, 443,
444, 445, 446, 0, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
481, 0, 482, 483, 0, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 496, 497, 498, 499,
0, 500, 501, 502, 503, 504, 0, 505, 506, 507,
508, 509, 0, 511, 512, 513, 514, 0, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 0, 528, 529, 0, 530, 0, 532, 533, 534,
535, 536, 0, 537, 538, 539, 0, 0, 540, 541,
542, 543, 544, 0, 545, 546, 547, 548, 549, 550,
551, 0, 0, 552, 553, 554, 555, 556, 0, 0,
557, 558, 559, 560, 561, 562, 563, 0, 564, 0,
566, 567, 568, 569, 0, 0, 570, 0, 0, 571,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 584, 585, 586, 587, 588, 589, 590, 598,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 228, 229, 230, 231, 232, 233,
234, 235, 0, 236, 237, 238, 0, 0, 0, 0,
0, 0, 0, 239, 240, 0, 241, 242, 243, 0,
245, 246, 247, 248, 249, 0, 251, 252, 0, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 0, 264, 265, 266, 267, 268, 0, 0,
0, 270, 271, 272, 273, 274, 0, 276, 277, 278,
0, 279, 280, 281, 282, 283, 284, 0, 0, 286,
287, 288, 0, 0, 0, 0, 0, 0, 0, 290,
291, 292, 293, 294, 295, 296, 297, 298, 0, 299,
0, 300, 301, 302, 303, 304, 305, 0, 306, 307,
308, 309, 0, 0, 310, 311, 312, 313, 314, 0,
315, 316, 317, 0, 318, 319, 320, 0, 321, 322,
323, 324, 325, 326, 327, 328, 329, 0, 330, 0,
331, 332, 333, 334, 0, 335, 0, 336, 0, 0,
0, 339, 340, 341, 342, 0, 343, 344, 0, 345,
346, 347, 0, 348, 349, 350, 351, 1866, 0, 354,
355, 356, 357, 0, 358, 359, 360, 361, 362, 363,
364, 0, 365, 0, 367, 368, 369, 370, 371, 372,
373, 0, 374, 0, 375, 0, 0, 378, 0, 380,
381, 382, 383, 384, 0, 0, 385, 386, 0, 388,
0, 0, 390, 391, 392, 0, 0, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 0, 411, 412, 413, 414, 415,
0, 416, 417, 0, 419, 0, 420, 421, 422, 423,
424, 425, 0, 426, 427, 0, 0, 428, 429, 430,
0, 0, 431, 432, 433, 0, 435, 0, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 447,
448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 0, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 481, 0, 482, 483, 0,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 496, 497, 498, 499, 0, 500, 501, 502, 503,
504, 0, 505, 506, 507, 508, 509, 0, 511, 512,
513, 514, 0, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 0, 528, 529, 0,
530, 0, 532, 533, 534, 535, 536, 0, 537, 538,
539, 0, 0, 540, 541, 542, 543, 544, 0, 545,
546, 547, 548, 549, 550, 551, 0, 0, 552, 553,
554, 555, 556, 0, 0, 557, 558, 559, 560, 561,
562, 563, 0, 564, 0, 566, 567, 568, 569, 0,
0, 570, 0, 0, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
587, 588, 589, 590, 598, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 228,
229, 230, 231, 232, 233, 234, 235, 0, 236, 237,
238, 0, 0, 0, 0, 0, 0, 0, 239, 240,
0, 241, 242, 243, 0, 245, 246, 247, 248, 249,
0, 251, 252, 0, 253, 254, 255, 256, 257, 258,
0, 0, 259, 260, 261, 262, 263, 0, 264, 265,
266, 267, 268, 0, 0, 0, 270, 271, 272, 273,
274, 0, 276, 277, 278, 0, 279, 280, 281, 282,
283, 284, 0, 0, 286, 287, 288, 0, 0, 0,
0, 0, 0, 0, 290, 291, 292, 293, 294, 295,
296, 297, 298, 0, 299, 0, 300, 301, 302, 303,
304, 305, 0, 306, 307, 308, 309, 0, 0, 310,
311, 312, 313, 314, 0, 315, 316, 317, 0, 318,
319, 320, 0, 321, 322, 323, 324, 325, 326, 327,
328, 329, 0, 330, 0, 331, 332, 333, 334, 0,
335, 0, 336, 0, 0, 0, 339, 340, 341, 342,
0, 343, 344, 0, 345, 346, 347, 0, 348, 349,
350, 351, 1868, 0, 354, 355, 356, 357, 0, 358,
359, 360, 361, 362, 363, 364, 0, 365, 0, 367,
368, 369, 370, 371, 372, 373, 0, 374, 0, 375,
0, 0, 378, 0, 380, 381, 382, 383, 384, 0,
0, 385, 386, 0, 388, 0, 0, 390, 391, 392,
0, 0, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 0,
411, 412, 413, 414, 415, 0, 416, 417, 0, 419,
0, 420, 421, 422, 423, 424, 425, 0, 426, 427,
0, 0, 428, 429, 430, 0, 0, 431, 432, 433,
0, 435, 0, 437, 438, 439, 440, 441, 442, 443,
444, 445, 446, 0, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
481, 0, 482, 483, 0, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 496, 497, 498, 499,
0, 500, 501, 502, 503, 504, 0, 505, 506, 507,
508, 509, 0, 511, 512, 513, 514, 0, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 0, 528, 529, 0, 530, 0, 532, 533, 534,
535, 536, 0, 537, 538, 539, 0, 0, 540, 541,
542, 543, 544, 0, 545, 546, 547, 548, 549, 550,
551, 0, 0, 552, 553, 554, 555, 556, 0, 0,
557, 558, 559, 560, 561, 562, 563, 0, 564, 0,
566, 567, 568, 569, 0, 0, 570, 0, 0, 571,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 584, 585, 586, 587, 588, 589, 590, 598,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 228, 229, 230, 231, 232, 233,
234, 235, 0, 236, 237, 238, 0, 0, 0, 0,
0, 0, 0, 239, 240, 0, 241, 242, 243, 0,
245, 246, 247, 248, 249, 0, 251, 252, 0, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 0, 264, 265, 266, 267, 268, 0, 0,
0, 270, 271, 272, 273, 274, 0, 276, 277, 278,
0, 279, 280, 281, 282, 283, 284, 0, 0, 286,
287, 288, 0, 0, 0, 0, 0, 0, 0, 290,
291, 292, 293, 294, 295, 296, 297, 298, 0, 299,
0, 300, 301, 302, 303, 304, 305, 0, 306, 307,
308, 309, 0, 0, 310, 311, 312, 313, 314, 0,
315, 316, 317, 0, 318, 319, 320, 0, 321, 322,
323, 324, 325, 326, 327, 328, 329, 0, 330, 0,
331, 332, 333, 334, 0, 335, 0, 336, 0, 0,
0, 339, 340, 341, 342, 0, 343, 344, 0, 345,
346, 347, 0, 348, 349, 350, 351, 352, 0, 354,
355, 356, 357, 0, 358, 359, 360, 361, 362, 363,
364, 0, 365, 0, 367, 368, 369, 370, 371, 372,
373, 0, 374, 0, 375, 0, 0, 378, 0, 380,
381, 382, 383, 384, 0, 0, 385, 386, 0, 388,
0, 0, 390, 391, 392, 0, 0, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 0, 411, 412, 413, 414, 415,
0, 416, 417, 0, 419, 0, 420, 421, 422, 423,
424, 425, 0, 426, 427, 0, 0, 428, 429, 430,
0, 0, 431, 432, 433, 0, 435, 0, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 447,
448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 0, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 481, 0, 482, 483, 0,
485, 486, 487, 488, 489, 490, 491, 492, 1969, 494,
495, 496, 497, 498, 499, 0, 500, 501, 502, 503,
504, 0, 505, 506, 507, 508, 509, 0, 511, 512,
513, 514, 0, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 0, 528, 529, 0,
530, 0, 532, 533, 534, 535, 536, 0, 537, 538,
539, 0, 0, 540, 541, 542, 543, 544, 0, 545,
546, 547, 548, 549, 550, 551, 0, 0, 552, 553,
554, 555, 556, 0, 0, 557, 558, 559, 560, 561,
562, 563, 0, 564, 0, 566, 567, 568, 569, 0,
0, 570, 0, 0, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
587, 588, 589, 590, 598, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 228,
229, 230, 231, 232, 233, 234, 235, 0, 236, 237,
238, 0, 0, 0, 0, 0, 2146, 0, 239, 240,
0, 241, 242, 243, 0, 245, 246, 247, 248, 249,
0, 251, 252, 0, 253, 254, 255, 256, 257, 258,
0, 0, 259, 260, 261, 262, 263, 0, 264, 265,
266, 267, 268, 0, 0, 0, 270, 271, 272, 273,
274, 0, 276, 277, 278, 0, 279, 280, 281, 282,
283, 284, 0, 0, 286, 287, 288, 0, 0, 0,
0, 0, 0, 0, 290, 291, 292, 293, 294, 295,
296, 297, 298, 0, 299, 0, 300, 301, 302, 303,
304, 305, 0, 306, 307, 308, 309, 0, 0, 310,
311, 312, 313, 314, 0, 315, 316, 317, 0, 318,
319, 320, 0, 321, 322, 323, 324, 325, 326, 327,
328, 329, 0, 330, 0, 331, 332, 333, 334, 0,
335, 0, 336, 0, 0, 0, 339, 340, 341, 342,
0, 343, 344, 0, 345, 346, 347, 0, 348, 349,
350, 351, 352, 0, 354, 355, 356, 357, 0, 358,
359, 360, 361, 362, 363, 364, 0, 365, 0, 367,
368, 369, 370, 371, 372, 373, 0, 374, 0, 375,
0, 0, 378, 0, 380, 381, 382, 383, 384, 0,
0, 385, 386, 0, 388, 0, 0, 390, 391, 392,
0, 0, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 0,
411, 412, 413, 414, 415, 0, 416, 417, 0, 419,
0, 420, 421, 422, 423, 424, 425, 0, 426, 427,
0, 0, 428, 429, 430, 0, 0, 431, 432, 433,
0, 435, 0, 437, 438, 439, 440, 441, 442, 443,
444, 445, 446, 0, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
481, 0, 482, 483, 0, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 496, 497, 498, 499,
0, 500, 501, 502, 503, 504, 0, 0, 506, 507,
508, 509, 0, 511, 512, 513, 514, 0, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 0, 528, 529, 0, 530, 0, 532, 533, 534,
535, 536, 0, 537, 538, 539, 0, 0, 540, 541,
542, 543, 544, 0, 545, 546, 547, 548, 549, 550,
551, 0, 0, 552, 553, 554, 555, 556, 0, 0,
557, 558, 559, 560, 561, 562, 563, 0, 564, 0,
566, 567, 568, 569, 0, 0, 570, 0, 0, 571,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 584, 585, 586, 587, 588, 589, 590, 598,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 228, 229, 230, 231, 232, 233,
234, 235, 0, 236, 237, 238, 0, 0, 0, 0,
0, 0, 0, 239, 240, 0, 241, 242, 243, 0,
245, 246, 247, 248, 249, 0, 251, 252, 0, 253,
254, 255, 256, 257, 258, 0, 0, 789, 260, 261,
262, 263, 0, 264, 265, 266, 267, 268, 0, 0,
0, 270, 271, 272, 273, 274, 0, 276, 277, 278,
0, 279, 280, 281, 282, 283, 284, 0, 0, 286,
287, 288, 0, 0, 0, 0, 0, 0, 0, 290,
291, 292, 293, 294, 295, 296, 297, 298, 0, 299,
0, 300, 301, 302, 303, 304, 305, 0, 306, 307,
308, 309, 0, 0, 310, 311, 312, 313, 314, 0,
315, 316, 317, 0, 318, 319, 320, 0, 321, 322,
323, 324, 325, 326, 327, 328, 329, 0, 330, 0,
331, 332, 333, 334, 0, 335, 0, 336, 0, 0,
0, 339, 340, 341, 342, 0, 343, 344, 0, 345,
346, 347, 0, 348, 349, 350, 351, 352, 0, 354,
355, 356, 357, 0, 358, 359, 360, 361, 362, 363,
364, 0, 365, 0, 367, 368, 369, 370, 371, 372,
373, 0, 374, 0, 375, 0, 0, 378, 0, 380,
381, 382, 383, 384, 0, 0, 385, 386, 0, 388,
0, 0, 390, 391, 392, 0, 0, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 792, 409, 0, 411, 412, 413, 414, 415,
0, 416, 417, 0, 419, 0, 420, 421, 422, 423,
424, 425, 0, 426, 427, 0, 0, 428, 429, 430,
0, 0, 431, 432, 433, 0, 435, 0, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 447,
448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 0, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 481, 0, 482, 483, 0,
793, 486, 487, 488, 489, 490, 491, 492, 493, 794,
495, 496, 497, 498, 499, 0, 500, 501, 502, 503,
1315, 0, 505, 506, 507, 508, 509, 0, 511, 512,
513, 514, 0, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 0, 528, 529, 0,
530, 0, 2180, 533, 534, 535, 536, 0, 537, 796,
539, 0, 0, 797, 541, 542, 543, 544, 0, 545,
546, 547, 548, 549, 550, 551, 0, 0, 552, 553,
554, 555, 556, 0, 0, 557, 558, 559, 560, 561,
562, 563, 0, 564, 0, 566, 567, 568, 569, 0,
0, 570, 0, 0, 571, 572, 573, 574, 575, 798,
577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
587, 588, 589, 590, 598, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 228,
229, 230, 231, 232, 233, 234, 235, 0, 236, 237,
238, 0, 0, 0, 0, 0, 0, 0, 239, 240,
0, 241, 242, 243, 0, 245, 246, 247, 248, 249,
0, 251, 252, 0, 253, 254, 255, 256, 257, 258,
0, 0, 789, 260, 261, 262, 263, 0, 264, 265,
266, 267, 268, 0, 0, 0, 270, 271, 272, 273,
274, 0, 276, 277, 278, 0, 279, 280, 281, 282,
283, 284, 0, 0, 286, 287, 288, 0, 0, 0,
0, 0, 0, 0, 290, 291, 292, 293, 294, 295,
296, 297, 298, 0, 299, 0, 300, 301, 302, 303,
304, 305, 0, 306, 307, 308, 309, 0, 0, 310,
311, 312, 313, 314, 0, 315, 316, 317, 0, 318,
319, 320, 0, 321, 322, 323, 324, 325, 326, 327,
328, 329, 0, 330, 0, 331, 332, 333, 334, 0,
335, 0, 336, 0, 0, 0, 339, 340, 341, 342,
0, 343, 344, 0, 345, 346, 347, 0, 348, 349,
350, 351, 352, 0, 354, 355, 356, 357, 0, 358,
359, 360, 361, 362, 363, 364, 0, 365, 0, 367,
368, 369, 370, 371, 372, 373, 0, 374, 0, 375,
0, 0, 378, 0, 380, 381, 382, 383, 384, 0,
0, 385, 386, 0, 388, 0, 0, 390, 391, 392,
0, 0, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 792, 409, 0,
411, 412, 413, 414, 415, 0, 416, 417, 0, 419,
0, 420, 421, 422, 423, 424, 425, 0, 426, 427,
0, 0, 428, 429, 430, 0, 0, 431, 432, 433,
0, 435, 0, 437, 438, 439, 440, 441, 442, 443,
444, 445, 446, 0, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
481, 0, 482, 483, 0, 793, 486, 487, 488, 489,
490, 491, 492, 493, 2257, 495, 496, 497, 498, 499,
0, 500, 501, 502, 503, 2258, 0, 505, 506, 507,
508, 509, 0, 511, 512, 513, 514, 0, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 0, 528, 529, 0, 530, 0, 532, 533, 534,
535, 536, 0, 537, 796, 539, 0, 0, 2259, 541,
542, 543, 544, 0, 545, 546, 547, 548, 549, 550,
551, 0, 0, 552, 553, 554, 555, 556, 0, 0,
557, 558, 559, 560, 561, 562, 563, 0, 564, 0,
566, 567, 568, 569, 0, 0, 570, 0, 0, 571,
572, 573, 574, 575, 798, 577, 578, 579, 580, 581,
582, 583, 584, 585, 586, 587, 588, 589, 590, 598,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 228, 229, 230, 231, 232, 233,
234, 235, 0, 236, 237, 238, 0, 0, 0, 0,
0, 0, 0, 239, 240, 0, 241, 242, 243, 0,
245, 246, 247, 248, 249, 0, 251, 252, 0, 253,
254, 255, 256, 257, 258, 0, 0, 789, 260, 261,
262, 263, 0, 264, 265, 266, 267, 268, 0, 0,
0, 270, 271, 272, 273, 274, 0, 276, 277, 278,
0, 279, 280, 281, 282, 283, 284, 0, 0, 286,
287, 288, 0, 0, 0, 0, 0, 0, 0, 290,
291, 292, 293, 294, 295, 296, 297, 298, 0, 299,
0, 300, 301, 302, 303, 304, 305, 0, 306, 307,
308, 309, 0, 0, 310, 311, 312, 313, 314, 0,
315, 316, 317, 0, 318, 319, 320, 0, 321, 322,
323, 324, 325, 326, 327, 328, 329, 0, 330, 0,
331, 332, 333, 334, 0, 335, 0, 336, 0, 0,
0, 339, 340, 341, 342, 0, 343, 344, 0, 345,
346, 347, 0, 348, 349, 350, 351, 352, 0, 354,
355, 356, 357, 0, 358, 359, 360, 361, 362, 363,
364, 0, 365, 0, 367, 368, 369, 370, 371, 372,
373, 0, 374, 0, 375, 0, 0, 378, 0, 380,
381, 382, 383, 384, 0, 0, 385, 386, 0, 388,
0, 0, 390, 391, 392, 0, 0, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 792, 409, 0, 411, 412, 413, 414, 415,
0, 416, 417, 0, 419, 0, 420, 421, 422, 423,
424, 425, 0, 426, 427, 0, 0, 428, 429, 430,
0, 0, 431, 432, 433, 0, 435, 0, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 447,
448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 0, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 481, 0, 482, 483, 0,
793, 486, 487, 488, 489, 490, 491, 492, 493, 2336,
495, 496, 497, 498, 499, 0, 500, 501, 502, 503,
2258, 0, 505, 506, 507, 508, 509, 0, 511, 512,
513, 514, 0, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 0, 528, 529, 0,
530, 0, 532, 533, 534, 535, 536, 0, 537, 796,
539, 0, 0, 2259, 541, 542, 543, 544, 0, 545,
546, 547, 548, 549, 550, 551, 0, 0, 552, 553,
554, 555, 556, 0, 0, 557, 558, 559, 560, 561,
562, 563, 0, 564, 0, 566, 567, 568, 569, 0,
0, 570, 0, 0, 571, 572, 573, 574, 575, 798,
577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
587, 588, 589, 590, 598, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 228,
229, 230, 231, 232, 233, 234, 235, 0, 236, 237,
238, 0, 0, 0, 0, 0, 0, 0, 239, 240,
0, 241, 242, 243, 0, 245, 246, 247, 248, 249,
0, 251, 252, 0, 253, 254, 255, 256, 257, 258,
0, 0, 789, 260, 261, 262, 263, 0, 264, 265,
266, 267, 268, 0, 0, 0, 270, 271, 272, 273,
274, 0, 276, 277, 278, 0, 279, 280, 281, 282,
283, 284, 0, 0, 286, 287, 288, 0, 0, 0,
0, 0, 0, 0, 290, 291, 292, 293, 294, 295,
296, 297, 298, 0, 299, 0, 300, 301, 302, 303,
304, 305, 0, 306, 307, 308, 309, 0, 0, 310,
311, 312, 313, 314, 0, 315, 316, 317, 0, 318,
319, 320, 0, 321, 322, 323, 324, 325, 326, 327,
328, 329, 0, 330, 0, 331, 332, 333, 334, 0,
335, 0, 336, 0, 0, 0, 339, 340, 341, 342,
0, 343, 344, 0, 345, 346, 347, 0, 348, 349,
350, 351, 352, 0, 354, 355, 356, 357, 0, 358,
359, 360, 361, 362, 363, 364, 0, 365, 0, 367,
368, 369, 370, 371, 372, 373, 0, 374, 0, 375,
0, 0, 378, 0, 380, 381, 382, 383, 384, 0,
0, 385, 386, 0, 388, 0, 0, 390, 391, 392,
0, 0, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 792, 409, 0,
411, 412, 413, 414, 415, 0, 416, 417, 0, 419,
0, 420, 421, 422, 423, 424, 425, 0, 426, 427,
0, 0, 428, 429, 430, 0, 0, 431, 432, 433,
0, 435, 0, 437, 438, 439, 440, 441, 442, 443,
444, 445, 446, 0, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
481, 0, 482, 483, 0, 793, 486, 487, 488, 489,
490, 491, 492, 493, 2353, 495, 496, 497, 498, 499,
0, 500, 501, 502, 503, 2258, 0, 505, 506, 507,
508, 509, 0, 511, 512, 513, 514, 0, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 0, 528, 529, 0, 530, 0, 532, 533, 534,
535, 536, 0, 537, 796, 539, 0, 0, 2259, 541,
542, 543, 544, 0, 545, 546, 547, 548, 549, 550,
551, 0, 0, 552, 553, 554, 555, 556, 0, 0,
557, 558, 559, 560, 561, 562, 563, 0, 564, 0,
566, 567, 568, 569, 0, 0, 570, 0, 0, 571,
572, 573, 574, 575, 798, 577, 578, 579, 580, 581,
582, 583, 584, 585, 586, 587, 588, 589, 590, 598,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 228, 229, 230, 231, 232, 233,
234, 235, 0, 236, 237, 238, 0, 0, 0, 0,
0, 0, 0, 239, 240, 0, 241, 242, 243, 0,
245, 246, 247, 248, 249, 0, 251, 252, 0, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 0, 264, 265, 266, 267, 268, 0, 0,
0, 270, 271, 272, 273, 274, 0, 276, 277, 278,
0, 279, 280, 281, 282, 283, 284, 0, 0, 286,
287, 288, 0, 0, 0, 0, 0, 0, 0, 290,
291, 292, 293, 294, 295, 296, 297, 298, 0, 299,
0, 300, 301, 302, 303, 304, 305, 0, 306, 307,
308, 309, 0, 0, 310, 311, 312, 313, 314, 0,
315, 316, 317, 0, 318, 319, 320, 0, 321, 322,
323, 324, 325, 326, 327, 328, 329, 0, 330, 0,
331, 332, 333, 334, 0, 335, 0, 336, 0, 0,
0, 339, 340, 341, 342, 0, 343, 344, 0, 345,
346, 347, 0, 348, 349, 350, 351, 2555, 0, 354,
355, 356, 357, 0, 358, 359, 360, 361, 362, 363,
364, 0, 365, 0, 367, 368, 369, 370, 371, 372,
373, 0, 374, 0, 375, 0, 0, 378, 0, 380,
381, 382, 383, 384, 0, 0, 385, 386, 0, 388,
0, 0, 390, 391, 392, 0, 0, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 0, 411, 412, 413, 414, 415,
0, 416, 417, 0, 419, 0, 420, 421, 422, 423,
424, 425, 0, 426, 427, 0, 0, 428, 429, 430,
0, 0, 431, 432, 433, 0, 435, 0, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 447,
448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 0, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 481, 0, 482, 483, 0,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 496, 497, 498, 499, 0, 500, 501, 502, 503,
504, 0, 505, 506, 507, 508, 509, 0, 511, 512,
513, 514, 0, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 0, 528, 529, 0,
530, 0, 532, 533, 534, 535, 536, 0, 537, 538,
539, 0, 0, 540, 541, 542, 543, 544, 0, 545,
546, 547, 548, 549, 550, 551, 0, 0, 552, 553,
554, 555, 556, 0, 0, 557, 558, 559, 560, 561,
562, 563, 0, 564, 0, 566, 567, 568, 569, 0,
0, 570, 0, 0, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
587, 588, 589, 590, 598, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 228,
229, 230, 231, 232, 233, 234, 235, 0, 236, 237,
238, 0, 0, 0, 0, 0, 0, 0, 239, 240,
0, 241, 242, 243, 0, 245, 246, 247, 248, 249,
0, 251, 252, 0, 253, 254, 255, 256, 257, 258,
0, 0, 259, 260, 261, 262, 263, 0, 264, 265,
266, 267, 268, 0, 0, 0, 270, 271, 272, 273,
274, 0, 276, 277, 278, 0, 279, 280, 281, 282,
283, 284, 0, 0, 286, 287, 288, 0, 0, 0,
0, 0, 0, 0, 290, 291, 292, 293, 294, 295,
296, 297, 298, 0, 299, 0, 300, 301, 302, 303,
304, 305, 0, 306, 307, 308, 309, 0, 0, 310,
311, 312, 313, 314, 0, 315, 316, 317, 0, 318,
319, 320, 0, 321, 322, 323, 324, 325, 326, 327,
328, 329, 0, 330, 0, 331, 332, 333, 334, 0,
335, 0, 336, 0, 0, 0, 339, 340, 341, 342,
0, 343, 344, 0, 345, 346, 347, 0, 348, 349,
350, 351, 2559, 0, 354, 355, 356, 357, 0, 358,
359, 360, 361, 362, 363, 364, 0, 365, 0, 367,
368, 369, 370, 371, 372, 373, 0, 374, 0, 375,
0, 0, 378, 0, 380, 381, 382, 383, 384, 0,
0, 385, 386, 0, 388, 0, 0, 390, 391, 392,
0, 0, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 0,
411, 412, 413, 414, 415, 0, 416, 417, 0, 419,
0, 420, 421, 422, 423, 424, 425, 0, 426, 427,
0, 0, 428, 429, 430, 0, 0, 431, 432, 433,
0, 435, 0, 437, 438, 439, 440, 441, 442, 443,
444, 445, 446, 0, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
481, 0, 482, 483, 0, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 496, 497, 498, 499,
0, 500, 501, 502, 503, 504, 0, 505, 506, 507,
508, 509, 0, 511, 512, 513, 514, 0, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 0, 528, 529, 0, 530, 0, 532, 533, 534,
535, 536, 0, 537, 538, 539, 0, 0, 540, 541,
542, 543, 544, 0, 545, 546, 547, 548, 549, 550,
551, 0, 0, 552, 553, 554, 555, 556, 0, 0,
557, 558, 559, 560, 561, 562, 563, 0, 564, 0,
566, 567, 568, 569, 0, 0, 570, 0, 0, 571,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 584, 585, 586, 587, 588, 589, 590, 598,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 228, 229, 230, 231, 232, 233,
234, 235, 0, 236, 237, 238, 0, 0, 0, 0,
0, 0, 0, 239, 240, 0, 241, 242, 243, 0,
245, 246, 247, 248, 249, 0, 251, 252, 0, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 0, 264, 265, 266, 267, 268, 0, 0,
0, 270, 271, 272, 273, 274, 0, 276, 277, 278,
0, 279, 280, 281, 282, 283, 284, 0, 0, 286,
287, 288, 0, 0, 0, 0, 0, 0, 0, 290,
291, 292, 293, 294, 295, 296, 297, 298, 0, 299,
0, 300, 301, 302, 303, 304, 305, 0, 306, 307,
308, 309, 0, 0, 310, 311, 312, 313, 314, 0,
315, 316, 317, 0, 318, 319, 320, 0, 321, 322,
323, 324, 325, 326, 327, 328, 329, 0, 330, 0,
331, 332, 333, 334, 0, 335, 0, 336, 0, 0,
0, 339, 340, 341, 342, 0, 343, 344, 0, 345,
346, 347, 0, 348, 349, 350, 351, 2631, 0, 354,
355, 356, 357, 0, 358, 359, 360, 361, 362, 363,
364, 0, 365, 0, 367, 368, 369, 370, 371, 372,
373, 0, 374, 0, 375, 0, 0, 378, 0, 380,
381, 382, 383, 384, 0, 0, 385, 386, 0, 388,
0, 0, 390, 391, 392, 0, 0, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 0, 411, 412, 413, 414, 415,
0, 416, 417, 0, 419, 0, 420, 421, 422, 423,
424, 425, 0, 426, 427, 0, 0, 428, 429, 430,
0, 0, 431, 432, 433, 0, 435, 0, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 447,
448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 0, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 481, 0, 482, 483, 0,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 496, 497, 498, 499, 0, 500, 501, 502, 503,
504, 0, 505, 506, 507, 508, 509, 0, 511, 512,
513, 514, 0, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 0, 528, 529, 0,
530, 0, 532, 533, 534, 535, 536, 0, 537, 538,
539, 0, 0, 540, 541, 542, 543, 544, 0, 545,
546, 547, 548, 549, 550, 551, 0, 0, 552, 553,
554, 555, 556, 0, 0, 557, 558, 559, 560, 561,
562, 563, 0, 564, 0, 566, 567, 568, 569, 0,
0, 570, 0, 0, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
587, 588, 589, 590, 598, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 228,
229, 230, 231, 232, 233, 234, 235, 0, 236, 237,
238, 0, 0, 0, 0, 0, 0, 0, 239, 240,
0, 241, 242, 243, 0, 245, 246, 247, 248, 249,
0, 251, 252, 0, 253, 254, 255, 256, 257, 258,
0, 0, 259, 260, 261, 262, 263, 0, 264, 265,
266, 267, 268, 0, 0, 0, 270, 271, 272, 273,
274, 0, 276, 277, 278, 0, 279, 280, 281, 282,
283, 284, 0, 0, 286, 287, 288, 0, 0, 0,
0, 0, 0, 0, 290, 291, 292, 293, 294, 295,
296, 297, 298, 0, 299, 0, 300, 301, 302, 303,
304, 305, 0, 306, 307, 308, 309, 0, 0, 310,
311, 312, 313, 314, 0, 315, 316, 317, 0, 318,
319, 320, 0, 321, 322, 323, 324, 325, 326, 327,
328, 329, 0, 330, 0, 331, 332, 333, 334, 0,
335, 0, 336, 0, 0, 0, 339, 340, 341, 342,
0, 343, 344, 0, 345, 346, 347, 0, 348, 349,
350, 351, 2957, 0, 354, 355, 356, 357, 0, 358,
359, 360, 361, 362, 363, 364, 0, 365, 0, 367,
368, 369, 370, 371, 372, 373, 0, 374, 0, 375,
0, 0, 378, 0, 380, 381, 382, 383, 384, 0,
0, 385, 386, 0, 388, 0, 0, 390, 391, 392,
0, 0, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 0,
411, 412, 413, 414, 415, 0, 416, 417, 0, 419,
0, 420, 421, 422, 423, 424, 425, 0, 426, 427,
0, 0, 428, 429, 430, 0, 0, 431, 432, 433,
0, 435, 0, 437, 438, 439, 440, 441, 442, 443,
444, 445, 446, 0, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
481, 0, 482, 483, 0, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 496, 497, 498, 499,
0, 500, 501, 502, 503, 504, 0, 505, 506, 507,
508, 509, 0, 511, 512, 513, 514, 0, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 0, 528, 529, 0, 530, 0, 532, 533, 534,
535, 536, 0, 537, 538, 539, 0, 0, 540, 541,
542, 543, 544, 0, 545, 546, 547, 548, 549, 550,
551, 0, 0, 552, 553, 554, 555, 556, 0, 0,
557, 558, 559, 560, 561, 562, 563, 0, 564, 0,
566, 567, 568, 569, 0, 0, 570, 0, 0, 571,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 584, 585, 586, 587, 588, 589, 590, 598,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 228, 229, 230, 231, 232, 233,
234, 235, 0, 236, 237, 238, 0, 0, 0, 0,
0, 0, 0, 239, 240, 0, 241, 242, 243, 0,
245, 246, 247, 248, 249, 0, 251, 252, 0, 253,
254, 255, 256, 257, 258, 0, 0, 789, 260, 261,
262, 263, 0, 264, 265, 266, 267, 268, 0, 0,
0, 270, 271, 272, 273, 274, 0, 276, 277, 278,
0, 279, 280, 281, 282, 283, 284, 0, 0, 286,
287, 288, 0, 0, 0, 0, 0, 0, 0, 290,
291, 292, 293, 294, 295, 296, 297, 298, 0, 299,
0, 300, 301, 302, 303, 304, 305, 0, 306, 307,
308, 309, 0, 0, 310, 311, 312, 313, 314, 0,
315, 316, 317, 0, 318, 319, 320, 0, 321, 322,
323, 324, 325, 326, 327, 328, 329, 0, 330, 0,
331, 332, 333, 334, 0, 335, 0, 336, 0, 0,
0, 339, 340, 341, 342, 0, 343, 344, 0, 345,
346, 347, 0, 348, 349, 350, 351, 352, 0, 354,
355, 356, 357, 0, 358, 359, 360, 361, 362, 363,
364, 0, 365, 0, 367, 368, 369, 370, 371, 372,
373, 0, 374, 0, 375, 0, 0, 378, 0, 380,
381, 382, 383, 384, 0, 0, 385, 386, 0, 388,
0, 0, 390, 391, 392, 0, 0, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 792, 409, 0, 411, 412, 413, 414, 415,
0, 416, 417, 0, 419, 0, 420, 421, 422, 423,
424, 425, 0, 426, 427, 0, 0, 428, 429, 430,
0, 0, 431, 432, 433, 0, 435, 0, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 447,
448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 0, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 481, 0, 482, 483, 0,
793, 486, 487, 488, 489, 490, 491, 492, 493, 794,
495, 496, 497, 498, 499, 0, 500, 501, 502, 503,
2258, 0, 505, 506, 507, 508, 509, 0, 511, 512,
513, 514, 0, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 0, 528, 529, 0,
530, 0, 532, 533, 534, 535, 536, 0, 537, 796,
539, 0, 0, 2259, 541, 542, 543, 544, 0, 545,
546, 547, 548, 549, 550, 551, 0, 0, 552, 553,
554, 555, 556, 0, 0, 557, 558, 559, 560, 561,
562, 563, 0, 564, 0, 566, 567, 568, 569, 0,
0, 570, 0, 0, 571, 572, 573, 574, 575, 798,
577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
587, 588, 589, 590, 598, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 228,
229, 230, 231, 232, 233, 234, 235, 0, 236, 237,
238, 0, 0, 0, 0, 0, 0, 0, 239, 240,
0, 241, 242, 243, 0, 245, 246, 247, 248, 249,
0, 251, 252, 0, 253, 254, 255, 256, 257, 258,
0, 0, 259, 260, 261, 262, 263, 0, 264, 265,
266, 267, 268, 0, 0, 0, 270, 271, 272, 273,
274, 0, 276, 277, 278, 0, 279, 280, 281, 282,
283, 284, 0, 0, 286, 287, 288, 0, 0, 0,
0, 0, 0, 0, 290, 291, 292, 293, 294, 295,
296, 297, 298, 0, 299, 0, 300, 301, 302, 303,
304, 305, 0, 306, 307, 308, 309, 0, 0, 310,
311, 312, 313, 314, 0, 315, 316, 317, 0, 318,
319, 320, 0, 321, 322, 323, 324, 325, 326, 327,
328, 329, 0, 330, 0, 331, 332, 333, 334, 0,
335, 0, 336, 0, 0, 0, 339, 340, 341, 342,
0, 343, 344, 0, 345, 346, 347, 0, 348, 349,
350, 351, 3026, 0, 354, 355, 356, 357, 0, 358,
359, 360, 361, 362, 363, 364, 0, 365, 0, 367,
368, 369, 370, 371, 372, 373, 0, 374, 0, 375,
0, 0, 378, 0, 380, 381, 382, 383, 384, 0,
0, 385, 386, 0, 388, 0, 0, 390, 391, 392,
0, 0, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 0,
411, 412, 413, 414, 415, 0, 416, 417, 0, 419,
0, 420, 421, 422, 423, 424, 425, 0, 426, 427,
0, 0, 428, 429, 430, 0, 0, 431, 432, 433,
0, 435, 0, 437, 438, 439, 440, 441, 442, 443,
444, 445, 446, 0, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
481, 0, 482, 483, 0, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 496, 497, 498, 499,
0, 500, 501, 502, 503, 504, 0, 505, 506, 507,
508, 509, 0, 511, 512, 513, 514, 0, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 0, 528, 529, 0, 530, 0, 532, 533, 534,
535, 536, 0, 537, 538, 539, 0, 0, 540, 541,
542, 543, 544, 0, 545, 546, 547, 548, 549, 550,
551, 0, 0, 552, 553, 554, 555, 556, 0, 0,
557, 558, 559, 560, 561, 562, 563, 0, 564, 0,
566, 567, 568, 569, 0, 0, 570, 0, 0, 571,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 584, 585, 586, 587, 588, 589, 590, 598,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 228, 229, 230, 231, 232, 233,
234, 235, 0, 236, 237, 238, 0, 0, 0, 0,
0, 0, 0, 239, 240, 0, 241, 242, 243, 0,
245, 246, 247, 248, 249, 0, 251, 252, 0, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 0, 264, 265, 266, 267, 268, 0, 0,
0, 270, 271, 272, 273, 274, 0, 276, 277, 278,
0, 279, 280, 281, 282, 283, 284, 0, 0, 286,
287, 288, 0, 0, 0, 0, 0, 0, 0, 290,
291, 292, 293, 294, 295, 296, 297, 298, 0, 299,
0, 300, 301, 302, 303, 304, 305, 0, 306, 307,
308, 309, 0, 0, 310, 311, 312, 313, 314, 0,
315, 316, 317, 0, 318, 319, 320, 0, 321, 322,
323, 324, 325, 326, 327, 328, 329, 0, 330, 0,
331, 332, 333, 334, 0, 335, 0, 336, 0, 0,
0, 339, 340, 341, 342, 0, 343, 344, 0, 345,
346, 347, 0, 348, 349, 350, 351, 3041, 0, 354,
355, 356, 357, 0, 358, 359, 360, 361, 362, 363,
364, 0, 365, 0, 367, 368, 369, 370, 371, 372,
373, 0, 374, 0, 375, 0, 0, 378, 0, 380,
381, 382, 383, 384, 0, 0, 385, 386, 0, 388,
0, 0, 390, 391, 392, 0, 0, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 0, 411, 412, 413, 414, 415,
0, 416, 417, 0, 419, 0, 420, 421, 422, 423,
424, 425, 0, 426, 427, 0, 0, 428, 429, 430,
0, 0, 431, 432, 433, 0, 435, 0, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 447,
448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 0, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 481, 0, 482, 483, 0,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 496, 497, 498, 499, 0, 500, 501, 502, 503,
504, 0, 505, 506, 507, 508, 509, 0, 511, 512,
513, 514, 0, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 0, 528, 529, 0,
530, 0, 532, 533, 534, 535, 536, 0, 537, 538,
539, 0, 0, 540, 541, 542, 543, 544, 0, 545,
546, 547, 548, 549, 550, 551, 0, 0, 552, 553,
554, 555, 556, 0, 0, 557, 558, 559, 560, 561,
562, 563, 0, 564, 0, 566, 567, 568, 569, 0,
0, 570, 0, 0, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
587, 588, 589, 590, 598, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 228,
229, 230, 231, 232, 233, 234, 235, 0, 236, 237,
238, 0, 0, 0, 0, 0, 0, 0, 239, 240,
0, 241, 242, 243, 0, 245, 246, 247, 248, 249,
0, 251, 252, 0, 253, 254, 255, 256, 257, 258,
0, 0, 259, 260, 261, 262, 263, 0, 264, 265,
266, 267, 268, 0, 0, 0, 270, 271, 272, 273,
274, 0, 276, 277, 278, 0, 279, 280, 281, 282,
283, 284, 0, 0, 286, 287, 288, 0, 0, 0,
0, 0, 0, 0, 290, 291, 292, 293, 294, 295,
296, 297, 298, 0, 299, 0, 300, 301, 302, 303,
304, 305, 0, 306, 307, 308, 309, 0, 0, 310,
311, 312, 313, 314, 0, 315, 316, 317, 0, 318,
319, 320, 0, 321, 322, 323, 324, 325, 326, 327,
328, 329, 0, 330, 0, 331, 332, 333, 334, 0,
335, 0, 336, 0, 0, 0, 339, 340, 341, 342,
0, 343, 344, 0, 345, 346, 347, 0, 348, 349,
350, 351, 3043, 0, 354, 355, 356, 357, 0, 358,
359, 360, 361, 362, 363, 364, 0, 365, 0, 367,
368, 369, 370, 371, 372, 373, 0, 374, 0, 375,
0, 0, 378, 0, 380, 381, 382, 383, 384, 0,
0, 385, 386, 0, 388, 0, 0, 390, 391, 392,
0, 0, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 0,
411, 412, 413, 414, 415, 0, 416, 417, 0, 419,
0, 420, 421, 422, 423, 424, 425, 0, 426, 427,
0, 0, 428, 429, 430, 0, 0, 431, 432, 433,
0, 435, 0, 437, 438, 439, 440, 441, 442, 443,
444, 445, 446, 0, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
481, 0, 482, 483, 0, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 496, 497, 498, 499,
0, 500, 501, 502, 503, 504, 0, 505, 506, 507,
508, 509, 0, 511, 512, 513, 514, 0, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 0, 528, 529, 0, 530, 0, 532, 533, 534,
535, 536, 0, 537, 538, 539, 0, 0, 540, 541,
542, 543, 544, 0, 545, 546, 547, 548, 549, 550,
551, 0, 0, 552, 553, 554, 555, 556, 0, 0,
557, 558, 559, 560, 561, 562, 563, 0, 564, 0,
566, 567, 568, 569, 0, 0, 570, 0, 0, 571,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 584, 585, 586, 587, 588, 589, 590, 598,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 228, 229, 230, 231, 232, 233,
234, 235, 0, 236, 237, 238, 0, 0, 0, 0,
0, 0, 0, 239, 240, 0, 241, 242, 243, 0,
245, 246, 247, 248, 249, 0, 251, 252, 0, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 0, 264, 265, 266, 267, 268, 0, 0,
0, 270, 271, 272, 273, 274, 0, 276, 277, 278,
0, 279, 280, 281, 282, 283, 284, 0, 0, 286,
287, 288, 0, 0, 0, 0, 0, 0, 0, 290,
291, 292, 293, 294, 295, 296, 297, 298, 0, 299,
0, 300, 301, 302, 303, 304, 305, 0, 306, 307,
308, 309, 0, 0, 310, 311, 312, 313, 314, 0,
315, 316, 317, 0, 318, 319, 320, 0, 321, 322,
323, 324, 325, 326, 327, 328, 329, 0, 330, 0,
331, 332, 333, 334, 0, 335, 0, 336, 0, 0,
0, 339, 340, 341, 342, 0, 343, 344, 0, 345,
346, 347, 0, 348, 349, 350, 351, 3186, 0, 354,
355, 356, 357, 0, 358, 359, 360, 361, 362, 363,
364, 0, 365, 0, 367, 368, 369, 370, 371, 372,
373, 0, 374, 0, 375, 0, 0, 378, 0, 380,
381, 382, 383, 384, 0, 0, 385, 386, 0, 388,
0, 0, 390, 391, 392, 0, 0, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 0, 411, 412, 413, 414, 415,
0, 416, 417, 0, 419, 0, 420, 421, 422, 423,
424, 425, 0, 426, 427, 0, 0, 428, 429, 430,
0, 0, 431, 432, 433, 0, 435, 0, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 447,
448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 0, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 481, 0, 482, 483, 0,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 496, 497, 498, 499, 0, 500, 501, 502, 503,
504, 0, 505, 506, 507, 508, 509, 0, 511, 512,
513, 514, 0, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 0, 528, 529, 0,
530, 0, 532, 533, 534, 535, 536, 0, 537, 538,
539, 0, 0, 540, 541, 542, 543, 544, 0, 545,
546, 547, 548, 549, 550, 551, 0, 0, 552, 553,
554, 555, 556, 0, 0, 557, 558, 559, 560, 561,
562, 563, 0, 564, 0, 566, 567, 568, 569, 0,
0, 570, 0, 0, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
587, 588, 589, 590, 598, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 228,
229, 230, 231, 232, 233, 234, 235, 0, 236, 237,
238, 0, 0, 0, 0, 0, 0, 0, 239, 240,
0, 241, 242, 243, 0, 245, 246, 247, 248, 249,
0, 251, 252, 0, 253, 254, 255, 256, 257, 258,
0, 0, 259, 260, 261, 262, 263, 0, 264, 265,
266, 267, 268, 0, 0, 0, 270, 271, 272, 273,
274, 0, 276, 277, 278, 0, 279, 280, 281, 282,
283, 284, 0, 0, 286, 287, 288, 0, 0, 0,
0, 0, 0, 0, 290, 291, 292, 293, 294, 295,
296, 297, 298, 0, 299, 0, 300, 301, 302, 303,
304, 305, 0, 306, 307, 308, 309, 0, 0, 310,
3222, 312, 313, 314, 0, 315, 316, 317, 0, 318,
319, 320, 0, 321, 322, 323, 324, 325, 326, 327,
328, 329, 0, 330, 0, 331, 332, 333, 334, 0,
335, 0, 336, 0, 0, 0, 339, 340, 341, 342,
0, 343, 344, 0, 345, 346, 347, 0, 348, 349,
350, 351, 352, 0, 354, 355, 356, 357, 0, 358,
359, 360, 361, 362, 363, 364, 0, 365, 0, 367,
368, 369, 370, 371, 372, 373, 0, 374, 0, 375,
0, 0, 378, 0, 380, 381, 382, 383, 384, 0,
0, 385, 386, 0, 388, 0, 0, 390, 391, 392,
0, 0, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 0,
411, 412, 413, 414, 415, 0, 416, 417, 0, 419,
0, 420, 421, 422, 423, 424, 425, 0, 426, 427,
0, 0, 428, 429, 430, 0, 0, 431, 432, 433,
0, 435, 0, 437, 438, 439, 440, 441, 442, 443,
444, 445, 446, 0, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 0, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
481, 0, 482, 483, 0, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 496, 497, 498, 499,
0, 500, 501, 502, 503, 504, 0, 505, 506, 507,
508, 509, 0, 511, 512, 513, 514, 0, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 0, 528, 529, 0, 530, 0, 532, 533, 534,
535, 536, 0, 537, 538, 539, 0, 0, 540, 541,
542, 543, 544, 0, 545, 546, 547, 548, 549, 550,
551, 0, 0, 552, 553, 554, 555, 556, 0, 0,
557, 558, 559, 560, 561, 562, 563, 0, 564, 0,
566, 567, 568, 569, 0, 0, 570, 0, 0, 571,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 584, 585, 586, 587, 588, 589, 590, 598,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 228, 229, 230, 231, 232, 233,
234, 235, 0, 236, 237, 238, 0, 0, 0, 0,
0, 0, 0, 239, 240, 0, 241, 242, 243, 0,
245, 246, 247, 248, 249, 0, 251, 252, 0, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 261,
262, 263, 0, 264, 265, 266, 267, 268, 0, 0,
0, 270, 271, 272, 273, 274, 0, 276, 277, 278,
0, 279, 280, 281, 282, 283, 284, 0, 0, 286,
287, 288, 0, 0, 0, 0, 0, 0, 0, 290,
291, 292, 293, 294, 295, 296, 297, 298, 0, 299,
0, 300, 301, 302, 303, 304, 305, 0, 306, 307,
308, 309, 0, 0, 310, 311, 312, 313, 314, 0,
315, 316, 317, 0, 318, 319, 320, 0, 321, 322,
323, 324, 325, 326, 327, 328, 329, 0, 330, 0,
331, 332, 333, 334, 0, 335, 0, 336, 0, 0,
0, 339, 340, 341, 342, 0, 343, 344, 0, 345,
346, 347, 0, 348, 349, 350, 351, 4373, 0, 354,
355, 356, 357, 0, 358, 359, 360, 361, 362, 363,
364, 0, 365, 0, 367, 368, 369, 370, 371, 372,
373, 0, 374, 0, 375, 0, 0, 378, 0, 380,
381, 382, 383, 384, 0, 0, 385, 386, 0, 388,
0, 0, 390, 391, 392, 0, 0, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 0, 411, 412, 413, 414, 415,
0, 416, 417, 0, 419, 0, 420, 421, 422, 423,
424, 425, 0, 426, 427, 0, 0, 428, 429, 430,
0, 0, 431, 432, 433, 0, 435, 0, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 447,
448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 0, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 481, 0, 482, 483, 0,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 496, 497, 498, 499, 0, 500, 501, 502, 503,
504, 0, 505, 506, 507, 508, 509, 0, 511, 512,
513, 514, 0, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 0, 528, 529, 0,
530, 0, 532, 533, 534, 535, 536, 0, 537, 538,
539, 0, 0, 540, 541, 542, 543, 544, 0, 545,
546, 547, 548, 549, 550, 551, 0, 0, 552, 553,
554, 555, 556, 0, 0, 557, 558, 559, 560, 561,
562, 563, 0, 564, 0, 566, 567, 568, 569, 0,
0, 570, 0, 0, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
587, 588, 589, 590, 1057, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 228,
229, 230, 231, 232, 233, 234, 235, 0, 236, 237,
238, 0, 0, 0, 0, 0, 0, 0, 239, 240,
0, 241, 242, 243, 244, 245, 246, 247, 0, 1058,
250, 1059, 1060, 0, 253, 254, 255, 256, 257, 258,
0, 0, 259, 260, 1061, 1062, 263, 0, 264, 265,
266, 267, 0, 0, 269, 0, 270, 271, 272, 273,
274, 275, 276, 277, 278, 0, 279, 280, 281, 282,
283, 284, 0, 285, 286, 287, 288, 0, 0, 0,
289, 0, 0, 0, 290, 291, 292, 293, 294, 295,
1063, 1064, 298, 0, 299, 0, 300, 301, 302, 303,
304, 305, 0, 306, 307, 308, 309, 0, 0, 310,
311, 1065, 313, 314, 0, 315, 316, 317, 0, 318,
319, 320, 0, 321, 322, 323, 324, 0, 326, 327,
328, 0, 0, 330, 0, 331, 332, 1066, 334, 0,
335, 0, 336, 337, 0, 338, 339, 340, 341, 342,
0, 343, 0, 0, 0, 346, 347, 0, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 2153, 358,
359, 360, 361, 362, 363, 364, 0, 365, 366, 2154,
368, 369, 370, 371, 1068, 1069, 0, 1070, 0, 375,
376, 377, 378, 379, 380, 381, 382, 383, 384, 0,
0, 385, 0, 387, 388, 389, 0, 390, 391, 392,
0, 0, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 1071, 410,
1072, 412, 413, 414, 0, 0, 416, 417, 418, 419,
0, 0, 421, 1073, 423, 424, 425, 0, 426, 427,
0, 0, 428, 429, 430, 0, 0, 431, 432, 2156,
434, 435, 436, 0, 438, 439, 440, 441, 442, 443,
444, 445, 446, 0, 447, 448, 0, 450, 0, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 1074, 466, 467, 468, 469, 0, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
481, 0, 482, 483, 484, 485, 486, 487, 488, 489,
0, 491, 492, 493, 494, 495, 496, 497, 498, 499,
0, 500, 501, 502, 503, 504, 0, 505, 506, 2157,
508, 509, 510, 511, 512, 1076, 514, 0, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
0, 0, 528, 529, 0, 530, 531, 532, 533, 534,
535, 536, 0, 537, 1077, 1078, 0, 0, 540, 541,
0, 543, 0, 0, 545, 546, 547, 548, 549, 550,
551, 0, 0, 552, 553, 554, 555, 556, 0, 0,
557, 558, 559, 560, 561, 0, 1079, 2158, 564, 565,
566, 567, 568, 569, 0, 0, 570, 0, 0, 571,
572, 573, 574, 575, 576, 598, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 588, 589, 590, 0,
228, 229, 230, 231, 232, 233, 234, 235, 0, 236,
237, 238, 0, 0, 0, 0, 0, 0, 0, 239,
240, 0, 241, 242, 243, 0, 245, 246, 247, 248,
249, 0, 251, 252, 0, 253, 254, 255, 256, 257,
258, 0, 0, 259, 260, 261, 262, 263, 0, 264,
265, 266, 267, 268, 0, 0, 0, 270, 271, 272,
273, 274, 0, 276, 277, 278, 0, 279, 280, 281,
282, 283, 284, 0, 0, 286, 287, 288, 0, 0,
0, 0, 0, 0, 0, 290, 291, 292, 293, 294,
295, 296, 297, 298, 0, 299, 0, 300, 301, 302,
303, 304, 305, 0, 306, 307, 308, 309, 0, 0,
310, 311, 312, 313, 314, 0, 315, 316, 317, 0,
318, 319, 320, 0, 321, 322, 323, 324, 325, 326,
327, 328, 329, 0, 330, 0, 331, 332, 333, 334,
0, 335, 0, 336, 0, 0, 0, 339, 340, 341,
342, 0, 343, 344, 0, 345, 0, 347, 0, 348,
349, 350, 351, 352, 0, 354, 355, 356, 357, 0,
358, 359, 360, 361, 362, 363, 364, 0, 365, 0,
367, 368, 369, 370, 371, 372, 373, 0, 374, 0,
375, 0, 0, 378, 0, 380, 381, 382, 383, 384,
0, 0, 385, 386, 0, 388, 0, 0, 390, 391,
392, 0, 0, 393, 394, 395, 396, 397, 398, 399,
400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
0, 411, 412, 413, 414, 415, 0, 416, 417, 0,
419, 0, 420, 421, 422, 423, 424, 425, 0, 426,
427, 0, 0, 428, 429, 430, 0, 0, 431, 432,
433, 0, 435, 0, 437, 438, 439, 440, 441, 442,
443, 0, 445, 446, 0, 447, 448, 449, 450, 451,
452, 453, 454, 0, 455, 456, 457, 458, 459, 460,
461, 462, 0, 464, 465, 466, 467, 468, 469, 0,
470, 471, 472, 473, 474, 475, 476, 477, 478, 479,
480, 481, 0, 482, 483, 0, 485, 486, 487, 488,
489, 490, 0, 492, 493, 494, 495, 496, 497, 498,
499, 0, 500, 501, 502, 503, 504, 0, 505, 506,
507, 508, 509, 0, 511, 512, 513, 514, 0, 515,
516, 517, 518, 519, 520, 521, 522, 523, 524, 525,
526, 527, 0, 528, 529, 0, 530, 0, 532, 533,
534, 535, 536, 0, 537, 538, 539, 0, 0, 540,
541, 542, 543, 544, 0, 545, 546, 547, 548, 549,
550, 551, 0, 0, 552, 553, 554, 555, 556, 0,
0, 557, 558, 559, 560, 561, 562, 563, 0, 564,
0, 566, 567, 568, 569, 0, 0, 570, 0, 0,
571, 572, 573, 574, 575, 576, 577, 578, 579, 580,
581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
1057, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 228, 229, 230, 231, 232,
233, 234, 235, 0, 236, 237, 238, 0, 0, 0,
0, 0, 0, 0, 239, 240, 0, 241, 242, 243,
244, 245, 246, 247, 0, 1058, 250, 1059, 1060, 0,
253, 254, 255, 256, 257, 258, 0, 0, 259, 260,
1061, 1062, 263, 0, 264, 265, 266, 267, 0, 0,
269, 0, 270, 271, 272, 273, 274, 275, 276, 277,
278, 0, 279, 280, 281, 282, 283, 284, 0, 285,
286, 287, 288, 0, 0, 0, 289, 0, 0, 0,
290, 291, 292, 293, 294, 295, 1063, 1064, 298, 0,
299, 0, 300, 301, 302, 303, 304, 305, 0, 306,
307, 308, 309, 0, 0, 310, 311, 1065, 313, 314,
0, 315, 316, 317, 0, 318, 319, 320, 0, 321,
322, 323, 324, 0, 326, 327, 328, 0, 0, 330,
0, 331, 332, 1066, 334, 0, 335, 0, 336, 337,
0, 338, 339, 340, 341, 342, 0, 343, 0, 0,
0, 346, 347, 0, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 0, 358, 359, 360, 361, 362,
363, 364, 0, 365, 366, 0, 368, 369, 370, 371,
1068, 1069, 0, 1070, 0, 375, 376, 377, 378, 379,
380, 381, 382, 383, 384, 0, 0, 385, 0, 387,
388, 389, 0, 390, 391, 392, 0, 0, 393, 394,
395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
405, 406, 407, 408, 1071, 410, 1072, 412, 413, 414,
0, 0, 416, 417, 418, 419, 2253, 0, 421, 1073,
423, 424, 425, 0, 426, 427, 0, 0, 428, 429,
430, 0, 0, 431, 432, 0, 434, 435, 436, 0,
438, 439, 440, 441, 442, 443, 444, 445, 446, 0,
447, 448, 0, 450, 0, 452, 453, 454, 0, 455,
456, 457, 458, 459, 460, 461, 462, 463, 464, 1074,
466, 467, 468, 469, 0, 470, 471, 472, 473, 474,
475, 476, 477, 478, 479, 480, 481, 0, 482, 483,
484, 485, 486, 487, 488, 489, 0, 491, 492, 493,
494, 495, 496, 497, 498, 499, 0, 500, 501, 502,
503, 504, 0, 505, 506, 2157, 508, 509, 510, 511,
512, 1076, 514, 0, 515, 516, 517, 518, 519, 520,
521, 522, 523, 524, 525, 526, 0, 0, 528, 529,
3937, 530, 531, 532, 533, 534, 535, 536, 0, 537,
1077, 1078, 0, 0, 540, 541, 0, 543, 0, 0,
545, 546, 547, 548, 549, 550, 551, 0, 0, 552,
553, 554, 555, 556, 0, 0, 557, 558, 559, 560,
561, 0, 1079, 0, 564, 565, 566, 567, 568, 569,
0, 0, 570, 0, 0, 571, 572, 573, 574, 575,
576, 1057, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 588, 589, 590, 0, 228, 229, 230, 231,
232, 233, 234, 235, 0, 236, 237, 238, 0, 0,
0, 0, 0, 0, 0, 239, 240, 0, 241, 242,
243, 244, 245, 246, 247, 0, 1058, 250, 1059, 1060,
0, 253, 254, 255, 256, 257, 258, 0, 0, 259,
260, 1061, 1062, 263, 0, 264, 265, 266, 267, 0,
0, 269, 0, 270, 271, 272, 273, 274, 275, 276,
277, 278, 0, 279, 280, 281, 282, 283, 284, 0,
285, 286, 287, 288, 0, 0, 0, 289, 0, 0,
0, 290, 291, 292, 293, 294, 295, 1063, 1064, 298,
0, 299, 0, 300, 301, 302, 303, 304, 305, 0,
306, 307, 308, 309, 0, 0, 310, 311, 1065, 313,
314, 0, 315, 316, 317, 0, 318, 319, 320, 0,
321, 322, 323, 324, 0, 326, 327, 328, 0, 0,
330, 0, 331, 332, 1066, 334, 0, 335, 0, 336,
337, 0, 338, 339, 340, 341, 342, 0, 343, 0,
0, 0, 346, 347, 0, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 0, 358, 359, 360, 361,
362, 363, 364, 0, 365, 366, 0, 368, 369, 370,
371, 1068, 1069, 0, 1070, 0, 375, 376, 377, 378,
379, 380, 381, 382, 383, 384, 0, 0, 385, 0,
387, 388, 389, 0, 390, 391, 392, 0, 0, 393,
394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 1071, 410, 1072, 412, 413,
414, 2325, 0, 416, 417, 418, 419, 0, 0, 421,
1073, 423, 424, 425, 0, 426, 427, 0, 0, 428,
429, 430, 0, 0, 431, 432, 0, 434, 435, 436,
0, 438, 439, 440, 441, 442, 443, 444, 445, 446,
0, 447, 448, 0, 450, 0, 452, 453, 454, 0,
455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
1074, 466, 467, 468, 469, 0, 470, 471, 472, 473,
474, 475, 476, 477, 478, 479, 480, 481, 0, 482,
483, 484, 485, 486, 487, 488, 489, 0, 491, 492,
493, 494, 495, 496, 497, 498, 499, 0, 500, 501,
502, 503, 504, 0, 505, 506, 1075, 508, 509, 510,
511, 512, 1076, 514, 0, 515, 516, 517, 518, 519,
520, 521, 522, 523, 524, 525, 526, 0, 0, 528,
529, 0, 530, 531, 532, 533, 534, 535, 536, 0,
537, 1077, 1078, 0, 0, 540, 541, 0, 543, 0,
0, 545, 546, 547, 548, 549, 550, 551, 0, 0,
552, 553, 554, 555, 556, 0, 0, 557, 558, 559,
560, 561, 0, 1079, 0, 564, 565, 566, 567, 568,
569, 0, 0, 570, 0, 0, 571, 572, 573, 574,
575, 576, 1057, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 588, 589, 590, 0, 228, 229, 230,
231, 232, 233, 234, 235, 0, 236, 237, 238, 0,
0, 0, 0, 0, 0, 0, 239, 240, 0, 241,
242, 243, 244, 245, 246, 247, 0, 1058, 250, 1059,
1060, 0, 253, 254, 255, 256, 257, 258, 0, 0,
259, 260, 1061, 1062, 263, 0, 264, 265, 266, 267,
0, 0, 269, 0, 270, 271, 272, 273, 274, 275,
276, 277, 278, 0, 279, 280, 281, 282, 283, 284,
0, 285, 286, 287, 288, 0, 0, 0, 289, 0,
0, 0, 290, 291, 292, 293, 294, 295, 1063, 1064,
298, 0, 299, 0, 300, 301, 302, 303, 304, 305,
0, 306, 307, 308, 309, 0, 0, 310, 311, 1065,
313, 314, 0, 315, 316, 317, 0, 318, 319, 320,
0, 321, 322, 323, 324, 0, 326, 327, 328, 0,
0, 330, 0, 331, 332, 1066, 334, 0, 335, 0,
336, 337, 0, 338, 339, 340, 341, 342, 0, 343,
0, 0, 0, 346, 347, 0, 348, 349, 350, 351,
352, 353, 354, 355, 356, 357, 0, 358, 359, 360,
361, 362, 363, 364, 0, 365, 366, 0, 368, 369,
370, 371, 1068, 1069, 0, 1070, 0, 375, 376, 377,
378, 379, 380, 381, 382, 383, 384, 0, 0, 385,
0, 387, 388, 389, 0, 390, 391, 392, 0, 0,
393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
403, 404, 405, 406, 407, 408, 1071, 410, 1072, 412,
413, 414, 3744, 0, 416, 417, 418, 419, 0, 0,
421, 1073, 423, 424, 425, 0, 426, 427, 0, 0,
428, 429, 430, 0, 0, 431, 432, 0, 434, 435,
436, 0, 438, 439, 440, 441, 442, 443, 444, 445,
446, 0, 447, 448, 0, 450, 0, 452, 453, 454,
0, 455, 456, 457, 458, 459, 460, 461, 462, 463,
464, 1074, 466, 467, 468, 469, 0, 470, 471, 472,
473, 474, 475, 476, 477, 478, 479, 480, 481, 0,
482, 483, 484, 485, 486, 487, 488, 489, 0, 491,
492, 493, 494, 495, 496, 497, 498, 499, 0, 500,
501, 502, 503, 504, 0, 505, 506, 1075, 508, 509,
510, 511, 512, 1076, 514, 0, 515, 516, 517, 518,
519, 520, 521, 522, 523, 524, 525, 526, 0, 0,
528, 529, 0, 530, 531, 532, 533, 534, 535, 536,
0, 537, 1077, 1078, 0, 0, 540, 541, 0, 543,
0, 0, 545, 546, 547, 548, 549, 550, 551, 0,
0, 552, 553, 554, 555, 556, 0, 0, 557, 558,
559, 560, 561, 0, 1079, 0, 564, 565, 566, 567,
568, 569, 0, 0, 570, 0, 0, 571, 572, 573,
574, 575, 576, 1057, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 588, 589, 590, 0, 228, 229,
230, 231, 232, 233, 234, 235, 0, 236, 237, 238,
0, 0, 0, 0, 0, 0, 0, 239, 240, 0,
241, 242, 243, 244, 245, 246, 247, 0, 1058, 250,
1059, 1060, 0, 253, 254, 255, 256, 257, 258, 0,
0, 259, 260, 1061, 1062, 263, 0, 264, 265, 266,
267, 0, 0, 269, 0, 270, 271, 272, 273, 274,
275, 276, 277, 278, 0, 279, 280, 281, 282, 283,
284, 0, 285, 286, 287, 288, 0, 0, 0, 289,
0, 0, 0, 290, 291, 292, 293, 294, 295, 1063,
1064, 298, 0, 299, 0, 300, 301, 302, 303, 304,
305, 0, 306, 307, 308, 309, 0, 0, 310, 311,
1065, 313, 314, 0, 315, 316, 317, 0, 318, 319,
320, 0, 321, 322, 323, 324, 0, 326, 327, 328,
0, 0, 330, 0, 331, 332, 1066, 334, 5278, 335,
0, 336, 337, 0, 338, 339, 340, 341, 342, 0,
343, 0, 0, 0, 346, 347, 0, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 0, 358, 359,
360, 361, 362, 363, 364, 0, 365, 366, 0, 368,
369, 370, 371, 1068, 1069, 0, 1070, 0, 375, 376,
377, 378, 379, 380, 381, 382, 383, 384, 0, 0,
385, 0, 387, 388, 389, 0, 390, 391, 392, 0,
0, 393, 394, 395, 396, 397, 398, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 1071, 410, 1072,
412, 413, 414, 0, 0, 416, 417, 418, 419, 0,
0, 421, 1073, 423, 424, 425, 0, 426, 427, 0,
0, 428, 429, 430, 0, 0, 431, 432, 0, 434,
435, 436, 0, 438, 439, 440, 441, 442, 443, 444,
445, 446, 0, 447, 448, 0, 450, 0, 452, 453,
454, 0, 455, 456, 457, 458, 459, 460, 461, 462,
463, 464, 1074, 466, 467, 468, 469, 0, 470, 471,
472, 473, 474, 475, 476, 477, 478, 479, 480, 481,
0, 482, 483, 484, 485, 486, 487, 488, 489, 0,
491, 492, 493, 494, 495, 496, 497, 498, 499, 0,
500, 501, 502, 503, 504, 0, 505, 506, 1075, 508,
509, 510, 511, 512, 1076, 514, 0, 515, 516, 517,
518, 519, 520, 521, 522, 523, 524, 525, 526, 0,
0, 528, 529, 0, 530, 531, 532, 533, 534, 535,
536, 0, 537, 1077, 1078, 0, 0, 540, 541, 0,
543, 0, 0, 545, 546, 547, 548, 549, 550, 551,
0, 0, 552, 553, 554, 555, 556, 0, 0, 557,
558, 559, 560, 561, 0, 1079, 0, 564, 565, 566,
567, 568, 569, 0, 0, 570, 0, 0, 571, 572,
573, 574, 575, 576, 1057, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 588, 589, 590, 0, 228,
229, 230, 231, 232, 233, 234, 235, 0, 236, 237,
238, 0, 0, 0, 0, 0, 0, 0, 239, 240,
0, 241, 242, 243, 244, 245, 246, 247, 0, 1058,
250, 1059, 1060, 0, 253, 254, 255, 256, 257, 258,
0, 0, 259, 260, 1061, 1062, 263, 0, 264, 265,
266, 267, 0, 0, 269, 0, 270, 271, 272, 273,
274, 275, 276, 277, 278, 0, 279, 280, 281, 282,
283, 284, 0, 285, 286, 287, 288, 0, 0, 0,
289, 0, 0, 0, 290, 291, 292, 293, 294, 295,
1063, 1064, 298, 0, 299, 0, 300, 301, 302, 303,
304, 305, 0, 306, 307, 308, 309, 0, 0, 310,
311, 1065, 313, 314, 0, 315, 316, 317, 0, 318,
319, 320, 0, 321, 322, 323, 324, 0, 326, 327,
328, 0, 0, 330, 0, 331, 332, 1066, 334, 0,
335, 0, 336, 337, 0, 338, 339, 340, 341, 342,
0, 343, 0, 0, 0, 346, 347, 0, 348, 349,
350, 351, 1067, 353, 354, 355, 356, 357, 0, 358,
359, 360, 361, 362, 363, 364, 0, 365, 366, 0,
368, 369, 370, 371, 1068, 1069, 0, 1070, 0, 375,
376, 377, 378, 379, 380, 381, 382, 383, 384, 0,
0, 385, 0, 387, 388, 389, 0, 390, 391, 392,
0, 0, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 1071, 410,
1072, 412, 413, 414, 0, 0, 416, 417, 418, 419,
0, 0, 421, 1073, 423, 424, 425, 0, 426, 427,
0, 0, 428, 429, 430, 0, 0, 431, 432, 0,
434, 435, 436, 0, 438, 439, 440, 441, 442, 443,
444, 445, 446, 0, 447, 448, 0, 450, 0, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 1074, 466, 467, 468, 469, 0, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
481, 0, 482, 483, 484, 485, 486, 487, 488, 489,
0, 491, 492, 493, 494, 495, 496, 497, 498, 499,
0, 500, 501, 502, 503, 504, 0, 505, 506, 1075,
508, 509, 510, 511, 512, 1076, 514, 0, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
0, 0, 528, 529, 0, 530, 531, 532, 533, 534,
535, 536, 0, 537, 1077, 1078, 0, 0, 540, 541,
0, 543, 0, 0, 545, 546, 547, 548, 549, 550,
551, 0, 0, 552, 553, 554, 555, 556, 0, 0,
557, 558, 559, 560, 561, 0, 1079, 0, 564, 565,
566, 567, 568, 569, 0, 0, 570, 0, 0, 571,
572, 573, 574, 575, 576, 1057, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 588, 589, 590, 0,
228, 229, 230, 231, 232, 233, 234, 235, 0, 236,
237, 238, 0, 0, 0, 0, 0, 0, 0, 239,
240, 0, 241, 242, 243, 244, 245, 246, 247, 0,
1058, 250, 1059, 1060, 0, 253, 254, 255, 256, 257,
258, 0, 0, 259, 260, 1061, 1062, 263, 0, 264,
265, 266, 267, 0, 0, 269, 0, 270, 271, 272,
273, 274, 275, 276, 277, 278, 0, 279, 280, 281,
282, 283, 284, 0, 285, 286, 287, 288, 0, 0,
0, 289, 0, 0, 0, 290, 291, 292, 293, 294,
295, 1063, 1064, 298, 0, 299, 0, 300, 301, 302,
303, 304, 305, 0, 306, 307, 308, 309, 0, 0,
310, 311, 1065, 313, 314, 0, 315, 316, 317, 0,
318, 319, 320, 0, 321, 322, 323, 324, 0, 326,
327, 328, 0, 0, 330, 0, 331, 332, 1066, 334,
0, 335, 0, 336, 337, 0, 338, 339, 340, 341,
342, 0, 343, 0, 0, 0, 346, 347, 0, 348,
349, 350, 351, 1125, 353, 354, 355, 356, 357, 0,
358, 359, 360, 361, 362, 363, 364, 0, 365, 366,
0, 368, 369, 370, 371, 1068, 1069, 0, 1070, 0,
375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
0, 0, 385, 0, 387, 388, 389, 0, 390, 391,
392, 0, 0, 393, 394, 395, 396, 397, 398, 399,
400, 401, 402, 403, 404, 405, 406, 407, 408, 1071,
410, 1072, 412, 413, 414, 0, 0, 416, 417, 418,
419, 0, 0, 421, 1073, 423, 424, 425, 0, 426,
427, 0, 0, 428, 429, 430, 0, 0, 431, 432,
0, 434, 435, 436, 0, 438, 439, 440, 441, 442,
443, 444, 445, 446, 0, 447, 448, 0, 450, 0,
452, 453, 454, 0, 455, 456, 457, 458, 459, 460,
461, 462, 463, 464, 1074, 466, 467, 468, 469, 0,
470, 471, 472, 473, 474, 475, 476, 477, 478, 479,
480, 481, 0, 482, 483, 484, 485, 486, 487, 488,
489, 0, 491, 492, 493, 494, 495, 496, 497, 498,
499, 0, 500, 501, 502, 503, 504, 0, 505, 506,
1075, 508, 509, 510, 511, 512, 1076, 514, 0, 515,
516, 517, 518, 519, 520, 521, 522, 523, 524, 525,
526, 0, 0, 528, 529, 0, 530, 531, 532, 533,
534, 535, 536, 0, 537, 1077, 1078, 0, 0, 540,
541, 0, 543, 0, 0, 545, 546, 547, 548, 549,
550, 551, 0, 0, 552, 553, 554, 555, 556, 0,
0, 557, 558, 559, 560, 561, 0, 1079, 0, 564,
565, 566, 567, 568, 569, 0, 0, 570, 0, 0,
571, 572, 573, 574, 575, 576, 1057, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 588, 589, 590,
0, 228, 229, 230, 231, 232, 233, 234, 235, 0,
236, 237, 238, 0, 0, 0, 0, 0, 0, 0,
239, 240, 0, 241, 242, 243, 244, 245, 246, 247,
0, 1058, 250, 1059, 1060, 0, 253, 254, 255, 256,
257, 258, 0, 0, 259, 260, 1061, 1062, 263, 0,
264, 265, 266, 267, 0, 0, 269, 0, 270, 271,
272, 273, 274, 275, 276, 277, 278, 0, 279, 280,
281, 282, 283, 284, 0, 285, 286, 287, 288, 0,
0, 0, 289, 0, 0, 0, 290, 291, 292, 293,
294, 295, 1063, 1064, 298, 0, 299, 0, 300, 301,
302, 303, 304, 305, 0, 306, 307, 308, 309, 0,
0, 310, 311, 1065, 313, 314, 0, 315, 316, 317,
0, 318, 319, 320, 0, 321, 322, 323, 324, 0,
326, 327, 328, 0, 0, 330, 0, 331, 332, 1066,
334, 0, 335, 0, 336, 337, 0, 338, 339, 340,
341, 342, 0, 343, 0, 0, 0, 346, 347, 0,
348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
0, 358, 359, 360, 361, 362, 363, 364, 0, 365,
366, 0, 368, 369, 370, 371, 1068, 1069, 0, 1070,
0, 375, 376, 377, 378, 379, 380, 381, 382, 383,
384, 0, 0, 385, 0, 387, 388, 389, 0, 390,
391, 392, 0, 0, 393, 394, 395, 396, 397, 398,
399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
1071, 410, 1072, 412, 413, 414, 0, 0, 416, 417,
418, 419, 0, 0, 421, 1073, 423, 424, 425, 0,
426, 427, 0, 0, 428, 429, 430, 0, 0, 431,
432, 0, 434, 435, 436, 0, 438, 439, 440, 441,
442, 443, 444, 445, 446, 0, 447, 448, 0, 450,
0, 452, 453, 454, 0, 455, 456, 457, 458, 459,
460, 461, 462, 463, 464, 1074, 466, 467, 468, 469,
0, 470, 471, 472, 473, 474, 475, 476, 477, 478,
479, 480, 481, 0, 482, 483, 484, 485, 486, 487,
488, 489, 0, 491, 492, 493, 494, 495, 496, 497,
498, 499, 0, 500, 501, 502, 503, 504, 0, 505,
506, 1075, 508, 509, 510, 511, 512, 1076, 514, 0,
515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
525, 526, 0, 0, 528, 529, 0, 530, 531, 532,
533, 534, 535, 536, 0, 537, 1077, 1078, 0, 0,
540, 541, 0, 543, 0, 0, 545, 546, 547, 548,
549, 550, 551, 0, 0, 552, 553, 554, 555, 556,
0, 0, 557, 558, 559, 560, 561, 0, 1079, 0,
564, 565, 566, 567, 568, 569, 0, 0, 570, 0,
0, 571, 572, 573, 574, 575, 576, 1057, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 588, 589,
590, 0, 228, 229, 230, 231, 232, 233, 234, 235,
0, 236, 237, 238, 0, 0, 0, 0, 0, 0,
0, 239, 240, 0, 241, 242, 243, 244, 245, 246,
247, 0, 1058, 250, 1059, 1060, 0, 253, 254, 255,
256, 257, 258, 0, 0, 259, 260, 1061, 1062, 263,
0, 264, 265, 266, 267, 0, 0, 269, 0, 270,
271, 272, 273, 274, 275, 276, 277, 278, 0, 279,
280, 281, 282, 283, 284, 0, 285, 286, 287, 288,
0, 0, 0, 289, 0, 0, 0, 290, 291, 292,
293, 294, 295, 1063, 1064, 298, 0, 299, 0, 300,
301, 302, 303, 304, 305, 0, 306, 307, 308, 309,
0, 0, 310, 311, 1065, 313, 314, 0, 315, 316,
317, 0, 318, 319, 320, 0, 321, 322, 323, 324,
0, 326, 327, 328, 0, 0, 330, 0, 331, 332,
1066, 334, 0, 335, 0, 336, 337, 0, 338, 339,
340, 341, 342, 0, 343, 0, 0, 0, 346, 347,
0, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 0, 358, 359, 360, 361, 362, 363, 364, 0,
365, 366, 0, 368, 369, 370, 371, 1068, 1069, 0,
1070, 0, 375, 376, 377, 378, 379, 380, 381, 382,
383, 384, 0, 0, 385, 0, 387, 388, 389, 0,
390, 391, 392, 0, 0, 393, 394, 395, 396, 397,
398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
408, 1071, 410, 1072, 412, 413, 414, 0, 0, 416,
417, 418, 419, 0, 0, 421, 1073, 423, 424, 425,
0, 426, 427, 0, 0, 428, 429, 430, 0, 0,
431, 432, 0, 434, 435, 436, 0, 438, 439, 440,
441, 442, 443, 444, 445, 446, 0, 447, 448, 0,
450, 0, 452, 453, 454, 0, 455, 456, 457, 458,
459, 460, 461, 462, 463, 464, 1074, 466, 467, 468,
469, 0, 470, 471, 472, 473, 474, 475, 476, 477,
478, 479, 480, 481, 0, 482, 483, 484, 485, 486,
487, 488, 489, 0, 491, 492, 493, 494, 495, 496,
497, 498, 499, 0, 500, 501, 502, 503, 504, 0,
505, 506, 2157, 508, 509, 510, 511, 512, 1076, 514,
0, 515, 516, 517, 518, 519, 520, 521, 522, 523,
524, 525, 526, 0, 0, 528, 529, 0, 530, 531,
532, 533, 534, 535, 536, 0, 537, 1077, 1078, 0,
0, 540, 541, 0, 543, 0, 0, 545, 546, 547,
548, 549, 550, 551, 0, 0, 552, 553, 554, 555,
556, 0, 0, 557, 558, 559, 560, 561, 0, 1079,
0, 564, 565, 566, 567, 568, 569, 0, 0, 570,
0, 0, 571, 572, 573, 574, 575, 576, 1057, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 588,
589, 590, 0, 228, 229, 230, 231, 232, 233, 234,
235, 0, 236, 237, 238, 0, 0, 0, 0, 0,
0, 0, 239, 240, 0, 241, 242, 243, 244, 245,
246, 247, 0, 1058, 250, 1059, 1060, 0, 253, 254,
255, 256, 257, 258, 0, 0, 259, 260, 1061, 1062,
263, 0, 264, 265, 266, 267, 0, 0, 269, 0,
270, 271, 272, 273, 274, 275, 276, 277, 278, 0,
279, 280, 281, 282, 283, 284, 0, 285, 286, 287,
288, 0, 0, 0, 289, 0, 0, 0, 290, 291,
292, 293, 294, 295, 1063, 1064, 298, 0, 299, 0,
300, 301, 302, 303, 304, 305, 0, 306, 307, 308,
309, 0, 0, 310, 311, 1065, 313, 314, 0, 315,
316, 317, 0, 318, 319, 320, 0, 321, 322, 323,
324, 0, 326, 327, 328, 0, 0, 330, 0, 331,
332, 1066, 334, 0, 335, 0, 336, 337, 0, 338,
339, 340, 341, 342, 0, 343, 0, 0, 0, 346,
347, 0, 348, 349, 350, 351, 352, 353, 354, 355,
356, 357, 0, 358, 359, 360, 361, 362, 363, 364,
0, 365, 366, 0, 368, 369, 370, 371, 1068, 1069,
0, 1070, 0, 375, 376, 377, 378, 379, 380, 381,
382, 383, 384, 0, 0, 385, 0, 387, 388, 389,
0, 390, 391, 392, 0, 0, 393, 394, 395, 396,
397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
407, 408, 1071, 410, 1072, 412, 413, 414, 0, 0,
416, 417, 418, 419, 0, 0, 421, 1073, 423, 424,
425, 0, 426, 427, 0, 0, 428, 429, 430, 0,
0, 431, 432, 0, 434, 435, 436, 0, 438, 439,
440, 441, 442, 443, 444, 445, 446, 0, 447, 448,
0, 450, 0, 452, 453, 454, 0, 455, 456, 457,
458, 459, 460, 461, 462, 463, 464, 1074, 466, 467,
468, 469, 0, 470, 471, 472, 473, 474, 475, 476,
477, 478, 479, 480, 481, 0, 482, 483, 484, 485,
486, 487, 488, 489, 0, 491, 492, 493, 494, 495,
496, 497, 498, 499, 0, 500, 501, 502, 503, 504,
0, 505, 506, 0, 508, 509, 510, 511, 512, 1076,
514, 0, 515, 516, 517, 518, 519, 520, 521, 522,
523, 524, 525, 526, 0, 0, 528, 529, 0, 530,
531, 532, 533, 534, 535, 536, 0, 537, 1077, 1078,
0, 0, 540, 541, 0, 543, 0, 0, 545, 546,
547, 548, 549, 550, 551, 0, 0, 552, 553, 554,
555, 556, 0, 0, 557, 558, 559, 560, 561, 0,
1079, 0, 564, 565, 566, 567, 568, 569, 0, 0,
570, 0, 0, 571, 572, 573, 574, 575, 576, 1057,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
588, 589, 590, 0, 228, 229, 230, 231, 232, 233,
234, 235, 0, 236, 237, 238, 0, 0, 0, 0,
0, 0, 0, 239, 240, 0, 241, 242, 243, 244,
245, 246, 247, 0, 0, 250, 0, 0, 0, 253,
254, 255, 256, 257, 258, 0, 0, 259, 260, 0,
0, 263, 0, 264, 265, 266, 267, 0, 0, 269,
0, 270, 271, 272, 273, 274, 275, 276, 277, 278,
0, 279, 280, 281, 282, 283, 284, 0, 285, 286,
287, 288, 0, 0, 0, 289, 0, 0, 0, 290,
291, 292, 293, 294, 295, 0, 0, 298, 0, 299,
0, 300, 301, 302, 303, 304, 305, 0, 306, 307,
308, 309, 0, 0, 310, 311, 312, 313, 314, 0,
315, 316, 317, 0, 318, 319, 320, 0, 321, 322,
323, 324, 0, 326, 327, 328, 0, 0, 330, 0,
331, 332, 0, 334, 0, 335, 0, 336, 337, 0,
338, 339, 340, 341, 342, 0, 343, 0, 0, 0,
346, 347, 0, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 0, 358, 359, 360, 361, 362, 363,
364, 0, 365, 366, 0, 368, 369, 370, 371, 0,
0, 0, 0, 0, 375, 376, 377, 378, 379, 380,
381, 382, 383, 384, 0, 0, 385, 0, 387, 388,
389, 0, 390, 391, 392, 0, 0, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 0, 410, 0, 412, 413, 414, 0,
0, 416, 417, 418, 419, 0, 0, 421, 0, 423,
424, 425, 0, 426, 427, 0, 0, 428, 429, 430,
0, 0, 431, 432, 0, 434, 435, 436, 0, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 447,
448, 0, 450, 0, 452, 453, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 0, 466,
467, 468, 469, 0, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 481, 0, 482, 483, 484,
485, 486, 487, 488, 489, 0, 491, 492, 493, 494,
495, 496, 497, 498, 499, 0, 500, 501, 502, 503,
504, 0, 505, 506, 0, 508, 509, 510, 511, 512,
0, 514, 0, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 0, 0, 528, 529, 0,
530, 531, 532, 533, 534, 535, 536, 0, 537, 0,
0, 0, 0, 540, 541, 0, 543, 0, 0, 545,
546, 547, 548, 549, 550, 551, 0, 0, 552, 553,
554, 555, 556, 0, 0, 557, 558, 559, 560, 561,
0, 0, 0, 564, 565, 566, 567, 568, 569, 0,
0, 570, 0, 0, 571, 572, 573, 574, 575, 576,
4936, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 588, 589, 590, 0, 228, 229, 230, 231, 232,
233, 234, 235, 0, 236, 237, 238, 0, 0, 0,
0, 0, 0, 0, 239, 240, 0, 241, 242, 243,
0, 245, 246, 247, 0, 0, 0, 0, 0, 0,
253, 254, 255, 256, 257, 258, 0, 0, 259, 260,
0, 0, 263, 0, 264, 265, 266, 267, 0, 0,
0, 0, 270, 271, 272, 273, 274, 0, 276, 277,
278, 0, 279, 280, 281, 282, 283, 284, 0, 0,
286, 287, 288, 0, 0, 0, 0, 0, 0, 0,
290, 291, 292, 293, 294, 295, 0, 0, 298, 0,
299, 0, 300, 301, 302, 303, 304, 305, 0, 306,
307, 308, 309, 0, 0, 310, 311, 312, 313, 314,
0, 315, 316, 317, 0, 318, 319, 320, 0, 321,
322, 323, 324, 0, 326, 327, 328, 0, 0, 330,
0, 331, 332, 0, 334, 0, 335, 0, 336, 0,
0, 0, 339, 340, 341, 342, 0, 343, 0, 0,
0, 346, 347, 0, 348, 349, 350, 351, 352, 0,
354, 355, 356, 357, 0, 358, 359, 360, 361, 362,
363, 364, 0, 365, 0, 0, 368, 369, 370, 371,
0, 0, 0, 0, 0, 375, 0, 0, 378, 0,
380, 381, 382, 383, 384, 0, 0, 385, 0, 0,
388, 0, 0, 390, 391, 392, 0, 0, 393, 394,
395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
405, 406, 407, 408, 0, 0, 0, 412, 413, 414,
0, 0, 416, 417, 0, 419, 0, 0, 421, 0,
423, 424, 425, 0, 426, 427, 0, 0, 428, 429,
430, 0, 0, 431, 432, 0, 0, 435, 0, 0,
438, 439, 440, 441, 442, 443, 444, 445, 446, 0,
447, 448, 0, 450, 0, 452, 453, 454, 0, 455,
456, 457, 458, 459, 460, 461, 462, 463, 464, 0,
466, 467, 468, 469, 0, 470, 471, 472, 473, 474,
475, 476, 477, 478, 479, 480, 481, 0, 482, 483,
0, 485, 486, 487, 488, 489, 0, 491, 492, 493,
494, 495, 496, 497, 498, 499, 0, 500, 501, 502,
503, 504, 0, 505, 506, 0, 508, 509, 0, 511,
512, 0, 514, 0, 515, 516, 517, 518, 519, 520,
521, 522, 523, 524, 525, 526, 0, 0, 528, 529,
0, 530, 0, 532, 533, 534, 535, 536, 0, 537,
0, 0, 0, 0, 540, 541, 0, 543, 0, 0,
545, 546, 547, 548, 549, 550, 551, 0, 0, 552,
553, 554, 555, 556, 0, 0, 557, 558, 559, 560,
561, 0, 0, 0, 564, 0, 566, 567, 568, 569,
0, 0, 570, 0, 0, 571, 572, 573, 574, 575,
576, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 588, 589, 590
};
static const yytype_int16 yycheck[] =
{
6, 44, 204, 0, 22, 936, 1147, 627, 790, 51,
28, 907, 0, 36, 0, 0, 1105, 23, 1169, 25,
182, 0, 788, 29, 21, 740, 741, 742, 34, 35,
36, 746, 38, 1421, 1075, 41, 42, 923, 44, 908,
46, 1546, 848, 932, 660, 812, 190, 934, 839, 1465,
204, 13, 2690, 938, 6, 2495, 813, 2564, 2386, 2324,
1063, 1064, 1078, 1458, 1020, 2849, 1200, 797, 1787, 18,
1073, 1471, 2161, 2162, 199, 45, 209, 1465, 2898, 3030,
702, 21, 207, 3636, 2508, 210, 1705, 3300, 3003, 1009,
223, 3265, 708, 860, 618, 2407, 3344, 8, 3057, 3347,
3059, 0, 1975, 907, 15, 1025, 23, 3254, 994, 0,
2666, 915, 998, 3591, 1609, 3246, 2907, 1003, 3331, 36,
3537, 925, 4168, 3254, 3319, 707, 3632, 1013, 697, 3688,
21, 3926, 3916, 3872, 682, 169, 3929, 685, 35, 1958,
3572, 1027, 2872, 4509, 3566, 42, 670, 184, 2019, 2781,
4400, 184, 2063, 1399, 0, 0, 1450, 3636, 0, 0,
51, 0, 0, 4403, 660, 50, 2126, 0, 4560, 0,
1570, 1890, 41, 2128, 941, 218, 3915, 793, 0, 0,
0, 1800, 2917, 0, 190, 191, 192, 193, 3317, 195,
4354, 4666, 836, 199, 2096, 201, 836, 4718, 204, 1061,
1062, 207, 2104, 3612, 210, 5, 3571, 213, 3573, 215,
1072, 858, 218, 4706, 3500, 1509, 222, 0, 224, 4525,
5, 4527, 11, 0, 5, 49, 1229, 1230, 1482, 5,
5, 57, 1526, 2498, 0, 0, 4627, 4628, 4402, 107,
9, 35, 4853, 1259, 57, 874, 1249, 3, 5, 4580,
57, 898, 22, 87, 5, 42, 903, 39, 26, 5,
0, 4914, 13, 14, 5, 1607, 1608, 13, 14, 9,
1413, 986, 13, 14, 30, 31, 0, 5, 5, 2911,
138, 158, 5, 5, 57, 9, 26, 4660, 1094, 4620,
164, 5, 39, 184, 187, 5, 4, 793, 5, 29,
105, 9, 26, 22, 20, 117, 105, 11, 2451, 57,
2453, 179, 79, 26, 2457, 11, 2459, 2460, 133, 9,
33, 114, 1576, 1577, 3005, 2468, 2469, 2470, 163, 264,
4652, 145, 112, 3, 4, 5, 40, 267, 1996, 9,
170, 2606, 105, 2608, 40, 3993, 3994, 175, 3996, 3997,
3998, 3999, 4000, 144, 289, 5, 1218, 1219, 144, 42,
163, 131, 264, 213, 165, 70, 264, 270, 72, 105,
264, 24, 240, 27, 255, 243, 72, 38, 157, 72,
163, 303, 270, 1245, 112, 105, 163, 289, 300, 201,
163, 289, 45, 357, 158, 289, 258, 163, 163, 4818,
4819, 356, 252, 91, 187, 114, 162, 339, 164, 1365,
187, 155, 131, 165, 11, 315, 153, 383, 112, 339,
428, 187, 187, 163, 252, 2348, 4, 112, 144, 141,
86, 9, 4, 5, 323, 163, 434, 9, 1327, 163,
382, 397, 112, 819, 418, 163, 4, 187, 4941, 339,
4823, 9, 310, 29, 1339, 74, 159, 285, 4708, 5,
327, 311, 5115, 187, 57, 84, 474, 4707, 1399, 187,
271, 26, 128, 627, 254, 417, 4782, 53, 33, 347,
478, 169, 57, 684, 440, 397, 163, 74, 225, 356,
193, 1532, 625, 383, 328, 323, 416, 698, 631, 2422,
474, 363, 211, 329, 4835, 163, 395, 251, 474, 359,
474, 644, 1279, 225, 1130, 285, 329, 296, 1147, 271,
26, 163, 329, 478, 185, 679, 74, 33, 440, 266,
430, 1147, 252, 74, 57, 416, 206, 84, 163, 474,
1307, 74, 474, 57, 474, 254, 163, 74, 202, 202,
57, 84, 474, 323, 442, 74, 119, 84, 228, 4881,
395, 325, 267, 343, 163, 259, 416, 1149, 359, 163,
343, 474, 474, 359, 375, 1460, 474, 3724, 383, 151,
474, 329, 117, 3264, 383, 478, 356, 455, 1204, 5200,
353, 403, 395, 3724, 422, 1515, 326, 474, 380, 605,
474, 11, 311, 1746, 416, 611, 474, 613, 395, 259,
616, 11, 618, 610, 620, 383, 474, 3748, 433, 433,
5012, 627, 610, 339, 610, 610, 632, 420, 634, 5122,
40, 610, 1436, 380, 1130, 641, 423, 356, 5113, 439,
5013, 408, 1562, 359, 478, 5018, 427, 383, 478, 4066,
474, 421, 478, 366, 439, 1541, 429, 606, 1544, 665,
460, 4093, 72, 5054, 670, 478, 708, 395, 5321, 675,
3883, 478, 428, 679, 474, 460, 682, 839, 712, 685,
474, 470, 4104, 1552, 34, 2950, 4108, 259, 3639, 474,
4940, 4931, 1496, 474, 477, 701, 1325, 416, 474, 474,
477, 1330, 1331, 721, 473, 723, 1322, 725, 1204, 752,
707, 477, 477, 731, 1330, 1331, 1605, 474, 2060, 610,
1607, 1608, 1609, 474, 4010, 465, 466, 4092, 474, 4094,
3925, 3905, 1354, 474, 5255, 463, 329, 477, 4147, 1383,
423, 465, 466, 1383, 706, 472, 752, 474, 476, 476,
5243, 474, 474, 477, 329, 5174, 958, 465, 466, 765,
474, 767, 112, 1139, 474, 4811, 470, 474, 708, 478,
813, 467, 468, 469, 470, 465, 466, 1928, 463, 472,
26, 787, 788, 476, 790, 791, 723, 724, 725, 795,
827, 728, 729, 730, 827, 465, 466, 474, 29, 943,
843, 738, 4450, 809, 958, 1894, 329, 813, 395, 1438,
1457, 366, 1743, 819, 857, 329, 707, 708, 1738, 1448,
478, 3149, 329, 1614, 735, 831, 1322, 373, 374, 954,
402, 2920, 829, 2922, 5327, 960, 478, 843, 963, 4398,
3969, 829, 2242, 829, 829, 5151, 1935, 395, 395, 474,
829, 857, 5183, 1856, 395, 418, 2272, 1946, 22, 437,
366, 478, 395, 1510, 28, 5196, 5116, 3291, 395, 875,
467, 468, 469, 470, 880, 881, 395, 817, 5118, 478,
1527, 416, 460, 1503, 478, 478, 1375, 465, 466, 3624,
343, 3842, 163, 465, 466, 175, 22, 5390, 26, 3,
3, 81, 1278, 478, 1533, 911, 912, 1536, 1537, 275,
172, 1112, 207, 269, 3829, 252, 187, 2877, 5, 289,
2320, 105, 791, 2878, 81, 275, 795, 2173, 934, 935,
829, 105, 5096, 341, 57, 820, 827, 943, 829, 5331,
5332, 66, 175, 123, 155, 2440, 5421, 3, 954, 5,
26, 850, 958, 5117, 960, 478, 117, 963, 4697, 84,
2862, 289, 3227, 3228, 478, 5296, 123, 131, 2262, 1831,
1832, 478, 978, 3, 1175, 269, 5, 106, 3610, 83,
83, 5, 2853, 829, 829, 1186, 36, 829, 829, 117,
829, 829, 400, 5359, 1000, 5245, 829, 2908, 829, 165,
1201, 1007, 1008, 4556, 5244, 131, 217, 829, 829, 829,
5, 2846, 829, 1389, 911, 912, 275, 142, 3748, 252,
395, 474, 339, 1029, 1030, 1031, 428, 1033, 4507, 1035,
1036, 135, 91, 136, 3949, 160, 22, 63, 64, 5431,
201, 308, 2547, 4, 5, 2186, 2865, 293, 9, 4466,
126, 107, 111, 252, 371, 465, 466, 467, 468, 469,
470, 66, 191, 2898, 4543, 465, 466, 467, 468, 469,
470, 121, 334, 201, 3894, 81, 5326, 4556, 4510, 107,
112, 1796, 112, 3226, 5263, 422, 145, 22, 1717, 1974,
193, 1040, 4514, 2751, 2752, 326, 2027, 4519, 2756, 1105,
4522, 1107, 1108, 478, 474, 351, 84, 287, 339, 475,
341, 163, 478, 463, 4898, 166, 2157, 123, 474, 30,
31, 285, 472, 179, 474, 475, 476, 231, 478, 252,
287, 2016, 164, 1139, 112, 2793, 2794, 142, 112, 305,
160, 387, 422, 389, 4939, 131, 474, 273, 95, 4933,
120, 179, 1149, 81, 22, 160, 4949, 3246, 4897, 323,
28, 1943, 1944, 1169, 1170, 3254, 437, 2562, 1174, 400,
1176, 4419, 259, 2060, 4387, 117, 301, 2062, 472, 26,
91, 285, 476, 478, 240, 81, 215, 243, 291, 422,
151, 1197, 356, 4932, 1200, 123, 131, 1203, 4393, 383,
111, 327, 328, 5249, 5250, 115, 329, 474, 388, 383,
1216, 4162, 240, 1150, 343, 243, 1153, 284, 1155, 478,
1157, 349, 1159, 255, 254, 172, 1163, 123, 5407, 259,
356, 388, 275, 356, 145, 259, 1278, 5, 164, 4718,
1246, 1152, 2173, 1154, 4203, 1156, 2013, 1158, 117, 1160,
1161, 1162, 3341, 382, 383, 416, 1167, 456, 1149, 201,
319, 1830, 131, 131, 259, 126, 285, 128, 1274, 1275,
1276, 112, 1278, 183, 2161, 1897, 254, 238, 187, 126,
241, 287, 386, 32, 388, 114, 411, 338, 416, 1905,
349, 347, 1298, 344, 475, 1819, 301, 478, 259, 285,
351, 66, 47, 4809, 323, 252, 409, 26, 116, 283,
83, 1859, 1934, 273, 417, 1349, 1938, 420, 1887, 347,
1942, 1212, 1904, 1945, 383, 285, 1874, 4744, 5123, 1877,
1336, 1368, 1369, 384, 1371, 1368, 1369, 323, 1371, 180,
174, 1232, 1385, 395, 356, 474, 5392, 112, 141, 1503,
285, 124, 285, 323, 4145, 406, 4778, 2139, 77, 287,
395, 134, 288, 323, 1370, 424, 85, 179, 1374, 1375,
356, 334, 1263, 2304, 1994, 349, 4935, 213, 437, 1385,
1386, 1387, 388, 1389, 13, 14, 418, 1278, 323, 1937,
323, 287, 1940, 1941, 113, 124, 145, 49, 2329, 455,
208, 460, 167, 264, 1410, 134, 411, 349, 319, 383,
145, 463, 205, 254, 323, 474, 252, 285, 327, 285,
4837, 356, 300, 104, 476, 4842, 4843, 455, 240, 298,
259, 3938, 3988, 35, 22, 478, 362, 182, 349, 1445,
315, 402, 187, 478, 1450, 392, 106, 356, 1824, 4596,
424, 103, 54, 5006, 417, 323, 5251, 2388, 1464, 1465,
388, 180, 2358, 437, 356, 4596, 478, 2271, 1474, 429,
6, 1477, 383, 192, 416, 350, 310, 1368, 1369, 224,
1371, 341, 275, 2403, 1433, 116, 460, 153, 356, 254,
356, 126, 388, 128, 259, 285, 284, 1503, 4977, 1505,
474, 4696, 104, 1509, 465, 466, 340, 1996, 383, 126,
4684, 128, 285, 424, 2603, 2004, 151, 428, 439, 397,
1526, 58, 1528, 359, 1567, 1531, 437, 5006, 437, 66,
5325, 191, 3860, 323, 151, 347, 301, 5015, 5016, 460,
400, 5336, 240, 131, 275, 339, 319, 341, 200, 460,
323, 460, 317, 2440, 2358, 430, 285, 238, 2489, 225,
241, 1567, 440, 474, 165, 114, 356, 3895, 356, 269,
2186, 166, 1578, 1579, 1580, 1581, 1582, 208, 383, 3452,
416, 2338, 2339, 356, 2504, 2342, 478, 2391, 190, 22,
1596, 168, 3904, 284, 323, 28, 5391, 1973, 168, 1975,
252, 1607, 1608, 1609, 92, 1981, 400, 2527, 2528, 2529,
2530, 1987, 1988, 1989, 349, 346, 361, 410, 1517, 2539,
2424, 1997, 1998, 1522, 259, 3020, 2002, 2116, 3133, 264,
325, 175, 349, 11, 5429, 3724, 238, 254, 284, 241,
112, 5120, 259, 2434, 2435, 2436, 411, 264, 383, 347,
252, 228, 114, 372, 190, 2179, 375, 5452, 228, 3748,
237, 1862, 211, 199, 115, 356, 383, 437, 463, 1871,
1814, 207, 3391, 3816, 210, 1876, 164, 3820, 3821, 4593,
3823, 476, 284, 343, 474, 237, 158, 168, 1889, 424,
460, 228, 1591, 345, 72, 3960, 1595, 3962, 131, 1705,
4913, 1707, 437, 4654, 305, 254, 234, 424, 252, 197,
356, 306, 3207, 1719, 1720, 143, 1870, 1871, 3213, 114,
214, 4635, 382, 383, 212, 460, 328, 158, 3563, 273,
164, 3566, 183, 2362, 222, 1860, 1742, 4911, 311, 474,
341, 2370, 437, 338, 2373, 315, 2503, 228, 350, 211,
181, 324, 4947, 3153, 4928, 1761, 351, 474, 158, 24,
248, 189, 311, 197, 126, 460, 128, 402, 370, 169,
115, 1777, 1778, 1779, 1780, 1765, 5255, 412, 212, 352,
45, 269, 5335, 478, 1790, 402, 397, 187, 222, 384,
4964, 1797, 254, 323, 1800, 412, 327, 398, 395, 1789,
195, 3636, 474, 404, 2955, 1811, 4444, 104, 1814, 437,
387, 5289, 389, 1819, 285, 4730, 365, 387, 1824, 389,
2344, 3479, 3480, 3481, 3482, 356, 356, 3485, 3486, 3487,
3488, 3489, 3490, 3491, 3492, 3493, 3494, 414, 183, 437,
1994, 2772, 2557, 0, 414, 333, 114, 2778, 92, 311,
478, 5330, 323, 1859, 1860, 285, 5335, 252, 386, 254,
430, 418, 159, 328, 1870, 1871, 463, 153, 1874, 3472,
4829, 1877, 158, 475, 437, 11, 234, 158, 422, 476,
478, 5434, 5130, 3541, 3542, 356, 414, 477, 1894, 1895,
158, 356, 254, 323, 418, 1901, 193, 1903, 3501, 333,
181, 387, 264, 389, 40, 158, 387, 1904, 389, 437,
1953, 439, 4550, 4353, 4552, 478, 254, 474, 4183, 4184,
164, 259, 1928, 165, 5098, 2928, 356, 195, 181, 1935,
418, 1937, 332, 414, 1940, 1941, 72, 1943, 1944, 225,
1946, 238, 4726, 1966, 241, 478, 474, 1953, 4372, 1510,
474, 2567, 4392, 197, 1960, 5434, 198, 303, 250, 1965,
1966, 1958, 285, 1969, 323, 1905, 1527, 1973, 212, 1975,
1958, 309, 1958, 1958, 1980, 1981, 268, 400, 222, 1958,
266, 1987, 1988, 1989, 252, 343, 254, 1993, 1994, 1995,
1996, 1997, 1998, 1999, 2000, 439, 2002, 356, 2004, 2005,
323, 4555, 2008, 1914, 248, 1916, 2622, 1918, 4562, 1920,
430, 1922, 43, 1904, 4342, 1926, 460, 2023, 2024, 2025,
2026, 3640, 285, 1972, 2030, 2031, 2228, 2656, 386, 2035,
474, 2653, 2038, 356, 65, 2041, 2042, 2043, 2044, 2045,
2046, 2047, 2048, 2049, 5257, 2051, 4961, 285, 1965, 437,
1517, 2057, 2058, 4, 2060, 1522, 414, 2848, 9, 3894,
323, 2067, 439, 5237, 327, 437, 74, 1958, 2269, 5020,
3324, 2567, 460, 3327, 2228, 2219, 84, 613, 4206, 437,
315, 439, 269, 460, 4212, 323, 22, 274, 460, 333,
2096, 472, 28, 356, 2100, 476, 902, 474, 2104, 4919,
2106, 2226, 255, 256, 2229, 2230, 478, 387, 473, 389,
2116, 263, 2918, 478, 920, 350, 474, 923, 356, 2125,
2126, 2851, 475, 346, 1591, 478, 2622, 8, 1595, 665,
11, 473, 472, 2139, 474, 2268, 478, 3006, 215, 675,
2146, 2032, 2148, 141, 474, 5319, 682, 2523, 383, 685,
2764, 239, 2766, 2767, 3305, 153, 2144, 2097, 2098, 40,
158, 30, 31, 3032, 3315, 2188, 47, 2190, 2186, 474,
285, 3, 4315, 2179, 4317, 4318, 153, 4869, 4321, 4871,
400, 158, 2188, 4875, 2190, 4877, 346, 3906, 4, 2809,
3695, 72, 469, 9, 3852, 430, 349, 474, 2241, 476,
2576, 2207, 400, 3007, 319, 469, 475, 205, 323, 478,
474, 5385, 476, 2219, 2347, 2221, 2222, 339, 340, 5432,
2226, 5005, 2228, 2229, 2230, 2854, 2232, 225, 2234, 5180,
383, 4923, 2238, 325, 269, 2241, 4564, 898, 2854, 274,
88, 356, 903, 472, 474, 474, 476, 476, 225, 475,
237, 83, 478, 2144, 475, 237, 2262, 478, 139, 283,
191, 475, 2751, 2752, 478, 239, 2272, 2756, 266, 4104,
3686, 424, 3672, 4108, 2280, 2281, 181, 275, 8, 3083,
141, 11, 2288, 80, 437, 15, 16, 17, 2421, 266,
475, 2297, 153, 478, 400, 2338, 2339, 158, 3432, 2342,
437, 182, 439, 135, 2793, 2794, 187, 460, 475, 3928,
5, 478, 2318, 339, 340, 35, 11, 2323, 2324, 430,
3207, 474, 3253, 2945, 19, 349, 3213, 475, 3728, 53,
478, 3251, 2338, 2339, 54, 474, 2342, 476, 2344, 2345,
5291, 3297, 37, 224, 205, 346, 475, 3363, 3364, 478,
475, 475, 475, 478, 478, 478, 2972, 215, 475, 383,
349, 478, 2368, 9, 225, 2371, 8, 475, 3299, 11,
478, 474, 3258, 15, 16, 17, 475, 2753, 475, 478,
475, 478, 475, 478, 104, 478, 2392, 2393, 8, 2765,
271, 11, 474, 35, 383, 15, 16, 17, 478, 231,
424, 2407, 269, 2409, 2410, 266, 475, 943, 475, 478,
4675, 478, 410, 437, 275, 343, 475, 475, 954, 478,
478, 2797, 53, 475, 960, 5376, 478, 963, 475, 5146,
5147, 478, 2438, 2439, 2440, 424, 460, 475, 2444, 3693,
478, 3695, 234, 475, 2450, 4952, 478, 167, 437, 437,
474, 439, 2458, 285, 474, 2461, 8, 187, 35, 2835,
2503, 2467, 234, 15, 16, 17, 475, 5269, 5270, 478,
190, 460, 387, 2479, 389, 2481, 2972, 54, 475, 209,
361, 478, 339, 340, 4812, 474, 3637, 3638, 387, 2495,
389, 323, 2498, 4821, 2500, 327, 4639, 2503, 141, 1035,
1036, 2507, 428, 5287, 2510, 8, 475, 4596, 11, 478,
153, 430, 15, 16, 17, 158, 2522, 2523, 238, 475,
475, 241, 478, 478, 356, 3913, 43, 104, 475, 32,
475, 478, 252, 478, 2540, 5173, 3931, 475, 339, 340,
478, 271, 475, 457, 2550, 478, 2552, 2509, 211, 410,
2694, 343, 475, 272, 386, 478, 388, 475, 272, 269,
478, 2549, 205, 475, 284, 475, 478, 209, 478, 3284,
2576, 343, 437, 475, 439, 2700, 478, 458, 2703, 476,
158, 2706, 225, 3514, 465, 466, 467, 468, 469, 470,
475, 395, 475, 478, 386, 478, 475, 2603, 477, 2605,
2606, 2607, 2608, 475, 475, 437, 478, 478, 328, 475,
269, 457, 478, 190, 386, 5399, 475, 3246, 3621, 478,
272, 475, 414, 266, 478, 3254, 475, 43, 477, 271,
350, 4720, 275, 457, 234, 475, 3521, 2643, 478, 833,
475, 835, 414, 478, 3260, 437, 3262, 439, 211, 475,
370, 271, 478, 475, 475, 2809, 478, 478, 2549, 3416,
475, 238, 162, 478, 241, 437, 475, 439, 475, 478,
475, 478, 4507, 478, 4109, 252, 4111, 5461, 2684, 4514,
475, 474, 474, 478, 4519, 3, 234, 4522, 2694, 475,
467, 478, 478, 3582, 2700, 475, 475, 2703, 478, 478,
2706, 475, 474, 428, 478, 23, 209, 284, 4543, 2715,
475, 2753, 475, 4218, 53, 84, 163, 2723, 2872, 271,
475, 4556, 2728, 478, 3340, 475, 475, 475, 478, 478,
478, 461, 462, 463, 3619, 465, 466, 467, 468, 469,
470, 2942, 2943, 343, 207, 2751, 2752, 2753, 476, 475,
2756, 328, 478, 475, 671, 2797, 478, 474, 2764, 2765,
2766, 2767, 474, 474, 3260, 83, 3262, 410, 271, 441,
474, 2777, 234, 350, 2780, 475, 2782, 187, 478, 475,
697, 475, 478, 3405, 478, 4201, 386, 2793, 2794, 323,
146, 2797, 3723, 370, 3725, 343, 5236, 475, 475, 168,
478, 478, 476, 2809, 4462, 2811, 474, 2813, 3694, 2815,
3577, 146, 3441, 269, 414, 187, 3747, 269, 136, 461,
462, 463, 191, 465, 466, 467, 468, 469, 470, 2835,
323, 475, 146, 2839, 478, 3766, 187, 437, 386, 439,
2846, 461, 462, 463, 3340, 465, 466, 467, 468, 469,
470, 475, 475, 146, 478, 478, 2862, 269, 3664, 228,
2902, 475, 2753, 2869, 478, 323, 414, 158, 2865, 187,
2840, 2841, 2842, 475, 474, 193, 478, 2865, 2884, 2865,
2865, 343, 475, 4718, 475, 478, 2865, 478, 146, 437,
475, 439, 2898, 478, 2846, 475, 2902, 114, 478, 2905,
3101, 2907, 223, 0, 475, 274, 2797, 478, 234, 461,
462, 463, 269, 465, 466, 467, 468, 469, 470, 3120,
418, 400, 475, 2814, 386, 478, 474, 239, 475, 475,
475, 478, 478, 478, 234, 3804, 474, 346, 263, 2830,
3826, 256, 2948, 4778, 2950, 475, 2898, 475, 478, 2955,
478, 158, 414, 234, 56, 2846, 430, 475, 461, 462,
463, 215, 465, 466, 467, 468, 469, 470, 475, 475,
474, 478, 478, 291, 2865, 437, 2982, 439, 2984, 2985,
2986, 2006, 66, 254, 2009, 2592, 2593, 2594, 90, 35,
3479, 3480, 3481, 3482, 91, 254, 3485, 3486, 3487, 3488,
3489, 3490, 3491, 3492, 3493, 3494, 441, 2898, 474, 269,
158, 2902, 474, 254, 43, 4056, 334, 343, 387, 43,
389, 3812, 254, 3512, 405, 254, 83, 430, 285, 234,
430, 400, 80, 950, 349, 158, 304, 49, 146, 146,
474, 146, 411, 343, 141, 414, 474, 149, 427, 297,
474, 146, 3541, 3542, 34, 474, 153, 441, 975, 146,
386, 158, 343, 381, 146, 478, 163, 146, 383, 146,
146, 146, 169, 990, 3275, 172, 3277, 146, 146, 176,
158, 93, 184, 146, 4919, 4743, 386, 146, 414, 269,
146, 409, 3246, 3099, 146, 3724, 146, 383, 3474, 417,
3254, 474, 420, 141, 35, 386, 118, 223, 205, 424,
269, 437, 474, 439, 414, 153, 158, 158, 220, 3748,
158, 5, 437, 135, 5, 474, 474, 139, 225, 474,
158, 474, 3508, 414, 474, 5, 474, 437, 343, 439,
474, 474, 4977, 5, 474, 460, 474, 159, 474, 5,
162, 474, 254, 5, 474, 474, 437, 474, 439, 474,
475, 474, 477, 474, 474, 177, 474, 205, 474, 266,
474, 5006, 269, 474, 474, 474, 474, 3553, 275, 474,
474, 386, 8, 438, 286, 11, 474, 225, 281, 15,
16, 17, 474, 474, 207, 478, 35, 95, 478, 35,
223, 3207, 478, 158, 266, 158, 32, 3213, 395, 414,
264, 4362, 356, 395, 343, 429, 3222, 395, 395, 343,
476, 3227, 3228, 395, 395, 327, 343, 329, 266, 331,
3431, 225, 437, 330, 439, 395, 4121, 275, 340, 395,
463, 395, 84, 343, 146, 348, 348, 259, 269, 269,
220, 259, 395, 395, 356, 267, 4141, 395, 386, 417,
3266, 3267, 3268, 289, 269, 269, 368, 1184, 339, 474,
474, 264, 180, 395, 376, 1811, 395, 3283, 1814, 474,
84, 478, 285, 187, 418, 5120, 383, 146, 418, 395,
269, 3334, 383, 383, 395, 8, 395, 309, 11, 3305,
3306, 395, 15, 16, 17, 106, 395, 395, 269, 3315,
3316, 3317, 395, 410, 4702, 3321, 53, 53, 245, 32,
308, 395, 4980, 1859, 1860, 395, 8, 273, 3334, 11,
432, 395, 343, 15, 16, 17, 42, 434, 1874, 436,
437, 1877, 3330, 386, 395, 289, 395, 3976, 3970, 3971,
3972, 3973, 3974, 289, 42, 395, 395, 343, 395, 8,
395, 395, 11, 3852, 395, 3353, 15, 16, 17, 478,
4136, 475, 410, 3416, 209, 472, 395, 395, 475, 476,
477, 395, 269, 209, 209, 395, 441, 3549, 209, 3395,
209, 40, 269, 479, 209, 209, 269, 269, 47, 209,
209, 1937, 209, 395, 1940, 1941, 405, 437, 474, 35,
3416, 146, 24, 66, 269, 146, 254, 112, 418, 72,
5255, 437, 146, 72, 146, 146, 3432, 429, 269, 231,
264, 84, 254, 35, 472, 158, 254, 475, 476, 3330,
35, 254, 474, 215, 345, 271, 34, 474, 3454, 474,
393, 393, 146, 146, 395, 472, 395, 3463, 395, 112,
395, 114, 3353, 3469, 418, 3471, 472, 146, 3474, 418,
146, 146, 263, 3479, 3480, 3481, 3482, 395, 258, 3485,
3486, 3487, 3488, 3489, 3490, 3491, 3492, 3493, 3494, 163,
474, 245, 3498, 3499, 245, 5330, 209, 11, 393, 433,
5335, 478, 3508, 474, 395, 3547, 3512, 474, 172, 4129,
3516, 154, 163, 478, 167, 397, 475, 180, 3524, 180,
205, 3527, 474, 3529, 3566, 270, 359, 209, 478, 213,
478, 4418, 3538, 182, 35, 3541, 3542, 278, 187, 418,
3546, 3547, 195, 53, 343, 3551, 475, 3553, 474, 418,
259, 213, 259, 213, 3560, 3561, 3562, 3563, 271, 239,
3566, 3567, 474, 395, 395, 3571, 3572, 3573, 395, 430,
3724, 400, 3578, 346, 158, 224, 215, 148, 259, 269,
43, 4210, 1499, 365, 254, 3555, 3556, 3557, 3558, 271,
148, 223, 223, 223, 3748, 339, 3602, 395, 267, 5434,
386, 254, 269, 478, 269, 148, 259, 4096, 148, 323,
3616, 3563, 3618, 181, 3566, 353, 395, 395, 275, 311,
35, 475, 271, 209, 418, 418, 215, 267, 4343, 307,
3636, 3637, 3638, 463, 3640, 461, 462, 463, 191, 465,
466, 467, 468, 469, 470, 264, 463, 146, 301, 158,
35, 3657, 3658, 3659, 3660, 430, 3547, 384, 160, 264,
308, 146, 4284, 4285, 317, 4287, 474, 4043, 474, 146,
353, 4822, 3563, 146, 264, 3566, 3877, 3878, 437, 254,
3686, 35, 254, 2219, 3636, 215, 269, 269, 178, 178,
2226, 158, 35, 2229, 2230, 457, 472, 457, 475, 3705,
347, 475, 243, 215, 5362, 5363, 475, 475, 475, 353,
158, 187, 361, 4644, 5219, 269, 254, 187, 187, 187,
478, 187, 478, 441, 23, 4866, 478, 170, 474, 395,
163, 242, 437, 269, 53, 478, 263, 3755, 383, 430,
215, 400, 475, 475, 163, 475, 475, 475, 461, 462,
463, 290, 465, 466, 467, 468, 469, 470, 411, 475,
475, 281, 4648, 474, 163, 475, 478, 475, 4857, 233,
4859, 475, 8, 475, 474, 11, 474, 395, 474, 461,
462, 463, 280, 465, 466, 467, 468, 469, 470, 457,
270, 270, 434, 1710, 3800, 416, 434, 474, 269, 424,
53, 6, 474, 459, 40, 463, 146, 269, 269, 458,
1727, 47, 461, 462, 463, 272, 465, 466, 467, 468,
469, 470, 474, 191, 474, 395, 441, 199, 395, 395,
259, 1748, 8, 395, 254, 11, 72, 146, 3844, 15,
16, 17, 3848, 273, 3850, 348, 3852, 223, 356, 146,
146, 348, 348, 3859, 191, 148, 32, 463, 395, 3865,
225, 418, 478, 291, 291, 415, 395, 395, 235, 3875,
395, 395, 235, 235, 395, 269, 395, 395, 343, 395,
395, 254, 395, 343, 3890, 343, 146, 1804, 3894, 343,
395, 4673, 42, 473, 475, 395, 475, 356, 3904, 475,
395, 1818, 395, 139, 209, 209, 209, 3913, 209, 175,
3, 475, 475, 1830, 405, 3, 158, 478, 3924, 5070,
5071, 5062, 3928, 43, 325, 1842, 3932, 3933, 105, 475,
478, 158, 474, 267, 269, 3923, 35, 4557, 146, 395,
475, 158, 3894, 146, 175, 146, 182, 473, 343, 272,
473, 187, 343, 475, 3960, 343, 3962, 343, 144, 343,
353, 478, 144, 3969, 209, 418, 418, 4596, 209, 1886,
1887, 209, 4763, 4462, 209, 4129, 209, 209, 472, 209,
209, 137, 4471, 163, 11, 190, 478, 4607, 224, 281,
158, 475, 475, 475, 199, 200, 4002, 4198, 429, 163,
474, 4377, 207, 3894, 209, 210, 478, 4013, 434, 163,
172, 270, 330, 460, 423, 82, 405, 158, 223, 35,
475, 418, 418, 215, 475, 474, 395, 199, 478, 475,
475, 475, 3923, 209, 474, 271, 53, 4043, 386, 146,
474, 372, 167, 395, 405, 395, 348, 4053, 4054, 395,
35, 395, 343, 395, 4060, 4061, 343, 475, 475, 4065,
5211, 475, 323, 474, 4070, 53, 4953, 4073, 4074, 54,
386, 437, 4078, 4079, 4275, 424, 158, 148, 4084, 4085,
4086, 4087, 4088, 72, 146, 105, 4092, 4093, 4094, 213,
4096, 4097, 405, 475, 4100, 271, 209, 209, 4104, 209,
209, 395, 4108, 474, 194, 2022, 269, 318, 4114, 441,
474, 35, 78, 386, 289, 405, 475, 395, 478, 104,
105, 478, 478, 4129, 475, 361, 169, 112, 473, 5060,
4136, 478, 353, 474, 4140, 474, 105, 4160, 163, 4145,
209, 163, 475, 316, 474, 53, 475, 435, 475, 4771,
4138, 4139, 4104, 435, 4160, 281, 4108, 4163, 2694, 474,
4782, 478, 212, 475, 2700, 5306, 474, 2703, 475, 4370,
2706, 279, 212, 385, 474, 276, 53, 4183, 4184, 176,
264, 405, 167, 463, 163, 395, 5082, 4205, 437, 72,
188, 193, 463, 259, 181, 4201, 4214, 53, 259, 386,
395, 478, 478, 66, 395, 190, 395, 146, 475, 4215,
209, 474, 165, 4104, 163, 112, 35, 4108, 418, 187,
264, 353, 458, 474, 5155, 418, 35, 160, 254, 465,
466, 467, 468, 469, 470, 158, 353, 4866, 4854, 4861,
264, 437, 53, 437, 35, 163, 269, 4138, 4139, 474,
4866, 158, 196, 238, 4743, 207, 241, 272, 4264, 163,
474, 474, 316, 423, 369, 212, 475, 252, 475, 254,
289, 436, 474, 127, 84, 474, 474, 269, 475, 4768,
4286, 317, 35, 158, 474, 461, 462, 463, 146, 465,
466, 467, 468, 469, 470, 4301, 475, 395, 22, 284,
395, 119, 5017, 474, 28, 474, 2223, 474, 474, 35,
2846, 259, 180, 474, 236, 474, 474, 41, 191, 474,
2237, 353, 475, 146, 105, 4331, 132, 433, 35, 475,
273, 340, 340, 405, 367, 475, 367, 53, 53, 35,
75, 4347, 478, 328, 474, 474, 70, 4353, 423, 386,
180, 474, 474, 474, 418, 158, 4362, 386, 252, 474,
2277, 475, 2898, 269, 5, 350, 4988, 152, 386, 145,
474, 4377, 4748, 441, 474, 66, 272, 66, 127, 437,
437, 422, 316, 474, 4390, 370, 4392, 372, 423, 474,
375, 478, 35, 356, 5014, 163, 4597, 314, 122, 259,
124, 4389, 386, 4557, 132, 4607, 193, 131, 613, 474,
134, 353, 4788, 35, 269, 35, 4422, 269, 200, 272,
625, 272, 474, 188, 165, 165, 631, 209, 475, 478,
434, 395, 474, 117, 53, 159, 475, 339, 416, 644,
5, 223, 4596, 353, 339, 475, 5062, 142, 276, 21,
324, 32, 259, 4607, 395, 660, 4462, 5388, 145, 163,
665, 474, 474, 474, 474, 4471, 671, 474, 339, 193,
675, 676, 478, 478, 75, 277, 367, 682, 367, 684,
685, 4606, 4488, 4489, 474, 165, 4492, 437, 165, 474,
2507, 4980, 697, 698, 1331, 911, 1594, 437, 4389, 912,
2854, 4507, 2391, 708, 4510, 829, 3032, 2313, 4514, 3723,
3697, 866, 5202, 4519, 5379, 5198, 4522, 4523, 5449, 4525,
2416, 4527, 3244, 4529, 4530, 4650, 3828, 4879, 252, 5060,
254, 5306, 3875, 4702, 5465, 4333, 4672, 4543, 2949, 4545,
264, 2643, 5179, 4556, 5293, 5090, 0, 5089, 5221, 273,
4556, 4557, 4558, 4559, 4560, 4507, 5330, 2953, 5024, 3924,
3908, 285, 4514, 2480, 3718, 3866, 3058, 4519, 2492, 3295,
4522, 2492, 908, 3891, 8, 4371, 4679, 11, 2486, 3307,
4688, 5308, 787, 788, 5465, 5449, 5202, 4665, 793, 3253,
3248, 4543, 5234, 4609, 1756, 4840, 5033, 4612, 4974, 323,
4606, 4607, 326, 327, 4556, 28, 40, 1176, 3979, 4808,
1187, 5396, 1802, 47, 819, 4991, 3931, 2927, 2162, 4995,
1811, 4997, 4953, 4514, 1870, 4536, 1962, 8, 4519, 1961,
11, 4522, 356, 661, 15, 16, 17, 91, 72, 695,
3185, 3747, 3299, 5260, 4650, 1961, 3766, 4653, 5437, 2097,
988, 808, 1417, 2106, 2105, 1905, 3911, 4539, 4140, 4665,
5172, 8, 4668, 3616, 11, 5154, 1353, 4673, 2869, 4675,
2142, 1308, 2884, 2116, 4717, 1378, 4682, 3581, 1377, 5164,
4999, 4126, 2141, 1380, 3566, 4110, 4093, 141, 4779, 4677,
5306, 3563, 4698, 40, 4977, 4976, 4702, 421, 3617, 153,
47, 3563, 5443, 5277, 158, 139, 5366, 5154, 1835, 163,
4716, 4717, 4718, 3516, 1385, 169, 4746, 4533, 172, 5167,
2814, 2724, 176, 5168, 2055, 72, 2444, 4715, 2812, 934,
935, 936, -1, -1, 2058, -1, -1, 4743, 943, -1,
4746, -1, 4748, -1, -1, 950, 4788, -1, 182, 954,
-1, 205, -1, 187, -1, 960, -1, -1, 963, -1,
-1, -1, 4768, 2680, -1, -1, 4718, -1, 4774, -1,
975, 225, 4778, -1, -1, -1, 4782, -1, -1, -1,
2697, -1, 4788, -1, 5273, 990, 4677, -1, -1, -1,
224, 4797, 139, -1, -1, 2712, -1, -1, -1, -1,
-1, 22, -1, -1, -1, -1, -1, 28, -1, -1,
-1, -1, 266, -1, 4820, 269, 4822, -1, -1, -1,
-1, 275, -1, -1, 4715, -1, 4778, -1, 209, -1,
1035, 1036, -1, -1, -1, 182, -1, 271, -1, -1,
187, 4847, -1, 625, -1, -1, -1, -1, -1, 631,
-1, 4857, 4858, 4859, 4860, -1, -1, -1, -1, -1,
5014, -1, 644, -1, -1, -1, -1, -1, -1, -1,
1075, -1, -1, 5362, 5363, -1, 330, 224, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 4778, -1, 4895,
271, -1, -1, -1, -1, -1, -1, 4788, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 1112, -1, -1,
4916, -1, -1, 4919, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 271, 1130, -1, 361, -1, 383,
-1, -1, -1, -1, 1139, -1, -1, -1, -1, -1,
-1, 4929, 1147, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 410, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 4919, 4974, -1,
1175, 4977, -1, -1, 4980, -1, -1, -1, 4984, 1184,
434, 1186, 436, 437, -1, 4991, -1, -1, -1, 4995,
-1, 4997, -1, 4999, -1, -1, 1201, -1, -1, 1204,
5006, -1, -1, -1, -1, -1, 5012, -1, 5014, -1,
-1, 1216, -1, 8, 361, 5003, 11, -1, 472, 5025,
-1, 475, 476, 477, 458, 4977, -1, 3563, 4919, -1,
3566, 465, 466, 467, 468, 469, 470, -1, 4929, -1,
-1, 1246, -1, -1, -1, 40, -1, -1, -1, -1,
-1, -1, 47, -1, 5006, -1, -1, -1, -1, 2976,
-1, -1, 5187, -1, 5070, 5071, -1, -1, -1, 1274,
1275, 1276, -1, 1278, -1, -1, -1, 72, 2995, -1,
461, 462, 463, -1, 465, 466, 467, 468, 469, 470,
-1, -1, -1, 1298, -1, 5101, -1, -1, -1, -1,
3636, -1, 5108, -1, -1, -1, 5112, -1, -1, -1,
-1, 458, 5003, -1, 5120, -1, -1, 1322, 465, 466,
467, 468, 469, 470, -1, 1330, 1331, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 5261, 5262, -1, 5145,
5146, 5147, -1, -1, 139, 5151, -1, -1, 5154, 22,
-1, -1, -1, -1, -1, 28, -1, -1, 5164, -1,
-1, 5167, -1, -1, -1, 1370, 5172, -1, 5120, 1374,
1375, -1, 8, -1, 3091, 11, 3093, -1, -1, -1,
-1, 5187, -1, -1, 1389, -1, -1, 182, 1393, -1,
-1, -1, 187, -1, 1399, -1, -1, 70, 5204, -1,
-1, -1, -1, -1, 40, 5211, 8, -1, -1, 11,
-1, 47, -1, 15, 16, 17, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 224,
5236, -1, -1, -1, -1, 5241, 72, -1, 40, -1,
5246, -1, -1, -1, -1, 47, -1, 5235, -1, 5255,
-1, 124, -1, 1458, -1, 5261, 5262, 5263, 131, -1,
-1, 134, -1, 5260, -1, 3182, -1, 5273, -1, -1,
72, 5277, 5260, -1, 5260, 5260, 271, -1, -1, -1,
-1, 5260, -1, -1, -1, -1, 159, -1, -1, -1,
-1, -1, 5298, -1, 1499, -1, 5338, -1, -1, -1,
-1, -1, -1, 5255, 3221, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
193, -1, -1, -1, 5330, 5331, 5332, 1532, -1, 5335,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 5338, 5467, 5468, 5235, -1, 182, -1, -1, -1,
5338, 187, 5338, 5338, -1, -1, 5362, 5363, 3894, 5338,
-1, -1, -1, -1, -1, -1, 361, -1, 5374, 5260,
-1, -1, -1, -1, -1, -1, -1, -1, 5330, 252,
182, 254, -1, 5335, 35, 187, -1, 1592, 224, -1,
-1, 264, -1, -1, -1, -1, -1, -1, -1, -1,
273, 5407, 1607, 1608, 1609, 56, 3323, 209, 210, -1,
-1, 5417, 285, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 224, -1, -1, 5431, -1, -1, 5434, -1,
-1, -1, -1, -1, -1, 271, -1, 5443, 3355, 90,
5437, 5447, -1, -1, -1, -1, -1, 5338, -1, 5437,
323, 5437, 5437, 326, 327, 257, -1, -1, 5437, -1,
-1, 5467, 5468, 458, -1, -1, -1, -1, -1, 271,
465, 466, 467, 468, 469, 470, -1, -1, -1, -1,
-1, -1, 5434, 356, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 149, -1,
721, -1, 723, -1, 725, 1710, -1, -1, -1, -1,
731, 732, 733, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 1727, -1, -1, 361, -1, -1, -1, -1,
-1, 1736, -1, 184, -1, -1, -1, -1, 1743, -1,
3457, -1, -1, 1748, -1, -1, 5437, -1, 421, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 361,
-1, 3478, 1767, -1, 215, -1, -1, -1, 4104, 220,
1775, -1, 4108, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 1787, -1, -1, -1, 3503, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 1804,
-1, -1, -1, 254, -1, -1, 1811, -1, -1, 1814,
-1, -1, -1, 1818, -1, -1, -1, -1, -1, 1824,
3537, -1, 458, -1, -1, 1830, -1, -1, -1, 465,
466, 467, 468, 469, 470, 286, -1, 1842, 17, -1,
-1, -1, -1, -1, -1, -1, -1, 26, -1, -1,
-1, -1, -1, 874, 1859, 1860, 458, 1862, 1863, 461,
462, 463, -1, 465, 466, 467, 468, 469, 470, 1874,
-1, 1876, 1877, -1, -1, -1, 327, -1, -1, -1,
331, 1886, 1887, -1, 1889, 1890, -1, -1, -1, 340,
-1, -1, -1, -1, -1, -1, -1, 348, -1, -1,
1905, -1, -1, -1, -1, 356, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 368, -1, -1,
-1, -1, 0, -1, -1, 376, -1, -1, -1, -1,
-1, -1, 1937, -1, -1, 1940, 1941, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 398, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 25, 1973, -1,
1975, -1, -1, -1, -1, 1980, 1981, -1, -1, -1,
-1, 432, 1987, 1988, 1989, 436, -1, -1, 1993, -1,
1995, 1996, 1997, 1998, 1999, 2000, -1, 2002, -1, 2004,
2005, -1, -1, 2008, -1, -1, -1, -1, -1, -1,
1592, 4347, -1, 91, -1, -1, 74, 2022, 2023, 2024,
2025, 2026, 2027, -1, -1, -1, 2031, -1, -1, -1,
2035, -1, -1, 2038, -1, -1, 2041, 2042, 2043, 2044,
2045, 2046, 2047, 2048, 2049, -1, 2051, -1, 106, 8,
-1, -1, 11, 2058, -1, 2060, -1, -1, -1, -1,
-1, -1, -1, 141, -1, -1, -1, -1, -1, -1,
-1, 129, -1, -1, -1, 153, -1, -1, -1, -1,
158, 40, 140, -1, -1, 163, -1, -1, 47, -1,
-1, 169, -1, -1, 172, 2100, -1, -1, 176, -1,
-1, -1, 160, -1, -1, -1, -1, 165, -1, -1,
-1, 2116, -1, 72, -1, -1, -1, -1, -1, -1,
2125, 2126, -1, -1, -1, -1, 1147, 205, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 2150, -1, 225, -1, -1,
-1, -1, 2157, -1, -1, -1, 2161, 2162, 216, -1,
-1, -1, -1, 2168, 3881, -1, -1, -1, 2173, 2174,
-1, 4507, -1, 2178, -1, -1, -1, -1, 4514, 237,
139, 2186, -1, 4519, -1, 1767, 4522, 4523, 266, -1,
-1, 269, -1, 1775, -1, -1, -1, 275, -1, 2204,
-1, -1, 2207, -1, -1, 1787, -1, 4543, -1, -1,
-1, -1, -1, -1, 2219, -1, -1, -1, 2223, -1,
4556, 2226, -1, 182, 2229, 2230, -1, -1, 187, -1,
-1, -1, 2237, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 2250, 304, 305, -1, -1,
308, -1, 330, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 2268, 2269, 224, -1, -1, -1, -1,
4606, -1, 2277, -1, -1, -1, 334, -1, -1, 337,
-1, 1863, -1, -1, -1, 343, -1, -1, -1, -1,
-1, -1, 350, -1, -1, 2300, 2301, -1, -1, 2304,
-1, -1, -1, -1, 1325, 383, -1, -1, 1890, 1330,
1331, -1, 271, -1, 4650, -1, -1, -1, -1, -1,
378, 20, 2327, -1, 2329, 383, 25, -1, 386, 2334,
-1, -1, 410, -1, -1, 2340, -1, -1, -1, -1,
-1, -1, 2347, -1, -1, -1, 2351, 405, -1, 4066,
-1, 2356, -1, -1, -1, -1, 434, -1, 436, 437,
-1, 60, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 2376, 430, -1, 73, -1, 2381, -1, -1, -1,
2385, -1, 4718, 2388, -1, -1, -1, -1, -1, 88,
-1, -1, -1, 2398, 472, -1, -1, 475, 476, 477,
-1, -1, 361, -1, -1, -1, 2411, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 2421, 1438, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 1448, 607, -1,
129, -1, -1, 2438, 2439, 2440, -1, -1, -1, 2444,
-1, 140, 4778, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 160, -1, -1, 4181, -1, 165, -1, -1, 1490,
1491, -1, -1, -1, 2479, 2480, -1, -1, -1, -1,
-1, 660, 661, -1, 2489, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 458,
-1, -1, -1, 4220, -1, -1, 465, 466, 467, 468,
469, 470, 1533, -1, -1, 1536, 1537, -1, 2523, -1,
-1, -1, -1, -1, 4241, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 237, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 2562, -1, 4895,
-1, -1, 2567, -1, -1, -1, -1, -1, 2150, -1,
-1, 2576, 271, -1, -1, -1, 755, -1, -1, -1,
-1, -1, -1, 4919, -1, -1, 2168, -1, -1, 4306,
-1, -1, 2174, -1, -1, -1, 2178, -1, -1, -1,
-1, -1, 781, -1, -1, 304, 305, -1, -1, -1,
789, -1, -1, 792, 793, 794, -1, 2622, -1, -1,
-1, -1, 2204, -1, -1, -1, -1, -1, -1, 56,
-1, -1, -1, -1, -1, -1, -1, -1, 337, -1,
-1, 4977, -1, -1, 343, -1, -1, -1, -1, -1,
-1, 350, -1, -1, 353, -1, -1, -1, -1, 2664,
-1, -1, -1, 90, -1, -1, -1, -1, 2250, -1,
5006, -1, -1, -1, -1, 2680, -1, 2682, -1, -1,
-1, -1, -1, -1, 383, 2690, 2268, -1, 35, 2694,
-1, 390, 2697, 120, -1, 2700, 1717, -1, 2703, 398,
-1, 2706, -1, 4420, -1, -1, 405, 2712, -1, 56,
-1, -1, -1, -1, -1, -1, -1, -1, 2723, 2301,
-1, -1, 149, 2728, -1, -1, -1, -1, -1, -1,
-1, 430, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 90, -1, 2327, 2751, 2752, 2753, 4466,
-1, 2756, 2334, -1, -1, -1, -1, 184, 2340, 2764,
2765, 2766, 2767, -1, -1, 2347, -1, 2772, -1, 2351,
-1, -1, 2777, 2778, 2356, 2780, -1, 2782, -1, -1,
-1, -1, -1, -1, 5120, -1, -1, -1, 2793, 2794,
-1, -1, 2797, 220, 2376, -1, -1, -1, -1, 2381,
-1, -1, 149, 2385, -1, -1, 2811, 1828, 2813, -1,
2815, -1, -1, -1, -1, -1, 2398, 1838, -1, 1840,
-1, -1, -1, -1, -1, 1846, -1, 254, -1, 2411,
2835, -1, 1853, -1, -1, -1, -1, 184, -1, 2421,
-1, 2846, -1, -1, -1, -1, -1, -1, -1, 2854,
-1, 5187, -1, -1, -1, -1, -1, -1, 285, 286,
-1, -1, -1, -1, 2869, -1, -1, -1, 215, -1,
-1, -1, -1, 220, -1, -1, -1, -1, -1, 2884,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 2898, -1, -1, 323, -1, -1, -1,
327, -1, -1, -1, 331, 5241, -1, 254, -1, -1,
-1, -1, 2917, 340, -1, 2920, -1, 2922, -1, 5255,
-1, 348, 2927, -1, 22, 5261, 5262, -1, -1, 356,
28, -1, -1, -1, -1, -1, -1, 2942, 2943, 286,
-1, 368, -1, 2948, -1, -1, -1, -1, -1, 376,
-1, 1130, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 1983, 1984, 2969, -1, -1, 2972, 1147, 1990,
1991, 2976, 70, -1, -1, -1, -1, -1, -1, -1,
327, -1, 22, -1, 331, -1, -1, -1, 28, -1,
2995, -1, -1, 340, 5330, 35, -1, 2018, -1, 5335,
22, 348, 1181, -1, -1, 432, 28, -1, -1, 356,
-1, -1, -1, -1, 54, 3020, -1, -1, -1, -1,
-1, 368, 120, -1, -1, 1204, 124, 4744, -1, 376,
70, -1, -1, 131, -1, -1, 134, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 70, -1,
-1, 398, 3057, 3058, 3059, -1, -1, -1, -1, -1,
-1, 159, -1, -1, 104, -1, -1, 4784, -1, -1,
-1, -1, -1, -1, -1, -1, 3081, -1, -1, -1,
-1, -1, 2664, -1, 124, 432, 3091, -1, 3093, 436,
-1, 131, -1, -1, 134, 193, 3101, -1, 5434, -1,
2682, 1280, 124, -1, 2125, 2126, -1, -1, 2690, 131,
1289, 5447, 134, -1, -1, 3120, 1052, -1, -1, 159,
4837, -1, -1, -1, 1303, 4842, 4843, -1, -1, -1,
-1, 5467, 5468, -1, -1, -1, -1, 159, -1, -1,
-1, -1, -1, 1322, 1080, -1, 1325, 1326, -1, -1,
190, 1330, 1331, 193, 252, -1, 254, -1, -1, -1,
-1, -1, -1, -1, 1100, 2186, 264, -1, -1, -1,
-1, 193, -1, -1, 1110, 273, -1, 3182, 1114, -1,
-1, -1, 1118, -1, 1120, -1, -1, 285, -1, -1,
1126, -1, -1, -1, -1, -1, 1132, 3202, 238, 1135,
-1, 241, 3207, -1, -1, -1, -1, -1, 3213, -1,
-1, -1, 252, -1, 254, -1, 3221, -1, -1, -1,
-1, -1, -1, -1, 264, 323, -1, -1, 326, 327,
252, -1, 254, 273, -1, -1, -1, 4954, -1, -1,
-1, 3246, 264, -1, 284, 285, -1, -1, 3253, 3254,
-1, 273, -1, -1, -1, 3260, -1, 3262, 356, 2280,
-1, -1, -1, 285, -1, -1, -1, -1, -1, -1,
3275, -1, 3277, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 323, -1, -1, 326, 327, 328, -1,
-1, -1, -1, -1, 3299, -1, -1, -1, -1, -1,
-1, 323, -1, -1, 326, 327, -1, -1, -1, -1,
350, -1, -1, -1, -1, -1, 356, -1, 3323, -1,
-1, -1, -1, 421, -1, 22, -1, -1, -1, -1,
370, 28, -1, -1, 356, 3340, 3341, -1, -1, -1,
-1, 2362, -1, -1, 41, -1, -1, -1, -1, 2370,
3355, -1, 2373, -1, -1, -1, 3, -1, -1, -1,
-1, 8, -1, -1, 11, -1, -1, -1, 15, 16,
17, 1550, -1, 70, 56, -1, -1, 1556, -1, -1,
-1, 421, -1, -1, -1, 32, 3391, 2969, 35, -1,
-1, -1, -1, 40, -1, -1, -1, -1, -1, 421,
47, -1, -1, -1, 3409, -1, -1, 8, 90, -1,
11, -1, -1, -1, 15, 16, 17, -1, -1, -1,
-1, -1, -1, 120, -1, 72, 3431, 124, -1, 3434,
-1, 32, -1, -1, 131, -1, -1, 134, 120, 40,
-1, 5158, -1, -1, -1, -1, 47, 22, -1, 3454,
-1, -1, 3457, 28, -1, -1, -1, -1, 3463, -1,
-1, -1, 159, -1, 3469, -1, 3471, 149, -1, 3474,
-1, 72, -1, 3478, 3479, 3480, 3481, 3482, -1, -1,
3485, 3486, 3487, 3488, 3489, 3490, 3491, 3492, 3493, 3494,
-1, -1, -1, 3498, 3499, 70, 193, -1, 3503, 3081,
-1, -1, 184, 3508, -1, -1, -1, 3512, -1, 3514,
-1, 3516, -1, -1, -1, -1, -1, -1, -1, 3524,
-1, -1, 3527, -1, 3529, -1, -1, -1, -1, -1,
-1, -1, 3537, 3538, -1, 182, 3541, 3542, 220, -1,
187, 3546, 3547, -1, -1, -1, -1, -1, 3553, 124,
-1, -1, -1, -1, -1, 252, 131, 254, 3563, 134,
-1, 3566, 209, 210, -1, -1, -1, 264, 2589, 2590,
-1, -1, 254, 3578, 2595, -1, 273, 224, -1, -1,
-1, 182, -1, -1, 159, -1, 187, -1, 285, -1,
-1, 1770, -1, -1, -1, 1774, -1, 3602, -1, -1,
-1, -1, -1, 285, 286, -1, -1, -1, 209, 210,
257, -1, -1, 3618, -1, -1, -1, -1, 193, 3624,
3202, -1, -1, 224, 271, -1, 323, 274, -1, 326,
327, 3636, -1, -1, -1, 2656, -1, -1, -1, -1,
-1, 323, -1, -1, -1, 327, -1, -1, -1, 331,
-1, -1, -1, -1, -1, -1, 257, -1, 340, 356,
-1, -1, 3667, -1, -1, -1, 348, -1, -1, -1,
271, -1, -1, 274, 356, -1, -1, 252, -1, 254,
-1, -1, -1, -1, 8, -1, 368, 11, -1, 264,
-1, 15, 16, 17, 376, -1, -1, -1, 273, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 32, -1,
285, -1, -1, 3718, 361, -1, 40, -1, 3723, 3724,
3725, -1, -1, 47, 421, -1, -1, -1, -1, -1,
8, -1, -1, 11, -1, -1, -1, 15, 16, 17,
-1, 22, 3747, 3748, -1, -1, -1, 28, 72, -1,
432, 326, 327, -1, 32, -1, -1, -1, -1, -1,
361, 3766, 40, -1, -1, -1, -1, -1, -1, 47,
-1, -1, -1, -1, -1, -1, -1, 3782, -1, -1,
3785, 356, -1, -1, -1, -1, -1, -1, -1, 70,
-1, -1, -1, -1, 72, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 1986, -1, 3391,
-1, 458, -1, -1, 461, 462, 463, -1, 465, 466,
467, 468, 469, 470, -1, -1, -1, 3409, -1, -1,
-1, 2852, -1, 2854, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 124, -1, -1, 421, 3852, -1, -1,
131, -1, 3434, 134, -1, 2876, 2877, 458, 182, -1,
461, 462, 463, 187, 465, 466, 467, 468, 469, 470,
-1, -1, 3877, 3878, -1, -1, 3881, 478, 159, -1,
-1, -1, 3887, -1, -1, 209, 210, -1, -1, 3894,
-1, -1, -1, -1, -1, -1, -1, -1, 2077, -1,
224, 3906, -1, -1, 182, -1, -1, -1, -1, 187,
-1, -1, 193, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 3931, 3932, 3933, 1865,
-1, 209, 210, 257, -1, -1, -1, 1873, -1, -1,
-1, -1, -1, -1, -1, -1, 224, 271, -1, -1,
274, -1, -1, -1, -1, -1, -1, 1893, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 252, -1, 254, 3979, -1, -1, -1, 22, 257,
-1, -1, -1, 264, 28, -1, -1, -1, -1, -1,
-1, -1, 273, 271, -1, -1, 274, 4002, -1, -1,
-1, -1, -1, -1, 285, -1, -1, 2186, 4013, -1,
22, -1, -1, -1, -1, -1, 28, -1, -1, -1,
-1, -1, -1, -1, 22, -1, 70, -1, -1, 41,
28, -1, -1, -1, -1, -1, -1, 361, 4043, -1,
-1, -1, 323, -1, -1, 326, 327, -1, 4053, 4054,
-1, 4056, -1, -1, -1, 4060, 4061, -1, 70, -1,
4065, 4066, -1, -1, -1, 4070, -1, -1, 4073, 4074,
-1, -1, 70, 4078, -1, 356, -1, -1, 2257, 4084,
124, -1, -1, 361, -1, 3667, -1, 131, -1, -1,
134, 4096, -1, -1, -1, -1, -1, -1, -1, 4104,
-1, -1, -1, 4108, -1, -1, -1, -1, -1, -1,
122, -1, 124, -1, -1, 159, -1, -1, -1, 131,
-1, -1, 134, -1, -1, -1, 124, -1, -1, -1,
-1, 4136, -1, 131, 458, -1, 134, 461, 462, 463,
421, 465, 466, 467, 468, 469, 470, 159, -1, 193,
-1, -1, -1, -1, 478, -1, -1, 2336, 4163, 2095,
-1, 159, 8, -1, -1, 11, -1, -1, -1, 15,
16, 17, -1, -1, 2353, -1, 4181, -1, -1, -1,
458, 193, -1, 461, 462, 463, 32, 465, 466, 467,
468, 469, 470, 4198, 40, 193, -1, 475, 4203, -1,
3782, 47, -1, 3785, -1, -1, -1, -1, 252, -1,
254, -1, -1, -1, -1, 4220, -1, -1, -1, -1,
264, -1, -1, -1, -1, 3246, 72, -1, -1, 273,
-1, 4236, -1, 3254, -1, 2414, 4241, -1, -1, -1,
252, 285, 254, 4248, -1, -1, -1, -1, -1, -1,
-1, -1, 264, -1, 252, -1, 254, 3278, -1, 4264,
-1, 273, -1, -1, -1, -1, 264, -1, -1, 2448,
4275, -1, 2451, 285, 2453, 273, -1, -1, 2457, 323,
2459, 2460, 326, 327, -1, -1, -1, 285, -1, 2468,
2469, 2470, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 4306, -1, -1, -1, 3887, -1, -1, -1, -1,
-1, 323, 356, -1, 326, 327, -1, -1, -1, -1,
-1, -1, -1, -1, 3906, 323, 4331, -1, 326, 327,
-1, -1, -1, -1, -1, -1, 182, -1, -1, 3360,
-1, 187, 4347, -1, 356, -1, -1, 2526, 8, -1,
-1, 11, -1, -1, -1, 15, 16, 17, 356, -1,
-1, -1, -1, 209, 210, 4370, -1, -1, -1, -1,
-1, -1, 4377, -1, -1, -1, -1, 421, 224, 2558,
40, -1, -1, -1, -1, -1, -1, 47, 2567, -1,
-1, -1, -1, -1, -1, -1, -1, 3979, 8, -1,
-1, 11, -1, -1, -1, 15, 16, 17, -1, 421,
-1, 257, 72, 4418, -1, 4420, -1, -1, -1, -1,
3441, -1, 32, 421, -1, 271, -1, -1, 274, -1,
40, -1, -1, -1, -1, -1, -1, 47, -1, 4444,
-1, -1, -1, 2622, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 4462, -1, -1,
-1, 4466, 72, -1, -1, -1, 4471, 8, -1, -1,
11, -1, -1, -1, 15, 16, 17, -1, -1, -1,
-1, -1, -1, 4488, 4489, -1, -1, 4492, -1, -1,
-1, 32, -1, -1, -1, -1, -1, -1, -1, 40,
-1, -1, 4507, -1, -1, -1, 47, -1, -1, 4514,
-1, -1, -1, -1, 4519, 361, -1, 4522, 4523, -1,
-1, -1, 182, -1, 4529, 4530, -1, 187, -1, -1,
-1, 72, -1, -1, -1, -1, -1, -1, 4543, -1,
4545, -1, -1, -1, -1, 4550, -1, 4552, -1, 209,
210, 4556, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 224, -1, -1, -1, -1, -1,
-1, -1, 182, -1, -1, -1, -1, 187, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 4596, 4597, -1, -1, -1, -1, 257, -1, 209,
210, 4606, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 271, 458, -1, 224, 461, 462, 463, -1, 465,
466, 467, 468, 469, 470, -1, -1, -1, -1, 475,
-1, -1, -1, -1, -1, -1, 2572, -1, -1, 4644,
-1, 182, -1, 2579, -1, 4650, 187, 257, -1, -1,
-1, -1, -1, -1, 4236, -1, -1, -1, -1, -1,
-1, 271, -1, 2599, 274, -1, 4248, -1, 209, 210,
-1, -1, -1, 2609, -1, 2854, 2612, -1, 2614, 2615,
-1, -1, 2618, 224, -1, -1, -1, -1, 2624, -1,
2626, -1, -1, 2629, -1, -1, -1, -1, -1, -1,
4705, 361, -1, 3724, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 4718, -1, 4720, 257, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 3748, -1, -1,
271, -1, -1, 274, 3755, -1, -1, -1, 4743, 4744,
-1, 4746, -1, 4748, -1, -1, -1, -1, -1, -1,
-1, 361, 56, -1, -1, -1, 2692, -1, -1, -1,
-1, -1, -1, 4768, -1, -1, -1, -1, -1, 4774,
-1, -1, -1, 4778, -1, -1, -1, -1, -1, 4784,
-1, -1, -1, 4788, -1, -1, 90, -1, -1, -1,
-1, -1, -1, 2972, -1, -1, -1, -1, 458, -1,
-1, 461, 462, 463, -1, 465, 466, 467, 468, 469,
470, 3832, 3833, -1, -1, -1, 120, -1, -1, -1,
361, -1, -1, -1, 4829, -1, -1, -1, -1, -1,
-1, -1, 4837, -1, -1, -1, -1, 4842, 4843, -1,
-1, -1, 4847, -1, -1, 149, -1, -1, 458, 4854,
-1, 461, 462, 463, -1, 465, 466, 467, 468, 469,
470, 4866, 4444, -1, -1, 475, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
184, -1, -1, -1, 3063, -1, -1, -1, -1, -1,
4895, -1, -1, -1, -1, 22, -1, -1, -1, -1,
-1, 28, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4919, -1, 220, 458, -1, -1,
461, 462, 463, -1, 465, 466, 467, 468, 469, 470,
-1, -1, -1, -1, 475, -1, -1, -1, -1, 3118,
-1, -1, -1, 70, -1, -1, -1, -1, 4953, 4954,
254, -1, -1, -1, -1, 3976, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 4550, 4974,
4552, -1, 4977, -1, -1, 4980, -1, -1, -1, -1,
-1, 285, 286, -1, -1, -1, 4991, -1, -1, -1,
4995, -1, 4997, -1, 4999, -1, -1, 124, -1, -1,
-1, 5006, -1, -1, 131, 3184, -1, 134, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 323,
5025, -1, 2958, 327, -1, -1, -1, 331, -1, -1,
-1, -1, 159, -1, -1, -1, 340, -1, -1, -1,
-1, -1, -1, -1, 348, -1, -1, 3226, -1, -1,
-1, -1, 356, -1, -1, 5060, -1, 5062, -1, -1,
-1, 3240, -1, -1, 368, -1, 193, 3246, -1, -1,
8, -1, 376, -1, -1, 3254, 14, 15, -1, -1,
-1, 3260, 20, 3262, 22, -1, -1, -1, -1, -1,
28, -1, 30, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 3042, 5112, 3044, -1,
-1, 49, 50, -1, -1, 5120, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 252, -1, 254, 432, 3308,
-1, -1, -1, -1, -1, -1, -1, 264, -1, -1,
5145, 5146, 5147, -1, -1, -1, 273, -1, 8, 5154,
5155, 11, -1, 5158, -1, 15, 16, 17, 285, 5164,
3339, 3340, -1, -1, -1, -1, -1, -1, 5173, -1,
-1, -1, 32, -1, -1, -1, -1, -1, -1, -1,
40, -1, 5187, -1, 4205, -1, -1, 47, -1, 4210,
-1, -1, -1, 4214, -1, -1, 323, 5202, -1, 326,
327, -1, -1, -1, -1, -1, -1, -1, 8, -1,
-1, 11, 72, -1, -1, 15, 16, 17, 4239, 4240,
-1, -1, -1, 4244, 4245, -1, -1, -1, -1, 356,
-1, -1, 32, -1, -1, -1, 5241, -1, -1, -1,
40, 5246, -1, -1, -1, 3181, -1, 47, -1, -1,
5255, 3187, -1, -1, -1, -1, 5261, 5262, 5263, 197,
-1, -1, -1, -1, -1, -1, -1, 205, 5273, -1,
208, -1, 72, 211, 212, -1, 214, -1, 216, -1,
-1, 219, -1, 221, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 421, -1, -1, -1, -1, -1,
-1, 5306, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 182, -1, -1, 5330, -1, 187, -1, -1,
5335, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 3523, -1, -1, -1, -1, 209,
210, -1, -1, -1, -1, -1, -1, 5362, 5363, -1,
-1, -1, -1, -1, 224, -1, -1, -1, -1, 5374,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 182, 5388, -1, -1, -1, 187, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 257, -1, -1,
-1, -1, 5407, -1, -1, -1, -1, -1, -1, 209,
210, 271, 5417, -1, 274, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 224, -1, -1, -1, -1, 5434,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 5447, 3379, 5449, 3381, -1, 3383, -1, -1,
-1, -1, -1, -1, -1, -1, 3392, 257, -1, -1,
5465, -1, 5467, 5468, -1, -1, -1, -1, -1, -1,
-1, 271, 8, -1, 274, 11, -1, -1, -1, 15,
16, 17, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 32, 3433, -1, -1,
-1, 361, -1, -1, 40, -1, -1, 8, -1, -1,
11, 47, -1, -1, 15, 16, 17, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 32, -1, -1, -1, -1, 72, -1, -1, 40,
-1, -1, -1, -1, -1, 3724, 47, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 361, -1, -1, -1, -1, -1, -1, -1, 3748,
-1, 72, -1, -1, -1, 4596, -1, 3756, -1, -1,
3759, -1, 3761, -1, -1, -1, -1, -1, -1, -1,
-1, 5173, -1, -1, -1, -1, -1, -1, 458, -1,
-1, 461, 462, 463, -1, 465, 466, 467, 468, 469,
470, -1, -1, -1, -1, 475, -1, -1, -1, -1,
-1, -1, -1, -1, 3803, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 3816, -1, -1,
-1, 3820, 3821, -1, 3823, -1, 182, -1, -1, 3828,
-1, 187, -1, -1, -1, -1, -1, -1, 458, -1,
-1, 461, 462, 463, -1, 465, 466, 467, 468, 469,
470, -1, -1, 209, 210, 475, 614, -1, -1, -1,
-1, 182, -1, -1, 622, -1, 187, -1, 224, -1,
-1, 629, 630, -1, -1, 633, -1, 635, 636, -1,
-1, -1, 640, -1, -1, -1, -1, 8, 209, 210,
11, -1, -1, 651, 15, 16, 17, -1, -1, -1,
-1, 257, -1, 224, -1, -1, -1, -1, 666, -1,
-1, 32, -1, -1, -1, 271, -1, -1, 274, 40,
-1, -1, -1, -1, -1, -1, 47, -1, 3927, -1,
-1, -1, -1, 691, -1, 693, 257, -1, -1, -1,
-1, -1, -1, -1, -1, 703, -1, -1, -1, -1,
271, 72, -1, 274, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 735, 8, -1,
-1, 11, -1, -1, -1, 15, 16, 17, -1, -1,
-1, -1, -1, 3992, 3993, 3994, -1, 3996, 3997, 3998,
3999, 4000, 32, -1, -1, 361, -1, -1, 766, -1,
40, 4852, 4853, -1, -1, -1, -1, 47, -1, -1,
-1, -1, -1, -1, -1, 4866, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
361, -1, 72, -1, -1, -1, -1, 199, 200, -1,
-1, -1, -1, -1, -1, 207, -1, 209, 210, -1,
8, 182, 820, 11, -1, -1, 187, 15, 16, 17,
-1, 223, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 32, -1, -1, -1, 209, 210,
-1, -1, 40, -1, -1, -1, 854, -1, -1, 47,
-1, -1, 458, 224, -1, 461, 462, 463, -1, 465,
466, 467, 468, 469, 470, -1, -1, -1, -1, 475,
-1, -1, -1, -1, 72, -1, 4125, -1, 4127, -1,
-1, -1, -1, -1, -1, -1, 257, 458, -1, -1,
461, 462, 463, -1, 465, 466, 467, 468, 469, 470,
271, -1, 182, 274, 475, -1, -1, 187, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 926, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 209,
210, -1, -1, -1, -1, -1, -1, -1, -1, 947,
-1, -1, -1, -1, 224, -1, -1, -1, -1, -1,
-1, 959, -1, -1, -1, -1, 964, -1, 3964, -1,
-1, 5052, 3968, -1, -1, -1, 974, -1, -1, -1,
-1, 979, -1, -1, -1, -1, -1, 257, -1, 987,
-1, -1, -1, -1, 182, 993, -1, -1, 996, 187,
361, 271, -1, -1, 274, -1, -1, -1, 8, -1,
-1, 11, -1, -1, -1, 15, 16, 17, -1, -1,
-1, 209, 210, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 32, -1, -1, -1, 224, -1, -1, 1037,
40, -1, -1, -1, -1, -1, -1, 47, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4304, 4305, -1, -1, 257,
-1, -1, 72, -1, -1, -1, 4315, -1, 4317, 4318,
-1, -1, 4321, 271, -1, -1, 274, -1, -1, -1,
-1, 361, -1, -1, -1, -1, -1, 458, -1, -1,
461, 462, 463, -1, 465, 466, 467, 468, 469, 470,
-1, -1, -1, -1, 475, -1, -1, 5198, -1, 5200,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4383, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 1152, -1, 1154, -1, 1156, -1,
1158, -1, 1160, 1161, 1162, -1, -1, -1, -1, 1167,
-1, -1, -1, 361, -1, -1, -1, -1, 4417, -1,
1178, -1, 182, 4179, -1, -1, -1, 187, 458, -1,
-1, 461, 462, 463, -1, 465, 466, 467, 468, 469,
470, -1, -1, -1, -1, 475, -1, -1, -1, 209,
210, 4450, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 224, 4221, 4222, -1, -1, -1,
-1, -1, -1, 625, -1, -1, -1, -1, -1, 631,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 644, -1, -1, -1, -1, 257, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 660, -1,
458, 271, -1, 461, 462, 463, -1, 465, 466, 467,
468, 469, 470, 675, 676, -1, -1, 475, -1, -1,
682, -1, 684, 685, -1, -1, -1, -1, 5379, -1,
-1, -1, -1, -1, -1, -1, 698, 5388, -1, -1,
-1, 4307, 4308, -1, -1, -1, 708, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 8, -1,
-1, 11, -1, -1, -1, 15, 16, 17, -1, -1,
-1, -1, -1, -1, -1, 1353, -1, 4596, -1, -1,
-1, 361, 32, -1, -1, -1, -1, -1, 5449, -1,
40, -1, -1, -1, -1, -1, -1, 47, -1, -1,
-1, -1, 191, 192, 5465, -1, 195, 8, -1, -1,
11, -1, -1, -1, 15, 16, 17, -1, -1, -1,
4639, 793, 72, -1, -1, -1, 215, -1, -1, -1,
-1, 32, -1, 222, -1, -1, -1, -1, -1, 40,
-1, -1, -1, -1, -1, -1, 47, -1, -1, 4425,
-1, 4427, 4428, -1, -1, -1, 1434, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 4443, -1, -1,
-1, 72, -1, -1, -1, -1, -1, -1, 458, -1,
-1, 461, 462, 463, -1, 465, 466, 467, 468, 469,
470, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 1504, -1, -1, -1,
-1, -1, 182, -1, -1, -1, -1, 187, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 209,
210, -1, -1, -1, 936, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 224, -1, -1, -1, -1, -1,
-1, 182, 954, -1, -1, -1, 187, -1, 960, -1,
-1, 963, -1, 8, -1, -1, 11, -1, -1, -1,
15, 16, 17, -1, -1, -1, -1, 257, 209, 210,
-1, -1, -1, -1, -1, -1, -1, 32, -1, -1,
-1, 271, -1, 224, 274, 40, -1, -1, -1, -1,
-1, -1, 47, 4852, 4853, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 4866, -1, -1,
-1, 4870, -1, 0, -1, -1, 257, 72, -1, -1,
-1, 4880, -1, -1, -1, -1, -1, -1, -1, -1,
271, 18, -1, 274, -1, -1, -1, -1, -1, -1,
-1, 28, -1, 30, 31, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 46,
-1, -1, -1, -1, -1, -1, -1, -1, 55, -1,
-1, 361, -1, -1, -1, -1, -1, -1, -1, -1,
67, -1, 69, 70, 201, -1, -1, -1, -1, 76,
-1, 78, -1, -1, -1, -1, 213, -1, -1, -1,
1112, -1, 89, -1, 91, -1, -1, 224, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 1130, -1,
361, 108, -1, 4739, 111, -1, -1, 182, -1, -1,
-1, -1, 187, -1, 1752, 1147, -1, -1, 125, -1,
127, -1, -1, -1, 131, -1, -1, -1, -1, -1,
137, -1, -1, -1, 209, 210, -1, -1, 145, -1,
147, -1, -1, 1175, -1, -1, 153, -1, 458, 224,
-1, 461, 462, 463, 1186, 465, 466, 467, 468, 469,
470, -1, 169, -1, -1, 475, -1, 616, -1, 1201,
-1, 620, 1204, -1, 4810, -1, -1, -1, -1, 186,
-1, -1, 257, 5062, -1, 634, -1, 5066, -1, 5068,
-1, -1, 641, 5072, 5073, -1, 271, 458, -1, 274,
461, 462, 463, -1, 465, 466, 467, 468, 469, 470,
-1, -1, -1, -1, 475, -1, -1, -1, -1, 226,
227, -1, -1, -1, -1, 232, 4862, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 244, -1, -1,
-1, 1879, -1, 1881, -1, -1, -1, -1, -1, 256,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1898, -1, 1900, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 1914, -1, 1916, -1,
1918, -1, 1920, -1, 1922, -1, 361, -1, 1926, -1,
1322, -1, 299, -1, -1, -1, -1, -1, 1330, 1331,
-1, -1, -1, -1, -1, -1, 313, -1, -1, -1,
-1, -1, 319, 320, -1, 322, -1, -1, -1, 5198,
327, 5200, -1, -1, -1, 332, -1, -1, 335, -1,
-1, -1, -1, -1, -1, 342, -1, -1, -1, -1,
-1, 348, 349, -1, -1, -1, -1, -1, -1, 356,
-1, -1, -1, 360, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 370, -1, -1, -1, 1399, -1, -1,
-1, -1, -1, -1, -1, -1, 383, -1, -1, -1,
-1, -1, -1, 458, -1, -1, 461, 462, 463, -1,
465, 466, 467, 468, 469, 470, 403, -1, -1, -1,
475, -1, -1, -1, -1, -1, 413, -1, -1, -1,
-1, -1, 419, -1, -1, -1, -1, 424, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 5306, -1, -1,
437, 880, 881, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 460, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 474, 605, -1,
477, -1, -1, -1, 611, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5379, -1, -1, -1, -1, -1, -1, -1, -1, 5388,
-1, -1, -1, 2151, 2152, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 978,
-1, -1, 2170, 2171, -1, -1, -1, 2175, 2176, -1,
-1, -1, 2180, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 2194, -1, 1007, 1008,
1592, -1, -1, 2201, -1, -1, -1, 2205, 2206, -1,
5449, 2209, 2210, -1, -1, -1, -1, -1, 2216, -1,
-1, -1, -1, -1, 1033, -1, 5465, -1, -1, -1,
-1, -1, -1, 2231, -1, 2233, -1, -1, -1, 8,
-1, -1, 11, -1, -1, -1, 15, 16, 17, -1,
-1, -1, -1, -1, 2252, -1, -1, -1, -1, 2257,
-1, -1, -1, 32, -1, -1, -1, -1, 765, -1,
-1, 40, 2270, -1, -1, -1, -1, -1, 47, -1,
-1, 2279, -1, -1, 2282, -1, -1, 2285, 2286, 2287,
-1, -1, 5288, 790, 2292, 2293, -1, -1, 1107, 1108,
-1, -1, -1, 72, 2302, -1, -1, -1, -1, 2307,
-1, -1, 809, -1, 2312, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2328, -1, -1, -1, 831, -1, -1, 2335, 2336, -1,
-1, -1, -1, 2341, -1, -1, -1, -1, -1, -1,
-1, 1743, -1, -1, 2352, 2353, -1, -1, -1, 2357,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 2369, -1, -1, 2372, 1767, -1, -1, 875, 2377,
-1, -1, -1, 1775, 2382, 2383, -1, -1, -1, 2387,
-1, -1, 2390, -1, -1, 1787, 2394, 2395, 2396, 2397,
-1, 2399, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 182, 2412, 2413, -1, 2415, 187, -1,
-1, -1, -1, 200, -1, -1, -1, 2425, 2426, -1,
-1, -1, 209, -1, -1, -1, -1, -1, -1, -1,
209, 210, -1, -1, -1, -1, 223, -1, -1, -1,
-1, -1, -1, -1, -1, 224, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 1859, 1860, -1,
1862, 1863, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 1874, -1, 1876, 1877, -1, -1, 257, -1,
-1, -1, 2490, -1, -1, -1, -1, 1889, 1890, -1,
-1, -1, 271, 1000, -1, 274, -1, -1, -1, -1,
-1, -1, -1, 1905, -1, -1, -1, -1, -1, -1,
2518, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 1029, 1030, 1031, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 1937, -1, -1, 1940, 1941,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 361, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 2027, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 1477, -1,
-1, -1, -1, -1, -1, -1, -1, 1174, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 2685, -1, 458,
-1, -1, 461, 462, 463, -1, 465, 466, 467, 468,
469, 470, -1, 1200, -1, -1, 475, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 2716, -1,
-1, -1, -1, -1, 8, -1, -1, 11, -1, -1,
-1, 15, 16, 17, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 32, -1,
-1, -1, -1, -1, -1, -1, 40, -1, 2150, -1,
-1, -1, -1, 47, -1, -1, -1, -1, -1, 1578,
1579, 1580, 1581, -1, -1, -1, 2168, -1, -1, -1,
-1, 2173, 2174, -1, -1, -1, 2178, -1, 72, -1,
-1, -1, -1, -1, 2186, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 2204, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 2226, -1, -1, 2229, 2230, 1336,
-1, -1, -1, -1, -1, -1, -1, -1, 625, -1,
-1, -1, -1, -1, 631, -1, -1, -1, 2250, -1,
-1, -1, -1, -1, -1, -1, -1, 644, -1, -1,
-1, -1, -1, -1, -1, -1, 2268, 2269, -1, -1,
-1, -1, -1, 660, -1, -1, -1, -1, -1, 1386,
-1, -1, -1, -1, -1, -1, -1, -1, 182, 676,
-1, -1, -1, 187, -1, -1, -1, 684, 2300, 2301,
1719, 1720, 2304, -1, -1, -1, -1, -1, -1, -1,
-1, 698, -1, -1, -1, 209, 210, -1, -1, -1,
-1, 708, -1, 1742, -1, 2327, -1, 2329, -1, -1,
224, -1, 2334, -1, -1, -1, -1, -1, 2340, -1,
-1, -1, -1, -1, -1, 2347, -1, -1, -1, 2351,
-1, -1, -1, -1, 2356, -1, -1, 1464, 1777, 1778,
1779, 1780, 2970, 257, -1, -1, 2974, 1474, -1, -1,
-1, -1, 2980, -1, 2376, -1, -1, 271, -1, 2381,
274, -1, -1, 2385, -1, -1, 2388, -1, -1, -1,
2998, 2999, -1, -1, -1, 3003, 2398, -1, 1505, -1,
3008, 3009, 3010, -1, 3012, -1, 793, -1, -1, 2411,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 2421,
-1, 1528, -1, -1, 1531, -1, -1, 3035, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 3045, 3046, 3047,
3048, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 361, -1, -1,
-1, -1, -1, -1, 3082, 1582, 1895, 3085, 3086, 3087,
-1, -1, 1901, -1, -1, -1, -1, 2489, -1, 1596,
-1, -1, -1, -1, -1, 3103, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 3123, -1, -1, 8, -1,
-1, 11, -1, -1, -1, 15, 16, 17, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 32, -1, -1, -1, -1, -1, -1, 936,
40, -1, -1, -1, -1, -1, -1, 47, -1, -1,
-1, -1, -1, -1, 458, 2567, -1, 461, 462, 463,
-1, 465, 466, 467, 468, 469, 470, -1, -1, -1,
-1, 475, 72, -1, -1, -1, -1, 3195, -1, -1,
-1, -1, -1, -1, -1, 3203, -1, -1, -1, -1,
1707, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 2030, -1, -1, -1, -1, -1, -1, -1, -1,
2622, -1, -1, -1, -1, -1, 3234, -1, -1, -1,
-1, 8, -1, -1, 11, -1, -1, -1, 15, 16,
17, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 3261, 1761, 32, -1, -1, -1, -1,
-1, -1, 2664, 40, -1, -1, -1, -1, -1, -1,
47, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2682, -1, -1, 1790, -1, -1, -1, -1, 2690, -1,
1797, -1, 182, -1, -1, 72, -1, 187, 2700, -1,
-1, 2703, -1, -1, 2706, 3313, -1, -1, -1, -1,
3318, -1, -1, -1, -1, -1, -1, -1, -1, 209,
210, -1, -1, -1, -1, 1112, -1, -1, -1, -1,
-1, -1, -1, -1, 224, -1, -1, -1, -1, -1,
-1, 3349, -1, 1130, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1147, -1, -1, -1, -1, -1, -1, 257, -1, -1,
2772, -1, -1, -1, -1, -1, 2778, -1, -1, -1,
3388, 271, 3390, -1, 274, -1, -1, -1, 1175, -1,
-1, -1, -1, -1, -1, -1, 1903, -1, -1, 1186,
-1, -1, 2221, 2222, -1, 182, -1, -1, -1, -1,
187, -1, -1, 2232, 1201, 2234, -1, 1204, -1, 2238,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 209, 210, -1, -1, 1943, 1944, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 224, -1, -1,
-1, 8, 2854, 1960, 11, -1, -1, -1, 15, 16,
17, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 361, -1, -1, -1, 32, -1, -1, -1, -1,
257, -1, -1, 40, -1, -1, -1, -1, -1, -1,
47, -1, -1, -1, 271, -1, -1, 274, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 72, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 1322, -1, -1, -1, -1,
2942, 2943, -1, 1330, 1331, -1, -1, -1, -1, 2368,
2057, -1, 2371, -1, -1, -1, -1, -1, -1, -1,
2067, -1, -1, -1, -1, -1, -1, 2969, 458, -1,
2972, 461, 462, 463, -1, 465, 466, 467, 468, 469,
470, -1, -1, -1, 361, 475, -1, -1, -1, 2096,
-1, -1, -1, -1, -1, -1, -1, 2104, -1, 2106,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 1399, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 182, -1, -1, -1, -1,
187, 2450, 2139, -1, -1, 3643, -1, 3645, -1, 2458,
-1, -1, 2461, -1, 3652, -1, -1, -1, 2467, -1,
-1, -1, 209, 210, -1, 3057, 3058, 3059, -1, -1,
3668, -1, 2481, -1, -1, -1, -1, 224, -1, -1,
-1, -1, -1, -1, -1, -1, 3684, -1, -1, 3081,
-1, 458, -1, -1, 461, 462, 463, -1, 465, 466,
467, 468, 469, 470, -1, 3703, -1, -1, 475, 3101,
257, -1, -1, 2522, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 3721, 271, -1, -1, 274, 3120, -1,
22, -1, -1, 3731, -1, -1, 28, -1, -1, -1,
-1, 2550, -1, 35, -1, -1, -1, -1, -1, -1,
-1, -1, 3750, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 54, -1, -1, 3763, 3764, 3765, -1, -1,
-1, -1, 3770, 3771, 3772, 3773, -1, -1, 70, 3777,
3778, -1, -1, -1, 2281, 3783, 3784, -1, 3786, 3787,
3788, 3789, 3790, 3791, -1, 3793, 2605, -1, 2607, -1,
2297, -1, -1, -1, 3802, -1, -1, 3805, 3806, -1,
3202, -1, 104, -1, 361, 1592, -1, -1, -1, -1,
-1, 2318, -1, -1, -1, -1, -1, 8, -1, -1,
11, 3829, 124, -1, 15, 16, 17, -1, -1, 131,
-1, -1, 134, -1, -1, -1, -1, -1, -1, -1,
-1, 32, -1, 3851, -1, -1, -1, -1, -1, 40,
-1, 3253, -1, -1, -1, -1, 47, 159, 3260, -1,
3262, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 3275, -1, 3277, -1, -1, -1, -1,
-1, 72, -1, -1, -1, 2392, 2393, -1, 190, -1,
-1, 193, -1, -1, -1, -1, 2715, 3299, -1, -1,
-1, 458, -1, -1, 461, 462, 463, -1, 465, 466,
467, 468, 469, 470, -1, -1, -1, -1, 475, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 238, -1, 3340, 241,
-1, 3949, -1, -1, -1, -1, -1, -1, -1, -1,
252, -1, 254, -1, -1, -1, 1743, -1, -1, -1,
-1, -1, 264, -1, -1, -1, -1, -1, -1, -1,
-1, 273, -1, -1, -1, 3983, -1, -1, -1, -1,
1767, -1, 284, 285, -1, -1, -1, -1, 1775, 3391,
-1, 182, -1, 2500, -1, -1, 187, -1, -1, -1,
1787, -1, -1, -1, -1, -1, -1, 3409, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 209, 210,
-1, 323, -1, -1, 326, 327, 328, -1, -1, 3431,
-1, -1, 3434, 224, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 350, -1,
-1, -1, -1, -1, 356, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 257, -1, 370, -1,
-1, -1, -1, -1, -1, 1862, 1863, -1, -1, -1,
271, -1, -1, 274, -1, -1, -1, -1, -1, 1876,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 1889, 1890, -1, -1, -1, -1, -1, -1,
-1, -1, 3514, -1, -1, -1, -1, -1, 1905, 421,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 2982, -1, 2984, 2985, 2986, -1, -1,
361, -1, -1, -1, -1, -1, -1, 2684, -1, -1,
-1, 4189, -1, -1, -1, 4193, 4194, 4195, 4196, -1,
-1, 4199, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 4231, 4232, 4233, -1, 4235, -1, 4237,
4238, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2027, 4249, 4250, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 3667, -1, 458, 4276, -1,
461, 462, 463, -1, 465, 466, 467, 468, 469, 470,
-1, -1, 473, -1, -1, 8, -1, -1, 11, -1,
-1, 4299, 15, 16, 17, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 32,
-1, -1, -1, 36, -1, -1, 3718, 40, -1, -1,
-1, 3723, -1, 3725, 47, -1, -1, -1, -1, -1,
-1, -1, 2839, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 3747, -1, -1, -1, 72,
-1, -1, -1, -1, -1, 2862, -1, -1, -1, -1,
-1, -1, -1, 2150, 3766, -1, -1, -1, 4376, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3782, 2168, -1, 3785, -1, -1, 2173, 2174, -1, -1,
-1, 2178, -1, -1, -1, -1, -1, 4405, 121, 2186,
-1, -1, -1, 3222, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 2204, -1, -1,
-1, -1, 4430, -1, -1, -1, -1, -1, 8, -1,
-1, 11, -1, -1, -1, 15, 16, 17, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 32, -1, 671, -1, -1, -1, -1, 182,
40, -1, -1, 2250, 187, -1, -1, 47, -1, -1,
-1, -1, -1, -1, -1, 3877, 3878, -1, -1, -1,
697, 2268, 2269, -1, -1, 3887, 209, 210, -1, -1,
-1, -1, 72, -1, -1, -1, -1, -1, -1, -1,
-1, 224, -1, -1, 3906, -1, -1, -1, -1, -1,
-1, -1, -1, 2300, 2301, -1, -1, 2304, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 4536, -1,
-1, -1, -1, -1, 257, -1, -1, -1, -1, -1,
2327, -1, 2329, -1, -1, -1, -1, 2334, 271, -1,
-1, 274, -1, 2340, -1, -1, -1, -1, -1, -1,
2347, -1, -1, -1, 2351, -1, -1, -1, -1, 2356,
-1, -1, -1, -1, -1, -1, 3395, 3979, 158, -1,
-1, -1, -1, 163, -1, -1, -1, -1, -1, 2376,
4598, -1, 3099, -1, 2381, -1, -1, -1, 2385, -1,
-1, 2388, 182, -1, -1, -1, -1, 187, 4616, -1,
-1, 2398, -1, 4621, 4622, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 2411, -1, -1, -1, -1, 209,
210, -1, -1, -1, 2421, -1, -1, -1, 361, -1,
-1, -1, -1, -1, 224, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 4674, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 257, -1, -1,
-1, -1, -1, -1, -1, -1, 4694, -1, -1, -1,
-1, 271, -1, -1, 274, 418, -1, -1, -1, -1,
-1, -1, 2489, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 787, 788, -1, 934, -1, -1,
-1, -1, 4730, -1, -1, -1, -1, -1, -1, 4737,
-1, -1, -1, 950, -1, 458, -1, -1, 461, 462,
463, -1, 465, 466, 467, 468, 469, 470, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 975, 3266,
3267, 3268, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 990, -1, -1, 3283, -1, -1, -1,
2567, 361, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4803, 4198, -1, -1, 3306,
-1, 4203, -1, -1, -1, -1, -1, -1, -1, 3316,
3317, -1, -1, -1, 3321, -1, -1, 4825, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 4836, -1,
-1, -1, -1, -1, 4236, 2622, -1, -1, 3657, 3658,
3659, 3660, -1, -1, -1, -1, 4248, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 1075, -1,
-1, 934, 935, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 4275, -1, -1, -1, 2664, 458, -1,
-1, 461, 462, 463, -1, 465, 466, 467, 468, 469,
470, 4899, -1, -1, -1, 2682, -1, -1, -1, -1,
-1, -1, -1, 2690, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
8, -1, -1, 11, -1, 3432, -1, 15, 16, 17,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 32, -1, -1, -1, -1, -1,
-1, -1, 40, 4961, -1, -1, -1, -1, -1, 47,
-1, -1, -1, -1, -1, -1, -1, 1184, 4370, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 72, 2772, -1, -1, -1, -1,
-1, 2778, -1, -1, -1, -1, 8, -1, -1, 11,
-1, -1, -1, 15, 16, 17, -1, -1, -1, -1,
-1, -1, -1, -1, 5022, -1, -1, -1, -1, -1,
32, -1, -1, -1, -1, 3844, -1, -1, 40, 5037,
-1, 3850, -1, -1, -1, 47, -1, -1, -1, -1,
-1, -1, 4444, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 3560, 3561, 3562, -1, -1, -1, -1,
72, -1, -1, -1, -1, -1, -1, 2854, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 671, 5091, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 182, -1, -1, -1, 5106, 187,
-1, -1, -1, -1, -1, -1, -1, -1, 697, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 209, 210, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 224, -1, -1, -1,
-1, -1, -1, 1216, -1, 157, -1, -1, 4550, -1,
4552, -1, -1, -1, -1, 2942, 2943, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 257,
182, -1, -1, 1246, -1, 187, 1393, -1, 5186, -1,
-1, -1, 2969, 271, -1, 2972, 274, -1, -1, -1,
-1, -1, -1, -1, -1, 4597, -1, 209, 210, -1,
-1, 1274, 1275, 1276, 4606, 1278, -1, -1, -1, -1,
298, -1, 224, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 5231, -1, 1298, -1, -1, -1, 8,
-1, -1, 11, -1, -1, -1, 15, 16, 17, -1,
-1, 1458, 4644, -1, -1, 257, -1, -1, 4650, -1,
-1, -1, -1, 32, -1, -1, 35, -1, -1, 271,
-1, 40, 274, -1, -1, -1, -1, -1, 47, -1,
3057, 3058, 3059, 361, -1, -1, -1, -1, -1, -1,
-1, 671, 1499, -1, 296, -1, -1, -1, -1, 377,
-1, -1, -1, 72, 3081, -1, -1, 1370, -1, -1,
-1, 1374, 1375, -1, -1, -1, -1, 697, -1, -1,
5318, -1, -1, -1, 3101, 1532, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 3120, -1, -1, -1, -1, -1, -1,
-1, 3848, -1, -1, -1, -1, -1, -1, -1, 361,
-1, -1, 3859, -1, -1, -1, -1, -1, -1, -1,
-1, 950, -1, -1, -1, -1, -1, -1, -1, -1,
458, -1, -1, 461, 462, 463, -1, 465, 466, 467,
468, 469, 470, 3890, -1, -1, 975, -1, -1, -1,
1607, 1608, 1609, -1, -1, -1, -1, -1, -1, -1,
-1, 990, -1, 182, -1, -1, -1, -1, 187, -1,
-1, -1, -1, -1, -1, 3202, -1, 3924, -1, -1,
-1, 20, -1, -1, -1, -1, 25, 4829, -1, -1,
209, 210, -1, -1, -1, -1, -1, -1, 37, -1,
-1, -1, -1, -1, -1, 224, 458, -1, -1, 461,
462, 463, 4854, 465, 466, 467, 468, 469, 470, -1,
-1, 60, 3969, -1, 4866, -1, 3253, 4286, -1, -1,
-1, -1, -1, 3260, 73, 3262, -1, -1, 257, -1,
-1, -1, 4301, -1, -1, 84, 1075, -1, 3275, 88,
3277, -1, 271, 1710, -1, 274, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 106, -1, -1,
1727, -1, 3299, 112, -1, -1, -1, -1, -1, 1736,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
129, 1748, -1, -1, 1607, 1608, 1609, -1, -1, -1,
-1, 140, -1, -1, -1, -1, -1, -1, -1, 148,
-1, -1, -1, 3340, -1, -1, -1, -1, -1, -1,
950, 160, -1, -1, -1, -1, -1, -1, -1, 168,
-1, 4390, -1, 172, -1, -1, -1, -1, 4085, 4086,
4087, 4088, 361, -1, -1, 975, -1, 1804, -1, -1,
-1, -1, 191, -1, -1, 1184, -1, -1, -1, -1,
990, 1818, -1, -1, 3391, -1, -1, -1, -1, -1,
-1, -1, -1, 1830, -1, -1, -1, -1, -1, -1,
-1, -1, 3409, -1, -1, 1842, -1, -1, -1, 228,
-1, -1, -1, -1, -1, -1, -1, -1, 237, -1,
-1, -1, -1, -1, 3431, -1, -1, 3434, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 5060, -1,
5062, -1, -1, -1, -1, -1, -1, -1, -1, 1886,
1887, -1, 271, -1, -1, 274, -1, -1, -1, 458,
-1, -1, 461, 462, 463, 1075, 465, 466, 467, 468,
469, 470, -1, -1, -1, 294, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 308,
-1, -1, -1, -1, -1, -1, 315, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 3514, -1, -1,
-1, -1, -1, -1, -1, 334, 1325, -1, -1, 4558,
4559, 4560, -1, -1, 343, -1, -1, -1, -1, -1,
-1, 350, -1, 5155, 353, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 5173, -1, 372, -1, -1, -1, -1, -1, 378,
-1, -1, -1, -1, 383, 5187, -1, 386, 387, -1,
389, 390, -1, -1, 1184, -1, -1, -1, -1, -1,
5202, 400, -1, 671, 1393, 2022, 405, -1, -1, -1,
-1, -1, 411, -1, -1, 414, -1, -1, 417, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 697,
-1, 430, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 2060, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 5261,
5262, -1, -1, -1, -1, -1, -1, -1, -1, 1458,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3667, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 4716, -1, -1,
-1, -1, -1, -1, 5306, -1, -1, 1980, -1, -1,
1499, -1, -1, -1, -1, 4422, -1, -1, -1, -1,
1993, -1, 1995, -1, -1, 1998, 1999, 2000, -1, -1,
-1, 3718, 2005, -1, -1, 2008, 3723, -1, 3725, -1,
2157, -1, -1, 1532, 2161, 2162, -1, -1, -1, -1,
2023, 2024, 2025, 2026, -1, -1, -1, -1, 2031, -1,
3747, -1, 2035, -1, -1, 2038, -1, -1, 2041, 2042,
2043, 2044, 2045, 2046, 2047, 2048, 2049, -1, 2051, 3766,
-1, -1, -1, -1, -1, 2058, 5388, 2060, -1, -1,
-1, -1, -1, -1, -1, 3782, -1, -1, 3785, -1,
-1, -1, -1, 1393, -1, -1, 2223, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2237, -1, -1, -1, -1, -1, -1, 2100, -1, -1,
-1, -1, 671, -1, -1, -1, -1, -1, -1, 4858,
-1, 4860, -1, -1, -1, -1, -1, 5449, -1, -1,
-1, -1, 2125, 2126, -1, -1, -1, -1, 697, -1,
2277, -1, -1, 5465, -1, 5467, 5468, -1, 1458, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 950, -1, -1, -1, -1, -1, -1, -1,
3877, 3878, -1, -1, -1, -1, -1, -1, -1, -1,
3887, -1, -1, -1, -1, -1, -1, 975, -1, 1499,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 3906,
-1, 1710, 990, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 2207, -1, -1, -1, 1727, -1,
-1, -1, 1532, -1, -1, -1, 4653, 1736, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 1748,
-1, 4668, -1, -1, -1, -1, 4673, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 4698, 3979, 5012, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 1075, -1, -1,
-1, -1, -1, -1, -1, 1804, -1, -1, -1, -1,
-1, -1, -1, 2440, -1, -1, -1, -1, -1, 1818,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 1830, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 1842, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 2480, -1, -1, -1, -1, 8, -1,
671, 11, -1, -1, -1, 15, 16, 17, -1, -1,
-1, -1, 5101, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 32, -1, -1, -1, 697, 1886, 1887, -1,
40, -1, -1, -1, -1, -1, -1, 47, -1, -1,
-1, 950, -1, 4820, -1, -1, 1184, -1, -1, -1,
1710, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 72, -1, -1, -1, 975, 1727, -1, -1,
-1, -1, -1, -1, -1, 2562, 1736, -1, -1, -1,
-1, 990, -1, -1, -1, -1, -1, -1, 1748, -1,
-1, -1, -1, -1, -1, 2438, 2439, 2440, -1, -1,
-1, 2444, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 5204, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 2479, -1, -1, 4916,
-1, 4198, -1, -1, 1804, -1, 4203, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 1818, -1,
-1, -1, -1, 2022, -1, -1, 1075, -1, -1, -1,
1830, -1, 182, -1, -1, -1, -1, 187, -1, 4236,
-1, -1, 1842, -1, -1, -1, -1, -1, -1, -1,
-1, 4248, -1, 2680, -1, -1, -1, -1, -1, 209,
210, -1, -1, -1, -1, -1, -1, -1, -1, 5298,
2697, -1, -1, -1, 224, -1, -1, -1, 4275, -1,
-1, -1, -1, -1, -1, 2712, 1886, 1887, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 5331, 5332, -1, -1, -1, 257, -1, -1,
-1, -1, -1, -1, -1, 1393, -1, -1, -1, -1,
-1, 271, -1, -1, 274, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 1184, -1, -1, -1, 950,
-1, -1, 292, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 2157, -1,
-1, -1, 2161, 2162, 975, -1, -1, -1, -1, -1,
-1, -1, -1, 4370, -1, -1, -1, -1, -1, 990,
1458, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 5431, -1, -1, 8, -1, -1, 11, -1,
-1, 361, 15, 16, 17, -1, -1, -1, 20, -1,
-1, 1499, 2022, 25, 2223, -1, -1, -1, -1, 32,
-1, -1, 35, -1, -1, 37, -1, 40, 2237, -1,
2723, -1, -1, -1, 47, 2728, -1, 4444, -1, -1,
-1, -1, -1, -1, 1532, -1, -1, -1, 60, -1,
-1, -1, -1, -1, 1075, -1, -1, -1, -1, 72,
2753, 73, -1, -1, -1, -1, -1, -1, 2277, -1,
-1, 2764, -1, 2766, 2767, -1, 88, -1, -1, -1,
2917, -1, -1, 2920, 2777, 2922, -1, 2780, -1, 2782,
2927, -1, -1, -1, 106, -1, -1, -1, 458, -1,
-1, 461, 462, 463, -1, 465, 466, 467, 468, 469,
470, -1, -1, -1, -1, -1, -1, 129, 2811, -1,
2813, -1, 2815, -1, -1, -1, -1, -1, 140, -1,
-1, -1, -1, -1, 1393, -1, 148, -1, -1, 2976,
-1, -1, -1, 4550, -1, 4552, -1, 2157, 160, -1,
-1, 2161, 2162, 165, -1, -1, -1, -1, 2995, -1,
172, -1, -1, 1184, -1, -1, -1, -1, -1, 182,
-1, -1, -1, -1, 187, -1, 2869, -1, -1, 191,
-1, -1, -1, 3020, -1, -1, -1, -1, -1, -1,
4597, 2884, -1, -1, -1, -1, 209, 210, -1, 1458,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 224, -1, 2223, -1, -1, -1, -1, -1, -1,
-1, -1, 1710, -1, -1, 237, -1, 2237, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 4644, -1, 1727,
1499, -1, -1, -1, 257, -1, -1, -1, 1736, -1,
-1, -1, -1, -1, 3091, 2948, 3093, -1, 271, 271,
1748, 274, -1, -1, -1, -1, -1, 2277, -1, -1,
-1, 2480, 284, 1532, -1, -1, -1, -1, -1, -1,
-1, -1, 294, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 304, 305, -1, -1, 308, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 1804, -1, -1, -1,
-1, -1, 334, -1, -1, 337, -1, -1, -1, 341,
1818, 343, -1, -1, -1, -1, -1, -1, 350, -1,
-1, 353, 1830, -1, -1, 3182, -1, -1, 361, -1,
-1, -1, -1, 2562, 1842, -1, -1, -1, -1, -1,
372, -1, -1, -1, -1, -1, 378, -1, -1, -1,
3207, 383, 1393, -1, 386, -1, 3213, -1, 390, -1,
-1, -1, -1, -1, 3221, -1, 398, -1, 400, -1,
-1, -1, -1, 405, -1, -1, -1, -1, 1886, 1887,
-1, -1, -1, -1, -1, 417, -1, -1, -1, 3246,
-1, -1, -1, -1, -1, -1, -1, 3254, 430, -1,
-1, -1, 4829, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 1458, -1, -1,
-1, -1, -1, -1, -1, 458, -1, 4854, 461, 462,
463, 1710, 465, 466, 467, 468, 469, 470, -1, 4866,
-1, -1, -1, -1, -1, -1, -1, -1, 1727, -1,
2480, 2680, -1, -1, -1, -1, -1, 1736, 1499, -1,
-1, -1, -1, -1, -1, -1, 3323, -1, 2697, 1748,
-1, -1, -1, 8, -1, -1, 11, -1, -1, -1,
15, 16, 17, 2712, 3341, -1, -1, -1, -1, -1,
-1, 1532, -1, -1, 3207, -1, -1, 32, 3355, -1,
3213, -1, -1, -1, -1, 40, -1, -1, -1, -1,
-1, -1, 47, -1, 2022, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 1804, -1, -1, -1, -1,
-1, -1, 2562, -1, -1, -1, -1, 72, -1, 1818,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 1830, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 1842, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3457, -1, -1, -1, -1, -1, -1, 1886, 1887, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 3478, -1, -1, -1, -1, -1, -1, 163, -1,
-1, -1, -1, 5060, -1, 5062, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 3503, 182, -1, 2157,
2680, -1, 187, 2161, 2162, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 2697, -1, 1710,
-1, -1, -1, -1, 209, 210, -1, -1, -1, -1,
3537, -1, 2712, -1, -1, -1, 1727, -1, 2917, 224,
-1, 2920, -1, 2922, -1, 1736, -1, -1, 2927, -1,
-1, -1, -1, -1, -1, -1, -1, 1748, -1, -1,
-1, -1, -1, -1, -1, 2223, -1, -1, -1, -1,
-1, -1, 257, -1, -1, -1, -1, -1, 5155, 2237,
-1, -1, -1, -1, -1, -1, 271, -1, -1, 274,
-1, 3454, -1, 2022, -1, -1, 5173, 2976, -1, -1,
3463, -1, -1, -1, -1, -1, 3469, -1, 3471, -1,
-1, -1, -1, 1804, -1, -1, 2995, 3624, -1, 2277,
-1, -1, -1, -1, -1, 5202, -1, 1818, -1, -1,
-1, -1, -1, -1, -1, 3498, 3499, -1, -1, 1830,
-1, 3020, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 1842, -1, 3516, -1, -1, -1, -1, -1, -1,
-1, 3524, -1, -1, 3527, -1, 3529, -1, -1, -1,
-1, -1, -1, -1, -1, 3538, 361, -1, -1, -1,
-1, -1, -1, 3546, 3547, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 1886, 1887, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 3091, -1, 3093, 3578, -1, 3724, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 2157, 5306,
-1, -1, 2161, 2162, -1, -1, -1, 2917, -1, 3602,
2920, 3748, 2922, -1, -1, -1, -1, 2927, -1, -1,
-1, -1, -1, -1, -1, 3618, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 458, -1, -1, 461, 462, 463, -1,
465, 466, 467, 468, 469, 470, -1, -1, -1, -1,
-1, -1, -1, -1, 2223, -1, 2976, -1, -1, -1,
-1, -1, -1, 3182, -1, -1, -1, -1, 2237, -1,
-1, 5388, -1, -1, -1, 2995, -1, -1, -1, -1,
-1, -1, 2480, -1, -1, -1, -1, -1, -1, -1,
-1, 2022, -1, -1, -1, -1, -1, -1, -1, -1,
3020, -1, 3221, -1, -1, -1, -1, -1, 2277, -1,
-1, -1, -1, -1, -1, 8, -1, -1, 11, -1,
-1, -1, 15, 16, 17, -1, -1, 3246, -1, -1,
-1, -1, 5449, -1, 3881, 3254, -1, -1, -1, 32,
-1, -1, 35, -1, -1, -1, -1, 40, 5465, -1,
-1, -1, -1, -1, 47, -1, -1, -1, -1, 671,
-1, -1, -1, -1, 2562, -1, -1, -1, -1, -1,
-1, 3091, -1, 3093, -1, -1, -1, -1, -1, 72,
-1, -1, -1, -1, 3931, 697, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 3323, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 3341, -1, -1, -1, 2157, -1, -1, -1,
2161, 2162, -1, -1, -1, -1, 3355, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 671, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 3182, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 697, -1, -1, -1, -1, -1, -1,
-1, -1, 2680, -1, -1, -1, -1, -1, -1, 182,
-1, -1, 2223, -1, 187, -1, -1, -1, -1, 2697,
-1, 3221, -1, -1, -1, -1, 2237, -1, -1, 4056,
-1, 2480, -1, -1, 2712, -1, 209, 210, -1, 4066,
-1, -1, -1, -1, -1, -1, 3246, -1, -1, 3932,
3933, 224, -1, -1, 3254, -1, -1, -1, 3457, -1,
-1, -1, -1, -1, -1, -1, 2277, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 3478,
-1, -1, -1, -1, 257, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 271, -1,
-1, 274, -1, -1, 3503, -1, -1, -1, -1, -1,
-1, -1, -1, 2562, -1, -1, -1, -1, -1, 4002,
-1, -1, -1, 3323, -1, -1, -1, -1, -1, -1,
4013, -1, -1, -1, -1, -1, -1, -1, 3537, -1,
-1, 3341, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4181, 3355, -1, 8, 950, -1,
11, -1, -1, -1, 15, 16, 17, -1, -1, -1,
4053, 4054, -1, -1, -1, -1, -1, 4060, 4061, -1,
-1, 32, 4065, 975, -1, -1, -1, 4070, 361, 40,
4073, 4074, -1, 4220, -1, 4078, 47, -1, 990, -1,
-1, 4084, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4241, -1, -1, -1, -1, -1,
-1, 72, -1, -1, -1, 3624, -1, -1, -1, -1,
-1, 2680, -1, -1, -1, -1, -1, -1, -1, 2917,
-1, -1, 2920, -1, 2922, -1, 950, -1, 2697, 2927,
-1, -1, -1, 4136, -1, -1, -1, 3457, -1, -1,
-1, -1, -1, 2712, -1, -1, -1, -1, -1, 2480,
-1, 975, -1, -1, -1, -1, -1, -1, 3478, 4306,
4163, -1, -1, 1075, -1, 458, 990, -1, 461, 462,
463, -1, 465, 466, 467, 468, 469, 470, 2976, -1,
-1, -1, -1, 3503, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 2995, -1, -1,
-1, -1, -1, -1, -1, 3724, -1, -1, -1, -1,
-1, 182, -1, -1, -1, -1, 187, 3537, -1, -1,
-1, -1, 3020, -1, -1, -1, -1, -1, -1, 3748,
-1, 2562, -1, -1, -1, -1, -1, -1, 209, 210,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 1075, -1, 224, -1, -1, -1, 8, -1, -1,
11, 4264, -1, -1, 15, 16, 17, -1, -1, -1,
-1, 4418, 1184, 4420, -1, -1, -1, -1, -1, -1,
-1, 32, -1, -1, 35, -1, 257, -1, -1, 40,
-1, -1, -1, 3091, -1, 3093, 47, -1, -1, -1,
271, -1, -1, 274, 3624, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 4466,
-1, 72, -1, -1, -1, -1, -1, -1, 4331, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 2917, 2680,
-1, 2920, -1, 2922, -1, -1, -1, -1, 2927, -1,
1184, -1, 3881, -1, -1, -1, 2697, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 2712, -1, -1, 3182, -1, -1, -1, -1, -1,
361, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 3724, -1, -1, 2976, -1, -1,
-1, -1, 3931, -1, -1, -1, -1, -1, -1, -1,
391, -1, -1, 3221, -1, -1, 2995, -1, 3748, -1,
-1, 182, -1, -1, -1, -1, 187, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 3246, 4596,
-1, 3020, -1, -1, -1, -1, 3254, -1, 209, 210,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 224, -1, -1, -1, -1, -1, -1,
-1, 1393, -1, -1, -1, 4488, 4489, 458, -1, 4492,
461, 462, 463, -1, 465, 466, 467, 468, 469, 470,
-1, -1, -1, -1, -1, -1, 257, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
271, -1, 3091, 274, 3093, 3323, 4529, 4530, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 4056, -1, -1,
-1, -1, 4545, 3341, -1, -1, 1458, 4066, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 3355, -1, -1,
-1, 3881, -1, -1, -1, -1, -1, -1, -1, 1393,
-1, -1, -1, 4720, -1, -1, 8, -1, -1, 11,
-1, -1, -1, 15, 16, 17, 2917, 1499, -1, 2920,
-1, 2922, -1, -1, -1, -1, 2927, 4744, -1, -1,
32, -1, -1, -1, -1, -1, -1, -1, 40, -1,
361, 3931, -1, 3182, -1, 47, -1, -1, -1, -1,
1532, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 1458, -1, -1, 4784, -1, -1,
72, -1, -1, -1, -1, 2976, -1, -1, -1, -1,
-1, -1, 3221, -1, -1, -1, -1, -1, -1, 3457,
-1, -1, 4181, -1, 2995, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 1499, -1, 3246, -1, -1,
3478, -1, -1, -1, -1, 3254, -1, -1, -1, 3020,
4837, -1, -1, -1, -1, 4842, 4843, -1, -1, -1,
-1, 4220, -1, -1, -1, 3503, -1, 458, 1532, -1,
461, 462, 463, -1, 465, 466, 467, 468, 469, 470,
-1, -1, 4241, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 4056, -1, -1, 3537,
-1, -1, -1, 4746, -1, -1, 4066, -1, -1, -1,
182, -1, -1, -1, 3323, 187, -1, -1, -1, -1,
3091, -1, 3093, -1, -1, -1, -1, -1, -1, -1,
-1, 4774, 3341, -1, -1, -1, -1, 209, 210, -1,
-1, -1, -1, -1, -1, 4788, 3355, 4306, -1, -1,
-1, -1, 224, -1, -1, -1, -1, -1, 1710, -1,
-1, -1, -1, -1, -1, -1, 4953, 4954, -1, -1,
-1, -1, -1, -1, -1, 1727, -1, -1, -1, -1,
-1, -1, -1, -1, 1736, 257, 3624, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 1748, -1, -1, 271,
-1, -1, 274, -1, 4847, -1, -1, -1, -1, -1,
-1, 3182, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 4181, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 1710, -1, 3457, -1,
3221, -1, 1804, -1, -1, -1, -1, -1, -1, -1,
4220, 4420, -1, 1727, -1, -1, 1818, -1, -1, 3478,
-1, -1, 1736, -1, -1, 3246, -1, -1, 1830, -1,
-1, 4241, -1, 3254, 1748, -1, 3724, -1, -1, 361,
1842, -1, -1, -1, 3503, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 4466, -1, -1,
3748, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 3537, -1,
-1, -1, -1, -1, 1886, 1887, -1, -1, -1, -1,
1804, -1, -1, -1, -1, -1, 4306, -1, -1, -1,
-1, -1, 3323, -1, 1818, -1, 4999, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 1830, -1, -1, -1,
3341, 5158, -1, -1, -1, -1, -1, -1, 1842, -1,
-1, -1, 5025, -1, 3355, -1, 458, -1, -1, 461,
462, 463, -1, 465, 466, 467, 468, 469, 470, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 3624, -1, -1, -1, -1,
-1, -1, 1886, 1887, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 4596, -1, -1,
-1, -1, -1, 3881, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4420, -1, -1, -1, -1, -1, -1, -1, -1, 5112,
2022, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 3457, -1, -1, -1,
-1, -1, -1, 3931, -1, -1, -1, -1, -1, -1,
-1, -1, 5145, 5146, 5147, -1, 4466, 3478, -1, -1,
-1, -1, -1, -1, -1, 3724, -1, -1, -1, -1,
-1, 5164, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 3503, -1, -1, -1, -1, -1, -1, 3748,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 2022, -1,
-1, 4720, -1, -1, -1, -1, 3537, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 20,
-1, -1, -1, -1, 25, 4744, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 5246, -1, 2157, -1, -1, -1, 2161,
2162, -1, -1, -1, -1, -1, -1, -1, 4056, 60,
5263, -1, -1, -1, -1, 4784, -1, -1, 4066, -1,
-1, -1, 73, 74, -1, -1, 4596, -1, -1, -1,
-1, -1, -1, 84, -1, -1, -1, 88, -1, -1,
-1, -1, -1, 3624, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 106, -1, -1, -1, -1,
-1, 2223, 3881, -1, -1, -1, -1, -1, 4837, -1,
-1, -1, -1, 4842, 4843, 2237, 1290, -1, 129, -1,
-1, -1, -1, 2157, -1, -1, -1, 2161, 2162, 140,
-1, -1, -1, -1, -1, -1, -1, 148, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 160,
-1, -1, 3931, -1, 165, 2277, -1, -1, -1, -1,
-1, 5374, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 4181, -1, -1, 1350, -1, -1, -1,
191, -1, -1, 3724, -1, -1, -1, -1, -1, 2223,
4720, -1, -1, -1, 5407, -1, -1, -1, -1, -1,
-1, -1, -1, 2237, 5417, 216, -1, 3748, -1, -1,
-1, -1, 4220, -1, 4744, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4954, 237, -1, -1, -1,
-1, -1, -1, 4241, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 2277, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4784, -1, -1, -1, -1, -1,
271, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 4056, -1, -1,
-1, -1, -1, 294, -1, -1, -1, 4066, -1, -1,
-1, -1, -1, 304, 305, -1, -1, 308, 4306, -1,
-1, -1, -1, -1, -1, -1, -1, 4837, -1, -1,
-1, -1, 4842, 4843, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 334, -1, -1, 337, -1, -1, -1,
341, -1, 343, 25, -1, -1, -1, -1, -1, 350,
3881, -1, 353, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 2480, -1,
-1, 372, -1, -1, -1, -1, -1, 378, -1, -1,
-1, -1, 383, -1, -1, 386, -1, -1, -1, 390,
-1, 73, -1, -1, -1, -1, -1, 398, -1, 400,
3931, -1, -1, -1, 405, -1, 88, -1, -1, -1,
-1, -1, 4181, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 4420, -1, 106, -1, -1, -1, -1, 430,
112, -1, -1, -1, 4954, -1, -1, -1, -1, 5158,
-1, -1, -1, -1, -1, -1, -1, 129, -1, 1613,
2562, 4220, -1, 1617, -1, -1, 2480, -1, 140, -1,
-1, -1, -1, -1, -1, -1, 148, -1, 4466, -1,
-1, -1, 4241, -1, -1, -1, -1, -1, 160, -1,
-1, -1, -1, 165, -1, -1, -1, -1, -1, -1,
172, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 191,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4056, -1, -1, -1, -1,
-1, -1, -1, -1, 216, 4066, -1, 4306, 2562, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 237, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 2680, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 2697, -1, -1, -1, 271,
-1, -1, -1, -1, -1, -1, -1, -1, 4596, -1,
2712, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 294, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 304, 305, -1, -1, 308, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 5158, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4181, 4420, 334, -1, -1, 337, 2680, -1, -1, 341,
-1, 343, -1, -1, -1, -1, -1, -1, 350, -1,
-1, 353, -1, 2697, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 2712, 4220,
372, -1, -1, -1, -1, -1, 378, 4466, -1, -1,
382, 383, -1, -1, 386, -1, -1, -1, 390, -1,
4241, -1, -1, -1, -1, -1, -1, -1, 400, -1,
-1, -1, 4720, 405, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 417, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 4744, -1, 430, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4306, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 4784, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 2917, -1, -1, 2920, -1,
2922, -1, -1, -1, 1978, 2927, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 4596, 1992, -1,
-1, -1, 1996, -1, -1, -1, -1, -1, -1, 4837,
-1, -1, -1, -1, 4842, 4843, 2010, 2011, 2012, -1,
2014, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 2976, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 2995, -1, -1, -1, -1, -1, 4420,
-1, -1, 2056, 2917, -1, -1, 2920, -1, 2922, -1,
-1, -1, -1, 2927, -1, -1, -1, -1, 3020, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4466, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 2112, -1,
-1, 4720, 2976, -1, -1, -1, 4954, -1, -1, -1,
2124, -1, -1, -1, -1, 2129, -1, -1, -1, -1,
-1, 2995, -1, -1, -1, 4744, -1, -1, -1, 3091,
-1, 3093, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 3020, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4784, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4596, -1, 3091, 4837, 3093,
3182, -1, -1, 4842, 4843, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 3221,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 3246, -1, -1, -1, -1, -1,
-1, -1, 3254, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 3182, -1,
5158, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4954, -1, -1, -1, 4720,
-1, -1, -1, -1, -1, -1, -1, 3221, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 3323, -1, 4744, -1, -1, -1, -1, -1, -1,
-1, -1, 3246, -1, -1, -1, -1, -1, -1, 3341,
3254, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 3355, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 4784, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 3323,
-1, -1, -1, -1, -1, -1, 4837, -1, -1, -1,
-1, 4842, 4843, -1, -1, -1, -1, 3341, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 3355, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 3457, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 3478, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 5158,
-1, 3503, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 4954, -1, 3537, -1, -1, -1, -1,
-1, -1, -1, 3457, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 3478, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 3503,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 3624, 3537, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 2726, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 2746, -1, 2748, -1, -1, 2751, 2752, -1,
2754, -1, 2756, -1, -1, -1, 2760, -1, -1, 2763,
3624, -1, -1, -1, 2768, -1, -1, -1, -1, -1,
2774, -1, 3724, -1, -1, 2779, -1, -1, -1, -1,
-1, -1, 2786, 2787, 2788, 2789, -1, 5158, -1, 2793,
2794, -1, 2796, -1, -1, -1, 3748, -1, -1, -1,
-1, -1, -1, -1, 2808, -1, 2810, -1, -1, -1,
-1, -1, -1, 2817, 2818, 2819, 2820, 2821, 2822, 2823,
2824, 2825, 2826, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 2863,
3724, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 3748, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 3881,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 2963,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 3931,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 3881, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 3931, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4056, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4066, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 4056, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 4066, -1, -1, -1, -1, 3211, 3212, -1,
-1, -1, 3216, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 4181,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 3249, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 4220, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 4241,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 4181, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4306, -1, 4220, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 4241, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 4306, -1, -1, -1, -1, -1, -1, 3453,
-1, -1, -1, -1, -1, 3459, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 4420, -1,
-1, 3475, 3476, -1, -1, 3479, 3480, 3481, 3482, -1,
-1, 3485, 3486, 3487, 3488, 3489, 3490, 3491, 3492, 3493,
3494, 3495, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 3517, 4466, -1, 3520, -1, 3522, -1,
-1, 3525, 3526, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 3540, 3541, 3542, 3543,
-1, 3545, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 4420, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 4466, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 3633,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4596, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 4596, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 4720, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 4744, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 4784, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 3852, -1,
-1, -1, -1, -1, -1, -1, 4720, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4744, -1, -1, -1, -1, 4837, -1, -1, -1, -1,
4842, 4843, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4784, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 4837, -1, -1, -1, -1, 4842, 4843,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 4003,
-1, -1, 4954, 4007, 4008, 4009, -1, -1, -1, -1,
-1, 4015, 4016, 4017, 4018, -1, -1, -1, -1, 4023,
4024, 4025, 4026, 4027, 4028, 4029, 4030, 4031, 4032, 4033,
4034, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4059, -1, -1, 4062, -1,
4064, -1, -1, -1, 4068, -1, -1, 4071, 4072, -1,
-1, 4075, 4076, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4954, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 4122, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 4135, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4148, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 5158, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 5158, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4334, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 4415, 4416, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 4456, -1, -1, -1, -1, 4461, 4462, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 4476, -1, 4478, -1, -1, -1, 4482, 4483,
4484, -1, -1, 4487, -1, -1, 4490, 4491, -1, -1,
-1, 4495, -1, -1, -1, 4499, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4554, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 4617, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 4655, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 4742, 4743,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4758, 4759, 4760, -1, -1, -1,
-1, -1, -1, -1, 4768, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 4795, 4796, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 4807, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 4966, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 4980, -1, -1, 4983,
-1, -1, -1, 4987, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 5036, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 5152, -1,
5154, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 5185, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 5240, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 5266, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 5328, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 5362, 5363,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 5413,
5414, -1, -1, -1, 5418, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 3, 4, 5, 6,
7, 8, 9, 10, -1, -1, -1, -1, -1, -1,
5444, 18, 19, 20, 21, 22, 23, 24, 25, 26,
27, 28, 29, -1, -1, -1, -1, 34, -1, -1,
37, 38, -1, 40, 41, 42, 43, 44, 45, 46,
47, 48, 49, 50, 51, -1, 53, 54, 55, 56,
57, 58, 59, 60, 61, 62, 63, 64, 65, -1,
67, 68, 69, 70, 71, -1, 73, -1, 75, 76,
77, 78, 79, 80, 81, 82, 83, -1, 85, 86,
87, 88, 89, 90, -1, 92, 93, 94, 95, 96,
97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, -1, 115, 116,
117, 118, 119, 120, -1, 122, 123, 124, 125, 126,
-1, 128, 129, 130, 131, 132, -1, 134, 135, 136,
-1, 138, 139, 140, -1, 142, 143, 144, 145, 146,
147, 148, 149, 150, 151, 152, -1, 154, 155, 156,
157, -1, 159, -1, 161, 162, -1, 164, 165, 166,
167, 168, -1, 170, 171, -1, 173, 174, 175, -1,
177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
-1, 188, 189, 190, 191, 192, 193, 194, -1, 196,
197, 198, 199, 200, 201, 202, 203, 204, -1, 206,
-1, 208, 209, 210, 211, 212, 213, 214, 215, 216,
217, -1, -1, 220, 221, 222, 223, 224, -1, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
257, 258, 259, 260, 261, 262, 263, 264, 265, -1,
267, 268, -1, -1, 271, 272, 273, -1, -1, 276,
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 291, -1, 293, 294, 295, 296,
297, 298, 299, 300, -1, 302, 303, 304, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
-1, 318, 319, 320, 321, 322, 323, 324, 325, 326,
327, 328, 329, -1, 331, 332, 333, 334, 335, 336,
337, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 348, -1, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 364, 365, -1,
367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
377, 378, 379, -1, 381, 382, -1, 384, 385, 386,
387, 388, 389, 390, -1, 392, 393, 394, -1, -1,
397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
407, 408, 409, -1, 411, 412, 413, 414, 415, 416,
417, -1, 419, 420, 421, 422, 423, 424, 425, 426,
427, 428, 429, 430, 431, 432, -1, -1, 435, -1,
-1, 438, 439, 440, 441, 442, 443, 444, 445, 446,
447, 448, 449, 450, 451, 452, 453, 454, 455, 456,
457, 458, -1, -1, -1, -1, -1, -1, 465, 466,
467, -1, -1, -1, -1, -1, -1, 474, 475, 3,
4, 5, 6, 7, 8, 9, 10, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
34, -1, -1, 37, 38, -1, 40, 41, 42, 43,
44, 45, 46, 47, 48, 49, 50, 51, -1, 53,
54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
64, 65, -1, 67, 68, 69, 70, 71, -1, 73,
-1, 75, 76, 77, 78, 79, 80, 81, 82, 83,
-1, 85, 86, 87, 88, 89, 90, -1, 92, 93,
94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
-1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, 145, 146, 147, 148, 149, 150, 151, 152, -1,
154, 155, 156, 157, -1, 159, -1, 161, 162, -1,
164, 165, 166, 167, 168, -1, 170, 171, -1, 173,
174, 175, -1, 177, 178, 179, 180, 181, 182, 183,
184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
194, -1, 196, 197, 198, 199, 200, 201, 202, 203,
204, -1, 206, -1, 208, 209, 210, 211, 212, 213,
214, 215, 216, 217, -1, -1, 220, 221, 222, 223,
224, -1, 226, 227, 228, 229, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
-1, -1, 276, 277, 278, 279, 280, 281, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, -1, 331, 332, 333,
334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 379, -1, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, -1, 392, 393,
394, -1, -1, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, -1, 411, 412, 413,
414, 415, 416, 417, -1, 419, 420, 421, 422, 423,
424, 425, -1, 427, 428, 429, 430, 431, 432, -1,
-1, 435, -1, 437, 438, 439, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 458, -1, 460, -1, -1, -1,
-1, 465, 466, -1, -1, -1, -1, -1, -1, -1,
474, 475, 3, 4, 5, 6, 7, 8, 9, 10,
-1, -1, -1, -1, -1, -1, -1, 18, 19, 20,
21, 22, 23, 24, 25, -1, 27, 28, 29, -1,
-1, -1, -1, 34, -1, -1, 37, 38, -1, 40,
41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
51, -1, 53, 54, 55, 56, 57, 58, 59, 60,
61, 62, 63, 64, 65, -1, 67, 68, 69, 70,
71, -1, 73, -1, 75, 76, 77, 78, 79, 80,
81, 82, 83, -1, 85, 86, 87, 88, 89, 90,
-1, 92, 93, 94, 95, 96, 97, 98, 99, 100,
101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, -1, 115, 116, 117, 118, 119, 120,
-1, 122, 123, 124, 125, -1, -1, 128, 129, 130,
131, 132, -1, 134, 135, 136, -1, 138, 139, 140,
-1, 142, 143, 144, 145, 146, 147, 148, 149, 150,
151, 152, -1, 154, 155, 156, 157, -1, 159, -1,
161, 162, -1, 164, 165, 166, 167, 168, -1, 170,
171, -1, 173, 174, 175, -1, 177, 178, 179, 180,
181, 182, 183, 184, 185, 186, -1, 188, 189, 190,
191, 192, 193, 194, -1, 196, 197, 198, 199, 200,
201, 202, 203, 204, -1, 206, -1, 208, 209, 210,
211, 212, 213, 214, 215, 216, 217, -1, -1, 220,
221, 222, 223, 224, -1, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
261, 262, 263, 264, 265, -1, 267, 268, -1, -1,
271, 272, 273, -1, -1, 276, 277, 278, 279, 280,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
291, -1, 293, 294, 295, 296, 297, 298, 299, 300,
-1, 302, 303, 304, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, -1, 318, 319, 320,
321, 322, 323, 324, 325, 326, 327, 328, 329, -1,
331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 348, -1, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, 364, 365, -1, 367, 368, 369, 370,
371, 372, 373, 374, 375, 376, 377, 378, 379, -1,
381, 382, -1, 384, 385, 386, 387, 388, 389, 390,
-1, 392, 393, 394, -1, -1, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, -1,
411, 412, 413, 414, 415, 416, 417, -1, 419, 420,
421, 422, 423, 424, 425, -1, 427, 428, 429, 430,
431, 432, -1, -1, 435, -1, -1, 438, 439, 440,
441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
451, 452, 453, 454, 455, 456, 457, 458, -1, -1,
-1, -1, -1, -1, 465, 466, -1, -1, -1, -1,
-1, -1, -1, 474, 475, 3, 4, 5, 6, 7,
8, 9, 10, -1, -1, -1, -1, -1, -1, -1,
18, 19, 20, 21, 22, 23, 24, 25, -1, 27,
28, 29, -1, -1, -1, -1, 34, -1, -1, 37,
38, -1, 40, 41, 42, 43, 44, 45, 46, 47,
48, 49, 50, 51, -1, 53, 54, 55, 56, 57,
58, 59, 60, 61, 62, 63, 64, 65, -1, 67,
68, 69, 70, 71, -1, 73, -1, 75, 76, 77,
78, 79, 80, 81, 82, 83, -1, 85, 86, 87,
88, 89, 90, -1, 92, 93, 94, 95, 96, 97,
98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
108, 109, 110, 111, 112, 113, -1, 115, 116, 117,
118, 119, 120, -1, 122, 123, 124, 125, -1, -1,
128, 129, 130, 131, 132, -1, 134, 135, 136, -1,
138, 139, 140, -1, 142, 143, 144, 145, 146, 147,
148, 149, 150, 151, 152, -1, 154, 155, 156, 157,
-1, 159, -1, 161, 162, -1, 164, 165, 166, 167,
168, -1, 170, 171, -1, 173, 174, 175, -1, 177,
178, 179, 180, 181, 182, 183, 184, 185, 186, -1,
188, 189, 190, 191, 192, 193, 194, -1, 196, 197,
198, 199, 200, 201, 202, 203, 204, -1, 206, -1,
208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
-1, -1, 220, 221, 222, 223, 224, -1, 226, 227,
228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
258, 259, 260, 261, 262, 263, 264, 265, -1, 267,
268, -1, -1, 271, 272, 273, -1, -1, 276, 277,
278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
288, 289, 290, 291, -1, 293, 294, 295, 296, 297,
298, 299, 300, -1, 302, 303, 304, 305, 306, 307,
308, 309, 310, 311, 312, 313, 314, 315, 316, -1,
318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
328, 329, -1, 331, 332, 333, 334, 335, 336, 337,
338, 339, 340, 341, 342, 343, 344, 345, 346, 347,
348, -1, 350, 351, 352, 353, 354, 355, 356, 357,
358, 359, 360, 361, 362, 363, 364, 365, -1, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
378, 379, -1, 381, 382, -1, 384, 385, 386, 387,
388, 389, 390, -1, 392, 393, 394, -1, -1, 397,
398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
408, 409, -1, 411, 412, 413, 414, 415, 416, 417,
-1, 419, 420, 421, 422, 423, 424, 425, -1, 427,
428, 429, 430, 431, 432, -1, -1, 435, -1, -1,
438, 439, 440, 441, 442, 443, 444, 445, 446, 447,
448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
458, -1, -1, -1, -1, -1, -1, 465, 466, -1,
-1, -1, -1, -1, -1, -1, 474, 475, 3, 4,
5, 6, 7, 8, 9, 10, -1, -1, -1, -1,
-1, -1, -1, 18, 19, 20, 21, 22, 23, 24,
25, -1, 27, 28, 29, -1, -1, -1, -1, 34,
-1, -1, 37, 38, -1, 40, 41, 42, 43, 44,
45, 46, 47, 48, 49, 50, 51, -1, 53, 54,
55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
65, -1, 67, 68, 69, 70, 71, -1, 73, -1,
75, 76, 77, 78, 79, 80, 81, 82, 83, -1,
85, 86, 87, 88, 89, 90, -1, 92, 93, 94,
95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, -1,
115, 116, 117, 118, 119, 120, -1, 122, 123, 124,
125, -1, -1, 128, 129, 130, 131, 132, -1, 134,
135, 136, -1, 138, 139, 140, -1, 142, 143, 144,
145, 146, 147, 148, 149, 150, 151, 152, -1, 154,
155, 156, 157, -1, 159, -1, 161, 162, -1, 164,
165, 166, 167, 168, -1, 170, 171, -1, 173, 174,
175, -1, 177, 178, 179, 180, 181, 182, 183, 184,
185, 186, -1, 188, 189, 190, 191, 192, 193, 194,
-1, 196, 197, 198, 199, 200, 201, 202, 203, 204,
-1, 206, -1, 208, 209, 210, 211, 212, 213, 214,
215, 216, 217, -1, -1, 220, 221, 222, 223, 224,
-1, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
265, -1, 267, 268, -1, -1, 271, 272, 273, -1,
-1, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 291, -1, 293, 294,
295, 296, 297, 298, 299, 300, -1, 302, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, -1, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, 328, 329, -1, 331, 332, 333, 334,
335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, -1, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, -1, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 377, 378, 379, -1, 381, 382, -1, 384,
385, 386, 387, 388, 389, 390, -1, 392, 393, 394,
-1, -1, 397, 398, 399, 400, 401, 402, 403, 404,
405, 406, 407, 408, 409, -1, 411, 412, 413, 414,
415, 416, 417, -1, 419, 420, 421, 422, 423, 424,
425, -1, 427, 428, 429, 430, 431, 432, -1, -1,
435, -1, -1, 438, 439, 440, 441, 442, 443, 444,
445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
455, 456, 457, 458, -1, -1, 3, -1, -1, -1,
465, 466, -1, -1, -1, -1, -1, -1, -1, 474,
475, 18, 19, 20, 21, 22, 23, 24, 25, -1,
27, 28, 29, -1, -1, -1, -1, -1, 35, -1,
37, 38, -1, 40, 41, 42, -1, 44, 45, 46,
47, 48, -1, 50, 51, -1, 53, 54, 55, 56,
57, 58, -1, -1, 61, 62, 63, 64, 65, -1,
67, 68, 69, 70, 71, -1, -1, -1, 75, 76,
77, 78, 79, -1, 81, 82, 83, -1, 85, 86,
87, 88, 89, 90, -1, 92, 93, 94, 95, -1,
-1, -1, -1, -1, -1, -1, 103, 104, 105, 106,
107, 108, 109, 110, 111, -1, 113, -1, 115, 116,
117, 118, 119, 120, -1, 122, 123, 124, 125, -1,
-1, 128, 129, 130, 131, 132, -1, 134, 135, 136,
-1, 138, 139, 140, -1, 142, 143, 144, 145, 146,
147, 148, 149, 150, -1, 152, -1, 154, 155, 156,
157, -1, 159, -1, 161, -1, -1, 164, 165, 166,
167, 168, -1, 170, 171, -1, 173, 174, 175, -1,
177, 178, 179, 180, 181, -1, 183, 184, 185, 186,
-1, 188, 189, 190, 191, 192, 193, 194, -1, 196,
197, 198, 199, 200, 201, 202, 203, 204, -1, 206,
-1, 208, -1, -1, 211, 212, 213, 214, 215, 216,
217, -1, -1, 220, 221, 222, 223, -1, -1, 226,
227, 228, -1, -1, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, -1, 255, 256,
-1, 258, -1, 260, 261, 262, 263, 264, 265, -1,
267, 268, -1, -1, 271, 272, 273, -1, -1, 276,
277, 278, -1, 280, -1, 282, 283, 284, 285, 286,
287, 288, 289, 290, 291, -1, 293, 294, 295, 296,
297, 298, 299, 300, -1, 302, 303, 304, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
-1, 318, 319, 320, 321, 322, 323, 324, 325, 326,
327, 328, 329, -1, 331, 332, 333, 334, 335, 336,
337, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 348, -1, 350, 351, 352, 353, 354, -1, 356,
357, 358, 359, 360, -1, 362, 363, 364, 365, -1,
367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
377, 378, 379, -1, 381, 382, -1, 384, -1, 386,
387, 388, 389, 390, -1, 392, 393, 394, -1, -1,
397, 398, 399, 400, 401, -1, 403, 404, 405, 406,
407, 408, 409, -1, -1, 412, 413, 414, 415, 416,
-1, -1, 419, 420, 421, 422, 423, 424, 425, -1,
427, -1, 429, 430, 431, 432, -1, -1, 435, -1,
-1, 438, 439, 440, 441, 442, 443, 444, 445, 446,
447, 448, 449, 450, 451, 452, 453, 454, 455, 456,
457, -1, -1, -1, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 475, 18,
19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, 42, 43, 44, 45, 46, -1, 48,
49, 50, 51, -1, 53, 54, 55, 56, 57, 58,
-1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
69, 70, -1, -1, 73, -1, 75, 76, 77, 78,
79, 80, 81, 82, 83, -1, 85, 86, 87, 88,
89, 90, -1, 92, 93, 94, 95, -1, -1, -1,
99, -1, -1, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, 145, -1, 147, 148,
149, -1, -1, 152, -1, 154, 155, 156, 157, -1,
159, -1, 161, 162, -1, 164, 165, 166, 167, 168,
-1, 170, -1, -1, -1, 174, 175, -1, 177, 178,
179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, 193, 194, -1, 196, 197, 198,
199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
209, 210, 211, 212, 213, 214, 215, 216, 217, -1,
-1, 220, -1, 222, 223, 224, -1, 226, 227, 228,
-1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, -1, -1, 255, 256, 257, 258,
-1, -1, 261, 262, 263, 264, 265, -1, 267, 268,
-1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
279, 280, 281, -1, 283, 284, 285, 286, 287, 288,
289, 290, 291, -1, 293, 294, -1, 296, -1, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, -1, 331, 332, 333, 334, 335, 336, 337, 338,
-1, 340, 341, 342, 343, 344, 345, 346, 347, 348,
-1, 350, 351, 352, 353, 354, -1, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
-1, -1, 381, 382, -1, 384, 385, 386, 387, 388,
389, 390, -1, 392, 393, 394, -1, -1, 397, 398,
-1, 400, -1, -1, 403, 404, 405, 406, 407, 408,
409, -1, -1, 412, 413, 414, 415, 416, -1, -1,
419, 420, 421, 422, 423, -1, 425, 426, 427, 428,
429, 430, 431, 432, -1, -1, 435, -1, -1, 438,
439, 440, 441, 442, 443, 3, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 455, 456, 457, -1,
18, 19, 20, 21, 22, 23, 24, 25, -1, 27,
28, 29, -1, -1, -1, -1, 475, -1, -1, 37,
38, -1, 40, 41, 42, 43, 44, 45, 46, -1,
48, 49, 50, 51, -1, 53, 54, 55, 56, 57,
58, -1, -1, 61, 62, 63, 64, 65, -1, 67,
68, 69, 70, -1, -1, 73, -1, 75, 76, 77,
78, 79, 80, 81, 82, 83, -1, 85, 86, 87,
88, 89, 90, -1, 92, 93, 94, 95, -1, -1,
-1, 99, -1, -1, -1, 103, 104, 105, 106, 107,
108, 109, 110, 111, -1, 113, -1, 115, 116, 117,
118, 119, 120, -1, 122, 123, 124, 125, -1, -1,
128, 129, 130, 131, 132, -1, 134, 135, 136, -1,
138, 139, 140, -1, 142, 143, 144, 145, -1, 147,
148, 149, -1, -1, 152, -1, 154, 155, 156, 157,
-1, 159, -1, 161, 162, -1, 164, 165, 166, 167,
168, -1, 170, -1, -1, -1, 174, 175, -1, 177,
178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
188, 189, 190, 191, 192, 193, 194, -1, 196, 197,
198, 199, 200, 201, 202, 203, 204, -1, 206, -1,
208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
-1, -1, 220, -1, 222, 223, 224, -1, 226, 227,
228, -1, -1, 231, 232, 233, 234, 235, 236, 237,
238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
248, 249, 250, 251, 252, -1, -1, 255, 256, 257,
258, -1, -1, 261, 262, 263, 264, 265, -1, 267,
268, -1, -1, 271, 272, 273, -1, -1, 276, 277,
278, 279, 280, 281, -1, 283, 284, 285, 286, 287,
288, 289, 290, 291, -1, 293, 294, -1, 296, -1,
298, 299, 300, -1, 302, 303, 304, 305, 306, 307,
308, 309, 310, 311, 312, 313, 314, 315, 316, -1,
318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
328, 329, -1, 331, 332, 333, 334, 335, 336, 337,
338, -1, 340, 341, 342, 343, 344, 345, 346, 347,
348, -1, 350, 351, 352, 353, 354, -1, 356, 357,
358, 359, 360, 361, 362, 363, 364, 365, -1, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
378, -1, -1, 381, 382, -1, 384, 385, 386, 387,
388, 389, 390, -1, 392, 393, 394, -1, -1, 397,
398, -1, 400, -1, -1, 403, 404, 405, 406, 407,
408, 409, -1, -1, 412, 413, 414, 415, 416, -1,
-1, 419, 420, 421, 422, 423, -1, 425, 426, 427,
428, 429, 430, 431, 432, -1, -1, 435, -1, -1,
438, 439, 440, 441, 442, 443, -1, 3, 4, 5,
6, 7, 8, 9, 10, -1, -1, 455, 456, 457,
-1, -1, 18, 19, 20, 21, 22, 23, 24, 25,
-1, 27, 28, 29, -1, -1, -1, 475, 34, -1,
-1, 37, 38, -1, 40, 41, 42, 43, 44, 45,
46, 47, 48, 49, 50, 51, -1, 53, 54, 55,
56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
-1, 67, 68, 69, 70, 71, -1, 73, -1, 75,
76, 77, 78, 79, 80, 81, 82, 83, -1, 85,
86, 87, 88, 89, 90, -1, 92, 93, 94, 95,
96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
106, 107, 108, 109, 110, 111, 112, 113, -1, 115,
116, 117, 118, 119, 120, -1, 122, 123, 124, 125,
-1, -1, 128, 129, 130, 131, 132, -1, 134, 135,
136, -1, 138, 139, 140, -1, 142, 143, 144, 145,
146, 147, 148, 149, 150, 151, 152, -1, 154, 155,
156, 157, -1, 159, -1, 161, 162, -1, 164, 165,
166, 167, 168, -1, 170, 171, -1, 173, 174, 175,
-1, 177, 178, 179, 180, 181, 182, 183, 184, 185,
186, -1, 188, 189, 190, 191, 192, 193, 194, -1,
196, 197, 198, 199, 200, 201, 202, 203, 204, -1,
206, -1, 208, 209, 210, 211, 212, 213, 214, 215,
216, 217, -1, -1, 220, 221, 222, 223, 224, -1,
226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
-1, 267, 268, -1, -1, 271, 272, 273, -1, -1,
276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
286, 287, 288, 289, 290, 291, -1, 293, 294, 295,
296, 297, 298, 299, 300, -1, 302, 303, 304, 305,
306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
316, -1, 318, 319, 320, 321, 322, 323, 324, 325,
326, 327, 328, 329, -1, 331, 332, 333, 334, 335,
336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, 360, 361, 362, 363, 364, 365,
-1, 367, 368, 369, 370, 371, 372, 373, 374, 375,
376, 377, 378, 379, -1, 381, 382, 383, 384, 385,
386, 387, 388, 389, 390, -1, 392, 393, 394, -1,
-1, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, -1, 411, 412, 413, 414, 415,
416, 417, -1, 419, 420, 421, 422, 423, 424, 425,
-1, 427, 428, 429, 430, 431, 432, -1, -1, 435,
-1, 437, 438, 439, 440, 441, 442, 443, 444, 445,
446, 447, 448, 449, 450, 451, 452, 453, 454, 455,
456, 457, 458, -1, 460, -1, -1, -1, -1, 465,
466, -1, -1, -1, -1, -1, -1, -1, 474, 3,
4, 5, 6, 7, 8, 9, 10, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
34, -1, -1, 37, 38, -1, 40, 41, 42, 43,
44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
64, 65, -1, 67, 68, 69, 70, 71, -1, 73,
-1, 75, 76, 77, 78, 79, 80, 81, 82, 83,
-1, 85, 86, 87, 88, 89, 90, -1, 92, 93,
94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
-1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, 145, 146, 147, 148, 149, 150, 151, 152, -1,
154, 155, 156, 157, -1, 159, -1, 161, 162, 163,
164, 165, 166, 167, 168, -1, 170, 171, -1, 173,
174, 175, -1, 177, 178, 179, 180, 181, 182, 183,
184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
194, -1, 196, 197, 198, 199, 200, 201, 202, 203,
204, -1, 206, -1, 208, 209, 210, 211, 212, 213,
214, 215, 216, 217, -1, 219, 220, 221, 222, 223,
224, -1, 226, 227, 228, 229, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
-1, -1, 276, 277, 278, 279, 280, 281, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, -1, 331, 332, 333,
334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 379, -1, 381, 382, -1,
384, 385, 386, 387, 388, 389, 390, -1, 392, 393,
394, -1, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, -1, 411, 412, 413,
414, 415, 416, 417, -1, 419, 420, 421, 422, 423,
424, 425, -1, 427, 428, 429, 430, 431, 432, -1,
-1, 435, -1, -1, 438, 439, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 458, -1, -1, -1, -1, -1,
-1, 465, 466, -1, -1, -1, -1, -1, -1, -1,
474, 3, 4, 5, 6, 7, 8, 9, 10, -1,
-1, -1, -1, -1, -1, -1, 18, 19, 20, 21,
22, 23, 24, 25, -1, 27, 28, 29, -1, -1,
-1, -1, 34, -1, -1, 37, 38, -1, 40, 41,
42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
-1, 53, 54, 55, 56, 57, 58, 59, 60, 61,
62, 63, 64, 65, -1, 67, 68, 69, 70, 71,
-1, 73, -1, 75, 76, 77, 78, 79, 80, 81,
82, 83, -1, 85, 86, 87, 88, 89, 90, -1,
92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
112, 113, -1, 115, 116, 117, 118, 119, 120, -1,
122, 123, 124, 125, -1, -1, 128, 129, 130, 131,
132, -1, 134, 135, 136, -1, 138, 139, 140, -1,
142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
152, -1, 154, 155, 156, 157, -1, 159, -1, 161,
162, -1, 164, 165, 166, 167, 168, -1, 170, 171,
-1, 173, 174, 175, -1, 177, 178, 179, 180, 181,
182, 183, 184, 185, 186, -1, 188, 189, 190, 191,
192, 193, 194, -1, 196, 197, 198, 199, 200, 201,
202, 203, 204, -1, 206, -1, 208, 209, 210, 211,
212, 213, 214, 215, 216, 217, -1, -1, 220, 221,
222, 223, 224, -1, 226, 227, 228, 229, 230, 231,
232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
262, 263, 264, 265, -1, 267, 268, -1, -1, 271,
272, 273, -1, -1, 276, 277, 278, 279, 280, 281,
282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
-1, 293, 294, 295, 296, 297, 298, 299, 300, -1,
302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
312, 313, 314, 315, 316, -1, 318, 319, 320, 321,
322, 323, 324, 325, 326, 327, 328, 329, -1, 331,
332, 333, 334, 335, 336, 337, 338, 339, 340, 341,
342, 343, 344, 345, 346, 347, 348, -1, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
362, 363, 364, 365, -1, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, 377, 378, 379, -1, 381,
382, -1, 384, 385, 386, 387, 388, 389, 390, -1,
392, 393, 394, -1, -1, 397, 398, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 409, -1, 411,
412, 413, 414, 415, 416, 417, -1, 419, 420, 421,
422, 423, 424, 425, -1, 427, 428, 429, 430, 431,
432, -1, -1, 435, -1, -1, 438, 439, 440, 441,
442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
452, 453, 454, 455, 456, 457, 458, -1, -1, -1,
-1, -1, -1, 465, 466, -1, -1, -1, -1, -1,
472, 473, 474, 3, 4, 5, 6, 7, 8, 9,
10, -1, -1, -1, -1, -1, -1, -1, 18, 19,
20, 21, 22, 23, 24, 25, -1, 27, 28, 29,
-1, -1, -1, -1, 34, -1, -1, 37, 38, -1,
40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
50, 51, -1, 53, 54, 55, 56, 57, 58, 59,
60, 61, 62, 63, 64, 65, -1, 67, 68, 69,
70, 71, -1, 73, -1, 75, 76, 77, 78, 79,
80, 81, 82, 83, -1, 85, 86, 87, 88, 89,
90, -1, 92, 93, 94, 95, 96, 97, 98, 99,
100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
110, 111, 112, 113, -1, 115, 116, 117, 118, 119,
120, -1, 122, 123, 124, 125, -1, -1, 128, 129,
130, 131, 132, -1, 134, 135, 136, -1, 138, 139,
140, -1, 142, 143, 144, 145, 146, 147, 148, 149,
150, 151, 152, -1, 154, 155, 156, 157, -1, 159,
-1, 161, 162, -1, 164, 165, 166, 167, 168, -1,
170, 171, -1, 173, 174, 175, -1, 177, 178, 179,
180, 181, 182, 183, 184, 185, 186, -1, 188, 189,
190, 191, 192, 193, 194, -1, 196, 197, 198, 199,
200, 201, 202, 203, 204, -1, 206, -1, 208, 209,
210, 211, 212, 213, 214, 215, 216, 217, -1, -1,
220, 221, 222, 223, 224, -1, 226, 227, 228, 229,
230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
260, 261, 262, 263, 264, 265, -1, 267, 268, -1,
-1, 271, 272, 273, -1, -1, 276, 277, 278, 279,
280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
290, 291, -1, 293, 294, 295, 296, 297, 298, 299,
300, -1, 302, 303, 304, 305, 306, 307, 308, 309,
310, 311, 312, 313, 314, 315, 316, -1, 318, 319,
320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
-1, 331, 332, 333, 334, 335, 336, 337, 338, 339,
340, 341, 342, 343, 344, 345, 346, 347, 348, -1,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
360, 361, 362, 363, 364, 365, -1, 367, 368, 369,
370, 371, 372, 373, 374, 375, 376, 377, 378, 379,
-1, 381, 382, -1, 384, 385, 386, 387, 388, 389,
390, -1, 392, 393, 394, -1, -1, 397, 398, 399,
400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
-1, 411, 412, 413, 414, 415, 416, 417, -1, 419,
420, 421, 422, 423, 424, 425, -1, 427, 428, 429,
430, 431, 432, -1, -1, 435, -1, -1, 438, 439,
440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
450, 451, 452, 453, 454, 455, 456, 457, 458, -1,
-1, -1, -1, -1, -1, 465, 466, 467, -1, -1,
-1, -1, -1, -1, 474, 3, 4, 5, 6, 7,
8, 9, 10, -1, -1, -1, -1, -1, -1, -1,
18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
28, 29, -1, -1, -1, -1, 34, -1, -1, 37,
38, -1, 40, 41, 42, 43, 44, 45, 46, 47,
48, 49, 50, 51, -1, 53, 54, 55, 56, 57,
58, 59, 60, 61, 62, 63, 64, 65, -1, 67,
68, 69, 70, 71, -1, 73, -1, 75, 76, 77,
78, 79, 80, 81, 82, 83, -1, 85, 86, 87,
88, 89, 90, -1, 92, 93, 94, 95, 96, 97,
98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
108, 109, 110, 111, 112, 113, -1, 115, 116, 117,
118, 119, 120, -1, 122, 123, 124, 125, -1, -1,
128, 129, 130, 131, 132, -1, 134, 135, 136, -1,
138, 139, 140, -1, 142, 143, 144, 145, 146, 147,
148, 149, 150, 151, 152, -1, 154, 155, 156, 157,
-1, 159, -1, 161, 162, -1, 164, 165, 166, 167,
168, -1, 170, 171, -1, 173, 174, 175, -1, 177,
178, 179, 180, 181, 182, 183, 184, 185, 186, -1,
188, 189, 190, 191, 192, 193, 194, -1, 196, 197,
198, 199, 200, 201, 202, 203, 204, -1, 206, -1,
208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
-1, -1, 220, 221, 222, 223, 224, -1, 226, 227,
228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
258, 259, 260, 261, 262, 263, 264, 265, -1, 267,
268, -1, -1, 271, 272, 273, -1, -1, 276, 277,
278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
288, 289, 290, 291, -1, 293, 294, 295, 296, 297,
298, 299, 300, -1, 302, 303, 304, 305, 306, 307,
308, 309, 310, 311, 312, 313, 314, 315, 316, -1,
318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
328, 329, -1, 331, 332, 333, 334, 335, 336, 337,
338, 339, 340, 341, 342, 343, 344, 345, 346, 347,
348, -1, 350, 351, 352, 353, 354, 355, 356, 357,
358, 359, 360, 361, 362, 363, 364, 365, -1, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
378, 379, -1, 381, 382, -1, 384, 385, 386, 387,
388, 389, 390, -1, 392, 393, 394, -1, -1, 397,
398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
408, 409, -1, 411, 412, 413, 414, 415, 416, 417,
-1, 419, 420, 421, 422, 423, 424, 425, -1, 427,
428, 429, 430, 431, 432, -1, -1, 435, -1, -1,
438, 439, 440, 441, 442, 443, 444, 445, 446, 447,
448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
458, -1, -1, -1, -1, -1, -1, 465, 466, -1,
-1, -1, -1, -1, -1, -1, 474, 3, 4, 5,
6, 7, 8, 9, 10, -1, -1, -1, -1, -1,
-1, -1, 18, 19, 20, 21, 22, 23, 24, 25,
-1, 27, 28, 29, -1, -1, -1, -1, 34, -1,
-1, 37, 38, -1, 40, 41, 42, 43, 44, 45,
46, 47, 48, 49, 50, 51, -1, 53, 54, 55,
56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
-1, 67, 68, 69, 70, 71, -1, 73, -1, 75,
76, 77, 78, 79, 80, 81, 82, 83, -1, 85,
86, 87, 88, 89, 90, -1, 92, 93, 94, 95,
96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
106, 107, 108, 109, 110, 111, 112, 113, -1, 115,
116, 117, 118, 119, 120, -1, 122, 123, 124, 125,
-1, -1, 128, 129, 130, 131, 132, -1, 134, 135,
136, -1, 138, 139, 140, -1, 142, 143, 144, 145,
146, 147, 148, 149, 150, 151, 152, -1, 154, 155,
156, 157, -1, 159, -1, 161, 162, -1, 164, 165,
166, 167, 168, -1, 170, 171, -1, 173, 174, 175,
-1, 177, 178, 179, 180, 181, 182, 183, 184, 185,
186, -1, 188, 189, 190, 191, 192, 193, 194, -1,
196, 197, 198, 199, 200, 201, 202, 203, 204, -1,
206, -1, 208, 209, 210, 211, 212, 213, 214, 215,
216, 217, -1, -1, 220, 221, 222, 223, 224, -1,
226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
-1, 267, 268, -1, -1, 271, 272, 273, -1, -1,
276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
286, 287, 288, 289, 290, 291, -1, 293, 294, 295,
296, 297, 298, 299, 300, -1, 302, 303, 304, 305,
306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
316, -1, 318, 319, 320, 321, 322, 323, 324, 325,
326, 327, 328, 329, -1, 331, 332, 333, 334, 335,
336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 347, 348, -1, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, 360, 361, 362, 363, 364, 365,
-1, 367, 368, 369, 370, 371, 372, 373, 374, 375,
376, 377, 378, 379, -1, 381, 382, -1, 384, 385,
386, 387, 388, 389, 390, -1, 392, 393, 394, -1,
-1, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, -1, 411, 412, 413, 414, 415,
416, 417, -1, 419, 420, 421, 422, 423, 424, 425,
426, 427, 428, 429, 430, 431, 432, -1, -1, 435,
-1, -1, 438, 439, 440, 441, 442, 443, 444, 445,
446, 447, 448, 449, 450, 451, 452, 453, 454, 455,
456, 457, 458, -1, -1, -1, -1, -1, -1, 465,
466, -1, -1, -1, -1, -1, -1, -1, 474, 3,
4, 5, 6, 7, 8, 9, 10, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
34, -1, -1, 37, 38, -1, 40, 41, 42, 43,
44, 45, 46, 47, 48, 49, 50, 51, -1, 53,
54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
64, 65, -1, 67, 68, 69, 70, 71, -1, 73,
-1, 75, 76, 77, 78, 79, 80, 81, 82, 83,
-1, 85, 86, 87, 88, 89, 90, -1, 92, 93,
94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
-1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, 145, 146, 147, 148, 149, 150, 151, 152, -1,
154, 155, 156, 157, -1, 159, -1, 161, 162, 163,
164, 165, 166, 167, 168, -1, 170, 171, -1, 173,
174, 175, -1, 177, 178, 179, 180, 181, 182, 183,
184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
194, -1, 196, 197, 198, 199, 200, 201, 202, 203,
204, -1, 206, -1, 208, 209, 210, 211, 212, 213,
214, 215, 216, 217, -1, -1, 220, 221, 222, 223,
224, -1, 226, 227, 228, 229, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
-1, -1, 276, 277, 278, 279, 280, 281, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, -1, 331, 332, 333,
334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 379, -1, 381, 382, -1,
384, 385, 386, 387, 388, 389, 390, -1, 392, 393,
394, -1, -1, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, -1, 411, 412, 413,
414, 415, 416, 417, -1, 419, 420, 421, 422, 423,
424, 425, -1, 427, 428, 429, 430, 431, 432, -1,
-1, 435, -1, -1, 438, 439, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 458, -1, -1, -1, -1, -1,
-1, 465, 466, -1, -1, -1, -1, -1, -1, -1,
474, 3, 4, 5, 6, 7, 8, 9, 10, -1,
-1, -1, -1, -1, -1, -1, 18, 19, 20, 21,
22, 23, 24, 25, -1, 27, 28, 29, -1, -1,
-1, -1, 34, -1, -1, 37, 38, -1, 40, 41,
42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
-1, 53, 54, 55, 56, 57, 58, 59, 60, 61,
62, 63, 64, 65, -1, 67, 68, 69, 70, 71,
-1, 73, -1, 75, 76, 77, 78, 79, 80, 81,
82, 83, -1, 85, 86, 87, 88, 89, 90, -1,
92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
112, 113, -1, 115, 116, 117, 118, 119, 120, -1,
122, 123, 124, 125, -1, -1, 128, 129, 130, 131,
132, -1, 134, 135, 136, -1, 138, 139, 140, -1,
142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
152, -1, 154, 155, 156, 157, -1, 159, -1, 161,
162, -1, 164, 165, 166, 167, 168, -1, 170, 171,
-1, 173, 174, 175, -1, 177, 178, 179, 180, 181,
182, 183, 184, 185, 186, -1, 188, 189, 190, 191,
192, 193, 194, -1, 196, 197, 198, 199, 200, 201,
202, 203, 204, -1, 206, -1, 208, 209, 210, 211,
212, 213, 214, 215, 216, 217, -1, -1, 220, 221,
222, 223, 224, -1, 226, 227, 228, 229, 230, 231,
232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
262, 263, 264, 265, -1, 267, 268, -1, -1, 271,
272, 273, -1, -1, 276, 277, 278, 279, 280, 281,
282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
-1, 293, 294, 295, 296, 297, 298, 299, 300, -1,
302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
312, 313, 314, 315, 316, -1, 318, 319, 320, 321,
322, 323, 324, 325, 326, 327, 328, 329, -1, 331,
332, 333, 334, 335, 336, 337, 338, 339, 340, 341,
342, 343, 344, 345, 346, 347, 348, -1, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
362, 363, 364, 365, -1, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, 377, 378, 379, -1, 381,
382, -1, 384, 385, 386, 387, 388, 389, 390, -1,
392, 393, 394, -1, -1, 397, 398, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 409, -1, 411,
412, 413, 414, 415, 416, 417, -1, 419, 420, 421,
422, 423, 424, 425, -1, 427, 428, 429, 430, 431,
432, -1, -1, 435, -1, -1, 438, 439, 440, 441,
442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
452, 453, 454, 455, 456, 457, 458, -1, -1, -1,
-1, -1, -1, 465, 466, -1, -1, -1, -1, -1,
-1, -1, 474, 3, 4, 5, 6, 7, 8, 9,
10, -1, -1, -1, -1, -1, -1, -1, 18, 19,
20, 21, 22, 23, 24, 25, -1, 27, 28, 29,
-1, -1, -1, -1, 34, -1, -1, 37, 38, -1,
40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
50, 51, -1, 53, 54, 55, 56, 57, 58, 59,
60, 61, 62, 63, 64, 65, -1, 67, 68, 69,
70, 71, -1, 73, -1, 75, 76, 77, 78, 79,
80, 81, 82, 83, -1, 85, 86, 87, 88, 89,
90, -1, 92, 93, 94, 95, 96, 97, 98, 99,
100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
110, 111, 112, 113, -1, 115, 116, 117, 118, 119,
120, -1, 122, 123, 124, 125, -1, -1, 128, 129,
130, 131, 132, -1, 134, 135, 136, -1, 138, 139,
140, -1, 142, 143, 144, 145, 146, 147, 148, 149,
150, 151, 152, -1, 154, 155, 156, 157, -1, 159,
-1, 161, 162, -1, 164, 165, 166, 167, 168, -1,
170, 171, -1, 173, 174, 175, -1, 177, 178, 179,
180, 181, 182, 183, 184, 185, 186, -1, 188, 189,
190, 191, 192, 193, 194, -1, 196, 197, 198, 199,
200, 201, 202, 203, 204, -1, 206, -1, 208, 209,
210, 211, 212, 213, 214, 215, 216, 217, -1, -1,
220, 221, 222, 223, 224, -1, 226, 227, 228, 229,
230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
260, 261, 262, 263, 264, 265, -1, 267, 268, -1,
-1, 271, 272, 273, -1, -1, 276, 277, 278, 279,
280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
290, 291, -1, 293, 294, 295, 296, 297, 298, 299,
300, -1, 302, 303, 304, 305, 306, 307, 308, 309,
310, 311, 312, 313, 314, 315, 316, -1, 318, 319,
320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
-1, 331, 332, 333, 334, 335, 336, 337, 338, 339,
340, 341, 342, 343, 344, 345, 346, 347, 348, -1,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
360, 361, 362, 363, 364, 365, -1, 367, 368, 369,
370, 371, 372, 373, 374, 375, 376, 377, 378, 379,
-1, 381, 382, -1, 384, 385, 386, 387, 388, 389,
390, -1, 392, 393, 394, -1, -1, 397, 398, 399,
400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
-1, 411, 412, 413, 414, 415, 416, 417, -1, 419,
420, 421, 422, 423, 424, 425, -1, 427, 428, 429,
430, 431, 432, -1, -1, 435, -1, -1, 438, 439,
440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
450, 451, 452, 453, 454, 455, 456, 457, 458, -1,
-1, -1, -1, -1, -1, 465, 466, -1, -1, -1,
-1, -1, -1, -1, 474, 3, 4, 5, 6, 7,
8, 9, 10, -1, -1, -1, -1, -1, -1, -1,
18, 19, 20, 21, 22, 23, 24, 25, -1, 27,
28, 29, -1, -1, -1, -1, 34, -1, -1, 37,
38, -1, 40, 41, 42, 43, 44, 45, 46, 47,
48, 49, 50, 51, -1, 53, 54, 55, 56, 57,
58, 59, 60, 61, 62, 63, 64, 65, -1, 67,
68, 69, 70, 71, -1, 73, -1, 75, 76, 77,
78, 79, 80, 81, 82, 83, -1, 85, 86, 87,
88, 89, 90, -1, 92, 93, 94, 95, 96, 97,
98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
108, 109, 110, 111, 112, 113, -1, 115, 116, 117,
118, 119, 120, -1, 122, 123, 124, 125, -1, -1,
128, 129, 130, 131, 132, -1, 134, 135, 136, -1,
138, 139, 140, -1, 142, 143, 144, 145, 146, 147,
148, 149, 150, 151, 152, -1, 154, 155, 156, 157,
-1, 159, -1, 161, 162, -1, 164, 165, 166, 167,
168, -1, 170, 171, -1, 173, 174, 175, -1, 177,
178, 179, 180, 181, 182, 183, 184, 185, 186, -1,
188, 189, 190, 191, 192, 193, 194, -1, 196, 197,
198, 199, 200, 201, 202, 203, 204, -1, 206, -1,
208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
-1, -1, 220, 221, 222, 223, 224, -1, 226, 227,
228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
258, 259, 260, 261, 262, 263, 264, 265, -1, 267,
268, -1, -1, 271, 272, 273, -1, -1, 276, 277,
278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
288, 289, 290, 291, -1, 293, 294, 295, 296, 297,
298, 299, 300, -1, 302, 303, 304, 305, 306, 307,
308, 309, 310, 311, 312, 313, 314, 315, 316, -1,
318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
328, 329, -1, 331, 332, 333, 334, 335, 336, 337,
338, 339, 340, 341, 342, 343, 344, 345, 346, 347,
348, -1, 350, 351, 352, 353, 354, 355, 356, 357,
358, 359, 360, 361, 362, 363, 364, 365, -1, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
378, 379, -1, 381, 382, -1, 384, 385, 386, 387,
388, 389, 390, -1, 392, 393, 394, -1, -1, 397,
398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
408, 409, -1, 411, 412, 413, 414, 415, 416, 417,
-1, 419, 420, 421, 422, 423, 424, 425, -1, 427,
428, 429, 430, 431, 432, -1, -1, 435, -1, -1,
438, 439, 440, 441, 442, 443, 444, 445, 446, 447,
448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
458, -1, -1, -1, -1, -1, -1, 465, 466, -1,
-1, -1, -1, -1, -1, -1, 474, 3, 4, 5,
6, 7, 8, 9, 10, -1, -1, -1, -1, -1,
-1, -1, 18, 19, 20, 21, 22, 23, 24, 25,
-1, 27, 28, 29, -1, -1, -1, -1, 34, -1,
-1, 37, 38, -1, 40, 41, 42, 43, 44, 45,
46, 47, 48, 49, 50, 51, -1, 53, 54, 55,
56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
-1, 67, 68, 69, 70, 71, -1, 73, -1, 75,
76, 77, 78, 79, 80, 81, 82, 83, -1, 85,
86, 87, 88, 89, 90, -1, 92, 93, 94, 95,
96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
106, 107, 108, 109, 110, 111, 112, 113, -1, 115,
116, 117, 118, 119, 120, -1, 122, 123, 124, 125,
-1, -1, 128, 129, 130, 131, 132, -1, 134, 135,
136, -1, 138, 139, 140, -1, 142, 143, 144, 145,
146, 147, 148, 149, 150, 151, 152, -1, 154, 155,
156, 157, -1, 159, -1, 161, 162, -1, 164, 165,
166, 167, 168, -1, 170, 171, -1, 173, 174, 175,
-1, 177, 178, 179, 180, 181, 182, 183, 184, 185,
186, -1, 188, 189, 190, 191, 192, 193, 194, -1,
196, 197, 198, 199, 200, 201, 202, 203, 204, -1,
206, -1, 208, 209, 210, 211, 212, 213, 214, 215,
216, 217, -1, -1, 220, 221, 222, 223, 224, -1,
226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
-1, 267, 268, -1, -1, 271, 272, 273, -1, -1,
276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
286, 287, 288, 289, 290, 291, -1, 293, 294, 295,
296, 297, 298, 299, 300, -1, 302, 303, 304, 305,
306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
316, -1, 318, 319, 320, 321, 322, 323, 324, 325,
326, 327, 328, 329, -1, 331, 332, 333, 334, 335,
336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 347, 348, -1, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, 360, 361, 362, 363, 364, 365,
-1, 367, 368, 369, 370, 371, 372, 373, 374, 375,
376, 377, 378, 379, -1, 381, 382, -1, 384, 385,
386, 387, 388, 389, 390, -1, 392, 393, 394, -1,
-1, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, -1, 411, 412, 413, 414, 415,
416, 417, -1, 419, 420, 421, 422, 423, 424, 425,
-1, 427, 428, 429, 430, 431, 432, -1, -1, 435,
-1, -1, 438, 439, 440, 441, 442, 443, 444, 445,
446, 447, 448, 449, 450, 451, 452, 453, 454, 455,
456, 457, 458, -1, -1, -1, -1, -1, -1, 465,
466, -1, -1, -1, -1, -1, -1, -1, 474, 3,
4, 5, 6, 7, 8, 9, 10, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
34, -1, -1, 37, 38, -1, 40, 41, 42, 43,
44, 45, 46, 47, 48, 49, 50, 51, -1, 53,
54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
64, 65, -1, 67, 68, 69, 70, 71, -1, 73,
-1, 75, 76, 77, 78, 79, 80, 81, 82, 83,
-1, 85, 86, 87, 88, 89, 90, -1, 92, 93,
94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
-1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, 145, 146, 147, 148, 149, 150, 151, 152, -1,
154, 155, 156, 157, -1, 159, -1, 161, 162, -1,
164, 165, 166, 167, 168, -1, 170, 171, -1, 173,
174, 175, -1, 177, 178, 179, 180, 181, 182, 183,
184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
194, -1, 196, 197, 198, 199, 200, 201, 202, 203,
204, -1, 206, -1, 208, 209, 210, 211, 212, 213,
214, 215, 216, 217, -1, -1, 220, 221, 222, 223,
224, -1, 226, 227, 228, 229, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
-1, -1, 276, 277, 278, 279, 280, 281, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, -1, 331, 332, 333,
334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 379, -1, 381, 382, -1,
384, 385, 386, 387, 388, 389, 390, -1, 392, 393,
394, -1, -1, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, -1, 411, 412, 413,
414, 415, 416, 417, -1, 419, 420, 421, 422, 423,
424, 425, -1, 427, 428, 429, 430, 431, 432, -1,
-1, 435, -1, -1, 438, 439, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 458, -1, -1, -1, -1, -1,
-1, 465, 466, -1, -1, -1, -1, -1, -1, -1,
474, 3, 4, 5, 6, 7, 8, 9, 10, -1,
-1, -1, -1, -1, -1, -1, 18, 19, 20, 21,
22, 23, 24, 25, -1, 27, 28, 29, -1, -1,
-1, -1, 34, -1, -1, 37, 38, -1, 40, 41,
42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
-1, 53, 54, 55, 56, 57, 58, 59, 60, 61,
62, 63, 64, 65, -1, 67, 68, 69, 70, 71,
-1, 73, -1, 75, 76, 77, 78, 79, 80, 81,
82, 83, -1, 85, 86, 87, 88, 89, 90, -1,
92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
112, 113, -1, 115, 116, 117, 118, 119, 120, -1,
122, 123, 124, 125, -1, -1, 128, 129, 130, 131,
132, -1, 134, 135, 136, -1, 138, 139, 140, -1,
142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
152, -1, 154, 155, 156, 157, -1, 159, -1, 161,
162, -1, 164, 165, 166, 167, 168, -1, 170, 171,
-1, 173, 174, 175, -1, 177, 178, 179, 180, 181,
182, 183, 184, 185, 186, -1, 188, 189, 190, 191,
192, 193, 194, -1, 196, 197, 198, 199, 200, 201,
202, 203, 204, -1, 206, -1, 208, 209, 210, 211,
212, 213, 214, 215, 216, 217, -1, -1, 220, 221,
222, 223, 224, -1, 226, 227, 228, 229, 230, 231,
232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
262, 263, 264, 265, -1, 267, 268, -1, -1, 271,
272, 273, -1, -1, 276, 277, 278, 279, 280, 281,
282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
-1, 293, 294, 295, 296, 297, 298, 299, 300, -1,
302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
312, 313, 314, 315, 316, -1, 318, 319, 320, 321,
322, 323, 324, 325, 326, 327, 328, 329, -1, 331,
332, 333, 334, 335, 336, 337, 338, 339, 340, 341,
342, 343, 344, 345, 346, 347, 348, -1, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
362, 363, 364, 365, -1, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, 377, 378, 379, -1, 381,
382, -1, 384, 385, 386, 387, 388, 389, 390, -1,
392, 393, 394, -1, -1, 397, 398, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 409, -1, 411,
412, 413, 414, 415, 416, 417, -1, 419, 420, 421,
422, 423, 424, 425, -1, 427, 428, 429, 430, 431,
432, -1, -1, 435, -1, -1, 438, 439, 440, 441,
442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
452, 453, 454, 455, 456, 457, 458, -1, -1, -1,
-1, -1, -1, 465, 466, -1, -1, -1, -1, -1,
-1, -1, 474, 3, 4, 5, 6, 7, 8, 9,
10, -1, -1, -1, -1, -1, -1, -1, 18, 19,
20, 21, 22, 23, 24, 25, -1, 27, 28, 29,
-1, -1, -1, -1, 34, -1, -1, 37, 38, -1,
40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
50, 51, -1, 53, 54, 55, 56, 57, 58, 59,
60, 61, 62, 63, 64, 65, -1, 67, 68, 69,
70, 71, -1, 73, -1, 75, 76, 77, 78, 79,
80, 81, 82, 83, -1, 85, 86, 87, 88, 89,
90, -1, 92, 93, 94, 95, 96, 97, 98, 99,
100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
110, 111, 112, 113, -1, 115, 116, 117, 118, 119,
120, -1, 122, 123, 124, 125, -1, -1, 128, 129,
130, 131, 132, -1, 134, 135, 136, -1, 138, 139,
140, -1, 142, 143, 144, 145, 146, 147, 148, 149,
150, 151, 152, -1, 154, 155, 156, 157, -1, 159,
-1, 161, 162, -1, 164, 165, 166, 167, 168, -1,
170, 171, -1, 173, 174, 175, -1, 177, 178, 179,
180, 181, 182, 183, 184, 185, 186, -1, 188, 189,
190, 191, 192, 193, 194, -1, 196, 197, 198, 199,
200, 201, 202, 203, 204, -1, 206, -1, 208, 209,
210, 211, 212, 213, 214, 215, 216, 217, -1, -1,
220, 221, 222, 223, 224, -1, 226, 227, 228, 229,
230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
260, 261, 262, 263, 264, 265, -1, 267, 268, -1,
-1, 271, 272, 273, -1, -1, 276, 277, 278, 279,
280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
290, 291, -1, 293, 294, 295, 296, 297, 298, 299,
300, -1, 302, 303, 304, 305, 306, 307, 308, 309,
310, 311, 312, 313, 314, 315, 316, -1, 318, 319,
320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
-1, 331, 332, 333, 334, 335, 336, 337, 338, 339,
340, 341, 342, 343, 344, 345, 346, 347, 348, -1,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
360, 361, 362, 363, 364, 365, -1, 367, 368, 369,
370, 371, 372, 373, 374, 375, 376, 377, 378, 379,
-1, 381, 382, -1, 384, 385, 386, 387, 388, 389,
390, -1, 392, 393, 394, -1, -1, 397, 398, 399,
400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
-1, 411, 412, 413, 414, 415, 416, 417, -1, 419,
420, 421, 422, 423, 424, 425, -1, 427, 428, 429,
430, 431, 432, -1, -1, 435, -1, -1, 438, 439,
440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
450, 451, 452, 453, 454, 455, 456, 457, 458, -1,
-1, -1, -1, -1, -1, 465, 466, -1, -1, -1,
-1, -1, -1, -1, 474, 3, 4, 5, 6, 7,
8, 9, 10, -1, -1, -1, -1, -1, -1, -1,
18, 19, 20, 21, 22, 23, 24, 25, -1, 27,
28, 29, -1, -1, -1, -1, 34, -1, -1, 37,
38, -1, 40, 41, 42, 43, 44, 45, 46, 47,
48, 49, 50, 51, -1, 53, 54, 55, 56, 57,
58, 59, 60, 61, 62, 63, 64, 65, -1, 67,
68, 69, 70, 71, -1, 73, -1, 75, 76, 77,
78, 79, 80, 81, 82, 83, -1, 85, 86, 87,
88, 89, 90, -1, 92, 93, 94, 95, 96, 97,
98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
108, 109, 110, 111, 112, 113, -1, 115, 116, 117,
118, 119, 120, -1, 122, 123, 124, 125, -1, -1,
128, 129, 130, 131, 132, -1, 134, 135, 136, -1,
138, 139, 140, -1, 142, 143, 144, 145, 146, 147,
148, 149, 150, 151, 152, -1, 154, 155, 156, 157,
-1, 159, -1, 161, 162, -1, 164, 165, 166, 167,
168, -1, 170, 171, -1, 173, 174, 175, -1, 177,
178, 179, 180, 181, 182, 183, 184, 185, 186, -1,
188, 189, 190, 191, 192, 193, 194, -1, 196, 197,
198, 199, 200, 201, 202, 203, 204, -1, 206, -1,
208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
-1, -1, 220, 221, 222, 223, 224, -1, 226, 227,
228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
258, 259, 260, 261, 262, 263, 264, 265, -1, 267,
268, -1, -1, 271, 272, 273, -1, -1, 276, 277,
278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
288, 289, 290, 291, -1, 293, 294, 295, 296, 297,
298, 299, 300, -1, 302, 303, 304, 305, 306, 307,
308, 309, 310, 311, 312, 313, 314, 315, 316, -1,
318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
328, 329, -1, 331, 332, 333, 334, 335, 336, 337,
338, 339, 340, 341, 342, 343, 344, 345, 346, 347,
348, -1, 350, 351, 352, 353, 354, 355, 356, 357,
358, 359, 360, 361, 362, 363, 364, 365, -1, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
378, 379, -1, 381, 382, -1, 384, 385, 386, 387,
388, 389, 390, -1, 392, 393, 394, -1, -1, 397,
398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
408, 409, -1, 411, 412, 413, 414, 415, 416, 417,
-1, 419, 420, 421, 422, 423, 424, 425, -1, 427,
428, 429, 430, 431, 432, -1, -1, 435, -1, -1,
438, 439, 440, 441, 442, 443, 444, 445, 446, 447,
448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
458, -1, -1, -1, -1, -1, -1, 465, 466, -1,
-1, -1, -1, -1, -1, -1, 474, 3, 4, 5,
6, 7, 8, 9, 10, -1, -1, -1, -1, -1,
-1, -1, 18, 19, 20, 21, 22, 23, 24, 25,
-1, 27, 28, 29, -1, -1, -1, -1, 34, -1,
-1, 37, 38, -1, 40, 41, 42, 43, 44, 45,
46, 47, 48, 49, 50, 51, -1, 53, 54, 55,
56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
-1, 67, 68, 69, 70, 71, -1, 73, -1, 75,
76, 77, 78, 79, 80, 81, 82, 83, -1, 85,
86, 87, 88, 89, 90, -1, 92, 93, 94, 95,
96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
106, 107, 108, 109, 110, 111, 112, 113, -1, 115,
116, 117, 118, 119, 120, -1, 122, 123, 124, 125,
-1, -1, 128, 129, 130, 131, 132, -1, 134, 135,
136, -1, 138, 139, 140, -1, 142, 143, 144, 145,
146, 147, 148, 149, 150, 151, 152, -1, 154, 155,
156, 157, -1, 159, -1, 161, 162, -1, 164, 165,
166, 167, 168, -1, 170, 171, -1, 173, 174, 175,
-1, 177, 178, 179, 180, 181, 182, 183, 184, 185,
186, -1, 188, 189, 190, 191, 192, 193, 194, -1,
196, 197, 198, 199, 200, 201, 202, 203, 204, -1,
206, -1, 208, 209, 210, 211, 212, 213, 214, 215,
216, 217, -1, -1, 220, 221, 222, 223, 224, -1,
226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
-1, 267, 268, -1, -1, 271, 272, 273, -1, -1,
276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
286, 287, 288, 289, 290, 291, -1, 293, 294, 295,
296, 297, 298, 299, 300, -1, 302, 303, 304, 305,
306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
316, -1, 318, 319, 320, 321, 322, 323, 324, 325,
326, 327, 328, 329, -1, 331, 332, 333, 334, 335,
336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 347, 348, -1, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, 360, 361, 362, 363, 364, 365,
-1, 367, 368, 369, 370, 371, 372, 373, 374, 375,
376, 377, 378, 379, -1, 381, 382, -1, 384, 385,
386, 387, 388, 389, 390, -1, 392, 393, 394, -1,
-1, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, -1, 411, 412, 413, 414, 415,
416, 417, -1, 419, 420, 421, 422, 423, 424, 425,
-1, 427, 428, 429, 430, 431, 432, -1, -1, 435,
-1, -1, 438, 439, 440, 441, 442, 443, 444, 445,
446, 447, 448, 449, 450, 451, 452, 453, 454, 455,
456, 457, 458, -1, -1, -1, -1, -1, -1, 465,
466, -1, -1, -1, -1, -1, -1, -1, 474, 3,
4, 5, 6, 7, 8, 9, 10, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
34, -1, -1, 37, 38, -1, 40, 41, 42, 43,
44, 45, 46, 47, 48, 49, 50, 51, -1, 53,
54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
64, 65, -1, 67, 68, 69, 70, 71, -1, 73,
-1, 75, 76, 77, 78, 79, 80, 81, 82, 83,
-1, 85, 86, 87, 88, 89, 90, -1, 92, 93,
94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
-1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, 145, 146, 147, 148, 149, 150, 151, 152, -1,
154, 155, 156, 157, -1, 159, -1, 161, 162, -1,
164, 165, 166, 167, 168, -1, 170, 171, -1, 173,
174, 175, -1, 177, 178, 179, 180, 181, 182, 183,
184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
194, -1, 196, 197, 198, 199, 200, 201, 202, 203,
204, -1, 206, -1, 208, 209, 210, 211, 212, 213,
214, 215, 216, 217, -1, -1, 220, 221, 222, 223,
224, -1, 226, 227, 228, 229, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
-1, 255, 256, 257, 258, 259, 260, 261, 262, 263,
264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
-1, -1, 276, 277, 278, 279, 280, 281, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, -1, 331, 332, 333,
334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 379, -1, 381, 382, -1,
384, 385, 386, 387, 388, 389, 390, -1, 392, 393,
394, -1, -1, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, -1, -1, 412, 413,
414, 415, 416, 417, -1, 419, 420, 421, 422, 423,
424, 425, -1, 427, 428, 429, 430, 431, 432, -1,
-1, 435, -1, -1, 438, 439, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, -1, -1, -1, -1, -1, -1,
-1, 465, 466, -1, -1, -1, -1, -1, -1, -1,
474, 3, 4, 5, 6, 7, 8, 9, 10, -1,
-1, -1, -1, -1, -1, -1, 18, 19, 20, 21,
22, 23, 24, 25, -1, 27, 28, 29, -1, -1,
-1, -1, 34, -1, -1, 37, 38, -1, 40, 41,
42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
-1, 53, 54, 55, 56, 57, 58, 59, 60, 61,
62, 63, 64, 65, -1, 67, 68, 69, 70, 71,
-1, 73, -1, 75, 76, 77, 78, 79, 80, 81,
82, 83, -1, 85, 86, 87, 88, 89, 90, -1,
92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
112, 113, -1, 115, 116, 117, 118, 119, 120, -1,
122, 123, 124, 125, -1, -1, 128, 129, 130, 131,
132, -1, 134, 135, 136, -1, 138, 139, 140, -1,
142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
152, -1, 154, 155, 156, 157, -1, 159, -1, 161,
162, -1, 164, 165, 166, 167, 168, -1, 170, 171,
-1, 173, 174, 175, -1, 177, 178, 179, 180, 181,
182, 183, 184, 185, 186, -1, 188, 189, 190, 191,
192, 193, 194, -1, 196, 197, 198, 199, 200, 201,
202, 203, 204, -1, 206, -1, 208, -1, -1, 211,
212, 213, 214, 215, 216, 217, -1, -1, 220, 221,
222, 223, 224, -1, 226, 227, 228, 229, 230, 231,
232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
252, 253, 254, 255, 256, -1, 258, 259, 260, 261,
262, 263, 264, 265, -1, 267, 268, -1, -1, 271,
272, 273, -1, -1, 276, 277, 278, 279, 280, 281,
282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
-1, 293, 294, 295, 296, 297, 298, 299, 300, -1,
302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
312, 313, 314, 315, 316, -1, 318, 319, 320, 321,
322, 323, 324, 325, 326, 327, 328, 329, -1, 331,
332, 333, 334, 335, 336, 337, 338, 339, 340, 341,
342, 343, 344, 345, 346, 347, 348, -1, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
362, 363, 364, 365, -1, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, 377, 378, 379, -1, 381,
382, -1, 384, 385, 386, 387, 388, 389, 390, -1,
392, 393, 394, -1, -1, 397, 398, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 409, -1, 411,
412, 413, 414, 415, 416, 417, -1, 419, 420, 421,
422, 423, 424, 425, -1, 427, 428, 429, 430, 431,
432, -1, -1, 435, -1, -1, 438, 439, 440, 441,
442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
452, 453, 454, 455, 456, 457, 458, -1, -1, -1,
-1, -1, -1, 465, 466, -1, -1, -1, -1, -1,
-1, -1, 474, 3, 4, 5, 6, 7, 8, 9,
10, -1, -1, -1, -1, -1, -1, -1, 18, 19,
20, 21, 22, 23, 24, 25, -1, 27, 28, 29,
-1, -1, -1, -1, 34, -1, -1, 37, 38, -1,
40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
50, 51, -1, 53, 54, 55, 56, 57, 58, 59,
60, 61, 62, 63, 64, 65, -1, 67, 68, 69,
70, 71, -1, 73, -1, 75, 76, 77, 78, 79,
80, 81, 82, 83, -1, 85, 86, 87, 88, 89,
90, -1, 92, 93, 94, 95, 96, 97, 98, 99,
100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
110, 111, -1, 113, -1, 115, 116, 117, 118, 119,
120, -1, 122, 123, 124, 125, -1, -1, 128, 129,
130, 131, 132, -1, 134, 135, 136, -1, 138, 139,
140, -1, 142, 143, 144, 145, 146, 147, 148, 149,
150, 151, 152, -1, 154, 155, 156, 157, -1, 159,
-1, 161, 162, -1, 164, 165, 166, 167, 168, -1,
170, 171, -1, 173, 174, 175, -1, 177, 178, 179,
180, 181, 182, 183, 184, 185, 186, -1, 188, 189,
190, 191, 192, 193, 194, -1, 196, 197, 198, 199,
200, 201, 202, 203, 204, -1, 206, -1, 208, 209,
210, 211, 212, 213, 214, 215, 216, 217, -1, -1,
220, 221, 222, 223, 224, -1, 226, 227, 228, 229,
230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
250, 251, 252, 253, -1, 255, 256, 257, 258, 259,
260, 261, 262, 263, 264, 265, -1, 267, 268, -1,
-1, 271, 272, 273, -1, -1, 276, 277, 278, 279,
280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
290, 291, -1, 293, 294, 295, 296, 297, 298, 299,
300, -1, 302, 303, 304, 305, 306, 307, 308, 309,
310, 311, 312, 313, 314, 315, 316, -1, 318, 319,
320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
-1, 331, 332, 333, 334, 335, 336, 337, 338, 339,
340, 341, 342, 343, 344, 345, 346, 347, 348, -1,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
360, 361, 362, 363, 364, 365, -1, 367, 368, 369,
370, 371, 372, 373, 374, 375, 376, 377, 378, 379,
-1, 381, 382, -1, 384, 385, 386, 387, 388, 389,
390, -1, 392, 393, 394, -1, -1, 397, 398, 399,
400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
-1, -1, 412, 413, 414, 415, 416, 417, -1, 419,
420, 421, 422, 423, 424, 425, -1, 427, 428, 429,
430, 431, 432, -1, -1, 435, -1, -1, 438, 439,
440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
450, 451, 452, 453, 454, 455, 456, 457, -1, -1,
-1, -1, -1, -1, -1, 465, 466, -1, -1, 3,
4, 5, 6, 7, 474, 9, 10, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
34, -1, -1, 37, 38, -1, 40, 41, 42, 43,
44, 45, 46, 47, 48, 49, 50, 51, -1, 53,
54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
64, 65, -1, 67, 68, 69, 70, 71, -1, 73,
-1, 75, 76, 77, 78, 79, 80, 81, 82, 83,
-1, 85, 86, 87, 88, 89, 90, -1, 92, 93,
94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
104, 105, 106, 107, 108, 109, 110, 111, -1, 113,
-1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, 145, 146, 147, 148, 149, 150, 151, 152, -1,
154, 155, 156, 157, -1, 159, -1, 161, 162, -1,
164, 165, 166, 167, 168, -1, 170, 171, -1, 173,
174, 175, -1, 177, 178, 179, 180, 181, 182, 183,
184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
194, -1, 196, 197, 198, 199, 200, 201, 202, 203,
204, -1, 206, -1, 208, 209, 210, 211, 212, 213,
214, 215, 216, 217, -1, -1, 220, 221, 222, 223,
224, -1, 226, 227, 228, 229, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
-1, 255, 256, 257, 258, 259, 260, 261, 262, 263,
264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
-1, -1, 276, 277, 278, 279, 280, 281, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, -1, 331, 332, 333,
334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 379, -1, 381, 382, -1,
384, 385, 386, 387, 388, 389, 390, -1, 392, 393,
394, -1, -1, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, -1, -1, 412, 413,
414, 415, 416, 417, -1, 419, 420, 421, 422, 423,
424, 425, -1, 427, 428, 429, 430, 431, 432, -1,
-1, 435, -1, -1, 438, 439, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, -1, -1, -1, -1, -1, -1,
-1, 465, 466, -1, -1, -1, -1, -1, -1, -1,
474, 3, 4, 5, 6, 7, 8, 9, 10, -1,
-1, -1, -1, -1, -1, -1, 18, 19, 20, 21,
22, 23, 24, 25, -1, 27, 28, 29, -1, -1,
-1, -1, 34, -1, -1, 37, 38, -1, 40, 41,
42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
-1, 53, 54, 55, 56, 57, 58, 59, 60, 61,
62, 63, 64, 65, -1, 67, 68, 69, 70, 71,
-1, 73, -1, 75, 76, 77, 78, 79, 80, 81,
82, 83, -1, 85, 86, 87, 88, 89, 90, -1,
92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
-1, 113, -1, 115, 116, 117, 118, 119, 120, -1,
122, 123, 124, 125, -1, -1, 128, 129, 130, 131,
132, -1, 134, 135, 136, -1, 138, 139, 140, -1,
142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
152, -1, 154, 155, 156, 157, -1, 159, -1, 161,
162, -1, 164, 165, 166, 167, 168, -1, 170, 171,
-1, 173, 174, 175, -1, 177, 178, 179, 180, 181,
182, 183, 184, 185, 186, -1, 188, 189, 190, 191,
192, 193, 194, -1, 196, 197, 198, 199, 200, 201,
202, 203, 204, -1, 206, -1, 208, -1, 210, 211,
212, 213, 214, 215, 216, 217, -1, -1, 220, 221,
222, 223, 224, -1, 226, 227, 228, 229, 230, 231,
232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
252, 253, -1, 255, 256, 257, 258, 259, 260, 261,
262, 263, 264, 265, -1, 267, 268, -1, -1, 271,
272, 273, -1, -1, 276, 277, 278, 279, 280, 281,
282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
-1, 293, 294, 295, 296, 297, 298, 299, 300, -1,
302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
312, 313, 314, 315, 316, -1, 318, 319, 320, 321,
322, 323, 324, 325, 326, 327, 328, 329, -1, 331,
332, 333, 334, 335, 336, 337, 338, 339, 340, 341,
342, 343, 344, 345, 346, 347, 348, -1, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
362, 363, 364, 365, -1, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, 377, 378, 379, -1, 381,
382, -1, 384, 385, 386, 387, 388, 389, 390, -1,
392, 393, 394, -1, -1, 397, 398, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 409, -1, -1,
412, 413, 414, 415, 416, 417, -1, 419, 420, 421,
422, 423, 424, 425, -1, 427, 428, 429, 430, 431,
432, -1, -1, 435, -1, -1, 438, 439, 440, 441,
442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
452, 453, 454, 455, 456, 457, -1, -1, -1, -1,
-1, -1, -1, 465, 466, -1, -1, 3, 4, 5,
6, 7, 474, 9, 10, -1, -1, -1, -1, -1,
-1, -1, 18, 19, 20, 21, 22, 23, 24, 25,
-1, 27, 28, 29, -1, -1, -1, -1, 34, -1,
-1, 37, 38, -1, 40, 41, 42, 43, 44, 45,
46, 47, 48, 49, 50, 51, -1, 53, 54, 55,
56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
-1, 67, 68, 69, 70, 71, -1, 73, -1, 75,
76, 77, 78, 79, 80, 81, 82, 83, -1, 85,
86, 87, 88, 89, 90, -1, 92, 93, 94, 95,
96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
106, 107, 108, 109, 110, 111, -1, 113, -1, 115,
116, 117, 118, 119, 120, -1, 122, 123, 124, 125,
-1, -1, 128, 129, 130, 131, 132, -1, 134, 135,
136, -1, 138, 139, 140, -1, 142, 143, 144, 145,
146, 147, 148, 149, 150, 151, 152, -1, 154, 155,
156, 157, -1, 159, -1, 161, 162, -1, 164, 165,
166, 167, 168, -1, 170, 171, -1, 173, 174, 175,
-1, 177, 178, 179, 180, 181, 182, 183, 184, 185,
186, -1, 188, 189, 190, 191, 192, 193, 194, -1,
196, 197, 198, 199, 200, 201, 202, 203, 204, -1,
206, -1, 208, 209, 210, 211, 212, 213, 214, 215,
216, 217, -1, -1, 220, 221, 222, 223, 224, -1,
226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
246, 247, 248, 249, 250, 251, 252, 253, -1, 255,
256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
-1, 267, 268, -1, -1, 271, 272, 273, -1, -1,
276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
286, 287, 288, 289, 290, 291, -1, 293, 294, 295,
296, 297, 298, 299, 300, -1, 302, 303, 304, 305,
306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
316, -1, 318, 319, 320, 321, 322, 323, 324, 325,
326, 327, 328, 329, -1, 331, 332, 333, 334, 335,
336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 347, 348, -1, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, 360, 361, 362, 363, 364, 365,
-1, 367, 368, 369, 370, 371, 372, 373, 374, 375,
376, 377, 378, 379, -1, 381, 382, -1, 384, 385,
386, 387, 388, 389, 390, -1, 392, 393, 394, -1,
-1, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, -1, -1, 412, 413, 414, 415,
416, 417, -1, 419, 420, 421, 422, 423, 424, 425,
-1, 427, 428, 429, 430, 431, 432, -1, -1, 435,
-1, -1, 438, 439, 440, 441, 442, 443, 444, 445,
446, 447, 448, 449, 450, 451, 452, 453, 454, 455,
456, 457, -1, -1, 3, 4, 5, 6, 7, -1,
9, 10, -1, -1, -1, -1, -1, -1, 474, 18,
19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
29, -1, -1, -1, -1, 34, -1, -1, 37, 38,
-1, 40, 41, 42, 43, 44, 45, 46, 47, 48,
49, 50, 51, -1, 53, 54, 55, 56, 57, 58,
59, 60, 61, 62, 63, 64, 65, -1, 67, 68,
69, 70, 71, -1, 73, -1, 75, 76, 77, 78,
79, 80, 81, 82, 83, -1, 85, 86, 87, 88,
89, 90, -1, 92, 93, 94, 95, 96, 97, 98,
99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
149, 150, 151, 152, -1, 154, 155, 156, 157, -1,
159, -1, 161, 162, -1, 164, 165, 166, 167, 168,
-1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
179, 180, 181, 182, 183, 184, 185, 186, -1, 188,
189, 190, 191, 192, 193, 194, -1, 196, 197, 198,
199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
209, 210, 211, 212, 213, 214, 215, 216, 217, -1,
-1, 220, 221, 222, 223, 224, -1, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, -1, 255, 256, 257, 258,
259, 260, 261, 262, 263, 264, 265, -1, 267, 268,
-1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, -1, 331, 332, 333, 334, 335, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
-1, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
379, -1, 381, 382, -1, 384, 385, 386, 387, 388,
389, 390, -1, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
409, -1, -1, 412, 413, 414, 415, 416, 417, -1,
419, 420, 421, 422, 423, 424, 425, -1, 427, 428,
429, 430, 431, 432, -1, -1, 435, -1, -1, 438,
439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, -1,
-1, 3, 4, 5, 6, 7, -1, 9, 10, -1,
-1, -1, -1, -1, -1, 474, 18, 19, 20, 21,
22, 23, 24, 25, -1, 27, 28, 29, -1, -1,
-1, -1, 34, -1, -1, 37, 38, -1, 40, 41,
42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
-1, 53, 54, 55, 56, 57, 58, 59, 60, 61,
62, 63, 64, 65, -1, 67, 68, 69, 70, 71,
-1, 73, -1, 75, 76, 77, 78, 79, 80, 81,
82, 83, -1, 85, 86, 87, 88, 89, 90, -1,
92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
-1, 113, -1, 115, 116, 117, 118, 119, 120, -1,
122, 123, 124, 125, -1, -1, 128, 129, 130, 131,
132, -1, 134, 135, 136, -1, 138, 139, 140, -1,
142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
152, -1, 154, 155, 156, 157, -1, 159, -1, 161,
162, -1, 164, 165, 166, 167, 168, -1, 170, 171,
-1, 173, 174, 175, -1, 177, 178, 179, 180, 181,
182, 183, 184, 185, 186, -1, 188, 189, 190, 191,
192, 193, 194, -1, 196, 197, 198, 199, 200, 201,
202, 203, 204, -1, 206, -1, 208, 209, 210, 211,
212, 213, 214, 215, 216, 217, -1, -1, 220, 221,
222, 223, 224, -1, 226, 227, 228, 229, 230, 231,
232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
252, 253, -1, 255, 256, 257, 258, 259, 260, 261,
262, 263, 264, 265, -1, 267, 268, -1, -1, 271,
272, 273, -1, -1, 276, 277, 278, 279, 280, 281,
282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
-1, 293, 294, 295, 296, 297, 298, 299, 300, -1,
302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
312, 313, 314, 315, 316, -1, 318, 319, 320, 321,
322, 323, 324, 325, 326, 327, 328, 329, -1, 331,
332, 333, 334, 335, 336, 337, 338, 339, 340, 341,
342, 343, 344, 345, 346, 347, 348, -1, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
362, 363, 364, 365, -1, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, 377, 378, 379, -1, 381,
382, -1, 384, 385, 386, 387, 388, 389, 390, -1,
392, 393, 394, -1, -1, 397, 398, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 409, -1, -1,
412, 413, 414, 415, 416, 417, -1, 419, 420, 421,
422, 423, 424, 425, -1, 427, 428, 429, 430, 431,
432, -1, -1, 435, -1, -1, 438, 439, 440, 441,
442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
452, 453, 454, 455, 456, 457, -1, -1, 3, 4,
5, 6, 7, 8, 9, 10, -1, -1, -1, -1,
-1, -1, 474, 18, 19, 20, 21, 22, 23, 24,
25, -1, 27, 28, 29, -1, -1, -1, -1, 34,
-1, -1, 37, 38, -1, 40, 41, 42, 43, 44,
45, 46, -1, 48, 49, 50, 51, -1, 53, 54,
55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
65, -1, 67, 68, 69, 70, 71, -1, 73, -1,
75, 76, 77, 78, 79, 80, 81, 82, 83, -1,
85, 86, 87, 88, 89, 90, -1, 92, 93, 94,
95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, -1,
115, 116, 117, 118, 119, 120, -1, 122, 123, 124,
125, -1, -1, 128, 129, 130, 131, 132, -1, 134,
135, 136, -1, 138, -1, 140, -1, 142, 143, 144,
145, 146, 147, 148, 149, 150, 151, 152, -1, 154,
155, 156, 157, -1, 159, -1, 161, 162, -1, 164,
165, 166, 167, 168, -1, 170, 171, -1, 173, 174,
175, -1, 177, 178, 179, 180, 181, -1, 183, 184,
185, 186, -1, 188, 189, 190, 191, 192, 193, 194,
-1, 196, 197, 198, 199, 200, 201, 202, 203, 204,
-1, 206, -1, 208, -1, -1, 211, 212, 213, 214,
215, 216, 217, -1, -1, 220, 221, 222, 223, -1,
-1, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, -1, 258, 259, 260, 261, 262, 263, 264,
265, -1, 267, 268, -1, -1, 271, 272, 273, -1,
-1, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 291, -1, 293, 294,
295, 296, 297, 298, 299, 300, -1, 302, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, -1, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, 328, 329, -1, 331, 332, 333, 334,
335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, -1, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, -1, 362, 363, 364,
365, -1, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 377, 378, 379, -1, 381, 382, -1, 384,
385, 386, 387, 388, 389, 390, -1, 392, 393, 394,
-1, -1, 397, 398, 399, 400, 401, 402, 403, 404,
405, 406, 407, 408, 409, -1, 411, 412, 413, 414,
415, 416, 417, -1, 419, 420, 421, 422, 423, 424,
425, -1, 427, 428, 429, 430, 431, 432, -1, -1,
435, -1, -1, 438, 439, 440, 441, 442, 443, 444,
445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
455, 456, 457, -1, -1, 3, -1, -1, -1, -1,
465, 466, -1, -1, -1, -1, -1, -1, -1, 474,
18, 19, 20, 21, 22, 23, 24, 25, -1, 27,
28, 29, -1, -1, -1, -1, -1, -1, -1, 37,
38, -1, 40, 41, 42, 43, 44, 45, 46, 47,
48, 49, 50, 51, -1, 53, 54, 55, 56, 57,
58, -1, 60, 61, 62, 63, 64, 65, -1, 67,
68, 69, 70, 71, -1, 73, -1, 75, 76, 77,
78, 79, 80, 81, 82, 83, -1, 85, 86, 87,
88, 89, 90, -1, 92, 93, 94, 95, 96, 97,
98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
108, 109, 110, 111, -1, 113, -1, 115, 116, 117,
118, 119, 120, -1, 122, 123, 124, 125, -1, -1,
128, 129, 130, 131, 132, -1, 134, 135, 136, -1,
138, 139, 140, -1, 142, 143, 144, 145, 146, 147,
148, 149, 150, -1, 152, -1, 154, 155, 156, 157,
-1, 159, -1, 161, 162, -1, 164, 165, 166, 167,
168, -1, 170, 171, -1, 173, 174, 175, -1, 177,
178, 179, 180, 181, 182, 183, 184, 185, 186, -1,
188, 189, 190, 191, 192, 193, 194, -1, 196, 197,
198, 199, 200, 201, 202, 203, 204, -1, 206, -1,
208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
218, -1, 220, 221, 222, 223, 224, -1, 226, 227,
228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
248, 249, 250, 251, 252, 253, -1, 255, 256, 257,
258, -1, 260, 261, 262, 263, 264, 265, -1, 267,
268, -1, 270, 271, 272, 273, -1, -1, 276, 277,
278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
288, 289, 290, 291, -1, 293, 294, 295, 296, 297,
298, 299, 300, -1, 302, 303, 304, 305, 306, 307,
308, 309, 310, 311, 312, 313, 314, 315, 316, -1,
318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
328, 329, -1, 331, 332, 333, 334, 335, 336, 337,
338, 339, 340, 341, 342, 343, 344, 345, 346, 347,
348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, 359, 360, 361, 362, 363, 364, 365, -1, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
378, 379, -1, 381, 382, 383, 384, 385, 386, 387,
388, 389, 390, -1, 392, 393, 394, -1, -1, 397,
398, 399, 400, 401, -1, 403, 404, 405, 406, 407,
408, 409, -1, -1, 412, 413, 414, 415, 416, 417,
-1, 419, 420, 421, 422, 423, 424, 425, -1, 427,
428, 429, 430, 431, 432, -1, -1, 435, -1, 437,
438, 439, 440, 441, 442, 443, 444, 445, 446, 447,
448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
-1, -1, 460, 3, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 474, -1, 18, 19,
20, 21, 22, 23, 24, 25, -1, 27, 28, 29,
-1, -1, -1, -1, -1, -1, -1, 37, 38, -1,
40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
50, 51, -1, 53, 54, 55, 56, 57, 58, -1,
60, 61, 62, 63, 64, 65, -1, 67, 68, 69,
70, 71, -1, 73, -1, 75, 76, 77, 78, 79,
80, 81, 82, 83, -1, 85, 86, 87, 88, 89,
90, -1, 92, 93, 94, 95, 96, 97, 98, 99,
100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
110, 111, -1, 113, -1, 115, 116, 117, 118, 119,
120, -1, 122, 123, 124, 125, -1, -1, 128, 129,
130, 131, 132, -1, 134, 135, 136, -1, 138, 139,
140, -1, 142, 143, 144, 145, 146, 147, 148, 149,
150, -1, 152, -1, 154, 155, 156, 157, -1, 159,
-1, 161, 162, -1, 164, 165, 166, 167, 168, -1,
170, 171, -1, 173, 174, 175, -1, 177, 178, 179,
180, 181, 182, 183, 184, 185, 186, -1, 188, 189,
190, 191, 192, 193, 194, -1, 196, 197, 198, 199,
200, 201, 202, 203, 204, -1, 206, -1, 208, 209,
210, 211, 212, 213, 214, 215, 216, 217, 218, -1,
220, 221, 222, 223, 224, -1, 226, 227, 228, 229,
230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
250, 251, 252, 253, -1, 255, 256, 257, 258, -1,
260, 261, 262, 263, 264, 265, -1, 267, 268, -1,
270, 271, 272, 273, -1, -1, 276, 277, 278, 279,
280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
290, 291, -1, 293, 294, 295, 296, 297, 298, 299,
300, -1, 302, 303, 304, 305, 306, 307, 308, 309,
310, 311, 312, 313, 314, 315, 316, -1, 318, 319,
320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
-1, 331, 332, 333, 334, 335, 336, 337, 338, 339,
340, 341, 342, 343, 344, 345, 346, 347, 348, -1,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
360, 361, 362, 363, 364, 365, -1, 367, 368, 369,
370, 371, 372, 373, 374, 375, 376, 377, 378, 379,
-1, 381, 382, -1, 384, 385, 386, 387, 388, 389,
390, -1, 392, 393, 394, -1, -1, 397, 398, 399,
400, 401, -1, 403, 404, 405, 406, 407, 408, 409,
-1, -1, 412, 413, 414, 415, 416, 417, -1, 419,
420, 421, 422, 423, 424, 425, -1, 427, 428, 429,
430, 431, 432, -1, -1, 435, -1, -1, 438, 439,
440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
450, 451, 452, 453, 454, 455, 456, 457, -1, -1,
3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 474, 18, 19, 20, 21, 22,
23, 24, 25, -1, 27, 28, 29, -1, -1, -1,
-1, -1, -1, -1, 37, 38, -1, 40, 41, 42,
43, 44, 45, 46, 47, 48, 49, 50, 51, -1,
53, 54, 55, 56, 57, 58, -1, 60, 61, 62,
63, 64, 65, -1, 67, 68, 69, 70, 71, -1,
73, -1, 75, 76, 77, 78, 79, 80, 81, 82,
83, -1, 85, 86, 87, 88, 89, 90, -1, 92,
93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
103, 104, 105, 106, 107, 108, 109, 110, 111, -1,
113, -1, 115, 116, 117, 118, 119, 120, -1, 122,
123, 124, 125, -1, -1, 128, 129, 130, 131, 132,
-1, 134, 135, 136, -1, 138, 139, 140, -1, 142,
143, 144, 145, 146, 147, 148, 149, 150, -1, 152,
-1, 154, 155, 156, 157, -1, 159, -1, 161, 162,
-1, 164, 165, 166, 167, 168, -1, 170, 171, -1,
173, 174, 175, -1, 177, 178, 179, 180, 181, 182,
183, 184, 185, 186, -1, 188, 189, 190, 191, 192,
193, 194, -1, 196, 197, 198, 199, 200, 201, 202,
203, 204, -1, 206, -1, 208, 209, 210, 211, 212,
213, 214, 215, 216, 217, -1, -1, 220, 221, 222,
223, 224, -1, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, -1, 255, 256, 257, 258, -1, 260, 261, 262,
263, 264, 265, -1, 267, 268, -1, -1, 271, 272,
273, -1, -1, 276, 277, 278, 279, 280, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 291, -1,
293, 294, 295, 296, 297, 298, 299, 300, -1, 302,
303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, -1, 318, 319, 320, 321, 322,
323, 324, 325, 326, 327, 328, 329, -1, 331, 332,
333, 334, 335, 336, 337, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 348, -1, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 364, 365, -1, 367, 368, 369, 370, 371, 372,
373, 374, 375, 376, 377, 378, 379, -1, 381, 382,
-1, 384, 385, 386, 387, 388, 389, 390, -1, 392,
393, 394, -1, -1, 397, 398, 399, 400, 401, -1,
403, 404, 405, 406, 407, 408, 409, -1, -1, 412,
413, 414, 415, 416, 417, -1, 419, 420, 421, 422,
423, 424, 425, -1, 427, 428, 429, 430, 431, 432,
-1, -1, 435, -1, -1, 438, 439, 440, 441, 442,
443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
453, 454, 455, 456, 457, -1, -1, 3, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 474, 18, 19, 20, 21, 22, 23, 24, 25,
-1, 27, 28, 29, -1, -1, -1, -1, -1, -1,
-1, 37, 38, -1, 40, 41, 42, 43, 44, 45,
46, 47, 48, 49, 50, 51, -1, 53, 54, 55,
56, 57, 58, -1, 60, 61, 62, 63, 64, 65,
-1, 67, 68, 69, 70, 71, -1, 73, -1, 75,
76, 77, 78, 79, 80, 81, 82, 83, -1, 85,
86, 87, 88, 89, 90, -1, 92, 93, 94, 95,
96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
106, 107, 108, 109, 110, 111, -1, 113, -1, 115,
116, 117, 118, 119, 120, -1, 122, 123, 124, 125,
-1, -1, 128, 129, 130, 131, 132, -1, 134, 135,
136, -1, 138, 139, 140, -1, 142, 143, 144, 145,
146, 147, 148, 149, 150, -1, 152, -1, 154, 155,
156, 157, -1, 159, -1, 161, 162, -1, 164, 165,
166, 167, 168, -1, 170, 171, -1, 173, 174, 175,
-1, 177, 178, 179, 180, 181, 182, 183, 184, 185,
186, -1, 188, 189, 190, 191, 192, 193, 194, -1,
196, 197, 198, 199, 200, 201, 202, 203, 204, -1,
206, -1, 208, 209, 210, 211, 212, 213, 214, 215,
216, 217, -1, -1, 220, 221, 222, 223, 224, -1,
226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
246, 247, 248, 249, 250, 251, 252, 253, -1, 255,
256, 257, 258, -1, 260, 261, 262, 263, 264, 265,
-1, 267, 268, -1, -1, 271, 272, 273, -1, -1,
276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
286, 287, 288, 289, 290, 291, -1, 293, 294, 295,
296, 297, 298, 299, 300, -1, 302, 303, 304, 305,
306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
316, -1, 318, 319, 320, 321, 322, 323, 324, 325,
326, 327, 328, 329, -1, 331, 332, 333, 334, 335,
336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 347, 348, -1, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, 360, 361, 362, 363, 364, 365,
-1, 367, 368, 369, 370, 371, 372, 373, 374, 375,
376, 377, 378, 379, -1, 381, 382, -1, 384, 385,
386, 387, 388, 389, 390, -1, 392, 393, 394, -1,
-1, 397, 398, 399, 400, 401, -1, 403, 404, 405,
406, 407, 408, 409, -1, -1, 412, 413, 414, 415,
416, 417, -1, 419, 420, 421, 422, 423, 424, 425,
-1, 427, 428, 429, 430, 431, 432, -1, -1, 435,
-1, -1, 438, 439, 440, 441, 442, 443, 444, 445,
446, 447, 448, 449, 450, 451, 452, 453, 454, 455,
456, 457, -1, -1, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 474, 18,
19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, 42, 43, 44, 45, 46, 47, 48,
49, 50, 51, -1, 53, 54, 55, 56, 57, 58,
-1, 60, 61, 62, 63, 64, 65, -1, 67, 68,
69, 70, 71, -1, 73, -1, 75, 76, 77, 78,
79, 80, 81, 82, 83, -1, 85, 86, 87, 88,
89, 90, -1, 92, 93, 94, 95, 96, 97, 98,
99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
149, 150, -1, 152, -1, 154, 155, 156, 157, -1,
159, -1, 161, 162, -1, 164, 165, 166, 167, 168,
-1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
179, 180, 181, 182, 183, 184, 185, 186, -1, 188,
189, 190, 191, 192, 193, 194, -1, 196, 197, 198,
199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
209, 210, 211, 212, 213, 214, 215, 216, 217, -1,
-1, 220, 221, 222, 223, 224, -1, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, -1, 255, 256, 257, 258,
-1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
-1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, -1, 331, 332, 333, 334, 335, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
-1, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
379, -1, 381, 382, -1, 384, 385, 386, 387, 388,
389, 390, -1, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, -1, 403, 404, 405, 406, 407, 408,
409, -1, -1, 412, 413, 414, 415, 416, 417, -1,
419, 420, 421, 422, 423, 424, 425, -1, 427, 428,
429, 430, 431, 432, -1, -1, 435, -1, -1, 438,
439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, -1,
-1, 3, 4, 5, -1, -1, -1, 9, -1, -1,
-1, -1, -1, -1, -1, 474, 18, 19, 20, 21,
22, 23, 24, 25, -1, 27, 28, 29, -1, -1,
-1, -1, -1, -1, -1, 37, 38, -1, 40, 41,
42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
-1, 53, 54, 55, 56, 57, 58, -1, -1, 61,
62, 63, 64, 65, -1, 67, 68, 69, 70, 71,
-1, 73, -1, 75, 76, 77, 78, 79, 80, 81,
82, 83, -1, 85, 86, 87, 88, 89, 90, -1,
92, 93, 94, 95, -1, -1, -1, 99, -1, -1,
-1, 103, 104, 105, 106, 107, 108, 109, 110, 111,
-1, 113, -1, 115, 116, 117, 118, 119, 120, -1,
122, 123, 124, 125, -1, -1, 128, 129, 130, 131,
132, -1, 134, 135, 136, -1, 138, 139, 140, -1,
142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
152, -1, 154, 155, 156, 157, -1, 159, -1, 161,
162, -1, 164, 165, 166, 167, 168, -1, 170, 171,
-1, 173, 174, 175, -1, 177, 178, 179, 180, 181,
182, 183, 184, 185, 186, -1, 188, 189, 190, 191,
192, 193, 194, -1, 196, 197, 198, 199, 200, 201,
202, 203, 204, -1, 206, -1, 208, 209, 210, 211,
212, 213, 214, 215, 216, 217, -1, -1, 220, 221,
222, 223, 224, -1, 226, 227, 228, -1, -1, 231,
232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
252, 253, -1, 255, 256, 257, 258, -1, 260, 261,
262, 263, 264, 265, -1, 267, 268, 269, -1, 271,
272, 273, -1, -1, 276, 277, 278, 279, 280, 281,
282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
-1, 293, 294, 295, 296, 297, 298, 299, 300, -1,
302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
312, 313, 314, 315, 316, -1, 318, 319, 320, 321,
322, 323, 324, 325, 326, 327, 328, 329, -1, 331,
332, 333, 334, 335, 336, 337, 338, 339, 340, 341,
342, 343, 344, 345, 346, 347, 348, -1, 350, 351,
352, 353, 354, -1, 356, 357, 358, 359, 360, 361,
362, 363, 364, 365, -1, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, 377, 378, 379, -1, 381,
382, -1, 384, 385, 386, 387, 388, 389, 390, -1,
392, 393, 394, -1, -1, 397, 398, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 409, -1, -1,
412, 413, 414, 415, 416, -1, -1, 419, 420, 421,
422, 423, 424, 425, -1, 427, 428, 429, 430, 431,
432, -1, -1, 435, -1, -1, 438, 439, 440, 441,
442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
452, 453, 454, 455, 456, 457, -1, -1, 3, -1,
-1, -1, -1, 465, 466, 467, -1, -1, -1, -1,
-1, -1, 474, 18, 19, 20, 21, 22, 23, 24,
25, -1, 27, 28, 29, 30, 31, -1, -1, -1,
-1, -1, 37, 38, -1, 40, 41, 42, 43, 44,
45, 46, 47, 48, 49, 50, 51, -1, 53, 54,
55, 56, 57, 58, -1, -1, 61, 62, 63, 64,
65, -1, 67, 68, 69, 70, 71, -1, 73, -1,
75, 76, 77, 78, 79, 80, 81, 82, 83, -1,
85, 86, 87, 88, 89, 90, -1, 92, 93, 94,
95, -1, -1, -1, 99, -1, -1, -1, 103, 104,
105, 106, 107, 108, 109, 110, 111, -1, 113, -1,
115, 116, 117, 118, 119, 120, -1, 122, 123, 124,
125, -1, -1, 128, 129, 130, 131, 132, -1, 134,
135, 136, -1, 138, 139, 140, -1, 142, 143, 144,
145, 146, 147, 148, 149, 150, -1, 152, -1, 154,
155, 156, 157, -1, 159, -1, 161, 162, -1, 164,
165, 166, 167, 168, -1, 170, 171, -1, 173, 174,
175, -1, 177, 178, 179, 180, 181, 182, 183, 184,
185, 186, -1, 188, 189, 190, 191, 192, 193, 194,
-1, 196, 197, 198, 199, 200, 201, 202, 203, 204,
-1, 206, -1, 208, 209, 210, 211, 212, 213, 214,
215, 216, 217, -1, -1, 220, 221, 222, 223, 224,
-1, 226, 227, 228, -1, -1, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, -1,
255, 256, 257, 258, -1, 260, 261, 262, 263, 264,
265, -1, 267, 268, -1, -1, 271, 272, 273, -1,
-1, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 291, -1, 293, 294,
295, 296, 297, 298, 299, 300, -1, 302, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, -1, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, 328, 329, -1, 331, 332, 333, 334,
335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
-1, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, -1, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 377, 378, 379, -1, 381, 382, 383, 384,
385, 386, 387, 388, 389, 390, -1, 392, 393, 394,
-1, -1, 397, 398, 399, 400, 401, -1, 403, 404,
405, 406, 407, 408, 409, -1, -1, 412, 413, 414,
415, 416, -1, -1, 419, 420, 421, 422, 423, 424,
425, -1, 427, 428, 429, 430, 431, 432, -1, -1,
435, -1, 437, 438, 439, 440, 441, 442, 443, 444,
445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
455, 456, 457, -1, -1, 460, 3, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 474,
-1, 18, 19, 20, 21, 22, 23, 24, 25, -1,
27, 28, 29, -1, -1, -1, -1, -1, -1, -1,
37, 38, -1, 40, 41, 42, 43, 44, 45, 46,
47, 48, 49, 50, 51, -1, 53, 54, 55, 56,
57, 58, -1, -1, 61, 62, 63, 64, 65, -1,
67, 68, 69, 70, 71, -1, 73, -1, 75, 76,
77, 78, 79, 80, 81, 82, 83, -1, 85, 86,
87, 88, 89, 90, -1, 92, 93, 94, 95, -1,
-1, -1, 99, -1, -1, -1, 103, 104, 105, 106,
107, 108, 109, 110, 111, -1, 113, -1, 115, 116,
117, 118, 119, 120, -1, 122, 123, 124, 125, -1,
-1, 128, 129, 130, 131, 132, -1, 134, 135, 136,
-1, 138, 139, 140, -1, 142, 143, 144, 145, 146,
147, 148, 149, 150, -1, 152, -1, 154, 155, 156,
157, -1, 159, -1, 161, 162, -1, 164, 165, 166,
167, 168, -1, 170, 171, -1, 173, 174, 175, -1,
177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
-1, 188, 189, 190, 191, 192, 193, 194, -1, 196,
197, 198, 199, 200, 201, 202, 203, 204, -1, 206,
-1, 208, 209, 210, 211, 212, 213, 214, 215, 216,
217, -1, -1, 220, 221, 222, 223, 224, -1, 226,
227, 228, -1, -1, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, -1, 255, 256,
257, 258, -1, 260, 261, 262, 263, 264, 265, -1,
267, 268, -1, -1, 271, 272, 273, -1, -1, 276,
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 291, -1, 293, 294, 295, 296,
297, 298, 299, 300, -1, 302, 303, 304, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
-1, 318, 319, 320, 321, 322, 323, 324, 325, 326,
327, 328, 329, -1, 331, 332, 333, 334, 335, 336,
337, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 348, -1, 350, 351, 352, 353, 354, -1, 356,
357, 358, 359, 360, 361, 362, 363, 364, 365, -1,
367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
377, 378, 379, -1, 381, 382, -1, 384, 385, 386,
387, 388, 389, 390, -1, 392, 393, 394, -1, -1,
397, 398, 399, 400, 401, -1, 403, 404, 405, 406,
407, 408, 409, -1, -1, 412, 413, 414, 415, 416,
-1, -1, 419, 420, 421, 422, 423, 424, 425, -1,
427, 428, 429, 430, 431, 432, -1, -1, 435, -1,
-1, 438, 439, 440, 441, 442, 443, 444, 445, 446,
447, 448, 449, 450, 451, 452, 453, 454, 455, 456,
457, -1, -1, 3, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 474, 18, 19,
20, 21, 22, 23, 24, 25, -1, 27, 28, 29,
-1, -1, -1, -1, -1, -1, -1, 37, 38, -1,
40, 41, 42, -1, 44, 45, 46, 47, 48, -1,
50, 51, -1, 53, 54, 55, 56, 57, 58, -1,
-1, 61, 62, 63, 64, 65, -1, 67, 68, 69,
70, 71, -1, -1, -1, 75, 76, 77, 78, 79,
-1, 81, 82, 83, -1, 85, 86, 87, 88, 89,
90, -1, -1, 93, 94, 95, -1, -1, -1, -1,
-1, -1, -1, 103, 104, 105, 106, 107, 108, 109,
110, 111, -1, 113, -1, 115, 116, 117, 118, 119,
120, -1, 122, 123, 124, 125, -1, -1, 128, 129,
130, 131, 132, -1, 134, 135, 136, -1, 138, 139,
140, -1, 142, 143, 144, 145, 146, 147, 148, 149,
150, -1, 152, -1, 154, 155, 156, 157, -1, 159,
-1, 161, -1, -1, -1, 165, 166, 167, 168, -1,
170, 171, -1, 173, 174, 175, -1, 177, 178, 179,
180, 181, -1, 183, 184, 185, 186, -1, 188, 189,
190, 191, 192, 193, 194, -1, 196, -1, 198, 199,
200, 201, 202, 203, 204, -1, 206, -1, 208, -1,
-1, 211, -1, 213, 214, 215, 216, 217, -1, -1,
220, 221, -1, 223, -1, -1, 226, 227, 228, -1,
-1, 231, 232, 233, 234, 235, 236, 237, 238, 239,
240, 241, 242, 243, 244, 245, 246, 247, -1, 249,
250, 251, 252, 253, -1, 255, 256, -1, 258, -1,
260, 261, 262, 263, 264, 265, -1, 267, 268, -1,
-1, 271, 272, 273, -1, -1, 276, 277, 278, -1,
280, -1, 282, 283, 284, 285, 286, 287, 288, 289,
290, 291, -1, 293, 294, 295, 296, 297, 298, 299,
300, -1, 302, 303, 304, 305, 306, 307, 308, 309,
310, 311, 312, 313, 314, 315, 316, -1, 318, 319,
320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
-1, 331, 332, -1, 334, 335, 336, 337, 338, 339,
340, 341, 342, 343, 344, 345, 346, 347, 348, 349,
350, 351, 352, 353, 354, -1, 356, 357, 358, 359,
360, -1, 362, 363, 364, 365, -1, 367, 368, 369,
370, 371, 372, 373, 374, 375, 376, 377, 378, 379,
-1, 381, 382, 383, 384, -1, 386, 387, 388, 389,
390, -1, 392, 393, 394, -1, -1, 397, 398, 399,
400, 401, -1, 403, 404, 405, 406, 407, 408, 409,
-1, -1, 412, 413, 414, 415, 416, -1, -1, 419,
420, 421, 422, 423, 424, 425, -1, 427, -1, 429,
430, 431, 432, -1, -1, 435, -1, 437, 438, 439,
440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
450, 451, 452, 453, 454, 455, 456, 457, -1, -1,
460, 3, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 474, -1, 18, 19, 20, 21,
22, 23, 24, 25, -1, 27, 28, 29, -1, -1,
-1, -1, -1, -1, -1, 37, 38, -1, 40, 41,
42, -1, 44, 45, 46, 47, 48, -1, 50, 51,
-1, 53, 54, 55, 56, 57, 58, -1, -1, 61,
62, 63, 64, 65, -1, 67, 68, 69, 70, 71,
-1, -1, -1, 75, 76, 77, 78, 79, -1, 81,
82, 83, -1, 85, 86, 87, 88, 89, 90, -1,
-1, 93, 94, 95, -1, -1, -1, -1, -1, -1,
-1, 103, 104, 105, 106, 107, 108, 109, 110, 111,
-1, 113, -1, 115, 116, 117, 118, 119, 120, -1,
122, 123, 124, 125, -1, -1, 128, 129, 130, 131,
132, -1, 134, 135, 136, -1, 138, 139, 140, -1,
142, 143, 144, 145, 146, 147, 148, 149, 150, -1,
152, -1, 154, 155, 156, 157, -1, 159, -1, 161,
-1, -1, -1, 165, 166, 167, 168, -1, 170, 171,
-1, 173, 174, 175, -1, 177, 178, 179, 180, 181,
-1, 183, 184, 185, 186, -1, 188, 189, 190, 191,
192, 193, 194, -1, 196, -1, 198, 199, 200, 201,
202, 203, 204, -1, 206, -1, 208, -1, -1, 211,
-1, 213, 214, 215, 216, 217, -1, -1, 220, 221,
-1, 223, -1, -1, 226, 227, 228, -1, -1, 231,
232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
242, 243, 244, 245, 246, 247, -1, 249, 250, 251,
252, 253, -1, 255, 256, -1, 258, -1, 260, 261,
262, 263, 264, 265, -1, 267, 268, -1, -1, 271,
272, 273, -1, -1, 276, 277, 278, -1, 280, -1,
282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
-1, 293, 294, 295, 296, 297, 298, 299, 300, -1,
302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
312, 313, 314, 315, 316, -1, 318, 319, 320, 321,
322, 323, 324, 325, 326, 327, 328, 329, -1, 331,
332, -1, 334, 335, 336, 337, 338, 339, 340, 341,
342, 343, 344, 345, 346, 347, 348, -1, 350, 351,
352, 353, 354, -1, 356, 357, 358, 359, 360, -1,
362, 363, 364, 365, -1, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, 377, 378, 379, -1, 381,
382, -1, 384, -1, 386, 387, 388, 389, 390, -1,
392, 393, 394, -1, -1, 397, 398, 399, 400, 401,
-1, 403, 404, 405, 406, 407, 408, 409, -1, -1,
412, 413, 414, 415, 416, -1, -1, 419, 420, 421,
422, 423, 424, 425, -1, 427, -1, 429, 430, 431,
432, -1, -1, 435, -1, -1, 438, 439, 440, 441,
442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
452, 453, 454, 455, 456, 457, -1, -1, 3, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 474, 18, 19, 20, 21, 22, 23, 24,
25, -1, 27, 28, 29, -1, -1, -1, -1, -1,
-1, -1, 37, 38, -1, 40, 41, 42, -1, 44,
45, 46, 47, 48, -1, 50, 51, -1, 53, 54,
55, 56, 57, 58, -1, -1, 61, 62, 63, 64,
65, -1, 67, 68, 69, 70, 71, -1, -1, -1,
75, 76, 77, 78, 79, -1, 81, 82, 83, -1,
85, 86, 87, 88, 89, 90, -1, -1, 93, 94,
95, -1, -1, -1, -1, -1, -1, -1, 103, 104,
105, 106, 107, 108, 109, 110, 111, -1, 113, -1,
115, 116, 117, 118, 119, 120, -1, 122, 123, 124,
125, -1, -1, 128, 129, 130, 131, 132, -1, 134,
135, 136, -1, 138, 139, 140, -1, 142, 143, 144,
145, 146, 147, 148, 149, 150, -1, 152, -1, 154,
155, 156, 157, -1, 159, -1, 161, -1, -1, -1,
165, 166, 167, 168, -1, 170, 171, -1, 173, 174,
175, -1, 177, 178, 179, 180, 181, -1, 183, 184,
185, 186, -1, 188, 189, 190, 191, 192, 193, 194,
-1, 196, -1, 198, 199, 200, 201, 202, 203, 204,
-1, 206, -1, 208, -1, -1, 211, -1, 213, 214,
215, 216, 217, -1, -1, 220, 221, -1, 223, -1,
-1, 226, 227, 228, -1, -1, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
245, 246, 247, -1, 249, 250, 251, 252, 253, -1,
255, 256, -1, 258, -1, 260, 261, 262, 263, 264,
265, -1, 267, 268, -1, -1, 271, 272, 273, -1,
-1, 276, 277, 278, -1, 280, -1, 282, 283, 284,
285, 286, 287, 288, 289, 290, 291, -1, 293, 294,
295, 296, 297, 298, 299, 300, -1, 302, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, -1, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, 328, 329, -1, 331, 332, -1, 334,
335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, -1, 350, 351, 352, 353, 354,
-1, 356, 357, 358, 359, 360, -1, 362, 363, 364,
365, -1, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 377, 378, 379, -1, 381, 382, -1, 384,
-1, 386, 387, 388, 389, 390, -1, 392, 393, 394,
-1, -1, 397, 398, 399, 400, 401, -1, 403, 404,
405, 406, 407, 408, 409, -1, -1, 412, 413, 414,
415, 416, -1, -1, 419, 420, 421, 422, 423, 424,
425, -1, 427, -1, 429, 430, 431, 432, -1, -1,
435, -1, -1, 438, 439, 440, 441, 442, 443, 444,
445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
455, 456, 457, -1, -1, 3, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 474,
18, 19, 20, 21, 22, 23, 24, 25, -1, 27,
28, 29, -1, -1, -1, -1, -1, -1, -1, 37,
38, -1, 40, 41, 42, -1, 44, 45, 46, 47,
48, -1, 50, 51, -1, 53, 54, 55, 56, 57,
58, -1, -1, 61, 62, 63, 64, 65, -1, 67,
68, 69, 70, 71, -1, -1, -1, 75, 76, 77,
78, 79, -1, 81, 82, 83, -1, 85, 86, 87,
88, 89, 90, -1, -1, 93, 94, 95, -1, -1,
-1, -1, -1, -1, -1, 103, 104, 105, 106, 107,
108, 109, 110, 111, -1, 113, -1, 115, 116, 117,
118, 119, 120, -1, 122, 123, 124, 125, -1, -1,
128, 129, 130, 131, 132, -1, 134, 135, 136, -1,
138, 139, 140, -1, 142, 143, 144, 145, 146, 147,
148, 149, 150, -1, 152, -1, 154, 155, 156, 157,
-1, 159, -1, 161, -1, -1, -1, 165, 166, 167,
168, -1, 170, 171, -1, 173, 174, 175, -1, 177,
178, 179, 180, 181, -1, 183, 184, 185, 186, -1,
188, 189, 190, 191, 192, 193, 194, -1, 196, -1,
198, 199, 200, 201, 202, 203, 204, -1, 206, -1,
208, -1, -1, 211, -1, 213, 214, 215, 216, 217,
-1, -1, 220, 221, -1, 223, -1, -1, 226, 227,
228, -1, -1, 231, 232, 233, 234, 235, 236, 237,
238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
-1, 249, 250, 251, 252, 253, -1, 255, 256, -1,
258, -1, 260, 261, 262, 263, 264, 265, -1, 267,
268, -1, -1, 271, 272, 273, -1, -1, 276, 277,
278, -1, 280, -1, 282, 283, 284, 285, 286, 287,
288, 289, 290, 291, -1, 293, 294, 295, 296, 297,
298, 299, 300, -1, 302, 303, 304, 305, 306, 307,
308, 309, 310, 311, 312, 313, 314, 315, 316, -1,
318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
328, 329, -1, 331, 332, -1, 334, 335, 336, 337,
338, 339, 340, 341, 342, 343, 344, 345, 346, 347,
348, -1, 350, 351, 352, 353, 354, -1, 356, 357,
358, 359, 360, -1, 362, 363, 364, 365, -1, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
378, 379, -1, 381, 382, -1, 384, -1, 386, 387,
388, 389, 390, -1, 392, 393, 394, -1, -1, 397,
398, 399, 400, 401, -1, 403, 404, 405, 406, 407,
408, 409, -1, -1, 412, 413, 414, 415, 416, -1,
-1, 419, 420, 421, 422, 423, 424, 425, -1, 427,
-1, 429, 430, 431, 432, -1, -1, 435, -1, -1,
438, 439, 440, 441, 442, 443, 444, 445, 446, 447,
448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
-1, -1, 3, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 474, 18, 19, 20,
21, 22, 23, 24, 25, -1, 27, 28, 29, -1,
-1, -1, -1, -1, -1, -1, 37, 38, -1, 40,
41, 42, -1, 44, 45, 46, 47, 48, -1, 50,
51, -1, 53, 54, 55, 56, 57, 58, -1, -1,
61, 62, 63, 64, 65, -1, 67, 68, 69, 70,
71, -1, -1, -1, 75, 76, 77, 78, 79, -1,
81, 82, 83, -1, 85, 86, 87, 88, 89, 90,
-1, -1, 93, 94, 95, -1, -1, -1, -1, -1,
-1, -1, 103, 104, 105, 106, 107, 108, 109, 110,
111, -1, 113, -1, 115, 116, 117, 118, 119, 120,
-1, 122, 123, 124, 125, -1, -1, 128, 129, 130,
131, 132, -1, 134, 135, 136, -1, 138, 139, 140,
-1, 142, 143, 144, 145, 146, 147, 148, 149, 150,
-1, 152, -1, 154, 155, 156, 157, -1, 159, -1,
161, -1, -1, -1, 165, 166, 167, 168, -1, 170,
171, -1, 173, 174, 175, -1, 177, 178, 179, 180,
181, -1, 183, 184, 185, 186, -1, 188, 189, 190,
191, 192, 193, 194, -1, 196, -1, 198, 199, 200,
201, 202, 203, 204, -1, 206, -1, 208, -1, -1,
211, -1, 213, 214, 215, 216, 217, -1, -1, 220,
221, -1, 223, -1, -1, 226, 227, 228, -1, -1,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 242, 243, 244, 245, 246, 247, -1, 249, 250,
251, 252, 253, -1, 255, 256, -1, 258, -1, 260,
261, 262, 263, 264, 265, -1, 267, 268, -1, -1,
271, 272, 273, -1, -1, 276, 277, 278, -1, 280,
-1, 282, 283, 284, 285, 286, 287, 288, 289, 290,
291, -1, 293, 294, 295, 296, 297, 298, 299, 300,
-1, 302, 303, 304, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, -1, 318, 319, 320,
321, 322, 323, 324, 325, 326, 327, 328, 329, -1,
331, 332, -1, 334, 335, 336, 337, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 348, -1, 350,
351, 352, 353, 354, -1, 356, 357, 358, 359, 360,
-1, 362, 363, 364, 365, -1, 367, 368, 369, 370,
371, 372, 373, 374, 375, 376, 377, 378, 379, -1,
381, 382, -1, 384, -1, 386, 387, 388, 389, 390,
-1, 392, 393, 394, -1, -1, 397, 398, 399, 400,
401, -1, 403, 404, 405, 406, 407, 408, 409, -1,
-1, 412, 413, 414, 415, 416, -1, -1, 419, 420,
421, 422, 423, 424, 425, -1, 427, -1, 429, 430,
431, 432, -1, -1, 435, -1, -1, 438, 439, 440,
441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
451, 452, 453, 454, 455, 456, 457, -1, -1, -1,
-1, -1, 3, 4, 5, -1, -1, 8, 9, -1,
-1, -1, -1, 474, 15, 16, 17, 18, 19, 20,
21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
41, 42, 43, 44, 45, 46, -1, 48, 49, 50,
51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
-1, 72, 73, 74, 75, 76, 77, 78, 79, 80,
81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
141, 142, 143, 144, 145, -1, 147, 148, 149, -1,
151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
-1, 172, -1, 174, 175, 176, 177, 178, 179, 180,
181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, 192, 193, 194, 195, 196, 197, -1, 199, 200,
201, 202, 203, 204, 205, 206, 207, 208, 209, 210,
211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
-1, 222, 223, 224, 225, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 253, 254, 255, 256, 257, 258, 259, -1,
261, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, 277, -1, 279, 280,
281, -1, 283, 284, 285, 286, 287, 288, 289, 290,
291, 292, 293, 294, -1, 296, -1, 298, 299, 300,
301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, 318, 319, 320,
321, 322, 323, 324, 325, 326, 327, 328, 329, 330,
331, 332, 333, 334, 335, 336, 337, 338, -1, 340,
341, 342, 343, 344, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, 364, 365, 366, 367, 368, 369, 370,
371, 372, 373, 374, 375, 376, 377, 378, -1, 380,
381, 382, 383, 384, 385, 386, 387, 388, 389, 390,
391, 392, 393, 394, 395, 396, 397, 398, -1, 400,
-1, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, 412, 413, 414, 415, 416, 417, 418, 419, 420,
421, 422, 423, -1, 425, 426, 427, 428, 429, 430,
431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
441, 442, 443, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 455, 456, 457, -1, -1, -1,
461, 462, 463, -1, 465, 466, 467, 468, 469, 470,
3, 4, 5, -1, -1, 8, 9, -1, -1, -1,
-1, -1, 15, 16, 17, 18, 19, 20, 21, 22,
23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
43, 44, 45, 46, -1, 48, 49, 50, 51, 52,
53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
63, 64, 65, 66, 67, 68, 69, 70, -1, 72,
73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
143, 144, 145, -1, 147, 148, 149, -1, 151, 152,
153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
163, 164, 165, 166, 167, 168, 169, 170, -1, 172,
-1, 174, 175, 176, 177, 178, 179, 180, 181, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
193, 194, 195, 196, 197, -1, 199, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
213, 214, 215, 216, 217, 218, 219, 220, -1, 222,
223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, 254, 255, 256, 257, 258, 259, -1, 261, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, 277, -1, 279, 280, 281, -1,
283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
293, 294, -1, 296, -1, 298, 299, 300, 301, 302,
303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
323, 324, 325, 326, 327, 328, 329, 330, 331, 332,
333, 334, 335, 336, 337, 338, -1, 340, 341, 342,
343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
373, 374, 375, 376, 377, 378, -1, 380, 381, 382,
383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
393, 394, 395, 396, 397, 398, -1, 400, -1, 402,
403, 404, 405, 406, 407, 408, 409, 410, 411, 412,
413, 414, 415, 416, 417, 418, 419, 420, 421, 422,
423, -1, 425, 426, 427, 428, 429, 430, 431, 432,
433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
443, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 455, 456, 457, -1, 3, -1, 461, 462,
463, 8, 465, 466, 467, 468, 469, 470, 15, 16,
17, 18, 19, 20, 21, 22, 23, 24, 25, -1,
27, 28, 29, -1, -1, -1, -1, -1, -1, -1,
37, 38, -1, 40, 41, 42, -1, 44, 45, 46,
47, 48, -1, 50, 51, -1, 53, 54, 55, 56,
57, 58, -1, -1, 61, 62, 63, 64, 65, -1,
67, 68, 69, 70, 71, -1, -1, -1, 75, 76,
77, 78, 79, -1, 81, 82, 83, -1, 85, 86,
87, 88, 89, 90, -1, -1, 93, 94, 95, -1,
-1, -1, -1, -1, -1, -1, 103, 104, 105, 106,
107, 108, 109, 110, 111, -1, 113, -1, 115, 116,
117, 118, 119, 120, -1, 122, 123, 124, 125, -1,
-1, 128, 129, 130, 131, 132, -1, 134, 135, 136,
-1, 138, 139, 140, -1, 142, 143, 144, 145, 146,
147, 148, 149, 150, -1, 152, -1, 154, 155, 156,
157, -1, 159, -1, 161, -1, -1, -1, 165, 166,
167, 168, -1, 170, 171, -1, 173, 174, 175, -1,
177, 178, 179, 180, 181, -1, 183, 184, 185, 186,
-1, 188, 189, 190, 191, 192, 193, 194, -1, 196,
-1, 198, 199, 200, 201, 202, 203, 204, -1, 206,
-1, 208, -1, -1, 211, -1, 213, 214, 215, 216,
217, -1, -1, 220, 221, -1, 223, -1, -1, 226,
227, 228, -1, -1, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
247, -1, 249, 250, 251, 252, 253, -1, 255, 256,
-1, 258, -1, 260, 261, 262, 263, 264, 265, -1,
267, 268, -1, -1, 271, 272, 273, -1, -1, 276,
277, 278, -1, 280, -1, 282, 283, 284, 285, 286,
287, 288, 289, 290, 291, -1, 293, 294, 295, 296,
297, 298, 299, 300, -1, 302, 303, 304, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
-1, 318, 319, 320, 321, 322, 323, 324, 325, 326,
327, 328, 329, -1, 331, 332, -1, 334, 335, 336,
337, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 348, -1, 350, 351, 352, 353, 354, -1, 356,
357, 358, 359, 360, -1, 362, 363, 364, 365, -1,
367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
377, 378, 379, -1, 381, 382, -1, 384, -1, 386,
387, 388, 389, 390, -1, 392, 393, 394, -1, -1,
397, 398, 399, 400, 401, -1, 403, 404, 405, 406,
407, 408, 409, -1, -1, 412, 413, 414, 415, 416,
-1, -1, 419, 420, 421, 422, 423, 424, 425, -1,
427, -1, 429, 430, 431, 432, -1, -1, 435, -1,
-1, 438, 439, 440, 441, 442, 443, 444, 445, 446,
447, 448, 449, 450, 451, 452, 453, 454, 455, 456,
457, -1, 3, -1, 461, 462, 463, 8, 465, 466,
467, 468, 469, 470, 15, 16, 17, 18, 19, 20,
21, 22, 23, 24, 25, -1, 27, 28, 29, -1,
-1, -1, -1, -1, -1, -1, 37, 38, -1, 40,
41, 42, -1, 44, 45, 46, 47, 48, -1, 50,
51, -1, 53, 54, 55, 56, 57, 58, -1, -1,
61, 62, 63, 64, 65, -1, 67, 68, 69, 70,
71, -1, -1, -1, 75, 76, 77, 78, 79, -1,
81, 82, 83, -1, 85, 86, 87, 88, 89, 90,
-1, -1, 93, 94, 95, -1, -1, -1, -1, -1,
-1, -1, 103, 104, 105, 106, 107, 108, 109, 110,
111, -1, 113, -1, 115, 116, 117, 118, 119, 120,
-1, 122, 123, 124, 125, -1, -1, 128, 129, 130,
131, 132, -1, 134, 135, 136, -1, 138, 139, 140,
-1, 142, 143, 144, 145, 146, 147, 148, 149, 150,
-1, 152, -1, 154, 155, 156, 157, -1, 159, -1,
161, -1, -1, -1, 165, 166, 167, 168, -1, 170,
171, -1, 173, 174, 175, -1, 177, 178, 179, 180,
181, -1, 183, 184, 185, 186, -1, 188, 189, 190,
191, 192, 193, 194, -1, 196, -1, 198, 199, 200,
201, 202, 203, 204, -1, 206, -1, 208, -1, -1,
211, -1, 213, 214, 215, 216, 217, -1, -1, 220,
221, -1, 223, -1, -1, 226, 227, 228, -1, -1,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 242, 243, 244, 245, 246, 247, -1, 249, 250,
251, 252, 253, -1, 255, 256, -1, 258, -1, 260,
261, 262, 263, 264, 265, -1, 267, 268, -1, -1,
271, 272, 273, -1, -1, 276, 277, 278, -1, 280,
-1, 282, 283, 284, 285, 286, 287, 288, 289, 290,
291, -1, 293, 294, 295, 296, 297, 298, 299, 300,
-1, 302, 303, 304, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, -1, 318, 319, 320,
321, 322, 323, 324, 325, 326, 327, 328, 329, -1,
331, 332, -1, 334, 335, 336, 337, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 348, -1, 350,
351, 352, 353, 354, -1, 356, 357, 358, 359, 360,
-1, 362, 363, 364, 365, -1, 367, 368, 369, 370,
371, 372, 373, 374, 375, 376, 377, 378, 379, -1,
381, 382, -1, 384, -1, 386, 387, 388, 389, 390,
-1, 392, 393, 394, -1, -1, 397, 398, 399, 400,
401, -1, 403, 404, 405, 406, 407, 408, 409, -1,
-1, 412, 413, 414, 415, 416, -1, -1, 419, 420,
421, 422, 423, 424, 425, -1, 427, -1, 429, 430,
431, 432, -1, -1, 435, -1, -1, 438, 439, 440,
441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
451, 452, 453, 454, 455, 456, 457, -1, 3, -1,
461, 462, 463, 8, 465, 466, 467, 468, 469, 470,
15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
25, -1, 27, 28, 29, -1, -1, -1, -1, -1,
-1, -1, 37, 38, -1, 40, 41, 42, -1, 44,
45, 46, 47, 48, -1, 50, 51, -1, 53, 54,
55, 56, 57, 58, -1, -1, 61, 62, 63, 64,
65, -1, 67, 68, 69, 70, 71, -1, -1, -1,
75, 76, 77, 78, 79, -1, 81, 82, 83, -1,
85, 86, 87, 88, 89, 90, -1, -1, 93, 94,
95, -1, -1, -1, -1, -1, -1, -1, 103, 104,
105, 106, 107, 108, 109, 110, 111, -1, 113, -1,
115, 116, 117, 118, 119, 120, -1, 122, 123, 124,
125, -1, -1, 128, 129, 130, 131, 132, -1, 134,
135, 136, -1, 138, 139, 140, -1, 142, 143, 144,
145, 146, 147, 148, 149, 150, -1, 152, -1, 154,
155, 156, 157, -1, 159, -1, 161, -1, -1, -1,
165, 166, 167, 168, -1, 170, 171, -1, 173, 174,
175, -1, 177, 178, 179, 180, 181, -1, 183, 184,
185, 186, -1, 188, 189, 190, 191, 192, 193, 194,
-1, 196, -1, 198, 199, 200, 201, 202, 203, 204,
-1, 206, -1, 208, -1, -1, 211, -1, 213, 214,
215, 216, 217, -1, -1, 220, 221, -1, 223, -1,
-1, 226, 227, 228, -1, -1, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
245, 246, 247, -1, 249, 250, 251, 252, 253, -1,
255, 256, -1, 258, -1, 260, 261, 262, 263, 264,
265, -1, 267, 268, -1, -1, 271, 272, 273, -1,
-1, 276, 277, 278, -1, 280, -1, 282, 283, 284,
285, 286, 287, 288, 289, 290, 291, -1, 293, 294,
295, 296, 297, 298, 299, 300, -1, 302, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, -1, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, 328, 329, -1, 331, 332, -1, 334,
335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, -1, 350, 351, 352, 353, 354,
-1, 356, 357, 358, 359, 360, -1, 362, 363, 364,
365, -1, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 377, 378, 379, -1, 381, 382, -1, 384,
-1, 386, 387, 388, 389, 390, -1, 392, 393, 394,
-1, -1, 397, 398, 399, 400, 401, -1, 403, 404,
405, 406, 407, 408, 409, -1, -1, 412, 413, 414,
415, 416, -1, -1, 419, 420, 421, 422, 423, 424,
425, -1, 427, -1, 429, 430, 431, 432, -1, -1,
435, -1, -1, 438, 439, 440, 441, 442, 443, 444,
445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
455, 456, 457, -1, 3, -1, 461, 462, 463, 8,
465, 466, 467, 468, 469, 470, 15, 16, 17, 18,
19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
-1, 50, 51, -1, 53, 54, 55, 56, 57, 58,
-1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
69, 70, 71, -1, -1, -1, 75, 76, 77, 78,
79, -1, 81, 82, 83, -1, 85, 86, 87, 88,
89, 90, -1, -1, 93, 94, 95, -1, -1, -1,
-1, -1, -1, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
149, 150, -1, 152, -1, 154, 155, 156, 157, -1,
159, -1, 161, -1, -1, -1, 165, 166, 167, 168,
-1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
179, 180, 181, -1, 183, 184, 185, 186, -1, 188,
189, 190, 191, 192, 193, 194, -1, 196, -1, 198,
199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
-1, -1, 211, -1, 213, 214, 215, 216, 217, -1,
-1, 220, 221, -1, 223, -1, -1, 226, 227, 228,
-1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, -1,
249, 250, 251, 252, 253, -1, 255, 256, -1, 258,
-1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
-1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
-1, 280, -1, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, -1, 331, 332, -1, 334, 335, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
-1, 350, 351, 352, 353, 354, -1, 356, 357, 358,
359, 360, -1, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
379, -1, 381, 382, -1, 384, -1, 386, 387, 388,
389, 390, -1, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, -1, 403, 404, 405, 406, 407, 408,
409, -1, -1, 412, 413, 414, 415, 416, -1, -1,
419, 420, 421, 422, 423, 424, 425, -1, 427, -1,
429, 430, 431, 432, -1, -1, 435, -1, -1, 438,
439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, -1,
3, -1, 461, 462, 463, 8, 465, 466, 467, 468,
469, 470, 15, 16, 17, 18, 19, 20, 21, 22,
23, 24, 25, -1, 27, 28, 29, -1, -1, -1,
-1, -1, -1, -1, 37, 38, -1, 40, 41, 42,
-1, 44, 45, 46, 47, 48, -1, 50, 51, -1,
53, 54, 55, 56, 57, 58, -1, -1, 61, 62,
63, 64, 65, -1, 67, 68, 69, 70, 71, -1,
-1, -1, 75, 76, 77, 78, 79, -1, 81, 82,
83, -1, 85, 86, 87, 88, 89, 90, -1, -1,
93, 94, 95, -1, -1, -1, -1, -1, -1, -1,
103, 104, 105, 106, 107, 108, 109, 110, 111, -1,
113, -1, 115, 116, 117, 118, 119, 120, -1, 122,
123, 124, 125, -1, -1, 128, 129, 130, 131, 132,
-1, 134, 135, 136, -1, 138, 139, 140, -1, 142,
143, 144, 145, 146, 147, 148, 149, 150, -1, 152,
-1, 154, 155, 156, 157, -1, 159, -1, 161, -1,
-1, -1, 165, 166, 167, 168, -1, 170, 171, -1,
173, 174, 175, -1, 177, 178, 179, 180, 181, -1,
183, 184, 185, 186, -1, 188, 189, 190, 191, 192,
193, 194, -1, 196, -1, 198, 199, 200, 201, 202,
203, 204, -1, 206, -1, 208, -1, -1, 211, -1,
213, 214, 215, 216, 217, -1, -1, 220, 221, -1,
223, -1, -1, 226, 227, 228, -1, -1, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
243, 244, 245, 246, 247, -1, 249, 250, 251, 252,
253, -1, 255, 256, -1, 258, -1, 260, 261, 262,
263, 264, 265, -1, 267, 268, -1, -1, 271, 272,
273, -1, -1, 276, 277, 278, -1, 280, -1, 282,
283, 284, 285, 286, 287, 288, 289, 290, 291, -1,
293, 294, 295, 296, 297, 298, 299, 300, -1, 302,
303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, -1, 318, 319, 320, 321, 322,
323, 324, 325, 326, 327, 328, 329, -1, 331, 332,
-1, 334, 335, 336, 337, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 348, -1, 350, 351, 352,
353, 354, -1, 356, 357, 358, 359, 360, -1, 362,
363, 364, 365, -1, 367, 368, 369, 370, 371, 372,
373, 374, 375, 376, 377, 378, 379, -1, 381, 382,
-1, 384, -1, 386, 387, 388, 389, 390, -1, 392,
393, 394, -1, -1, 397, 398, 399, 400, 401, -1,
403, 404, 405, 406, 407, 408, 409, -1, -1, 412,
413, 414, 415, 416, -1, -1, 419, 420, 421, 422,
423, 424, 425, -1, 427, -1, 429, 430, 431, 432,
-1, -1, 435, -1, -1, 438, 439, 440, 441, 442,
443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
453, 454, 455, 456, 457, -1, 3, -1, 461, 462,
463, 8, 465, 466, 467, 468, 469, 470, 15, 16,
17, 18, 19, 20, 21, 22, 23, 24, 25, -1,
27, 28, 29, -1, -1, -1, -1, -1, -1, -1,
37, 38, -1, 40, 41, 42, -1, 44, 45, 46,
47, 48, -1, 50, 51, -1, 53, 54, 55, 56,
57, 58, -1, -1, 61, 62, 63, 64, 65, -1,
67, 68, 69, 70, 71, -1, -1, -1, 75, 76,
77, 78, 79, -1, 81, 82, 83, -1, 85, 86,
87, 88, 89, 90, -1, -1, 93, 94, 95, -1,
-1, -1, -1, -1, -1, -1, 103, 104, 105, 106,
107, 108, 109, 110, 111, -1, 113, -1, 115, 116,
117, 118, 119, 120, -1, 122, 123, 124, 125, -1,
-1, 128, 129, 130, 131, 132, -1, 134, 135, 136,
-1, 138, 139, 140, -1, 142, 143, 144, 145, 146,
147, 148, 149, 150, -1, 152, -1, 154, 155, 156,
157, -1, 159, -1, 161, -1, -1, -1, 165, 166,
167, 168, -1, 170, 171, -1, 173, 174, 175, -1,
177, 178, 179, 180, 181, -1, 183, 184, 185, 186,
-1, 188, 189, 190, 191, 192, 193, 194, -1, 196,
-1, 198, 199, 200, 201, 202, 203, 204, -1, 206,
-1, 208, -1, -1, 211, -1, 213, 214, 215, 216,
217, -1, -1, 220, 221, -1, 223, -1, -1, 226,
227, 228, -1, -1, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
247, -1, 249, 250, 251, 252, 253, -1, 255, 256,
-1, 258, -1, 260, 261, 262, 263, 264, 265, -1,
267, 268, -1, -1, 271, 272, 273, -1, -1, 276,
277, 278, -1, 280, -1, 282, 283, 284, 285, 286,
287, 288, 289, 290, 291, -1, 293, 294, 295, 296,
297, 298, 299, 300, -1, 302, 303, 304, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
-1, 318, 319, 320, 321, 322, 323, 324, 325, 326,
327, 328, 329, -1, 331, 332, -1, 334, 335, 336,
337, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 348, -1, 350, 351, 352, 353, 354, -1, 356,
357, 358, 359, 360, -1, 362, 363, 364, 365, -1,
367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
377, 378, 379, -1, 381, 382, -1, 384, -1, 386,
387, 388, 389, 390, -1, 392, 393, 394, -1, -1,
397, 398, 399, 400, 401, -1, 403, 404, 405, 406,
407, 408, 409, -1, -1, 412, 413, 414, 415, 416,
-1, -1, 419, 420, 421, 422, 423, 424, 425, -1,
427, -1, 429, 430, 431, 432, -1, -1, 435, -1,
-1, 438, 439, 440, 441, 442, 443, 444, 445, 446,
447, 448, 449, 450, 451, 452, 453, 454, 455, 456,
457, -1, 3, -1, 461, 462, 463, 8, 465, 466,
467, 468, 469, 470, 15, 16, 17, 18, 19, 20,
21, 22, 23, 24, 25, -1, 27, 28, 29, -1,
-1, -1, -1, -1, -1, -1, 37, 38, -1, 40,
41, 42, -1, 44, 45, 46, 47, 48, -1, 50,
51, -1, 53, 54, 55, 56, 57, 58, -1, -1,
61, 62, 63, 64, 65, -1, 67, 68, 69, 70,
71, -1, -1, -1, 75, 76, 77, 78, 79, -1,
81, 82, 83, -1, 85, 86, 87, 88, 89, 90,
-1, -1, 93, 94, 95, -1, -1, -1, -1, -1,
-1, -1, 103, 104, 105, 106, 107, 108, 109, 110,
111, -1, 113, -1, 115, 116, 117, 118, 119, 120,
-1, 122, 123, 124, 125, -1, -1, 128, 129, 130,
131, 132, -1, 134, 135, 136, -1, 138, 139, 140,
-1, 142, 143, 144, 145, 146, 147, 148, 149, 150,
-1, 152, -1, 154, 155, 156, 157, -1, 159, -1,
161, -1, -1, -1, 165, 166, 167, 168, -1, 170,
171, -1, 173, 174, 175, -1, 177, 178, 179, 180,
181, -1, 183, 184, 185, 186, -1, 188, 189, 190,
191, 192, 193, 194, -1, 196, -1, 198, 199, 200,
201, 202, 203, 204, -1, 206, -1, 208, -1, -1,
211, -1, 213, 214, 215, 216, 217, -1, -1, 220,
221, -1, 223, -1, -1, 226, 227, 228, -1, -1,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 242, 243, 244, 245, 246, 247, -1, 249, 250,
251, 252, 253, -1, 255, 256, -1, 258, -1, 260,
261, 262, 263, 264, 265, -1, 267, 268, -1, -1,
271, 272, 273, -1, -1, 276, 277, 278, -1, 280,
-1, 282, 283, 284, 285, 286, 287, 288, 289, 290,
291, -1, 293, 294, 295, 296, 297, 298, 299, 300,
-1, 302, 303, 304, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, -1, 318, 319, 320,
321, 322, 323, 324, 325, 326, 327, 328, 329, -1,
331, 332, -1, 334, 335, 336, 337, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 348, -1, 350,
351, 352, 353, 354, -1, 356, 357, 358, 359, 360,
-1, 362, 363, 364, 365, -1, 367, 368, 369, 370,
371, 372, 373, 374, 375, 376, 377, 378, 379, -1,
381, 382, -1, 384, -1, 386, 387, 388, 389, 390,
-1, 392, 393, 394, -1, -1, 397, 398, 399, 400,
401, -1, 403, 404, 405, 406, 407, 408, 409, -1,
-1, 412, 413, 414, 415, 416, -1, -1, 419, 420,
421, 422, 423, 424, 425, -1, 427, -1, 429, 430,
431, 432, -1, -1, 435, -1, -1, 438, 439, 440,
441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
451, 452, 453, 454, 455, 456, 457, 3, -1, -1,
461, 462, 463, -1, 465, 466, 467, 468, 469, 470,
-1, -1, 18, 19, 20, 21, 22, 23, 24, 25,
26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
316, 317, 318, 319, 320, 321, 322, 323, 324, 325,
326, 327, 328, 329, 330, 331, 332, 333, 334, 335,
336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, 360, 361, 362, 363, 364, 365,
366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
376, 377, 378, 379, 380, 381, 382, 383, 384, 385,
386, 387, 388, 389, 390, 391, 392, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
426, 427, 428, 429, 430, 431, 432, 433, 434, 435,
436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
446, 447, 448, 449, 450, 451, 452, 453, 454, 455,
456, 457, 3, -1, -1, -1, -1, -1, -1, -1,
-1, 467, -1, -1, -1, -1, -1, 18, 19, 20,
21, 22, 23, 24, 25, -1, 27, 28, 29, -1,
-1, -1, -1, -1, -1, -1, 37, 38, -1, 40,
41, 42, -1, 44, 45, 46, 47, 48, -1, 50,
51, -1, 53, 54, 55, 56, 57, 58, -1, -1,
61, 62, 63, 64, 65, -1, 67, 68, 69, 70,
71, -1, -1, -1, 75, 76, 77, 78, 79, -1,
81, 82, 83, -1, 85, 86, 87, 88, 89, 90,
-1, -1, 93, 94, 95, -1, -1, -1, -1, -1,
-1, -1, 103, 104, 105, 106, 107, 108, 109, 110,
111, -1, 113, -1, 115, 116, 117, 118, 119, 120,
-1, 122, 123, 124, 125, -1, -1, 128, 129, 130,
131, 132, -1, 134, 135, 136, -1, 138, 139, 140,
-1, 142, 143, 144, 145, 146, 147, 148, 149, 150,
-1, 152, -1, 154, 155, 156, 157, -1, 159, -1,
161, -1, -1, -1, 165, 166, 167, 168, -1, 170,
171, -1, 173, 174, 175, -1, 177, 178, 179, 180,
181, -1, 183, 184, 185, 186, -1, 188, 189, 190,
191, 192, 193, 194, -1, 196, -1, 198, 199, 200,
201, 202, 203, 204, -1, 206, -1, 208, -1, -1,
211, -1, 213, 214, 215, 216, 217, -1, -1, 220,
221, -1, 223, -1, -1, 226, 227, 228, -1, -1,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 242, 243, 244, 245, 246, 247, -1, 249, 250,
251, 252, 253, -1, 255, 256, -1, 258, -1, 260,
261, 262, 263, 264, 265, -1, 267, 268, -1, -1,
271, 272, 273, -1, -1, 276, 277, 278, -1, 280,
-1, 282, 283, 284, 285, 286, 287, 288, 289, 290,
291, -1, 293, 294, 295, 296, 297, 298, 299, 300,
-1, 302, 303, 304, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, -1, 318, 319, 320,
321, 322, 323, 324, 325, 326, 327, 328, 329, -1,
331, 332, -1, 334, 335, 336, 337, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 348, -1, 350,
351, 352, 353, 354, -1, 356, 357, 358, 359, 360,
-1, 362, 363, 364, 365, -1, 367, 368, 369, 370,
371, 372, 373, 374, 375, 376, 377, 378, 379, -1,
381, 382, -1, 384, -1, 386, 387, 388, 389, 390,
-1, 392, 393, 394, -1, -1, 397, 398, 399, 400,
401, -1, 403, 404, 405, 406, 407, 408, 409, -1,
-1, 412, 413, 414, 415, 416, -1, -1, 419, 420,
421, 422, 423, 424, 425, -1, 427, -1, 429, 430,
431, 432, -1, -1, 435, -1, -1, 438, 439, 440,
441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
451, 452, 453, 454, 455, 456, 457, 3, -1, -1,
-1, -1, -1, -1, -1, -1, 467, -1, -1, -1,
-1, -1, 18, 19, 20, 21, 22, 23, 24, 25,
-1, 27, 28, 29, -1, -1, -1, -1, -1, -1,
-1, 37, 38, -1, 40, 41, 42, -1, 44, 45,
46, 47, 48, -1, 50, 51, -1, 53, 54, 55,
56, 57, 58, -1, -1, 61, 62, 63, 64, 65,
-1, 67, 68, 69, 70, 71, -1, -1, -1, 75,
76, 77, 78, 79, -1, 81, 82, 83, -1, 85,
86, 87, 88, 89, 90, -1, -1, 93, 94, 95,
-1, -1, -1, -1, -1, -1, -1, 103, 104, 105,
106, 107, 108, 109, 110, 111, -1, 113, -1, 115,
116, 117, 118, 119, 120, -1, 122, 123, 124, 125,
-1, -1, 128, 129, 130, 131, 132, -1, 134, 135,
136, -1, 138, 139, 140, -1, 142, 143, 144, 145,
146, 147, 148, 149, 150, -1, 152, -1, 154, 155,
156, 157, -1, 159, -1, 161, -1, -1, -1, 165,
166, 167, 168, -1, 170, 171, -1, 173, 174, 175,
-1, 177, 178, 179, 180, 181, -1, 183, 184, 185,
186, -1, 188, 189, 190, 191, 192, 193, 194, -1,
196, -1, 198, 199, 200, 201, 202, 203, 204, -1,
206, -1, 208, -1, -1, 211, -1, 213, 214, 215,
216, 217, -1, -1, 220, 221, -1, 223, -1, -1,
226, 227, 228, -1, -1, 231, 232, 233, 234, 235,
236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
246, 247, -1, 249, 250, 251, 252, 253, -1, 255,
256, -1, 258, -1, 260, 261, 262, 263, 264, 265,
-1, 267, 268, -1, -1, 271, 272, 273, -1, -1,
276, 277, 278, -1, 280, -1, 282, 283, 284, 285,
286, 287, 288, 289, 290, 291, -1, 293, 294, 295,
296, 297, 298, 299, 300, -1, 302, 303, 304, 305,
306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
316, -1, 318, 319, 320, 321, 322, 323, 324, 325,
326, 327, 328, 329, -1, 331, 332, -1, 334, 335,
336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 347, 348, -1, 350, 351, 352, 353, 354, -1,
356, 357, 358, 359, 360, -1, 362, 363, 364, 365,
-1, 367, 368, 369, 370, 371, 372, 373, 374, 375,
376, 377, 378, 379, -1, 381, 382, -1, 384, -1,
386, 387, 388, 389, 390, -1, 392, 393, 394, -1,
-1, 397, 398, 399, 400, 401, -1, 403, 404, 405,
406, 407, 408, 409, -1, -1, 412, 413, 414, 415,
416, -1, -1, 419, 420, 421, 422, 423, 424, 425,
-1, 427, -1, 429, 430, 431, 432, -1, -1, 435,
-1, -1, 438, 439, 440, 441, 442, 443, 444, 445,
446, 447, 448, 449, 450, 451, 452, 453, 454, 455,
456, 457, 3, -1, -1, -1, -1, -1, -1, -1,
-1, 467, -1, -1, -1, -1, -1, 18, 19, 20,
21, 22, 23, 24, 25, -1, 27, 28, 29, -1,
-1, -1, -1, -1, -1, -1, 37, 38, -1, 40,
41, 42, 43, 44, 45, 46, -1, 48, 49, 50,
51, -1, 53, 54, 55, 56, 57, 58, -1, -1,
61, 62, 63, 64, 65, -1, 67, 68, 69, 70,
-1, -1, 73, -1, 75, 76, 77, 78, 79, 80,
81, 82, 83, -1, 85, 86, 87, 88, 89, 90,
-1, 92, 93, 94, 95, -1, -1, -1, 99, -1,
-1, -1, 103, 104, 105, 106, 107, 108, 109, 110,
111, -1, 113, -1, 115, 116, 117, 118, 119, 120,
-1, 122, 123, 124, 125, -1, -1, 128, 129, 130,
131, 132, -1, 134, 135, 136, -1, 138, 139, 140,
-1, 142, 143, 144, 145, -1, 147, 148, 149, -1,
-1, 152, -1, 154, 155, 156, 157, -1, 159, -1,
161, 162, -1, 164, 165, 166, 167, 168, -1, 170,
-1, -1, -1, 174, 175, -1, 177, 178, 179, 180,
181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, 192, 193, 194, -1, 196, 197, 198, 199, 200,
201, 202, 203, 204, -1, 206, -1, 208, 209, 210,
211, 212, 213, 214, 215, 216, 217, -1, -1, 220,
-1, 222, 223, 224, -1, 226, 227, 228, -1, -1,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, -1, -1, 255, 256, 257, 258, -1, -1,
261, 262, 263, 264, 265, -1, 267, 268, -1, -1,
271, 272, 273, -1, 275, 276, 277, 278, 279, 280,
281, -1, 283, 284, 285, 286, 287, 288, 289, 290,
291, -1, 293, 294, -1, 296, -1, 298, 299, 300,
-1, 302, 303, 304, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, -1, 318, 319, 320,
321, 322, 323, 324, 325, 326, 327, 328, 329, -1,
331, 332, 333, 334, 335, 336, 337, 338, -1, 340,
341, 342, 343, 344, 345, 346, 347, 348, -1, 350,
351, 352, 353, 354, -1, 356, 357, 358, 359, 360,
361, 362, 363, 364, 365, -1, 367, 368, 369, 370,
371, 372, 373, 374, 375, 376, 377, 378, -1, -1,
381, 382, -1, 384, 385, 386, 387, 388, 389, 390,
-1, 392, 393, 394, -1, -1, 397, 398, -1, 400,
-1, -1, 403, 404, 405, 406, 407, 408, 409, -1,
-1, 412, 413, 414, 415, 416, -1, -1, 419, 420,
421, 422, 423, -1, 425, 426, 427, 428, 429, 430,
431, 432, -1, -1, 435, -1, -1, 438, 439, 440,
441, 442, 443, 3, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 455, 456, 457, -1, 18, 19,
20, 21, 22, 23, 24, 25, 467, 27, 28, 29,
-1, -1, -1, -1, -1, -1, -1, 37, 38, -1,
40, 41, 42, 43, 44, 45, 46, -1, 48, 49,
50, 51, -1, 53, 54, 55, 56, 57, 58, -1,
-1, 61, 62, 63, 64, 65, -1, 67, 68, 69,
70, -1, -1, 73, -1, 75, 76, 77, 78, 79,
80, 81, 82, 83, -1, 85, 86, 87, 88, 89,
90, -1, 92, 93, 94, 95, -1, -1, -1, 99,
-1, -1, -1, 103, 104, 105, 106, 107, 108, 109,
110, 111, -1, 113, -1, 115, 116, 117, 118, 119,
120, -1, 122, 123, 124, 125, -1, -1, 128, 129,
130, 131, 132, -1, 134, 135, 136, -1, 138, 139,
140, -1, 142, 143, 144, 145, -1, 147, 148, 149,
-1, -1, 152, -1, 154, 155, 156, 157, -1, 159,
-1, 161, 162, -1, 164, 165, 166, 167, 168, -1,
170, -1, -1, -1, 174, 175, -1, 177, 178, 179,
180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
190, 191, 192, 193, 194, -1, 196, 197, 198, 199,
200, 201, 202, 203, 204, -1, 206, -1, 208, 209,
210, 211, 212, 213, 214, 215, 216, 217, -1, -1,
220, -1, 222, 223, 224, -1, 226, 227, 228, -1,
-1, 231, 232, 233, 234, 235, 236, 237, 238, 239,
240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
250, 251, 252, -1, -1, 255, 256, 257, 258, -1,
-1, 261, 262, 263, 264, 265, -1, 267, 268, -1,
-1, 271, 272, 273, -1, 275, 276, 277, 278, 279,
280, 281, -1, 283, 284, 285, 286, 287, 288, 289,
290, 291, -1, 293, 294, -1, 296, -1, 298, 299,
300, -1, 302, 303, 304, 305, 306, 307, 308, 309,
310, 311, 312, 313, 314, 315, 316, -1, 318, 319,
320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
-1, 331, 332, 333, 334, 335, 336, 337, 338, -1,
340, 341, 342, 343, 344, 345, 346, 347, 348, -1,
350, 351, 352, 353, 354, -1, 356, 357, 358, 359,
360, 361, 362, 363, 364, 365, -1, 367, 368, 369,
370, 371, 372, 373, 374, 375, 376, 377, 378, -1,
-1, 381, 382, -1, 384, 385, 386, 387, 388, 389,
390, -1, 392, 393, 394, -1, -1, 397, 398, -1,
400, -1, -1, 403, 404, 405, 406, 407, 408, 409,
-1, -1, 412, 413, 414, 415, 416, -1, -1, 419,
420, 421, 422, 423, -1, 425, 426, 427, 428, 429,
430, 431, 432, -1, -1, 435, -1, -1, 438, 439,
440, 441, 442, 443, 3, 4, 5, -1, -1, -1,
9, -1, -1, -1, -1, 455, 456, 457, -1, 18,
19, 20, 21, 22, 23, 24, 25, 467, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, 42, 43, 44, 45, 46, 47, 48,
49, 50, 51, -1, 53, 54, 55, 56, 57, 58,
-1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
69, 70, 71, -1, 73, -1, 75, 76, 77, 78,
79, 80, 81, 82, 83, -1, 85, 86, 87, 88,
89, 90, -1, 92, 93, 94, 95, -1, -1, -1,
99, -1, -1, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, -1, 115, 116, 117, 118,
119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
149, 150, 151, 152, -1, 154, 155, 156, 157, -1,
159, -1, 161, 162, -1, 164, 165, 166, 167, 168,
-1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
179, 180, 181, 182, 183, 184, 185, 186, -1, 188,
189, 190, 191, 192, 193, 194, -1, 196, 197, 198,
199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
209, 210, 211, 212, 213, 214, 215, 216, 217, -1,
-1, 220, 221, 222, 223, 224, -1, 226, 227, 228,
-1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, -1, 255, 256, 257, 258,
-1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
269, -1, 271, 272, 273, -1, -1, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, -1, 331, 332, 333, 334, 335, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
-1, 350, 351, 352, 353, 354, -1, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
379, -1, 381, 382, -1, 384, 385, 386, 387, 388,
389, 390, -1, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
409, -1, -1, 412, 413, 414, 415, 416, -1, -1,
419, 420, 421, 422, 423, 424, 425, -1, 427, 428,
429, 430, 431, 432, -1, -1, 435, -1, -1, 438,
439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 3,
4, 5, -1, -1, -1, 9, 465, 466, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
-1, -1, -1, 37, 38, -1, 40, 41, 42, 43,
44, 45, 46, 47, 48, 49, 50, 51, -1, 53,
54, 55, 56, 57, 58, -1, -1, 61, 62, 63,
64, 65, -1, 67, 68, 69, 70, 71, -1, 73,
-1, 75, 76, 77, 78, 79, 80, 81, 82, 83,
-1, 85, 86, 87, 88, 89, 90, -1, 92, 93,
94, 95, -1, -1, -1, 99, -1, -1, -1, 103,
104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
-1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, 145, 146, 147, 148, 149, 150, 151, 152, -1,
154, 155, 156, 157, -1, 159, -1, 161, 162, -1,
164, 165, 166, 167, 168, -1, 170, 171, -1, 173,
174, 175, -1, 177, 178, 179, 180, 181, 182, 183,
184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
194, -1, 196, 197, 198, 199, 200, 201, 202, 203,
204, -1, 206, -1, 208, 209, 210, 211, 212, 213,
214, 215, 216, 217, -1, -1, 220, 221, 222, 223,
224, -1, 226, 227, 228, -1, -1, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
-1, 255, 256, 257, 258, -1, 260, 261, 262, 263,
264, 265, -1, 267, 268, 269, -1, 271, 272, 273,
-1, -1, 276, 277, 278, 279, 280, 281, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, -1, 331, 332, 333,
334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
354, -1, 356, 357, 358, 359, 360, 361, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 379, -1, 381, 382, -1,
384, 385, 386, 387, 388, 389, 390, -1, 392, 393,
394, -1, -1, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, -1, -1, 412, 413,
414, 415, 416, -1, -1, 419, 420, 421, 422, 423,
424, 425, -1, 427, 428, 429, 430, 431, 432, -1,
-1, 435, -1, -1, 438, 439, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 3, 4, 5, -1, -1, -1,
9, 465, 466, -1, -1, -1, -1, -1, -1, 18,
19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, 42, 43, 44, 45, 46, 47, 48,
49, 50, 51, -1, 53, 54, 55, 56, 57, 58,
-1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
69, 70, 71, -1, 73, -1, 75, 76, 77, 78,
79, 80, 81, 82, 83, -1, 85, 86, 87, 88,
89, 90, -1, 92, 93, 94, 95, -1, -1, -1,
99, -1, -1, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
149, 150, 151, 152, -1, 154, 155, 156, 157, -1,
159, -1, 161, 162, -1, 164, 165, 166, 167, 168,
-1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
179, 180, 181, 182, 183, 184, 185, 186, -1, 188,
189, 190, 191, 192, 193, 194, -1, 196, 197, 198,
199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
209, 210, 211, 212, 213, 214, 215, 216, 217, -1,
-1, 220, 221, 222, 223, 224, -1, 226, 227, 228,
-1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, -1, 255, 256, 257, 258,
-1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
269, -1, 271, 272, 273, -1, -1, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, -1, 331, 332, 333, 334, 335, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
-1, 350, 351, 352, 353, 354, -1, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
379, -1, 381, 382, -1, 384, 385, 386, 387, 388,
389, 390, -1, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
409, -1, -1, 412, 413, 414, 415, 416, -1, -1,
419, 420, 421, 422, 423, 424, 425, -1, 427, 428,
429, 430, 431, 432, -1, -1, 435, -1, -1, 438,
439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 3,
-1, 5, -1, -1, -1, 9, 465, 466, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
-1, -1, -1, 37, 38, -1, 40, 41, 42, 43,
44, 45, 46, 47, 48, 49, 50, 51, -1, 53,
54, 55, 56, 57, 58, -1, -1, 61, 62, 63,
64, 65, -1, 67, 68, 69, 70, 71, -1, 73,
-1, 75, 76, 77, 78, 79, 80, 81, 82, 83,
-1, 85, 86, 87, 88, 89, 90, -1, 92, 93,
94, 95, -1, -1, -1, 99, -1, -1, -1, 103,
104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
-1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, 145, 146, 147, 148, 149, 150, 151, 152, -1,
154, 155, 156, 157, -1, 159, -1, 161, 162, -1,
164, 165, 166, 167, 168, -1, 170, 171, -1, 173,
174, 175, -1, 177, 178, 179, 180, 181, 182, 183,
184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
194, -1, 196, 197, 198, 199, 200, 201, 202, 203,
204, -1, 206, -1, 208, 209, 210, 211, 212, 213,
214, 215, 216, 217, -1, -1, 220, 221, 222, 223,
224, -1, 226, 227, 228, -1, -1, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
-1, 255, 256, 257, 258, -1, 260, 261, 262, 263,
264, 265, -1, 267, 268, 269, -1, 271, 272, 273,
-1, -1, 276, 277, 278, 279, 280, 281, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, -1, 331, 332, 333,
334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
354, -1, 356, 357, 358, 359, 360, 361, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 379, -1, 381, 382, -1,
384, 385, 386, 387, 388, 389, 390, -1, 392, 393,
394, -1, -1, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, -1, -1, 412, 413,
414, 415, 416, -1, -1, 419, 420, 421, 422, 423,
424, 425, -1, 427, 428, 429, 430, 431, 432, -1,
-1, 435, -1, -1, 438, 439, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 3, -1, -1, -1, -1, -1,
9, 465, 466, -1, -1, -1, -1, -1, -1, 18,
19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
-1, 50, 51, -1, 53, 54, 55, 56, 57, 58,
-1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
69, 70, 71, -1, -1, -1, 75, 76, 77, 78,
79, -1, 81, 82, 83, -1, 85, 86, 87, 88,
89, 90, -1, -1, 93, 94, 95, -1, -1, -1,
-1, -1, -1, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
149, 150, -1, 152, -1, 154, 155, 156, 157, -1,
159, -1, 161, -1, 163, -1, 165, 166, 167, 168,
-1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
179, 180, 181, -1, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, 193, 194, -1, 196, -1, 198,
199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
-1, -1, 211, -1, 213, 214, 215, 216, 217, -1,
-1, 220, 221, -1, 223, -1, -1, 226, 227, 228,
-1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, -1,
249, 250, 251, 252, 253, -1, 255, 256, -1, 258,
-1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
-1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
-1, 280, -1, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, -1, 331, 332, -1, 334, 335, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
-1, 350, 351, 352, 353, 354, -1, 356, 357, 358,
359, 360, -1, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
379, -1, 381, 382, -1, 384, -1, 386, 387, 388,
389, 390, -1, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, -1, 403, 404, 405, 406, 407, 408,
409, -1, -1, 412, 413, 414, 415, 416, -1, -1,
419, 420, 421, 422, 423, 424, 425, -1, 427, -1,
429, 430, 431, 432, -1, -1, 435, -1, -1, 438,
439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 3,
4, 5, -1, -1, -1, 9, 465, 466, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 379, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, 431, 432, 433,
434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, 210, 211, 212, 213, 214, 215, 216, 217, 218,
219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, 366, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
389, 390, 391, 392, 393, 394, 395, 396, 397, 398,
399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
409, 410, 411, 412, 413, 414, 415, 416, 417, 418,
419, 420, 421, 422, 423, 424, 425, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 379, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, 431, 432, 433,
434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, 42, 43, 44, 45, 46, 47, 48,
49, 50, 51, -1, 53, 54, 55, 56, 57, 58,
-1, 60, 61, 62, 63, 64, 65, -1, 67, 68,
69, 70, 71, -1, 73, -1, 75, 76, 77, 78,
79, 80, 81, 82, 83, -1, 85, 86, 87, 88,
89, 90, -1, 92, 93, 94, 95, 96, 97, 98,
99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
149, 150, -1, 152, -1, 154, 155, 156, 157, -1,
159, -1, 161, 162, -1, 164, 165, 166, 167, 168,
-1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
179, 180, 181, 182, 183, 184, 185, 186, -1, 188,
189, 190, 191, 192, 193, 194, -1, 196, 197, 198,
199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
209, 210, 211, 212, 213, 214, 215, 216, 217, -1,
-1, 220, 221, 222, 223, 224, -1, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, -1, 255, 256, 257, 258,
-1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
-1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, -1, 331, 332, 333, 334, 335, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
-1, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
379, -1, 381, 382, -1, 384, 385, 386, 387, 388,
389, 390, -1, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, -1, 403, 404, 405, 406, 407, 408,
409, -1, -1, 412, 413, 414, 415, 416, 417, -1,
419, 420, 421, 422, 423, 424, 425, -1, 427, 428,
429, 430, 431, 432, -1, -1, 435, -1, -1, 438,
439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 3,
-1, 5, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
-1, -1, -1, 37, 38, -1, 40, 41, 42, 43,
44, 45, 46, 47, 48, 49, 50, 51, -1, 53,
54, 55, 56, 57, 58, -1, -1, 61, 62, 63,
64, 65, -1, 67, 68, 69, 70, 71, -1, 73,
-1, 75, 76, 77, 78, 79, 80, 81, 82, 83,
-1, 85, 86, 87, 88, 89, 90, -1, 92, 93,
94, 95, -1, -1, -1, 99, -1, -1, -1, 103,
104, 105, 106, 107, 108, 109, 110, 111, -1, 113,
-1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, 145, 146, 147, 148, 149, 150, 151, 152, -1,
154, 155, 156, 157, -1, 159, -1, 161, 162, -1,
164, 165, 166, 167, 168, -1, 170, 171, -1, 173,
174, 175, -1, 177, 178, 179, 180, 181, 182, 183,
184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
194, -1, 196, 197, 198, 199, 200, 201, 202, 203,
204, -1, 206, -1, 208, 209, 210, 211, 212, 213,
214, 215, 216, 217, -1, -1, 220, 221, 222, 223,
224, -1, 226, 227, 228, -1, -1, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
-1, 255, 256, 257, 258, -1, 260, 261, 262, 263,
264, 265, -1, 267, 268, 269, -1, 271, 272, 273,
-1, -1, 276, 277, 278, 279, 280, 281, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, -1, 331, 332, 333,
334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
354, -1, 356, 357, 358, 359, 360, 361, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 379, -1, 381, 382, -1,
384, 385, 386, 387, 388, 389, 390, -1, 392, 393,
394, -1, -1, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, -1, -1, 412, 413,
414, 415, 416, -1, -1, 419, 420, 421, 422, 423,
424, 425, -1, 427, 428, 429, 430, 431, 432, -1,
-1, 435, -1, -1, 438, 439, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, 42, 43, 44, 45, 46, 47, 48,
49, 50, 51, -1, 53, 54, 55, 56, 57, 58,
-1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
69, 70, 71, -1, 73, -1, 75, 76, 77, 78,
79, 80, 81, 82, 83, -1, 85, 86, 87, 88,
89, 90, -1, 92, 93, 94, 95, -1, -1, -1,
99, -1, -1, 102, 103, 104, 105, 106, 107, 108,
109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
149, 150, -1, 152, -1, 154, 155, 156, 157, -1,
159, -1, 161, 162, -1, 164, 165, 166, 167, 168,
-1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
179, 180, 181, 182, 183, 184, 185, 186, -1, 188,
189, 190, 191, 192, 193, 194, -1, 196, 197, 198,
199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
209, 210, 211, 212, 213, 214, 215, 216, 217, -1,
-1, 220, 221, 222, 223, 224, -1, 226, 227, 228,
-1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, -1, 255, 256, 257, 258,
-1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
-1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, -1, 331, 332, 333, 334, 335, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
-1, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
379, -1, 381, 382, -1, 384, 385, 386, 387, 388,
389, 390, -1, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, -1, 403, 404, 405, 406, 407, 408,
409, -1, -1, 412, 413, 414, 415, 416, -1, -1,
419, 420, 421, 422, 423, 424, 425, -1, 427, 428,
429, 430, 431, 432, -1, -1, 435, -1, -1, 438,
439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, 26, 27, 28, 29, -1, -1, -1, -1,
-1, -1, -1, 37, 38, -1, 40, 41, 42, 43,
44, 45, 46, 47, 48, 49, 50, 51, -1, 53,
54, 55, 56, 57, 58, -1, -1, 61, 62, 63,
64, 65, -1, 67, 68, 69, 70, 71, -1, 73,
-1, 75, 76, 77, 78, 79, 80, 81, 82, 83,
-1, 85, 86, 87, 88, 89, 90, -1, 92, 93,
94, 95, -1, -1, -1, 99, -1, -1, 102, 103,
104, 105, 106, 107, 108, 109, 110, 111, -1, 113,
-1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, 145, 146, 147, 148, 149, 150, -1, 152, -1,
154, 155, 156, 157, -1, 159, -1, 161, 162, -1,
164, 165, 166, 167, 168, -1, 170, 171, -1, 173,
174, 175, -1, 177, 178, 179, 180, 181, 182, 183,
184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
194, -1, 196, 197, 198, 199, 200, 201, 202, 203,
204, -1, 206, -1, 208, 209, 210, 211, 212, 213,
214, 215, 216, 217, -1, -1, 220, 221, 222, 223,
224, -1, 226, 227, 228, -1, -1, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
-1, 255, 256, 257, 258, -1, 260, 261, 262, 263,
264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
-1, -1, 276, 277, 278, 279, 280, 281, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, -1, 331, 332, 333,
334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 379, -1, 381, 382, -1,
384, 385, 386, 387, 388, 389, 390, -1, 392, 393,
394, -1, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, 408, 409, -1, -1, 412, 413,
414, 415, 416, -1, -1, 419, 420, 421, 422, 423,
424, 425, -1, 427, 428, 429, 430, 431, 432, -1,
-1, 435, -1, -1, 438, 439, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, 42, 43, 44, 45, 46, 47, 48,
49, 50, 51, -1, 53, 54, 55, 56, 57, 58,
-1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
69, 70, 71, -1, 73, -1, 75, 76, 77, 78,
79, 80, 81, 82, 83, -1, 85, 86, 87, 88,
89, 90, -1, 92, 93, 94, 95, -1, -1, -1,
99, -1, -1, 102, 103, 104, 105, 106, 107, 108,
109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
149, 150, -1, 152, -1, 154, 155, 156, 157, -1,
159, -1, 161, 162, -1, 164, 165, 166, 167, 168,
-1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
179, 180, 181, 182, 183, 184, 185, 186, -1, 188,
189, 190, 191, 192, 193, 194, -1, 196, 197, 198,
199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
209, 210, 211, 212, 213, 214, 215, 216, 217, -1,
-1, 220, 221, 222, 223, 224, -1, 226, 227, 228,
-1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, -1, 255, 256, 257, 258,
-1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
-1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, -1, 331, 332, 333, 334, 335, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
-1, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
379, -1, 381, 382, -1, 384, 385, 386, 387, 388,
389, 390, -1, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, -1, 403, 404, 405, 406, 407, 408,
409, -1, -1, 412, 413, 414, 415, 416, 417, -1,
419, 420, 421, 422, 423, 424, 425, -1, 427, 428,
429, 430, 431, 432, -1, -1, 435, -1, -1, 438,
439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
-1, -1, -1, 37, 38, -1, 40, 41, 42, 43,
44, 45, 46, 47, 48, 49, 50, 51, -1, 53,
54, 55, 56, 57, 58, -1, -1, 61, 62, 63,
64, 65, -1, 67, 68, 69, 70, 71, -1, 73,
-1, 75, 76, 77, 78, 79, 80, 81, 82, 83,
-1, 85, 86, 87, 88, 89, 90, -1, 92, 93,
94, 95, -1, -1, -1, 99, -1, -1, 102, 103,
104, 105, 106, 107, 108, 109, 110, 111, -1, 113,
-1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, 145, 146, 147, 148, 149, 150, -1, 152, -1,
154, 155, 156, 157, -1, 159, -1, 161, 162, -1,
164, 165, 166, 167, 168, -1, 170, 171, 172, 173,
174, 175, -1, 177, 178, 179, 180, 181, 182, 183,
184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
194, -1, 196, 197, 198, 199, 200, 201, 202, 203,
204, -1, 206, -1, 208, 209, 210, 211, 212, 213,
214, 215, 216, 217, -1, -1, 220, 221, 222, 223,
224, -1, 226, 227, 228, -1, -1, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
-1, 255, 256, 257, 258, -1, 260, 261, 262, 263,
264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
-1, -1, 276, 277, 278, 279, 280, 281, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, -1, 331, 332, 333,
334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 379, -1, 381, 382, -1,
384, 385, 386, 387, 388, 389, 390, -1, 392, 393,
394, -1, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, 408, 409, -1, -1, 412, 413,
414, 415, 416, -1, -1, 419, 420, 421, 422, 423,
424, 425, -1, 427, 428, 429, 430, 431, 432, -1,
-1, 435, -1, -1, 438, 439, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, 42, 43, 44, 45, 46, 47, 48,
49, 50, 51, -1, 53, 54, 55, 56, 57, 58,
-1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
69, 70, 71, -1, 73, -1, 75, 76, 77, 78,
79, 80, 81, 82, 83, -1, 85, 86, 87, 88,
89, 90, -1, 92, 93, 94, 95, -1, -1, -1,
99, -1, -1, 102, 103, 104, 105, 106, 107, 108,
109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
149, 150, -1, 152, -1, 154, 155, 156, 157, -1,
159, -1, 161, 162, -1, 164, 165, 166, 167, 168,
-1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
179, 180, 181, 182, 183, 184, 185, 186, -1, 188,
189, 190, 191, 192, 193, 194, -1, 196, 197, 198,
199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
209, 210, 211, 212, 213, 214, 215, 216, 217, -1,
-1, 220, 221, 222, 223, 224, -1, 226, 227, 228,
-1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, -1, 255, 256, 257, 258,
-1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
-1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, -1, 331, 332, 333, 334, 335, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
-1, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
379, -1, 381, 382, -1, 384, 385, 386, 387, 388,
389, 390, -1, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, -1, 403, 404, 405, 406, 407, 408,
409, -1, -1, 412, 413, 414, 415, 416, -1, -1,
419, 420, 421, 422, 423, 424, 425, -1, 427, 428,
429, 430, 431, 432, -1, -1, 435, -1, -1, 438,
439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
-1, -1, -1, 37, 38, -1, 40, 41, 42, 43,
44, 45, 46, 47, 48, 49, 50, 51, -1, 53,
54, 55, 56, 57, 58, -1, -1, 61, 62, 63,
64, 65, -1, 67, 68, 69, 70, 71, -1, 73,
-1, 75, 76, 77, 78, 79, 80, 81, 82, 83,
-1, 85, 86, 87, 88, 89, 90, -1, 92, 93,
94, 95, -1, -1, -1, 99, -1, -1, 102, 103,
104, 105, 106, 107, 108, 109, 110, 111, -1, 113,
-1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, 145, 146, 147, 148, 149, 150, -1, 152, -1,
154, 155, 156, 157, -1, 159, -1, 161, 162, -1,
164, 165, 166, 167, 168, -1, 170, 171, -1, 173,
174, 175, -1, 177, 178, 179, 180, 181, 182, 183,
184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
194, -1, 196, 197, 198, 199, 200, 201, 202, 203,
204, -1, 206, -1, 208, 209, 210, 211, 212, 213,
214, 215, 216, 217, -1, -1, 220, 221, 222, 223,
224, -1, 226, 227, 228, -1, -1, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
-1, 255, 256, 257, 258, -1, 260, 261, 262, 263,
264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
-1, -1, 276, 277, 278, 279, 280, 281, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, -1, 331, 332, 333,
334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 379, -1, 381, 382, -1,
384, 385, 386, 387, 388, 389, 390, -1, 392, 393,
394, -1, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, 408, 409, -1, -1, 412, 413,
414, 415, 416, -1, -1, 419, 420, 421, 422, 423,
424, 425, -1, 427, 428, 429, 430, 431, 432, -1,
-1, 435, -1, -1, 438, 439, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, 42, 43, 44, 45, 46, 47, 48,
49, 50, 51, -1, 53, 54, 55, 56, 57, 58,
-1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
69, 70, 71, -1, 73, -1, 75, 76, 77, 78,
79, 80, 81, 82, 83, -1, 85, 86, 87, 88,
89, 90, -1, 92, 93, 94, 95, -1, -1, -1,
99, -1, -1, 102, 103, 104, 105, 106, 107, 108,
109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
149, 150, -1, 152, -1, 154, 155, 156, 157, -1,
159, -1, 161, 162, -1, 164, 165, 166, 167, 168,
-1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
179, 180, 181, 182, 183, 184, 185, 186, -1, 188,
189, 190, 191, 192, 193, 194, -1, 196, 197, 198,
199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
209, 210, 211, 212, 213, 214, 215, 216, 217, -1,
-1, 220, 221, 222, 223, 224, -1, 226, 227, 228,
-1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, -1, 255, 256, 257, 258,
-1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
-1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, -1, 331, 332, 333, 334, 335, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
-1, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
379, -1, 381, 382, -1, 384, 385, 386, 387, 388,
389, 390, -1, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, -1, 403, 404, 405, 406, 407, 408,
409, -1, -1, 412, 413, 414, 415, 416, -1, -1,
419, 420, 421, 422, 423, 424, 425, -1, 427, 428,
429, 430, 431, 432, -1, -1, 435, -1, -1, 438,
439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
-1, -1, -1, 37, 38, -1, 40, 41, 42, 43,
44, 45, 46, 47, 48, 49, 50, 51, -1, 53,
54, 55, 56, 57, 58, -1, -1, 61, 62, 63,
64, 65, -1, 67, 68, 69, 70, 71, -1, 73,
-1, 75, 76, 77, 78, 79, 80, 81, 82, 83,
-1, 85, 86, 87, 88, 89, 90, -1, 92, 93,
94, 95, -1, -1, -1, 99, -1, -1, 102, 103,
104, 105, 106, 107, 108, 109, 110, 111, -1, 113,
-1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, 145, 146, 147, 148, 149, 150, -1, 152, -1,
154, 155, 156, 157, -1, 159, -1, 161, 162, -1,
164, 165, 166, 167, 168, -1, 170, 171, -1, 173,
174, 175, -1, 177, 178, 179, 180, 181, 182, 183,
184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
194, -1, 196, 197, 198, 199, 200, 201, 202, 203,
204, -1, 206, -1, 208, 209, 210, 211, 212, 213,
214, 215, 216, 217, -1, -1, 220, 221, 222, 223,
224, -1, 226, 227, 228, -1, -1, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
-1, 255, 256, 257, 258, -1, 260, 261, 262, 263,
264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
-1, -1, 276, 277, 278, 279, 280, 281, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, -1, 331, 332, 333,
334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 379, -1, 381, 382, -1,
384, 385, 386, 387, 388, 389, 390, -1, 392, 393,
394, -1, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, 408, 409, -1, -1, 412, 413,
414, 415, 416, -1, -1, 419, 420, 421, 422, 423,
424, 425, -1, 427, 428, 429, 430, 431, 432, -1,
-1, 435, -1, -1, 438, 439, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, 42, 43, 44, 45, 46, 47, 48,
49, 50, 51, -1, 53, 54, 55, 56, 57, 58,
-1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
69, 70, 71, -1, 73, -1, 75, 76, 77, 78,
79, 80, 81, 82, 83, -1, 85, 86, 87, 88,
89, 90, -1, 92, 93, 94, 95, -1, -1, -1,
99, -1, -1, 102, 103, 104, 105, 106, 107, 108,
109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
149, 150, -1, 152, -1, 154, 155, 156, 157, -1,
159, -1, 161, 162, -1, 164, 165, 166, 167, 168,
-1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
179, 180, 181, 182, 183, 184, 185, 186, -1, 188,
189, 190, 191, 192, 193, 194, -1, 196, 197, 198,
199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
209, 210, 211, 212, 213, 214, 215, 216, 217, -1,
-1, 220, 221, 222, 223, 224, -1, 226, 227, 228,
-1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, -1, 255, 256, 257, 258,
-1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
-1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, -1, 331, 332, 333, 334, 335, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
-1, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
379, -1, 381, 382, -1, 384, 385, 386, 387, 388,
389, 390, -1, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, -1, 403, 404, 405, 406, 407, 408,
409, -1, -1, 412, 413, 414, 415, 416, -1, -1,
419, 420, 421, 422, 423, 424, 425, -1, 427, 428,
429, 430, 431, 432, -1, -1, 435, -1, -1, 438,
439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 3,
-1, 5, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
-1, -1, -1, 37, 38, -1, 40, 41, 42, 43,
44, 45, 46, 47, 48, 49, 50, 51, -1, 53,
54, 55, 56, 57, 58, -1, -1, 61, 62, 63,
64, 65, -1, 67, 68, 69, 70, 71, -1, 73,
-1, 75, 76, 77, 78, 79, 80, 81, 82, 83,
-1, 85, 86, 87, 88, 89, 90, -1, 92, 93,
94, 95, -1, -1, -1, 99, -1, -1, -1, 103,
104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
-1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, 145, 146, 147, 148, 149, 150, -1, 152, -1,
154, 155, 156, 157, -1, 159, -1, 161, 162, -1,
164, 165, 166, 167, 168, -1, 170, 171, -1, 173,
174, 175, -1, 177, 178, 179, 180, 181, 182, 183,
184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
194, -1, 196, 197, 198, 199, 200, 201, 202, 203,
204, -1, 206, -1, 208, 209, 210, 211, 212, 213,
214, 215, 216, 217, -1, -1, 220, 221, 222, 223,
224, -1, 226, 227, 228, -1, -1, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
-1, 255, 256, 257, 258, -1, 260, 261, 262, 263,
264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
-1, -1, 276, 277, 278, 279, 280, 281, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, -1, 331, 332, 333,
334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
354, -1, 356, 357, 358, 359, 360, 361, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 379, -1, 381, 382, -1,
384, 385, 386, 387, 388, 389, 390, -1, 392, 393,
394, -1, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, 408, 409, -1, -1, 412, 413,
414, 415, 416, -1, -1, 419, 420, 421, 422, 423,
424, 425, -1, 427, 428, 429, 430, 431, 432, -1,
-1, 435, -1, -1, 438, 439, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
29, 30, 31, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, 42, 43, 44, 45, 46, 47, 48,
49, 50, 51, -1, 53, 54, 55, 56, 57, 58,
-1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
69, 70, 71, -1, 73, -1, 75, 76, 77, 78,
79, 80, 81, 82, 83, -1, 85, 86, 87, 88,
89, 90, -1, 92, 93, 94, 95, -1, -1, -1,
99, -1, -1, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
149, 150, -1, 152, -1, 154, 155, 156, 157, -1,
159, -1, 161, 162, -1, 164, 165, 166, 167, 168,
-1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
179, 180, 181, 182, 183, 184, 185, 186, -1, 188,
189, 190, 191, 192, 193, 194, -1, 196, 197, 198,
199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
209, 210, 211, 212, 213, 214, 215, 216, 217, -1,
-1, 220, 221, 222, 223, 224, -1, 226, 227, 228,
-1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, -1, 255, 256, 257, 258,
-1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
-1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, -1, 331, 332, 333, 334, 335, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
-1, 350, 351, 352, 353, 354, -1, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
379, -1, 381, 382, -1, 384, 385, 386, 387, 388,
389, 390, -1, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, -1, 403, 404, 405, 406, 407, 408,
409, -1, -1, 412, 413, 414, 415, 416, -1, -1,
419, 420, 421, 422, 423, 424, 425, -1, 427, 428,
429, 430, 431, 432, -1, -1, 435, -1, -1, 438,
439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 3,
-1, 5, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
-1, -1, -1, 37, 38, -1, 40, 41, 42, 43,
44, 45, 46, 47, 48, 49, 50, 51, -1, 53,
54, 55, 56, 57, 58, -1, -1, 61, 62, 63,
64, 65, -1, 67, 68, 69, 70, 71, -1, 73,
-1, 75, 76, 77, 78, 79, 80, 81, 82, 83,
-1, 85, 86, 87, 88, 89, 90, -1, 92, 93,
94, 95, -1, -1, -1, 99, -1, -1, -1, 103,
104, 105, 106, 107, 108, 109, 110, 111, -1, 113,
-1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, 145, 146, 147, 148, 149, 150, -1, 152, -1,
154, 155, 156, 157, -1, 159, -1, 161, 162, -1,
164, 165, 166, 167, 168, -1, 170, 171, -1, 173,
174, 175, -1, 177, 178, 179, 180, 181, 182, 183,
184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
194, -1, 196, 197, 198, 199, 200, 201, 202, 203,
204, -1, 206, -1, 208, 209, 210, 211, 212, 213,
214, 215, 216, 217, -1, -1, 220, 221, 222, 223,
224, -1, 226, 227, 228, -1, -1, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
-1, 255, 256, 257, 258, -1, 260, 261, 262, 263,
264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
-1, -1, 276, 277, 278, 279, 280, 281, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, -1, 331, 332, 333,
334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
354, -1, 356, 357, 358, 359, 360, 361, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 379, -1, 381, 382, -1,
384, 385, 386, 387, 388, 389, 390, -1, 392, 393,
394, -1, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, 408, 409, -1, -1, 412, 413,
414, 415, 416, -1, -1, 419, 420, 421, 422, 423,
424, 425, -1, 427, 428, 429, 430, 431, 432, -1,
-1, 435, -1, -1, 438, 439, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 3, -1, 5, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, 42, 43, 44, 45, 46, 47, 48,
49, 50, 51, -1, 53, 54, 55, 56, 57, 58,
-1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
69, 70, 71, -1, 73, -1, 75, 76, 77, 78,
79, 80, 81, 82, 83, -1, 85, 86, 87, 88,
89, 90, -1, 92, 93, 94, 95, -1, -1, -1,
99, -1, -1, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
149, 150, -1, 152, -1, 154, 155, 156, 157, -1,
159, -1, 161, 162, -1, 164, 165, 166, 167, 168,
-1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
179, 180, 181, 182, 183, 184, 185, 186, -1, 188,
189, 190, 191, 192, 193, 194, -1, 196, 197, 198,
199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
209, 210, 211, 212, 213, 214, 215, 216, 217, -1,
-1, 220, 221, 222, 223, 224, -1, 226, 227, 228,
-1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, -1, 255, 256, 257, 258,
-1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
-1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, -1, 331, 332, 333, 334, 335, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
-1, 350, 351, 352, 353, 354, -1, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
379, -1, 381, 382, -1, 384, 385, 386, 387, 388,
389, 390, -1, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, -1, 403, 404, 405, 406, 407, 408,
409, -1, -1, 412, 413, 414, 415, 416, -1, -1,
419, 420, 421, 422, 423, 424, 425, -1, 427, 428,
429, 430, 431, 432, -1, -1, 435, -1, -1, 438,
439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
-1, -1, -1, 37, 38, -1, 40, 41, 42, 43,
44, 45, 46, 47, 48, 49, 50, 51, -1, 53,
54, 55, 56, 57, 58, -1, -1, 61, 62, 63,
64, 65, -1, 67, 68, 69, 70, 71, -1, 73,
-1, 75, 76, 77, 78, 79, 80, 81, 82, 83,
-1, 85, 86, 87, 88, 89, 90, -1, 92, 93,
94, 95, -1, -1, -1, 99, -1, -1, -1, 103,
104, 105, 106, 107, 108, 109, 110, 111, -1, 113,
-1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, 145, 146, 147, 148, 149, 150, -1, 152, -1,
154, 155, 156, 157, -1, 159, -1, 161, 162, -1,
164, 165, 166, 167, 168, -1, 170, 171, -1, 173,
174, 175, -1, 177, 178, 179, 180, 181, 182, 183,
184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
194, -1, 196, 197, 198, 199, 200, 201, 202, 203,
204, -1, 206, -1, 208, 209, 210, 211, 212, 213,
214, 215, 216, 217, -1, -1, 220, 221, 222, 223,
224, -1, 226, 227, 228, -1, -1, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
-1, 255, 256, 257, 258, -1, 260, 261, 262, 263,
264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
-1, -1, 276, 277, 278, 279, 280, 281, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, -1, 331, 332, 333,
334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
354, -1, 356, 357, 358, 359, 360, 361, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 379, -1, 381, 382, -1,
384, 385, 386, 387, 388, 389, 390, -1, 392, 393,
394, -1, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, 408, 409, -1, -1, 412, 413,
414, 415, 416, -1, -1, 419, 420, 421, 422, 423,
424, 425, -1, 427, 428, 429, 430, 431, 432, -1,
-1, 435, -1, -1, 438, 439, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, 42, 43, 44, 45, 46, 47, 48,
49, 50, 51, -1, 53, 54, 55, 56, 57, 58,
-1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
69, 70, 71, -1, 73, -1, 75, 76, 77, 78,
79, 80, 81, 82, 83, -1, 85, 86, 87, 88,
89, 90, -1, 92, 93, 94, 95, -1, -1, -1,
99, -1, -1, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
149, 150, -1, 152, -1, 154, 155, 156, 157, -1,
159, -1, 161, 162, -1, 164, 165, 166, 167, 168,
-1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
179, 180, 181, 182, 183, 184, 185, 186, -1, 188,
189, 190, 191, 192, 193, 194, -1, 196, 197, 198,
199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
209, 210, 211, 212, 213, 214, 215, 216, 217, -1,
-1, 220, 221, 222, 223, 224, -1, 226, 227, 228,
-1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, -1, 255, 256, 257, 258,
-1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
-1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, -1, 331, 332, 333, 334, 335, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
-1, 350, 351, 352, 353, 354, -1, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
379, -1, 381, 382, -1, 384, 385, 386, 387, 388,
389, 390, -1, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, -1, 403, 404, 405, 406, 407, 408,
409, -1, -1, 412, 413, 414, 415, 416, -1, -1,
419, 420, 421, 422, 423, 424, 425, -1, 427, 428,
429, 430, 431, 432, -1, -1, 435, -1, -1, 438,
439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
-1, -1, -1, 37, 38, -1, 40, 41, 42, 43,
44, 45, 46, 47, 48, 49, 50, 51, -1, 53,
54, 55, 56, 57, 58, -1, -1, 61, 62, 63,
64, 65, -1, 67, 68, 69, 70, 71, -1, 73,
-1, 75, 76, 77, 78, 79, 80, 81, 82, 83,
-1, 85, 86, 87, 88, 89, 90, -1, 92, 93,
94, 95, -1, -1, -1, 99, -1, -1, -1, 103,
104, 105, 106, 107, 108, 109, 110, 111, -1, 113,
-1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, 145, 146, 147, 148, 149, 150, -1, 152, -1,
154, 155, 156, 157, -1, 159, -1, 161, 162, -1,
164, 165, 166, 167, 168, -1, 170, 171, -1, 173,
174, 175, -1, 177, 178, 179, 180, 181, 182, 183,
184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
194, -1, 196, 197, 198, 199, 200, 201, 202, 203,
204, -1, 206, -1, 208, 209, 210, 211, 212, 213,
214, 215, 216, 217, -1, -1, 220, 221, 222, 223,
224, -1, 226, 227, 228, -1, -1, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
-1, 255, 256, 257, 258, -1, 260, 261, 262, 263,
264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
-1, -1, 276, 277, 278, 279, 280, 281, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, -1, 331, 332, 333,
334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
354, -1, 356, 357, 358, 359, 360, 361, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 379, -1, 381, 382, -1,
384, 385, 386, 387, 388, 389, 390, -1, 392, 393,
394, -1, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, 408, 409, -1, -1, 412, 413,
414, 415, 416, -1, -1, 419, 420, 421, 422, 423,
424, 425, -1, 427, 428, 429, 430, 431, 432, -1,
-1, 435, -1, -1, 438, 439, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, 42, 43, 44, 45, 46, 47, 48,
49, 50, 51, -1, 53, 54, 55, 56, 57, 58,
-1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
69, 70, 71, -1, 73, -1, 75, 76, 77, 78,
79, 80, 81, 82, 83, -1, 85, 86, 87, 88,
89, 90, -1, 92, 93, 94, 95, -1, -1, -1,
99, -1, -1, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
149, 150, -1, 152, -1, 154, 155, 156, 157, -1,
159, -1, 161, 162, -1, 164, 165, 166, 167, 168,
-1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
179, 180, 181, 182, 183, 184, 185, 186, -1, 188,
189, 190, 191, 192, 193, 194, -1, 196, 197, 198,
199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
209, 210, 211, 212, 213, 214, 215, 216, 217, -1,
-1, 220, 221, 222, 223, 224, -1, 226, 227, 228,
-1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, -1, 255, 256, 257, 258,
-1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
-1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, -1, 331, 332, 333, 334, 335, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
-1, 350, 351, 352, 353, 354, -1, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
379, -1, 381, 382, -1, 384, 385, 386, 387, 388,
389, 390, -1, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, -1, 403, 404, 405, 406, 407, 408,
409, -1, -1, 412, 413, 414, 415, 416, -1, -1,
419, 420, 421, 422, 423, 424, 425, -1, 427, 428,
429, 430, 431, 432, -1, -1, 435, -1, -1, 438,
439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
-1, -1, -1, 37, 38, -1, 40, 41, 42, 43,
44, 45, 46, 47, 48, 49, 50, 51, -1, 53,
54, 55, 56, 57, 58, -1, -1, 61, 62, 63,
64, 65, -1, 67, 68, 69, 70, 71, -1, 73,
-1, 75, 76, 77, 78, 79, 80, 81, 82, 83,
-1, 85, 86, 87, 88, 89, 90, -1, 92, 93,
94, 95, -1, -1, -1, 99, -1, -1, -1, 103,
104, 105, 106, 107, 108, 109, 110, 111, -1, 113,
-1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, 145, 146, 147, 148, 149, 150, -1, 152, -1,
154, 155, 156, 157, -1, 159, -1, 161, 162, -1,
164, 165, 166, 167, 168, -1, 170, 171, -1, 173,
174, 175, -1, 177, 178, 179, 180, 181, 182, 183,
184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
194, -1, 196, 197, 198, 199, 200, 201, 202, 203,
204, -1, 206, -1, 208, 209, 210, 211, 212, 213,
214, 215, 216, 217, -1, -1, 220, 221, 222, 223,
224, -1, 226, 227, 228, -1, -1, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
-1, 255, 256, 257, 258, -1, 260, 261, 262, 263,
264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
-1, -1, 276, 277, 278, 279, 280, 281, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, -1, 331, 332, 333,
334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
354, -1, 356, 357, 358, 359, 360, 361, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 379, -1, 381, 382, -1,
384, 385, 386, 387, 388, 389, 390, -1, 392, 393,
394, -1, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, 408, 409, -1, -1, 412, 413,
414, 415, 416, -1, -1, 419, 420, 421, 422, 423,
424, 425, -1, 427, 428, 429, 430, 431, 432, -1,
-1, 435, -1, -1, 438, 439, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, 42, 43, 44, 45, 46, 47, 48,
49, 50, 51, -1, 53, 54, 55, 56, 57, 58,
-1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
69, 70, 71, -1, 73, -1, 75, 76, 77, 78,
79, 80, 81, 82, 83, -1, 85, 86, 87, 88,
89, 90, -1, 92, 93, 94, 95, -1, -1, -1,
99, -1, -1, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
149, 150, -1, 152, -1, 154, 155, 156, 157, -1,
159, -1, 161, 162, -1, 164, 165, 166, 167, 168,
-1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
179, 180, 181, 182, 183, 184, 185, 186, -1, 188,
189, 190, 191, 192, 193, 194, -1, 196, 197, 198,
199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
209, 210, 211, 212, 213, 214, 215, 216, 217, -1,
-1, 220, 221, 222, 223, 224, -1, 226, 227, 228,
-1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, -1, 255, 256, 257, 258,
-1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
-1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, -1, 331, 332, 333, 334, 335, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
-1, 350, 351, 352, 353, 354, -1, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
379, -1, 381, 382, -1, 384, 385, 386, 387, 388,
389, 390, -1, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, -1, 403, 404, 405, 406, 407, 408,
409, -1, -1, 412, 413, 414, 415, 416, -1, -1,
419, 420, 421, 422, 423, 424, 425, -1, 427, 428,
429, 430, 431, 432, -1, -1, 435, -1, -1, 438,
439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
-1, -1, -1, 37, 38, -1, 40, 41, 42, -1,
44, 45, 46, 47, 48, -1, 50, 51, -1, 53,
54, 55, 56, 57, 58, -1, -1, 61, 62, 63,
64, 65, 66, 67, 68, 69, 70, 71, -1, -1,
74, 75, 76, 77, 78, 79, -1, 81, 82, 83,
84, 85, 86, 87, 88, 89, 90, -1, -1, 93,
94, 95, -1, -1, -1, -1, -1, -1, -1, 103,
104, 105, 106, 107, 108, 109, 110, 111, -1, 113,
-1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, 145, 146, 147, 148, 149, 150, -1, 152, -1,
154, 155, 156, 157, -1, 159, 160, 161, -1, -1,
-1, 165, 166, 167, 168, -1, 170, 171, -1, 173,
174, 175, -1, 177, 178, 179, 180, 181, -1, 183,
184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
194, -1, 196, -1, 198, 199, 200, 201, 202, 203,
204, -1, 206, -1, 208, -1, -1, 211, -1, 213,
214, 215, 216, 217, -1, -1, 220, 221, -1, 223,
-1, -1, 226, 227, 228, -1, -1, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, 249, 250, 251, 252, 253,
-1, 255, 256, -1, 258, -1, 260, 261, 262, 263,
264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
-1, -1, 276, 277, 278, -1, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, -1, 331, 332, -1,
334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
354, -1, 356, 357, 358, 359, 360, -1, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 379, -1, 381, 382, -1,
384, -1, 386, 387, 388, 389, 390, -1, 392, 393,
394, -1, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, 408, 409, -1, 411, 412, 413,
414, 415, 416, -1, -1, 419, 420, 421, 422, 423,
424, 425, -1, 427, -1, 429, 430, 431, 432, -1,
-1, 435, -1, -1, 438, 439, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
-1, 50, 51, -1, 53, 54, 55, 56, 57, 58,
-1, -1, 61, 62, 63, 64, 65, 66, 67, 68,
69, 70, 71, -1, -1, -1, 75, 76, 77, 78,
79, -1, 81, 82, 83, 84, 85, 86, 87, 88,
89, 90, -1, -1, 93, 94, 95, -1, -1, -1,
-1, -1, -1, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
149, 150, -1, 152, -1, 154, 155, 156, 157, -1,
159, 160, 161, -1, -1, -1, 165, 166, 167, 168,
-1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
179, 180, 181, -1, 183, 184, 185, 186, -1, 188,
189, 190, 191, 192, 193, 194, -1, 196, -1, 198,
199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
-1, -1, 211, -1, 213, 214, 215, 216, 217, -1,
-1, 220, 221, -1, 223, 224, -1, 226, 227, 228,
-1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, -1,
249, 250, 251, 252, 253, -1, 255, 256, -1, 258,
-1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
-1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
-1, 280, -1, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, -1, 331, 332, -1, 334, 335, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
-1, 350, 351, 352, 353, 354, -1, 356, 357, 358,
359, 360, -1, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
379, -1, 381, 382, -1, 384, -1, 386, 387, 388,
389, 390, -1, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, -1, 403, 404, 405, 406, 407, 408,
409, -1, 411, 412, 413, 414, 415, 416, -1, -1,
419, 420, 421, 422, 423, 424, 425, -1, 427, -1,
429, 430, 431, 432, -1, -1, 435, -1, -1, 438,
439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, 26, 27, 28, 29, -1, -1, -1, -1,
-1, -1, -1, 37, 38, -1, 40, 41, 42, -1,
44, 45, 46, 47, 48, -1, 50, 51, -1, 53,
54, 55, 56, 57, 58, -1, -1, 61, 62, 63,
64, 65, -1, 67, 68, 69, 70, 71, -1, -1,
-1, 75, 76, 77, 78, 79, -1, 81, 82, 83,
-1, 85, 86, 87, 88, 89, 90, 91, -1, 93,
94, 95, -1, -1, -1, -1, -1, -1, -1, 103,
104, 105, 106, 107, 108, 109, 110, 111, -1, 113,
-1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, 145, 146, 147, 148, 149, 150, -1, 152, -1,
154, 155, 156, 157, -1, 159, -1, 161, -1, -1,
-1, 165, 166, 167, 168, 169, 170, 171, -1, 173,
174, 175, -1, 177, 178, 179, 180, 181, -1, 183,
184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
194, -1, 196, -1, 198, 199, 200, 201, 202, 203,
204, -1, 206, -1, 208, -1, -1, 211, -1, 213,
214, 215, 216, 217, -1, -1, 220, 221, -1, 223,
-1, -1, 226, 227, 228, -1, -1, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, 249, 250, 251, 252, 253,
-1, 255, 256, -1, 258, -1, 260, 261, 262, 263,
264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
-1, -1, 276, 277, 278, -1, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, -1, 331, 332, -1,
334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 348, 349, 350, 351, 352, 353,
354, -1, 356, 357, 358, 359, 360, -1, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 379, -1, 381, 382, -1,
384, -1, 386, 387, 388, 389, 390, -1, 392, 393,
394, -1, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, 408, 409, -1, -1, 412, 413,
414, 415, 416, -1, -1, 419, 420, 421, 422, 423,
424, 425, -1, 427, -1, 429, 430, 431, 432, -1,
-1, 435, -1, -1, 438, 439, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
-1, 50, 51, -1, 53, 54, 55, 56, 57, 58,
-1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
69, 70, 71, -1, -1, -1, 75, 76, 77, 78,
79, -1, 81, 82, 83, -1, 85, 86, 87, 88,
89, 90, 91, -1, 93, 94, 95, -1, -1, -1,
-1, -1, -1, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
149, 150, -1, 152, -1, 154, 155, 156, 157, -1,
159, -1, 161, -1, -1, -1, 165, 166, 167, 168,
169, 170, 171, -1, 173, 174, 175, -1, 177, 178,
179, 180, 181, -1, 183, 184, 185, 186, -1, 188,
189, 190, 191, 192, 193, 194, -1, 196, -1, 198,
199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
-1, -1, 211, -1, 213, 214, 215, 216, 217, -1,
-1, 220, 221, -1, 223, -1, -1, 226, 227, 228,
-1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, -1,
249, 250, 251, 252, 253, -1, 255, 256, -1, 258,
-1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
-1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
-1, 280, -1, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, -1, 331, 332, -1, 334, 335, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, -1, 356, 357, 358,
359, 360, -1, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
379, -1, 381, 382, -1, 384, -1, 386, 387, 388,
389, 390, -1, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, -1, 403, 404, 405, 406, 407, 408,
409, -1, -1, 412, 413, 414, 415, 416, -1, -1,
419, 420, 421, 422, 423, 424, 425, -1, 427, -1,
429, 430, 431, 432, -1, -1, 435, -1, -1, 438,
439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
-1, -1, -1, 37, 38, -1, 40, 41, 42, -1,
44, 45, 46, 47, 48, -1, 50, 51, -1, 53,
54, 55, 56, 57, 58, -1, -1, 61, 62, 63,
64, 65, 66, 67, 68, 69, 70, 71, -1, -1,
-1, 75, 76, 77, 78, 79, -1, 81, 82, 83,
84, 85, 86, 87, 88, 89, 90, -1, -1, 93,
94, 95, -1, -1, -1, -1, -1, -1, -1, 103,
104, 105, 106, 107, 108, 109, 110, 111, -1, 113,
-1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, 145, 146, 147, 148, 149, 150, -1, 152, -1,
154, 155, 156, 157, -1, 159, 160, 161, -1, -1,
-1, 165, 166, 167, 168, -1, 170, 171, -1, 173,
174, 175, -1, 177, 178, 179, 180, 181, -1, 183,
184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
194, -1, 196, -1, 198, 199, 200, 201, 202, 203,
204, -1, 206, -1, 208, -1, -1, 211, -1, 213,
214, 215, 216, 217, -1, -1, 220, 221, -1, 223,
-1, -1, 226, 227, 228, -1, -1, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, 249, 250, 251, 252, 253,
-1, 255, 256, -1, 258, -1, 260, 261, 262, 263,
264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
-1, -1, 276, 277, 278, -1, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, -1, 331, 332, -1,
334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
354, -1, 356, 357, 358, 359, 360, -1, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 379, -1, 381, 382, -1,
384, -1, 386, 387, 388, 389, 390, -1, 392, 393,
394, -1, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, 408, 409, -1, 411, 412, 413,
414, 415, 416, -1, -1, 419, 420, 421, 422, 423,
424, 425, -1, 427, -1, 429, 430, 431, 432, -1,
-1, 435, -1, -1, 438, 439, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
-1, 50, 51, -1, 53, 54, 55, 56, 57, 58,
-1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
69, 70, 71, -1, -1, -1, 75, 76, 77, 78,
79, -1, 81, 82, 83, -1, 85, 86, 87, 88,
89, 90, 91, -1, 93, 94, 95, -1, -1, -1,
-1, -1, -1, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
149, 150, -1, 152, -1, 154, 155, 156, 157, -1,
159, -1, 161, -1, -1, -1, 165, 166, 167, 168,
-1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
179, 180, 181, -1, 183, 184, 185, 186, -1, 188,
189, 190, 191, 192, 193, 194, -1, 196, -1, 198,
199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
-1, -1, 211, -1, 213, 214, 215, 216, 217, -1,
-1, 220, 221, -1, 223, -1, -1, 226, 227, 228,
-1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, -1,
249, 250, 251, 252, 253, -1, 255, 256, -1, 258,
-1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
-1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
-1, 280, -1, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, -1, 331, 332, -1, 334, 335, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, -1, 356, 357, 358,
359, 360, -1, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
379, -1, 381, 382, -1, 384, -1, 386, 387, 388,
389, 390, -1, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, -1, 403, 404, 405, 406, 407, 408,
409, -1, -1, 412, 413, 414, 415, 416, -1, -1,
419, 420, 421, 422, 423, 424, 425, -1, 427, -1,
429, 430, 431, 432, -1, -1, 435, -1, -1, 438,
439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, 26, 27, 28, 29, -1, -1, -1, -1,
-1, -1, -1, 37, 38, -1, 40, 41, 42, -1,
44, 45, 46, 47, 48, -1, 50, 51, -1, 53,
54, 55, 56, 57, 58, -1, -1, 61, 62, 63,
64, 65, -1, 67, 68, 69, 70, 71, -1, -1,
-1, 75, 76, 77, 78, 79, -1, 81, 82, 83,
-1, 85, 86, 87, 88, 89, 90, -1, -1, 93,
94, 95, -1, -1, -1, -1, -1, -1, -1, 103,
104, 105, 106, 107, 108, 109, 110, 111, -1, 113,
-1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, 145, 146, 147, 148, 149, 150, -1, 152, -1,
154, 155, 156, 157, -1, 159, 160, 161, -1, -1,
-1, 165, 166, 167, 168, -1, 170, 171, -1, 173,
174, 175, -1, 177, 178, 179, 180, 181, -1, 183,
184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
194, -1, 196, -1, 198, 199, 200, 201, 202, 203,
204, -1, 206, -1, 208, -1, -1, 211, -1, 213,
214, 215, 216, 217, -1, -1, 220, 221, -1, 223,
-1, -1, 226, 227, 228, -1, -1, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, 249, 250, 251, 252, 253,
-1, 255, 256, -1, 258, -1, 260, 261, 262, 263,
264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
-1, -1, 276, 277, 278, -1, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, -1, 331, 332, -1,
334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
354, -1, 356, 357, 358, 359, 360, -1, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 379, -1, 381, 382, 383,
384, -1, 386, 387, 388, 389, 390, -1, 392, 393,
394, -1, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, 408, 409, -1, -1, 412, 413,
414, 415, 416, -1, -1, 419, 420, 421, 422, 423,
424, 425, -1, 427, -1, 429, 430, 431, 432, -1,
-1, 435, -1, -1, 438, 439, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
-1, 50, 51, -1, 53, 54, 55, 56, 57, 58,
-1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
69, 70, 71, -1, -1, -1, 75, 76, 77, 78,
79, -1, 81, 82, 83, -1, 85, 86, 87, 88,
89, 90, 91, -1, 93, 94, 95, -1, -1, -1,
-1, -1, -1, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
149, 150, -1, 152, -1, 154, 155, 156, 157, -1,
159, -1, 161, -1, -1, -1, 165, 166, 167, 168,
-1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
179, 180, 181, -1, 183, 184, 185, 186, -1, 188,
189, 190, 191, 192, 193, 194, -1, 196, -1, 198,
199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
-1, -1, 211, -1, 213, 214, 215, 216, 217, -1,
-1, 220, 221, -1, 223, -1, -1, 226, 227, 228,
-1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, -1,
249, 250, 251, 252, 253, -1, 255, 256, -1, 258,
-1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
-1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
-1, 280, -1, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, -1, 331, 332, -1, 334, 335, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, -1, 356, 357, 358,
359, 360, -1, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
379, -1, 381, 382, -1, 384, -1, 386, 387, 388,
389, 390, -1, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, -1, 403, 404, 405, 406, 407, 408,
409, -1, -1, 412, 413, 414, 415, 416, -1, -1,
419, 420, 421, 422, 423, 424, 425, -1, 427, -1,
429, 430, 431, 432, -1, -1, 435, -1, -1, 438,
439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, 26, 27, 28, 29, -1, -1, -1, -1,
-1, -1, -1, 37, 38, -1, 40, 41, 42, -1,
44, 45, 46, 47, 48, -1, 50, 51, -1, 53,
54, 55, 56, 57, 58, -1, -1, 61, 62, 63,
64, 65, -1, 67, 68, 69, 70, 71, -1, -1,
-1, 75, 76, 77, 78, 79, -1, 81, 82, 83,
-1, 85, 86, 87, 88, 89, 90, -1, -1, 93,
94, 95, -1, -1, -1, -1, -1, -1, -1, 103,
104, 105, 106, 107, 108, 109, 110, 111, -1, 113,
-1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, 145, 146, 147, 148, 149, 150, -1, 152, -1,
154, 155, 156, 157, -1, 159, -1, 161, -1, -1,
-1, 165, 166, 167, 168, -1, 170, 171, -1, 173,
174, 175, -1, 177, 178, 179, 180, 181, -1, 183,
184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
194, -1, 196, -1, 198, 199, 200, 201, 202, 203,
204, -1, 206, -1, 208, -1, -1, 211, -1, 213,
214, 215, 216, 217, -1, -1, 220, 221, -1, 223,
-1, -1, 226, 227, 228, -1, -1, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, 249, 250, 251, 252, 253,
-1, 255, 256, -1, 258, -1, 260, 261, 262, 263,
264, 265, -1, 267, 268, -1, 270, 271, 272, 273,
-1, -1, 276, 277, 278, -1, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, -1, 331, 332, -1,
334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
354, -1, 356, 357, 358, 359, 360, -1, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 379, -1, 381, 382, -1,
384, -1, 386, 387, 388, 389, 390, -1, 392, 393,
394, -1, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, 408, 409, -1, -1, 412, 413,
414, 415, 416, -1, -1, 419, 420, 421, 422, 423,
424, 425, -1, 427, -1, 429, 430, 431, 432, -1,
-1, 435, -1, -1, 438, 439, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
-1, 50, 51, -1, 53, 54, 55, 56, 57, 58,
-1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
69, 70, 71, -1, -1, -1, 75, 76, 77, 78,
79, -1, 81, 82, 83, -1, 85, 86, 87, 88,
89, 90, -1, -1, 93, 94, 95, -1, -1, -1,
-1, -1, -1, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
149, 150, -1, 152, -1, 154, 155, 156, 157, -1,
159, -1, 161, -1, -1, -1, 165, 166, 167, 168,
-1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
179, 180, 181, -1, 183, 184, 185, 186, -1, 188,
189, 190, 191, 192, 193, 194, -1, 196, -1, 198,
199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
-1, -1, 211, -1, 213, 214, 215, 216, 217, -1,
-1, 220, 221, -1, 223, -1, -1, 226, 227, 228,
-1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, -1,
249, 250, 251, 252, 253, -1, 255, 256, -1, 258,
-1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
-1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
-1, 280, -1, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, -1, 331, 332, -1, 334, 335, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
-1, 350, 351, 352, 353, 354, -1, 356, 357, 358,
359, 360, -1, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
379, -1, 381, 382, -1, 384, -1, 386, 387, 388,
389, 390, -1, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, -1, 403, 404, 405, 406, 407, 408,
409, -1, -1, 412, 413, 414, 415, 416, 417, -1,
419, 420, 421, 422, 423, 424, 425, -1, 427, -1,
429, 430, 431, 432, -1, -1, 435, -1, -1, 438,
439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, 26, 27, 28, 29, -1, -1, -1, -1,
-1, -1, -1, 37, 38, -1, 40, 41, 42, -1,
44, 45, 46, 47, 48, -1, 50, 51, -1, 53,
54, 55, 56, 57, 58, -1, -1, 61, 62, 63,
64, 65, -1, 67, 68, 69, 70, 71, -1, -1,
-1, 75, 76, 77, 78, 79, -1, 81, 82, 83,
-1, 85, 86, 87, 88, 89, 90, -1, -1, 93,
94, 95, -1, -1, -1, -1, -1, -1, -1, 103,
104, 105, 106, 107, 108, 109, 110, 111, -1, 113,
-1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, 145, 146, 147, 148, 149, 150, -1, 152, -1,
154, 155, 156, 157, -1, 159, -1, 161, -1, -1,
-1, 165, 166, 167, 168, -1, 170, 171, -1, 173,
174, 175, -1, 177, 178, 179, 180, 181, -1, 183,
184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
194, -1, 196, -1, 198, 199, 200, 201, 202, 203,
204, -1, 206, -1, 208, -1, -1, 211, -1, 213,
214, 215, 216, 217, -1, -1, 220, 221, -1, 223,
-1, -1, 226, 227, 228, -1, -1, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, 249, 250, 251, 252, 253,
-1, 255, 256, -1, 258, -1, 260, 261, 262, 263,
264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
-1, -1, 276, 277, 278, -1, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, -1, 331, 332, -1,
334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
354, -1, 356, 357, 358, 359, 360, -1, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 379, -1, 381, 382, -1,
384, -1, 386, 387, 388, 389, 390, -1, 392, 393,
394, -1, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, 408, 409, -1, -1, 412, 413,
414, 415, 416, 417, -1, 419, 420, 421, 422, 423,
424, 425, -1, 427, -1, 429, 430, 431, 432, -1,
-1, 435, -1, -1, 438, 439, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
-1, 50, 51, -1, 53, 54, 55, 56, 57, 58,
-1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
69, 70, 71, -1, -1, -1, 75, 76, 77, 78,
79, -1, 81, 82, 83, -1, 85, 86, 87, 88,
89, 90, -1, -1, 93, 94, 95, -1, -1, -1,
-1, -1, -1, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
149, 150, -1, 152, -1, 154, 155, 156, 157, -1,
159, -1, 161, -1, -1, -1, 165, 166, 167, 168,
-1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
179, 180, 181, -1, 183, 184, 185, 186, -1, 188,
189, 190, 191, 192, 193, 194, -1, 196, -1, 198,
199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
-1, -1, 211, -1, 213, 214, 215, 216, 217, -1,
-1, 220, 221, -1, 223, -1, -1, 226, 227, 228,
-1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, -1,
249, 250, 251, 252, 253, -1, 255, 256, -1, 258,
-1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
-1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
-1, 280, -1, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, -1, 331, 332, -1, 334, 335, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
-1, 350, 351, 352, 353, 354, -1, 356, 357, 358,
359, 360, -1, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
379, -1, 381, 382, -1, 384, -1, 386, 387, 388,
389, 390, -1, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, -1, 403, 404, 405, 406, 407, 408,
409, -1, -1, 412, 413, 414, 415, 416, -1, -1,
419, 420, 421, 422, 423, 424, 425, -1, 427, -1,
429, 430, 431, 432, -1, -1, 435, -1, -1, 438,
439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, 26, 27, 28, 29, -1, -1, -1, -1,
-1, -1, -1, 37, 38, -1, 40, 41, 42, -1,
44, 45, 46, 47, 48, -1, 50, 51, -1, 53,
54, 55, 56, 57, 58, -1, -1, 61, 62, 63,
64, 65, -1, 67, 68, 69, 70, 71, -1, -1,
-1, 75, 76, 77, 78, 79, -1, 81, 82, 83,
-1, 85, 86, 87, 88, 89, 90, -1, -1, 93,
94, 95, -1, -1, -1, -1, -1, -1, -1, 103,
104, 105, 106, 107, 108, 109, 110, 111, -1, 113,
-1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, 145, 146, 147, 148, 149, 150, -1, 152, -1,
154, 155, 156, 157, -1, 159, -1, 161, -1, -1,
-1, 165, 166, 167, 168, -1, 170, 171, -1, 173,
174, 175, -1, 177, 178, 179, 180, 181, -1, 183,
184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
194, -1, 196, -1, 198, 199, 200, 201, 202, 203,
204, -1, 206, -1, 208, -1, -1, 211, -1, 213,
214, 215, 216, 217, -1, -1, 220, 221, -1, 223,
-1, -1, 226, 227, 228, -1, -1, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, 249, 250, 251, 252, 253,
-1, 255, 256, -1, 258, -1, 260, 261, 262, 263,
264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
-1, -1, 276, 277, 278, -1, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, -1, 331, 332, -1,
334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
354, -1, 356, 357, 358, 359, 360, -1, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 379, -1, 381, 382, -1,
384, -1, 386, 387, 388, 389, 390, -1, 392, 393,
394, -1, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, 408, 409, -1, -1, 412, 413,
414, 415, 416, -1, -1, 419, 420, 421, 422, 423,
424, 425, -1, 427, -1, 429, 430, 431, 432, -1,
-1, 435, -1, -1, 438, 439, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
-1, 50, 51, -1, 53, 54, 55, 56, 57, 58,
-1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
69, 70, 71, -1, -1, -1, 75, 76, 77, 78,
79, -1, 81, 82, 83, -1, 85, 86, 87, 88,
89, 90, -1, -1, 93, 94, 95, -1, -1, -1,
-1, -1, -1, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
149, 150, -1, 152, -1, 154, 155, 156, 157, -1,
159, -1, 161, -1, -1, -1, 165, 166, 167, 168,
-1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
179, 180, 181, -1, 183, 184, 185, 186, -1, 188,
189, 190, 191, 192, 193, 194, -1, 196, -1, 198,
199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
-1, -1, 211, -1, 213, 214, 215, 216, 217, -1,
-1, 220, 221, -1, 223, -1, -1, 226, 227, 228,
-1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, -1,
249, 250, 251, 252, 253, -1, 255, 256, -1, 258,
-1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
-1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
-1, 280, -1, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, -1, 331, 332, -1, 334, 335, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
-1, 350, 351, 352, 353, 354, -1, 356, 357, 358,
359, 360, -1, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
379, -1, 381, 382, -1, 384, -1, 386, 387, 388,
389, 390, -1, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, -1, 403, 404, 405, 406, 407, 408,
409, -1, -1, 412, 413, 414, 415, 416, -1, -1,
419, 420, 421, 422, 423, 424, 425, -1, 427, -1,
429, 430, 431, 432, -1, -1, 435, -1, -1, 438,
439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, 26, 27, 28, 29, -1, -1, -1, -1,
-1, -1, -1, 37, 38, -1, 40, 41, 42, -1,
44, 45, 46, 47, 48, -1, 50, 51, -1, 53,
54, 55, 56, 57, 58, -1, -1, 61, 62, 63,
64, 65, -1, 67, 68, 69, 70, 71, -1, -1,
-1, 75, 76, 77, 78, 79, -1, 81, 82, 83,
-1, 85, 86, 87, 88, 89, 90, -1, -1, 93,
94, 95, -1, -1, -1, -1, -1, -1, -1, 103,
104, 105, 106, 107, 108, 109, 110, 111, -1, 113,
-1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, 145, 146, 147, 148, 149, 150, -1, 152, -1,
154, 155, 156, 157, -1, 159, -1, 161, -1, -1,
-1, 165, 166, 167, 168, -1, 170, 171, -1, 173,
174, 175, -1, 177, 178, 179, 180, 181, -1, 183,
184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
194, -1, 196, -1, 198, 199, 200, 201, 202, 203,
204, -1, 206, -1, 208, -1, -1, 211, -1, 213,
214, 215, 216, 217, -1, -1, 220, 221, -1, 223,
-1, -1, 226, 227, 228, -1, -1, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, 249, 250, 251, 252, 253,
-1, 255, 256, -1, 258, -1, 260, 261, 262, 263,
264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
-1, -1, 276, 277, 278, -1, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, -1, 331, 332, -1,
334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
354, -1, 356, 357, 358, 359, 360, -1, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 379, -1, 381, 382, -1,
384, -1, 386, 387, 388, 389, 390, -1, 392, 393,
394, -1, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, 408, 409, -1, -1, 412, 413,
414, 415, 416, -1, -1, 419, 420, 421, 422, 423,
424, 425, -1, 427, -1, 429, 430, 431, 432, -1,
-1, 435, -1, -1, 438, 439, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
-1, 50, 51, -1, 53, 54, 55, 56, 57, 58,
-1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
69, 70, 71, -1, -1, -1, 75, 76, 77, 78,
79, -1, 81, 82, 83, -1, 85, 86, 87, 88,
89, 90, -1, -1, 93, 94, 95, -1, -1, -1,
-1, -1, -1, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
149, 150, -1, 152, -1, 154, 155, 156, 157, -1,
159, -1, 161, -1, -1, -1, 165, 166, 167, 168,
-1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
179, 180, 181, -1, 183, 184, 185, 186, -1, 188,
189, 190, 191, 192, 193, 194, -1, 196, -1, 198,
199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
-1, -1, 211, -1, 213, 214, 215, 216, 217, -1,
-1, 220, 221, -1, 223, -1, -1, 226, 227, 228,
-1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, -1,
249, 250, 251, 252, 253, -1, 255, 256, -1, 258,
-1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
-1, 270, 271, 272, 273, -1, -1, 276, 277, 278,
-1, 280, -1, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, -1, 331, 332, -1, 334, 335, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
-1, 350, 351, 352, 353, 354, -1, 356, 357, 358,
359, 360, -1, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
379, -1, 381, 382, -1, 384, -1, 386, 387, 388,
389, 390, -1, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, -1, 403, 404, 405, 406, 407, 408,
409, -1, -1, 412, 413, 414, 415, 416, -1, -1,
419, 420, 421, 422, 423, 424, 425, -1, 427, -1,
429, 430, 431, 432, -1, -1, 435, -1, -1, 438,
439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, 26, 27, 28, 29, -1, -1, -1, -1,
-1, -1, -1, 37, 38, -1, 40, 41, 42, -1,
44, 45, 46, 47, 48, -1, 50, 51, -1, 53,
54, 55, 56, 57, 58, -1, -1, 61, 62, 63,
64, 65, -1, 67, 68, 69, 70, 71, -1, -1,
-1, 75, 76, 77, 78, 79, -1, 81, 82, 83,
-1, 85, 86, 87, 88, 89, 90, -1, -1, 93,
94, 95, -1, -1, -1, -1, -1, -1, -1, 103,
104, 105, 106, 107, 108, 109, 110, 111, -1, 113,
-1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, 145, 146, 147, 148, 149, 150, -1, 152, -1,
154, 155, 156, 157, -1, 159, -1, 161, -1, -1,
-1, 165, 166, 167, 168, -1, 170, 171, -1, 173,
174, 175, -1, 177, 178, 179, 180, 181, -1, 183,
184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
194, -1, 196, -1, 198, 199, 200, 201, 202, 203,
204, -1, 206, -1, 208, -1, -1, 211, -1, 213,
214, 215, 216, 217, -1, -1, 220, 221, -1, 223,
-1, -1, 226, 227, 228, -1, -1, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, 249, 250, 251, 252, 253,
-1, 255, 256, -1, 258, -1, 260, 261, 262, 263,
264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
-1, -1, 276, 277, 278, -1, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, -1, 331, 332, -1,
334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
354, -1, 356, 357, 358, 359, 360, -1, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 379, -1, 381, 382, -1,
384, -1, 386, 387, 388, 389, 390, -1, 392, 393,
394, -1, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, 408, 409, -1, -1, 412, 413,
414, 415, 416, -1, -1, 419, 420, 421, 422, 423,
424, 425, -1, 427, -1, 429, 430, 431, 432, -1,
-1, 435, -1, -1, 438, 439, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
-1, 50, 51, -1, 53, 54, 55, 56, 57, 58,
-1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
69, 70, 71, -1, -1, -1, 75, 76, 77, 78,
79, -1, 81, 82, 83, -1, 85, 86, 87, 88,
89, 90, -1, -1, 93, 94, 95, -1, -1, -1,
-1, -1, -1, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
149, 150, -1, 152, -1, 154, 155, 156, 157, -1,
159, -1, 161, -1, -1, -1, 165, 166, 167, 168,
-1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
179, 180, 181, -1, 183, 184, 185, 186, -1, 188,
189, 190, 191, 192, 193, 194, -1, 196, -1, 198,
199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
-1, -1, 211, -1, 213, 214, 215, 216, 217, -1,
-1, 220, 221, -1, 223, -1, -1, 226, 227, 228,
-1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, -1,
249, 250, 251, 252, 253, -1, 255, 256, -1, 258,
-1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
-1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
-1, 280, -1, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, -1, 331, 332, -1, 334, 335, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
-1, 350, 351, 352, 353, 354, -1, 356, 357, 358,
359, 360, -1, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
379, -1, 381, 382, -1, 384, -1, 386, 387, 388,
389, 390, -1, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, -1, 403, 404, 405, 406, 407, 408,
409, -1, -1, 412, 413, 414, 415, 416, -1, -1,
419, 420, 421, 422, 423, 424, 425, -1, 427, -1,
429, 430, 431, 432, -1, -1, 435, -1, -1, 438,
439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, 26, 27, 28, 29, -1, -1, -1, -1,
-1, -1, -1, 37, 38, -1, 40, 41, 42, -1,
44, 45, 46, 47, 48, -1, 50, 51, -1, 53,
54, 55, 56, 57, 58, -1, -1, 61, 62, 63,
64, 65, -1, 67, 68, 69, 70, 71, -1, -1,
-1, 75, 76, 77, 78, 79, -1, 81, 82, 83,
-1, 85, 86, 87, 88, 89, 90, -1, -1, 93,
94, 95, -1, -1, -1, -1, -1, -1, -1, 103,
104, 105, 106, 107, 108, 109, 110, 111, -1, 113,
-1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, 145, 146, 147, 148, 149, 150, -1, 152, -1,
154, 155, 156, 157, -1, 159, -1, 161, -1, -1,
-1, 165, 166, 167, 168, -1, 170, 171, -1, 173,
174, 175, -1, 177, 178, 179, 180, 181, -1, 183,
184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
194, -1, 196, -1, 198, 199, 200, 201, 202, 203,
204, -1, 206, -1, 208, -1, -1, 211, -1, 213,
214, 215, 216, 217, -1, -1, 220, 221, -1, 223,
-1, -1, 226, 227, 228, -1, -1, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, 249, 250, 251, 252, 253,
-1, 255, 256, -1, 258, -1, 260, 261, 262, 263,
264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
-1, -1, 276, 277, 278, -1, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, -1, 331, 332, -1,
334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
354, -1, 356, 357, 358, 359, 360, -1, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 379, -1, 381, 382, -1,
384, -1, 386, 387, 388, 389, 390, -1, 392, 393,
394, -1, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, 408, 409, -1, -1, 412, 413,
414, 415, 416, -1, -1, 419, 420, 421, 422, 423,
424, 425, -1, 427, -1, 429, 430, 431, 432, -1,
-1, 435, -1, -1, 438, 439, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, 42, 43, 44, 45, 46, 47, 48,
-1, 50, 51, -1, 53, 54, 55, 56, 57, 58,
-1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
69, 70, 71, -1, -1, -1, 75, 76, 77, 78,
79, -1, 81, 82, 83, -1, 85, 86, 87, 88,
89, 90, -1, -1, 93, 94, 95, -1, -1, -1,
-1, -1, -1, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
149, 150, -1, 152, -1, 154, 155, 156, 157, -1,
159, -1, 161, -1, -1, -1, 165, 166, 167, 168,
-1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
179, 180, 181, -1, 183, 184, 185, 186, -1, 188,
189, 190, 191, 192, 193, 194, -1, 196, -1, 198,
199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
-1, -1, 211, -1, 213, 214, 215, 216, 217, -1,
-1, 220, 221, -1, 223, -1, -1, 226, 227, 228,
-1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, -1,
249, 250, 251, 252, 253, -1, 255, 256, -1, 258,
-1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
-1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
-1, 280, -1, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, -1, 331, 332, -1, 334, 335, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
-1, 350, 351, 352, 353, 354, -1, 356, 357, 358,
359, 360, -1, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
379, -1, 381, 382, -1, 384, -1, 386, 387, 388,
389, 390, -1, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, -1, 403, 404, 405, 406, 407, 408,
409, -1, -1, 412, 413, 414, 415, 416, -1, -1,
419, 420, 421, 422, 423, 424, 425, -1, 427, -1,
429, 430, 431, 432, -1, -1, 435, -1, -1, 438,
439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
-1, -1, -1, 37, 38, -1, 40, 41, 42, -1,
44, 45, 46, 47, 48, -1, 50, 51, -1, 53,
54, 55, 56, 57, 58, -1, -1, 61, 62, 63,
64, 65, -1, 67, 68, 69, 70, 71, -1, -1,
-1, 75, 76, 77, 78, 79, -1, 81, 82, 83,
-1, 85, 86, 87, 88, 89, 90, -1, -1, 93,
94, 95, -1, -1, -1, -1, -1, -1, -1, 103,
104, 105, 106, 107, 108, 109, 110, 111, -1, 113,
-1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, 145, 146, 147, 148, 149, 150, -1, 152, -1,
154, 155, 156, 157, -1, 159, -1, 161, -1, -1,
-1, 165, 166, 167, 168, -1, 170, 171, -1, 173,
174, 175, -1, 177, 178, 179, 180, 181, -1, 183,
184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
194, -1, 196, -1, 198, 199, 200, 201, 202, 203,
204, -1, 206, -1, 208, -1, -1, 211, -1, 213,
214, 215, 216, 217, -1, -1, 220, 221, -1, 223,
-1, -1, 226, 227, 228, -1, -1, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, 249, 250, 251, 252, 253,
-1, 255, 256, -1, 258, -1, 260, 261, 262, 263,
264, 265, -1, 267, 268, -1, 270, 271, 272, 273,
-1, -1, 276, 277, 278, -1, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, -1, 331, 332, -1,
334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
354, -1, 356, 357, 358, 359, 360, -1, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 379, -1, 381, 382, -1,
384, -1, 386, 387, 388, 389, 390, -1, 392, 393,
394, -1, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, 408, 409, -1, -1, 412, 413,
414, 415, 416, -1, -1, 419, 420, 421, 422, 423,
424, 425, -1, 427, -1, 429, 430, 431, 432, -1,
-1, 435, -1, -1, 438, 439, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
-1, 50, 51, -1, 53, 54, 55, 56, 57, 58,
-1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
69, 70, 71, -1, -1, -1, 75, 76, 77, 78,
79, -1, 81, 82, 83, -1, 85, 86, 87, 88,
89, 90, -1, -1, 93, 94, 95, -1, -1, -1,
-1, -1, -1, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
149, 150, -1, 152, -1, 154, 155, 156, 157, -1,
159, -1, 161, -1, -1, -1, 165, 166, 167, 168,
-1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
179, 180, 181, -1, 183, 184, 185, 186, -1, 188,
189, 190, 191, 192, 193, 194, -1, 196, -1, 198,
199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
-1, -1, 211, -1, 213, 214, 215, 216, 217, -1,
-1, 220, 221, -1, 223, -1, -1, 226, 227, 228,
-1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, -1,
249, 250, 251, 252, 253, -1, 255, 256, -1, 258,
-1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
-1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
-1, 280, -1, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, -1, 331, 332, -1, 334, 335, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
-1, 350, 351, 352, 353, 354, -1, 356, 357, 358,
359, 360, -1, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
379, -1, 381, 382, -1, 384, -1, 386, 387, 388,
389, 390, -1, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, -1, 403, 404, 405, 406, 407, 408,
409, -1, -1, 412, 413, 414, 415, 416, -1, -1,
419, 420, 421, 422, 423, 424, 425, -1, 427, -1,
429, 430, 431, 432, -1, -1, 435, -1, -1, 438,
439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, 26, 27, 28, 29, -1, -1, -1, -1,
-1, -1, -1, 37, 38, -1, 40, 41, 42, -1,
44, 45, 46, 47, 48, -1, 50, 51, -1, 53,
54, 55, 56, 57, 58, -1, -1, 61, 62, 63,
64, 65, -1, 67, 68, 69, 70, 71, -1, -1,
-1, 75, 76, 77, 78, 79, -1, 81, 82, 83,
-1, 85, 86, 87, 88, 89, 90, -1, -1, 93,
94, 95, -1, -1, -1, -1, -1, -1, -1, 103,
104, 105, 106, 107, 108, 109, 110, 111, -1, 113,
-1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, 145, 146, 147, 148, 149, 150, -1, 152, -1,
154, 155, 156, 157, -1, 159, -1, 161, -1, -1,
-1, 165, 166, 167, 168, -1, 170, 171, -1, 173,
174, 175, -1, 177, 178, 179, 180, 181, -1, 183,
184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
194, -1, 196, -1, 198, 199, 200, 201, 202, 203,
204, -1, 206, -1, 208, -1, -1, 211, -1, 213,
214, 215, 216, 217, -1, -1, 220, 221, -1, 223,
-1, -1, 226, 227, 228, -1, -1, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, 249, 250, 251, 252, 253,
-1, 255, 256, -1, 258, -1, 260, 261, 262, 263,
264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
-1, -1, 276, 277, 278, -1, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, -1, 331, 332, -1,
334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
354, -1, 356, 357, 358, 359, 360, -1, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 379, -1, 381, 382, -1,
384, -1, 386, 387, 388, 389, 390, -1, 392, 393,
394, -1, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, 408, 409, -1, -1, 412, 413,
414, 415, 416, -1, -1, 419, 420, 421, 422, 423,
424, 425, -1, 427, -1, 429, 430, 431, 432, -1,
-1, 435, -1, -1, 438, 439, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
-1, 50, 51, -1, 53, 54, 55, 56, 57, 58,
-1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
69, 70, 71, -1, -1, -1, 75, 76, 77, 78,
79, -1, 81, 82, 83, -1, 85, 86, 87, 88,
89, 90, -1, -1, 93, 94, 95, -1, -1, -1,
-1, -1, -1, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
149, 150, -1, 152, -1, 154, 155, 156, 157, -1,
159, -1, 161, -1, -1, -1, 165, 166, 167, 168,
-1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
179, 180, 181, -1, 183, 184, 185, 186, -1, 188,
189, 190, 191, 192, 193, 194, -1, 196, -1, 198,
199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
-1, -1, 211, -1, 213, 214, 215, 216, 217, -1,
-1, 220, 221, -1, 223, -1, -1, 226, 227, 228,
-1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, -1,
249, 250, 251, 252, 253, -1, 255, 256, -1, 258,
-1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
-1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
-1, 280, -1, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, -1, 331, 332, -1, 334, 335, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
-1, 350, 351, 352, 353, 354, -1, 356, 357, 358,
359, 360, -1, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
379, -1, 381, 382, 383, 384, -1, 386, 387, 388,
389, 390, -1, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, -1, 403, 404, 405, 406, 407, 408,
409, -1, -1, 412, 413, 414, 415, 416, -1, -1,
419, 420, 421, 422, 423, 424, 425, -1, 427, -1,
429, 430, 431, 432, -1, -1, 435, -1, -1, 438,
439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 3,
-1, 5, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
-1, -1, -1, 37, 38, -1, 40, 41, 42, -1,
44, 45, 46, 47, 48, -1, 50, 51, -1, 53,
54, 55, 56, 57, 58, -1, -1, 61, 62, 63,
64, 65, -1, 67, 68, 69, 70, 71, -1, -1,
-1, 75, 76, 77, 78, 79, -1, 81, 82, 83,
-1, 85, 86, 87, 88, 89, 90, -1, -1, 93,
94, 95, -1, -1, -1, -1, -1, -1, -1, 103,
104, 105, 106, 107, 108, 109, 110, 111, -1, 113,
-1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, 145, 146, 147, 148, 149, 150, -1, 152, -1,
154, 155, 156, 157, -1, 159, -1, 161, -1, -1,
-1, 165, 166, 167, 168, -1, 170, 171, -1, 173,
174, 175, -1, 177, 178, 179, 180, 181, -1, 183,
184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
194, -1, 196, -1, 198, 199, 200, 201, 202, 203,
204, -1, 206, -1, 208, -1, -1, 211, -1, 213,
214, 215, 216, 217, -1, -1, 220, 221, -1, 223,
-1, -1, 226, 227, 228, -1, -1, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, 249, 250, 251, 252, 253,
-1, 255, 256, -1, 258, -1, 260, 261, 262, 263,
264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
-1, -1, 276, 277, 278, -1, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, -1, 331, 332, -1,
334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
354, -1, 356, 357, 358, 359, 360, -1, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 379, -1, 381, 382, -1,
384, -1, 386, 387, 388, 389, 390, -1, 392, 393,
394, -1, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, 408, 409, -1, -1, 412, 413,
414, 415, 416, -1, -1, 419, 420, 421, 422, 423,
424, 425, -1, 427, -1, 429, 430, 431, 432, -1,
-1, 435, -1, -1, 438, 439, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 3, -1, -1, -1, -1, -1,
9, -1, -1, -1, -1, -1, -1, -1, -1, 18,
19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
-1, 50, 51, -1, 53, 54, 55, 56, 57, 58,
-1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
69, 70, 71, -1, -1, -1, 75, 76, 77, 78,
79, -1, 81, 82, 83, -1, 85, 86, 87, 88,
89, 90, -1, -1, 93, 94, 95, -1, -1, -1,
-1, -1, -1, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
149, 150, -1, 152, -1, 154, 155, 156, 157, -1,
159, -1, 161, -1, -1, -1, 165, 166, 167, 168,
-1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
179, 180, 181, -1, 183, 184, 185, 186, -1, 188,
189, 190, 191, 192, 193, 194, -1, 196, -1, 198,
199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
-1, -1, 211, -1, 213, 214, 215, 216, 217, -1,
-1, 220, 221, -1, 223, -1, -1, 226, 227, 228,
-1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, -1,
249, 250, 251, 252, 253, -1, 255, 256, -1, 258,
-1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
-1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
-1, 280, -1, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, -1, 331, 332, -1, 334, 335, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
-1, 350, 351, 352, 353, 354, -1, 356, 357, 358,
359, 360, -1, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
379, -1, 381, 382, -1, 384, -1, 386, 387, 388,
389, 390, -1, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, -1, 403, 404, 405, 406, 407, 408,
409, -1, -1, 412, 413, 414, 415, 416, -1, -1,
419, 420, 421, 422, 423, 424, 425, -1, 427, -1,
429, 430, 431, 432, -1, -1, 435, -1, -1, 438,
439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
-1, 35, -1, 37, 38, -1, 40, 41, 42, -1,
44, 45, 46, 47, 48, -1, 50, 51, -1, 53,
54, 55, 56, 57, 58, -1, -1, 61, 62, 63,
64, 65, -1, 67, 68, 69, 70, 71, -1, -1,
-1, 75, 76, 77, 78, 79, -1, 81, 82, 83,
-1, 85, 86, 87, 88, 89, 90, -1, -1, 93,
94, 95, -1, -1, -1, -1, -1, -1, -1, 103,
104, 105, 106, 107, 108, 109, 110, 111, -1, 113,
-1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, 145, 146, 147, 148, 149, 150, -1, 152, -1,
154, 155, 156, 157, -1, 159, -1, 161, -1, -1,
-1, 165, 166, 167, 168, -1, 170, 171, -1, 173,
174, 175, -1, 177, 178, 179, 180, 181, -1, 183,
184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
194, -1, 196, -1, 198, 199, 200, 201, 202, 203,
204, -1, 206, -1, 208, -1, -1, 211, -1, 213,
214, 215, 216, 217, -1, -1, 220, 221, -1, 223,
-1, -1, 226, 227, 228, -1, -1, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, 249, 250, 251, 252, 253,
-1, 255, 256, -1, 258, -1, 260, 261, 262, 263,
264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
-1, -1, 276, 277, 278, -1, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, -1, 331, 332, -1,
334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
354, -1, 356, 357, 358, 359, 360, -1, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 379, -1, 381, 382, -1,
384, -1, 386, 387, 388, 389, 390, -1, 392, 393,
394, -1, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, 408, 409, -1, -1, 412, 413,
414, 415, 416, -1, -1, 419, 420, 421, 422, 423,
424, 425, -1, 427, -1, 429, 430, 431, 432, -1,
-1, 435, -1, -1, 438, 439, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
29, -1, -1, -1, -1, -1, 35, -1, 37, 38,
-1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
-1, 50, 51, -1, 53, 54, 55, 56, 57, 58,
-1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
69, 70, 71, -1, -1, -1, 75, 76, 77, 78,
79, -1, 81, 82, 83, -1, 85, 86, 87, 88,
89, 90, -1, -1, 93, 94, 95, -1, -1, -1,
-1, -1, -1, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
149, 150, -1, 152, -1, 154, 155, 156, 157, -1,
159, -1, 161, -1, -1, -1, 165, 166, 167, 168,
-1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
179, 180, 181, -1, 183, 184, 185, 186, -1, 188,
189, 190, 191, 192, 193, 194, -1, 196, -1, 198,
199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
-1, -1, 211, -1, 213, 214, 215, 216, 217, -1,
-1, 220, 221, -1, 223, -1, -1, 226, 227, 228,
-1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, -1,
249, 250, 251, 252, 253, -1, 255, 256, -1, 258,
-1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
-1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
-1, 280, -1, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, -1, 331, 332, -1, 334, 335, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
-1, 350, 351, 352, 353, 354, -1, 356, 357, 358,
359, 360, -1, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
379, -1, 381, 382, -1, 384, -1, 386, 387, 388,
389, 390, -1, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, -1, 403, 404, 405, 406, 407, 408,
409, -1, -1, 412, 413, 414, 415, 416, -1, -1,
419, 420, 421, 422, 423, 424, 425, -1, 427, -1,
429, 430, 431, 432, -1, -1, 435, -1, -1, 438,
439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
-1, -1, -1, 37, 38, -1, 40, 41, 42, -1,
44, 45, 46, 47, 48, -1, 50, 51, -1, 53,
54, 55, 56, 57, 58, -1, -1, 61, 62, 63,
64, 65, -1, 67, 68, 69, 70, 71, -1, -1,
-1, 75, 76, 77, 78, 79, -1, 81, 82, 83,
-1, 85, 86, 87, 88, 89, 90, -1, -1, 93,
94, 95, -1, -1, -1, -1, -1, -1, -1, 103,
104, 105, 106, 107, 108, 109, 110, 111, -1, 113,
-1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, 145, 146, 147, 148, 149, 150, -1, 152, -1,
154, 155, 156, 157, -1, 159, -1, 161, -1, -1,
-1, 165, 166, 167, 168, -1, 170, 171, -1, 173,
174, 175, -1, 177, 178, 179, 180, 181, -1, 183,
184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
194, -1, 196, -1, 198, 199, 200, 201, 202, 203,
204, -1, 206, -1, 208, -1, -1, 211, -1, 213,
214, 215, 216, 217, -1, -1, 220, 221, -1, 223,
-1, -1, 226, 227, 228, -1, -1, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, 249, 250, 251, 252, 253,
-1, 255, 256, -1, 258, -1, 260, 261, 262, 263,
264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
-1, -1, 276, 277, 278, -1, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, -1, 331, 332, -1,
334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
354, -1, 356, 357, 358, 359, 360, -1, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 379, -1, 381, 382, -1,
384, -1, 386, 387, 388, 389, 390, -1, 392, 393,
394, -1, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, 408, 409, -1, -1, 412, 413,
414, 415, 416, -1, -1, 419, 420, 421, 422, 423,
424, 425, -1, 427, -1, 429, 430, 431, 432, -1,
-1, 435, -1, -1, 438, 439, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
-1, 50, 51, -1, 53, 54, 55, 56, 57, 58,
-1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
69, 70, 71, -1, -1, -1, 75, 76, 77, 78,
79, -1, 81, 82, 83, -1, 85, 86, 87, 88,
89, 90, -1, -1, 93, 94, 95, -1, -1, -1,
-1, -1, -1, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
149, 150, -1, 152, -1, 154, 155, 156, 157, -1,
159, -1, 161, -1, -1, -1, 165, 166, 167, 168,
-1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
179, 180, 181, -1, 183, 184, 185, 186, -1, 188,
189, 190, 191, 192, 193, 194, -1, 196, -1, 198,
199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
-1, -1, 211, -1, 213, 214, 215, 216, 217, -1,
-1, 220, 221, -1, 223, -1, -1, 226, 227, 228,
-1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, -1,
249, 250, 251, 252, 253, -1, 255, 256, -1, 258,
-1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
-1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
-1, 280, -1, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, -1, 331, 332, -1, 334, 335, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
-1, 350, 351, 352, 353, 354, -1, 356, 357, 358,
359, 360, -1, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
379, -1, 381, 382, -1, 384, -1, 386, 387, 388,
389, 390, -1, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, -1, 403, 404, 405, 406, 407, 408,
409, -1, -1, 412, 413, 414, 415, 416, -1, -1,
419, 420, 421, 422, 423, 424, 425, -1, 427, -1,
429, 430, 431, 432, -1, -1, 435, -1, -1, 438,
439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
-1, -1, -1, 37, 38, -1, 40, 41, 42, -1,
44, 45, 46, 47, 48, -1, 50, 51, -1, 53,
54, 55, 56, 57, 58, -1, -1, 61, 62, 63,
64, 65, -1, 67, 68, 69, 70, 71, -1, -1,
-1, 75, 76, 77, 78, 79, -1, 81, 82, 83,
-1, 85, 86, 87, 88, 89, 90, -1, -1, 93,
94, 95, -1, -1, -1, -1, -1, -1, -1, 103,
104, 105, 106, 107, 108, 109, 110, 111, -1, 113,
-1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, 145, 146, 147, 148, 149, 150, -1, 152, -1,
154, 155, 156, 157, -1, 159, -1, 161, -1, -1,
-1, 165, 166, 167, 168, -1, 170, 171, -1, 173,
174, 175, -1, 177, 178, 179, 180, 181, -1, 183,
184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
194, -1, 196, -1, 198, 199, 200, 201, 202, 203,
204, -1, 206, -1, 208, -1, -1, 211, -1, 213,
214, 215, 216, 217, -1, -1, 220, 221, -1, 223,
-1, -1, 226, 227, 228, -1, -1, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, 249, 250, 251, 252, 253,
-1, 255, 256, -1, 258, -1, 260, 261, 262, 263,
264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
-1, -1, 276, 277, 278, -1, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, -1, 331, 332, -1,
334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
354, -1, 356, 357, 358, 359, 360, -1, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 379, -1, 381, 382, -1,
384, -1, 386, 387, 388, 389, 390, -1, 392, 393,
394, -1, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, 408, 409, -1, -1, 412, 413,
414, 415, 416, -1, -1, 419, 420, 421, 422, 423,
424, 425, -1, 427, -1, 429, 430, 431, 432, -1,
-1, 435, -1, -1, 438, 439, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
-1, 50, 51, -1, 53, 54, 55, 56, 57, 58,
-1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
69, 70, 71, -1, -1, -1, 75, 76, 77, 78,
79, -1, 81, 82, 83, -1, 85, 86, 87, 88,
89, 90, -1, -1, 93, 94, 95, -1, -1, -1,
-1, -1, -1, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
149, 150, -1, 152, -1, 154, 155, 156, 157, -1,
159, -1, 161, -1, -1, -1, 165, 166, 167, 168,
-1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
179, 180, 181, -1, 183, 184, 185, 186, -1, 188,
189, 190, 191, 192, 193, 194, -1, 196, -1, 198,
199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
-1, -1, 211, -1, 213, 214, 215, 216, 217, -1,
-1, 220, 221, -1, 223, -1, -1, 226, 227, 228,
-1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, -1,
249, 250, 251, 252, 253, -1, 255, 256, -1, 258,
-1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
-1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
-1, 280, -1, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, -1, 331, 332, -1, 334, 335, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
-1, 350, 351, 352, 353, 354, -1, 356, 357, 358,
359, 360, -1, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
379, -1, 381, 382, -1, 384, -1, 386, 387, 388,
389, 390, -1, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, -1, 403, 404, 405, 406, 407, 408,
409, -1, -1, 412, 413, 414, 415, 416, -1, -1,
419, 420, 421, 422, 423, 424, 425, -1, 427, -1,
429, 430, 431, 432, -1, -1, 435, -1, -1, 438,
439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
-1, -1, -1, 37, 38, -1, 40, 41, 42, -1,
44, 45, 46, 47, 48, -1, 50, 51, -1, 53,
54, 55, 56, 57, 58, -1, -1, 61, 62, 63,
64, 65, -1, 67, 68, 69, 70, 71, -1, -1,
-1, 75, 76, 77, 78, 79, -1, 81, 82, 83,
-1, 85, 86, 87, 88, 89, 90, -1, -1, 93,
94, 95, -1, -1, -1, -1, -1, -1, -1, 103,
104, 105, 106, 107, 108, 109, 110, 111, -1, 113,
-1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, 145, 146, 147, 148, 149, 150, -1, 152, -1,
154, 155, 156, 157, -1, 159, -1, 161, -1, -1,
-1, 165, 166, 167, 168, -1, 170, 171, -1, 173,
174, 175, -1, 177, 178, 179, 180, 181, -1, 183,
184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
194, -1, 196, -1, 198, 199, 200, 201, 202, 203,
204, -1, 206, -1, 208, -1, -1, 211, -1, 213,
214, 215, 216, 217, -1, -1, 220, 221, -1, 223,
-1, -1, 226, 227, 228, -1, -1, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, 249, 250, 251, 252, 253,
-1, 255, 256, -1, 258, -1, 260, 261, 262, 263,
264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
-1, -1, 276, 277, 278, -1, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, -1, 331, 332, -1,
334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
354, -1, 356, 357, 358, 359, 360, -1, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 379, -1, 381, 382, -1,
384, -1, 386, 387, 388, 389, 390, -1, 392, 393,
394, -1, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, 408, 409, -1, -1, 412, 413,
414, 415, 416, -1, -1, 419, 420, 421, 422, 423,
424, 425, -1, 427, -1, 429, 430, 431, 432, -1,
-1, 435, -1, -1, 438, 439, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
-1, 50, 51, -1, 53, 54, 55, 56, 57, 58,
-1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
69, 70, 71, -1, -1, -1, 75, 76, 77, 78,
79, -1, 81, 82, 83, -1, 85, 86, 87, 88,
89, 90, -1, -1, 93, 94, 95, -1, -1, -1,
-1, -1, -1, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
149, 150, -1, 152, -1, 154, 155, 156, 157, -1,
159, -1, 161, -1, -1, -1, 165, 166, 167, 168,
-1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
179, 180, 181, -1, 183, 184, 185, 186, -1, 188,
189, 190, 191, 192, 193, 194, -1, 196, -1, 198,
199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
-1, -1, 211, -1, 213, 214, 215, 216, 217, -1,
-1, 220, 221, -1, 223, -1, -1, 226, 227, 228,
-1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, -1,
249, 250, 251, 252, 253, -1, 255, 256, -1, 258,
-1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
-1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
-1, 280, -1, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, -1, 331, 332, -1, 334, 335, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
-1, 350, 351, 352, 353, 354, -1, 356, 357, 358,
359, 360, -1, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
379, -1, 381, 382, -1, 384, -1, 386, 387, 388,
389, 390, -1, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, -1, 403, 404, 405, 406, 407, 408,
409, -1, -1, 412, 413, 414, 415, 416, -1, -1,
419, 420, 421, 422, 423, 424, 425, -1, 427, -1,
429, 430, 431, 432, -1, -1, 435, -1, -1, 438,
439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
-1, -1, -1, 37, 38, -1, 40, 41, 42, -1,
44, 45, 46, 47, 48, -1, 50, 51, -1, 53,
54, 55, 56, 57, 58, -1, -1, 61, 62, 63,
64, 65, -1, 67, 68, 69, 70, 71, -1, -1,
-1, 75, 76, 77, 78, 79, -1, 81, 82, 83,
-1, 85, 86, 87, 88, 89, 90, -1, -1, 93,
94, 95, -1, -1, -1, -1, -1, -1, -1, 103,
104, 105, 106, 107, 108, 109, 110, 111, -1, 113,
-1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, 145, 146, 147, 148, 149, 150, -1, 152, -1,
154, 155, 156, 157, -1, 159, -1, 161, -1, -1,
-1, 165, 166, 167, 168, -1, 170, 171, -1, 173,
174, 175, -1, 177, 178, 179, 180, 181, -1, 183,
184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
194, -1, 196, -1, 198, 199, 200, 201, 202, 203,
204, -1, 206, -1, 208, -1, -1, 211, -1, 213,
214, 215, 216, 217, -1, -1, 220, 221, -1, 223,
-1, -1, 226, 227, 228, -1, -1, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, 249, 250, 251, 252, 253,
-1, 255, 256, -1, 258, -1, 260, 261, 262, 263,
264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
-1, -1, 276, 277, 278, -1, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, -1, 331, 332, -1,
334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
354, -1, 356, 357, 358, 359, 360, -1, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 379, -1, 381, 382, -1,
384, -1, 386, 387, 388, 389, 390, -1, 392, 393,
394, -1, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, 408, 409, -1, -1, 412, 413,
414, 415, 416, -1, -1, 419, 420, 421, 422, 423,
424, 425, -1, 427, -1, 429, 430, 431, 432, -1,
-1, 435, -1, -1, 438, 439, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
-1, 50, 51, -1, 53, 54, 55, 56, 57, 58,
-1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
69, 70, 71, -1, -1, -1, 75, 76, 77, 78,
79, -1, 81, 82, 83, -1, 85, 86, 87, 88,
89, 90, -1, -1, 93, 94, 95, -1, -1, -1,
-1, -1, -1, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
149, 150, -1, 152, -1, 154, 155, 156, 157, -1,
159, -1, 161, -1, -1, -1, 165, 166, 167, 168,
-1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
179, 180, 181, -1, 183, 184, 185, 186, -1, 188,
189, 190, 191, 192, 193, 194, -1, 196, -1, 198,
199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
-1, -1, 211, -1, 213, 214, 215, 216, 217, -1,
-1, 220, 221, -1, 223, -1, -1, 226, 227, 228,
-1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, -1,
249, 250, 251, 252, 253, -1, 255, 256, -1, 258,
-1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
-1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
-1, 280, -1, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, -1, 331, 332, -1, 334, 335, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
-1, 350, 351, 352, 353, 354, -1, 356, 357, 358,
359, 360, -1, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
379, -1, 381, 382, -1, 384, -1, 386, 387, 388,
389, 390, -1, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, -1, 403, 404, 405, 406, 407, 408,
409, -1, -1, 412, 413, 414, 415, 416, -1, -1,
419, 420, 421, 422, 423, 424, 425, -1, 427, -1,
429, 430, 431, 432, -1, -1, 435, -1, -1, 438,
439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
-1, -1, -1, 37, 38, -1, 40, 41, 42, -1,
44, 45, 46, 47, 48, -1, 50, 51, -1, 53,
54, 55, 56, 57, 58, -1, -1, 61, 62, 63,
64, 65, -1, 67, 68, 69, 70, 71, -1, -1,
-1, 75, 76, 77, 78, 79, -1, 81, 82, 83,
-1, 85, 86, 87, 88, 89, 90, -1, -1, 93,
94, 95, -1, -1, -1, -1, -1, -1, -1, 103,
104, 105, 106, 107, 108, 109, 110, 111, -1, 113,
-1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, 145, 146, 147, 148, 149, 150, -1, 152, -1,
154, 155, 156, 157, -1, 159, -1, 161, -1, -1,
-1, 165, 166, 167, 168, -1, 170, 171, -1, 173,
174, 175, -1, 177, 178, 179, 180, 181, -1, 183,
184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
194, -1, 196, -1, 198, 199, 200, 201, 202, 203,
204, -1, 206, -1, 208, -1, -1, 211, -1, 213,
214, 215, 216, 217, -1, -1, 220, 221, -1, 223,
-1, -1, 226, 227, 228, -1, -1, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, 249, 250, 251, 252, 253,
-1, 255, 256, -1, 258, -1, 260, 261, 262, 263,
264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
-1, -1, 276, 277, 278, -1, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, -1, 331, 332, -1,
334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
354, -1, 356, 357, 358, 359, 360, -1, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 379, -1, 381, 382, -1,
384, -1, 386, 387, 388, 389, 390, -1, 392, 393,
394, -1, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, 408, 409, -1, -1, 412, 413,
414, 415, 416, -1, -1, 419, 420, 421, 422, 423,
424, 425, -1, 427, -1, 429, 430, 431, 432, -1,
-1, 435, -1, -1, 438, 439, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
-1, 50, 51, -1, 53, 54, 55, 56, 57, 58,
-1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
69, 70, 71, -1, -1, -1, 75, 76, 77, 78,
79, -1, 81, 82, 83, -1, 85, 86, 87, 88,
89, 90, -1, -1, 93, 94, 95, -1, -1, -1,
-1, -1, -1, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
149, 150, -1, 152, -1, 154, 155, 156, 157, -1,
159, -1, 161, -1, -1, -1, 165, 166, 167, 168,
-1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
179, 180, 181, -1, 183, 184, 185, 186, -1, 188,
189, 190, 191, 192, 193, 194, -1, 196, -1, 198,
199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
-1, -1, 211, -1, 213, 214, 215, 216, 217, -1,
-1, 220, 221, -1, 223, -1, -1, 226, 227, 228,
-1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, -1,
249, 250, 251, 252, 253, -1, 255, 256, -1, 258,
-1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
-1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
-1, 280, -1, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, -1, 331, 332, -1, 334, 335, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
-1, 350, 351, 352, 353, 354, -1, 356, 357, 358,
359, 360, -1, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
379, -1, 381, 382, -1, 384, -1, 386, 387, 388,
389, 390, -1, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, -1, 403, 404, 405, 406, 407, 408,
409, -1, -1, 412, 413, 414, 415, 416, -1, -1,
419, 420, 421, 422, 423, 424, 425, -1, 427, -1,
429, 430, 431, 432, -1, -1, 435, -1, -1, 438,
439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
-1, -1, -1, 37, 38, -1, 40, 41, 42, -1,
44, 45, 46, 47, 48, -1, 50, 51, -1, 53,
54, 55, 56, 57, 58, -1, -1, 61, 62, 63,
64, 65, -1, 67, 68, 69, 70, 71, -1, -1,
-1, 75, 76, 77, 78, 79, -1, 81, 82, 83,
-1, 85, 86, 87, 88, 89, 90, -1, -1, 93,
94, 95, -1, -1, -1, -1, -1, -1, -1, 103,
104, 105, 106, 107, 108, 109, 110, 111, -1, 113,
-1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, 145, 146, 147, 148, 149, 150, -1, 152, -1,
154, 155, 156, 157, -1, 159, -1, 161, -1, -1,
-1, 165, 166, 167, 168, -1, 170, 171, -1, 173,
174, 175, -1, 177, 178, 179, 180, 181, -1, 183,
184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
194, -1, 196, -1, 198, 199, 200, 201, 202, 203,
204, -1, 206, -1, 208, -1, -1, 211, -1, 213,
214, 215, 216, 217, -1, -1, 220, 221, -1, 223,
-1, -1, 226, 227, 228, -1, -1, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, 249, 250, 251, 252, 253,
-1, 255, 256, -1, 258, -1, 260, 261, 262, 263,
264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
-1, -1, 276, 277, 278, -1, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, -1, 331, 332, -1,
334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
354, -1, 356, 357, 358, 359, 360, -1, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 379, -1, 381, 382, -1,
384, -1, 386, 387, 388, 389, 390, -1, 392, 393,
394, -1, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, 408, 409, -1, -1, 412, 413,
414, 415, 416, -1, -1, 419, 420, 421, 422, 423,
424, 425, -1, 427, -1, 429, 430, 431, 432, -1,
-1, 435, -1, -1, 438, 439, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
-1, 50, 51, -1, 53, 54, 55, 56, 57, 58,
-1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
69, 70, 71, -1, -1, -1, 75, 76, 77, 78,
79, -1, 81, 82, 83, -1, 85, 86, 87, 88,
89, 90, -1, -1, 93, 94, 95, -1, -1, -1,
-1, -1, -1, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
149, 150, -1, 152, -1, 154, 155, 156, 157, -1,
159, -1, 161, -1, -1, -1, 165, 166, 167, 168,
-1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
179, 180, 181, -1, 183, 184, 185, 186, -1, 188,
189, 190, 191, 192, 193, 194, -1, 196, -1, 198,
199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
-1, -1, 211, -1, 213, 214, 215, 216, 217, -1,
-1, 220, 221, -1, 223, -1, -1, 226, 227, 228,
-1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, -1,
249, 250, 251, 252, 253, -1, 255, 256, -1, 258,
-1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
-1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
-1, 280, -1, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, -1, 331, 332, -1, 334, 335, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
-1, 350, 351, 352, 353, 354, -1, 356, 357, 358,
359, 360, -1, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
379, -1, 381, 382, -1, 384, -1, 386, 387, 388,
389, 390, -1, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, -1, 403, 404, 405, 406, 407, 408,
409, -1, -1, 412, 413, 414, 415, 416, -1, -1,
419, 420, 421, 422, 423, 424, 425, -1, 427, -1,
429, 430, 431, 432, -1, -1, 435, -1, -1, 438,
439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
-1, -1, -1, 37, 38, -1, 40, 41, 42, -1,
44, 45, 46, 47, 48, -1, 50, 51, -1, 53,
54, 55, 56, 57, 58, -1, -1, 61, 62, 63,
64, 65, -1, 67, 68, 69, 70, 71, -1, -1,
-1, 75, 76, 77, 78, 79, -1, 81, 82, 83,
-1, 85, 86, 87, 88, 89, 90, -1, -1, 93,
94, 95, -1, -1, -1, -1, -1, -1, -1, 103,
104, 105, 106, 107, 108, 109, 110, 111, -1, 113,
-1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, 145, 146, 147, 148, 149, 150, -1, 152, -1,
154, 155, 156, 157, -1, 159, -1, 161, -1, -1,
-1, 165, 166, 167, 168, -1, 170, 171, -1, 173,
174, 175, -1, 177, 178, 179, 180, 181, -1, 183,
184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
194, -1, 196, -1, 198, 199, 200, 201, 202, 203,
204, -1, 206, -1, 208, -1, -1, 211, -1, 213,
214, 215, 216, 217, -1, -1, 220, 221, -1, 223,
-1, -1, 226, 227, 228, -1, -1, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, 249, 250, 251, 252, 253,
-1, 255, 256, -1, 258, -1, 260, 261, 262, 263,
264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
-1, -1, 276, 277, 278, -1, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, -1, 331, 332, -1,
334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
354, -1, 356, 357, 358, 359, 360, -1, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 379, -1, 381, 382, -1,
384, -1, 386, 387, 388, 389, 390, -1, 392, 393,
394, -1, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, 408, 409, -1, -1, 412, 413,
414, 415, 416, -1, -1, 419, 420, 421, 422, 423,
424, 425, -1, 427, -1, 429, 430, 431, 432, -1,
-1, 435, -1, -1, 438, 439, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
-1, 50, 51, -1, 53, 54, 55, 56, 57, 58,
-1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
69, 70, 71, -1, -1, -1, 75, 76, 77, 78,
79, -1, 81, 82, 83, -1, 85, 86, 87, 88,
89, 90, -1, -1, 93, 94, 95, -1, -1, -1,
-1, -1, -1, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
149, 150, -1, 152, -1, 154, 155, 156, 157, -1,
159, -1, 161, -1, -1, -1, 165, 166, 167, 168,
-1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
179, 180, 181, -1, 183, 184, 185, 186, -1, 188,
189, 190, 191, 192, 193, 194, -1, 196, -1, 198,
199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
-1, -1, 211, -1, 213, 214, 215, 216, 217, -1,
-1, 220, 221, -1, 223, -1, -1, 226, 227, 228,
-1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, -1,
249, 250, 251, 252, 253, -1, 255, 256, -1, 258,
-1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
-1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
-1, 280, -1, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, -1, 331, 332, -1, 334, 335, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
-1, 350, 351, 352, 353, 354, -1, 356, 357, 358,
359, 360, -1, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
379, -1, 381, 382, -1, 384, -1, 386, 387, 388,
389, 390, -1, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, -1, 403, 404, 405, 406, 407, 408,
409, -1, -1, 412, 413, 414, 415, 416, -1, -1,
419, 420, 421, 422, 423, 424, 425, -1, 427, -1,
429, 430, 431, 432, -1, -1, 435, -1, -1, 438,
439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
-1, -1, -1, 37, 38, -1, 40, 41, 42, -1,
44, 45, 46, 47, 48, -1, 50, 51, -1, 53,
54, 55, 56, 57, 58, -1, -1, 61, 62, 63,
64, 65, -1, 67, 68, 69, 70, 71, -1, -1,
-1, 75, 76, 77, 78, 79, -1, 81, 82, 83,
-1, 85, 86, 87, 88, 89, 90, -1, -1, 93,
94, 95, -1, -1, -1, -1, -1, -1, -1, 103,
104, 105, 106, 107, 108, 109, 110, 111, -1, 113,
-1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, 145, 146, 147, 148, 149, 150, -1, 152, -1,
154, 155, 156, 157, -1, 159, -1, 161, -1, -1,
-1, 165, 166, 167, 168, -1, 170, 171, -1, 173,
174, 175, -1, 177, 178, 179, 180, 181, -1, 183,
184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
194, -1, 196, -1, 198, 199, 200, 201, 202, 203,
204, -1, 206, -1, 208, -1, -1, 211, -1, 213,
214, 215, 216, 217, -1, -1, 220, 221, -1, 223,
-1, -1, 226, 227, 228, -1, -1, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, 249, 250, 251, 252, 253,
-1, 255, 256, -1, 258, -1, 260, 261, 262, 263,
264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
-1, -1, 276, 277, 278, -1, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, -1, 331, 332, -1,
334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
354, -1, 356, 357, 358, 359, 360, -1, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 379, -1, 381, 382, -1,
384, -1, 386, 387, 388, 389, 390, -1, 392, 393,
394, -1, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, 408, 409, -1, -1, 412, 413,
414, 415, 416, -1, -1, 419, 420, 421, 422, 423,
424, 425, -1, 427, -1, 429, 430, 431, 432, -1,
-1, 435, -1, -1, 438, 439, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
-1, 50, 51, -1, 53, 54, 55, 56, 57, 58,
-1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
69, 70, 71, -1, -1, -1, 75, 76, 77, 78,
79, -1, 81, 82, 83, -1, 85, 86, 87, 88,
89, 90, -1, -1, 93, 94, 95, -1, -1, -1,
-1, -1, -1, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
149, 150, -1, 152, -1, 154, 155, 156, 157, -1,
159, -1, 161, -1, -1, -1, 165, 166, 167, 168,
-1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
179, 180, 181, -1, 183, 184, 185, 186, -1, 188,
189, 190, 191, 192, 193, 194, -1, 196, -1, 198,
199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
-1, -1, 211, -1, 213, 214, 215, 216, 217, -1,
-1, 220, 221, -1, 223, -1, -1, 226, 227, 228,
-1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, -1,
249, 250, 251, 252, 253, -1, 255, 256, -1, 258,
-1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
-1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
-1, 280, -1, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, -1, 331, 332, -1, 334, 335, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
-1, 350, 351, 352, 353, 354, -1, 356, 357, 358,
359, 360, -1, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
379, -1, 381, 382, -1, 384, -1, 386, 387, 388,
389, 390, -1, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, -1, 403, 404, 405, 406, 407, 408,
409, -1, -1, 412, 413, 414, 415, 416, -1, -1,
419, 420, 421, 422, 423, 424, 425, -1, 427, -1,
429, 430, 431, 432, -1, -1, 435, -1, -1, 438,
439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
-1, -1, -1, 37, 38, -1, 40, 41, 42, -1,
44, 45, 46, 47, 48, -1, 50, 51, -1, 53,
54, 55, 56, 57, 58, -1, -1, 61, 62, 63,
64, 65, -1, 67, 68, 69, 70, 71, -1, -1,
-1, 75, 76, 77, 78, 79, -1, 81, 82, 83,
-1, 85, 86, 87, 88, 89, 90, -1, -1, 93,
94, 95, -1, -1, -1, -1, -1, -1, -1, 103,
104, 105, 106, 107, 108, 109, 110, 111, -1, 113,
-1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, 145, 146, 147, 148, 149, 150, -1, 152, -1,
154, 155, 156, 157, -1, 159, -1, 161, -1, -1,
-1, 165, 166, 167, 168, -1, 170, 171, -1, 173,
174, 175, -1, 177, 178, 179, 180, 181, -1, 183,
184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
194, -1, 196, -1, 198, 199, 200, 201, 202, 203,
204, -1, 206, -1, 208, -1, -1, 211, -1, 213,
214, 215, 216, 217, -1, -1, 220, 221, -1, 223,
-1, -1, 226, 227, 228, -1, -1, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, 249, 250, 251, 252, 253,
-1, 255, 256, -1, 258, -1, 260, 261, 262, 263,
264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
-1, -1, 276, 277, 278, -1, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, -1, 331, 332, -1,
334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
354, -1, 356, 357, 358, 359, 360, -1, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 379, -1, 381, 382, -1,
384, -1, 386, 387, 388, 389, 390, -1, 392, 393,
394, -1, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, 408, 409, -1, -1, 412, 413,
414, 415, 416, -1, -1, 419, 420, 421, 422, 423,
424, 425, -1, 427, -1, 429, 430, 431, 432, -1,
-1, 435, -1, -1, 438, 439, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
-1, 50, 51, -1, 53, 54, 55, 56, 57, 58,
-1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
69, 70, 71, -1, -1, -1, 75, 76, 77, 78,
79, -1, 81, 82, 83, -1, 85, 86, 87, 88,
89, 90, -1, -1, 93, 94, 95, -1, -1, -1,
-1, -1, -1, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
149, 150, -1, 152, -1, 154, 155, 156, 157, -1,
159, -1, 161, -1, -1, -1, 165, 166, 167, 168,
-1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
179, 180, 181, -1, 183, 184, 185, 186, -1, 188,
189, 190, 191, 192, 193, 194, -1, 196, -1, 198,
199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
-1, -1, 211, -1, 213, 214, 215, 216, 217, -1,
-1, 220, 221, -1, 223, -1, -1, 226, 227, 228,
-1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, -1,
249, 250, 251, 252, 253, -1, 255, 256, -1, 258,
-1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
-1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
-1, 280, -1, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, -1, 331, 332, -1, 334, 335, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
-1, 350, 351, 352, 353, 354, -1, 356, 357, 358,
359, 360, -1, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
379, -1, 381, 382, -1, 384, -1, 386, 387, 388,
389, 390, -1, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, -1, 403, 404, 405, 406, 407, 408,
409, -1, -1, 412, 413, 414, 415, 416, -1, -1,
419, 420, 421, 422, 423, 424, 425, -1, 427, -1,
429, 430, 431, 432, -1, -1, 435, -1, -1, 438,
439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
-1, -1, -1, 37, 38, -1, 40, 41, 42, -1,
44, 45, 46, 47, 48, -1, 50, 51, -1, 53,
54, 55, 56, 57, 58, -1, -1, 61, 62, 63,
64, 65, -1, 67, 68, 69, 70, 71, -1, -1,
-1, 75, 76, 77, 78, 79, -1, 81, 82, 83,
-1, 85, 86, 87, 88, 89, 90, -1, -1, 93,
94, 95, -1, -1, -1, -1, -1, -1, -1, 103,
104, 105, 106, 107, 108, 109, 110, 111, -1, 113,
-1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, 145, 146, 147, 148, 149, 150, -1, 152, -1,
154, 155, 156, 157, -1, 159, -1, 161, -1, -1,
-1, 165, 166, 167, 168, -1, 170, 171, -1, 173,
174, 175, -1, 177, 178, 179, 180, 181, -1, 183,
184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
194, -1, 196, -1, 198, 199, 200, 201, 202, 203,
204, -1, 206, -1, 208, -1, -1, 211, -1, 213,
214, 215, 216, 217, -1, -1, 220, 221, -1, 223,
-1, -1, 226, 227, 228, -1, -1, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, 249, 250, 251, 252, 253,
-1, 255, 256, -1, 258, -1, 260, 261, 262, 263,
264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
-1, -1, 276, 277, 278, -1, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, -1, 331, 332, -1,
334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
354, -1, 356, 357, 358, 359, 360, -1, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 379, -1, 381, 382, -1,
384, -1, 386, 387, 388, 389, 390, -1, 392, 393,
394, -1, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, 408, 409, -1, -1, 412, 413,
414, 415, 416, -1, -1, 419, 420, 421, 422, 423,
424, 425, -1, 427, -1, 429, 430, 431, 432, -1,
-1, 435, -1, -1, 438, 439, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
-1, 50, 51, -1, 53, 54, 55, 56, 57, 58,
-1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
69, 70, 71, -1, -1, -1, 75, 76, 77, 78,
79, -1, 81, 82, 83, -1, 85, 86, 87, 88,
89, 90, -1, -1, 93, 94, 95, -1, -1, -1,
-1, -1, -1, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
149, 150, -1, 152, -1, 154, 155, 156, 157, -1,
159, -1, 161, -1, -1, -1, 165, 166, 167, 168,
-1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
179, 180, 181, -1, 183, 184, 185, 186, -1, 188,
189, 190, 191, 192, 193, 194, -1, 196, -1, 198,
199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
-1, -1, 211, -1, 213, 214, 215, 216, 217, -1,
-1, 220, 221, -1, 223, -1, -1, 226, 227, 228,
-1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, -1,
249, 250, 251, 252, 253, -1, 255, 256, -1, 258,
-1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
-1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
-1, 280, -1, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, -1, 331, 332, -1, 334, 335, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
-1, 350, 351, 352, 353, 354, -1, 356, 357, 358,
359, 360, -1, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
379, -1, 381, 382, -1, 384, -1, 386, 387, 388,
389, 390, -1, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, -1, 403, 404, 405, 406, 407, 408,
409, -1, -1, 412, 413, 414, 415, 416, -1, -1,
419, 420, 421, 422, 423, 424, 425, -1, 427, -1,
429, 430, 431, 432, -1, -1, 435, -1, -1, 438,
439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
-1, -1, -1, 37, 38, -1, 40, 41, 42, -1,
44, 45, 46, 47, 48, -1, 50, 51, -1, 53,
54, 55, 56, 57, 58, -1, -1, 61, 62, 63,
64, 65, -1, 67, 68, 69, 70, 71, -1, -1,
-1, 75, 76, 77, 78, 79, -1, 81, 82, 83,
-1, 85, 86, 87, 88, 89, 90, -1, -1, 93,
94, 95, -1, -1, -1, -1, -1, -1, -1, 103,
104, 105, 106, 107, 108, 109, 110, 111, -1, 113,
-1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, 145, 146, 147, 148, 149, 150, -1, 152, -1,
154, 155, 156, 157, -1, 159, -1, 161, -1, -1,
-1, 165, 166, 167, 168, -1, 170, 171, -1, 173,
174, 175, -1, 177, 178, 179, 180, 181, -1, 183,
184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
194, -1, 196, -1, 198, 199, 200, 201, 202, 203,
204, -1, 206, -1, 208, -1, -1, 211, -1, 213,
214, 215, 216, 217, -1, -1, 220, 221, -1, 223,
-1, -1, 226, 227, 228, -1, -1, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, 249, 250, 251, 252, 253,
-1, 255, 256, -1, 258, -1, 260, 261, 262, 263,
264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
-1, -1, 276, 277, 278, -1, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, -1, 331, 332, -1,
334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
354, -1, 356, 357, 358, 359, 360, -1, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 379, -1, 381, 382, -1,
384, -1, 386, 387, 388, 389, 390, -1, 392, 393,
394, -1, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, 408, 409, -1, -1, 412, 413,
414, 415, 416, -1, -1, 419, 420, 421, 422, 423,
424, 425, -1, 427, -1, 429, 430, 431, 432, -1,
-1, 435, -1, -1, 438, 439, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
-1, 50, 51, -1, 53, 54, 55, 56, 57, 58,
-1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
69, 70, 71, -1, -1, -1, 75, 76, 77, 78,
79, -1, 81, 82, 83, -1, 85, 86, 87, 88,
89, 90, -1, -1, 93, 94, 95, -1, -1, -1,
-1, -1, -1, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
149, 150, -1, 152, -1, 154, 155, 156, 157, -1,
159, -1, 161, -1, -1, -1, 165, 166, 167, 168,
-1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
179, 180, 181, -1, 183, 184, 185, 186, -1, 188,
189, 190, 191, 192, 193, 194, -1, 196, -1, 198,
199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
-1, -1, 211, -1, 213, 214, 215, 216, 217, -1,
-1, 220, 221, -1, 223, -1, -1, 226, 227, 228,
-1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, -1,
249, 250, 251, 252, 253, -1, 255, 256, -1, 258,
-1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
-1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
-1, 280, -1, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, -1, 331, 332, -1, 334, 335, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
-1, 350, 351, 352, 353, 354, -1, 356, 357, 358,
359, 360, -1, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
379, -1, 381, 382, -1, 384, -1, 386, 387, 388,
389, 390, -1, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, -1, 403, 404, 405, 406, 407, 408,
409, -1, -1, 412, 413, 414, 415, 416, -1, -1,
419, 420, 421, 422, 423, 424, 425, -1, 427, -1,
429, 430, 431, 432, -1, -1, 435, -1, -1, 438,
439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
-1, -1, -1, 37, 38, -1, 40, 41, 42, -1,
44, 45, 46, 47, 48, -1, 50, 51, -1, 53,
54, 55, 56, 57, 58, -1, -1, 61, 62, 63,
64, 65, -1, 67, 68, 69, 70, 71, -1, -1,
-1, 75, 76, 77, 78, 79, -1, 81, 82, 83,
-1, 85, 86, 87, 88, 89, 90, -1, -1, 93,
94, 95, -1, -1, -1, -1, -1, -1, -1, 103,
104, 105, 106, 107, 108, 109, 110, 111, -1, 113,
-1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, 145, 146, 147, 148, 149, 150, -1, 152, -1,
154, 155, 156, 157, -1, 159, -1, 161, -1, -1,
-1, 165, 166, 167, 168, -1, 170, 171, -1, 173,
174, 175, -1, 177, 178, 179, 180, 181, -1, 183,
184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
194, -1, 196, -1, 198, 199, 200, 201, 202, 203,
204, -1, 206, -1, 208, -1, -1, 211, -1, 213,
214, 215, 216, 217, -1, -1, 220, 221, -1, 223,
-1, -1, 226, 227, 228, -1, -1, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, 249, 250, 251, 252, 253,
-1, 255, 256, -1, 258, -1, 260, 261, 262, 263,
264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
-1, -1, 276, 277, 278, -1, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, -1, 331, 332, -1,
334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
354, -1, 356, 357, 358, 359, 360, -1, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 379, -1, 381, 382, -1,
384, -1, 386, 387, 388, 389, 390, -1, 392, 393,
394, -1, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, 408, 409, -1, -1, 412, 413,
414, 415, 416, -1, -1, 419, 420, 421, 422, 423,
424, 425, -1, 427, -1, 429, 430, 431, 432, -1,
-1, 435, -1, -1, 438, 439, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
-1, 50, 51, -1, 53, 54, 55, 56, 57, 58,
-1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
69, 70, 71, -1, -1, -1, 75, 76, 77, 78,
79, -1, 81, 82, 83, -1, 85, 86, 87, 88,
89, 90, -1, -1, 93, 94, 95, -1, -1, -1,
-1, -1, -1, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
149, 150, -1, 152, -1, 154, 155, 156, 157, -1,
159, -1, 161, -1, -1, -1, 165, 166, 167, 168,
-1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
179, 180, 181, -1, 183, 184, 185, 186, -1, 188,
189, 190, 191, 192, 193, 194, -1, 196, -1, 198,
199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
-1, -1, 211, -1, 213, 214, 215, 216, 217, -1,
-1, 220, 221, -1, 223, -1, -1, 226, 227, 228,
-1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, -1,
249, 250, 251, 252, 253, -1, 255, 256, -1, 258,
-1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
-1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
-1, 280, -1, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, -1, 331, 332, -1, 334, 335, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
-1, 350, 351, 352, 353, 354, -1, 356, 357, 358,
359, 360, -1, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
379, -1, 381, 382, -1, 384, -1, 386, 387, 388,
389, 390, -1, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, -1, 403, 404, 405, 406, 407, 408,
409, -1, -1, 412, 413, 414, 415, 416, -1, -1,
419, 420, 421, 422, 423, 424, 425, -1, 427, -1,
429, 430, 431, 432, -1, -1, 435, -1, -1, 438,
439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
-1, -1, -1, 37, 38, -1, 40, 41, 42, -1,
44, 45, 46, 47, 48, -1, 50, 51, -1, 53,
54, 55, 56, 57, 58, -1, -1, 61, 62, 63,
64, 65, -1, 67, 68, 69, 70, 71, -1, -1,
-1, 75, 76, 77, 78, 79, -1, 81, 82, 83,
-1, 85, 86, 87, 88, 89, 90, -1, -1, 93,
94, 95, -1, -1, -1, -1, -1, -1, -1, 103,
104, 105, 106, 107, 108, 109, 110, 111, -1, 113,
-1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, 145, 146, 147, 148, 149, 150, -1, 152, -1,
154, 155, 156, 157, -1, 159, -1, 161, -1, -1,
-1, 165, 166, 167, 168, -1, 170, 171, -1, 173,
174, 175, -1, 177, 178, 179, 180, 181, -1, 183,
184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
194, -1, 196, -1, 198, 199, 200, 201, 202, 203,
204, -1, 206, -1, 208, -1, -1, 211, -1, 213,
214, 215, 216, 217, -1, -1, 220, 221, -1, 223,
-1, -1, 226, 227, 228, -1, -1, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, 249, 250, 251, 252, 253,
-1, 255, 256, -1, 258, -1, 260, 261, 262, 263,
264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
-1, -1, 276, 277, 278, -1, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, -1, 331, 332, -1,
334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
354, -1, 356, 357, 358, 359, 360, -1, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 379, -1, 381, 382, -1,
384, -1, 386, 387, 388, 389, 390, -1, 392, 393,
394, -1, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, 408, 409, -1, -1, 412, 413,
414, 415, 416, -1, -1, 419, 420, 421, 422, 423,
424, 425, -1, 427, -1, 429, 430, 431, 432, -1,
-1, 435, -1, -1, 438, 439, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
-1, 50, 51, -1, 53, 54, 55, 56, 57, 58,
-1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
69, 70, 71, -1, -1, -1, 75, 76, 77, 78,
79, -1, 81, 82, 83, -1, 85, 86, 87, 88,
89, 90, -1, -1, 93, 94, 95, -1, -1, -1,
-1, -1, -1, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
149, 150, -1, 152, -1, 154, 155, 156, 157, -1,
159, -1, 161, -1, -1, -1, 165, 166, 167, 168,
-1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
179, 180, 181, -1, 183, 184, 185, 186, -1, 188,
189, 190, 191, 192, 193, 194, -1, 196, -1, 198,
199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
-1, -1, 211, -1, 213, 214, 215, 216, 217, -1,
-1, 220, 221, -1, 223, -1, -1, 226, 227, 228,
-1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, -1,
249, 250, 251, 252, 253, -1, 255, 256, -1, 258,
-1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
-1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
-1, 280, -1, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, -1, 331, 332, -1, 334, 335, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
-1, 350, 351, 352, 353, 354, -1, 356, 357, 358,
359, 360, -1, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
379, -1, 381, 382, -1, 384, -1, 386, 387, 388,
389, 390, -1, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, -1, 403, 404, 405, 406, 407, 408,
409, -1, -1, 412, 413, 414, 415, 416, -1, -1,
419, 420, 421, 422, 423, 424, 425, -1, 427, -1,
429, 430, 431, 432, -1, -1, 435, -1, -1, 438,
439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
-1, -1, -1, 37, 38, -1, 40, 41, 42, -1,
44, 45, 46, 47, 48, -1, 50, 51, -1, 53,
54, 55, 56, 57, 58, -1, -1, 61, 62, 63,
64, 65, -1, 67, 68, 69, 70, 71, -1, -1,
-1, 75, 76, 77, 78, 79, -1, 81, 82, 83,
-1, 85, 86, 87, 88, 89, 90, -1, -1, 93,
94, 95, -1, -1, -1, -1, -1, -1, -1, 103,
104, 105, 106, 107, 108, 109, 110, 111, -1, 113,
-1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, 145, 146, 147, 148, 149, 150, -1, 152, -1,
154, 155, 156, 157, -1, 159, -1, 161, -1, -1,
-1, 165, 166, 167, 168, -1, 170, 171, -1, 173,
174, 175, -1, 177, 178, 179, 180, 181, -1, 183,
184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
194, -1, 196, -1, 198, 199, 200, 201, 202, 203,
204, -1, 206, -1, 208, -1, -1, 211, -1, 213,
214, 215, 216, 217, -1, -1, 220, 221, -1, 223,
-1, -1, 226, 227, 228, -1, -1, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, 249, 250, 251, 252, 253,
-1, 255, 256, -1, 258, -1, 260, 261, 262, 263,
264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
-1, -1, 276, 277, 278, -1, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, -1, 331, 332, -1,
334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
354, -1, 356, 357, 358, 359, 360, -1, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 379, -1, 381, 382, -1,
384, -1, 386, 387, 388, 389, 390, -1, 392, 393,
394, -1, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, 408, 409, -1, -1, 412, 413,
414, 415, 416, -1, -1, 419, 420, 421, 422, 423,
424, 425, -1, 427, -1, 429, 430, 431, 432, -1,
-1, 435, -1, -1, 438, 439, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
29, -1, -1, -1, -1, -1, 35, -1, 37, 38,
-1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
-1, 50, 51, -1, 53, 54, 55, 56, 57, 58,
-1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
69, 70, 71, -1, -1, -1, 75, 76, 77, 78,
79, -1, 81, 82, 83, -1, 85, 86, 87, 88,
89, 90, -1, -1, 93, 94, 95, -1, -1, -1,
-1, -1, -1, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
149, 150, -1, 152, -1, 154, 155, 156, 157, -1,
159, -1, 161, -1, -1, -1, 165, 166, 167, 168,
-1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
179, 180, 181, -1, 183, 184, 185, 186, -1, 188,
189, 190, 191, 192, 193, 194, -1, 196, -1, 198,
199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
-1, -1, 211, -1, 213, 214, 215, 216, 217, -1,
-1, 220, 221, -1, 223, -1, -1, 226, 227, 228,
-1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, -1,
249, 250, 251, 252, 253, -1, 255, 256, -1, 258,
-1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
-1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
-1, 280, -1, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, -1, 331, 332, -1, 334, 335, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
-1, 350, 351, 352, 353, 354, -1, -1, 357, 358,
359, 360, -1, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
379, -1, 381, 382, -1, 384, -1, 386, 387, 388,
389, 390, -1, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, -1, 403, 404, 405, 406, 407, 408,
409, -1, -1, 412, 413, 414, 415, 416, -1, -1,
419, 420, 421, 422, 423, 424, 425, -1, 427, -1,
429, 430, 431, 432, -1, -1, 435, -1, -1, 438,
439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
-1, -1, -1, 37, 38, -1, 40, 41, 42, -1,
44, 45, 46, 47, 48, -1, 50, 51, -1, 53,
54, 55, 56, 57, 58, -1, -1, 61, 62, 63,
64, 65, -1, 67, 68, 69, 70, 71, -1, -1,
-1, 75, 76, 77, 78, 79, -1, 81, 82, 83,
-1, 85, 86, 87, 88, 89, 90, -1, -1, 93,
94, 95, -1, -1, -1, -1, -1, -1, -1, 103,
104, 105, 106, 107, 108, 109, 110, 111, -1, 113,
-1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, 145, 146, 147, 148, 149, 150, -1, 152, -1,
154, 155, 156, 157, -1, 159, -1, 161, -1, -1,
-1, 165, 166, 167, 168, -1, 170, 171, -1, 173,
174, 175, -1, 177, 178, 179, 180, 181, -1, 183,
184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
194, -1, 196, -1, 198, 199, 200, 201, 202, 203,
204, -1, 206, -1, 208, -1, -1, 211, -1, 213,
214, 215, 216, 217, -1, -1, 220, 221, -1, 223,
-1, -1, 226, 227, 228, -1, -1, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, 249, 250, 251, 252, 253,
-1, 255, 256, -1, 258, -1, 260, 261, 262, 263,
264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
-1, -1, 276, 277, 278, -1, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, -1, 331, 332, -1,
334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
354, -1, 356, 357, 358, 359, 360, -1, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 379, -1, 381, 382, -1,
384, -1, 386, 387, 388, 389, 390, -1, 392, 393,
394, -1, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, 408, 409, -1, -1, 412, 413,
414, 415, 416, -1, -1, 419, 420, 421, 422, 423,
424, 425, -1, 427, -1, 429, 430, 431, 432, -1,
-1, 435, -1, -1, 438, 439, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
-1, 50, 51, -1, 53, 54, 55, 56, 57, 58,
-1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
69, 70, 71, -1, -1, -1, 75, 76, 77, 78,
79, -1, 81, 82, 83, -1, 85, 86, 87, 88,
89, 90, -1, -1, 93, 94, 95, -1, -1, -1,
-1, -1, -1, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
149, 150, -1, 152, -1, 154, 155, 156, 157, -1,
159, -1, 161, -1, -1, -1, 165, 166, 167, 168,
-1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
179, 180, 181, -1, 183, 184, 185, 186, -1, 188,
189, 190, 191, 192, 193, 194, -1, 196, -1, 198,
199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
-1, -1, 211, -1, 213, 214, 215, 216, 217, -1,
-1, 220, 221, -1, 223, -1, -1, 226, 227, 228,
-1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, -1,
249, 250, 251, 252, 253, -1, 255, 256, -1, 258,
-1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
-1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
-1, 280, -1, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, -1, 331, 332, -1, 334, 335, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
-1, 350, 351, 352, 353, 354, -1, 356, 357, 358,
359, 360, -1, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
379, -1, 381, 382, -1, 384, -1, 386, 387, 388,
389, 390, -1, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, -1, 403, 404, 405, 406, 407, 408,
409, -1, -1, 412, 413, 414, 415, 416, -1, -1,
419, 420, 421, 422, 423, 424, 425, -1, 427, -1,
429, 430, 431, 432, -1, -1, 435, -1, -1, 438,
439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
-1, -1, -1, 37, 38, -1, 40, 41, 42, -1,
44, 45, 46, 47, 48, -1, 50, 51, -1, 53,
54, 55, 56, 57, 58, -1, -1, 61, 62, 63,
64, 65, -1, 67, 68, 69, 70, 71, -1, -1,
-1, 75, 76, 77, 78, 79, -1, 81, 82, 83,
-1, 85, 86, 87, 88, 89, 90, -1, -1, 93,
94, 95, -1, -1, -1, -1, -1, -1, -1, 103,
104, 105, 106, 107, 108, 109, 110, 111, -1, 113,
-1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, 145, 146, 147, 148, 149, 150, -1, 152, -1,
154, 155, 156, 157, -1, 159, -1, 161, -1, -1,
-1, 165, 166, 167, 168, -1, 170, 171, -1, 173,
174, 175, -1, 177, 178, 179, 180, 181, -1, 183,
184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
194, -1, 196, -1, 198, 199, 200, 201, 202, 203,
204, -1, 206, -1, 208, -1, -1, 211, -1, 213,
214, 215, 216, 217, -1, -1, 220, 221, -1, 223,
-1, -1, 226, 227, 228, -1, -1, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, 249, 250, 251, 252, 253,
-1, 255, 256, -1, 258, -1, 260, 261, 262, 263,
264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
-1, -1, 276, 277, 278, -1, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, -1, 331, 332, -1,
334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
354, -1, 356, 357, 358, 359, 360, -1, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 379, -1, 381, 382, -1,
384, -1, 386, 387, 388, 389, 390, -1, 392, 393,
394, -1, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, 408, 409, -1, -1, 412, 413,
414, 415, 416, -1, -1, 419, 420, 421, 422, 423,
424, 425, -1, 427, -1, 429, 430, 431, 432, -1,
-1, 435, -1, -1, 438, 439, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
-1, 50, 51, -1, 53, 54, 55, 56, 57, 58,
-1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
69, 70, 71, -1, -1, -1, 75, 76, 77, 78,
79, -1, 81, 82, 83, -1, 85, 86, 87, 88,
89, 90, -1, -1, 93, 94, 95, -1, -1, -1,
-1, -1, -1, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
149, 150, -1, 152, -1, 154, 155, 156, 157, -1,
159, -1, 161, -1, -1, -1, 165, 166, 167, 168,
-1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
179, 180, 181, -1, 183, 184, 185, 186, -1, 188,
189, 190, 191, 192, 193, 194, -1, 196, -1, 198,
199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
-1, -1, 211, -1, 213, 214, 215, 216, 217, -1,
-1, 220, 221, -1, 223, -1, -1, 226, 227, 228,
-1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, -1,
249, 250, 251, 252, 253, -1, 255, 256, -1, 258,
-1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
-1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
-1, 280, -1, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, -1, 331, 332, -1, 334, 335, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
-1, 350, 351, 352, 353, 354, -1, 356, 357, 358,
359, 360, -1, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
379, -1, 381, 382, -1, 384, -1, 386, 387, 388,
389, 390, -1, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, -1, 403, 404, 405, 406, 407, 408,
409, -1, -1, 412, 413, 414, 415, 416, -1, -1,
419, 420, 421, 422, 423, 424, 425, -1, 427, -1,
429, 430, 431, 432, -1, -1, 435, -1, -1, 438,
439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
-1, -1, -1, 37, 38, -1, 40, 41, 42, -1,
44, 45, 46, 47, 48, -1, 50, 51, -1, 53,
54, 55, 56, 57, 58, -1, -1, 61, 62, 63,
64, 65, -1, 67, 68, 69, 70, 71, -1, -1,
-1, 75, 76, 77, 78, 79, -1, 81, 82, 83,
-1, 85, 86, 87, 88, 89, 90, -1, -1, 93,
94, 95, -1, -1, -1, -1, -1, -1, -1, 103,
104, 105, 106, 107, 108, 109, 110, 111, -1, 113,
-1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, 145, 146, 147, 148, 149, 150, -1, 152, -1,
154, 155, 156, 157, -1, 159, -1, 161, -1, -1,
-1, 165, 166, 167, 168, -1, 170, 171, -1, 173,
174, 175, -1, 177, 178, 179, 180, 181, -1, 183,
184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
194, -1, 196, -1, 198, 199, 200, 201, 202, 203,
204, -1, 206, -1, 208, -1, -1, 211, -1, 213,
214, 215, 216, 217, -1, -1, 220, 221, -1, 223,
-1, -1, 226, 227, 228, -1, -1, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, 249, 250, 251, 252, 253,
-1, 255, 256, -1, 258, -1, 260, 261, 262, 263,
264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
-1, -1, 276, 277, 278, -1, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, -1, 331, 332, -1,
334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
354, -1, 356, 357, 358, 359, 360, -1, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 379, -1, 381, 382, -1,
384, -1, 386, 387, 388, 389, 390, -1, 392, 393,
394, -1, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, 408, 409, -1, -1, 412, 413,
414, 415, 416, -1, -1, 419, 420, 421, 422, 423,
424, 425, -1, 427, -1, 429, 430, 431, 432, -1,
-1, 435, -1, -1, 438, 439, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
-1, 50, 51, -1, 53, 54, 55, 56, 57, 58,
-1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
69, 70, 71, -1, -1, -1, 75, 76, 77, 78,
79, -1, 81, 82, 83, -1, 85, 86, 87, 88,
89, 90, -1, -1, 93, 94, 95, -1, -1, -1,
-1, -1, -1, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
149, 150, -1, 152, -1, 154, 155, 156, 157, -1,
159, -1, 161, -1, -1, -1, 165, 166, 167, 168,
-1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
179, 180, 181, -1, 183, 184, 185, 186, -1, 188,
189, 190, 191, 192, 193, 194, -1, 196, -1, 198,
199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
-1, -1, 211, -1, 213, 214, 215, 216, 217, -1,
-1, 220, 221, -1, 223, -1, -1, 226, 227, 228,
-1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, -1,
249, 250, 251, 252, 253, -1, 255, 256, -1, 258,
-1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
-1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
-1, 280, -1, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, -1, 331, 332, -1, 334, 335, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
-1, 350, 351, 352, 353, 354, -1, 356, 357, 358,
359, 360, -1, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
379, -1, 381, 382, -1, 384, -1, 386, 387, 388,
389, 390, -1, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, -1, 403, 404, 405, 406, 407, 408,
409, -1, -1, 412, 413, 414, 415, 416, -1, -1,
419, 420, 421, 422, 423, 424, 425, -1, 427, -1,
429, 430, 431, 432, -1, -1, 435, -1, -1, 438,
439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
-1, -1, -1, 37, 38, -1, 40, 41, 42, -1,
44, 45, 46, 47, 48, -1, 50, 51, -1, 53,
54, 55, 56, 57, 58, -1, -1, 61, 62, 63,
64, 65, -1, 67, 68, 69, 70, 71, -1, -1,
-1, 75, 76, 77, 78, 79, -1, 81, 82, 83,
-1, 85, 86, 87, 88, 89, 90, -1, -1, 93,
94, 95, -1, -1, -1, -1, -1, -1, -1, 103,
104, 105, 106, 107, 108, 109, 110, 111, -1, 113,
-1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, 145, 146, 147, 148, 149, 150, -1, 152, -1,
154, 155, 156, 157, -1, 159, -1, 161, -1, -1,
-1, 165, 166, 167, 168, -1, 170, 171, -1, 173,
174, 175, -1, 177, 178, 179, 180, 181, -1, 183,
184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
194, -1, 196, -1, 198, 199, 200, 201, 202, 203,
204, -1, 206, -1, 208, -1, -1, 211, -1, 213,
214, 215, 216, 217, -1, -1, 220, 221, -1, 223,
-1, -1, 226, 227, 228, -1, -1, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, 249, 250, 251, 252, 253,
-1, 255, 256, -1, 258, -1, 260, 261, 262, 263,
264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
-1, -1, 276, 277, 278, -1, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, -1, 331, 332, -1,
334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
354, -1, 356, 357, 358, 359, 360, -1, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 379, -1, 381, 382, -1,
384, -1, 386, 387, 388, 389, 390, -1, 392, 393,
394, -1, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, 408, 409, -1, -1, 412, 413,
414, 415, 416, -1, -1, 419, 420, 421, 422, 423,
424, 425, -1, 427, -1, 429, 430, 431, 432, -1,
-1, 435, -1, -1, 438, 439, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
-1, 50, 51, -1, 53, 54, 55, 56, 57, 58,
-1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
69, 70, 71, -1, -1, -1, 75, 76, 77, 78,
79, -1, 81, 82, 83, -1, 85, 86, 87, 88,
89, 90, -1, -1, 93, 94, 95, -1, -1, -1,
-1, -1, -1, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
149, 150, -1, 152, -1, 154, 155, 156, 157, -1,
159, -1, 161, -1, -1, -1, 165, 166, 167, 168,
-1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
179, 180, 181, -1, 183, 184, 185, 186, -1, 188,
189, 190, 191, 192, 193, 194, -1, 196, -1, 198,
199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
-1, -1, 211, -1, 213, 214, 215, 216, 217, -1,
-1, 220, 221, -1, 223, -1, -1, 226, 227, 228,
-1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, -1,
249, 250, 251, 252, 253, -1, 255, 256, -1, 258,
-1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
-1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
-1, 280, -1, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, -1, 331, 332, -1, 334, 335, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
-1, 350, 351, 352, 353, 354, -1, 356, 357, 358,
359, 360, -1, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
379, -1, 381, 382, -1, 384, -1, 386, 387, 388,
389, 390, -1, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, -1, 403, 404, 405, 406, 407, 408,
409, -1, -1, 412, 413, 414, 415, 416, -1, -1,
419, 420, 421, 422, 423, 424, 425, -1, 427, -1,
429, 430, 431, 432, -1, -1, 435, -1, -1, 438,
439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
-1, -1, -1, 37, 38, -1, 40, 41, 42, -1,
44, 45, 46, 47, 48, -1, 50, 51, -1, 53,
54, 55, 56, 57, 58, -1, -1, 61, 62, 63,
64, 65, -1, 67, 68, 69, 70, 71, -1, -1,
-1, 75, 76, 77, 78, 79, -1, 81, 82, 83,
-1, 85, 86, 87, 88, 89, 90, -1, -1, 93,
94, 95, -1, -1, -1, -1, -1, -1, -1, 103,
104, 105, 106, 107, 108, 109, 110, 111, -1, 113,
-1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, 145, 146, 147, 148, 149, 150, -1, 152, -1,
154, 155, 156, 157, -1, 159, -1, 161, -1, -1,
-1, 165, 166, 167, 168, -1, 170, 171, -1, 173,
174, 175, -1, 177, 178, 179, 180, 181, -1, 183,
184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
194, -1, 196, -1, 198, 199, 200, 201, 202, 203,
204, -1, 206, -1, 208, -1, -1, 211, -1, 213,
214, 215, 216, 217, -1, -1, 220, 221, -1, 223,
-1, -1, 226, 227, 228, -1, -1, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, 249, 250, 251, 252, 253,
-1, 255, 256, -1, 258, -1, 260, 261, 262, 263,
264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
-1, -1, 276, 277, 278, -1, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, -1, 331, 332, -1,
334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
354, -1, 356, 357, 358, 359, 360, -1, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 379, -1, 381, 382, -1,
384, -1, 386, 387, 388, 389, 390, -1, 392, 393,
394, -1, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, 408, 409, -1, -1, 412, 413,
414, 415, 416, -1, -1, 419, 420, 421, 422, 423,
424, 425, -1, 427, -1, 429, 430, 431, 432, -1,
-1, 435, -1, -1, 438, 439, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
-1, 50, 51, -1, 53, 54, 55, 56, 57, 58,
-1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
69, 70, 71, -1, -1, -1, 75, 76, 77, 78,
79, -1, 81, 82, 83, -1, 85, 86, 87, 88,
89, 90, -1, -1, 93, 94, 95, -1, -1, -1,
-1, -1, -1, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
149, 150, -1, 152, -1, 154, 155, 156, 157, -1,
159, -1, 161, -1, -1, -1, 165, 166, 167, 168,
-1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
179, 180, 181, -1, 183, 184, 185, 186, -1, 188,
189, 190, 191, 192, 193, 194, -1, 196, -1, 198,
199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
-1, -1, 211, -1, 213, 214, 215, 216, 217, -1,
-1, 220, 221, -1, 223, -1, -1, 226, 227, 228,
-1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, -1,
249, 250, 251, 252, 253, -1, 255, 256, -1, 258,
-1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
-1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
-1, 280, -1, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, -1, 331, 332, -1, 334, 335, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
-1, 350, 351, 352, 353, 354, -1, 356, 357, 358,
359, 360, -1, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
379, -1, 381, 382, -1, 384, -1, 386, 387, 388,
389, 390, -1, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, -1, 403, 404, 405, 406, 407, 408,
409, -1, -1, 412, 413, 414, 415, 416, -1, -1,
419, 420, 421, 422, 423, 424, 425, -1, 427, -1,
429, 430, 431, 432, -1, -1, 435, -1, -1, 438,
439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
-1, -1, -1, 37, 38, -1, 40, 41, 42, -1,
44, 45, 46, 47, 48, -1, 50, 51, -1, 53,
54, 55, 56, 57, 58, -1, -1, 61, 62, 63,
64, 65, -1, 67, 68, 69, 70, 71, -1, -1,
-1, 75, 76, 77, 78, 79, -1, 81, 82, 83,
-1, 85, 86, 87, 88, 89, 90, -1, -1, 93,
94, 95, -1, -1, -1, -1, -1, -1, -1, 103,
104, 105, 106, 107, 108, 109, 110, 111, -1, 113,
-1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, 145, 146, 147, 148, 149, 150, -1, 152, -1,
154, 155, 156, 157, -1, 159, -1, 161, -1, -1,
-1, 165, 166, 167, 168, -1, 170, 171, -1, 173,
174, 175, -1, 177, 178, 179, 180, 181, -1, 183,
184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
194, -1, 196, -1, 198, 199, 200, 201, 202, 203,
204, -1, 206, -1, 208, -1, -1, 211, -1, 213,
214, 215, 216, 217, -1, -1, 220, 221, -1, 223,
-1, -1, 226, 227, 228, -1, -1, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, 249, 250, 251, 252, 253,
-1, 255, 256, -1, 258, -1, 260, 261, 262, 263,
264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
-1, -1, 276, 277, 278, -1, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, -1, 331, 332, -1,
334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
354, -1, 356, 357, 358, 359, 360, -1, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 379, -1, 381, 382, -1,
384, -1, 386, 387, 388, 389, 390, -1, 392, 393,
394, -1, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, 408, 409, -1, -1, 412, 413,
414, 415, 416, -1, -1, 419, 420, 421, 422, 423,
424, 425, -1, 427, -1, 429, 430, 431, 432, -1,
-1, 435, -1, -1, 438, 439, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
-1, 50, 51, -1, 53, 54, 55, 56, 57, 58,
-1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
69, 70, 71, -1, -1, -1, 75, 76, 77, 78,
79, -1, 81, 82, 83, -1, 85, 86, 87, 88,
89, 90, -1, -1, 93, 94, 95, -1, -1, -1,
-1, -1, -1, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
149, 150, -1, 152, -1, 154, 155, 156, 157, -1,
159, -1, 161, -1, -1, -1, 165, 166, 167, 168,
-1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
179, 180, 181, -1, 183, 184, 185, 186, -1, 188,
189, 190, 191, 192, 193, 194, -1, 196, -1, 198,
199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
-1, -1, 211, -1, 213, 214, 215, 216, 217, -1,
-1, 220, 221, -1, 223, -1, -1, 226, 227, 228,
-1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, -1,
249, 250, 251, 252, 253, -1, 255, 256, -1, 258,
-1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
-1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
-1, 280, -1, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, -1, 331, 332, -1, 334, 335, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
-1, 350, 351, 352, 353, 354, -1, 356, 357, 358,
359, 360, -1, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
379, -1, 381, 382, -1, 384, -1, 386, 387, 388,
389, 390, -1, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, -1, 403, 404, 405, 406, 407, 408,
409, -1, -1, 412, 413, 414, 415, 416, -1, -1,
419, 420, 421, 422, 423, 424, 425, -1, 427, -1,
429, 430, 431, 432, -1, -1, 435, -1, -1, 438,
439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
-1, -1, -1, 37, 38, -1, 40, 41, 42, -1,
44, 45, 46, 47, 48, -1, 50, 51, -1, 53,
54, 55, 56, 57, 58, -1, -1, 61, 62, 63,
64, 65, -1, 67, 68, 69, 70, 71, -1, -1,
-1, 75, 76, 77, 78, 79, -1, 81, 82, 83,
-1, 85, 86, 87, 88, 89, 90, -1, -1, 93,
94, 95, -1, -1, -1, -1, -1, -1, -1, 103,
104, 105, 106, 107, 108, 109, 110, 111, -1, 113,
-1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, 145, 146, 147, 148, 149, 150, -1, 152, -1,
154, 155, 156, 157, -1, 159, -1, 161, -1, -1,
-1, 165, 166, 167, 168, -1, 170, 171, -1, 173,
174, 175, -1, 177, 178, 179, 180, 181, -1, 183,
184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
194, -1, 196, -1, 198, 199, 200, 201, 202, 203,
204, -1, 206, -1, 208, -1, -1, 211, -1, 213,
214, 215, 216, 217, -1, -1, 220, 221, -1, 223,
-1, -1, 226, 227, 228, -1, -1, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, 249, 250, 251, 252, 253,
-1, 255, 256, -1, 258, -1, 260, 261, 262, 263,
264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
-1, -1, 276, 277, 278, -1, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, -1, 331, 332, -1,
334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
354, -1, 356, 357, 358, 359, 360, -1, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 379, -1, 381, 382, -1,
384, -1, 386, 387, 388, 389, 390, -1, 392, 393,
394, -1, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, 408, 409, -1, -1, 412, 413,
414, 415, 416, -1, -1, 419, 420, 421, 422, 423,
424, 425, -1, 427, -1, 429, 430, 431, 432, -1,
-1, 435, -1, -1, 438, 439, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
-1, 50, 51, -1, 53, 54, 55, 56, 57, 58,
-1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
69, 70, 71, -1, -1, -1, 75, 76, 77, 78,
79, -1, 81, 82, 83, -1, 85, 86, 87, 88,
89, 90, -1, -1, 93, 94, 95, -1, -1, -1,
-1, -1, -1, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, 145, 146, 147, 148,
149, 150, -1, 152, -1, 154, 155, 156, 157, -1,
159, -1, 161, -1, -1, -1, 165, 166, 167, 168,
-1, 170, 171, -1, 173, 174, 175, -1, 177, 178,
179, 180, 181, -1, 183, 184, 185, 186, -1, 188,
189, 190, 191, 192, 193, 194, -1, 196, -1, 198,
199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
-1, -1, 211, -1, 213, 214, 215, 216, 217, -1,
-1, 220, 221, -1, 223, -1, -1, 226, 227, 228,
-1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, -1,
249, 250, 251, 252, 253, -1, 255, 256, -1, 258,
-1, 260, 261, 262, 263, 264, 265, -1, 267, 268,
-1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
-1, 280, -1, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, -1, 293, 294, 295, 296, 297, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, -1, 331, 332, -1, 334, 335, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
-1, 350, 351, 352, 353, 354, -1, 356, 357, 358,
359, 360, -1, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
379, -1, 381, 382, -1, 384, -1, 386, 387, 388,
389, 390, -1, 392, 393, 394, -1, -1, 397, 398,
399, 400, 401, -1, 403, 404, 405, 406, 407, 408,
409, -1, -1, 412, 413, 414, 415, 416, -1, -1,
419, 420, 421, 422, 423, 424, 425, -1, 427, -1,
429, 430, 431, 432, -1, -1, 435, -1, -1, 438,
439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 18, 19, 20, 21, 22, 23,
24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
-1, -1, -1, 37, 38, -1, 40, 41, 42, -1,
44, 45, 46, 47, 48, -1, 50, 51, -1, 53,
54, 55, 56, 57, 58, -1, -1, 61, 62, 63,
64, 65, -1, 67, 68, 69, 70, 71, -1, -1,
-1, 75, 76, 77, 78, 79, -1, 81, 82, 83,
-1, 85, 86, 87, 88, 89, 90, -1, -1, 93,
94, 95, -1, -1, -1, -1, -1, -1, -1, 103,
104, 105, 106, 107, 108, 109, 110, 111, -1, 113,
-1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, 145, 146, 147, 148, 149, 150, -1, 152, -1,
154, 155, 156, 157, -1, 159, -1, 161, -1, -1,
-1, 165, 166, 167, 168, -1, 170, 171, -1, 173,
174, 175, -1, 177, 178, 179, 180, 181, -1, 183,
184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
194, -1, 196, -1, 198, 199, 200, 201, 202, 203,
204, -1, 206, -1, 208, -1, -1, 211, -1, 213,
214, 215, 216, 217, -1, -1, 220, 221, -1, 223,
-1, -1, 226, 227, 228, -1, -1, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, 249, 250, 251, 252, 253,
-1, 255, 256, -1, 258, -1, 260, 261, 262, 263,
264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
-1, -1, 276, 277, 278, -1, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, -1, 331, 332, -1,
334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
354, -1, 356, 357, 358, 359, 360, -1, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 379, -1, 381, 382, -1,
384, -1, 386, 387, 388, 389, 390, -1, 392, 393,
394, -1, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, 408, 409, -1, -1, 412, 413,
414, 415, 416, -1, -1, 419, 420, 421, 422, 423,
424, 425, -1, 427, -1, 429, 430, 431, 432, -1,
-1, 435, -1, -1, 438, 439, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 18,
19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, 42, 43, 44, 45, 46, -1, 48,
49, 50, 51, -1, 53, 54, 55, 56, 57, 58,
-1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
69, 70, -1, -1, 73, -1, 75, 76, 77, 78,
79, 80, 81, 82, 83, -1, 85, 86, 87, 88,
89, 90, -1, 92, 93, 94, 95, -1, -1, -1,
99, -1, -1, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, 145, -1, 147, 148,
149, -1, -1, 152, -1, 154, 155, 156, 157, -1,
159, -1, 161, 162, -1, 164, 165, 166, 167, 168,
-1, 170, -1, -1, -1, 174, 175, -1, 177, 178,
179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, 193, 194, -1, 196, 197, 198,
199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
209, 210, 211, 212, 213, 214, 215, 216, 217, -1,
-1, 220, -1, 222, 223, 224, -1, 226, 227, 228,
-1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, -1, -1, 255, 256, 257, 258,
-1, -1, 261, 262, 263, 264, 265, -1, 267, 268,
-1, -1, 271, 272, 273, -1, -1, 276, 277, 278,
279, 280, 281, -1, 283, 284, 285, 286, 287, 288,
289, 290, 291, -1, 293, 294, -1, 296, -1, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, -1, 331, 332, 333, 334, 335, 336, 337, 338,
-1, 340, 341, 342, 343, 344, 345, 346, 347, 348,
-1, 350, 351, 352, 353, 354, -1, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
-1, -1, 381, 382, -1, 384, 385, 386, 387, 388,
389, 390, -1, 392, 393, 394, -1, -1, 397, 398,
-1, 400, -1, -1, 403, 404, 405, 406, 407, 408,
409, -1, -1, 412, 413, 414, 415, 416, -1, -1,
419, 420, 421, 422, 423, -1, 425, 426, 427, 428,
429, 430, 431, 432, -1, -1, 435, -1, -1, 438,
439, 440, 441, 442, 443, 3, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 455, 456, 457, -1,
18, 19, 20, 21, 22, 23, 24, 25, -1, 27,
28, 29, -1, -1, -1, -1, -1, -1, -1, 37,
38, -1, 40, 41, 42, -1, 44, 45, 46, 47,
48, -1, 50, 51, -1, 53, 54, 55, 56, 57,
58, -1, -1, 61, 62, 63, 64, 65, -1, 67,
68, 69, 70, 71, -1, -1, -1, 75, 76, 77,
78, 79, -1, 81, 82, 83, -1, 85, 86, 87,
88, 89, 90, -1, -1, 93, 94, 95, -1, -1,
-1, -1, -1, -1, -1, 103, 104, 105, 106, 107,
108, 109, 110, 111, -1, 113, -1, 115, 116, 117,
118, 119, 120, -1, 122, 123, 124, 125, -1, -1,
128, 129, 130, 131, 132, -1, 134, 135, 136, -1,
138, 139, 140, -1, 142, 143, 144, 145, 146, 147,
148, 149, 150, -1, 152, -1, 154, 155, 156, 157,
-1, 159, -1, 161, -1, -1, -1, 165, 166, 167,
168, -1, 170, 171, -1, 173, -1, 175, -1, 177,
178, 179, 180, 181, -1, 183, 184, 185, 186, -1,
188, 189, 190, 191, 192, 193, 194, -1, 196, -1,
198, 199, 200, 201, 202, 203, 204, -1, 206, -1,
208, -1, -1, 211, -1, 213, 214, 215, 216, 217,
-1, -1, 220, 221, -1, 223, -1, -1, 226, 227,
228, -1, -1, 231, 232, 233, 234, 235, 236, 237,
238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
-1, 249, 250, 251, 252, 253, -1, 255, 256, -1,
258, -1, 260, 261, 262, 263, 264, 265, -1, 267,
268, -1, -1, 271, 272, 273, -1, -1, 276, 277,
278, -1, 280, -1, 282, 283, 284, 285, 286, 287,
288, -1, 290, 291, -1, 293, 294, 295, 296, 297,
298, 299, 300, -1, 302, 303, 304, 305, 306, 307,
308, 309, -1, 311, 312, 313, 314, 315, 316, -1,
318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
328, 329, -1, 331, 332, -1, 334, 335, 336, 337,
338, 339, -1, 341, 342, 343, 344, 345, 346, 347,
348, -1, 350, 351, 352, 353, 354, -1, 356, 357,
358, 359, 360, -1, 362, 363, 364, 365, -1, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
378, 379, -1, 381, 382, -1, 384, -1, 386, 387,
388, 389, 390, -1, 392, 393, 394, -1, -1, 397,
398, 399, 400, 401, -1, 403, 404, 405, 406, 407,
408, 409, -1, -1, 412, 413, 414, 415, 416, -1,
-1, 419, 420, 421, 422, 423, 424, 425, -1, 427,
-1, 429, 430, 431, 432, -1, -1, 435, -1, -1,
438, 439, 440, 441, 442, 443, 444, 445, 446, 447,
448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 18, 19, 20, 21, 22,
23, 24, 25, -1, 27, 28, 29, -1, -1, -1,
-1, -1, -1, -1, 37, 38, -1, 40, 41, 42,
43, 44, 45, 46, -1, 48, 49, 50, 51, -1,
53, 54, 55, 56, 57, 58, -1, -1, 61, 62,
63, 64, 65, -1, 67, 68, 69, 70, -1, -1,
73, -1, 75, 76, 77, 78, 79, 80, 81, 82,
83, -1, 85, 86, 87, 88, 89, 90, -1, 92,
93, 94, 95, -1, -1, -1, 99, -1, -1, -1,
103, 104, 105, 106, 107, 108, 109, 110, 111, -1,
113, -1, 115, 116, 117, 118, 119, 120, -1, 122,
123, 124, 125, -1, -1, 128, 129, 130, 131, 132,
-1, 134, 135, 136, -1, 138, 139, 140, -1, 142,
143, 144, 145, -1, 147, 148, 149, -1, -1, 152,
-1, 154, 155, 156, 157, -1, 159, -1, 161, 162,
-1, 164, 165, 166, 167, 168, -1, 170, -1, -1,
-1, 174, 175, -1, 177, 178, 179, 180, 181, 182,
183, 184, 185, 186, -1, 188, 189, 190, 191, 192,
193, 194, -1, 196, 197, -1, 199, 200, 201, 202,
203, 204, -1, 206, -1, 208, 209, 210, 211, 212,
213, 214, 215, 216, 217, -1, -1, 220, -1, 222,
223, 224, -1, 226, 227, 228, -1, -1, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
-1, -1, 255, 256, 257, 258, 259, -1, 261, 262,
263, 264, 265, -1, 267, 268, -1, -1, 271, 272,
273, -1, -1, 276, 277, -1, 279, 280, 281, -1,
283, 284, 285, 286, 287, 288, 289, 290, 291, -1,
293, 294, -1, 296, -1, 298, 299, 300, -1, 302,
303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, -1, 318, 319, 320, 321, 322,
323, 324, 325, 326, 327, 328, 329, -1, 331, 332,
333, 334, 335, 336, 337, 338, -1, 340, 341, 342,
343, 344, 345, 346, 347, 348, -1, 350, 351, 352,
353, 354, -1, 356, 357, 358, 359, 360, 361, 362,
363, 364, 365, -1, 367, 368, 369, 370, 371, 372,
373, 374, 375, 376, 377, 378, -1, -1, 381, 382,
383, 384, 385, 386, 387, 388, 389, 390, -1, 392,
393, 394, -1, -1, 397, 398, -1, 400, -1, -1,
403, 404, 405, 406, 407, 408, 409, -1, -1, 412,
413, 414, 415, 416, -1, -1, 419, 420, 421, 422,
423, -1, 425, -1, 427, 428, 429, 430, 431, 432,
-1, -1, 435, -1, -1, 438, 439, 440, 441, 442,
443, 3, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 455, 456, 457, -1, 18, 19, 20, 21,
22, 23, 24, 25, -1, 27, 28, 29, -1, -1,
-1, -1, -1, -1, -1, 37, 38, -1, 40, 41,
42, 43, 44, 45, 46, -1, 48, 49, 50, 51,
-1, 53, 54, 55, 56, 57, 58, -1, -1, 61,
62, 63, 64, 65, -1, 67, 68, 69, 70, -1,
-1, 73, -1, 75, 76, 77, 78, 79, 80, 81,
82, 83, -1, 85, 86, 87, 88, 89, 90, -1,
92, 93, 94, 95, -1, -1, -1, 99, -1, -1,
-1, 103, 104, 105, 106, 107, 108, 109, 110, 111,
-1, 113, -1, 115, 116, 117, 118, 119, 120, -1,
122, 123, 124, 125, -1, -1, 128, 129, 130, 131,
132, -1, 134, 135, 136, -1, 138, 139, 140, -1,
142, 143, 144, 145, -1, 147, 148, 149, -1, -1,
152, -1, 154, 155, 156, 157, -1, 159, -1, 161,
162, -1, 164, 165, 166, 167, 168, -1, 170, -1,
-1, -1, 174, 175, -1, 177, 178, 179, 180, 181,
182, 183, 184, 185, 186, -1, 188, 189, 190, 191,
192, 193, 194, -1, 196, 197, -1, 199, 200, 201,
202, 203, 204, -1, 206, -1, 208, 209, 210, 211,
212, 213, 214, 215, 216, 217, -1, -1, 220, -1,
222, 223, 224, -1, 226, 227, 228, -1, -1, 231,
232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
252, 253, -1, 255, 256, 257, 258, -1, -1, 261,
262, 263, 264, 265, -1, 267, 268, -1, -1, 271,
272, 273, -1, -1, 276, 277, -1, 279, 280, 281,
-1, 283, 284, 285, 286, 287, 288, 289, 290, 291,
-1, 293, 294, -1, 296, -1, 298, 299, 300, -1,
302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
312, 313, 314, 315, 316, -1, 318, 319, 320, 321,
322, 323, 324, 325, 326, 327, 328, 329, -1, 331,
332, 333, 334, 335, 336, 337, 338, -1, 340, 341,
342, 343, 344, 345, 346, 347, 348, -1, 350, 351,
352, 353, 354, -1, 356, 357, 358, 359, 360, 361,
362, 363, 364, 365, -1, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, 377, 378, -1, -1, 381,
382, -1, 384, 385, 386, 387, 388, 389, 390, -1,
392, 393, 394, -1, -1, 397, 398, -1, 400, -1,
-1, 403, 404, 405, 406, 407, 408, 409, -1, -1,
412, 413, 414, 415, 416, -1, -1, 419, 420, 421,
422, 423, -1, 425, -1, 427, 428, 429, 430, 431,
432, -1, -1, 435, -1, -1, 438, 439, 440, 441,
442, 443, 3, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 455, 456, 457, -1, 18, 19, 20,
21, 22, 23, 24, 25, -1, 27, 28, 29, -1,
-1, -1, -1, -1, -1, -1, 37, 38, -1, 40,
41, 42, 43, 44, 45, 46, -1, 48, 49, 50,
51, -1, 53, 54, 55, 56, 57, 58, -1, -1,
61, 62, 63, 64, 65, -1, 67, 68, 69, 70,
-1, -1, 73, -1, 75, 76, 77, 78, 79, 80,
81, 82, 83, -1, 85, 86, 87, 88, 89, 90,
-1, 92, 93, 94, 95, -1, -1, -1, 99, -1,
-1, -1, 103, 104, 105, 106, 107, 108, 109, 110,
111, -1, 113, -1, 115, 116, 117, 118, 119, 120,
-1, 122, 123, 124, 125, -1, -1, 128, 129, 130,
131, 132, -1, 134, 135, 136, -1, 138, 139, 140,
-1, 142, 143, 144, 145, -1, 147, 148, 149, -1,
-1, 152, -1, 154, 155, 156, 157, -1, 159, -1,
161, 162, -1, 164, 165, 166, 167, 168, -1, 170,
-1, -1, -1, 174, 175, -1, 177, 178, 179, 180,
181, 182, 183, 184, 185, 186, -1, 188, 189, 190,
191, 192, 193, 194, -1, 196, 197, -1, 199, 200,
201, 202, 203, 204, -1, 206, -1, 208, 209, 210,
211, 212, 213, 214, 215, 216, 217, -1, -1, 220,
-1, 222, 223, 224, -1, 226, 227, 228, -1, -1,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 253, -1, 255, 256, 257, 258, -1, -1,
261, 262, 263, 264, 265, -1, 267, 268, -1, -1,
271, 272, 273, -1, -1, 276, 277, -1, 279, 280,
281, -1, 283, 284, 285, 286, 287, 288, 289, 290,
291, -1, 293, 294, -1, 296, -1, 298, 299, 300,
-1, 302, 303, 304, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, -1, 318, 319, 320,
321, 322, 323, 324, 325, 326, 327, 328, 329, -1,
331, 332, 333, 334, 335, 336, 337, 338, -1, 340,
341, 342, 343, 344, 345, 346, 347, 348, -1, 350,
351, 352, 353, 354, -1, 356, 357, 358, 359, 360,
361, 362, 363, 364, 365, -1, 367, 368, 369, 370,
371, 372, 373, 374, 375, 376, 377, 378, -1, -1,
381, 382, -1, 384, 385, 386, 387, 388, 389, 390,
-1, 392, 393, 394, -1, -1, 397, 398, -1, 400,
-1, -1, 403, 404, 405, 406, 407, 408, 409, -1,
-1, 412, 413, 414, 415, 416, -1, -1, 419, 420,
421, 422, 423, -1, 425, -1, 427, 428, 429, 430,
431, 432, -1, -1, 435, -1, -1, 438, 439, 440,
441, 442, 443, 3, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 455, 456, 457, -1, 18, 19,
20, 21, 22, 23, 24, 25, -1, 27, 28, 29,
-1, -1, -1, -1, -1, -1, -1, 37, 38, -1,
40, 41, 42, 43, 44, 45, 46, -1, 48, 49,
50, 51, -1, 53, 54, 55, 56, 57, 58, -1,
-1, 61, 62, 63, 64, 65, -1, 67, 68, 69,
70, -1, -1, 73, -1, 75, 76, 77, 78, 79,
80, 81, 82, 83, -1, 85, 86, 87, 88, 89,
90, -1, 92, 93, 94, 95, -1, -1, -1, 99,
-1, -1, -1, 103, 104, 105, 106, 107, 108, 109,
110, 111, -1, 113, -1, 115, 116, 117, 118, 119,
120, -1, 122, 123, 124, 125, -1, -1, 128, 129,
130, 131, 132, -1, 134, 135, 136, -1, 138, 139,
140, -1, 142, 143, 144, 145, -1, 147, 148, 149,
-1, -1, 152, -1, 154, 155, 156, 157, 158, 159,
-1, 161, 162, -1, 164, 165, 166, 167, 168, -1,
170, -1, -1, -1, 174, 175, -1, 177, 178, 179,
180, 181, 182, 183, 184, 185, 186, -1, 188, 189,
190, 191, 192, 193, 194, -1, 196, 197, -1, 199,
200, 201, 202, 203, 204, -1, 206, -1, 208, 209,
210, 211, 212, 213, 214, 215, 216, 217, -1, -1,
220, -1, 222, 223, 224, -1, 226, 227, 228, -1,
-1, 231, 232, 233, 234, 235, 236, 237, 238, 239,
240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
250, 251, 252, -1, -1, 255, 256, 257, 258, -1,
-1, 261, 262, 263, 264, 265, -1, 267, 268, -1,
-1, 271, 272, 273, -1, -1, 276, 277, -1, 279,
280, 281, -1, 283, 284, 285, 286, 287, 288, 289,
290, 291, -1, 293, 294, -1, 296, -1, 298, 299,
300, -1, 302, 303, 304, 305, 306, 307, 308, 309,
310, 311, 312, 313, 314, 315, 316, -1, 318, 319,
320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
-1, 331, 332, 333, 334, 335, 336, 337, 338, -1,
340, 341, 342, 343, 344, 345, 346, 347, 348, -1,
350, 351, 352, 353, 354, -1, 356, 357, 358, 359,
360, 361, 362, 363, 364, 365, -1, 367, 368, 369,
370, 371, 372, 373, 374, 375, 376, 377, 378, -1,
-1, 381, 382, -1, 384, 385, 386, 387, 388, 389,
390, -1, 392, 393, 394, -1, -1, 397, 398, -1,
400, -1, -1, 403, 404, 405, 406, 407, 408, 409,
-1, -1, 412, 413, 414, 415, 416, -1, -1, 419,
420, 421, 422, 423, -1, 425, -1, 427, 428, 429,
430, 431, 432, -1, -1, 435, -1, -1, 438, 439,
440, 441, 442, 443, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 455, 456, 457, -1, 18,
19, 20, 21, 22, 23, 24, 25, -1, 27, 28,
29, -1, -1, -1, -1, -1, -1, -1, 37, 38,
-1, 40, 41, 42, 43, 44, 45, 46, -1, 48,
49, 50, 51, -1, 53, 54, 55, 56, 57, 58,
-1, -1, 61, 62, 63, 64, 65, -1, 67, 68,
69, 70, -1, -1, 73, -1, 75, 76, 77, 78,
79, 80, 81, 82, 83, -1, 85, 86, 87, 88,
89, 90, -1, 92, 93, 94, 95, -1, -1, -1,
99, -1, -1, -1, 103, 104, 105, 106, 107, 108,
109, 110, 111, -1, 113, -1, 115, 116, 117, 118,
119, 120, -1, 122, 123, 124, 125, -1, -1, 128,
129, 130, 131, 132, -1, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, 145, -1, 147, 148,
149, -1, -1, 152, -1, 154, 155, 156, 157, -1,
159, -1, 161, 162, -1, 164, 165, 166, 167, 168,
-1, 170, -1, -1, -1, 174, 175, -1, 177, 178,
179, 180, 181, 182, 183, 184, 185, 186, -1, 188,
189, 190, 191, 192, 193, 194, -1, 196, 197, -1,
199, 200, 201, 202, 203, 204, -1, 206, -1, 208,
209, 210, 211, 212, 213, 214, 215, 216, 217, -1,
-1, 220, -1, 222, 223, 224, -1, 226, 227, 228,
-1, -1, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, -1, -1, 255, 256, 257, 258,
-1, -1, 261, 262, 263, 264, 265, -1, 267, 268,
-1, -1, 271, 272, 273, -1, -1, 276, 277, -1,
279, 280, 281, -1, 283, 284, 285, 286, 287, 288,
289, 290, 291, -1, 293, 294, -1, 296, -1, 298,
299, 300, -1, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, -1, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, -1, 331, 332, 333, 334, 335, 336, 337, 338,
-1, 340, 341, 342, 343, 344, 345, 346, 347, 348,
-1, 350, 351, 352, 353, 354, -1, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
-1, -1, 381, 382, -1, 384, 385, 386, 387, 388,
389, 390, -1, 392, 393, 394, -1, -1, 397, 398,
-1, 400, -1, -1, 403, 404, 405, 406, 407, 408,
409, -1, -1, 412, 413, 414, 415, 416, -1, -1,
419, 420, 421, 422, 423, -1, 425, -1, 427, 428,
429, 430, 431, 432, -1, -1, 435, -1, -1, 438,
439, 440, 441, 442, 443, 3, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 455, 456, 457, -1,
18, 19, 20, 21, 22, 23, 24, 25, -1, 27,
28, 29, -1, -1, -1, -1, -1, -1, -1, 37,
38, -1, 40, 41, 42, 43, 44, 45, 46, -1,
48, 49, 50, 51, -1, 53, 54, 55, 56, 57,
58, -1, -1, 61, 62, 63, 64, 65, -1, 67,
68, 69, 70, -1, -1, 73, -1, 75, 76, 77,
78, 79, 80, 81, 82, 83, -1, 85, 86, 87,
88, 89, 90, -1, 92, 93, 94, 95, -1, -1,
-1, 99, -1, -1, -1, 103, 104, 105, 106, 107,
108, 109, 110, 111, -1, 113, -1, 115, 116, 117,
118, 119, 120, -1, 122, 123, 124, 125, -1, -1,
128, 129, 130, 131, 132, -1, 134, 135, 136, -1,
138, 139, 140, -1, 142, 143, 144, 145, -1, 147,
148, 149, -1, -1, 152, -1, 154, 155, 156, 157,
-1, 159, -1, 161, 162, -1, 164, 165, 166, 167,
168, -1, 170, -1, -1, -1, 174, 175, -1, 177,
178, 179, 180, 181, 182, 183, 184, 185, 186, -1,
188, 189, 190, 191, 192, 193, 194, -1, 196, 197,
-1, 199, 200, 201, 202, 203, 204, -1, 206, -1,
208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
-1, -1, 220, -1, 222, 223, 224, -1, 226, 227,
228, -1, -1, 231, 232, 233, 234, 235, 236, 237,
238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
248, 249, 250, 251, 252, -1, -1, 255, 256, 257,
258, -1, -1, 261, 262, 263, 264, 265, -1, 267,
268, -1, -1, 271, 272, 273, -1, -1, 276, 277,
-1, 279, 280, 281, -1, 283, 284, 285, 286, 287,
288, 289, 290, 291, -1, 293, 294, -1, 296, -1,
298, 299, 300, -1, 302, 303, 304, 305, 306, 307,
308, 309, 310, 311, 312, 313, 314, 315, 316, -1,
318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
328, 329, -1, 331, 332, 333, 334, 335, 336, 337,
338, -1, 340, 341, 342, 343, 344, 345, 346, 347,
348, -1, 350, 351, 352, 353, 354, -1, 356, 357,
358, 359, 360, 361, 362, 363, 364, 365, -1, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
378, -1, -1, 381, 382, -1, 384, 385, 386, 387,
388, 389, 390, -1, 392, 393, 394, -1, -1, 397,
398, -1, 400, -1, -1, 403, 404, 405, 406, 407,
408, 409, -1, -1, 412, 413, 414, 415, 416, -1,
-1, 419, 420, 421, 422, 423, -1, 425, -1, 427,
428, 429, 430, 431, 432, -1, -1, 435, -1, -1,
438, 439, 440, 441, 442, 443, 3, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 455, 456, 457,
-1, 18, 19, 20, 21, 22, 23, 24, 25, -1,
27, 28, 29, -1, -1, -1, -1, -1, -1, -1,
37, 38, -1, 40, 41, 42, 43, 44, 45, 46,
-1, 48, 49, 50, 51, -1, 53, 54, 55, 56,
57, 58, -1, -1, 61, 62, 63, 64, 65, -1,
67, 68, 69, 70, -1, -1, 73, -1, 75, 76,
77, 78, 79, 80, 81, 82, 83, -1, 85, 86,
87, 88, 89, 90, -1, 92, 93, 94, 95, -1,
-1, -1, 99, -1, -1, -1, 103, 104, 105, 106,
107, 108, 109, 110, 111, -1, 113, -1, 115, 116,
117, 118, 119, 120, -1, 122, 123, 124, 125, -1,
-1, 128, 129, 130, 131, 132, -1, 134, 135, 136,
-1, 138, 139, 140, -1, 142, 143, 144, 145, -1,
147, 148, 149, -1, -1, 152, -1, 154, 155, 156,
157, -1, 159, -1, 161, 162, -1, 164, 165, 166,
167, 168, -1, 170, -1, -1, -1, 174, 175, -1,
177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
-1, 188, 189, 190, 191, 192, 193, 194, -1, 196,
197, -1, 199, 200, 201, 202, 203, 204, -1, 206,
-1, 208, 209, 210, 211, 212, 213, 214, 215, 216,
217, -1, -1, 220, -1, 222, 223, 224, -1, 226,
227, 228, -1, -1, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, -1, -1, 255, 256,
257, 258, -1, -1, 261, 262, 263, 264, 265, -1,
267, 268, -1, -1, 271, 272, 273, -1, -1, 276,
277, -1, 279, 280, 281, -1, 283, 284, 285, 286,
287, 288, 289, 290, 291, -1, 293, 294, -1, 296,
-1, 298, 299, 300, -1, 302, 303, 304, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
-1, 318, 319, 320, 321, 322, 323, 324, 325, 326,
327, 328, 329, -1, 331, 332, 333, 334, 335, 336,
337, 338, -1, 340, 341, 342, 343, 344, 345, 346,
347, 348, -1, 350, 351, 352, 353, 354, -1, 356,
357, 358, 359, 360, 361, 362, 363, 364, 365, -1,
367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
377, 378, -1, -1, 381, 382, -1, 384, 385, 386,
387, 388, 389, 390, -1, 392, 393, 394, -1, -1,
397, 398, -1, 400, -1, -1, 403, 404, 405, 406,
407, 408, 409, -1, -1, 412, 413, 414, 415, 416,
-1, -1, 419, 420, 421, 422, 423, -1, 425, -1,
427, 428, 429, 430, 431, 432, -1, -1, 435, -1,
-1, 438, 439, 440, 441, 442, 443, 3, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 455, 456,
457, -1, 18, 19, 20, 21, 22, 23, 24, 25,
-1, 27, 28, 29, -1, -1, -1, -1, -1, -1,
-1, 37, 38, -1, 40, 41, 42, 43, 44, 45,
46, -1, 48, 49, 50, 51, -1, 53, 54, 55,
56, 57, 58, -1, -1, 61, 62, 63, 64, 65,
-1, 67, 68, 69, 70, -1, -1, 73, -1, 75,
76, 77, 78, 79, 80, 81, 82, 83, -1, 85,
86, 87, 88, 89, 90, -1, 92, 93, 94, 95,
-1, -1, -1, 99, -1, -1, -1, 103, 104, 105,
106, 107, 108, 109, 110, 111, -1, 113, -1, 115,
116, 117, 118, 119, 120, -1, 122, 123, 124, 125,
-1, -1, 128, 129, 130, 131, 132, -1, 134, 135,
136, -1, 138, 139, 140, -1, 142, 143, 144, 145,
-1, 147, 148, 149, -1, -1, 152, -1, 154, 155,
156, 157, -1, 159, -1, 161, 162, -1, 164, 165,
166, 167, 168, -1, 170, -1, -1, -1, 174, 175,
-1, 177, 178, 179, 180, 181, 182, 183, 184, 185,
186, -1, 188, 189, 190, 191, 192, 193, 194, -1,
196, 197, -1, 199, 200, 201, 202, 203, 204, -1,
206, -1, 208, 209, 210, 211, 212, 213, 214, 215,
216, 217, -1, -1, 220, -1, 222, 223, 224, -1,
226, 227, 228, -1, -1, 231, 232, 233, 234, 235,
236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
246, 247, 248, 249, 250, 251, 252, -1, -1, 255,
256, 257, 258, -1, -1, 261, 262, 263, 264, 265,
-1, 267, 268, -1, -1, 271, 272, 273, -1, -1,
276, 277, -1, 279, 280, 281, -1, 283, 284, 285,
286, 287, 288, 289, 290, 291, -1, 293, 294, -1,
296, -1, 298, 299, 300, -1, 302, 303, 304, 305,
306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
316, -1, 318, 319, 320, 321, 322, 323, 324, 325,
326, 327, 328, 329, -1, 331, 332, 333, 334, 335,
336, 337, 338, -1, 340, 341, 342, 343, 344, 345,
346, 347, 348, -1, 350, 351, 352, 353, 354, -1,
356, 357, 358, 359, 360, 361, 362, 363, 364, 365,
-1, 367, 368, 369, 370, 371, 372, 373, 374, 375,
376, 377, 378, -1, -1, 381, 382, -1, 384, 385,
386, 387, 388, 389, 390, -1, 392, 393, 394, -1,
-1, 397, 398, -1, 400, -1, -1, 403, 404, 405,
406, 407, 408, 409, -1, -1, 412, 413, 414, 415,
416, -1, -1, 419, 420, 421, 422, 423, -1, 425,
-1, 427, 428, 429, 430, 431, 432, -1, -1, 435,
-1, -1, 438, 439, 440, 441, 442, 443, 3, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 455,
456, 457, -1, 18, 19, 20, 21, 22, 23, 24,
25, -1, 27, 28, 29, -1, -1, -1, -1, -1,
-1, -1, 37, 38, -1, 40, 41, 42, 43, 44,
45, 46, -1, 48, 49, 50, 51, -1, 53, 54,
55, 56, 57, 58, -1, -1, 61, 62, 63, 64,
65, -1, 67, 68, 69, 70, -1, -1, 73, -1,
75, 76, 77, 78, 79, 80, 81, 82, 83, -1,
85, 86, 87, 88, 89, 90, -1, 92, 93, 94,
95, -1, -1, -1, 99, -1, -1, -1, 103, 104,
105, 106, 107, 108, 109, 110, 111, -1, 113, -1,
115, 116, 117, 118, 119, 120, -1, 122, 123, 124,
125, -1, -1, 128, 129, 130, 131, 132, -1, 134,
135, 136, -1, 138, 139, 140, -1, 142, 143, 144,
145, -1, 147, 148, 149, -1, -1, 152, -1, 154,
155, 156, 157, -1, 159, -1, 161, 162, -1, 164,
165, 166, 167, 168, -1, 170, -1, -1, -1, 174,
175, -1, 177, 178, 179, 180, 181, 182, 183, 184,
185, 186, -1, 188, 189, 190, 191, 192, 193, 194,
-1, 196, 197, -1, 199, 200, 201, 202, 203, 204,
-1, 206, -1, 208, 209, 210, 211, 212, 213, 214,
215, 216, 217, -1, -1, 220, -1, 222, 223, 224,
-1, 226, 227, 228, -1, -1, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, -1, -1,
255, 256, 257, 258, -1, -1, 261, 262, 263, 264,
265, -1, 267, 268, -1, -1, 271, 272, 273, -1,
-1, 276, 277, -1, 279, 280, 281, -1, 283, 284,
285, 286, 287, 288, 289, 290, 291, -1, 293, 294,
-1, 296, -1, 298, 299, 300, -1, 302, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, -1, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, 328, 329, -1, 331, 332, 333, 334,
335, 336, 337, 338, -1, 340, 341, 342, 343, 344,
345, 346, 347, 348, -1, 350, 351, 352, 353, 354,
-1, 356, 357, -1, 359, 360, 361, 362, 363, 364,
365, -1, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 377, 378, -1, -1, 381, 382, -1, 384,
385, 386, 387, 388, 389, 390, -1, 392, 393, 394,
-1, -1, 397, 398, -1, 400, -1, -1, 403, 404,
405, 406, 407, 408, 409, -1, -1, 412, 413, 414,
415, 416, -1, -1, 419, 420, 421, 422, 423, -1,
425, -1, 427, 428, 429, 430, 431, 432, -1, -1,
435, -1, -1, 438, 439, 440, 441, 442, 443, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
455, 456, 457, -1, 18, 19, 20, 21, 22, 23,
24, 25, -1, 27, 28, 29, -1, -1, -1, -1,
-1, -1, -1, 37, 38, -1, 40, 41, 42, 43,
44, 45, 46, -1, -1, 49, -1, -1, -1, 53,
54, 55, 56, 57, 58, -1, -1, 61, 62, -1,
-1, 65, -1, 67, 68, 69, 70, -1, -1, 73,
-1, 75, 76, 77, 78, 79, 80, 81, 82, 83,
-1, 85, 86, 87, 88, 89, 90, -1, 92, 93,
94, 95, -1, -1, -1, 99, -1, -1, -1, 103,
104, 105, 106, 107, 108, -1, -1, 111, -1, 113,
-1, 115, 116, 117, 118, 119, 120, -1, 122, 123,
124, 125, -1, -1, 128, 129, 130, 131, 132, -1,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, 145, -1, 147, 148, 149, -1, -1, 152, -1,
154, 155, -1, 157, -1, 159, -1, 161, 162, -1,
164, 165, 166, 167, 168, -1, 170, -1, -1, -1,
174, 175, -1, 177, 178, 179, 180, 181, 182, 183,
184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
194, -1, 196, 197, -1, 199, 200, 201, 202, -1,
-1, -1, -1, -1, 208, 209, 210, 211, 212, 213,
214, 215, 216, 217, -1, -1, 220, -1, 222, 223,
224, -1, 226, 227, 228, -1, -1, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, -1, 248, -1, 250, 251, 252, -1,
-1, 255, 256, 257, 258, -1, -1, 261, -1, 263,
264, 265, -1, 267, 268, -1, -1, 271, 272, 273,
-1, -1, 276, 277, -1, 279, 280, 281, -1, 283,
284, 285, 286, 287, 288, 289, 290, 291, -1, 293,
294, -1, 296, -1, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, -1, 313,
314, 315, 316, -1, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, -1, 331, 332, 333,
334, 335, 336, 337, 338, -1, 340, 341, 342, 343,
344, 345, 346, 347, 348, -1, 350, 351, 352, 353,
354, -1, 356, 357, -1, 359, 360, 361, 362, 363,
-1, 365, -1, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, -1, -1, 381, 382, -1,
384, 385, 386, 387, 388, 389, 390, -1, 392, -1,
-1, -1, -1, 397, 398, -1, 400, -1, -1, 403,
404, 405, 406, 407, 408, 409, -1, -1, 412, 413,
414, 415, 416, -1, -1, 419, 420, 421, 422, 423,
-1, -1, -1, 427, 428, 429, 430, 431, 432, -1,
-1, 435, -1, -1, 438, 439, 440, 441, 442, 443,
3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 455, 456, 457, -1, 18, 19, 20, 21, 22,
23, 24, 25, -1, 27, 28, 29, -1, -1, -1,
-1, -1, -1, -1, 37, 38, -1, 40, 41, 42,
-1, 44, 45, 46, -1, -1, -1, -1, -1, -1,
53, 54, 55, 56, 57, 58, -1, -1, 61, 62,
-1, -1, 65, -1, 67, 68, 69, 70, -1, -1,
-1, -1, 75, 76, 77, 78, 79, -1, 81, 82,
83, -1, 85, 86, 87, 88, 89, 90, -1, -1,
93, 94, 95, -1, -1, -1, -1, -1, -1, -1,
103, 104, 105, 106, 107, 108, -1, -1, 111, -1,
113, -1, 115, 116, 117, 118, 119, 120, -1, 122,
123, 124, 125, -1, -1, 128, 129, 130, 131, 132,
-1, 134, 135, 136, -1, 138, 139, 140, -1, 142,
143, 144, 145, -1, 147, 148, 149, -1, -1, 152,
-1, 154, 155, -1, 157, -1, 159, -1, 161, -1,
-1, -1, 165, 166, 167, 168, -1, 170, -1, -1,
-1, 174, 175, -1, 177, 178, 179, 180, 181, -1,
183, 184, 185, 186, -1, 188, 189, 190, 191, 192,
193, 194, -1, 196, -1, -1, 199, 200, 201, 202,
-1, -1, -1, -1, -1, 208, -1, -1, 211, -1,
213, 214, 215, 216, 217, -1, -1, 220, -1, -1,
223, -1, -1, 226, 227, 228, -1, -1, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
243, 244, 245, 246, -1, -1, -1, 250, 251, 252,
-1, -1, 255, 256, -1, 258, -1, -1, 261, -1,
263, 264, 265, -1, 267, 268, -1, -1, 271, 272,
273, -1, -1, 276, 277, -1, -1, 280, -1, -1,
283, 284, 285, 286, 287, 288, 289, 290, 291, -1,
293, 294, -1, 296, -1, 298, 299, 300, -1, 302,
303, 304, 305, 306, 307, 308, 309, 310, 311, -1,
313, 314, 315, 316, -1, 318, 319, 320, 321, 322,
323, 324, 325, 326, 327, 328, 329, -1, 331, 332,
-1, 334, 335, 336, 337, 338, -1, 340, 341, 342,
343, 344, 345, 346, 347, 348, -1, 350, 351, 352,
353, 354, -1, 356, 357, -1, 359, 360, -1, 362,
363, -1, 365, -1, 367, 368, 369, 370, 371, 372,
373, 374, 375, 376, 377, 378, -1, -1, 381, 382,
-1, 384, -1, 386, 387, 388, 389, 390, -1, 392,
-1, -1, -1, -1, 397, 398, -1, 400, -1, -1,
403, 404, 405, 406, 407, 408, 409, -1, -1, 412,
413, 414, 415, 416, -1, -1, 419, 420, 421, 422,
423, -1, -1, -1, 427, -1, 429, 430, 431, 432,
-1, -1, 435, -1, -1, 438, 439, 440, 441, 442,
443, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 455, 456, 457
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
symbol of state STATE-NUM. */
static const yytype_uint16 yystos[] =
{
0, 18, 28, 30, 31, 46, 55, 67, 69, 70,
76, 78, 89, 91, 108, 111, 125, 127, 131, 137,
145, 147, 153, 169, 186, 226, 227, 232, 244, 256,
299, 313, 319, 320, 322, 327, 332, 335, 342, 348,
349, 356, 360, 370, 383, 403, 413, 419, 424, 437,
460, 474, 481, 482, 483, 484, 485, 491, 492, 494,
495, 496, 497, 499, 503, 515, 520, 521, 524, 525,
526, 549, 552, 553, 569, 613, 614, 617, 620, 621,
622, 630, 636, 638, 640, 641, 644, 647, 648, 652,
661, 665, 666, 667, 668, 671, 673, 674, 675, 676,
684, 685, 705, 709, 711, 712, 713, 723, 725, 732,
733, 736, 737, 738, 739, 740, 748, 750, 754, 759,
763, 764, 772, 773, 776, 781, 794, 821, 824, 825,
826, 831, 834, 836, 838, 840, 841, 846, 847, 850,
851, 852, 856, 857, 860, 861, 864, 865, 866, 873,
875, 876, 877, 882, 884, 885, 891, 892, 893, 894,
895, 896, 897, 899, 900, 902, 903, 905, 908, 911,
920, 926, 929, 931, 932, 941, 943, 948, 953, 957,
958, 959, 960, 961, 962, 965, 1000, 397, 440, 878,
25, 73, 88, 106, 112, 129, 140, 148, 160, 165,
172, 191, 216, 237, 271, 294, 304, 305, 308, 334,
337, 341, 343, 350, 353, 372, 378, 382, 383, 386,
390, 400, 405, 417, 430, 637, 878, 3, 18, 19,
20, 21, 22, 23, 24, 25, 27, 28, 29, 37,
38, 40, 41, 42, 43, 44, 45, 46, 47, 48,
49, 50, 51, 53, 54, 55, 56, 57, 58, 61,
62, 63, 64, 65, 67, 68, 69, 70, 71, 73,
75, 76, 77, 78, 79, 80, 81, 82, 83, 85,
86, 87, 88, 89, 90, 92, 93, 94, 95, 99,
103, 104, 105, 106, 107, 108, 109, 110, 111, 113,
115, 116, 117, 118, 119, 120, 122, 123, 124, 125,
128, 129, 130, 131, 132, 134, 135, 136, 138, 139,
140, 142, 143, 144, 145, 146, 147, 148, 149, 150,
152, 154, 155, 156, 157, 159, 161, 162, 164, 165,
166, 167, 168, 170, 171, 173, 174, 175, 177, 178,
179, 180, 181, 182, 183, 184, 185, 186, 188, 189,
190, 191, 192, 193, 194, 196, 197, 198, 199, 200,
201, 202, 203, 204, 206, 208, 209, 210, 211, 212,
213, 214, 215, 216, 217, 220, 221, 222, 223, 224,
226, 227, 228, 231, 232, 233, 234, 235, 236, 237,
238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
248, 249, 250, 251, 252, 253, 255, 256, 257, 258,
260, 261, 262, 263, 264, 265, 267, 268, 271, 272,
273, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 291, 293, 294, 295,
296, 297, 298, 299, 300, 302, 303, 304, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
328, 329, 331, 332, 333, 334, 335, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
350, 351, 352, 353, 354, 356, 357, 358, 359, 360,
361, 362, 363, 364, 365, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, 377, 378, 379, 381, 382,
384, 385, 386, 387, 388, 389, 390, 392, 393, 394,
397, 398, 399, 400, 401, 403, 404, 405, 406, 407,
408, 409, 412, 413, 414, 415, 416, 419, 420, 421,
422, 423, 424, 425, 427, 428, 429, 430, 431, 432,
435, 438, 439, 440, 441, 442, 443, 444, 445, 446,
447, 448, 449, 450, 451, 452, 453, 454, 455, 456,
457, 1059, 1132, 1140, 1141, 1144, 1145, 1146, 3, 26,
954, 1126, 1140, 1144, 428, 913, 269, 300, 878, 49,
474, 560, 20, 25, 37, 60, 73, 84, 106, 112,
129, 140, 148, 160, 168, 172, 228, 271, 274, 294,
308, 334, 343, 353, 372, 378, 386, 387, 389, 390,
400, 405, 411, 414, 417, 570, 619, 728, 782, 795,
26, 299, 1126, 954, 26, 293, 351, 387, 389, 5,
215, 832, 833, 1135, 20, 25, 37, 60, 73, 88,
106, 129, 140, 148, 160, 165, 172, 191, 237, 271,
284, 294, 305, 308, 334, 337, 341, 343, 350, 353,
372, 378, 383, 386, 390, 398, 400, 405, 417, 430,
637, 741, 742, 743, 878, 1126, 91, 428, 474, 614,
617, 620, 911, 921, 929, 932, 941, 948, 953, 957,
9, 19, 26, 44, 155, 161, 163, 187, 217, 251,
302, 321, 465, 466, 760, 761, 954, 1134, 1136, 26,
91, 317, 349, 765, 766, 767, 1140, 160, 1140, 1131,
1135, 383, 968, 760, 1140, 397, 1126, 284, 237, 106,
191, 343, 382, 383, 474, 842, 843, 342, 1140, 26,
354, 393, 397, 507, 516, 517, 1140, 23, 169, 765,
766, 300, 878, 1140, 214, 26, 126, 970, 971, 61,
85, 228, 246, 334, 343, 354, 393, 397, 443, 504,
505, 506, 507, 26, 354, 393, 397, 507, 397, 270,
1011, 1124, 1140, 968, 467, 1140, 164, 474, 914, 474,
315, 963, 964, 1126, 963, 958, 959, 962, 0, 477,
474, 913, 141, 205, 275, 410, 972, 973, 958, 960,
961, 117, 201, 416, 478, 811, 1132, 745, 1140, 745,
1127, 1140, 303, 745, 400, 1126, 105, 383, 799, 1132,
1140, 1146, 3, 102, 355, 1137, 1138, 1142, 1144, 1145,
1146, 26, 181, 1124, 263, 430, 8, 15, 16, 17,
68, 152, 461, 462, 463, 465, 466, 467, 468, 469,
470, 828, 830, 1088, 1089, 1140, 181, 1126, 799, 1126,
26, 1137, 1138, 799, 1126, 1126, 181, 1124, 1126, 745,
1126, 327, 356, 26, 181, 1011, 1126, 346, 1126, 745,
26, 235, 1137, 1138, 181, 1124, 215, 114, 211, 254,
311, 879, 880, 881, 474, 472, 476, 1115, 1117, 1124,
1130, 1140, 20, 25, 60, 73, 74, 84, 88, 106,
129, 140, 148, 160, 165, 191, 216, 237, 271, 294,
305, 308, 334, 337, 341, 343, 350, 353, 372, 378,
383, 386, 390, 398, 400, 405, 430, 637, 751, 752,
1135, 928, 932, 941, 948, 957, 1124, 239, 1132, 1126,
474, 181, 745, 400, 1127, 745, 400, 181, 1126, 105,
383, 387, 389, 1137, 1138, 387, 389, 68, 152, 828,
325, 1126, 1126, 1137, 181, 500, 1140, 181, 1126, 181,
745, 1126, 1126, 346, 1126, 745, 235, 1137, 315, 350,
383, 430, 237, 88, 191, 165, 305, 341, 398, 404,
631, 26, 1126, 955, 514, 1135, 1142, 833, 239, 181,
811, 812, 1126, 181, 837, 181, 1127, 3, 48, 50,
51, 63, 64, 109, 110, 130, 156, 181, 203, 204,
206, 247, 249, 262, 312, 358, 364, 393, 394, 425,
747, 1033, 1035, 1037, 1039, 1041, 1043, 1044, 1045, 1047,
1048, 1049, 1051, 1052, 1141, 1144, 400, 105, 383, 181,
798, 799, 181, 1138, 1139, 80, 430, 68, 152, 181,
829, 830, 53, 181, 798, 181, 1139, 181, 798, 181,
1126, 181, 1126, 346, 837, 181, 747, 181, 235, 1139,
215, 181, 744, 745, 181, 1125, 1126, 181, 1126, 474,
930, 570, 921, 424, 911, 922, 923, 924, 1142, 913,
1136, 761, 762, 26, 762, 1136, 762, 26, 762, 1136,
762, 762, 762, 1136, 1134, 1134, 954, 762, 303, 474,
474, 590, 590, 590, 269, 395, 478, 590, 343, 1011,
1012, 478, 874, 1135, 474, 927, 53, 430, 428, 844,
845, 1124, 1126, 1140, 43, 457, 211, 476, 272, 272,
269, 163, 1135, 395, 158, 755, 269, 4, 6, 7,
8, 10, 34, 48, 50, 51, 59, 60, 63, 64,
71, 73, 96, 97, 98, 99, 100, 101, 102, 109,
110, 112, 146, 150, 151, 156, 171, 173, 203, 204,
206, 221, 229, 230, 247, 249, 254, 259, 260, 262,
271, 282, 295, 312, 339, 355, 364, 379, 393, 394,
399, 401, 402, 411, 417, 425, 445, 446, 447, 448,
450, 451, 452, 453, 458, 465, 466, 467, 474, 958,
1036, 1039, 1042, 1043, 1044, 1046, 1047, 1048, 1051, 1052,
1056, 1058, 1059, 1060, 1062, 1084, 1085, 1086, 1090, 1109,
1114, 1121, 1122, 1132, 1133, 1134, 1135, 1140, 1120, 1121,
1135, 26, 522, 1123, 1124, 354, 504, 112, 513, 1135,
514, 1135, 43, 65, 504, 457, 365, 880, 272, 163,
395, 463, 43, 457, 211, 881, 474, 1124, 467, 1117,
1012, 3, 162, 164, 428, 906, 907, 911, 162, 915,
1056, 1093, 963, 478, 474, 916, 475, 475, 483, 428,
909, 910, 917, 918, 919, 1124, 26, 126, 969, 969,
53, 969, 153, 158, 225, 266, 976, 978, 979, 994,
996, 997, 998, 972, 973, 163, 207, 1011, 1013, 474,
285, 323, 356, 474, 809, 285, 319, 323, 356, 476,
746, 285, 323, 356, 3, 83, 135, 231, 285, 323,
356, 386, 388, 437, 515, 518, 886, 887, 888, 889,
777, 22, 131, 285, 323, 356, 421, 531, 1126, 22,
131, 356, 416, 498, 441, 181, 1011, 56, 90, 120,
149, 184, 220, 254, 285, 286, 323, 331, 340, 348,
356, 368, 376, 432, 515, 519, 814, 822, 474, 796,
1117, 323, 498, 187, 146, 22, 28, 41, 70, 120,
124, 131, 134, 159, 193, 252, 254, 264, 273, 285,
323, 326, 327, 356, 421, 527, 529, 530, 655, 4,
465, 466, 628, 1136, 26, 181, 1124, 745, 745, 474,
827, 285, 356, 476, 146, 269, 120, 285, 323, 356,
822, 22, 131, 285, 323, 356, 187, 493, 323, 437,
460, 486, 493, 120, 285, 323, 356, 822, 269, 285,
323, 146, 35, 54, 104, 190, 238, 241, 252, 284,
323, 328, 350, 356, 370, 527, 625, 626, 285, 323,
429, 655, 663, 285, 323, 356, 83, 124, 134, 285,
319, 323, 356, 517, 505, 507, 187, 146, 41, 122,
323, 356, 527, 528, 285, 323, 327, 356, 81, 123,
287, 388, 269, 22, 28, 131, 285, 323, 356, 550,
551, 493, 158, 323, 486, 493, 146, 323, 356, 527,
1126, 223, 114, 270, 442, 478, 879, 26, 126, 426,
467, 475, 804, 1056, 1094, 1095, 1141, 1056, 1116, 3,
26, 30, 31, 32, 33, 34, 35, 36, 39, 52,
59, 60, 66, 72, 74, 84, 91, 96, 97, 98,
100, 101, 102, 112, 114, 121, 126, 127, 133, 137,
141, 151, 153, 158, 160, 163, 169, 172, 176, 187,
195, 205, 207, 218, 219, 225, 229, 230, 254, 259,
266, 269, 270, 274, 275, 292, 301, 317, 330, 349,
355, 366, 380, 383, 391, 395, 396, 402, 410, 411,
417, 418, 426, 433, 434, 436, 437, 467, 1129, 1143,
1144, 1145, 1146, 1147, 1115, 418, 904, 269, 239, 811,
474, 1126, 1033, 400, 105, 383, 799, 263, 430, 68,
152, 830, 1126, 799, 799, 1126, 346, 158, 1126, 1033,
215, 745, 1126, 475, 590, 1126, 474, 718, 809, 66,
1033, 254, 163, 474, 714, 1126, 486, 35, 898, 1126,
254, 486, 441, 181, 1124, 486, 745, 745, 714, 414,
570, 269, 158, 858, 859, 486, 254, 43, 501, 254,
405, 662, 254, 916, 83, 285, 639, 81, 123, 287,
388, 24, 45, 202, 686, 35, 714, 158, 181, 486,
430, 181, 1124, 181, 615, 1124, 1124, 430, 745, 80,
783, 1132, 1132, 1126, 158, 637, 49, 103, 200, 252,
345, 146, 57, 329, 478, 532, 532, 146, 474, 146,
427, 1050, 1050, 1050, 474, 1038, 1038, 297, 474, 1040,
146, 63, 64, 1050, 1038, 1035, 439, 460, 474, 1053,
474, 1053, 478, 532, 34, 1034, 474, 107, 179, 240,
243, 347, 455, 474, 1054, 1055, 746, 1038, 441, 146,
478, 532, 146, 478, 181, 744, 181, 745, 181, 745,
146, 478, 532, 1139, 146, 532, 146, 146, 532, 146,
532, 146, 81, 123, 287, 388, 158, 146, 532, 146,
158, 181, 181, 514, 146, 478, 532, 146, 478, 532,
146, 269, 1093, 383, 475, 478, 151, 269, 402, 511,
514, 628, 925, 921, 762, 954, 762, 954, 762, 954,
762, 954, 762, 954, 954, 954, 762, 954, 474, 591,
592, 1140, 591, 26, 106, 129, 160, 165, 215, 216,
305, 337, 343, 350, 383, 386, 405, 768, 1123, 1139,
767, 1126, 187, 478, 944, 1135, 1033, 1096, 35, 1139,
783, 475, 478, 223, 1140, 158, 158, 768, 1139, 342,
1140, 514, 269, 474, 1118, 472, 958, 1097, 1056, 1113,
474, 474, 158, 474, 474, 958, 474, 474, 474, 474,
474, 474, 1056, 474, 474, 474, 474, 474, 474, 474,
474, 958, 474, 474, 474, 474, 474, 474, 474, 474,
1056, 1056, 1056, 958, 1056, 1093, 1117, 1135, 474, 1135,
3, 8, 11, 15, 16, 17, 32, 35, 40, 47,
72, 182, 187, 209, 210, 224, 257, 271, 274, 361,
458, 461, 462, 463, 465, 466, 467, 468, 469, 470,
1088, 1090, 1092, 438, 1071, 281, 1056, 207, 478, 966,
474, 1135, 1117, 966, 115, 183, 523, 478, 65, 112,
514, 35, 3, 112, 228, 512, 628, 1052, 1135, 1135,
86, 128, 1068, 95, 112, 508, 509, 511, 628, 112,
508, 223, 1124, 87, 328, 749, 475, 478, 913, 475,
478, 964, 1125, 35, 475, 478, 478, 916, 960, 960,
974, 975, 1056, 960, 155, 251, 985, 213, 252, 311,
359, 416, 26, 980, 1056, 465, 466, 981, 982, 1056,
1058, 994, 995, 979, 978, 976, 977, 158, 997, 264,
999, 976, 994, 1013, 933, 1124, 35, 1140, 356, 1093,
395, 395, 343, 187, 198, 275, 278, 358, 426, 467,
802, 803, 804, 806, 808, 810, 1033, 1141, 395, 429,
395, 343, 1129, 476, 395, 395, 343, 225, 395, 395,
386, 504, 285, 886, 888, 463, 890, 158, 169, 187,
332, 778, 779, 66, 84, 142, 160, 301, 411, 587,
588, 84, 112, 254, 395, 84, 395, 112, 254, 343,
84, 124, 134, 285, 323, 710, 343, 645, 20, 25,
60, 73, 88, 129, 140, 160, 165, 237, 271, 305,
337, 343, 350, 353, 383, 390, 398, 405, 430, 637,
1126, 146, 323, 356, 527, 269, 628, 269, 348, 220,
395, 1140, 395, 259, 628, 116, 208, 343, 354, 397,
506, 329, 356, 814, 823, 475, 797, 802, 395, 417,
386, 1124, 74, 142, 181, 577, 587, 1140, 74, 84,
848, 289, 269, 269, 339, 341, 400, 84, 848, 29,
326, 339, 341, 400, 339, 1124, 159, 193, 264, 745,
474, 395, 395, 180, 474, 536, 234, 386, 414, 437,
439, 536, 84, 478, 4, 4, 285, 187, 146, 120,
323, 356, 527, 418, 418, 253, 1033, 395, 343, 474,
828, 1126, 1124, 269, 395, 395, 343, 823, 383, 383,
395, 395, 383, 714, 106, 356, 518, 395, 488, 518,
269, 395, 395, 343, 823, 1124, 395, 395, 1124, 1035,
628, 53, 627, 628, 628, 104, 238, 241, 53, 395,
486, 245, 343, 486, 252, 626, 395, 395, 259, 1135,
655, 395, 395, 343, 1135, 395, 308, 395, 308, 714,
386, 1011, 289, 289, 84, 395, 848, 343, 395, 395,
536, 536, 745, 745, 745, 745, 1124, 42, 423, 42,
42, 395, 42, 395, 423, 343, 478, 518, 417, 672,
1138, 395, 488, 518, 1124, 395, 343, 285, 323, 311,
324, 352, 510, 879, 1094, 1094, 1095, 475, 13, 14,
478, 972, 973, 473, 479, 1130, 1140, 1124, 209, 1033,
269, 209, 441, 209, 628, 745, 745, 209, 269, 209,
209, 269, 81, 123, 287, 388, 1033, 269, 209, 209,
209, 395, 437, 561, 405, 3, 719, 720, 714, 474,
35, 146, 745, 715, 716, 1143, 24, 886, 1033, 269,
146, 642, 1126, 254, 289, 474, 487, 728, 418, 315,
430, 1124, 26, 383, 437, 818, 487, 146, 1138, 91,
169, 502, 569, 621, 685, 763, 781, 882, 146, 1135,
663, 664, 146, 269, 1135, 1138, 231, 745, 745, 745,
745, 264, 117, 201, 403, 416, 687, 688, 138, 310,
474, 672, 254, 487, 1124, 254, 623, 625, 254, 35,
264, 289, 474, 590, 590, 181, 618, 1124, 158, 181,
784, 1130, 474, 800, 800, 35, 1033, 215, 437, 439,
956, 345, 812, 811, 1033, 1127, 474, 1093, 1134, 747,
1050, 1050, 34, 1034, 393, 393, 1134, 1134, 1033, 472,
472, 1134, 395, 395, 395, 474, 395, 1134, 1038, 798,
799, 1139, 1138, 146, 532, 146, 418, 146, 418, 829,
830, 532, 798, 1139, 798, 1126, 1126, 1033, 747, 1139,
672, 146, 146, 532, 744, 745, 1125, 1126, 1126, 745,
475, 181, 1124, 921, 923, 954, 954, 954, 954, 954,
954, 591, 475, 478, 475, 166, 306, 338, 351, 384,
1125, 744, 105, 353, 798, 1125, 263, 798, 798, 1125,
1123, 1123, 1125, 744, 395, 437, 774, 141, 225, 669,
670, 20, 144, 339, 359, 945, 1011, 258, 946, 475,
478, 928, 395, 1124, 842, 843, 845, 766, 765, 766,
163, 170, 775, 1140, 25, 74, 106, 129, 140, 160,
165, 216, 237, 305, 308, 334, 337, 343, 350, 378,
383, 386, 405, 430, 637, 756, 757, 1093, 1115, 473,
1093, 1097, 1098, 433, 1110, 1111, 1056, 1093, 474, 1134,
1134, 3, 107, 179, 240, 243, 347, 455, 1099, 1100,
1135, 1093, 1093, 1093, 1134, 1134, 1056, 828, 1056, 1101,
339, 465, 466, 474, 1057, 1058, 1090, 1103, 475, 1093,
1056, 1093, 1104, 1056, 52, 163, 219, 396, 1056, 1093,
1107, 1093, 245, 1058, 1056, 1066, 1067, 1068, 245, 1056,
1068, 475, 478, 1134, 1054, 1033, 1056, 1056, 1056, 1056,
1143, 393, 39, 380, 1119, 745, 1056, 474, 958, 1108,
126, 128, 151, 254, 259, 264, 402, 412, 1056, 474,
1056, 395, 47, 182, 187, 224, 361, 1056, 1056, 1056,
1056, 1056, 1056, 1056, 1056, 1056, 1056, 26, 33, 366,
1087, 172, 154, 1072, 339, 474, 1084, 168, 228, 383,
387, 389, 414, 967, 1124, 1122, 163, 1001, 1094, 1001,
1124, 397, 474, 1135, 478, 475, 180, 180, 532, 919,
907, 911, 912, 1056, 475, 474, 919, 910, 917, 478,
36, 121, 418, 792, 339, 340, 465, 466, 982, 984,
1058, 359, 213, 270, 478, 4, 983, 1134, 983, 339,
340, 984, 1123, 258, 363, 947, 995, 977, 418, 942,
112, 283, 474, 934, 957, 35, 1140, 474, 949, 950,
951, 1140, 475, 1138, 1126, 1126, 278, 53, 1141, 475,
804, 806, 803, 806, 1141, 275, 475, 478, 746, 1138,
1126, 1126, 1129, 1138, 1126, 1126, 1138, 1127, 1126, 112,
511, 1136, 334, 417, 765, 343, 169, 765, 474, 1126,
418, 785, 213, 213, 418, 474, 612, 181, 1126, 259,
1138, 1126, 1126, 1056, 259, 1126, 1126, 29, 326, 395,
395, 1126, 395, 646, 239, 811, 474, 745, 745, 1033,
400, 105, 383, 799, 430, 68, 152, 830, 799, 799,
1126, 745, 1126, 745, 346, 158, 1033, 745, 215, 175,
252, 285, 323, 422, 649, 650, 651, 1011, 395, 848,
343, 259, 148, 116, 208, 1138, 1126, 269, 1126, 475,
478, 1137, 1139, 1126, 323, 527, 181, 577, 254, 1033,
1126, 1134, 1140, 1124, 1126, 148, 223, 1126, 26, 417,
1126, 181, 1126, 181, 1140, 341, 400, 341, 400, 223,
1126, 26, 417, 1126, 223, 339, 1124, 22, 131, 356,
656, 657, 658, 659, 1143, 1138, 1126, 112, 164, 255,
418, 535, 538, 539, 1143, 1126, 267, 70, 267, 1126,
530, 395, 386, 1124, 269, 395, 848, 343, 1128, 1140,
1128, 478, 475, 478, 1138, 1126, 853, 854, 1143, 269,
323, 395, 680, 148, 1138, 1126, 1126, 1012, 1012, 1138,
1126, 1012, 1127, 1137, 3, 83, 136, 193, 291, 409,
417, 420, 489, 148, 1138, 1126, 1126, 323, 1138, 1126,
323, 356, 527, 625, 628, 745, 1126, 628, 745, 1126,
628, 1138, 1126, 1138, 1126, 1126, 1138, 818, 1126, 862,
863, 1143, 1126, 323, 356, 527, 528, 1124, 1124, 1126,
1126, 1126, 1126, 1138, 1126, 22, 28, 131, 285, 323,
356, 285, 323, 356, 714, 323, 356, 323, 356, 120,
323, 1025, 1140, 181, 724, 1140, 181, 1140, 1138, 1126,
1126, 1135, 1126, 22, 551, 353, 1137, 323, 356, 527,
1126, 1126, 395, 395, 79, 408, 311, 478, 972, 972,
972, 1056, 1056, 426, 1095, 475, 1056, 1116, 259, 753,
1135, 35, 129, 745, 753, 753, 209, 418, 418, 753,
745, 753, 753, 745, 215, 745, 753, 753, 753, 307,
555, 267, 163, 395, 554, 191, 463, 475, 478, 1056,
1033, 745, 475, 478, 463, 687, 579, 1143, 1126, 57,
163, 343, 429, 643, 650, 651, 146, 264, 224, 571,
573, 575, 577, 584, 587, 23, 187, 334, 381, 489,
490, 158, 1128, 430, 1124, 35, 681, 384, 1012, 714,
500, 1140, 501, 274, 570, 1126, 160, 745, 1093, 308,
1135, 714, 714, 714, 714, 264, 269, 274, 474, 714,
1023, 1024, 1025, 353, 146, 474, 146, 146, 145, 957,
745, 264, 571, 1140, 437, 439, 608, 437, 537, 254,
35, 590, 1135, 254, 269, 475, 801, 802, 807, 35,
215, 331, 398, 436, 813, 814, 815, 813, 269, 215,
514, 178, 178, 158, 532, 35, 1093, 475, 475, 532,
472, 457, 457, 475, 475, 1134, 473, 1134, 475, 179,
240, 1055, 240, 1055, 1055, 1134, 243, 475, 532, 744,
745, 1128, 745, 1128, 532, 532, 532, 532, 215, 532,
353, 158, 514, 532, 532, 269, 532, 254, 475, 592,
187, 187, 187, 187, 187, 441, 1125, 628, 629, 172,
769, 770, 1138, 23, 775, 395, 474, 163, 144, 359,
144, 359, 339, 416, 242, 1033, 1138, 437, 616, 1124,
1126, 163, 269, 769, 53, 532, 811, 1033, 400, 383,
799, 263, 430, 799, 799, 1033, 215, 745, 1126, 475,
473, 473, 478, 1056, 133, 1111, 1112, 35, 475, 1056,
475, 475, 475, 163, 475, 475, 475, 475, 475, 478,
475, 292, 1102, 475, 474, 1057, 1057, 1093, 11, 15,
16, 17, 187, 209, 271, 461, 462, 463, 465, 466,
467, 468, 469, 470, 1090, 1057, 475, 475, 158, 163,
1105, 1106, 475, 35, 1107, 1093, 1107, 1107, 163, 475,
475, 1143, 290, 1070, 35, 475, 478, 1056, 1143, 478,
1056, 1118, 1056, 475, 457, 1057, 1057, 139, 1093, 163,
126, 128, 151, 259, 264, 402, 412, 474, 139, 828,
1056, 380, 1119, 1056, 1108, 1056, 395, 474, 958, 474,
474, 280, 1076, 474, 1093, 387, 389, 387, 389, 1124,
968, 968, 968, 218, 340, 454, 474, 958, 1002, 1003,
1004, 1011, 1016, 1026, 1059, 1061, 1062, 1140, 434, 1021,
972, 1021, 880, 1134, 1054, 509, 919, 928, 975, 271,
1088, 1091, 459, 793, 4, 1134, 984, 270, 416, 981,
233, 1002, 434, 1022, 424, 382, 417, 935, 936, 937,
1140, 269, 938, 1140, 951, 952, 478, 1001, 463, 1118,
810, 746, 806, 806, 53, 808, 469, 1139, 1139, 269,
1125, 272, 269, 1056, 588, 1128, 474, 474, 474, 612,
191, 591, 703, 146, 532, 395, 1138, 1126, 514, 1126,
1033, 1126, 441, 745, 745, 745, 745, 81, 123, 287,
388, 1033, 1126, 632, 1126, 175, 422, 395, 395, 632,
649, 655, 323, 356, 527, 1126, 1126, 1126, 199, 1126,
259, 802, 284, 356, 395, 254, 146, 273, 653, 703,
356, 22, 131, 327, 328, 356, 531, 540, 541, 655,
849, 1126, 348, 146, 532, 146, 532, 1126, 1126, 1126,
1126, 348, 348, 223, 658, 659, 658, 475, 478, 660,
1135, 191, 475, 478, 463, 476, 1138, 1126, 323, 356,
527, 148, 1126, 1126, 1126, 285, 323, 356, 22, 131,
285, 323, 356, 1033, 253, 1033, 475, 478, 463, 1124,
395, 1139, 418, 677, 1126, 225, 291, 259, 1135, 291,
1139, 415, 1126, 395, 395, 343, 478, 818, 284, 356,
84, 395, 848, 343, 112, 158, 542, 395, 395, 235,
235, 235, 395, 395, 343, 395, 395, 343, 395, 343,
395, 343, 269, 395, 532, 1033, 254, 1135, 356, 849,
146, 532, 395, 395, 1126, 395, 343, 1138, 1126, 475,
475, 475, 1095, 473, 1033, 745, 209, 753, 1128, 1128,
209, 209, 1126, 209, 373, 374, 556, 1135, 555, 175,
253, 271, 465, 466, 628, 717, 806, 1091, 1135, 1147,
3, 720, 475, 475, 163, 714, 716, 717, 269, 66,
72, 84, 112, 114, 167, 195, 254, 259, 301, 317,
411, 580, 581, 583, 145, 433, 486, 514, 1126, 514,
653, 1124, 1124, 1124, 475, 478, 1139, 172, 334, 1139,
1134, 405, 1124, 590, 3, 158, 682, 43, 501, 325,
383, 662, 105, 916, 163, 862, 537, 591, 1124, 688,
721, 722, 1135, 475, 478, 1126, 158, 591, 1124, 615,
1124, 1126, 616, 474, 572, 1124, 475, 267, 536, 267,
269, 609, 536, 35, 146, 957, 537, 395, 146, 1011,
475, 478, 112, 463, 816, 1135, 514, 383, 805, 806,
158, 817, 815, 117, 201, 349, 416, 871, 1126, 175,
957, 1033, 475, 1134, 1053, 1053, 473, 473, 475, 532,
418, 532, 418, 532, 1126, 1126, 672, 532, 745, 146,
343, 343, 343, 343, 343, 1125, 478, 1138, 437, 478,
771, 272, 1012, 353, 144, 144, 105, 252, 1139, 768,
532, 1138, 209, 209, 209, 628, 209, 209, 209, 209,
209, 1097, 391, 1056, 137, 1033, 475, 1056, 1056, 1056,
1105, 475, 1093, 478, 1033, 1057, 1057, 1057, 1057, 126,
128, 254, 264, 1057, 1057, 1057, 1057, 1057, 1057, 1057,
1057, 1057, 1057, 1056, 1056, 1106, 1105, 1033, 475, 475,
475, 1093, 475, 478, 53, 1058, 475, 1143, 1067, 298,
377, 1069, 475, 478, 429, 1063, 35, 475, 1135, 1056,
32, 32, 1056, 475, 1056, 163, 474, 1096, 1056, 475,
139, 1057, 1057, 139, 139, 1056, 1056, 973, 434, 474,
1077, 1140, 475, 1093, 478, 968, 968, 968, 968, 1124,
1124, 1124, 958, 1016, 1026, 163, 474, 958, 1003, 1004,
35, 1005, 1006, 1140, 478, 92, 164, 197, 212, 222,
248, 333, 1008, 1006, 35, 1005, 1007, 1140, 1006, 460,
1020, 1117, 1056, 172, 986, 475, 986, 475, 475, 474,
793, 155, 217, 270, 95, 1056, 330, 940, 423, 475,
478, 1118, 82, 940, 475, 478, 950, 1022, 1056, 475,
469, 810, 405, 166, 338, 344, 351, 384, 406, 780,
158, 780, 475, 474, 595, 596, 787, 1061, 1140, 591,
591, 703, 1130, 475, 114, 195, 252, 254, 704, 1126,
1126, 35, 1126, 418, 418, 745, 745, 745, 745, 215,
746, 1138, 1126, 395, 848, 343, 395, 199, 53, 386,
1126, 146, 577, 474, 579, 372, 167, 180, 254, 536,
486, 105, 167, 254, 372, 375, 536, 626, 356, 541,
405, 1126, 1140, 348, 657, 1126, 539, 717, 1143, 284,
356, 395, 848, 343, 1126, 395, 395, 395, 343, 165,
271, 375, 726, 727, 165, 271, 734, 735, 395, 395,
343, 475, 475, 475, 854, 253, 628, 806, 855, 1091,
1135, 1147, 323, 1126, 474, 437, 678, 1136, 1135, 1135,
1135, 1126, 1126, 1126, 863, 53, 386, 1126, 1126, 1126,
1126, 424, 1126, 1126, 158, 158, 325, 158, 181, 1138,
1126, 1126, 1138, 1126, 1126, 1126, 1126, 1126, 1126, 148,
1126, 72, 533, 146, 24, 45, 405, 1140, 1126, 1135,
655, 1126, 1126, 972, 475, 209, 753, 209, 209, 753,
753, 209, 753, 486, 556, 632, 703, 437, 439, 745,
1124, 474, 745, 1126, 1057, 29, 53, 582, 115, 183,
114, 259, 213, 1124, 818, 165, 305, 699, 706, 707,
1140, 642, 289, 474, 572, 585, 194, 602, 575, 1139,
1139, 1033, 474, 537, 26, 117, 201, 349, 416, 683,
395, 679, 1138, 181, 1124, 664, 441, 269, 1002, 818,
318, 689, 475, 478, 1025, 653, 672, 475, 623, 35,
264, 289, 474, 930, 574, 576, 578, 587, 1140, 289,
603, 604, 572, 602, 78, 386, 610, 957, 618, 616,
610, 1135, 1130, 785, 807, 1056, 1056, 478, 474, 813,
405, 478, 395, 474, 632, 475, 473, 1128, 1128, 532,
353, 532, 1125, 1125, 1125, 1125, 1125, 628, 169, 770,
475, 1126, 105, 775, 163, 259, 758, 1135, 758, 758,
209, 758, 758, 758, 758, 758, 1056, 475, 475, 1106,
475, 1056, 163, 126, 128, 264, 474, 475, 444, 1065,
1093, 316, 53, 435, 435, 475, 1056, 252, 1056, 478,
1064, 1035, 1056, 1056, 1056, 1096, 475, 1056, 32, 32,
1056, 1056, 139, 475, 475, 1056, 1078, 1140, 475, 1056,
1124, 1124, 1124, 1124, 1006, 1007, 1006, 474, 449, 1058,
475, 1140, 474, 1003, 212, 279, 1009, 1003, 1009, 212,
1008, 1009, 212, 385, 1014, 474, 1140, 474, 276, 53,
176, 993, 1135, 993, 1135, 828, 264, 1121, 957, 283,
957, 937, 269, 474, 939, 463, 951, 940, 405, 475,
395, 765, 163, 703, 1056, 475, 478, 437, 72, 790,
790, 475, 475, 188, 593, 115, 183, 193, 114, 420,
532, 1033, 1128, 1128, 1126, 1126, 1126, 1126, 1126, 1139,
1126, 577, 654, 658, 1136, 582, 181, 259, 628, 582,
259, 1136, 1140, 1033, 532, 532, 463, 53, 386, 1126,
1126, 1126, 1126, 1138, 1126, 1126, 1134, 1134, 1033, 478,
1134, 1134, 478, 1138, 1126, 1126, 395, 1056, 66, 1139,
1126, 395, 395, 163, 187, 437, 1125, 1125, 745, 1125,
146, 1126, 745, 1135, 1135, 1033, 532, 532, 475, 209,
753, 753, 753, 753, 474, 557, 558, 418, 562, 563,
165, 198, 165, 163, 702, 1056, 254, 581, 112, 35,
818, 590, 418, 611, 1132, 32, 145, 187, 264, 571,
542, 143, 189, 474, 353, 418, 591, 35, 1139, 677,
501, 254, 474, 160, 1126, 1093, 250, 268, 690, 691,
692, 158, 695, 1135, 353, 537, 957, 745, 264, 571,
616, 475, 478, 437, 579, 53, 608, 542, 603, 117,
131, 298, 1126, 437, 883, 35, 163, 269, 474, 1135,
804, 819, 820, 1141, 1033, 158, 1124, 163, 395, 839,
196, 633, 532, 532, 532, 1126, 272, 207, 532, 769,
758, 475, 1057, 163, 474, 1096, 474, 475, 478, 475,
1058, 316, 475, 423, 369, 475, 475, 475, 1056, 1056,
1056, 475, 289, 1079, 475, 1017, 1018, 1061, 474, 1070,
1005, 474, 1125, 1003, 269, 418, 1010, 1003, 212, 1003,
1132, 1024, 474, 1024, 1140, 94, 173, 336, 474, 987,
988, 989, 990, 991, 992, 1056, 1056, 436, 1073, 1073,
475, 954, 935, 84, 786, 787, 127, 1056, 769, 269,
769, 475, 593, 596, 271, 828, 745, 745, 791, 791,
317, 593, 474, 818, 475, 395, 356, 946, 475, 478,
35, 146, 533, 717, 1139, 1126, 395, 474, 799, 828,
830, 727, 474, 474, 735, 1126, 475, 474, 356, 946,
1126, 1126, 474, 474, 474, 437, 460, 901, 325, 901,
901, 158, 533, 753, 564, 565, 1143, 49, 93, 118,
135, 139, 159, 162, 177, 259, 267, 309, 559, 486,
119, 799, 35, 835, 835, 1124, 703, 475, 180, 611,
236, 594, 191, 474, 707, 699, 474, 1124, 475, 353,
26, 77, 85, 113, 180, 192, 372, 375, 586, 586,
1123, 1126, 1128, 475, 957, 678, 146, 105, 653, 163,
691, 339, 383, 693, 132, 696, 433, 698, 1126, 35,
616, 572, 1124, 475, 576, 273, 3, 605, 1144, 609,
603, 608, 340, 340, 58, 66, 228, 957, 745, 1011,
786, 806, 475, 478, 405, 1021, 367, 367, 475, 632,
252, 422, 634, 635, 1126, 532, 1057, 1096, 475, 1066,
1093, 53, 252, 456, 53, 972, 475, 478, 35, 1019,
112, 1031, 1032, 1057, 75, 1125, 475, 1056, 474, 1003,
1010, 474, 475, 1024, 475, 474, 357, 474, 475, 478,
1074, 1075, 1140, 423, 1126, 475, 478, 255, 416, 771,
780, 532, 790, 818, 474, 792, 792, 1124, 818, 591,
611, 1126, 386, 658, 180, 418, 534, 356, 946, 1126,
1096, 158, 730, 730, 1096, 1096, 1056, 386, 151, 238,
241, 259, 402, 545, 547, 548, 628, 1135, 545, 546,
543, 544, 1142, 744, 745, 744, 745, 1125, 532, 475,
478, 467, 474, 511, 566, 628, 898, 1135, 898, 254,
259, 309, 898, 898, 557, 1135, 835, 38, 185, 158,
252, 589, 474, 624, 164, 288, 362, 269, 598, 599,
600, 386, 475, 1132, 5, 708, 572, 602, 1126, 475,
653, 152, 729, 537, 883, 1124, 441, 1002, 898, 339,
371, 697, 474, 145, 653, 957, 603, 572, 602, 579,
474, 610, 608, 609, 66, 272, 66, 616, 785, 475,
813, 819, 1033, 127, 437, 437, 422, 632, 653, 475,
475, 475, 316, 423, 1093, 174, 310, 340, 1080, 1020,
1017, 474, 1057, 475, 478, 35, 1027, 1028, 1140, 475,
1125, 1093, 475, 1093, 474, 1093, 988, 478, 35, 957,
1021, 787, 356, 163, 791, 611, 828, 793, 793, 590,
611, 475, 703, 1126, 624, 1056, 386, 475, 275, 346,
314, 731, 731, 475, 475, 475, 1126, 475, 478, 475,
478, 475, 478, 1134, 901, 565, 511, 567, 568, 1135,
1135, 259, 591, 467, 591, 1135, 1135, 132, 193, 625,
117, 416, 269, 600, 269, 599, 1126, 474, 475, 478,
542, 353, 653, 745, 35, 35, 474, 1126, 694, 1140,
1056, 699, 883, 608, 542, 603, 474, 606, 607, 1061,
1140, 609, 610, 272, 272, 474, 188, 788, 27, 202,
872, 165, 165, 47, 95, 407, 1056, 1081, 1082, 1081,
1081, 475, 1024, 478, 1032, 1143, 475, 478, 158, 1033,
475, 475, 475, 987, 475, 1075, 1077, 949, 769, 792,
434, 597, 475, 594, 703, 946, 1126, 799, 53, 946,
395, 548, 545, 543, 745, 475, 478, 591, 339, 475,
57, 252, 329, 356, 601, 601, 475, 5, 353, 1126,
726, 957, 653, 475, 1132, 609, 603, 608, 1056, 475,
478, 790, 790, 610, 786, 474, 537, 255, 474, 867,
869, 873, 932, 941, 948, 957, 799, 799, 1082, 339,
157, 296, 157, 296, 142, 1083, 1083, 1083, 475, 1058,
1028, 276, 3, 112, 254, 259, 1029, 1030, 324, 1015,
475, 1021, 532, 793, 474, 703, 598, 946, 745, 474,
568, 698, 21, 112, 259, 1126, 653, 883, 474, 610,
608, 609, 475, 607, 791, 791, 475, 787, 789, 610,
868, 869, 870, 958, 959, 478, 478, 32, 95, 172,
252, 392, 1070, 1057, 1057, 259, 1030, 474, 1056, 703,
547, 145, 653, 4, 700, 701, 1134, 1135, 1143, 609,
610, 790, 788, 475, 478, 1021, 475, 477, 395, 163,
1082, 339, 277, 75, 1056, 475, 475, 699, 475, 478,
610, 791, 537, 787, 870, 367, 367, 1027, 475, 1132,
701, 610, 437, 437, 475, 474, 1021, 165, 165, 700,
799, 799, 475
};
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const yytype_uint16 yyr1[] =
{
0, 480, 481, 482, 482, 483, 483, 483, 483, 483,
483, 483, 483, 483, 483, 483, 483, 483, 483, 483,
483, 483, 483, 483, 483, 483, 483, 483, 483, 483,
483, 483, 483, 483, 483, 483, 483, 483, 483, 483,
483, 483, 483, 483, 483, 483, 483, 483, 483, 483,
483, 483, 483, 483, 483, 483, 483, 483, 483, 483,
483, 483, 483, 483, 483, 483, 483, 483, 483, 483,
483, 483, 483, 483, 483, 483, 483, 483, 483, 483,
483, 483, 483, 483, 483, 483, 483, 483, 483, 483,
483, 483, 483, 483, 483, 483, 483, 483, 483, 483,
483, 483, 483, 483, 483, 483, 483, 483, 483, 483,
483, 483, 483, 483, 483, 483, 483, 483, 483, 483,
483, 483, 483, 483, 483, 483, 483, 483, 483, 483,
484, 485, 486, 486, 486, 487, 487, 488, 488, 489,
489, 489, 489, 489, 489, 489, 489, 489, 490, 490,
490, 490, 490, 490, 491, 492, 492, 493, 493, 494,
494, 494, 494, 495, 495, 495, 495, 495, 495, 496,
497, 498, 498, 499, 499, 499, 499, 500, 500, 501,
501, 502, 502, 502, 502, 502, 502, 503, 503, 503,
504, 504, 504, 505, 505, 505, 505, 506, 506, 506,
506, 506, 506, 506, 506, 506, 506, 506, 507, 507,
508, 508, 509, 509, 510, 510, 510, 510, 511, 511,
511, 511, 512, 512, 512, 512, 512, 512, 512, 513,
513, 513, 514, 514, 515, 516, 516, 516, 516, 517,
517, 518, 518, 519, 519, 520, 520, 520, 520, 520,
521, 522, 522, 523, 523, 524, 525, 525, 525, 525,
525, 526, 526, 526, 526, 526, 526, 526, 526, 526,
526, 526, 526, 526, 526, 526, 526, 526, 526, 526,
527, 527, 528, 528, 529, 530, 530, 530, 530, 530,
530, 530, 530, 530, 530, 530, 530, 530, 530, 530,
530, 530, 530, 530, 530, 530, 530, 530, 530, 530,
530, 530, 530, 530, 530, 530, 530, 530, 530, 530,
530, 530, 530, 530, 530, 530, 530, 530, 530, 530,
530, 530, 530, 530, 530, 530, 530, 530, 530, 530,
530, 530, 531, 531, 532, 532, 532, 533, 533, 534,
534, 535, 535, 535, 535, 536, 537, 537, 538, 538,
539, 539, 539, 539, 540, 540, 541, 541, 541, 541,
542, 542, 542, 542, 543, 544, 544, 545, 545, 545,
545, 545, 546, 546, 547, 547, 548, 548, 548, 549,
550, 550, 551, 551, 551, 551, 552, 552, 553, 553,
554, 554, 555, 555, 556, 556, 556, 557, 557, 558,
558, 559, 559, 559, 559, 559, 559, 559, 559, 559,
559, 559, 559, 559, 559, 560, 560, 561, 561, 562,
562, 563, 563, 564, 564, 565, 566, 566, 566, 566,
566, 567, 567, 568, 569, 569, 569, 569, 569, 569,
570, 570, 570, 570, 570, 570, 570, 570, 571, 571,
572, 572, 573, 573, 574, 574, 575, 575, 575, 576,
576, 577, 578, 578, 579, 579, 580, 580, 580, 580,
581, 581, 581, 581, 581, 581, 581, 581, 582, 582,
583, 583, 583, 583, 584, 585, 585, 585, 586, 586,
586, 586, 586, 586, 586, 586, 587, 587, 588, 588,
588, 588, 588, 588, 588, 589, 589, 590, 590, 591,
591, 592, 593, 593, 594, 594, 594, 594, 595, 595,
596, 596, 597, 597, 598, 598, 598, 598, 598, 599,
600, 601, 601, 601, 601, 601, 602, 602, 603, 603,
604, 605, 605, 606, 606, 607, 607, 607, 608, 608,
608, 608, 609, 609, 609, 609, 610, 610, 611, 611,
612, 613, 613, 614, 614, 615, 616, 616, 616, 617,
617, 618, 619, 619, 620, 621, 621, 622, 622, 623,
623, 624, 624, 625, 625, 626, 626, 626, 626, 626,
626, 626, 626, 626, 626, 626, 626, 626, 626, 627,
627, 628, 628, 628, 628, 629, 629, 630, 630, 631,
631, 632, 632, 633, 633, 634, 634, 635, 635, 636,
636, 637, 637, 638, 639, 639, 640, 640, 641, 641,
642, 642, 643, 643, 643, 643, 644, 645, 645, 646,
647, 647, 647, 647, 647, 647, 647, 647, 647, 647,
647, 647, 647, 647, 647, 647, 647, 647, 647, 647,
647, 647, 647, 647, 647, 647, 647, 647, 648, 649,
649, 649, 649, 650, 650, 651, 651, 652, 652, 653,
653, 654, 654, 655, 656, 656, 657, 657, 657, 657,
658, 659, 660, 661, 661, 662, 662, 663, 663, 664,
664, 665, 665, 665, 666, 666, 666, 666, 667, 667,
668, 669, 669, 670, 670, 671, 671, 672, 672, 673,
673, 674, 675, 676, 677, 677, 678, 678, 679, 679,
680, 680, 681, 681, 682, 682, 683, 683, 683, 683,
683, 684, 685, 685, 686, 686, 686, 687, 687, 688,
688, 688, 688, 688, 689, 689, 690, 690, 691, 692,
692, 693, 693, 694, 695, 695, 696, 696, 697, 697,
698, 698, 699, 699, 700, 700, 700, 701, 701, 701,
701, 702, 702, 703, 703, 704, 704, 704, 704, 704,
704, 705, 705, 706, 706, 707, 708, 708, 709, 710,
710, 710, 710, 711, 712, 713, 713, 713, 713, 713,
713, 713, 713, 713, 713, 713, 713, 713, 713, 713,
713, 714, 715, 715, 716, 716, 717, 717, 717, 717,
717, 717, 718, 719, 719, 720, 721, 721, 722, 722,
723, 723, 723, 723, 724, 724, 725, 726, 726, 727,
727, 727, 727, 727, 728, 728, 729, 729, 730, 730,
730, 731, 731, 732, 733, 733, 734, 734, 735, 735,
736, 736, 737, 737, 738, 739, 740, 740, 740, 740,
740, 740, 740, 740, 740, 740, 740, 740, 741, 741,
741, 741, 741, 741, 741, 741, 741, 741, 741, 741,
741, 742, 742, 742, 742, 742, 742, 742, 743, 743,
743, 744, 744, 745, 745, 746, 746, 747, 747, 748,
749, 749, 749, 750, 750, 750, 750, 750, 750, 750,
750, 750, 750, 750, 750, 750, 750, 750, 750, 750,
750, 750, 751, 751, 751, 751, 751, 751, 751, 751,
751, 751, 751, 751, 751, 751, 752, 752, 752, 752,
752, 752, 752, 752, 752, 752, 752, 752, 753, 753,
754, 754, 754, 754, 754, 754, 754, 754, 754, 755,
755, 756, 756, 756, 756, 756, 756, 757, 757, 757,
757, 757, 757, 757, 757, 758, 758, 759, 759, 760,
760, 760, 760, 760, 760, 760, 760, 760, 760, 760,
760, 760, 760, 760, 760, 761, 761, 762, 762, 763,
764, 764, 765, 765, 765, 765, 765, 766, 766, 767,
767, 767, 767, 768, 768, 768, 768, 768, 768, 768,
768, 768, 768, 768, 768, 768, 768, 768, 768, 768,
768, 768, 768, 769, 769, 770, 770, 771, 771, 772,
773, 773, 774, 774, 775, 775, 776, 777, 777, 778,
778, 778, 779, 779, 779, 780, 780, 780, 780, 780,
780, 781, 781, 782, 782, 783, 783, 784, 784, 785,
785, 786, 786, 787, 787, 787, 788, 788, 789, 789,
790, 790, 791, 791, 792, 792, 792, 793, 793, 793,
794, 794, 794, 794, 795, 795, 796, 796, 797, 797,
798, 798, 799, 799, 799, 799, 800, 800, 801, 801,
802, 802, 802, 802, 802, 803, 803, 803, 803, 803,
804, 805, 806, 806, 806, 807, 807, 807, 808, 809,
809, 809, 809, 810, 810, 811, 812, 812, 813, 813,
814, 814, 814, 814, 814, 814, 814, 814, 814, 814,
814, 814, 814, 814, 814, 814, 815, 815, 815, 815,
815, 816, 816, 817, 817, 818, 818, 819, 820, 820,
821, 821, 821, 822, 822, 823, 823, 824, 824, 824,
824, 824, 824, 825, 825, 826, 826, 827, 827, 827,
827, 828, 828, 829, 829, 830, 831, 832, 832, 833,
833, 834, 834, 834, 835, 835, 835, 836, 837, 837,
838, 839, 839, 839, 839, 840, 841, 841, 841, 841,
842, 842, 843, 843, 843, 844, 844, 845, 846, 846,
847, 847, 847, 847, 847, 847, 847, 847, 847, 847,
847, 847, 847, 847, 847, 847, 847, 847, 847, 847,
847, 847, 847, 847, 847, 847, 847, 847, 847, 847,
847, 847, 847, 847, 847, 847, 847, 847, 847, 847,
847, 847, 847, 847, 847, 847, 847, 847, 847, 847,
847, 847, 847, 848, 848, 849, 849, 850, 850, 850,
850, 850, 850, 851, 851, 851, 851, 851, 851, 851,
851, 851, 851, 851, 851, 851, 851, 851, 851, 851,
851, 851, 851, 851, 851, 851, 851, 851, 851, 851,
852, 853, 853, 854, 854, 855, 855, 855, 855, 855,
856, 856, 856, 856, 856, 856, 856, 856, 856, 856,
856, 856, 856, 856, 856, 856, 856, 856, 856, 856,
856, 856, 856, 856, 857, 858, 858, 859, 859, 860,
860, 860, 860, 861, 862, 862, 863, 864, 864, 864,
864, 864, 864, 865, 865, 866, 867, 867, 867, 868,
868, 869, 869, 869, 869, 869, 870, 870, 871, 871,
871, 871, 872, 872, 872, 873, 874, 874, 875, 876,
876, 877, 877, 877, 877, 877, 877, 877, 877, 877,
877, 877, 877, 877, 877, 878, 878, 878, 879, 879,
879, 879, 879, 880, 880, 880, 881, 881, 882, 882,
882, 882, 883, 883, 883, 883, 884, 885, 886, 886,
887, 887, 888, 888, 888, 889, 889, 889, 889, 889,
889, 889, 890, 890, 891, 891, 891, 892, 893, 893,
894, 895, 895, 896, 897, 897, 897, 897, 897, 897,
897, 898, 898, 899, 900, 900, 900, 900, 900, 900,
901, 901, 902, 903, 903, 903, 904, 904, 905, 905,
906, 906, 907, 907, 907, 907, 907, 908, 908, 909,
909, 910, 911, 911, 912, 912, 913, 913, 914, 914,
915, 915, 916, 916, 917, 918, 918, 919, 919, 920,
920, 920, 920, 921, 921, 921, 921, 921, 921, 921,
921, 921, 922, 922, 923, 924, 924, 925, 925, 925,
926, 927, 927, 928, 928, 928, 928, 929, 929, 930,
930, 931, 931, 931, 931, 932, 933, 933, 934, 934,
934, 934, 934, 935, 935, 936, 936, 937, 938, 938,
938, 939, 939, 939, 940, 940, 941, 942, 942, 943,
944, 944, 945, 945, 945, 945, 945, 945, 945, 945,
946, 946, 947, 947, 947, 948, 949, 949, 950, 950,
951, 952, 952, 953, 954, 955, 955, 955, 955, 955,
956, 956, 956, 957, 957, 958, 958, 959, 959, 959,
959, 959, 959, 959, 959, 960, 960, 961, 961, 961,
961, 961, 961, 961, 962, 962, 962, 963, 963, 964,
965, 965, 966, 966, 967, 967, 967, 967, 967, 967,
967, 967, 967, 968, 968, 969, 969, 969, 970, 970,
971, 971, 972, 972, 973, 974, 974, 975, 975, 976,
976, 976, 976, 977, 977, 978, 978, 978, 978, 979,
979, 980, 980, 981, 982, 982, 982, 983, 983, 984,
984, 985, 985, 986, 986, 987, 987, 988, 988, 988,
988, 988, 989, 990, 991, 992, 993, 993, 994, 994,
995, 995, 996, 996, 997, 998, 998, 998, 998, 999,
999, 1000, 1000, 1001, 1001, 1002, 1002, 1003, 1003, 1003,
1003, 1003, 1003, 1003, 1003, 1003, 1003, 1004, 1004, 1004,
1004, 1004, 1004, 1005, 1005, 1005, 1005, 1006, 1006, 1007,
1007, 1007, 1007, 1007, 1008, 1008, 1008, 1008, 1009, 1009,
1010, 1010, 1011, 1011, 1011, 1011, 1012, 1012, 1013, 1013,
1013, 1014, 1015, 1015, 1016, 1016, 1017, 1018, 1018, 1019,
1019, 1020, 1020, 1021, 1021, 1022, 1022, 1022, 1023, 1023,
1024, 1024, 1025, 1026, 1026, 1027, 1027, 1028, 1028, 1028,
1029, 1029, 1030, 1030, 1030, 1030, 1031, 1031, 1032, 1032,
1033, 1033, 1033, 1033, 1033, 1033, 1034, 1034, 1034, 1035,
1035, 1035, 1035, 1035, 1035, 1035, 1036, 1036, 1036, 1036,
1037, 1037, 1038, 1038, 1039, 1039, 1039, 1039, 1039, 1039,
1039, 1039, 1039, 1039, 1039, 1040, 1040, 1041, 1041, 1042,
1042, 1043, 1044, 1045, 1045, 1046, 1046, 1047, 1048, 1049,
1049, 1049, 1049, 1049, 1049, 1050, 1050, 1051, 1051, 1051,
1051, 1052, 1053, 1053, 1053, 1054, 1054, 1054, 1054, 1054,
1054, 1054, 1054, 1054, 1054, 1054, 1054, 1054, 1054, 1055,
1055, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056,
1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056,
1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056,
1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056,
1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056,
1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056,
1056, 1056, 1056, 1056, 1056, 1057, 1057, 1057, 1057, 1057,
1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057,
1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057,
1058, 1058, 1058, 1058, 1058, 1058, 1058, 1058, 1058, 1058,
1058, 1058, 1058, 1058, 1059, 1059, 1059, 1059, 1059, 1059,
1059, 1060, 1060, 1061, 1061, 1062, 1062, 1062, 1062, 1062,
1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062,
1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062,
1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062,
1062, 1062, 1062, 1062, 1062, 1062, 1062, 1063, 1063, 1064,
1064, 1064, 1064, 1065, 1066, 1066, 1067, 1067, 1068, 1068,
1069, 1069, 1069, 1070, 1070, 1070, 1070, 1071, 1071, 1072,
1072, 1073, 1073, 1074, 1074, 1075, 1076, 1076, 1076, 1077,
1078, 1078, 1079, 1079, 1080, 1080, 1080, 1080, 1081, 1081,
1082, 1082, 1082, 1082, 1082, 1083, 1083, 1083, 1083, 1083,
1084, 1084, 1084, 1085, 1085, 1086, 1087, 1087, 1087, 1088,
1088, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089, 1089,
1089, 1089, 1089, 1090, 1090, 1091, 1091, 1092, 1092, 1092,
1092, 1092, 1092, 1093, 1093, 1094, 1094, 1095, 1095, 1095,
1096, 1096, 1097, 1097, 1097, 1098, 1098, 1099, 1099, 1100,
1100, 1100, 1100, 1100, 1100, 1100, 1100, 1101, 1101, 1102,
1103, 1103, 1104, 1104, 1104, 1104, 1104, 1104, 1105, 1106,
1107, 1107, 1107, 1108, 1108, 1109, 1110, 1110, 1111, 1112,
1112, 1113, 1113, 1114, 1114, 1115, 1115, 1115, 1115, 1116,
1116, 1117, 1117, 1118, 1118, 1119, 1119, 1120, 1120, 1121,
1121, 1122, 1122, 1122, 1122, 1123, 1123, 1124, 1124, 1125,
1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1132, 1133,
1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133,
1133, 1133, 1134, 1135, 1136, 1136, 1136, 1137, 1138, 1138,
1138, 1139, 1139, 1140, 1140, 1140, 1141, 1141, 1141, 1142,
1142, 1142, 1142, 1143, 1143, 1143, 1143, 1143, 1144, 1144,
1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144,
1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144,
1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144,
1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144,
1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144,
1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144,
1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144,
1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144,
1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144,
1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144,
1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144,
1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144,
1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144,
1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144,
1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144,
1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144,
1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144,
1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144,
1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144,
1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144,
1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144,
1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144,
1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144,
1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144,
1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144,
1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144,
1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144,
1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144,
1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1145, 1145,
1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145,
1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145,
1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145,
1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145,
1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1146, 1146,
1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
1146, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147,
1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147,
1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147,
1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147,
1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147,
1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147,
1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147,
1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147
};
/* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
static const yytype_uint8 yyr2[] =
{
0, 2, 1, 3, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
2, 5, 1, 1, 0, 2, 0, 2, 0, 2,
2, 3, 3, 1, 3, 3, 2, 1, 1, 2,
2, 2, 3, 3, 5, 5, 5, 0, 3, 5,
5, 5, 5, 3, 5, 3, 5, 3, 5, 5,
6, 1, 1, 6, 4, 9, 7, 1, 0, 2,
0, 1, 1, 1, 1, 1, 1, 2, 3, 3,
2, 5, 1, 3, 3, 3, 3, 1, 3, 3,
2, 2, 2, 2, 3, 3, 3, 3, 1, 3,
1, 3, 1, 1, 2, 2, 2, 1, 1, 1,
1, 1, 1, 1, 3, 5, 1, 1, 1, 1,
1, 0, 1, 1, 2, 1, 2, 3, 2, 1,
1, 2, 1, 2, 1, 2, 3, 4, 3, 2,
4, 1, 1, 1, 1, 1, 2, 2, 2, 2,
2, 4, 6, 4, 6, 10, 13, 4, 6, 4,
10, 13, 4, 6, 4, 6, 5, 7, 11, 14,
1, 3, 4, 3, 3, 2, 5, 3, 6, 4,
6, 6, 6, 6, 5, 5, 6, 9, 4, 5,
7, 6, 4, 8, 4, 2, 4, 3, 6, 4,
3, 3, 3, 3, 2, 2, 3, 4, 4, 3,
3, 3, 3, 3, 3, 4, 4, 3, 2, 3,
2, 2, 3, 3, 2, 2, 3, 4, 4, 4,
5, 1, 3, 2, 1, 1, 0, 2, 0, 2,
0, 1, 1, 1, 3, 3, 2, 0, 1, 3,
3, 1, 5, 3, 1, 2, 1, 3, 2, 3,
6, 6, 10, 1, 2, 1, 3, 1, 1, 1,
1, 1, 1, 3, 1, 3, 1, 1, 1, 4,
1, 3, 4, 6, 4, 8, 2, 2, 11, 9,
1, 1, 1, 0, 1, 1, 1, 1, 3, 2,
0, 1, 1, 1, 3, 3, 1, 1, 3, 3,
3, 3, 4, 3, 2, 1, 0, 2, 0, 3,
0, 1, 0, 1, 3, 2, 1, 1, 1, 3,
0, 1, 3, 1, 12, 15, 11, 14, 13, 16,
1, 1, 2, 2, 2, 2, 1, 0, 1, 0,
3, 0, 1, 3, 1, 3, 1, 1, 1, 1,
1, 4, 2, 4, 2, 0, 3, 1, 1, 2,
2, 1, 3, 4, 5, 2, 5, 5, 1, 2,
1, 2, 2, 2, 3, 3, 3, 0, 1, 1,
1, 1, 1, 1, 1, 1, 3, 1, 5, 8,
3, 9, 4, 10, 11, 2, 0, 3, 0, 1,
3, 1, 4, 0, 2, 2, 2, 0, 1, 3,
3, 6, 4, 0, 1, 1, 2, 2, 0, 3,
3, 2, 1, 1, 2, 2, 4, 0, 1, 0,
6, 1, 1, 1, 3, 3, 3, 5, 2, 2,
2, 0, 3, 4, 4, 0, 2, 0, 4, 0,
3, 8, 11, 7, 10, 5, 2, 3, 0, 8,
11, 4, 1, 0, 6, 5, 8, 4, 6, 1,
0, 3, 0, 1, 2, 2, 2, 1, 2, 3,
2, 2, 2, 2, 3, 3, 3, 1, 3, 1,
0, 1, 2, 2, 1, 1, 3, 6, 10, 1,
0, 1, 2, 2, 0, 2, 2, 1, 0, 5,
7, 1, 0, 7, 2, 0, 3, 5, 5, 8,
2, 0, 2, 2, 2, 1, 5, 2, 0, 2,
7, 6, 10, 6, 6, 6, 6, 7, 6, 9,
9, 6, 6, 6, 7, 6, 8, 8, 8, 8,
6, 6, 7, 7, 8, 6, 9, 6, 7, 2,
2, 2, 2, 1, 2, 1, 0, 7, 6, 4,
0, 1, 3, 4, 1, 3, 1, 2, 2, 2,
2, 1, 1, 10, 13, 2, 0, 2, 2, 1,
0, 5, 4, 4, 11, 14, 12, 15, 5, 7,
11, 2, 1, 4, 0, 8, 11, 1, 1, 7,
9, 8, 10, 8, 4, 0, 5, 0, 2, 0,
2, 0, 2, 0, 2, 0, 1, 1, 1, 1,
1, 8, 16, 20, 1, 1, 2, 1, 3, 1,
1, 1, 3, 1, 2, 0, 1, 2, 4, 1,
1, 1, 1, 1, 3, 0, 1, 0, 1, 1,
4, 0, 1, 1, 1, 3, 0, 1, 1, 1,
1, 2, 0, 0, 2, 2, 1, 2, 2, 2,
2, 11, 13, 1, 3, 5, 1, 3, 5, 1,
2, 2, 1, 8, 4, 5, 4, 4, 4, 3,
7, 8, 6, 6, 6, 6, 6, 4, 7, 5,
8, 3, 1, 3, 3, 1, 1, 1, 1, 1,
1, 1, 3, 1, 3, 3, 1, 0, 1, 3,
7, 9, 9, 8, 3, 0, 13, 1, 3, 5,
5, 3, 6, 2, 1, 0, 2, 0, 2, 4,
0, 1, 0, 6, 8, 8, 1, 3, 5, 5,
7, 9, 7, 9, 5, 6, 6, 4, 6, 4,
6, 8, 4, 6, 4, 6, 5, 7, 1, 1,
1, 2, 1, 2, 1, 1, 1, 3, 3, 3,
3, 2, 2, 1, 3, 1, 1, 1, 1, 1,
1, 1, 3, 1, 2, 2, 3, 1, 3, 5,
2, 2, 0, 6, 6, 6, 6, 6, 6, 6,
8, 9, 8, 6, 6, 8, 9, 8, 9, 9,
7, 10, 1, 1, 1, 1, 1, 1, 2, 1,
1, 2, 3, 3, 3, 3, 2, 1, 2, 1,
3, 2, 1, 1, 1, 1, 1, 1, 1, 1,
8, 8, 8, 8, 8, 8, 9, 8, 8, 2,
0, 1, 2, 1, 1, 1, 2, 1, 2, 2,
1, 1, 1, 1, 1, 1, 1, 2, 2, 1,
2, 3, 3, 3, 3, 4, 4, 3, 3, 3,
4, 4, 3, 4, 4, 1, 1, 1, 0, 7,
7, 10, 1, 1, 2, 4, 5, 1, 3, 2,
2, 2, 2, 1, 2, 2, 4, 3, 2, 2,
2, 2, 2, 2, 3, 2, 2, 2, 5, 5,
5, 5, 5, 1, 3, 1, 2, 3, 0, 6,
6, 9, 3, 0, 3, 0, 5, 2, 0, 3,
3, 3, 7, 7, 10, 1, 1, 1, 1, 1,
1, 15, 18, 1, 0, 1, 0, 1, 0, 2,
0, 1, 3, 5, 5, 7, 4, 0, 1, 3,
2, 0, 1, 0, 1, 1, 0, 2, 2, 0,
8, 11, 6, 6, 2, 0, 3, 2, 1, 3,
1, 3, 2, 1, 1, 2, 3, 2, 1, 3,
3, 3, 2, 2, 1, 1, 1, 1, 2, 1,
1, 1, 1, 4, 5, 1, 3, 3, 1, 3,
3, 5, 6, 1, 3, 2, 1, 3, 1, 2,
4, 5, 1, 1, 1, 1, 3, 3, 2, 2,
1, 2, 2, 2, 1, 2, 2, 2, 2, 1,
1, 1, 3, 3, 5, 2, 0, 2, 1, 3,
5, 5, 5, 1, 2, 1, 0, 4, 6, 4,
6, 4, 6, 4, 6, 4, 6, 3, 5, 5,
5, 1, 3, 1, 3, 2, 2, 1, 2, 1,
2, 11, 10, 10, 2, 2, 0, 9, 2, 0,
10, 11, 11, 5, 5, 8, 3, 3, 6, 6,
1, 1, 1, 1, 1, 1, 3, 1, 5, 5,
6, 6, 6, 6, 6, 8, 8, 6, 6, 7,
9, 9, 8, 10, 6, 6, 6, 6, 6, 6,
6, 8, 6, 8, 6, 8, 7, 9, 6, 8,
7, 9, 8, 10, 9, 11, 8, 10, 9, 11,
8, 8, 7, 6, 6, 6, 6, 8, 8, 8,
8, 6, 9, 1, 0, 2, 0, 7, 7, 7,
9, 8, 7, 6, 6, 6, 6, 6, 6, 6,
9, 9, 6, 6, 6, 8, 6, 8, 8, 8,
8, 6, 8, 6, 8, 7, 9, 7, 9, 6,
7, 1, 3, 3, 3, 1, 1, 1, 1, 1,
6, 6, 6, 6, 6, 6, 7, 7, 6, 9,
9, 6, 6, 6, 6, 6, 6, 8, 8, 8,
6, 7, 6, 6, 5, 1, 0, 3, 3, 5,
6, 6, 6, 8, 1, 3, 1, 5, 5, 6,
7, 4, 4, 4, 6, 13, 1, 1, 3, 3,
1, 1, 1, 1, 1, 1, 1, 0, 1, 1,
1, 1, 1, 1, 0, 3, 2, 0, 2, 2,
2, 2, 3, 3, 2, 2, 2, 2, 3, 2,
5, 4, 3, 3, 3, 1, 1, 0, 3, 2,
2, 1, 2, 1, 3, 2, 1, 0, 9, 11,
12, 14, 3, 4, 4, 0, 2, 5, 1, 0,
1, 2, 3, 3, 3, 1, 2, 1, 1, 1,
1, 1, 1, 0, 5, 4, 6, 4, 3, 5,
5, 4, 4, 6, 4, 6, 6, 5, 7, 9,
6, 1, 0, 6, 11, 11, 11, 13, 9, 11,
1, 1, 10, 4, 2, 5, 2, 0, 6, 5,
1, 3, 1, 1, 1, 1, 1, 3, 5, 1,
3, 1, 1, 1, 1, 0, 1, 0, 1, 0,
1, 0, 3, 0, 2, 1, 3, 1, 0, 2,
4, 3, 5, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 3, 2, 1, 1, 1, 1, 0,
5, 3, 0, 1, 1, 1, 1, 3, 9, 3,
0, 2, 3, 2, 3, 7, 1, 3, 1, 4,
4, 7, 2, 1, 1, 1, 3, 2, 8, 5,
0, 4, 3, 0, 2, 0, 7, 2, 0, 5,
3, 0, 2, 2, 2, 3, 1, 3, 1, 2,
1, 0, 1, 2, 0, 8, 1, 3, 3, 5,
2, 1, 3, 7, 1, 0, 3, 2, 2, 2,
0, 2, 2, 1, 1, 3, 3, 1, 2, 4,
4, 2, 3, 5, 5, 1, 1, 9, 9, 1,
2, 4, 4, 4, 2, 2, 3, 1, 3, 6,
1, 0, 2, 0, 3, 3, 4, 4, 4, 4,
3, 2, 1, 1, 0, 1, 1, 0, 1, 5,
1, 0, 1, 0, 3, 1, 3, 4, 3, 2,
2, 1, 1, 1, 0, 2, 4, 5, 4, 2,
3, 1, 1, 1, 1, 2, 2, 1, 1, 1,
1, 1, 1, 3, 0, 1, 3, 1, 1, 1,
1, 1, 2, 4, 4, 5, 2, 0, 1, 3,
1, 0, 1, 2, 3, 2, 4, 2, 3, 2,
0, 4, 5, 2, 0, 1, 3, 2, 3, 2,
3, 2, 3, 2, 3, 1, 4, 3, 4, 5,
4, 5, 4, 5, 2, 4, 1, 1, 0, 1,
4, 5, 4, 0, 2, 2, 2, 1, 1, 0,
4, 2, 1, 2, 2, 4, 1, 3, 1, 2,
3, 6, 4, 0, 2, 6, 2, 1, 3, 4,
0, 2, 0, 2, 0, 2, 4, 0, 1, 0,
1, 3, 3, 7, 12, 1, 3, 2, 3, 3,
1, 2, 2, 2, 2, 1, 1, 3, 3, 2,
2, 3, 5, 6, 2, 3, 3, 4, 0, 1,
1, 1, 1, 1, 2, 4, 1, 1, 1, 1,
2, 3, 3, 0, 1, 1, 1, 1, 1, 2,
2, 2, 2, 2, 1, 3, 0, 1, 1, 1,
1, 5, 2, 1, 1, 1, 1, 4, 1, 2,
2, 1, 3, 3, 2, 1, 0, 5, 2, 5,
2, 1, 3, 3, 0, 1, 1, 1, 1, 1,
1, 3, 3, 3, 3, 3, 3, 3, 0, 1,
4, 1, 3, 3, 5, 2, 2, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2, 2, 3, 3, 2, 2, 3, 5, 4, 6,
3, 5, 4, 6, 4, 6, 5, 7, 3, 2,
4, 2, 3, 3, 4, 3, 4, 3, 4, 5,
6, 6, 7, 6, 7, 6, 7, 3, 4, 4,
6, 2, 3, 4, 1, 1, 3, 2, 2, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 2, 2, 5, 6, 6, 7, 3, 4,
1, 1, 2, 4, 1, 1, 1, 2, 2, 2,
2, 1, 1, 4, 3, 5, 6, 8, 6, 6,
4, 4, 1, 1, 1, 5, 1, 1, 4, 1,
4, 1, 4, 1, 4, 1, 1, 1, 1, 1,
1, 6, 4, 4, 4, 4, 6, 5, 5, 5,
4, 6, 4, 4, 4, 4, 5, 7, 7, 9,
5, 4, 6, 5, 7, 7, 7, 2, 3, 3,
3, 4, 0, 4, 1, 3, 3, 1, 1, 1,
2, 2, 0, 2, 4, 4, 6, 5, 0, 5,
0, 2, 0, 1, 3, 3, 2, 2, 0, 6,
1, 0, 3, 0, 3, 3, 3, 0, 1, 4,
2, 2, 2, 2, 2, 3, 2, 2, 3, 0,
4, 3, 5, 4, 3, 5, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 4, 1, 4, 1, 4, 1,
2, 1, 2, 1, 3, 1, 3, 1, 3, 3,
1, 3, 3, 3, 2, 1, 3, 3, 0, 1,
1, 1, 1, 1, 1, 1, 1, 4, 3, 2,
3, 0, 3, 3, 2, 2, 1, 0, 2, 2,
3, 2, 1, 1, 3, 5, 1, 2, 4, 2,
0, 1, 0, 1, 2, 2, 2, 3, 5, 1,
0, 1, 2, 0, 2, 1, 0, 1, 0, 1,
3, 3, 2, 1, 1, 1, 3, 1, 2, 1,
3, 1, 1, 1, 1, 1, 1, 1, 2, 1,
1, 1, 1, 1, 2, 6, 2, 3, 5, 1,
1, 1, 1, 1, 1, 2, 2, 1, 1, 1,
1, 1, 3, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1
};
#define yyerrok (yyerrstatus = 0)
#define yyclearin (yychar = YYEMPTY)
#define YYEMPTY (-2)
#define YYEOF 0
#define YYACCEPT goto yyacceptlab
#define YYABORT goto yyabortlab
#define YYERROR goto yyerrorlab
#define YYRECOVERING() (!!yyerrstatus)
#define YYBACKUP(Token, Value) \
do \
if (yychar == YYEMPTY) \
{ \
yychar = (Token); \
yylval = (Value); \
YYPOPSTACK (yylen); \
yystate = *yyssp; \
goto yybackup; \
} \
else \
{ \
yyerror (&yylloc, yyscanner, YY_("syntax error: cannot back up")); \
YYERROR; \
} \
while (0)
/* Error token number */
#define YYTERROR 1
#define YYERRCODE 256
/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
If N is 0, then set CURRENT to the empty location which ends
the previous symbol: RHS[0] (always defined). */
#ifndef YYLLOC_DEFAULT
# define YYLLOC_DEFAULT(Current, Rhs, N) \
do \
if (N) \
{ \
(Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
(Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
(Current).last_line = YYRHSLOC (Rhs, N).last_line; \
(Current).last_column = YYRHSLOC (Rhs, N).last_column; \
} \
else \
{ \
(Current).first_line = (Current).last_line = \
YYRHSLOC (Rhs, 0).last_line; \
(Current).first_column = (Current).last_column = \
YYRHSLOC (Rhs, 0).last_column; \
} \
while (0)
#endif
#define YYRHSLOC(Rhs, K) ((Rhs)[K])
/* Enable debugging if requested. */
#if YYDEBUG
# ifndef YYFPRINTF
# include /* INFRINGES ON USER NAME SPACE */
# define YYFPRINTF fprintf
# endif
# define YYDPRINTF(Args) \
do { \
if (yydebug) \
YYFPRINTF Args; \
} while (0)
/* YY_LOCATION_PRINT -- Print the location on the stream.
This macro was not mandated originally: define only if we know
we won't break user code: when these are the locations we know. */
#ifndef YY_LOCATION_PRINT
# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
/* Print *YYLOCP on YYO. Private, do not rely on its existence. */
YY_ATTRIBUTE_UNUSED
static unsigned
yy_location_print_ (FILE *yyo, YYLTYPE const * const yylocp)
{
unsigned res = 0;
int end_col = 0 != yylocp->last_column ? yylocp->last_column - 1 : 0;
if (0 <= yylocp->first_line)
{
res += YYFPRINTF (yyo, "%d", yylocp->first_line);
if (0 <= yylocp->first_column)
res += YYFPRINTF (yyo, ".%d", yylocp->first_column);
}
if (0 <= yylocp->last_line)
{
if (yylocp->first_line < yylocp->last_line)
{
res += YYFPRINTF (yyo, "-%d", yylocp->last_line);
if (0 <= end_col)
res += YYFPRINTF (yyo, ".%d", end_col);
}
else if (0 <= end_col && yylocp->first_column < end_col)
res += YYFPRINTF (yyo, "-%d", end_col);
}
return res;
}
# define YY_LOCATION_PRINT(File, Loc) \
yy_location_print_ (File, &(Loc))
# else
# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
# endif
#endif
# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
do { \
if (yydebug) \
{ \
YYFPRINTF (stderr, "%s ", Title); \
yy_symbol_print (stderr, \
Type, Value, Location, yyscanner); \
YYFPRINTF (stderr, "\n"); \
} \
} while (0)
/*----------------------------------------.
| Print this symbol's value on YYOUTPUT. |
`----------------------------------------*/
static void
yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, core_yyscan_t yyscanner)
{
FILE *yyo = yyoutput;
YYUSE (yyo);
YYUSE (yylocationp);
YYUSE (yyscanner);
if (!yyvaluep)
return;
# ifdef YYPRINT
if (yytype < YYNTOKENS)
YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
# endif
YYUSE (yytype);
}
/*--------------------------------.
| Print this symbol on YYOUTPUT. |
`--------------------------------*/
static void
yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, core_yyscan_t yyscanner)
{
YYFPRINTF (yyoutput, "%s %s (",
yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
YY_LOCATION_PRINT (yyoutput, *yylocationp);
YYFPRINTF (yyoutput, ": ");
yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, yyscanner);
YYFPRINTF (yyoutput, ")");
}
/*------------------------------------------------------------------.
| yy_stack_print -- Print the state stack from its BOTTOM up to its |
| TOP (included). |
`------------------------------------------------------------------*/
static void
yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
{
YYFPRINTF (stderr, "Stack now");
for (; yybottom <= yytop; yybottom++)
{
int yybot = *yybottom;
YYFPRINTF (stderr, " %d", yybot);
}
YYFPRINTF (stderr, "\n");
}
# define YY_STACK_PRINT(Bottom, Top) \
do { \
if (yydebug) \
yy_stack_print ((Bottom), (Top)); \
} while (0)
/*------------------------------------------------.
| Report that the YYRULE is going to be reduced. |
`------------------------------------------------*/
static void
yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, YYLTYPE *yylsp, int yyrule, core_yyscan_t yyscanner)
{
unsigned long int yylno = yyrline[yyrule];
int yynrhs = yyr2[yyrule];
int yyi;
YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
yyrule - 1, yylno);
/* The symbols being reduced. */
for (yyi = 0; yyi < yynrhs; yyi++)
{
YYFPRINTF (stderr, " $%d = ", yyi + 1);
yy_symbol_print (stderr,
yystos[yyssp[yyi + 1 - yynrhs]],
&(yyvsp[(yyi + 1) - (yynrhs)])
, &(yylsp[(yyi + 1) - (yynrhs)]) , yyscanner);
YYFPRINTF (stderr, "\n");
}
}
# define YY_REDUCE_PRINT(Rule) \
do { \
if (yydebug) \
yy_reduce_print (yyssp, yyvsp, yylsp, Rule, yyscanner); \
} while (0)
/* Nonzero means print parse trace. It is left uninitialized so that
multiple parsers can coexist. */
int yydebug;
#else /* !YYDEBUG */
# define YYDPRINTF(Args)
# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
# define YY_STACK_PRINT(Bottom, Top)
# define YY_REDUCE_PRINT(Rule)
#endif /* !YYDEBUG */
/* YYINITDEPTH -- initial size of the parser's stacks. */
#ifndef YYINITDEPTH
# define YYINITDEPTH 200
#endif
/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
if the built-in stack extension method is used).
Do not make this value too large; the results are undefined if
YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
evaluated with infinite-precision integer arithmetic. */
#ifndef YYMAXDEPTH
# define YYMAXDEPTH 10000
#endif
#if YYERROR_VERBOSE
# ifndef yystrlen
# if defined __GLIBC__ && defined _STRING_H
# define yystrlen strlen
# else
/* Return the length of YYSTR. */
static YYSIZE_T
yystrlen (const char *yystr)
{
YYSIZE_T yylen;
for (yylen = 0; yystr[yylen]; yylen++)
continue;
return yylen;
}
# endif
# endif
# ifndef yystpcpy
# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
# define yystpcpy stpcpy
# else
/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
YYDEST. */
static char *
yystpcpy (char *yydest, const char *yysrc)
{
char *yyd = yydest;
const char *yys = yysrc;
while ((*yyd++ = *yys++) != '\0')
continue;
return yyd - 1;
}
# endif
# endif
# ifndef yytnamerr
/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
quotes and backslashes, so that it's suitable for yyerror. The
heuristic is that double-quoting is unnecessary unless the string
contains an apostrophe, a comma, or backslash (other than
backslash-backslash). YYSTR is taken from yytname. If YYRES is
null, do not copy; instead, return the length of what the result
would have been. */
static YYSIZE_T
yytnamerr (char *yyres, const char *yystr)
{
if (*yystr == '"')
{
YYSIZE_T yyn = 0;
char const *yyp = yystr;
for (;;)
switch (*++yyp)
{
case '\'':
case ',':
goto do_not_strip_quotes;
case '\\':
if (*++yyp != '\\')
goto do_not_strip_quotes;
/* Fall through. */
default:
if (yyres)
yyres[yyn] = *yyp;
yyn++;
break;
case '"':
if (yyres)
yyres[yyn] = '\0';
return yyn;
}
do_not_strip_quotes: ;
}
if (! yyres)
return yystrlen (yystr);
return yystpcpy (yyres, yystr) - yyres;
}
# endif
/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
about the unexpected token YYTOKEN for the state stack whose top is
YYSSP.
Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is
not large enough to hold the message. In that case, also set
*YYMSG_ALLOC to the required number of bytes. Return 2 if the
required number of bytes is too large to store. */
static int
yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
yytype_int16 *yyssp, int yytoken)
{
YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
YYSIZE_T yysize = yysize0;
enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
/* Internationalized format string. */
const char *yyformat = YY_NULLPTR;
/* Arguments of yyformat. */
char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
/* Number of reported tokens (one for the "unexpected", one per
"expected"). */
int yycount = 0;
/* There are many possibilities here to consider:
- If this state is a consistent state with a default action, then
the only way this function was invoked is if the default action
is an error action. In that case, don't check for expected
tokens because there are none.
- The only way there can be no lookahead present (in yychar) is if
this state is a consistent state with a default action. Thus,
detecting the absence of a lookahead is sufficient to determine
that there is no unexpected or expected token to report. In that
case, just report a simple "syntax error".
- Don't assume there isn't a lookahead just because this state is a
consistent state with a default action. There might have been a
previous inconsistent state, consistent state with a non-default
action, or user semantic action that manipulated yychar.
- Of course, the expected token list depends on states to have
correct lookahead information, and it depends on the parser not
to perform extra reductions after fetching a lookahead from the
scanner and before detecting a syntax error. Thus, state merging
(from LALR or IELR) and default reductions corrupt the expected
token list. However, the list is correct for canonical LR with
one exception: it will still contain any token that will not be
accepted due to an error action in a later state.
*/
if (yytoken != YYEMPTY)
{
int yyn = yypact[*yyssp];
yyarg[yycount++] = yytname[yytoken];
if (!yypact_value_is_default (yyn))
{
/* Start YYX at -YYN if negative to avoid negative indexes in
YYCHECK. In other words, skip the first -YYN actions for
this state because they are default actions. */
int yyxbegin = yyn < 0 ? -yyn : 0;
/* Stay within bounds of both yycheck and yytname. */
int yychecklim = YYLAST - yyn + 1;
int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
int yyx;
for (yyx = yyxbegin; yyx < yyxend; ++yyx)
if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
&& !yytable_value_is_error (yytable[yyx + yyn]))
{
if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
{
yycount = 1;
yysize = yysize0;
break;
}
yyarg[yycount++] = yytname[yyx];
{
YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
if (! (yysize <= yysize1
&& yysize1 <= YYSTACK_ALLOC_MAXIMUM))
return 2;
yysize = yysize1;
}
}
}
}
switch (yycount)
{
# define YYCASE_(N, S) \
case N: \
yyformat = S; \
break
YYCASE_(0, YY_("syntax error"));
YYCASE_(1, YY_("syntax error, unexpected %s"));
YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
# undef YYCASE_
}
{
YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
return 2;
yysize = yysize1;
}
if (*yymsg_alloc < yysize)
{
*yymsg_alloc = 2 * yysize;
if (! (yysize <= *yymsg_alloc
&& *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
*yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
return 1;
}
/* Avoid sprintf, as that infringes on the user's name space.
Don't have undefined behavior even if the translation
produced a string with the wrong number of "%s"s. */
{
char *yyp = *yymsg;
int yyi = 0;
while ((*yyp = *yyformat) != '\0')
if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
{
yyp += yytnamerr (yyp, yyarg[yyi++]);
yyformat += 2;
}
else
{
yyp++;
yyformat++;
}
}
return 0;
}
#endif /* YYERROR_VERBOSE */
/*-----------------------------------------------.
| Release the memory associated to this symbol. |
`-----------------------------------------------*/
static void
yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp, core_yyscan_t yyscanner)
{
YYUSE (yyvaluep);
YYUSE (yylocationp);
YYUSE (yyscanner);
if (!yymsg)
yymsg = "Deleting";
YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
YYUSE (yytype);
YY_IGNORE_MAYBE_UNINITIALIZED_END
}
/*----------.
| yyparse. |
`----------*/
int
yyparse (core_yyscan_t yyscanner)
{
/* The lookahead symbol. */
int yychar;
/* The semantic value of the lookahead symbol. */
/* Default value used for initialization, for pacifying older GCCs
or non-GCC compilers. */
YY_INITIAL_VALUE (static YYSTYPE yyval_default;)
YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
/* Location data for the lookahead symbol. */
static YYLTYPE yyloc_default
# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
= { 1, 1, 1, 1 }
# endif
;
YYLTYPE yylloc = yyloc_default;
/* Number of syntax errors so far. */
int yynerrs;
int yystate;
/* Number of tokens to shift before error messages enabled. */
int yyerrstatus;
/* The stacks and their tools:
'yyss': related to states.
'yyvs': related to semantic values.
'yyls': related to locations.
Refer to the stacks through separate pointers, to allow yyoverflow
to reallocate them elsewhere. */
/* The state stack. */
yytype_int16 yyssa[YYINITDEPTH];
yytype_int16 *yyss;
yytype_int16 *yyssp;
/* The semantic value stack. */
YYSTYPE yyvsa[YYINITDEPTH];
YYSTYPE *yyvs;
YYSTYPE *yyvsp;
/* The location stack. */
YYLTYPE yylsa[YYINITDEPTH];
YYLTYPE *yyls;
YYLTYPE *yylsp;
/* The locations where the error started and ended. */
YYLTYPE yyerror_range[3];
YYSIZE_T yystacksize;
int yyn;
int yyresult;
/* Lookahead token as an internal (translated) token number. */
int yytoken = 0;
/* The variables used to return semantic value and location from the
action routines. */
YYSTYPE yyval;
YYLTYPE yyloc;
#if YYERROR_VERBOSE
/* Buffer for error messages, and its allocated size. */
char yymsgbuf[128];
char *yymsg = yymsgbuf;
YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
#endif
#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
/* The number of symbols on the RHS of the reduced rule.
Keep to zero when no symbol should be popped. */
int yylen = 0;
yyssp = yyss = yyssa;
yyvsp = yyvs = yyvsa;
yylsp = yyls = yylsa;
yystacksize = YYINITDEPTH;
YYDPRINTF ((stderr, "Starting parse\n"));
yystate = 0;
yyerrstatus = 0;
yynerrs = 0;
yychar = YYEMPTY; /* Cause a token to be read. */
yylsp[0] = yylloc;
goto yysetstate;
/*------------------------------------------------------------.
| yynewstate -- Push a new state, which is found in yystate. |
`------------------------------------------------------------*/
yynewstate:
/* In all cases, when you get here, the value and location stacks
have just been pushed. So pushing a state here evens the stacks. */
yyssp++;
yysetstate:
*yyssp = yystate;
if (yyss + yystacksize - 1 <= yyssp)
{
/* Get the current used size of the three stacks, in elements. */
YYSIZE_T yysize = yyssp - yyss + 1;
#ifdef yyoverflow
{
/* Give user a chance to reallocate the stack. Use copies of
these so that the &'s don't force the real ones into
memory. */
YYSTYPE *yyvs1 = yyvs;
yytype_int16 *yyss1 = yyss;
YYLTYPE *yyls1 = yyls;
/* Each stack pointer address is followed by the size of the
data in use in that stack, in bytes. This used to be a
conditional around just the two extra args, but that might
be undefined if yyoverflow is a macro. */
yyoverflow (YY_("memory exhausted"),
&yyss1, yysize * sizeof (*yyssp),
&yyvs1, yysize * sizeof (*yyvsp),
&yyls1, yysize * sizeof (*yylsp),
&yystacksize);
yyls = yyls1;
yyss = yyss1;
yyvs = yyvs1;
}
#else /* no yyoverflow */
# ifndef YYSTACK_RELOCATE
goto yyexhaustedlab;
# else
/* Extend the stack our own way. */
if (YYMAXDEPTH <= yystacksize)
goto yyexhaustedlab;
yystacksize *= 2;
if (YYMAXDEPTH < yystacksize)
yystacksize = YYMAXDEPTH;
{
yytype_int16 *yyss1 = yyss;
union yyalloc *yyptr =
(union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
if (! yyptr)
goto yyexhaustedlab;
YYSTACK_RELOCATE (yyss_alloc, yyss);
YYSTACK_RELOCATE (yyvs_alloc, yyvs);
YYSTACK_RELOCATE (yyls_alloc, yyls);
# undef YYSTACK_RELOCATE
if (yyss1 != yyssa)
YYSTACK_FREE (yyss1);
}
# endif
#endif /* no yyoverflow */
yyssp = yyss + yysize - 1;
yyvsp = yyvs + yysize - 1;
yylsp = yyls + yysize - 1;
YYDPRINTF ((stderr, "Stack size increased to %lu\n",
(unsigned long int) yystacksize));
if (yyss + yystacksize - 1 <= yyssp)
YYABORT;
}
YYDPRINTF ((stderr, "Entering state %d\n", yystate));
if (yystate == YYFINAL)
YYACCEPT;
goto yybackup;
/*-----------.
| yybackup. |
`-----------*/
yybackup:
/* Do appropriate processing given the current state. Read a
lookahead token if we need one and don't already have one. */
/* First try to decide what to do without reference to lookahead token. */
yyn = yypact[yystate];
if (yypact_value_is_default (yyn))
goto yydefault;
/* Not known => get a lookahead token if don't already have one. */
/* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
if (yychar == YYEMPTY)
{
YYDPRINTF ((stderr, "Reading a token: "));
yychar = yylex (&yylval, &yylloc, yyscanner);
}
if (yychar <= YYEOF)
{
yychar = yytoken = YYEOF;
YYDPRINTF ((stderr, "Now at end of input.\n"));
}
else
{
yytoken = YYTRANSLATE (yychar);
YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
}
/* If the proper action on seeing token YYTOKEN is to reduce or to
detect an error, take that action. */
yyn += yytoken;
if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
goto yydefault;
yyn = yytable[yyn];
if (yyn <= 0)
{
if (yytable_value_is_error (yyn))
goto yyerrlab;
yyn = -yyn;
goto yyreduce;
}
/* Count tokens shifted since error; after three, turn off error
status. */
if (yyerrstatus)
yyerrstatus--;
/* Shift the lookahead token. */
YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
/* Discard the shifted token. */
yychar = YYEMPTY;
yystate = yyn;
YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
*++yyvsp = yylval;
YY_IGNORE_MAYBE_UNINITIALIZED_END
*++yylsp = yylloc;
goto yynewstate;
/*-----------------------------------------------------------.
| yydefault -- do the default action for the current state. |
`-----------------------------------------------------------*/
yydefault:
yyn = yydefact[yystate];
if (yyn == 0)
goto yyerrlab;
goto yyreduce;
/*-----------------------------.
| yyreduce -- Do a reduction. |
`-----------------------------*/
yyreduce:
/* yyn is the number of a rule to reduce with. */
yylen = yyr2[yyn];
/* If YYLEN is nonzero, implement the default value of the action:
'$$ = $1'.
Otherwise, the following line sets YYVAL to garbage.
This behavior is undocumented and Bison
users should not rely upon it. Assigning to YYVAL
unconditionally makes the parser a bit smaller, and it avoids a
GCC warning that YYVAL may be used uninitialized. */
yyval = yyvsp[1-yylen];
/* Default location. */
YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
YY_REDUCE_PRINT (yyn);
switch (yyn)
{
case 2:
#line 785 "gram.y" /* yacc.c:1646 */
{
pg_yyget_extra(yyscanner)->parsetree = (yyvsp[0].list);
}
#line 25212 "gram.c" /* yacc.c:1646 */
break;
case 3:
#line 801 "gram.y" /* yacc.c:1646 */
{
if ((yyvsp[-2].list) != NIL)
{
/* update length of previous stmt */
updateRawStmtEnd(llast_node(RawStmt, (yyvsp[-2].list)), (yylsp[-1]));
}
if ((yyvsp[0].node) != NULL)
(yyval.list) = lappend((yyvsp[-2].list), makeRawStmt((yyvsp[0].node), (yylsp[-1]) + 1));
else
(yyval.list) = (yyvsp[-2].list);
}
#line 25228 "gram.c" /* yacc.c:1646 */
break;
case 4:
#line 813 "gram.y" /* yacc.c:1646 */
{
if ((yyvsp[0].node) != NULL)
(yyval.list) = list_make1(makeRawStmt((yyvsp[0].node), 0));
else
(yyval.list) = NIL;
}
#line 25239 "gram.c" /* yacc.c:1646 */
break;
case 129:
#line 947 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = NULL; }
#line 25245 "gram.c" /* yacc.c:1646 */
break;
case 130:
#line 957 "gram.y" /* yacc.c:1646 */
{
CallStmt *n = makeNode(CallStmt);
n->funccall = castNode(FuncCall, (yyvsp[0].node));
(yyval.node) = (Node *)n;
}
#line 25255 "gram.c" /* yacc.c:1646 */
break;
case 131:
#line 972 "gram.y" /* yacc.c:1646 */
{
CreateRoleStmt *n = makeNode(CreateRoleStmt);
n->stmt_type = ROLESTMT_ROLE;
n->role = (yyvsp[-2].str);
n->options = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 25267 "gram.c" /* yacc.c:1646 */
break;
case 132:
#line 982 "gram.y" /* yacc.c:1646 */
{}
#line 25273 "gram.c" /* yacc.c:1646 */
break;
case 133:
#line 983 "gram.y" /* yacc.c:1646 */
{}
#line 25279 "gram.c" /* yacc.c:1646 */
break;
case 134:
#line 984 "gram.y" /* yacc.c:1646 */
{}
#line 25285 "gram.c" /* yacc.c:1646 */
break;
case 135:
#line 993 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
#line 25291 "gram.c" /* yacc.c:1646 */
break;
case 136:
#line 994 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 25297 "gram.c" /* yacc.c:1646 */
break;
case 137:
#line 998 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
#line 25303 "gram.c" /* yacc.c:1646 */
break;
case 138:
#line 999 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 25309 "gram.c" /* yacc.c:1646 */
break;
case 139:
#line 1004 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("password",
(Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
}
#line 25318 "gram.c" /* yacc.c:1646 */
break;
case 140:
#line 1009 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("password", NULL, (yylsp[-1]));
}
#line 25326 "gram.c" /* yacc.c:1646 */
break;
case 141:
#line 1013 "gram.y" /* yacc.c:1646 */
{
/*
* These days, passwords are always stored in encrypted
* form, so there is no difference between PASSWORD and
* ENCRYPTED PASSWORD.
*/
(yyval.defelt) = makeDefElem("password",
(Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
}
#line 25340 "gram.c" /* yacc.c:1646 */
break;
case 142:
#line 1023 "gram.y" /* yacc.c:1646 */
{
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("UNENCRYPTED PASSWORD is no longer supported"),
errhint("Remove UNENCRYPTED to store the password in encrypted form instead."),
parser_errposition((yylsp[-2]))));
}
#line 25352 "gram.c" /* yacc.c:1646 */
break;
case 143:
#line 1031 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("inherit", (Node *)makeInteger(true), (yylsp[0]));
}
#line 25360 "gram.c" /* yacc.c:1646 */
break;
case 144:
#line 1035 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("connectionlimit", (Node *)makeInteger((yyvsp[0].ival)), (yylsp[-2]));
}
#line 25368 "gram.c" /* yacc.c:1646 */
break;
case 145:
#line 1039 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("validUntil", (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
}
#line 25376 "gram.c" /* yacc.c:1646 */
break;
case 146:
#line 1044 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("rolemembers", (Node *)(yyvsp[0].list), (yylsp[-1]));
}
#line 25384 "gram.c" /* yacc.c:1646 */
break;
case 147:
#line 1048 "gram.y" /* yacc.c:1646 */
{
/*
* We handle identifiers that aren't parser keywords with
* the following special-case codes, to avoid bloating the
* size of the main parser.
*/
if (strcmp((yyvsp[0].str), "superuser") == 0)
(yyval.defelt) = makeDefElem("superuser", (Node *)makeInteger(true), (yylsp[0]));
else if (strcmp((yyvsp[0].str), "nosuperuser") == 0)
(yyval.defelt) = makeDefElem("superuser", (Node *)makeInteger(false), (yylsp[0]));
else if (strcmp((yyvsp[0].str), "createrole") == 0)
(yyval.defelt) = makeDefElem("createrole", (Node *)makeInteger(true), (yylsp[0]));
else if (strcmp((yyvsp[0].str), "nocreaterole") == 0)
(yyval.defelt) = makeDefElem("createrole", (Node *)makeInteger(false), (yylsp[0]));
else if (strcmp((yyvsp[0].str), "replication") == 0)
(yyval.defelt) = makeDefElem("isreplication", (Node *)makeInteger(true), (yylsp[0]));
else if (strcmp((yyvsp[0].str), "noreplication") == 0)
(yyval.defelt) = makeDefElem("isreplication", (Node *)makeInteger(false), (yylsp[0]));
else if (strcmp((yyvsp[0].str), "createdb") == 0)
(yyval.defelt) = makeDefElem("createdb", (Node *)makeInteger(true), (yylsp[0]));
else if (strcmp((yyvsp[0].str), "nocreatedb") == 0)
(yyval.defelt) = makeDefElem("createdb", (Node *)makeInteger(false), (yylsp[0]));
else if (strcmp((yyvsp[0].str), "login") == 0)
(yyval.defelt) = makeDefElem("canlogin", (Node *)makeInteger(true), (yylsp[0]));
else if (strcmp((yyvsp[0].str), "nologin") == 0)
(yyval.defelt) = makeDefElem("canlogin", (Node *)makeInteger(false), (yylsp[0]));
else if (strcmp((yyvsp[0].str), "bypassrls") == 0)
(yyval.defelt) = makeDefElem("bypassrls", (Node *)makeInteger(true), (yylsp[0]));
else if (strcmp((yyvsp[0].str), "nobypassrls") == 0)
(yyval.defelt) = makeDefElem("bypassrls", (Node *)makeInteger(false), (yylsp[0]));
else if (strcmp((yyvsp[0].str), "noinherit") == 0)
{
/*
* Note that INHERIT is a keyword, so it's handled by main parser, but
* NOINHERIT is handled here.
*/
(yyval.defelt) = makeDefElem("inherit", (Node *)makeInteger(false), (yylsp[0]));
}
else
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("unrecognized role option \"%s\"", (yyvsp[0].str)),
parser_errposition((yylsp[0]))));
}
#line 25433 "gram.c" /* yacc.c:1646 */
break;
case 148:
#line 1095 "gram.y" /* yacc.c:1646 */
{ (yyval.defelt) = (yyvsp[0].defelt); }
#line 25439 "gram.c" /* yacc.c:1646 */
break;
case 149:
#line 1098 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("sysid", (Node *)makeInteger((yyvsp[0].ival)), (yylsp[-1]));
}
#line 25447 "gram.c" /* yacc.c:1646 */
break;
case 150:
#line 1102 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("adminmembers", (Node *)(yyvsp[0].list), (yylsp[-1]));
}
#line 25455 "gram.c" /* yacc.c:1646 */
break;
case 151:
#line 1106 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("rolemembers", (Node *)(yyvsp[0].list), (yylsp[-1]));
}
#line 25463 "gram.c" /* yacc.c:1646 */
break;
case 152:
#line 1110 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("addroleto", (Node *)(yyvsp[0].list), (yylsp[-2]));
}
#line 25471 "gram.c" /* yacc.c:1646 */
break;
case 153:
#line 1114 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("addroleto", (Node *)(yyvsp[0].list), (yylsp[-2]));
}
#line 25479 "gram.c" /* yacc.c:1646 */
break;
case 154:
#line 1128 "gram.y" /* yacc.c:1646 */
{
CreateRoleStmt *n = makeNode(CreateRoleStmt);
n->stmt_type = ROLESTMT_USER;
n->role = (yyvsp[-2].str);
n->options = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 25491 "gram.c" /* yacc.c:1646 */
break;
case 155:
#line 1146 "gram.y" /* yacc.c:1646 */
{
AlterRoleStmt *n = makeNode(AlterRoleStmt);
n->role = (yyvsp[-2].rolespec);
n->action = +1; /* add, if there are members */
n->options = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 25503 "gram.c" /* yacc.c:1646 */
break;
case 156:
#line 1154 "gram.y" /* yacc.c:1646 */
{
AlterRoleStmt *n = makeNode(AlterRoleStmt);
n->role = (yyvsp[-2].rolespec);
n->action = +1; /* add, if there are members */
n->options = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 25515 "gram.c" /* yacc.c:1646 */
break;
case 157:
#line 1164 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = NULL; }
#line 25521 "gram.c" /* yacc.c:1646 */
break;
case 158:
#line 1165 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = (yyvsp[0].str); }
#line 25527 "gram.c" /* yacc.c:1646 */
break;
case 159:
#line 1170 "gram.y" /* yacc.c:1646 */
{
AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
n->role = (yyvsp[-2].rolespec);
n->database = (yyvsp[-1].str);
n->setstmt = (yyvsp[0].vsetstmt);
(yyval.node) = (Node *)n;
}
#line 25539 "gram.c" /* yacc.c:1646 */
break;
case 160:
#line 1178 "gram.y" /* yacc.c:1646 */
{
AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
n->role = NULL;
n->database = (yyvsp[-1].str);
n->setstmt = (yyvsp[0].vsetstmt);
(yyval.node) = (Node *)n;
}
#line 25551 "gram.c" /* yacc.c:1646 */
break;
case 161:
#line 1186 "gram.y" /* yacc.c:1646 */
{
AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
n->role = (yyvsp[-2].rolespec);
n->database = (yyvsp[-1].str);
n->setstmt = (yyvsp[0].vsetstmt);
(yyval.node) = (Node *)n;
}
#line 25563 "gram.c" /* yacc.c:1646 */
break;
case 162:
#line 1194 "gram.y" /* yacc.c:1646 */
{
AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
n->role = NULL;
n->database = (yyvsp[-1].str);
n->setstmt = (yyvsp[0].vsetstmt);
(yyval.node) = (Node *)n;
}
#line 25575 "gram.c" /* yacc.c:1646 */
break;
case 163:
#line 1215 "gram.y" /* yacc.c:1646 */
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->missing_ok = false;
n->roles = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 25586 "gram.c" /* yacc.c:1646 */
break;
case 164:
#line 1222 "gram.y" /* yacc.c:1646 */
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->missing_ok = true;
n->roles = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 25597 "gram.c" /* yacc.c:1646 */
break;
case 165:
#line 1229 "gram.y" /* yacc.c:1646 */
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->missing_ok = false;
n->roles = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 25608 "gram.c" /* yacc.c:1646 */
break;
case 166:
#line 1236 "gram.y" /* yacc.c:1646 */
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->roles = (yyvsp[0].list);
n->missing_ok = true;
(yyval.node) = (Node *)n;
}
#line 25619 "gram.c" /* yacc.c:1646 */
break;
case 167:
#line 1243 "gram.y" /* yacc.c:1646 */
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->missing_ok = false;
n->roles = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 25630 "gram.c" /* yacc.c:1646 */
break;
case 168:
#line 1250 "gram.y" /* yacc.c:1646 */
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->missing_ok = true;
n->roles = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 25641 "gram.c" /* yacc.c:1646 */
break;
case 169:
#line 1267 "gram.y" /* yacc.c:1646 */
{
CreateRoleStmt *n = makeNode(CreateRoleStmt);
n->stmt_type = ROLESTMT_GROUP;
n->role = (yyvsp[-2].str);
n->options = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 25653 "gram.c" /* yacc.c:1646 */
break;
case 170:
#line 1285 "gram.y" /* yacc.c:1646 */
{
AlterRoleStmt *n = makeNode(AlterRoleStmt);
n->role = (yyvsp[-3].rolespec);
n->action = (yyvsp[-2].ival);
n->options = list_make1(makeDefElem("rolemembers",
(Node *)(yyvsp[0].list), (yylsp[0])));
(yyval.node) = (Node *)n;
}
#line 25666 "gram.c" /* yacc.c:1646 */
break;
case 171:
#line 1295 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = +1; }
#line 25672 "gram.c" /* yacc.c:1646 */
break;
case 172:
#line 1296 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = -1; }
#line 25678 "gram.c" /* yacc.c:1646 */
break;
case 173:
#line 1308 "gram.y" /* yacc.c:1646 */
{
CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
/* One can omit the schema name or the authorization id. */
n->schemaname = (yyvsp[-3].str);
n->authrole = (yyvsp[-1].rolespec);
n->schemaElts = (yyvsp[0].list);
n->if_not_exists = false;
(yyval.node) = (Node *)n;
}
#line 25692 "gram.c" /* yacc.c:1646 */
break;
case 174:
#line 1318 "gram.y" /* yacc.c:1646 */
{
CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
/* ...but not both */
n->schemaname = (yyvsp[-1].str);
n->authrole = NULL;
n->schemaElts = (yyvsp[0].list);
n->if_not_exists = false;
(yyval.node) = (Node *)n;
}
#line 25706 "gram.c" /* yacc.c:1646 */
break;
case 175:
#line 1328 "gram.y" /* yacc.c:1646 */
{
CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
/* schema name can be omitted here, too */
n->schemaname = (yyvsp[-3].str);
n->authrole = (yyvsp[-1].rolespec);
if ((yyvsp[0].list) != NIL)
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("CREATE SCHEMA IF NOT EXISTS cannot include schema elements"),
parser_errposition((yylsp[0]))));
n->schemaElts = (yyvsp[0].list);
n->if_not_exists = true;
(yyval.node) = (Node *)n;
}
#line 25725 "gram.c" /* yacc.c:1646 */
break;
case 176:
#line 1343 "gram.y" /* yacc.c:1646 */
{
CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
/* ...but not here */
n->schemaname = (yyvsp[-1].str);
n->authrole = NULL;
if ((yyvsp[0].list) != NIL)
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("CREATE SCHEMA IF NOT EXISTS cannot include schema elements"),
parser_errposition((yylsp[0]))));
n->schemaElts = (yyvsp[0].list);
n->if_not_exists = true;
(yyval.node) = (Node *)n;
}
#line 25744 "gram.c" /* yacc.c:1646 */
break;
case 177:
#line 1360 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = (yyvsp[0].str); }
#line 25750 "gram.c" /* yacc.c:1646 */
break;
case 178:
#line 1361 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = NULL; }
#line 25756 "gram.c" /* yacc.c:1646 */
break;
case 179:
#line 1366 "gram.y" /* yacc.c:1646 */
{
if ((yyloc) < 0) /* see comments for YYLLOC_DEFAULT */
(yyloc) = (yylsp[0]);
(yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node));
}
#line 25766 "gram.c" /* yacc.c:1646 */
break;
case 180:
#line 1372 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 25772 "gram.c" /* yacc.c:1646 */
break;
case 187:
#line 1400 "gram.y" /* yacc.c:1646 */
{
VariableSetStmt *n = (yyvsp[0].vsetstmt);
n->is_local = false;
(yyval.node) = (Node *) n;
}
#line 25782 "gram.c" /* yacc.c:1646 */
break;
case 188:
#line 1406 "gram.y" /* yacc.c:1646 */
{
VariableSetStmt *n = (yyvsp[0].vsetstmt);
n->is_local = true;
(yyval.node) = (Node *) n;
}
#line 25792 "gram.c" /* yacc.c:1646 */
break;
case 189:
#line 1412 "gram.y" /* yacc.c:1646 */
{
VariableSetStmt *n = (yyvsp[0].vsetstmt);
n->is_local = false;
(yyval.node) = (Node *) n;
}
#line 25802 "gram.c" /* yacc.c:1646 */
break;
case 190:
#line 1421 "gram.y" /* yacc.c:1646 */
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_MULTI;
n->name = "TRANSACTION";
n->args = (yyvsp[0].list);
(yyval.vsetstmt) = n;
}
#line 25814 "gram.c" /* yacc.c:1646 */
break;
case 191:
#line 1429 "gram.y" /* yacc.c:1646 */
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_MULTI;
n->name = "SESSION CHARACTERISTICS";
n->args = (yyvsp[0].list);
(yyval.vsetstmt) = n;
}
#line 25826 "gram.c" /* yacc.c:1646 */
break;
case 193:
#line 1441 "gram.y" /* yacc.c:1646 */
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_VALUE;
n->name = (yyvsp[-2].str);
n->args = (yyvsp[0].list);
(yyval.vsetstmt) = n;
}
#line 25838 "gram.c" /* yacc.c:1646 */
break;
case 194:
#line 1449 "gram.y" /* yacc.c:1646 */
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_VALUE;
n->name = (yyvsp[-2].str);
n->args = (yyvsp[0].list);
(yyval.vsetstmt) = n;
}
#line 25850 "gram.c" /* yacc.c:1646 */
break;
case 195:
#line 1457 "gram.y" /* yacc.c:1646 */
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_DEFAULT;
n->name = (yyvsp[-2].str);
(yyval.vsetstmt) = n;
}
#line 25861 "gram.c" /* yacc.c:1646 */
break;
case 196:
#line 1464 "gram.y" /* yacc.c:1646 */
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_DEFAULT;
n->name = (yyvsp[-2].str);
(yyval.vsetstmt) = n;
}
#line 25872 "gram.c" /* yacc.c:1646 */
break;
case 197:
#line 1472 "gram.y" /* yacc.c:1646 */
{(yyval.vsetstmt) = (yyvsp[0].vsetstmt);}
#line 25878 "gram.c" /* yacc.c:1646 */
break;
case 198:
#line 1474 "gram.y" /* yacc.c:1646 */
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_CURRENT;
n->name = (yyvsp[-2].str);
(yyval.vsetstmt) = n;
}
#line 25889 "gram.c" /* yacc.c:1646 */
break;
case 199:
#line 1482 "gram.y" /* yacc.c:1646 */
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_VALUE;
n->name = "timezone";
if ((yyvsp[0].node) != NULL)
n->args = list_make1((yyvsp[0].node));
else
n->kind = VAR_SET_DEFAULT;
(yyval.vsetstmt) = n;
}
#line 25904 "gram.c" /* yacc.c:1646 */
break;
case 200:
#line 1493 "gram.y" /* yacc.c:1646 */
{
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("current database cannot be changed"),
parser_errposition((yylsp[0]))));
(yyval.vsetstmt) = NULL; /*not reached*/
}
#line 25916 "gram.c" /* yacc.c:1646 */
break;
case 201:
#line 1501 "gram.y" /* yacc.c:1646 */
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_VALUE;
n->name = "search_path";
n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
(yyval.vsetstmt) = n;
}
#line 25928 "gram.c" /* yacc.c:1646 */
break;
case 202:
#line 1509 "gram.y" /* yacc.c:1646 */
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_VALUE;
n->name = "client_encoding";
if ((yyvsp[0].str) != NULL)
n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
else
n->kind = VAR_SET_DEFAULT;
(yyval.vsetstmt) = n;
}
#line 25943 "gram.c" /* yacc.c:1646 */
break;
case 203:
#line 1520 "gram.y" /* yacc.c:1646 */
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_VALUE;
n->name = "role";
n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
(yyval.vsetstmt) = n;
}
#line 25955 "gram.c" /* yacc.c:1646 */
break;
case 204:
#line 1528 "gram.y" /* yacc.c:1646 */
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_VALUE;
n->name = "session_authorization";
n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
(yyval.vsetstmt) = n;
}
#line 25967 "gram.c" /* yacc.c:1646 */
break;
case 205:
#line 1536 "gram.y" /* yacc.c:1646 */
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_DEFAULT;
n->name = "session_authorization";
(yyval.vsetstmt) = n;
}
#line 25978 "gram.c" /* yacc.c:1646 */
break;
case 206:
#line 1543 "gram.y" /* yacc.c:1646 */
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_VALUE;
n->name = "xmloption";
n->args = list_make1(makeStringConst((yyvsp[0].ival) == XMLOPTION_DOCUMENT ? "DOCUMENT" : "CONTENT", (yylsp[0])));
(yyval.vsetstmt) = n;
}
#line 25990 "gram.c" /* yacc.c:1646 */
break;
case 207:
#line 1552 "gram.y" /* yacc.c:1646 */
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_MULTI;
n->name = "TRANSACTION SNAPSHOT";
n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
(yyval.vsetstmt) = n;
}
#line 26002 "gram.c" /* yacc.c:1646 */
break;
case 208:
#line 1561 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = (yyvsp[0].str); }
#line 26008 "gram.c" /* yacc.c:1646 */
break;
case 209:
#line 1563 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = psprintf("%s.%s", (yyvsp[-2].str), (yyvsp[0].str)); }
#line 26014 "gram.c" /* yacc.c:1646 */
break;
case 210:
#line 1566 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1((yyvsp[0].node)); }
#line 26020 "gram.c" /* yacc.c:1646 */
break;
case 211:
#line 1567 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
#line 26026 "gram.c" /* yacc.c:1646 */
break;
case 212:
#line 1571 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0])); }
#line 26032 "gram.c" /* yacc.c:1646 */
break;
case 213:
#line 1573 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = makeAConst((yyvsp[0].value), (yylsp[0])); }
#line 26038 "gram.c" /* yacc.c:1646 */
break;
case 214:
#line 1576 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = "read uncommitted"; }
#line 26044 "gram.c" /* yacc.c:1646 */
break;
case 215:
#line 1577 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = "read committed"; }
#line 26050 "gram.c" /* yacc.c:1646 */
break;
case 216:
#line 1578 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = "repeatable read"; }
#line 26056 "gram.c" /* yacc.c:1646 */
break;
case 217:
#line 1579 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = "serializable"; }
#line 26062 "gram.c" /* yacc.c:1646 */
break;
case 218:
#line 1583 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = "true"; }
#line 26068 "gram.c" /* yacc.c:1646 */
break;
case 219:
#line 1584 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = "false"; }
#line 26074 "gram.c" /* yacc.c:1646 */
break;
case 220:
#line 1585 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = "on"; }
#line 26080 "gram.c" /* yacc.c:1646 */
break;
case 221:
#line 1591 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = (yyvsp[0].str); }
#line 26086 "gram.c" /* yacc.c:1646 */
break;
case 222:
#line 1604 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0]));
}
#line 26094 "gram.c" /* yacc.c:1646 */
break;
case 223:
#line 1608 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0]));
}
#line 26102 "gram.c" /* yacc.c:1646 */
break;
case 224:
#line 1612 "gram.y" /* yacc.c:1646 */
{
TypeName *t = (yyvsp[-2].typnam);
if ((yyvsp[0].list) != NIL)
{
A_Const *n = (A_Const *) linitial((yyvsp[0].list));
if ((n->val.val.ival & ~(INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE))) != 0)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("time zone interval must be HOUR or HOUR TO MINUTE"),
parser_errposition((yylsp[0]))));
}
t->typmods = (yyvsp[0].list);
(yyval.node) = makeStringConstCast((yyvsp[-1].str), (yylsp[-1]), t);
}
#line 26121 "gram.c" /* yacc.c:1646 */
break;
case 225:
#line 1627 "gram.y" /* yacc.c:1646 */
{
TypeName *t = (yyvsp[-4].typnam);
t->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1),
makeIntConst((yyvsp[-2].ival), (yylsp[-2])));
(yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t);
}
#line 26132 "gram.c" /* yacc.c:1646 */
break;
case 226:
#line 1633 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = makeAConst((yyvsp[0].value), (yylsp[0])); }
#line 26138 "gram.c" /* yacc.c:1646 */
break;
case 227:
#line 1634 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = NULL; }
#line 26144 "gram.c" /* yacc.c:1646 */
break;
case 228:
#line 1635 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = NULL; }
#line 26150 "gram.c" /* yacc.c:1646 */
break;
case 229:
#line 1639 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = (yyvsp[0].str); }
#line 26156 "gram.c" /* yacc.c:1646 */
break;
case 230:
#line 1640 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = NULL; }
#line 26162 "gram.c" /* yacc.c:1646 */
break;
case 231:
#line 1641 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = NULL; }
#line 26168 "gram.c" /* yacc.c:1646 */
break;
case 232:
#line 1645 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = (yyvsp[0].str); }
#line 26174 "gram.c" /* yacc.c:1646 */
break;
case 233:
#line 1646 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = (yyvsp[0].str); }
#line 26180 "gram.c" /* yacc.c:1646 */
break;
case 234:
#line 1650 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (Node *) (yyvsp[0].vsetstmt); }
#line 26186 "gram.c" /* yacc.c:1646 */
break;
case 235:
#line 1654 "gram.y" /* yacc.c:1646 */
{ (yyval.vsetstmt) = (yyvsp[0].vsetstmt); }
#line 26192 "gram.c" /* yacc.c:1646 */
break;
case 236:
#line 1656 "gram.y" /* yacc.c:1646 */
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_RESET;
n->name = "timezone";
(yyval.vsetstmt) = n;
}
#line 26203 "gram.c" /* yacc.c:1646 */
break;
case 237:
#line 1663 "gram.y" /* yacc.c:1646 */
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_RESET;
n->name = "transaction_isolation";
(yyval.vsetstmt) = n;
}
#line 26214 "gram.c" /* yacc.c:1646 */
break;
case 238:
#line 1670 "gram.y" /* yacc.c:1646 */
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_RESET;
n->name = "session_authorization";
(yyval.vsetstmt) = n;
}
#line 26225 "gram.c" /* yacc.c:1646 */
break;
case 239:
#line 1680 "gram.y" /* yacc.c:1646 */
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_RESET;
n->name = (yyvsp[0].str);
(yyval.vsetstmt) = n;
}
#line 26236 "gram.c" /* yacc.c:1646 */
break;
case 240:
#line 1687 "gram.y" /* yacc.c:1646 */
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_RESET_ALL;
(yyval.vsetstmt) = n;
}
#line 26246 "gram.c" /* yacc.c:1646 */
break;
case 241:
#line 1696 "gram.y" /* yacc.c:1646 */
{ (yyval.vsetstmt) = (yyvsp[0].vsetstmt); }
#line 26252 "gram.c" /* yacc.c:1646 */
break;
case 242:
#line 1697 "gram.y" /* yacc.c:1646 */
{ (yyval.vsetstmt) = (VariableSetStmt *) (yyvsp[0].node); }
#line 26258 "gram.c" /* yacc.c:1646 */
break;
case 243:
#line 1702 "gram.y" /* yacc.c:1646 */
{ (yyval.vsetstmt) = (yyvsp[0].vsetstmt); }
#line 26264 "gram.c" /* yacc.c:1646 */
break;
case 244:
#line 1703 "gram.y" /* yacc.c:1646 */
{ (yyval.vsetstmt) = (VariableSetStmt *) (yyvsp[0].node); }
#line 26270 "gram.c" /* yacc.c:1646 */
break;
case 245:
#line 1709 "gram.y" /* yacc.c:1646 */
{
VariableShowStmt *n = makeNode(VariableShowStmt);
n->name = (yyvsp[0].str);
(yyval.node) = (Node *) n;
}
#line 26280 "gram.c" /* yacc.c:1646 */
break;
case 246:
#line 1715 "gram.y" /* yacc.c:1646 */
{
VariableShowStmt *n = makeNode(VariableShowStmt);
n->name = "timezone";
(yyval.node) = (Node *) n;
}
#line 26290 "gram.c" /* yacc.c:1646 */
break;
case 247:
#line 1721 "gram.y" /* yacc.c:1646 */
{
VariableShowStmt *n = makeNode(VariableShowStmt);
n->name = "transaction_isolation";
(yyval.node) = (Node *) n;
}
#line 26300 "gram.c" /* yacc.c:1646 */
break;
case 248:
#line 1727 "gram.y" /* yacc.c:1646 */
{
VariableShowStmt *n = makeNode(VariableShowStmt);
n->name = "session_authorization";
(yyval.node) = (Node *) n;
}
#line 26310 "gram.c" /* yacc.c:1646 */
break;
case 249:
#line 1733 "gram.y" /* yacc.c:1646 */
{
VariableShowStmt *n = makeNode(VariableShowStmt);
n->name = "all";
(yyval.node) = (Node *) n;
}
#line 26320 "gram.c" /* yacc.c:1646 */
break;
case 250:
#line 1743 "gram.y" /* yacc.c:1646 */
{
ConstraintsSetStmt *n = makeNode(ConstraintsSetStmt);
n->constraints = (yyvsp[-1].list);
n->deferred = (yyvsp[0].boolean);
(yyval.node) = (Node *) n;
}
#line 26331 "gram.c" /* yacc.c:1646 */
break;
case 251:
#line 1752 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 26337 "gram.c" /* yacc.c:1646 */
break;
case 252:
#line 1753 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[0].list); }
#line 26343 "gram.c" /* yacc.c:1646 */
break;
case 253:
#line 1757 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = true; }
#line 26349 "gram.c" /* yacc.c:1646 */
break;
case 254:
#line 1758 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = false; }
#line 26355 "gram.c" /* yacc.c:1646 */
break;
case 255:
#line 1767 "gram.y" /* yacc.c:1646 */
{
CheckPointStmt *n = makeNode(CheckPointStmt);
(yyval.node) = (Node *)n;
}
#line 26364 "gram.c" /* yacc.c:1646 */
break;
case 256:
#line 1782 "gram.y" /* yacc.c:1646 */
{
DiscardStmt *n = makeNode(DiscardStmt);
n->target = DISCARD_ALL;
(yyval.node) = (Node *) n;
}
#line 26374 "gram.c" /* yacc.c:1646 */
break;
case 257:
#line 1788 "gram.y" /* yacc.c:1646 */
{
DiscardStmt *n = makeNode(DiscardStmt);
n->target = DISCARD_TEMP;
(yyval.node) = (Node *) n;
}
#line 26384 "gram.c" /* yacc.c:1646 */
break;
case 258:
#line 1794 "gram.y" /* yacc.c:1646 */
{
DiscardStmt *n = makeNode(DiscardStmt);
n->target = DISCARD_TEMP;
(yyval.node) = (Node *) n;
}
#line 26394 "gram.c" /* yacc.c:1646 */
break;
case 259:
#line 1800 "gram.y" /* yacc.c:1646 */
{
DiscardStmt *n = makeNode(DiscardStmt);
n->target = DISCARD_PLANS;
(yyval.node) = (Node *) n;
}
#line 26404 "gram.c" /* yacc.c:1646 */
break;
case 260:
#line 1806 "gram.y" /* yacc.c:1646 */
{
DiscardStmt *n = makeNode(DiscardStmt);
n->target = DISCARD_SEQUENCES;
(yyval.node) = (Node *) n;
}
#line 26414 "gram.c" /* yacc.c:1646 */
break;
case 261:
#line 1825 "gram.y" /* yacc.c:1646 */
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[-1].range);
n->cmds = (yyvsp[0].list);
n->relkind = OBJECT_TABLE;
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 26427 "gram.c" /* yacc.c:1646 */
break;
case 262:
#line 1834 "gram.y" /* yacc.c:1646 */
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[-1].range);
n->cmds = (yyvsp[0].list);
n->relkind = OBJECT_TABLE;
n->missing_ok = true;
(yyval.node) = (Node *)n;
}
#line 26440 "gram.c" /* yacc.c:1646 */
break;
case 263:
#line 1843 "gram.y" /* yacc.c:1646 */
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[-1].range);
n->cmds = list_make1((yyvsp[0].node));
n->relkind = OBJECT_TABLE;
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 26453 "gram.c" /* yacc.c:1646 */
break;
case 264:
#line 1852 "gram.y" /* yacc.c:1646 */
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[-1].range);
n->cmds = list_make1((yyvsp[0].node));
n->relkind = OBJECT_TABLE;
n->missing_ok = true;
(yyval.node) = (Node *)n;
}
#line 26466 "gram.c" /* yacc.c:1646 */
break;
case 265:
#line 1861 "gram.y" /* yacc.c:1646 */
{
AlterTableMoveAllStmt *n =
makeNode(AlterTableMoveAllStmt);
n->orig_tablespacename = (yyvsp[-4].str);
n->objtype = OBJECT_TABLE;
n->roles = NIL;
n->new_tablespacename = (yyvsp[-1].str);
n->nowait = (yyvsp[0].boolean);
(yyval.node) = (Node *)n;
}
#line 26481 "gram.c" /* yacc.c:1646 */
break;
case 266:
#line 1872 "gram.y" /* yacc.c:1646 */
{
AlterTableMoveAllStmt *n =
makeNode(AlterTableMoveAllStmt);
n->orig_tablespacename = (yyvsp[-7].str);
n->objtype = OBJECT_TABLE;
n->roles = (yyvsp[-4].list);
n->new_tablespacename = (yyvsp[-1].str);
n->nowait = (yyvsp[0].boolean);
(yyval.node) = (Node *)n;
}
#line 26496 "gram.c" /* yacc.c:1646 */
break;
case 267:
#line 1883 "gram.y" /* yacc.c:1646 */
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[-1].range);
n->cmds = (yyvsp[0].list);
n->relkind = OBJECT_INDEX;
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 26509 "gram.c" /* yacc.c:1646 */
break;
case 268:
#line 1892 "gram.y" /* yacc.c:1646 */
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[-1].range);
n->cmds = (yyvsp[0].list);
n->relkind = OBJECT_INDEX;
n->missing_ok = true;
(yyval.node) = (Node *)n;
}
#line 26522 "gram.c" /* yacc.c:1646 */
break;
case 269:
#line 1901 "gram.y" /* yacc.c:1646 */
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[-1].range);
n->cmds = list_make1((yyvsp[0].node));
n->relkind = OBJECT_INDEX;
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 26535 "gram.c" /* yacc.c:1646 */
break;
case 270:
#line 1910 "gram.y" /* yacc.c:1646 */
{
AlterTableMoveAllStmt *n =
makeNode(AlterTableMoveAllStmt);
n->orig_tablespacename = (yyvsp[-4].str);
n->objtype = OBJECT_INDEX;
n->roles = NIL;
n->new_tablespacename = (yyvsp[-1].str);
n->nowait = (yyvsp[0].boolean);
(yyval.node) = (Node *)n;
}
#line 26550 "gram.c" /* yacc.c:1646 */
break;
case 271:
#line 1921 "gram.y" /* yacc.c:1646 */
{
AlterTableMoveAllStmt *n =
makeNode(AlterTableMoveAllStmt);
n->orig_tablespacename = (yyvsp[-7].str);
n->objtype = OBJECT_INDEX;
n->roles = (yyvsp[-4].list);
n->new_tablespacename = (yyvsp[-1].str);
n->nowait = (yyvsp[0].boolean);
(yyval.node) = (Node *)n;
}
#line 26565 "gram.c" /* yacc.c:1646 */
break;
case 272:
#line 1932 "gram.y" /* yacc.c:1646 */
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[-1].range);
n->cmds = (yyvsp[0].list);
n->relkind = OBJECT_SEQUENCE;
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 26578 "gram.c" /* yacc.c:1646 */
break;
case 273:
#line 1941 "gram.y" /* yacc.c:1646 */
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[-1].range);
n->cmds = (yyvsp[0].list);
n->relkind = OBJECT_SEQUENCE;
n->missing_ok = true;
(yyval.node) = (Node *)n;
}
#line 26591 "gram.c" /* yacc.c:1646 */
break;
case 274:
#line 1950 "gram.y" /* yacc.c:1646 */
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[-1].range);
n->cmds = (yyvsp[0].list);
n->relkind = OBJECT_VIEW;
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 26604 "gram.c" /* yacc.c:1646 */
break;
case 275:
#line 1959 "gram.y" /* yacc.c:1646 */
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[-1].range);
n->cmds = (yyvsp[0].list);
n->relkind = OBJECT_VIEW;
n->missing_ok = true;
(yyval.node) = (Node *)n;
}
#line 26617 "gram.c" /* yacc.c:1646 */
break;
case 276:
#line 1968 "gram.y" /* yacc.c:1646 */
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[-1].range);
n->cmds = (yyvsp[0].list);
n->relkind = OBJECT_MATVIEW;
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 26630 "gram.c" /* yacc.c:1646 */
break;
case 277:
#line 1977 "gram.y" /* yacc.c:1646 */
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[-1].range);
n->cmds = (yyvsp[0].list);
n->relkind = OBJECT_MATVIEW;
n->missing_ok = true;
(yyval.node) = (Node *)n;
}
#line 26643 "gram.c" /* yacc.c:1646 */
break;
case 278:
#line 1986 "gram.y" /* yacc.c:1646 */
{
AlterTableMoveAllStmt *n =
makeNode(AlterTableMoveAllStmt);
n->orig_tablespacename = (yyvsp[-4].str);
n->objtype = OBJECT_MATVIEW;
n->roles = NIL;
n->new_tablespacename = (yyvsp[-1].str);
n->nowait = (yyvsp[0].boolean);
(yyval.node) = (Node *)n;
}
#line 26658 "gram.c" /* yacc.c:1646 */
break;
case 279:
#line 1997 "gram.y" /* yacc.c:1646 */
{
AlterTableMoveAllStmt *n =
makeNode(AlterTableMoveAllStmt);
n->orig_tablespacename = (yyvsp[-7].str);
n->objtype = OBJECT_MATVIEW;
n->roles = (yyvsp[-4].list);
n->new_tablespacename = (yyvsp[-1].str);
n->nowait = (yyvsp[0].boolean);
(yyval.node) = (Node *)n;
}
#line 26673 "gram.c" /* yacc.c:1646 */
break;
case 280:
#line 2010 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1((yyvsp[0].node)); }
#line 26679 "gram.c" /* yacc.c:1646 */
break;
case 281:
#line 2011 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
#line 26685 "gram.c" /* yacc.c:1646 */
break;
case 282:
#line 2017 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
PartitionCmd *cmd = makeNode(PartitionCmd);
n->subtype = AT_AttachPartition;
cmd->name = (yyvsp[-1].range);
cmd->bound = (yyvsp[0].partboundspec);
n->def = (Node *) cmd;
(yyval.node) = (Node *) n;
}
#line 26701 "gram.c" /* yacc.c:1646 */
break;
case 283:
#line 2030 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
PartitionCmd *cmd = makeNode(PartitionCmd);
n->subtype = AT_DetachPartition;
cmd->name = (yyvsp[0].range);
cmd->bound = NULL;
n->def = (Node *) cmd;
(yyval.node) = (Node *) n;
}
#line 26717 "gram.c" /* yacc.c:1646 */
break;
case 284:
#line 2046 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
PartitionCmd *cmd = makeNode(PartitionCmd);
n->subtype = AT_AttachPartition;
cmd->name = (yyvsp[0].range);
cmd->bound = NULL;
n->def = (Node *) cmd;
(yyval.node) = (Node *) n;
}
#line 26733 "gram.c" /* yacc.c:1646 */
break;
case 285:
#line 2062 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_AddColumn;
n->def = (yyvsp[0].node);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 26745 "gram.c" /* yacc.c:1646 */
break;
case 286:
#line 2071 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_AddColumn;
n->def = (yyvsp[0].node);
n->missing_ok = true;
(yyval.node) = (Node *)n;
}
#line 26757 "gram.c" /* yacc.c:1646 */
break;
case 287:
#line 2080 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_AddColumn;
n->def = (yyvsp[0].node);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 26769 "gram.c" /* yacc.c:1646 */
break;
case 288:
#line 2089 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_AddColumn;
n->def = (yyvsp[0].node);
n->missing_ok = true;
(yyval.node) = (Node *)n;
}
#line 26781 "gram.c" /* yacc.c:1646 */
break;
case 289:
#line 2098 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_ColumnDefault;
n->name = (yyvsp[-1].str);
n->def = (yyvsp[0].node);
(yyval.node) = (Node *)n;
}
#line 26793 "gram.c" /* yacc.c:1646 */
break;
case 290:
#line 2107 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropNotNull;
n->name = (yyvsp[-3].str);
(yyval.node) = (Node *)n;
}
#line 26804 "gram.c" /* yacc.c:1646 */
break;
case 291:
#line 2115 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetNotNull;
n->name = (yyvsp[-3].str);
(yyval.node) = (Node *)n;
}
#line 26815 "gram.c" /* yacc.c:1646 */
break;
case 292:
#line 2123 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetStatistics;
n->name = (yyvsp[-3].str);
n->def = (Node *) makeInteger((yyvsp[0].ival));
(yyval.node) = (Node *)n;
}
#line 26827 "gram.c" /* yacc.c:1646 */
break;
case 293:
#line 2132 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
if ((yyvsp[-3].ival) <= 0 || (yyvsp[-3].ival) > PG_INT16_MAX)
ereport(ERROR,
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
errmsg("column number must be in range from 1 to %d", PG_INT16_MAX),
parser_errposition((yylsp[-3]))));
n->subtype = AT_SetStatistics;
n->num = (int16) (yyvsp[-3].ival);
n->def = (Node *) makeInteger((yyvsp[0].ival));
(yyval.node) = (Node *)n;
}
#line 26846 "gram.c" /* yacc.c:1646 */
break;
case 294:
#line 2148 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetOptions;
n->name = (yyvsp[-2].str);
n->def = (Node *) (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 26858 "gram.c" /* yacc.c:1646 */
break;
case 295:
#line 2157 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_ResetOptions;
n->name = (yyvsp[-2].str);
n->def = (Node *) (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 26870 "gram.c" /* yacc.c:1646 */
break;
case 296:
#line 2166 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetStorage;
n->name = (yyvsp[-3].str);
n->def = (Node *) makeString((yyvsp[0].str));
(yyval.node) = (Node *)n;
}
#line 26882 "gram.c" /* yacc.c:1646 */
break;
case 297:
#line 2175 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
Constraint *c = makeNode(Constraint);
c->contype = CONSTR_IDENTITY;
c->generated_when = (yyvsp[-3].ival);
c->options = (yyvsp[0].list);
c->location = (yylsp[-4]);
n->subtype = AT_AddIdentity;
n->name = (yyvsp[-6].str);
n->def = (Node *) c;
(yyval.node) = (Node *)n;
}
#line 26902 "gram.c" /* yacc.c:1646 */
break;
case 298:
#line 2192 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetIdentity;
n->name = (yyvsp[-1].str);
n->def = (Node *) (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 26914 "gram.c" /* yacc.c:1646 */
break;
case 299:
#line 2201 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropIdentity;
n->name = (yyvsp[-2].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 26926 "gram.c" /* yacc.c:1646 */
break;
case 300:
#line 2210 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropIdentity;
n->name = (yyvsp[-4].str);
n->missing_ok = true;
(yyval.node) = (Node *)n;
}
#line 26938 "gram.c" /* yacc.c:1646 */
break;
case 301:
#line 2219 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropColumn;
n->name = (yyvsp[-1].str);
n->behavior = (yyvsp[0].dbehavior);
n->missing_ok = true;
(yyval.node) = (Node *)n;
}
#line 26951 "gram.c" /* yacc.c:1646 */
break;
case 302:
#line 2229 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropColumn;
n->name = (yyvsp[-1].str);
n->behavior = (yyvsp[0].dbehavior);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 26964 "gram.c" /* yacc.c:1646 */
break;
case 303:
#line 2242 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
ColumnDef *def = makeNode(ColumnDef);
n->subtype = AT_AlterColumnType;
n->name = (yyvsp[-5].str);
n->def = (Node *) def;
/* We only use these fields of the ColumnDef node */
def->typeName = (yyvsp[-2].typnam);
def->collClause = (CollateClause *) (yyvsp[-1].node);
def->raw_default = (yyvsp[0].node);
def->location = (yylsp[-5]);
(yyval.node) = (Node *)n;
}
#line 26982 "gram.c" /* yacc.c:1646 */
break;
case 304:
#line 2257 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_AlterColumnGenericOptions;
n->name = (yyvsp[-1].str);
n->def = (Node *) (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 26994 "gram.c" /* yacc.c:1646 */
break;
case 305:
#line 2266 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_AddConstraint;
n->def = (yyvsp[0].node);
(yyval.node) = (Node *)n;
}
#line 27005 "gram.c" /* yacc.c:1646 */
break;
case 306:
#line 2274 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
Constraint *c = makeNode(Constraint);
n->subtype = AT_AlterConstraint;
n->def = (Node *) c;
c->contype = CONSTR_FOREIGN; /* others not supported, yet */
c->conname = (yyvsp[-1].str);
processCASbits((yyvsp[0].ival), (yylsp[0]), "ALTER CONSTRAINT statement",
&c->deferrable,
&c->initdeferred,
NULL, NULL, yyscanner);
(yyval.node) = (Node *)n;
}
#line 27023 "gram.c" /* yacc.c:1646 */
break;
case 307:
#line 2289 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_ValidateConstraint;
n->name = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 27034 "gram.c" /* yacc.c:1646 */
break;
case 308:
#line 2297 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropConstraint;
n->name = (yyvsp[-1].str);
n->behavior = (yyvsp[0].dbehavior);
n->missing_ok = true;
(yyval.node) = (Node *)n;
}
#line 27047 "gram.c" /* yacc.c:1646 */
break;
case 309:
#line 2307 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropConstraint;
n->name = (yyvsp[-1].str);
n->behavior = (yyvsp[0].dbehavior);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 27060 "gram.c" /* yacc.c:1646 */
break;
case 310:
#line 2317 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_AddOids;
(yyval.node) = (Node *)n;
}
#line 27070 "gram.c" /* yacc.c:1646 */
break;
case 311:
#line 2324 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropOids;
(yyval.node) = (Node *)n;
}
#line 27080 "gram.c" /* yacc.c:1646 */
break;
case 312:
#line 2331 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_ClusterOn;
n->name = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 27091 "gram.c" /* yacc.c:1646 */
break;
case 313:
#line 2339 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropCluster;
n->name = NULL;
(yyval.node) = (Node *)n;
}
#line 27102 "gram.c" /* yacc.c:1646 */
break;
case 314:
#line 2347 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetLogged;
(yyval.node) = (Node *)n;
}
#line 27112 "gram.c" /* yacc.c:1646 */
break;
case 315:
#line 2354 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetUnLogged;
(yyval.node) = (Node *)n;
}
#line 27122 "gram.c" /* yacc.c:1646 */
break;
case 316:
#line 2361 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableTrig;
n->name = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 27133 "gram.c" /* yacc.c:1646 */
break;
case 317:
#line 2369 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableAlwaysTrig;
n->name = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 27144 "gram.c" /* yacc.c:1646 */
break;
case 318:
#line 2377 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableReplicaTrig;
n->name = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 27155 "gram.c" /* yacc.c:1646 */
break;
case 319:
#line 2385 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableTrigAll;
(yyval.node) = (Node *)n;
}
#line 27165 "gram.c" /* yacc.c:1646 */
break;
case 320:
#line 2392 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableTrigUser;
(yyval.node) = (Node *)n;
}
#line 27175 "gram.c" /* yacc.c:1646 */
break;
case 321:
#line 2399 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DisableTrig;
n->name = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 27186 "gram.c" /* yacc.c:1646 */
break;
case 322:
#line 2407 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DisableTrigAll;
(yyval.node) = (Node *)n;
}
#line 27196 "gram.c" /* yacc.c:1646 */
break;
case 323:
#line 2414 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DisableTrigUser;
(yyval.node) = (Node *)n;
}
#line 27206 "gram.c" /* yacc.c:1646 */
break;
case 324:
#line 2421 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableRule;
n->name = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 27217 "gram.c" /* yacc.c:1646 */
break;
case 325:
#line 2429 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableAlwaysRule;
n->name = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 27228 "gram.c" /* yacc.c:1646 */
break;
case 326:
#line 2437 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableReplicaRule;
n->name = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 27239 "gram.c" /* yacc.c:1646 */
break;
case 327:
#line 2445 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DisableRule;
n->name = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 27250 "gram.c" /* yacc.c:1646 */
break;
case 328:
#line 2453 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_AddInherit;
n->def = (Node *) (yyvsp[0].range);
(yyval.node) = (Node *)n;
}
#line 27261 "gram.c" /* yacc.c:1646 */
break;
case 329:
#line 2461 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropInherit;
n->def = (Node *) (yyvsp[0].range);
(yyval.node) = (Node *)n;
}
#line 27272 "gram.c" /* yacc.c:1646 */
break;
case 330:
#line 2469 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
TypeName *def = makeTypeNameFromNameList((yyvsp[0].list));
def->location = (yylsp[0]);
n->subtype = AT_AddOf;
n->def = (Node *) def;
(yyval.node) = (Node *)n;
}
#line 27285 "gram.c" /* yacc.c:1646 */
break;
case 331:
#line 2479 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropOf;
(yyval.node) = (Node *)n;
}
#line 27295 "gram.c" /* yacc.c:1646 */
break;
case 332:
#line 2486 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_ChangeOwner;
n->newowner = (yyvsp[0].rolespec);
(yyval.node) = (Node *)n;
}
#line 27306 "gram.c" /* yacc.c:1646 */
break;
case 333:
#line 2494 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetTableSpace;
n->name = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 27317 "gram.c" /* yacc.c:1646 */
break;
case 334:
#line 2502 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetRelOptions;
n->def = (Node *)(yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 27328 "gram.c" /* yacc.c:1646 */
break;
case 335:
#line 2510 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_ResetRelOptions;
n->def = (Node *)(yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 27339 "gram.c" /* yacc.c:1646 */
break;
case 336:
#line 2518 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_ReplicaIdentity;
n->def = (yyvsp[0].node);
(yyval.node) = (Node *)n;
}
#line 27350 "gram.c" /* yacc.c:1646 */
break;
case 337:
#line 2526 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableRowSecurity;
(yyval.node) = (Node *)n;
}
#line 27360 "gram.c" /* yacc.c:1646 */
break;
case 338:
#line 2533 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DisableRowSecurity;
(yyval.node) = (Node *)n;
}
#line 27370 "gram.c" /* yacc.c:1646 */
break;
case 339:
#line 2540 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_ForceRowSecurity;
(yyval.node) = (Node *)n;
}
#line 27380 "gram.c" /* yacc.c:1646 */
break;
case 340:
#line 2547 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_NoForceRowSecurity;
(yyval.node) = (Node *)n;
}
#line 27390 "gram.c" /* yacc.c:1646 */
break;
case 341:
#line 2553 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_GenericOptions;
n->def = (Node *)(yyvsp[0].list);
(yyval.node) = (Node *) n;
}
#line 27401 "gram.c" /* yacc.c:1646 */
break;
case 342:
#line 2562 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (yyvsp[0].node); }
#line 27407 "gram.c" /* yacc.c:1646 */
break;
case 343:
#line 2563 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = NULL; }
#line 27413 "gram.c" /* yacc.c:1646 */
break;
case 344:
#line 2567 "gram.y" /* yacc.c:1646 */
{ (yyval.dbehavior) = DROP_CASCADE; }
#line 27419 "gram.c" /* yacc.c:1646 */
break;
case 345:
#line 2568 "gram.y" /* yacc.c:1646 */
{ (yyval.dbehavior) = DROP_RESTRICT; }
#line 27425 "gram.c" /* yacc.c:1646 */
break;
case 346:
#line 2569 "gram.y" /* yacc.c:1646 */
{ (yyval.dbehavior) = DROP_RESTRICT; /* default */ }
#line 27431 "gram.c" /* yacc.c:1646 */
break;
case 347:
#line 2574 "gram.y" /* yacc.c:1646 */
{
CollateClause *n = makeNode(CollateClause);
n->arg = NULL;
n->collname = (yyvsp[0].list);
n->location = (yylsp[-1]);
(yyval.node) = (Node *) n;
}
#line 27443 "gram.c" /* yacc.c:1646 */
break;
case 348:
#line 2581 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = NULL; }
#line 27449 "gram.c" /* yacc.c:1646 */
break;
case 349:
#line 2585 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (yyvsp[0].node); }
#line 27455 "gram.c" /* yacc.c:1646 */
break;
case 350:
#line 2586 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = NULL; }
#line 27461 "gram.c" /* yacc.c:1646 */
break;
case 351:
#line 2591 "gram.y" /* yacc.c:1646 */
{
ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
n->identity_type = REPLICA_IDENTITY_NOTHING;
n->name = NULL;
(yyval.node) = (Node *) n;
}
#line 27472 "gram.c" /* yacc.c:1646 */
break;
case 352:
#line 2598 "gram.y" /* yacc.c:1646 */
{
ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
n->identity_type = REPLICA_IDENTITY_FULL;
n->name = NULL;
(yyval.node) = (Node *) n;
}
#line 27483 "gram.c" /* yacc.c:1646 */
break;
case 353:
#line 2605 "gram.y" /* yacc.c:1646 */
{
ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
n->identity_type = REPLICA_IDENTITY_DEFAULT;
n->name = NULL;
(yyval.node) = (Node *) n;
}
#line 27494 "gram.c" /* yacc.c:1646 */
break;
case 354:
#line 2612 "gram.y" /* yacc.c:1646 */
{
ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
n->identity_type = REPLICA_IDENTITY_INDEX;
n->name = (yyvsp[0].str);
(yyval.node) = (Node *) n;
}
#line 27505 "gram.c" /* yacc.c:1646 */
break;
case 355:
#line 2621 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 27511 "gram.c" /* yacc.c:1646 */
break;
case 356:
#line 2624 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[0].list); }
#line 27517 "gram.c" /* yacc.c:1646 */
break;
case 357:
#line 2625 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 27523 "gram.c" /* yacc.c:1646 */
break;
case 358:
#line 2629 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1((yyvsp[0].defelt)); }
#line 27529 "gram.c" /* yacc.c:1646 */
break;
case 359:
#line 2630 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
#line 27535 "gram.c" /* yacc.c:1646 */
break;
case 360:
#line 2636 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *) (yyvsp[0].node), (yylsp[-2]));
}
#line 27543 "gram.c" /* yacc.c:1646 */
break;
case 361:
#line 2640 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem((yyvsp[0].str), NULL, (yylsp[0]));
}
#line 27551 "gram.c" /* yacc.c:1646 */
break;
case 362:
#line 2644 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElemExtended((yyvsp[-4].str), (yyvsp[-2].str), (Node *) (yyvsp[0].node),
DEFELEM_UNSPEC, (yylsp[-4]));
}
#line 27560 "gram.c" /* yacc.c:1646 */
break;
case 363:
#line 2649 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElemExtended((yyvsp[-2].str), (yyvsp[0].str), NULL, DEFELEM_UNSPEC, (yylsp[-2]));
}
#line 27568 "gram.c" /* yacc.c:1646 */
break;
case 364:
#line 2656 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1((yyvsp[0].defelt)); }
#line 27574 "gram.c" /* yacc.c:1646 */
break;
case 365:
#line 2658 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
#line 27580 "gram.c" /* yacc.c:1646 */
break;
case 366:
#line 2663 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("restart", NULL, (yylsp[0]));
}
#line 27588 "gram.c" /* yacc.c:1646 */
break;
case 367:
#line 2667 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("restart", (Node *)(yyvsp[0].value), (yylsp[-2]));
}
#line 27596 "gram.c" /* yacc.c:1646 */
break;
case 368:
#line 2671 "gram.y" /* yacc.c:1646 */
{
if (strcmp((yyvsp[0].defelt)->defname, "as") == 0 ||
strcmp((yyvsp[0].defelt)->defname, "restart") == 0 ||
strcmp((yyvsp[0].defelt)->defname, "owned_by") == 0)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("sequence option \"%s\" not supported here", (yyvsp[0].defelt)->defname),
parser_errposition((yylsp[0]))));
(yyval.defelt) = (yyvsp[0].defelt);
}
#line 27611 "gram.c" /* yacc.c:1646 */
break;
case 369:
#line 2682 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("generated", (Node *) makeInteger((yyvsp[0].ival)), (yylsp[-2]));
}
#line 27619 "gram.c" /* yacc.c:1646 */
break;
case 370:
#line 2690 "gram.y" /* yacc.c:1646 */
{
ListCell *lc;
PartitionBoundSpec *n = makeNode(PartitionBoundSpec);
n->strategy = PARTITION_STRATEGY_HASH;
n->modulus = n->remainder = -1;
foreach (lc, (yyvsp[-1].list))
{
DefElem *opt = lfirst_node(DefElem, lc);
if (strcmp(opt->defname, "modulus") == 0)
{
if (n->modulus != -1)
ereport(ERROR,
(errcode(ERRCODE_DUPLICATE_OBJECT),
errmsg("modulus for hash partition provided more than once"),
parser_errposition(opt->location)));
n->modulus = defGetInt32(opt);
}
else if (strcmp(opt->defname, "remainder") == 0)
{
if (n->remainder != -1)
ereport(ERROR,
(errcode(ERRCODE_DUPLICATE_OBJECT),
errmsg("remainder for hash partition provided more than once"),
parser_errposition(opt->location)));
n->remainder = defGetInt32(opt);
}
else
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("unrecognized hash partition bound specification \"%s\"",
opt->defname),
parser_errposition(opt->location)));
}
if (n->modulus == -1)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("modulus for hash partition must be specified")));
if (n->remainder == -1)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("remainder for hash partition must be specified")));
n->location = (yylsp[-3]);
(yyval.partboundspec) = n;
}
#line 27674 "gram.c" /* yacc.c:1646 */
break;
case 371:
#line 2743 "gram.y" /* yacc.c:1646 */
{
PartitionBoundSpec *n = makeNode(PartitionBoundSpec);
n->strategy = PARTITION_STRATEGY_LIST;
n->is_default = false;
n->listdatums = (yyvsp[-1].list);
n->location = (yylsp[-3]);
(yyval.partboundspec) = n;
}
#line 27689 "gram.c" /* yacc.c:1646 */
break;
case 372:
#line 2756 "gram.y" /* yacc.c:1646 */
{
PartitionBoundSpec *n = makeNode(PartitionBoundSpec);
n->strategy = PARTITION_STRATEGY_RANGE;
n->is_default = false;
n->lowerdatums = (yyvsp[-5].list);
n->upperdatums = (yyvsp[-1].list);
n->location = (yylsp[-7]);
(yyval.partboundspec) = n;
}
#line 27705 "gram.c" /* yacc.c:1646 */
break;
case 373:
#line 2770 "gram.y" /* yacc.c:1646 */
{
PartitionBoundSpec *n = makeNode(PartitionBoundSpec);
n->is_default = true;
n->location = (yylsp[0]);
(yyval.partboundspec) = n;
}
#line 27718 "gram.c" /* yacc.c:1646 */
break;
case 374:
#line 2782 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem((yyvsp[-1].str), (Node *)makeInteger((yyvsp[0].ival)), (yylsp[-1]));
}
#line 27726 "gram.c" /* yacc.c:1646 */
break;
case 375:
#line 2789 "gram.y" /* yacc.c:1646 */
{
(yyval.list) = list_make1((yyvsp[0].defelt));
}
#line 27734 "gram.c" /* yacc.c:1646 */
break;
case 376:
#line 2793 "gram.y" /* yacc.c:1646 */
{
(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
}
#line 27742 "gram.c" /* yacc.c:1646 */
break;
case 377:
#line 2799 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0])); }
#line 27748 "gram.c" /* yacc.c:1646 */
break;
case 378:
#line 2800 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = makeAConst((yyvsp[0].value), (yylsp[0])); }
#line 27754 "gram.c" /* yacc.c:1646 */
break;
case 379:
#line 2801 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = makeStringConst(pstrdup("true"), (yylsp[0])); }
#line 27760 "gram.c" /* yacc.c:1646 */
break;
case 380:
#line 2802 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = makeStringConst(pstrdup("false"), (yylsp[0])); }
#line 27766 "gram.c" /* yacc.c:1646 */
break;
case 381:
#line 2803 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = makeNullAConst((yylsp[0])); }
#line 27772 "gram.c" /* yacc.c:1646 */
break;
case 382:
#line 2807 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1((yyvsp[0].node)); }
#line 27778 "gram.c" /* yacc.c:1646 */
break;
case 383:
#line 2809 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
#line 27784 "gram.c" /* yacc.c:1646 */
break;
case 384:
#line 2813 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1((yyvsp[0].node)); }
#line 27790 "gram.c" /* yacc.c:1646 */
break;
case 385:
#line 2815 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
#line 27796 "gram.c" /* yacc.c:1646 */
break;
case 386:
#line 2820 "gram.y" /* yacc.c:1646 */
{
PartitionRangeDatum *n = makeNode(PartitionRangeDatum);
n->kind = PARTITION_RANGE_DATUM_MINVALUE;
n->value = NULL;
n->location = (yylsp[0]);
(yyval.node) = (Node *) n;
}
#line 27810 "gram.c" /* yacc.c:1646 */
break;
case 387:
#line 2830 "gram.y" /* yacc.c:1646 */
{
PartitionRangeDatum *n = makeNode(PartitionRangeDatum);
n->kind = PARTITION_RANGE_DATUM_MAXVALUE;
n->value = NULL;
n->location = (yylsp[0]);
(yyval.node) = (Node *) n;
}
#line 27824 "gram.c" /* yacc.c:1646 */
break;
case 388:
#line 2840 "gram.y" /* yacc.c:1646 */
{
PartitionRangeDatum *n = makeNode(PartitionRangeDatum);
n->kind = PARTITION_RANGE_DATUM_VALUE;
n->value = (yyvsp[0].node);
n->location = (yylsp[0]);
(yyval.node) = (Node *) n;
}
#line 27838 "gram.c" /* yacc.c:1646 */
break;
case 389:
#line 2860 "gram.y" /* yacc.c:1646 */
{
AlterTableStmt *n = makeNode(AlterTableStmt);
/* can't use qualified_name, sigh */
n->relation = makeRangeVarFromAnyName((yyvsp[-1].list), (yylsp[-1]), yyscanner);
n->cmds = (yyvsp[0].list);
n->relkind = OBJECT_TYPE;
(yyval.node) = (Node *)n;
}
#line 27852 "gram.c" /* yacc.c:1646 */
break;
case 390:
#line 2872 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1((yyvsp[0].node)); }
#line 27858 "gram.c" /* yacc.c:1646 */
break;
case 391:
#line 2873 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
#line 27864 "gram.c" /* yacc.c:1646 */
break;
case 392:
#line 2879 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_AddColumn;
n->def = (yyvsp[-1].node);
n->behavior = (yyvsp[0].dbehavior);
(yyval.node) = (Node *)n;
}
#line 27876 "gram.c" /* yacc.c:1646 */
break;
case 393:
#line 2888 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropColumn;
n->name = (yyvsp[-1].str);
n->behavior = (yyvsp[0].dbehavior);
n->missing_ok = true;
(yyval.node) = (Node *)n;
}
#line 27889 "gram.c" /* yacc.c:1646 */
break;
case 394:
#line 2898 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropColumn;
n->name = (yyvsp[-1].str);
n->behavior = (yyvsp[0].dbehavior);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 27902 "gram.c" /* yacc.c:1646 */
break;
case 395:
#line 2908 "gram.y" /* yacc.c:1646 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
ColumnDef *def = makeNode(ColumnDef);
n->subtype = AT_AlterColumnType;
n->name = (yyvsp[-5].str);
n->def = (Node *) def;
n->behavior = (yyvsp[0].dbehavior);
/* We only use these fields of the ColumnDef node */
def->typeName = (yyvsp[-2].typnam);
def->collClause = (CollateClause *) (yyvsp[-1].node);
def->raw_default = NULL;
def->location = (yylsp[-5]);
(yyval.node) = (Node *)n;
}
#line 27921 "gram.c" /* yacc.c:1646 */
break;
case 396:
#line 2934 "gram.y" /* yacc.c:1646 */
{
ClosePortalStmt *n = makeNode(ClosePortalStmt);
n->portalname = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 27931 "gram.c" /* yacc.c:1646 */
break;
case 397:
#line 2940 "gram.y" /* yacc.c:1646 */
{
ClosePortalStmt *n = makeNode(ClosePortalStmt);
n->portalname = NULL;
(yyval.node) = (Node *)n;
}
#line 27941 "gram.c" /* yacc.c:1646 */
break;
case 398:
#line 2974 "gram.y" /* yacc.c:1646 */
{
CopyStmt *n = makeNode(CopyStmt);
n->relation = (yyvsp[-8].range);
n->query = NULL;
n->attlist = (yyvsp[-7].list);
n->is_from = (yyvsp[-5].boolean);
n->is_program = (yyvsp[-4].boolean);
n->filename = (yyvsp[-3].str);
if (n->is_program && n->filename == NULL)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("STDIN/STDOUT not allowed with PROGRAM"),
parser_errposition((yylsp[-3]))));
n->options = NIL;
/* Concatenate user-supplied flags */
if ((yyvsp[-9].defelt))
n->options = lappend(n->options, (yyvsp[-9].defelt));
if ((yyvsp[-6].defelt))
n->options = lappend(n->options, (yyvsp[-6].defelt));
if ((yyvsp[-2].defelt))
n->options = lappend(n->options, (yyvsp[-2].defelt));
if ((yyvsp[0].list))
n->options = list_concat(n->options, (yyvsp[0].list));
(yyval.node) = (Node *)n;
}
#line 27973 "gram.c" /* yacc.c:1646 */
break;
case 399:
#line 3002 "gram.y" /* yacc.c:1646 */
{
CopyStmt *n = makeNode(CopyStmt);
n->relation = NULL;
n->query = (yyvsp[-6].node);
n->attlist = NIL;
n->is_from = false;
n->is_program = (yyvsp[-3].boolean);
n->filename = (yyvsp[-2].str);
n->options = (yyvsp[0].list);
if (n->is_program && n->filename == NULL)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("STDIN/STDOUT not allowed with PROGRAM"),
parser_errposition((yylsp[-4]))));
(yyval.node) = (Node *)n;
}
#line 27996 "gram.c" /* yacc.c:1646 */
break;
case 400:
#line 3023 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = true; }
#line 28002 "gram.c" /* yacc.c:1646 */
break;
case 401:
#line 3024 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = false; }
#line 28008 "gram.c" /* yacc.c:1646 */
break;
case 402:
#line 3028 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = true; }
#line 28014 "gram.c" /* yacc.c:1646 */
break;
case 403:
#line 3029 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = false; }
#line 28020 "gram.c" /* yacc.c:1646 */
break;
case 404:
#line 3038 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = (yyvsp[0].str); }
#line 28026 "gram.c" /* yacc.c:1646 */
break;
case 405:
#line 3039 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = NULL; }
#line 28032 "gram.c" /* yacc.c:1646 */
break;
case 406:
#line 3040 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = NULL; }
#line 28038 "gram.c" /* yacc.c:1646 */
break;
case 407:
#line 3043 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[0].list); }
#line 28044 "gram.c" /* yacc.c:1646 */
break;
case 408:
#line 3044 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 28050 "gram.c" /* yacc.c:1646 */
break;
case 409:
#line 3049 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
#line 28056 "gram.c" /* yacc.c:1646 */
break;
case 410:
#line 3050 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 28062 "gram.c" /* yacc.c:1646 */
break;
case 411:
#line 3055 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("format", (Node *)makeString("binary"), (yylsp[0]));
}
#line 28070 "gram.c" /* yacc.c:1646 */
break;
case 412:
#line 3059 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("oids", (Node *)makeInteger(true), (yylsp[0]));
}
#line 28078 "gram.c" /* yacc.c:1646 */
break;
case 413:
#line 3063 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("freeze", (Node *)makeInteger(true), (yylsp[0]));
}
#line 28086 "gram.c" /* yacc.c:1646 */
break;
case 414:
#line 3067 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("delimiter", (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
}
#line 28094 "gram.c" /* yacc.c:1646 */
break;
case 415:
#line 3071 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("null", (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
}
#line 28102 "gram.c" /* yacc.c:1646 */
break;
case 416:
#line 3075 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("format", (Node *)makeString("csv"), (yylsp[0]));
}
#line 28110 "gram.c" /* yacc.c:1646 */
break;
case 417:
#line 3079 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("header", (Node *)makeInteger(true), (yylsp[0]));
}
#line 28118 "gram.c" /* yacc.c:1646 */
break;
case 418:
#line 3083 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("quote", (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
}
#line 28126 "gram.c" /* yacc.c:1646 */
break;
case 419:
#line 3087 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("escape", (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
}
#line 28134 "gram.c" /* yacc.c:1646 */
break;
case 420:
#line 3091 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("force_quote", (Node *)(yyvsp[0].list), (yylsp[-2]));
}
#line 28142 "gram.c" /* yacc.c:1646 */
break;
case 421:
#line 3095 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("force_quote", (Node *)makeNode(A_Star), (yylsp[-2]));
}
#line 28150 "gram.c" /* yacc.c:1646 */
break;
case 422:
#line 3099 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("force_not_null", (Node *)(yyvsp[0].list), (yylsp[-3]));
}
#line 28158 "gram.c" /* yacc.c:1646 */
break;
case 423:
#line 3103 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("force_null", (Node *)(yyvsp[0].list), (yylsp[-2]));
}
#line 28166 "gram.c" /* yacc.c:1646 */
break;
case 424:
#line 3107 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("encoding", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
}
#line 28174 "gram.c" /* yacc.c:1646 */
break;
case 425:
#line 3116 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("format", (Node *)makeString("binary"), (yylsp[0]));
}
#line 28182 "gram.c" /* yacc.c:1646 */
break;
case 426:
#line 3119 "gram.y" /* yacc.c:1646 */
{ (yyval.defelt) = NULL; }
#line 28188 "gram.c" /* yacc.c:1646 */
break;
case 427:
#line 3124 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("oids", (Node *)makeInteger(true), (yylsp[-1]));
}
#line 28196 "gram.c" /* yacc.c:1646 */
break;
case 428:
#line 3127 "gram.y" /* yacc.c:1646 */
{ (yyval.defelt) = NULL; }
#line 28202 "gram.c" /* yacc.c:1646 */
break;
case 429:
#line 3132 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("delimiter", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
}
#line 28210 "gram.c" /* yacc.c:1646 */
break;
case 430:
#line 3135 "gram.y" /* yacc.c:1646 */
{ (yyval.defelt) = NULL; }
#line 28216 "gram.c" /* yacc.c:1646 */
break;
case 431:
#line 3139 "gram.y" /* yacc.c:1646 */
{}
#line 28222 "gram.c" /* yacc.c:1646 */
break;
case 432:
#line 3140 "gram.y" /* yacc.c:1646 */
{}
#line 28228 "gram.c" /* yacc.c:1646 */
break;
case 433:
#line 3146 "gram.y" /* yacc.c:1646 */
{
(yyval.list) = list_make1((yyvsp[0].defelt));
}
#line 28236 "gram.c" /* yacc.c:1646 */
break;
case 434:
#line 3150 "gram.y" /* yacc.c:1646 */
{
(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
}
#line 28244 "gram.c" /* yacc.c:1646 */
break;
case 435:
#line 3157 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1]));
}
#line 28252 "gram.c" /* yacc.c:1646 */
break;
case 436:
#line 3163 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
#line 28258 "gram.c" /* yacc.c:1646 */
break;
case 437:
#line 3164 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (Node *) (yyvsp[0].value); }
#line 28264 "gram.c" /* yacc.c:1646 */
break;
case 438:
#line 3165 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (Node *) makeNode(A_Star); }
#line 28270 "gram.c" /* yacc.c:1646 */
break;
case 439:
#line 3166 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (Node *) (yyvsp[-1].list); }
#line 28276 "gram.c" /* yacc.c:1646 */
break;
case 440:
#line 3167 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = NULL; }
#line 28282 "gram.c" /* yacc.c:1646 */
break;
case 441:
#line 3172 "gram.y" /* yacc.c:1646 */
{
(yyval.list) = list_make1((yyvsp[0].node));
}
#line 28290 "gram.c" /* yacc.c:1646 */
break;
case 442:
#line 3176 "gram.y" /* yacc.c:1646 */
{
(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
}
#line 28298 "gram.c" /* yacc.c:1646 */
break;
case 443:
#line 3183 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
#line 28304 "gram.c" /* yacc.c:1646 */
break;
case 444:
#line 3196 "gram.y" /* yacc.c:1646 */
{
CreateStmt *n = makeNode(CreateStmt);
(yyvsp[-8].range)->relpersistence = (yyvsp[-10].ival);
n->relation = (yyvsp[-8].range);
n->tableElts = (yyvsp[-6].list);
n->inhRelations = (yyvsp[-4].list);
n->partspec = (yyvsp[-3].partspec);
n->ofTypename = NULL;
n->constraints = NIL;
n->options = (yyvsp[-2].list);
n->oncommit = (yyvsp[-1].oncommit);
n->tablespacename = (yyvsp[0].str);
n->if_not_exists = false;
(yyval.node) = (Node *)n;
}
#line 28324 "gram.c" /* yacc.c:1646 */
break;
case 445:
#line 3214 "gram.y" /* yacc.c:1646 */
{
CreateStmt *n = makeNode(CreateStmt);
(yyvsp[-8].range)->relpersistence = (yyvsp[-13].ival);
n->relation = (yyvsp[-8].range);
n->tableElts = (yyvsp[-6].list);
n->inhRelations = (yyvsp[-4].list);
n->partspec = (yyvsp[-3].partspec);
n->ofTypename = NULL;
n->constraints = NIL;
n->options = (yyvsp[-2].list);
n->oncommit = (yyvsp[-1].oncommit);
n->tablespacename = (yyvsp[0].str);
n->if_not_exists = true;
(yyval.node) = (Node *)n;
}
#line 28344 "gram.c" /* yacc.c:1646 */
break;
case 446:
#line 3232 "gram.y" /* yacc.c:1646 */
{
CreateStmt *n = makeNode(CreateStmt);
(yyvsp[-7].range)->relpersistence = (yyvsp[-9].ival);
n->relation = (yyvsp[-7].range);
n->tableElts = (yyvsp[-4].list);
n->inhRelations = NIL;
n->partspec = (yyvsp[-3].partspec);
n->ofTypename = makeTypeNameFromNameList((yyvsp[-5].list));
n->ofTypename->location = (yylsp[-5]);
n->constraints = NIL;
n->options = (yyvsp[-2].list);
n->oncommit = (yyvsp[-1].oncommit);
n->tablespacename = (yyvsp[0].str);
n->if_not_exists = false;
(yyval.node) = (Node *)n;
}
#line 28365 "gram.c" /* yacc.c:1646 */
break;
case 447:
#line 3251 "gram.y" /* yacc.c:1646 */
{
CreateStmt *n = makeNode(CreateStmt);
(yyvsp[-7].range)->relpersistence = (yyvsp[-12].ival);
n->relation = (yyvsp[-7].range);
n->tableElts = (yyvsp[-4].list);
n->inhRelations = NIL;
n->partspec = (yyvsp[-3].partspec);
n->ofTypename = makeTypeNameFromNameList((yyvsp[-5].list));
n->ofTypename->location = (yylsp[-5]);
n->constraints = NIL;
n->options = (yyvsp[-2].list);
n->oncommit = (yyvsp[-1].oncommit);
n->tablespacename = (yyvsp[0].str);
n->if_not_exists = true;
(yyval.node) = (Node *)n;
}
#line 28386 "gram.c" /* yacc.c:1646 */
break;
case 448:
#line 3270 "gram.y" /* yacc.c:1646 */
{
CreateStmt *n = makeNode(CreateStmt);
(yyvsp[-9].range)->relpersistence = (yyvsp[-11].ival);
n->relation = (yyvsp[-9].range);
n->tableElts = (yyvsp[-5].list);
n->inhRelations = list_make1((yyvsp[-6].range));
n->partbound = (yyvsp[-4].partboundspec);
n->partspec = (yyvsp[-3].partspec);
n->ofTypename = NULL;
n->constraints = NIL;
n->options = (yyvsp[-2].list);
n->oncommit = (yyvsp[-1].oncommit);
n->tablespacename = (yyvsp[0].str);
n->if_not_exists = false;
(yyval.node) = (Node *)n;
}
#line 28407 "gram.c" /* yacc.c:1646 */
break;
case 449:
#line 3289 "gram.y" /* yacc.c:1646 */
{
CreateStmt *n = makeNode(CreateStmt);
(yyvsp[-9].range)->relpersistence = (yyvsp[-14].ival);
n->relation = (yyvsp[-9].range);
n->tableElts = (yyvsp[-5].list);
n->inhRelations = list_make1((yyvsp[-6].range));
n->partbound = (yyvsp[-4].partboundspec);
n->partspec = (yyvsp[-3].partspec);
n->ofTypename = NULL;
n->constraints = NIL;
n->options = (yyvsp[-2].list);
n->oncommit = (yyvsp[-1].oncommit);
n->tablespacename = (yyvsp[0].str);
n->if_not_exists = true;
(yyval.node) = (Node *)n;
}
#line 28428 "gram.c" /* yacc.c:1646 */
break;
case 450:
#line 3318 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = RELPERSISTENCE_TEMP; }
#line 28434 "gram.c" /* yacc.c:1646 */
break;
case 451:
#line 3319 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = RELPERSISTENCE_TEMP; }
#line 28440 "gram.c" /* yacc.c:1646 */
break;
case 452:
#line 3320 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = RELPERSISTENCE_TEMP; }
#line 28446 "gram.c" /* yacc.c:1646 */
break;
case 453:
#line 3321 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = RELPERSISTENCE_TEMP; }
#line 28452 "gram.c" /* yacc.c:1646 */
break;
case 454:
#line 3323 "gram.y" /* yacc.c:1646 */
{
ereport(WARNING,
(errmsg("GLOBAL is deprecated in temporary table creation"),
parser_errposition((yylsp[-1]))));
(yyval.ival) = RELPERSISTENCE_TEMP;
}
#line 28463 "gram.c" /* yacc.c:1646 */
break;
case 455:
#line 3330 "gram.y" /* yacc.c:1646 */
{
ereport(WARNING,
(errmsg("GLOBAL is deprecated in temporary table creation"),
parser_errposition((yylsp[-1]))));
(yyval.ival) = RELPERSISTENCE_TEMP;
}
#line 28474 "gram.c" /* yacc.c:1646 */
break;
case 456:
#line 3336 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = RELPERSISTENCE_UNLOGGED; }
#line 28480 "gram.c" /* yacc.c:1646 */
break;
case 457:
#line 3337 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = RELPERSISTENCE_PERMANENT; }
#line 28486 "gram.c" /* yacc.c:1646 */
break;
case 458:
#line 3341 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[0].list); }
#line 28492 "gram.c" /* yacc.c:1646 */
break;
case 459:
#line 3342 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 28498 "gram.c" /* yacc.c:1646 */
break;
case 460:
#line 3346 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 28504 "gram.c" /* yacc.c:1646 */
break;
case 461:
#line 3347 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 28510 "gram.c" /* yacc.c:1646 */
break;
case 462:
#line 3352 "gram.y" /* yacc.c:1646 */
{
(yyval.list) = list_make1((yyvsp[0].node));
}
#line 28518 "gram.c" /* yacc.c:1646 */
break;
case 463:
#line 3356 "gram.y" /* yacc.c:1646 */
{
(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
}
#line 28526 "gram.c" /* yacc.c:1646 */
break;
case 464:
#line 3363 "gram.y" /* yacc.c:1646 */
{
(yyval.list) = list_make1((yyvsp[0].node));
}
#line 28534 "gram.c" /* yacc.c:1646 */
break;
case 465:
#line 3367 "gram.y" /* yacc.c:1646 */
{
(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
}
#line 28542 "gram.c" /* yacc.c:1646 */
break;
case 466:
#line 3373 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (yyvsp[0].node); }
#line 28548 "gram.c" /* yacc.c:1646 */
break;
case 467:
#line 3374 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (yyvsp[0].node); }
#line 28554 "gram.c" /* yacc.c:1646 */
break;
case 468:
#line 3375 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (yyvsp[0].node); }
#line 28560 "gram.c" /* yacc.c:1646 */
break;
case 469:
#line 3379 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (yyvsp[0].node); }
#line 28566 "gram.c" /* yacc.c:1646 */
break;
case 470:
#line 3380 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (yyvsp[0].node); }
#line 28572 "gram.c" /* yacc.c:1646 */
break;
case 471:
#line 3384 "gram.y" /* yacc.c:1646 */
{
ColumnDef *n = makeNode(ColumnDef);
n->colname = (yyvsp[-3].str);
n->typeName = (yyvsp[-2].typnam);
n->inhcount = 0;
n->is_local = true;
n->is_not_null = false;
n->is_from_type = false;
n->storage = 0;
n->raw_default = NULL;
n->cooked_default = NULL;
n->collOid = InvalidOid;
n->fdwoptions = (yyvsp[-1].list);
SplitColQualList((yyvsp[0].list), &n->constraints, &n->collClause,
yyscanner);
n->location = (yylsp[-3]);
(yyval.node) = (Node *)n;
}
#line 28595 "gram.c" /* yacc.c:1646 */
break;
case 472:
#line 3405 "gram.y" /* yacc.c:1646 */
{
ColumnDef *n = makeNode(ColumnDef);
n->colname = (yyvsp[-1].str);
n->typeName = NULL;
n->inhcount = 0;
n->is_local = true;
n->is_not_null = false;
n->is_from_type = false;
n->storage = 0;
n->raw_default = NULL;
n->cooked_default = NULL;
n->collOid = InvalidOid;
SplitColQualList((yyvsp[0].list), &n->constraints, &n->collClause,
yyscanner);
n->location = (yylsp[-1]);
(yyval.node) = (Node *)n;
}
#line 28617 "gram.c" /* yacc.c:1646 */
break;
case 473:
#line 3423 "gram.y" /* yacc.c:1646 */
{
ColumnDef *n = makeNode(ColumnDef);
n->colname = (yyvsp[-3].str);
n->typeName = NULL;
n->inhcount = 0;
n->is_local = true;
n->is_not_null = false;
n->is_from_type = false;
n->storage = 0;
n->raw_default = NULL;
n->cooked_default = NULL;
n->collOid = InvalidOid;
SplitColQualList((yyvsp[0].list), &n->constraints, &n->collClause,
yyscanner);
n->location = (yylsp[-3]);
(yyval.node) = (Node *)n;
}
#line 28639 "gram.c" /* yacc.c:1646 */
break;
case 474:
#line 3443 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
#line 28645 "gram.c" /* yacc.c:1646 */
break;
case 475:
#line 3444 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 28651 "gram.c" /* yacc.c:1646 */
break;
case 476:
#line 3449 "gram.y" /* yacc.c:1646 */
{
Constraint *n = castNode(Constraint, (yyvsp[0].node));
n->conname = (yyvsp[-1].str);
n->location = (yylsp[-2]);
(yyval.node) = (Node *) n;
}
#line 28662 "gram.c" /* yacc.c:1646 */
break;
case 477:
#line 3455 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (yyvsp[0].node); }
#line 28668 "gram.c" /* yacc.c:1646 */
break;
case 478:
#line 3456 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (yyvsp[0].node); }
#line 28674 "gram.c" /* yacc.c:1646 */
break;
case 479:
#line 3458 "gram.y" /* yacc.c:1646 */
{
/*
* Note: the CollateClause is momentarily included in
* the list built by ColQualList, but we split it out
* again in SplitColQualList.
*/
CollateClause *n = makeNode(CollateClause);
n->arg = NULL;
n->collname = (yyvsp[0].list);
n->location = (yylsp[-1]);
(yyval.node) = (Node *) n;
}
#line 28691 "gram.c" /* yacc.c:1646 */
break;
case 480:
#line 3489 "gram.y" /* yacc.c:1646 */
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_NOTNULL;
n->location = (yylsp[-1]);
(yyval.node) = (Node *)n;
}
#line 28702 "gram.c" /* yacc.c:1646 */
break;
case 481:
#line 3496 "gram.y" /* yacc.c:1646 */
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_NULL;
n->location = (yylsp[0]);
(yyval.node) = (Node *)n;
}
#line 28713 "gram.c" /* yacc.c:1646 */
break;
case 482:
#line 3503 "gram.y" /* yacc.c:1646 */
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_UNIQUE;
n->location = (yylsp[-2]);
n->keys = NULL;
n->options = (yyvsp[-1].list);
n->indexname = NULL;
n->indexspace = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 28728 "gram.c" /* yacc.c:1646 */
break;
case 483:
#line 3514 "gram.y" /* yacc.c:1646 */
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_PRIMARY;
n->location = (yylsp[-3]);
n->keys = NULL;
n->options = (yyvsp[-1].list);
n->indexname = NULL;
n->indexspace = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 28743 "gram.c" /* yacc.c:1646 */
break;
case 484:
#line 3525 "gram.y" /* yacc.c:1646 */
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_CHECK;
n->location = (yylsp[-4]);
n->is_no_inherit = (yyvsp[0].boolean);
n->raw_expr = (yyvsp[-2].node);
n->cooked_expr = NULL;
n->skip_validation = false;
n->initially_valid = true;
(yyval.node) = (Node *)n;
}
#line 28759 "gram.c" /* yacc.c:1646 */
break;
case 485:
#line 3537 "gram.y" /* yacc.c:1646 */
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_DEFAULT;
n->location = (yylsp[-1]);
n->raw_expr = (yyvsp[0].node);
n->cooked_expr = NULL;
(yyval.node) = (Node *)n;
}
#line 28772 "gram.c" /* yacc.c:1646 */
break;
case 486:
#line 3546 "gram.y" /* yacc.c:1646 */
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_IDENTITY;
n->generated_when = (yyvsp[-3].ival);
n->options = (yyvsp[0].list);
n->location = (yylsp[-4]);
(yyval.node) = (Node *)n;
}
#line 28785 "gram.c" /* yacc.c:1646 */
break;
case 487:
#line 3555 "gram.y" /* yacc.c:1646 */
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_FOREIGN;
n->location = (yylsp[-4]);
n->pktable = (yyvsp[-3].range);
n->fk_attrs = NIL;
n->pk_attrs = (yyvsp[-2].list);
n->fk_matchtype = (yyvsp[-1].ival);
n->fk_upd_action = (char) ((yyvsp[0].ival) >> 8);
n->fk_del_action = (char) ((yyvsp[0].ival) & 0xFF);
n->skip_validation = false;
n->initially_valid = true;
(yyval.node) = (Node *)n;
}
#line 28804 "gram.c" /* yacc.c:1646 */
break;
case 488:
#line 3572 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = ATTRIBUTE_IDENTITY_ALWAYS; }
#line 28810 "gram.c" /* yacc.c:1646 */
break;
case 489:
#line 3573 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = ATTRIBUTE_IDENTITY_BY_DEFAULT; }
#line 28816 "gram.c" /* yacc.c:1646 */
break;
case 490:
#line 3593 "gram.y" /* yacc.c:1646 */
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_ATTR_DEFERRABLE;
n->location = (yylsp[0]);
(yyval.node) = (Node *)n;
}
#line 28827 "gram.c" /* yacc.c:1646 */
break;
case 491:
#line 3600 "gram.y" /* yacc.c:1646 */
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_ATTR_NOT_DEFERRABLE;
n->location = (yylsp[-1]);
(yyval.node) = (Node *)n;
}
#line 28838 "gram.c" /* yacc.c:1646 */
break;
case 492:
#line 3607 "gram.y" /* yacc.c:1646 */
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_ATTR_DEFERRED;
n->location = (yylsp[-1]);
(yyval.node) = (Node *)n;
}
#line 28849 "gram.c" /* yacc.c:1646 */
break;
case 493:
#line 3614 "gram.y" /* yacc.c:1646 */
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_ATTR_IMMEDIATE;
n->location = (yylsp[-1]);
(yyval.node) = (Node *)n;
}
#line 28860 "gram.c" /* yacc.c:1646 */
break;
case 494:
#line 3625 "gram.y" /* yacc.c:1646 */
{
TableLikeClause *n = makeNode(TableLikeClause);
n->relation = (yyvsp[-1].range);
n->options = (yyvsp[0].ival);
(yyval.node) = (Node *)n;
}
#line 28871 "gram.c" /* yacc.c:1646 */
break;
case 495:
#line 3634 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = (yyvsp[-2].ival) | (yyvsp[0].ival); }
#line 28877 "gram.c" /* yacc.c:1646 */
break;
case 496:
#line 3635 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = (yyvsp[-2].ival) & ~(yyvsp[0].ival); }
#line 28883 "gram.c" /* yacc.c:1646 */
break;
case 497:
#line 3636 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = 0; }
#line 28889 "gram.c" /* yacc.c:1646 */
break;
case 498:
#line 3640 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = CREATE_TABLE_LIKE_COMMENTS; }
#line 28895 "gram.c" /* yacc.c:1646 */
break;
case 499:
#line 3641 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = CREATE_TABLE_LIKE_CONSTRAINTS; }
#line 28901 "gram.c" /* yacc.c:1646 */
break;
case 500:
#line 3642 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = CREATE_TABLE_LIKE_DEFAULTS; }
#line 28907 "gram.c" /* yacc.c:1646 */
break;
case 501:
#line 3643 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = CREATE_TABLE_LIKE_IDENTITY; }
#line 28913 "gram.c" /* yacc.c:1646 */
break;
case 502:
#line 3644 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = CREATE_TABLE_LIKE_INDEXES; }
#line 28919 "gram.c" /* yacc.c:1646 */
break;
case 503:
#line 3645 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = CREATE_TABLE_LIKE_STATISTICS; }
#line 28925 "gram.c" /* yacc.c:1646 */
break;
case 504:
#line 3646 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = CREATE_TABLE_LIKE_STORAGE; }
#line 28931 "gram.c" /* yacc.c:1646 */
break;
case 505:
#line 3647 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = CREATE_TABLE_LIKE_ALL; }
#line 28937 "gram.c" /* yacc.c:1646 */
break;
case 506:
#line 3657 "gram.y" /* yacc.c:1646 */
{
Constraint *n = castNode(Constraint, (yyvsp[0].node));
n->conname = (yyvsp[-1].str);
n->location = (yylsp[-2]);
(yyval.node) = (Node *) n;
}
#line 28948 "gram.c" /* yacc.c:1646 */
break;
case 507:
#line 3663 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (yyvsp[0].node); }
#line 28954 "gram.c" /* yacc.c:1646 */
break;
case 508:
#line 3668 "gram.y" /* yacc.c:1646 */
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_CHECK;
n->location = (yylsp[-4]);
n->raw_expr = (yyvsp[-2].node);
n->cooked_expr = NULL;
processCASbits((yyvsp[0].ival), (yylsp[0]), "CHECK",
NULL, NULL, &n->skip_validation,
&n->is_no_inherit, yyscanner);
n->initially_valid = !n->skip_validation;
(yyval.node) = (Node *)n;
}
#line 28971 "gram.c" /* yacc.c:1646 */
break;
case 509:
#line 3682 "gram.y" /* yacc.c:1646 */
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_UNIQUE;
n->location = (yylsp[-7]);
n->keys = (yyvsp[-5].list);
n->including = (yyvsp[-3].list);
n->options = (yyvsp[-2].list);
n->indexname = NULL;
n->indexspace = (yyvsp[-1].str);
processCASbits((yyvsp[0].ival), (yylsp[0]), "UNIQUE",
&n->deferrable, &n->initdeferred, NULL,
NULL, yyscanner);
(yyval.node) = (Node *)n;
}
#line 28990 "gram.c" /* yacc.c:1646 */
break;
case 510:
#line 3697 "gram.y" /* yacc.c:1646 */
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_UNIQUE;
n->location = (yylsp[-2]);
n->keys = NIL;
n->including = NIL;
n->options = NIL;
n->indexname = (yyvsp[-1].str);
n->indexspace = NULL;
processCASbits((yyvsp[0].ival), (yylsp[0]), "UNIQUE",
&n->deferrable, &n->initdeferred, NULL,
NULL, yyscanner);
(yyval.node) = (Node *)n;
}
#line 29009 "gram.c" /* yacc.c:1646 */
break;
case 511:
#line 3713 "gram.y" /* yacc.c:1646 */
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_PRIMARY;
n->location = (yylsp[-8]);
n->keys = (yyvsp[-5].list);
n->including = (yyvsp[-3].list);
n->options = (yyvsp[-2].list);
n->indexname = NULL;
n->indexspace = (yyvsp[-1].str);
processCASbits((yyvsp[0].ival), (yylsp[0]), "PRIMARY KEY",
&n->deferrable, &n->initdeferred, NULL,
NULL, yyscanner);
(yyval.node) = (Node *)n;
}
#line 29028 "gram.c" /* yacc.c:1646 */
break;
case 512:
#line 3728 "gram.y" /* yacc.c:1646 */
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_PRIMARY;
n->location = (yylsp[-3]);
n->keys = NIL;
n->including = NIL;
n->options = NIL;
n->indexname = (yyvsp[-1].str);
n->indexspace = NULL;
processCASbits((yyvsp[0].ival), (yylsp[0]), "PRIMARY KEY",
&n->deferrable, &n->initdeferred, NULL,
NULL, yyscanner);
(yyval.node) = (Node *)n;
}
#line 29047 "gram.c" /* yacc.c:1646 */
break;
case 513:
#line 3745 "gram.y" /* yacc.c:1646 */
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_EXCLUSION;
n->location = (yylsp[-9]);
n->access_method = (yyvsp[-8].str);
n->exclusions = (yyvsp[-6].list);
n->including = (yyvsp[-4].list);
n->options = (yyvsp[-3].list);
n->indexname = NULL;
n->indexspace = (yyvsp[-2].str);
n->where_clause = (yyvsp[-1].node);
processCASbits((yyvsp[0].ival), (yylsp[0]), "EXCLUDE",
&n->deferrable, &n->initdeferred, NULL,
NULL, yyscanner);
(yyval.node) = (Node *)n;
}
#line 29068 "gram.c" /* yacc.c:1646 */
break;
case 514:
#line 3763 "gram.y" /* yacc.c:1646 */
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_FOREIGN;
n->location = (yylsp[-10]);
n->pktable = (yyvsp[-4].range);
n->fk_attrs = (yyvsp[-7].list);
n->pk_attrs = (yyvsp[-3].list);
n->fk_matchtype = (yyvsp[-2].ival);
n->fk_upd_action = (char) ((yyvsp[-1].ival) >> 8);
n->fk_del_action = (char) ((yyvsp[-1].ival) & 0xFF);
processCASbits((yyvsp[0].ival), (yylsp[0]), "FOREIGN KEY",
&n->deferrable, &n->initdeferred,
&n->skip_validation, NULL,
yyscanner);
n->initially_valid = !n->skip_validation;
(yyval.node) = (Node *)n;
}
#line 29090 "gram.c" /* yacc.c:1646 */
break;
case 515:
#line 3782 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = true; }
#line 29096 "gram.c" /* yacc.c:1646 */
break;
case 516:
#line 3783 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = false; }
#line 29102 "gram.c" /* yacc.c:1646 */
break;
case 517:
#line 3787 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 29108 "gram.c" /* yacc.c:1646 */
break;
case 518:
#line 3788 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 29114 "gram.c" /* yacc.c:1646 */
break;
case 519:
#line 3792 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1((yyvsp[0].node)); }
#line 29120 "gram.c" /* yacc.c:1646 */
break;
case 520:
#line 3793 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
#line 29126 "gram.c" /* yacc.c:1646 */
break;
case 521:
#line 3797 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = (Node *) makeString((yyvsp[0].str));
}
#line 29134 "gram.c" /* yacc.c:1646 */
break;
case 522:
#line 3802 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 29140 "gram.c" /* yacc.c:1646 */
break;
case 523:
#line 3803 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 29146 "gram.c" /* yacc.c:1646 */
break;
case 524:
#line 3807 "gram.y" /* yacc.c:1646 */
{
(yyval.ival) = FKCONSTR_MATCH_FULL;
}
#line 29154 "gram.c" /* yacc.c:1646 */
break;
case 525:
#line 3811 "gram.y" /* yacc.c:1646 */
{
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("MATCH PARTIAL not yet implemented"),
parser_errposition((yylsp[-1]))));
(yyval.ival) = FKCONSTR_MATCH_PARTIAL;
}
#line 29166 "gram.c" /* yacc.c:1646 */
break;
case 526:
#line 3819 "gram.y" /* yacc.c:1646 */
{
(yyval.ival) = FKCONSTR_MATCH_SIMPLE;
}
#line 29174 "gram.c" /* yacc.c:1646 */
break;
case 527:
#line 3823 "gram.y" /* yacc.c:1646 */
{
(yyval.ival) = FKCONSTR_MATCH_SIMPLE;
}
#line 29182 "gram.c" /* yacc.c:1646 */
break;
case 528:
#line 3829 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1((yyvsp[0].list)); }
#line 29188 "gram.c" /* yacc.c:1646 */
break;
case 529:
#line 3831 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].list)); }
#line 29194 "gram.c" /* yacc.c:1646 */
break;
case 530:
#line 3835 "gram.y" /* yacc.c:1646 */
{
(yyval.list) = list_make2((yyvsp[-2].ielem), (yyvsp[0].list));
}
#line 29202 "gram.c" /* yacc.c:1646 */
break;
case 531:
#line 3840 "gram.y" /* yacc.c:1646 */
{
(yyval.list) = list_make2((yyvsp[-5].ielem), (yyvsp[-1].list));
}
#line 29210 "gram.c" /* yacc.c:1646 */
break;
case 532:
#line 3846 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (yyvsp[-1].node); }
#line 29216 "gram.c" /* yacc.c:1646 */
break;
case 533:
#line 3847 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = NULL; }
#line 29222 "gram.c" /* yacc.c:1646 */
break;
case 534:
#line 3858 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = ((yyvsp[0].ival) << 8) | (FKCONSTR_ACTION_NOACTION & 0xFF); }
#line 29228 "gram.c" /* yacc.c:1646 */
break;
case 535:
#line 3860 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = (FKCONSTR_ACTION_NOACTION << 8) | ((yyvsp[0].ival) & 0xFF); }
#line 29234 "gram.c" /* yacc.c:1646 */
break;
case 536:
#line 3862 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = ((yyvsp[-1].ival) << 8) | ((yyvsp[0].ival) & 0xFF); }
#line 29240 "gram.c" /* yacc.c:1646 */
break;
case 537:
#line 3864 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = ((yyvsp[0].ival) << 8) | ((yyvsp[-1].ival) & 0xFF); }
#line 29246 "gram.c" /* yacc.c:1646 */
break;
case 538:
#line 3866 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = (FKCONSTR_ACTION_NOACTION << 8) | (FKCONSTR_ACTION_NOACTION & 0xFF); }
#line 29252 "gram.c" /* yacc.c:1646 */
break;
case 539:
#line 3869 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = (yyvsp[0].ival); }
#line 29258 "gram.c" /* yacc.c:1646 */
break;
case 540:
#line 3872 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = (yyvsp[0].ival); }
#line 29264 "gram.c" /* yacc.c:1646 */
break;
case 541:
#line 3876 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = FKCONSTR_ACTION_NOACTION; }
#line 29270 "gram.c" /* yacc.c:1646 */
break;
case 542:
#line 3877 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = FKCONSTR_ACTION_RESTRICT; }
#line 29276 "gram.c" /* yacc.c:1646 */
break;
case 543:
#line 3878 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = FKCONSTR_ACTION_CASCADE; }
#line 29282 "gram.c" /* yacc.c:1646 */
break;
case 544:
#line 3879 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = FKCONSTR_ACTION_SETNULL; }
#line 29288 "gram.c" /* yacc.c:1646 */
break;
case 545:
#line 3880 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = FKCONSTR_ACTION_SETDEFAULT; }
#line 29294 "gram.c" /* yacc.c:1646 */
break;
case 546:
#line 3883 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 29300 "gram.c" /* yacc.c:1646 */
break;
case 547:
#line 3884 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 29306 "gram.c" /* yacc.c:1646 */
break;
case 548:
#line 3888 "gram.y" /* yacc.c:1646 */
{ (yyval.partspec) = (yyvsp[0].partspec); }
#line 29312 "gram.c" /* yacc.c:1646 */
break;
case 549:
#line 3889 "gram.y" /* yacc.c:1646 */
{ (yyval.partspec) = NULL; }
#line 29318 "gram.c" /* yacc.c:1646 */
break;
case 550:
#line 3893 "gram.y" /* yacc.c:1646 */
{
PartitionSpec *n = makeNode(PartitionSpec);
n->strategy = (yyvsp[-3].str);
n->partParams = (yyvsp[-1].list);
n->location = (yylsp[-5]);
(yyval.partspec) = n;
}
#line 29332 "gram.c" /* yacc.c:1646 */
break;
case 551:
#line 3904 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = (yyvsp[0].str); }
#line 29338 "gram.c" /* yacc.c:1646 */
break;
case 552:
#line 3905 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = pstrdup((yyvsp[0].keyword)); }
#line 29344 "gram.c" /* yacc.c:1646 */
break;
case 553:
#line 3908 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1((yyvsp[0].partelem)); }
#line 29350 "gram.c" /* yacc.c:1646 */
break;
case 554:
#line 3909 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].partelem)); }
#line 29356 "gram.c" /* yacc.c:1646 */
break;
case 555:
#line 3913 "gram.y" /* yacc.c:1646 */
{
PartitionElem *n = makeNode(PartitionElem);
n->name = (yyvsp[-2].str);
n->expr = NULL;
n->collation = (yyvsp[-1].list);
n->opclass = (yyvsp[0].list);
n->location = (yylsp[-2]);
(yyval.partelem) = n;
}
#line 29371 "gram.c" /* yacc.c:1646 */
break;
case 556:
#line 3924 "gram.y" /* yacc.c:1646 */
{
PartitionElem *n = makeNode(PartitionElem);
n->name = NULL;
n->expr = (yyvsp[-2].node);
n->collation = (yyvsp[-1].list);
n->opclass = (yyvsp[0].list);
n->location = (yylsp[-2]);
(yyval.partelem) = n;
}
#line 29386 "gram.c" /* yacc.c:1646 */
break;
case 557:
#line 3935 "gram.y" /* yacc.c:1646 */
{
PartitionElem *n = makeNode(PartitionElem);
n->name = NULL;
n->expr = (yyvsp[-3].node);
n->collation = (yyvsp[-1].list);
n->opclass = (yyvsp[0].list);
n->location = (yylsp[-4]);
(yyval.partelem) = n;
}
#line 29401 "gram.c" /* yacc.c:1646 */
break;
case 558:
#line 3948 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[0].list); }
#line 29407 "gram.c" /* yacc.c:1646 */
break;
case 559:
#line 3949 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1(makeDefElem("oids", (Node *) makeInteger(true), (yylsp[-1]))); }
#line 29413 "gram.c" /* yacc.c:1646 */
break;
case 560:
#line 3950 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1(makeDefElem("oids", (Node *) makeInteger(false), (yylsp[-1]))); }
#line 29419 "gram.c" /* yacc.c:1646 */
break;
case 561:
#line 3951 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 29425 "gram.c" /* yacc.c:1646 */
break;
case 562:
#line 3954 "gram.y" /* yacc.c:1646 */
{ (yyval.oncommit) = ONCOMMIT_DROP; }
#line 29431 "gram.c" /* yacc.c:1646 */
break;
case 563:
#line 3955 "gram.y" /* yacc.c:1646 */
{ (yyval.oncommit) = ONCOMMIT_DELETE_ROWS; }
#line 29437 "gram.c" /* yacc.c:1646 */
break;
case 564:
#line 3956 "gram.y" /* yacc.c:1646 */
{ (yyval.oncommit) = ONCOMMIT_PRESERVE_ROWS; }
#line 29443 "gram.c" /* yacc.c:1646 */
break;
case 565:
#line 3957 "gram.y" /* yacc.c:1646 */
{ (yyval.oncommit) = ONCOMMIT_NOOP; }
#line 29449 "gram.c" /* yacc.c:1646 */
break;
case 566:
#line 3960 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = (yyvsp[0].str); }
#line 29455 "gram.c" /* yacc.c:1646 */
break;
case 567:
#line 3961 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = NULL; }
#line 29461 "gram.c" /* yacc.c:1646 */
break;
case 568:
#line 3964 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = (yyvsp[0].str); }
#line 29467 "gram.c" /* yacc.c:1646 */
break;
case 569:
#line 3965 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = NULL; }
#line 29473 "gram.c" /* yacc.c:1646 */
break;
case 570:
#line 3968 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = (yyvsp[0].str); }
#line 29479 "gram.c" /* yacc.c:1646 */
break;
case 571:
#line 3988 "gram.y" /* yacc.c:1646 */
{
CreateStatsStmt *n = makeNode(CreateStatsStmt);
n->defnames = (yyvsp[-5].list);
n->stat_types = (yyvsp[-4].list);
n->exprs = (yyvsp[-2].list);
n->relations = (yyvsp[0].list);
n->stxcomment = NULL;
n->if_not_exists = false;
(yyval.node) = (Node *)n;
}
#line 29494 "gram.c" /* yacc.c:1646 */
break;
case 572:
#line 4000 "gram.y" /* yacc.c:1646 */
{
CreateStatsStmt *n = makeNode(CreateStatsStmt);
n->defnames = (yyvsp[-5].list);
n->stat_types = (yyvsp[-4].list);
n->exprs = (yyvsp[-2].list);
n->relations = (yyvsp[0].list);
n->stxcomment = NULL;
n->if_not_exists = true;
(yyval.node) = (Node *)n;
}
#line 29509 "gram.c" /* yacc.c:1646 */
break;
case 573:
#line 4024 "gram.y" /* yacc.c:1646 */
{
CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
ctas->query = (yyvsp[-1].node);
ctas->into = (yyvsp[-3].into);
ctas->relkind = OBJECT_TABLE;
ctas->is_select_into = false;
ctas->if_not_exists = false;
/* cram additional flags into the IntoClause */
(yyvsp[-3].into)->rel->relpersistence = (yyvsp[-5].ival);
(yyvsp[-3].into)->skipData = !((yyvsp[0].boolean));
(yyval.node) = (Node *) ctas;
}
#line 29526 "gram.c" /* yacc.c:1646 */
break;
case 574:
#line 4037 "gram.y" /* yacc.c:1646 */
{
CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
ctas->query = (yyvsp[-1].node);
ctas->into = (yyvsp[-3].into);
ctas->relkind = OBJECT_TABLE;
ctas->is_select_into = false;
ctas->if_not_exists = true;
/* cram additional flags into the IntoClause */
(yyvsp[-3].into)->rel->relpersistence = (yyvsp[-8].ival);
(yyvsp[-3].into)->skipData = !((yyvsp[0].boolean));
(yyval.node) = (Node *) ctas;
}
#line 29543 "gram.c" /* yacc.c:1646 */
break;
case 575:
#line 4053 "gram.y" /* yacc.c:1646 */
{
(yyval.into) = makeNode(IntoClause);
(yyval.into)->rel = (yyvsp[-4].range);
(yyval.into)->colNames = (yyvsp[-3].list);
(yyval.into)->options = (yyvsp[-2].list);
(yyval.into)->onCommit = (yyvsp[-1].oncommit);
(yyval.into)->tableSpaceName = (yyvsp[0].str);
(yyval.into)->viewQuery = NULL;
(yyval.into)->skipData = false; /* might get changed later */
}
#line 29558 "gram.c" /* yacc.c:1646 */
break;
case 576:
#line 4066 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = true; }
#line 29564 "gram.c" /* yacc.c:1646 */
break;
case 577:
#line 4067 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = false; }
#line 29570 "gram.c" /* yacc.c:1646 */
break;
case 578:
#line 4068 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = true; }
#line 29576 "gram.c" /* yacc.c:1646 */
break;
case 579:
#line 4081 "gram.y" /* yacc.c:1646 */
{
CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
ctas->query = (yyvsp[-1].node);
ctas->into = (yyvsp[-3].into);
ctas->relkind = OBJECT_MATVIEW;
ctas->is_select_into = false;
ctas->if_not_exists = false;
/* cram additional flags into the IntoClause */
(yyvsp[-3].into)->rel->relpersistence = (yyvsp[-6].ival);
(yyvsp[-3].into)->skipData = !((yyvsp[0].boolean));
(yyval.node) = (Node *) ctas;
}
#line 29593 "gram.c" /* yacc.c:1646 */
break;
case 580:
#line 4094 "gram.y" /* yacc.c:1646 */
{
CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
ctas->query = (yyvsp[-1].node);
ctas->into = (yyvsp[-3].into);
ctas->relkind = OBJECT_MATVIEW;
ctas->is_select_into = false;
ctas->if_not_exists = true;
/* cram additional flags into the IntoClause */
(yyvsp[-3].into)->rel->relpersistence = (yyvsp[-9].ival);
(yyvsp[-3].into)->skipData = !((yyvsp[0].boolean));
(yyval.node) = (Node *) ctas;
}
#line 29610 "gram.c" /* yacc.c:1646 */
break;
case 581:
#line 4110 "gram.y" /* yacc.c:1646 */
{
(yyval.into) = makeNode(IntoClause);
(yyval.into)->rel = (yyvsp[-3].range);
(yyval.into)->colNames = (yyvsp[-2].list);
(yyval.into)->options = (yyvsp[-1].list);
(yyval.into)->onCommit = ONCOMMIT_NOOP;
(yyval.into)->tableSpaceName = (yyvsp[0].str);
(yyval.into)->viewQuery = NULL; /* filled at analysis time */
(yyval.into)->skipData = false; /* might get changed later */
}
#line 29625 "gram.c" /* yacc.c:1646 */
break;
case 582:
#line 4122 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = RELPERSISTENCE_UNLOGGED; }
#line 29631 "gram.c" /* yacc.c:1646 */
break;
case 583:
#line 4123 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = RELPERSISTENCE_PERMANENT; }
#line 29637 "gram.c" /* yacc.c:1646 */
break;
case 584:
#line 4136 "gram.y" /* yacc.c:1646 */
{
RefreshMatViewStmt *n = makeNode(RefreshMatViewStmt);
n->concurrent = (yyvsp[-2].boolean);
n->relation = (yyvsp[-1].range);
n->skipData = !((yyvsp[0].boolean));
(yyval.node) = (Node *) n;
}
#line 29649 "gram.c" /* yacc.c:1646 */
break;
case 585:
#line 4156 "gram.y" /* yacc.c:1646 */
{
CreateSeqStmt *n = makeNode(CreateSeqStmt);
(yyvsp[-1].range)->relpersistence = (yyvsp[-3].ival);
n->sequence = (yyvsp[-1].range);
n->options = (yyvsp[0].list);
n->ownerId = InvalidOid;
n->if_not_exists = false;
(yyval.node) = (Node *)n;
}
#line 29663 "gram.c" /* yacc.c:1646 */
break;
case 586:
#line 4166 "gram.y" /* yacc.c:1646 */
{
CreateSeqStmt *n = makeNode(CreateSeqStmt);
(yyvsp[-1].range)->relpersistence = (yyvsp[-6].ival);
n->sequence = (yyvsp[-1].range);
n->options = (yyvsp[0].list);
n->ownerId = InvalidOid;
n->if_not_exists = true;
(yyval.node) = (Node *)n;
}
#line 29677 "gram.c" /* yacc.c:1646 */
break;
case 587:
#line 4179 "gram.y" /* yacc.c:1646 */
{
AlterSeqStmt *n = makeNode(AlterSeqStmt);
n->sequence = (yyvsp[-1].range);
n->options = (yyvsp[0].list);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 29689 "gram.c" /* yacc.c:1646 */
break;
case 588:
#line 4187 "gram.y" /* yacc.c:1646 */
{
AlterSeqStmt *n = makeNode(AlterSeqStmt);
n->sequence = (yyvsp[-1].range);
n->options = (yyvsp[0].list);
n->missing_ok = true;
(yyval.node) = (Node *)n;
}
#line 29701 "gram.c" /* yacc.c:1646 */
break;
case 589:
#line 4197 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[0].list); }
#line 29707 "gram.c" /* yacc.c:1646 */
break;
case 590:
#line 4198 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 29713 "gram.c" /* yacc.c:1646 */
break;
case 591:
#line 4201 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 29719 "gram.c" /* yacc.c:1646 */
break;
case 592:
#line 4202 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 29725 "gram.c" /* yacc.c:1646 */
break;
case 593:
#line 4205 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1((yyvsp[0].defelt)); }
#line 29731 "gram.c" /* yacc.c:1646 */
break;
case 594:
#line 4206 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
#line 29737 "gram.c" /* yacc.c:1646 */
break;
case 595:
#line 4210 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("as", (Node *)(yyvsp[0].typnam), (yylsp[-1]));
}
#line 29745 "gram.c" /* yacc.c:1646 */
break;
case 596:
#line 4214 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("cache", (Node *)(yyvsp[0].value), (yylsp[-1]));
}
#line 29753 "gram.c" /* yacc.c:1646 */
break;
case 597:
#line 4218 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("cycle", (Node *)makeInteger(true), (yylsp[0]));
}
#line 29761 "gram.c" /* yacc.c:1646 */
break;
case 598:
#line 4222 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("cycle", (Node *)makeInteger(false), (yylsp[-1]));
}
#line 29769 "gram.c" /* yacc.c:1646 */
break;
case 599:
#line 4226 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("increment", (Node *)(yyvsp[0].value), (yylsp[-2]));
}
#line 29777 "gram.c" /* yacc.c:1646 */
break;
case 600:
#line 4230 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("maxvalue", (Node *)(yyvsp[0].value), (yylsp[-1]));
}
#line 29785 "gram.c" /* yacc.c:1646 */
break;
case 601:
#line 4234 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("minvalue", (Node *)(yyvsp[0].value), (yylsp[-1]));
}
#line 29793 "gram.c" /* yacc.c:1646 */
break;
case 602:
#line 4238 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("maxvalue", NULL, (yylsp[-1]));
}
#line 29801 "gram.c" /* yacc.c:1646 */
break;
case 603:
#line 4242 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("minvalue", NULL, (yylsp[-1]));
}
#line 29809 "gram.c" /* yacc.c:1646 */
break;
case 604:
#line 4246 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("owned_by", (Node *)(yyvsp[0].list), (yylsp[-2]));
}
#line 29817 "gram.c" /* yacc.c:1646 */
break;
case 605:
#line 4250 "gram.y" /* yacc.c:1646 */
{
/* not documented, only used by pg_dump */
(yyval.defelt) = makeDefElem("sequence_name", (Node *)(yyvsp[0].list), (yylsp[-2]));
}
#line 29826 "gram.c" /* yacc.c:1646 */
break;
case 606:
#line 4255 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("start", (Node *)(yyvsp[0].value), (yylsp[-2]));
}
#line 29834 "gram.c" /* yacc.c:1646 */
break;
case 607:
#line 4259 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("restart", NULL, (yylsp[0]));
}
#line 29842 "gram.c" /* yacc.c:1646 */
break;
case 608:
#line 4263 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("restart", (Node *)(yyvsp[0].value), (yylsp[-2]));
}
#line 29850 "gram.c" /* yacc.c:1646 */
break;
case 609:
#line 4268 "gram.y" /* yacc.c:1646 */
{}
#line 29856 "gram.c" /* yacc.c:1646 */
break;
case 610:
#line 4269 "gram.y" /* yacc.c:1646 */
{}
#line 29862 "gram.c" /* yacc.c:1646 */
break;
case 611:
#line 4273 "gram.y" /* yacc.c:1646 */
{ (yyval.value) = makeFloat((yyvsp[0].str)); }
#line 29868 "gram.c" /* yacc.c:1646 */
break;
case 612:
#line 4274 "gram.y" /* yacc.c:1646 */
{ (yyval.value) = makeFloat((yyvsp[0].str)); }
#line 29874 "gram.c" /* yacc.c:1646 */
break;
case 613:
#line 4276 "gram.y" /* yacc.c:1646 */
{
(yyval.value) = makeFloat((yyvsp[0].str));
doNegateFloat((yyval.value));
}
#line 29883 "gram.c" /* yacc.c:1646 */
break;
case 614:
#line 4280 "gram.y" /* yacc.c:1646 */
{ (yyval.value) = makeInteger((yyvsp[0].ival)); }
#line 29889 "gram.c" /* yacc.c:1646 */
break;
case 615:
#line 4283 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1((yyvsp[0].value)); }
#line 29895 "gram.c" /* yacc.c:1646 */
break;
case 616:
#line 4284 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].value)); }
#line 29901 "gram.c" /* yacc.c:1646 */
break;
case 617:
#line 4297 "gram.y" /* yacc.c:1646 */
{
CreatePLangStmt *n = makeNode(CreatePLangStmt);
n->replace = (yyvsp[-4].boolean);
n->plname = (yyvsp[0].str);
/* parameters are all to be supplied by system */
n->plhandler = NIL;
n->plinline = NIL;
n->plvalidator = NIL;
n->pltrusted = false;
(yyval.node) = (Node *)n;
}
#line 29917 "gram.c" /* yacc.c:1646 */
break;
case 618:
#line 4310 "gram.y" /* yacc.c:1646 */
{
CreatePLangStmt *n = makeNode(CreatePLangStmt);
n->replace = (yyvsp[-8].boolean);
n->plname = (yyvsp[-4].str);
n->plhandler = (yyvsp[-2].list);
n->plinline = (yyvsp[-1].list);
n->plvalidator = (yyvsp[0].list);
n->pltrusted = (yyvsp[-7].boolean);
(yyval.node) = (Node *)n;
}
#line 29932 "gram.c" /* yacc.c:1646 */
break;
case 619:
#line 4323 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = true; }
#line 29938 "gram.c" /* yacc.c:1646 */
break;
case 620:
#line 4324 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = false; }
#line 29944 "gram.c" /* yacc.c:1646 */
break;
case 621:
#line 4332 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
#line 29950 "gram.c" /* yacc.c:1646 */
break;
case 622:
#line 4333 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)); }
#line 29956 "gram.c" /* yacc.c:1646 */
break;
case 623:
#line 4337 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[0].list); }
#line 29962 "gram.c" /* yacc.c:1646 */
break;
case 624:
#line 4338 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 29968 "gram.c" /* yacc.c:1646 */
break;
case 625:
#line 4342 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[0].list); }
#line 29974 "gram.c" /* yacc.c:1646 */
break;
case 626:
#line 4343 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 29980 "gram.c" /* yacc.c:1646 */
break;
case 627:
#line 4347 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[0].list); }
#line 29986 "gram.c" /* yacc.c:1646 */
break;
case 628:
#line 4348 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 29992 "gram.c" /* yacc.c:1646 */
break;
case 629:
#line 4353 "gram.y" /* yacc.c:1646 */
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_LANGUAGE;
n->objects = list_make1(makeString((yyvsp[-1].str)));
n->behavior = (yyvsp[0].dbehavior);
n->missing_ok = false;
n->concurrent = false;
(yyval.node) = (Node *)n;
}
#line 30006 "gram.c" /* yacc.c:1646 */
break;
case 630:
#line 4363 "gram.y" /* yacc.c:1646 */
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_LANGUAGE;
n->objects = list_make1(makeString((yyvsp[-1].str)));
n->behavior = (yyvsp[0].dbehavior);
n->missing_ok = true;
n->concurrent = false;
(yyval.node) = (Node *)n;
}
#line 30020 "gram.c" /* yacc.c:1646 */
break;
case 631:
#line 4375 "gram.y" /* yacc.c:1646 */
{}
#line 30026 "gram.c" /* yacc.c:1646 */
break;
case 632:
#line 4376 "gram.y" /* yacc.c:1646 */
{}
#line 30032 "gram.c" /* yacc.c:1646 */
break;
case 633:
#line 4387 "gram.y" /* yacc.c:1646 */
{
CreateTableSpaceStmt *n = makeNode(CreateTableSpaceStmt);
n->tablespacename = (yyvsp[-4].str);
n->owner = (yyvsp[-3].rolespec);
n->location = (yyvsp[-1].str);
n->options = (yyvsp[0].list);
(yyval.node) = (Node *) n;
}
#line 30045 "gram.c" /* yacc.c:1646 */
break;
case 634:
#line 4397 "gram.y" /* yacc.c:1646 */
{ (yyval.rolespec) = (yyvsp[0].rolespec); }
#line 30051 "gram.c" /* yacc.c:1646 */
break;
case 635:
#line 4398 "gram.y" /* yacc.c:1646 */
{ (yyval.rolespec) = NULL; }
#line 30057 "gram.c" /* yacc.c:1646 */
break;
case 636:
#line 4412 "gram.y" /* yacc.c:1646 */
{
DropTableSpaceStmt *n = makeNode(DropTableSpaceStmt);
n->tablespacename = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *) n;
}
#line 30068 "gram.c" /* yacc.c:1646 */
break;
case 637:
#line 4419 "gram.y" /* yacc.c:1646 */
{
DropTableSpaceStmt *n = makeNode(DropTableSpaceStmt);
n->tablespacename = (yyvsp[0].str);
n->missing_ok = true;
(yyval.node) = (Node *) n;
}
#line 30079 "gram.c" /* yacc.c:1646 */
break;
case 638:
#line 4436 "gram.y" /* yacc.c:1646 */
{
CreateExtensionStmt *n = makeNode(CreateExtensionStmt);
n->extname = (yyvsp[-2].str);
n->if_not_exists = false;
n->options = (yyvsp[0].list);
(yyval.node) = (Node *) n;
}
#line 30091 "gram.c" /* yacc.c:1646 */
break;
case 639:
#line 4444 "gram.y" /* yacc.c:1646 */
{
CreateExtensionStmt *n = makeNode(CreateExtensionStmt);
n->extname = (yyvsp[-2].str);
n->if_not_exists = true;
n->options = (yyvsp[0].list);
(yyval.node) = (Node *) n;
}
#line 30103 "gram.c" /* yacc.c:1646 */
break;
case 640:
#line 4455 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
#line 30109 "gram.c" /* yacc.c:1646 */
break;
case 641:
#line 4457 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 30115 "gram.c" /* yacc.c:1646 */
break;
case 642:
#line 4462 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("schema", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
}
#line 30123 "gram.c" /* yacc.c:1646 */
break;
case 643:
#line 4466 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("new_version", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
}
#line 30131 "gram.c" /* yacc.c:1646 */
break;
case 644:
#line 4470 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("old_version", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
}
#line 30139 "gram.c" /* yacc.c:1646 */
break;
case 645:
#line 4474 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("cascade", (Node *)makeInteger(true), (yylsp[0]));
}
#line 30147 "gram.c" /* yacc.c:1646 */
break;
case 646:
#line 4486 "gram.y" /* yacc.c:1646 */
{
AlterExtensionStmt *n = makeNode(AlterExtensionStmt);
n->extname = (yyvsp[-2].str);
n->options = (yyvsp[0].list);
(yyval.node) = (Node *) n;
}
#line 30158 "gram.c" /* yacc.c:1646 */
break;
case 647:
#line 4496 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
#line 30164 "gram.c" /* yacc.c:1646 */
break;
case 648:
#line 4498 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 30170 "gram.c" /* yacc.c:1646 */
break;
case 649:
#line 4503 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("new_version", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
}
#line 30178 "gram.c" /* yacc.c:1646 */
break;
case 650:
#line 4516 "gram.y" /* yacc.c:1646 */
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[-4].str);
n->action = (yyvsp[-3].ival);
n->objtype = OBJECT_ACCESS_METHOD;
n->object = (Node *) makeString((yyvsp[0].str));
(yyval.node) = (Node *)n;
}
#line 30191 "gram.c" /* yacc.c:1646 */
break;
case 651:
#line 4525 "gram.y" /* yacc.c:1646 */
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[-3].str);
n->action = (yyvsp[-2].ival);
n->objtype = OBJECT_AGGREGATE;
n->object = (Node *) (yyvsp[0].objwithargs);
(yyval.node) = (Node *)n;
}
#line 30204 "gram.c" /* yacc.c:1646 */
break;
case 652:
#line 4534 "gram.y" /* yacc.c:1646 */
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[-7].str);
n->action = (yyvsp[-6].ival);
n->objtype = OBJECT_CAST;
n->object = (Node *) list_make2((yyvsp[-3].typnam), (yyvsp[-1].typnam));
(yyval.node) = (Node *) n;
}
#line 30217 "gram.c" /* yacc.c:1646 */
break;
case 653:
#line 4543 "gram.y" /* yacc.c:1646 */
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[-3].str);
n->action = (yyvsp[-2].ival);
n->objtype = OBJECT_COLLATION;
n->object = (Node *) (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 30230 "gram.c" /* yacc.c:1646 */
break;
case 654:
#line 4552 "gram.y" /* yacc.c:1646 */
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[-3].str);
n->action = (yyvsp[-2].ival);
n->objtype = OBJECT_CONVERSION;
n->object = (Node *) (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 30243 "gram.c" /* yacc.c:1646 */
break;
case 655:
#line 4561 "gram.y" /* yacc.c:1646 */
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[-3].str);
n->action = (yyvsp[-2].ival);
n->objtype = OBJECT_DOMAIN;
n->object = (Node *) (yyvsp[0].typnam);
(yyval.node) = (Node *)n;
}
#line 30256 "gram.c" /* yacc.c:1646 */
break;
case 656:
#line 4570 "gram.y" /* yacc.c:1646 */
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[-3].str);
n->action = (yyvsp[-2].ival);
n->objtype = OBJECT_FUNCTION;
n->object = (Node *) (yyvsp[0].objwithargs);
(yyval.node) = (Node *)n;
}
#line 30269 "gram.c" /* yacc.c:1646 */
break;
case 657:
#line 4579 "gram.y" /* yacc.c:1646 */
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[-4].str);
n->action = (yyvsp[-3].ival);
n->objtype = OBJECT_LANGUAGE;
n->object = (Node *) makeString((yyvsp[0].str));
(yyval.node) = (Node *)n;
}
#line 30282 "gram.c" /* yacc.c:1646 */
break;
case 658:
#line 4588 "gram.y" /* yacc.c:1646 */
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[-3].str);
n->action = (yyvsp[-2].ival);
n->objtype = OBJECT_OPERATOR;
n->object = (Node *) (yyvsp[0].objwithargs);
(yyval.node) = (Node *)n;
}
#line 30295 "gram.c" /* yacc.c:1646 */
break;
case 659:
#line 4597 "gram.y" /* yacc.c:1646 */
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[-6].str);
n->action = (yyvsp[-5].ival);
n->objtype = OBJECT_OPCLASS;
n->object = (Node *) lcons(makeString((yyvsp[0].str)), (yyvsp[-2].list));
(yyval.node) = (Node *)n;
}
#line 30308 "gram.c" /* yacc.c:1646 */
break;
case 660:
#line 4606 "gram.y" /* yacc.c:1646 */
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[-6].str);
n->action = (yyvsp[-5].ival);
n->objtype = OBJECT_OPFAMILY;
n->object = (Node *) lcons(makeString((yyvsp[0].str)), (yyvsp[-2].list));
(yyval.node) = (Node *)n;
}
#line 30321 "gram.c" /* yacc.c:1646 */
break;
case 661:
#line 4615 "gram.y" /* yacc.c:1646 */
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[-3].str);
n->action = (yyvsp[-2].ival);
n->objtype = OBJECT_PROCEDURE;
n->object = (Node *) (yyvsp[0].objwithargs);
(yyval.node) = (Node *)n;
}
#line 30334 "gram.c" /* yacc.c:1646 */
break;
case 662:
#line 4624 "gram.y" /* yacc.c:1646 */
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[-3].str);
n->action = (yyvsp[-2].ival);
n->objtype = OBJECT_ROUTINE;
n->object = (Node *) (yyvsp[0].objwithargs);
(yyval.node) = (Node *)n;
}
#line 30347 "gram.c" /* yacc.c:1646 */
break;
case 663:
#line 4633 "gram.y" /* yacc.c:1646 */
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[-3].str);
n->action = (yyvsp[-2].ival);
n->objtype = OBJECT_SCHEMA;
n->object = (Node *) makeString((yyvsp[0].str));
(yyval.node) = (Node *)n;
}
#line 30360 "gram.c" /* yacc.c:1646 */
break;
case 664:
#line 4642 "gram.y" /* yacc.c:1646 */
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[-4].str);
n->action = (yyvsp[-3].ival);
n->objtype = OBJECT_EVENT_TRIGGER;
n->object = (Node *) makeString((yyvsp[0].str));
(yyval.node) = (Node *)n;
}
#line 30373 "gram.c" /* yacc.c:1646 */
break;
case 665:
#line 4651 "gram.y" /* yacc.c:1646 */
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[-3].str);
n->action = (yyvsp[-2].ival);
n->objtype = OBJECT_TABLE;
n->object = (Node *) (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 30386 "gram.c" /* yacc.c:1646 */
break;
case 666:
#line 4660 "gram.y" /* yacc.c:1646 */
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[-5].str);
n->action = (yyvsp[-4].ival);
n->objtype = OBJECT_TSPARSER;
n->object = (Node *) (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 30399 "gram.c" /* yacc.c:1646 */
break;
case 667:
#line 4669 "gram.y" /* yacc.c:1646 */
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[-5].str);
n->action = (yyvsp[-4].ival);
n->objtype = OBJECT_TSDICTIONARY;
n->object = (Node *) (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 30412 "gram.c" /* yacc.c:1646 */
break;
case 668:
#line 4678 "gram.y" /* yacc.c:1646 */
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[-5].str);
n->action = (yyvsp[-4].ival);
n->objtype = OBJECT_TSTEMPLATE;
n->object = (Node *) (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 30425 "gram.c" /* yacc.c:1646 */
break;
case 669:
#line 4687 "gram.y" /* yacc.c:1646 */
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[-5].str);
n->action = (yyvsp[-4].ival);
n->objtype = OBJECT_TSCONFIGURATION;
n->object = (Node *) (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 30438 "gram.c" /* yacc.c:1646 */
break;
case 670:
#line 4696 "gram.y" /* yacc.c:1646 */
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[-3].str);
n->action = (yyvsp[-2].ival);
n->objtype = OBJECT_SEQUENCE;
n->object = (Node *) (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 30451 "gram.c" /* yacc.c:1646 */
break;
case 671:
#line 4705 "gram.y" /* yacc.c:1646 */
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[-3].str);
n->action = (yyvsp[-2].ival);
n->objtype = OBJECT_VIEW;
n->object = (Node *) (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 30464 "gram.c" /* yacc.c:1646 */
break;
case 672:
#line 4714 "gram.y" /* yacc.c:1646 */
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[-4].str);
n->action = (yyvsp[-3].ival);
n->objtype = OBJECT_MATVIEW;
n->object = (Node *) (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 30477 "gram.c" /* yacc.c:1646 */
break;
case 673:
#line 4723 "gram.y" /* yacc.c:1646 */
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[-4].str);
n->action = (yyvsp[-3].ival);
n->objtype = OBJECT_FOREIGN_TABLE;
n->object = (Node *) (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 30490 "gram.c" /* yacc.c:1646 */
break;
case 674:
#line 4732 "gram.y" /* yacc.c:1646 */
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[-5].str);
n->action = (yyvsp[-4].ival);
n->objtype = OBJECT_FDW;
n->object = (Node *) makeString((yyvsp[0].str));
(yyval.node) = (Node *)n;
}
#line 30503 "gram.c" /* yacc.c:1646 */
break;
case 675:
#line 4741 "gram.y" /* yacc.c:1646 */
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[-3].str);
n->action = (yyvsp[-2].ival);
n->objtype = OBJECT_FOREIGN_SERVER;
n->object = (Node *) makeString((yyvsp[0].str));
(yyval.node) = (Node *)n;
}
#line 30516 "gram.c" /* yacc.c:1646 */
break;
case 676:
#line 4750 "gram.y" /* yacc.c:1646 */
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[-6].str);
n->action = (yyvsp[-5].ival);
n->objtype = OBJECT_TRANSFORM;
n->object = (Node *) list_make2((yyvsp[-2].typnam), makeString((yyvsp[0].str)));
(yyval.node) = (Node *)n;
}
#line 30529 "gram.c" /* yacc.c:1646 */
break;
case 677:
#line 4759 "gram.y" /* yacc.c:1646 */
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[-3].str);
n->action = (yyvsp[-2].ival);
n->objtype = OBJECT_TYPE;
n->object = (Node *) (yyvsp[0].typnam);
(yyval.node) = (Node *)n;
}
#line 30542 "gram.c" /* yacc.c:1646 */
break;
case 678:
#line 4777 "gram.y" /* yacc.c:1646 */
{
CreateFdwStmt *n = makeNode(CreateFdwStmt);
n->fdwname = (yyvsp[-2].str);
n->func_options = (yyvsp[-1].list);
n->options = (yyvsp[0].list);
(yyval.node) = (Node *) n;
}
#line 30554 "gram.c" /* yacc.c:1646 */
break;
case 679:
#line 4787 "gram.y" /* yacc.c:1646 */
{ (yyval.defelt) = makeDefElem("handler", (Node *)(yyvsp[0].list), (yylsp[-1])); }
#line 30560 "gram.c" /* yacc.c:1646 */
break;
case 680:
#line 4788 "gram.y" /* yacc.c:1646 */
{ (yyval.defelt) = makeDefElem("handler", NULL, (yylsp[-1])); }
#line 30566 "gram.c" /* yacc.c:1646 */
break;
case 681:
#line 4789 "gram.y" /* yacc.c:1646 */
{ (yyval.defelt) = makeDefElem("validator", (Node *)(yyvsp[0].list), (yylsp[-1])); }
#line 30572 "gram.c" /* yacc.c:1646 */
break;
case 682:
#line 4790 "gram.y" /* yacc.c:1646 */
{ (yyval.defelt) = makeDefElem("validator", NULL, (yylsp[-1])); }
#line 30578 "gram.c" /* yacc.c:1646 */
break;
case 683:
#line 4794 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1((yyvsp[0].defelt)); }
#line 30584 "gram.c" /* yacc.c:1646 */
break;
case 684:
#line 4795 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
#line 30590 "gram.c" /* yacc.c:1646 */
break;
case 685:
#line 4799 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[0].list); }
#line 30596 "gram.c" /* yacc.c:1646 */
break;
case 686:
#line 4800 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 30602 "gram.c" /* yacc.c:1646 */
break;
case 687:
#line 4811 "gram.y" /* yacc.c:1646 */
{
AlterFdwStmt *n = makeNode(AlterFdwStmt);
n->fdwname = (yyvsp[-2].str);
n->func_options = (yyvsp[-1].list);
n->options = (yyvsp[0].list);
(yyval.node) = (Node *) n;
}
#line 30614 "gram.c" /* yacc.c:1646 */
break;
case 688:
#line 4819 "gram.y" /* yacc.c:1646 */
{
AlterFdwStmt *n = makeNode(AlterFdwStmt);
n->fdwname = (yyvsp[-1].str);
n->func_options = (yyvsp[0].list);
n->options = NIL;
(yyval.node) = (Node *) n;
}
#line 30626 "gram.c" /* yacc.c:1646 */
break;
case 689:
#line 4830 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 30632 "gram.c" /* yacc.c:1646 */
break;
case 690:
#line 4831 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 30638 "gram.c" /* yacc.c:1646 */
break;
case 691:
#line 4836 "gram.y" /* yacc.c:1646 */
{
(yyval.list) = list_make1((yyvsp[0].defelt));
}
#line 30646 "gram.c" /* yacc.c:1646 */
break;
case 692:
#line 4840 "gram.y" /* yacc.c:1646 */
{
(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
}
#line 30654 "gram.c" /* yacc.c:1646 */
break;
case 693:
#line 4847 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 30660 "gram.c" /* yacc.c:1646 */
break;
case 694:
#line 4852 "gram.y" /* yacc.c:1646 */
{
(yyval.list) = list_make1((yyvsp[0].defelt));
}
#line 30668 "gram.c" /* yacc.c:1646 */
break;
case 695:
#line 4856 "gram.y" /* yacc.c:1646 */
{
(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
}
#line 30676 "gram.c" /* yacc.c:1646 */
break;
case 696:
#line 4863 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = (yyvsp[0].defelt);
}
#line 30684 "gram.c" /* yacc.c:1646 */
break;
case 697:
#line 4867 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = (yyvsp[0].defelt);
(yyval.defelt)->defaction = DEFELEM_SET;
}
#line 30693 "gram.c" /* yacc.c:1646 */
break;
case 698:
#line 4872 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = (yyvsp[0].defelt);
(yyval.defelt)->defaction = DEFELEM_ADD;
}
#line 30702 "gram.c" /* yacc.c:1646 */
break;
case 699:
#line 4877 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElemExtended(NULL, (yyvsp[0].str), NULL, DEFELEM_DROP, (yylsp[0]));
}
#line 30710 "gram.c" /* yacc.c:1646 */
break;
case 700:
#line 4884 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1]));
}
#line 30718 "gram.c" /* yacc.c:1646 */
break;
case 701:
#line 4890 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = (yyvsp[0].str); }
#line 30724 "gram.c" /* yacc.c:1646 */
break;
case 702:
#line 4895 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
#line 30730 "gram.c" /* yacc.c:1646 */
break;
case 703:
#line 4907 "gram.y" /* yacc.c:1646 */
{
CreateForeignServerStmt *n = makeNode(CreateForeignServerStmt);
n->servername = (yyvsp[-7].str);
n->servertype = (yyvsp[-6].str);
n->version = (yyvsp[-5].str);
n->fdwname = (yyvsp[-1].str);
n->options = (yyvsp[0].list);
n->if_not_exists = false;
(yyval.node) = (Node *) n;
}
#line 30745 "gram.c" /* yacc.c:1646 */
break;
case 704:
#line 4919 "gram.y" /* yacc.c:1646 */
{
CreateForeignServerStmt *n = makeNode(CreateForeignServerStmt);
n->servername = (yyvsp[-7].str);
n->servertype = (yyvsp[-6].str);
n->version = (yyvsp[-5].str);
n->fdwname = (yyvsp[-1].str);
n->options = (yyvsp[0].list);
n->if_not_exists = true;
(yyval.node) = (Node *) n;
}
#line 30760 "gram.c" /* yacc.c:1646 */
break;
case 705:
#line 4932 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = (yyvsp[0].str); }
#line 30766 "gram.c" /* yacc.c:1646 */
break;
case 706:
#line 4933 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = NULL; }
#line 30772 "gram.c" /* yacc.c:1646 */
break;
case 707:
#line 4938 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = (yyvsp[0].str); }
#line 30778 "gram.c" /* yacc.c:1646 */
break;
case 708:
#line 4939 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = NULL; }
#line 30784 "gram.c" /* yacc.c:1646 */
break;
case 709:
#line 4943 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = (yyvsp[0].str); }
#line 30790 "gram.c" /* yacc.c:1646 */
break;
case 710:
#line 4944 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = NULL; }
#line 30796 "gram.c" /* yacc.c:1646 */
break;
case 711:
#line 4955 "gram.y" /* yacc.c:1646 */
{
AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
n->servername = (yyvsp[-2].str);
n->version = (yyvsp[-1].str);
n->options = (yyvsp[0].list);
n->has_version = true;
(yyval.node) = (Node *) n;
}
#line 30809 "gram.c" /* yacc.c:1646 */
break;
case 712:
#line 4964 "gram.y" /* yacc.c:1646 */
{
AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
n->servername = (yyvsp[-1].str);
n->version = (yyvsp[0].str);
n->has_version = true;
(yyval.node) = (Node *) n;
}
#line 30821 "gram.c" /* yacc.c:1646 */
break;
case 713:
#line 4972 "gram.y" /* yacc.c:1646 */
{
AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
n->servername = (yyvsp[-1].str);
n->options = (yyvsp[0].list);
(yyval.node) = (Node *) n;
}
#line 30832 "gram.c" /* yacc.c:1646 */
break;
case 714:
#line 4991 "gram.y" /* yacc.c:1646 */
{
CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt);
(yyvsp[-7].range)->relpersistence = RELPERSISTENCE_PERMANENT;
n->base.relation = (yyvsp[-7].range);
n->base.tableElts = (yyvsp[-5].list);
n->base.inhRelations = (yyvsp[-3].list);
n->base.ofTypename = NULL;
n->base.constraints = NIL;
n->base.options = NIL;
n->base.oncommit = ONCOMMIT_NOOP;
n->base.tablespacename = NULL;
n->base.if_not_exists = false;
/* FDW-specific data */
n->servername = (yyvsp[-1].str);
n->options = (yyvsp[0].list);
(yyval.node) = (Node *) n;
}
#line 30854 "gram.c" /* yacc.c:1646 */
break;
case 715:
#line 5011 "gram.y" /* yacc.c:1646 */
{
CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt);
(yyvsp[-7].range)->relpersistence = RELPERSISTENCE_PERMANENT;
n->base.relation = (yyvsp[-7].range);
n->base.tableElts = (yyvsp[-5].list);
n->base.inhRelations = (yyvsp[-3].list);
n->base.ofTypename = NULL;
n->base.constraints = NIL;
n->base.options = NIL;
n->base.oncommit = ONCOMMIT_NOOP;
n->base.tablespacename = NULL;
n->base.if_not_exists = true;
/* FDW-specific data */
n->servername = (yyvsp[-1].str);
n->options = (yyvsp[0].list);
(yyval.node) = (Node *) n;
}
#line 30876 "gram.c" /* yacc.c:1646 */
break;
case 716:
#line 5031 "gram.y" /* yacc.c:1646 */
{
CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt);
(yyvsp[-8].range)->relpersistence = RELPERSISTENCE_PERMANENT;
n->base.relation = (yyvsp[-8].range);
n->base.inhRelations = list_make1((yyvsp[-5].range));
n->base.tableElts = (yyvsp[-4].list);
n->base.partbound = (yyvsp[-3].partboundspec);
n->base.ofTypename = NULL;
n->base.constraints = NIL;
n->base.options = NIL;
n->base.oncommit = ONCOMMIT_NOOP;
n->base.tablespacename = NULL;
n->base.if_not_exists = false;
/* FDW-specific data */
n->servername = (yyvsp[-1].str);
n->options = (yyvsp[0].list);
(yyval.node) = (Node *) n;
}
#line 30899 "gram.c" /* yacc.c:1646 */
break;
case 717:
#line 5052 "gram.y" /* yacc.c:1646 */
{
CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt);
(yyvsp[-8].range)->relpersistence = RELPERSISTENCE_PERMANENT;
n->base.relation = (yyvsp[-8].range);
n->base.inhRelations = list_make1((yyvsp[-5].range));
n->base.tableElts = (yyvsp[-4].list);
n->base.partbound = (yyvsp[-3].partboundspec);
n->base.ofTypename = NULL;
n->base.constraints = NIL;
n->base.options = NIL;
n->base.oncommit = ONCOMMIT_NOOP;
n->base.tablespacename = NULL;
n->base.if_not_exists = true;
/* FDW-specific data */
n->servername = (yyvsp[-1].str);
n->options = (yyvsp[0].list);
(yyval.node) = (Node *) n;
}
#line 30922 "gram.c" /* yacc.c:1646 */
break;
case 718:
#line 5081 "gram.y" /* yacc.c:1646 */
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[-1].range);
n->cmds = (yyvsp[0].list);
n->relkind = OBJECT_FOREIGN_TABLE;
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 30935 "gram.c" /* yacc.c:1646 */
break;
case 719:
#line 5090 "gram.y" /* yacc.c:1646 */
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[-1].range);
n->cmds = (yyvsp[0].list);
n->relkind = OBJECT_FOREIGN_TABLE;
n->missing_ok = true;
(yyval.node) = (Node *)n;
}
#line 30948 "gram.c" /* yacc.c:1646 */
break;
case 720:
#line 5112 "gram.y" /* yacc.c:1646 */
{
ImportForeignSchemaStmt *n = makeNode(ImportForeignSchemaStmt);
n->server_name = (yyvsp[-3].str);
n->remote_schema = (yyvsp[-7].str);
n->local_schema = (yyvsp[-1].str);
n->list_type = (yyvsp[-6].importqual)->type;
n->table_list = (yyvsp[-6].importqual)->table_names;
n->options = (yyvsp[0].list);
(yyval.node) = (Node *) n;
}
#line 30963 "gram.c" /* yacc.c:1646 */
break;
case 721:
#line 5125 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = FDW_IMPORT_SCHEMA_LIMIT_TO; }
#line 30969 "gram.c" /* yacc.c:1646 */
break;
case 722:
#line 5126 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = FDW_IMPORT_SCHEMA_EXCEPT; }
#line 30975 "gram.c" /* yacc.c:1646 */
break;
case 723:
#line 5131 "gram.y" /* yacc.c:1646 */
{
ImportQual *n = (ImportQual *) palloc(sizeof(ImportQual));
n->type = (yyvsp[-3].ival);
n->table_names = (yyvsp[-1].list);
(yyval.importqual) = n;
}
#line 30986 "gram.c" /* yacc.c:1646 */
break;
case 724:
#line 5138 "gram.y" /* yacc.c:1646 */
{
ImportQual *n = (ImportQual *) palloc(sizeof(ImportQual));
n->type = FDW_IMPORT_SCHEMA_ALL;
n->table_names = NIL;
(yyval.importqual) = n;
}
#line 30997 "gram.c" /* yacc.c:1646 */
break;
case 725:
#line 5154 "gram.y" /* yacc.c:1646 */
{
CreateUserMappingStmt *n = makeNode(CreateUserMappingStmt);
n->user = (yyvsp[-3].rolespec);
n->servername = (yyvsp[-1].str);
n->options = (yyvsp[0].list);
n->if_not_exists = false;
(yyval.node) = (Node *) n;
}
#line 31010 "gram.c" /* yacc.c:1646 */
break;
case 726:
#line 5163 "gram.y" /* yacc.c:1646 */
{
CreateUserMappingStmt *n = makeNode(CreateUserMappingStmt);
n->user = (yyvsp[-3].rolespec);
n->servername = (yyvsp[-1].str);
n->options = (yyvsp[0].list);
n->if_not_exists = true;
(yyval.node) = (Node *) n;
}
#line 31023 "gram.c" /* yacc.c:1646 */
break;
case 727:
#line 5174 "gram.y" /* yacc.c:1646 */
{ (yyval.rolespec) = (yyvsp[0].rolespec); }
#line 31029 "gram.c" /* yacc.c:1646 */
break;
case 728:
#line 5175 "gram.y" /* yacc.c:1646 */
{ (yyval.rolespec) = makeRoleSpec(ROLESPEC_CURRENT_USER, (yylsp[0])); }
#line 31035 "gram.c" /* yacc.c:1646 */
break;
case 729:
#line 5188 "gram.y" /* yacc.c:1646 */
{
DropUserMappingStmt *n = makeNode(DropUserMappingStmt);
n->user = (yyvsp[-2].rolespec);
n->servername = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *) n;
}
#line 31047 "gram.c" /* yacc.c:1646 */
break;
case 730:
#line 5196 "gram.y" /* yacc.c:1646 */
{
DropUserMappingStmt *n = makeNode(DropUserMappingStmt);
n->user = (yyvsp[-2].rolespec);
n->servername = (yyvsp[0].str);
n->missing_ok = true;
(yyval.node) = (Node *) n;
}
#line 31059 "gram.c" /* yacc.c:1646 */
break;
case 731:
#line 5213 "gram.y" /* yacc.c:1646 */
{
AlterUserMappingStmt *n = makeNode(AlterUserMappingStmt);
n->user = (yyvsp[-3].rolespec);
n->servername = (yyvsp[-1].str);
n->options = (yyvsp[0].list);
(yyval.node) = (Node *) n;
}
#line 31071 "gram.c" /* yacc.c:1646 */
break;
case 732:
#line 5239 "gram.y" /* yacc.c:1646 */
{
CreatePolicyStmt *n = makeNode(CreatePolicyStmt);
n->policy_name = (yyvsp[-7].str);
n->table = (yyvsp[-5].range);
n->permissive = (yyvsp[-4].boolean);
n->cmd_name = (yyvsp[-3].str);
n->roles = (yyvsp[-2].list);
n->qual = (yyvsp[-1].node);
n->with_check = (yyvsp[0].node);
(yyval.node) = (Node *) n;
}
#line 31087 "gram.c" /* yacc.c:1646 */
break;
case 733:
#line 5255 "gram.y" /* yacc.c:1646 */
{
AlterPolicyStmt *n = makeNode(AlterPolicyStmt);
n->policy_name = (yyvsp[-5].str);
n->table = (yyvsp[-3].range);
n->roles = (yyvsp[-2].list);
n->qual = (yyvsp[-1].node);
n->with_check = (yyvsp[0].node);
(yyval.node) = (Node *) n;
}
#line 31101 "gram.c" /* yacc.c:1646 */
break;
case 734:
#line 5267 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (yyvsp[-1].node); }
#line 31107 "gram.c" /* yacc.c:1646 */
break;
case 735:
#line 5268 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = NULL; }
#line 31113 "gram.c" /* yacc.c:1646 */
break;
case 736:
#line 5272 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (yyvsp[-1].node); }
#line 31119 "gram.c" /* yacc.c:1646 */
break;
case 737:
#line 5273 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = NULL; }
#line 31125 "gram.c" /* yacc.c:1646 */
break;
case 738:
#line 5277 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[0].list); }
#line 31131 "gram.c" /* yacc.c:1646 */
break;
case 739:
#line 5278 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1(makeRoleSpec(ROLESPEC_PUBLIC, -1)); }
#line 31137 "gram.c" /* yacc.c:1646 */
break;
case 740:
#line 5282 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[0].list); }
#line 31143 "gram.c" /* yacc.c:1646 */
break;
case 741:
#line 5283 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NULL; }
#line 31149 "gram.c" /* yacc.c:1646 */
break;
case 742:
#line 5288 "gram.y" /* yacc.c:1646 */
{
if (strcmp((yyvsp[0].str), "permissive") == 0)
(yyval.boolean) = true;
else if (strcmp((yyvsp[0].str), "restrictive") == 0)
(yyval.boolean) = false;
else
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("unrecognized row security option \"%s\"", (yyvsp[0].str)),
errhint("Only PERMISSIVE or RESTRICTIVE policies are supported currently."),
parser_errposition((yylsp[0]))));
}
#line 31167 "gram.c" /* yacc.c:1646 */
break;
case 743:
#line 5301 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = true; }
#line 31173 "gram.c" /* yacc.c:1646 */
break;
case 744:
#line 5305 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = (yyvsp[0].str); }
#line 31179 "gram.c" /* yacc.c:1646 */
break;
case 745:
#line 5306 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = "all"; }
#line 31185 "gram.c" /* yacc.c:1646 */
break;
case 746:
#line 5310 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = "all"; }
#line 31191 "gram.c" /* yacc.c:1646 */
break;
case 747:
#line 5311 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = "select"; }
#line 31197 "gram.c" /* yacc.c:1646 */
break;
case 748:
#line 5312 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = "insert"; }
#line 31203 "gram.c" /* yacc.c:1646 */
break;
case 749:
#line 5313 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = "update"; }
#line 31209 "gram.c" /* yacc.c:1646 */
break;
case 750:
#line 5314 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = "delete"; }
#line 31215 "gram.c" /* yacc.c:1646 */
break;
case 751:
#line 5325 "gram.y" /* yacc.c:1646 */
{
CreateAmStmt *n = makeNode(CreateAmStmt);
n->amname = (yyvsp[-4].str);
n->handler_name = (yyvsp[0].list);
n->amtype = AMTYPE_INDEX;
(yyval.node) = (Node *) n;
}
#line 31227 "gram.c" /* yacc.c:1646 */
break;
case 752:
#line 5345 "gram.y" /* yacc.c:1646 */
{
CreateTrigStmt *n = makeNode(CreateTrigStmt);
n->trigname = (yyvsp[-13].str);
n->relation = (yyvsp[-9].range);
n->funcname = (yyvsp[-3].list);
n->args = (yyvsp[-1].list);
n->row = (yyvsp[-7].boolean);
n->timing = (yyvsp[-12].ival);
n->events = intVal(linitial((yyvsp[-11].list)));
n->columns = (List *) lsecond((yyvsp[-11].list));
n->whenClause = (yyvsp[-6].node);
n->transitionRels = (yyvsp[-8].list);
n->isconstraint = false;
n->deferrable = false;
n->initdeferred = false;
n->constrrel = NULL;
(yyval.node) = (Node *)n;
}
#line 31250 "gram.c" /* yacc.c:1646 */
break;
case 753:
#line 5367 "gram.y" /* yacc.c:1646 */
{
CreateTrigStmt *n = makeNode(CreateTrigStmt);
n->trigname = (yyvsp[-16].str);
n->relation = (yyvsp[-12].range);
n->funcname = (yyvsp[-3].list);
n->args = (yyvsp[-1].list);
n->row = true;
n->timing = TRIGGER_TYPE_AFTER;
n->events = intVal(linitial((yyvsp[-14].list)));
n->columns = (List *) lsecond((yyvsp[-14].list));
n->whenClause = (yyvsp[-6].node);
n->transitionRels = NIL;
n->isconstraint = true;
processCASbits((yyvsp[-10].ival), (yylsp[-10]), "TRIGGER",
&n->deferrable, &n->initdeferred, NULL,
NULL, yyscanner);
n->constrrel = (yyvsp[-11].range);
(yyval.node) = (Node *)n;
}
#line 31274 "gram.c" /* yacc.c:1646 */
break;
case 754:
#line 5389 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = TRIGGER_TYPE_BEFORE; }
#line 31280 "gram.c" /* yacc.c:1646 */
break;
case 755:
#line 5390 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = TRIGGER_TYPE_AFTER; }
#line 31286 "gram.c" /* yacc.c:1646 */
break;
case 756:
#line 5391 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = TRIGGER_TYPE_INSTEAD; }
#line 31292 "gram.c" /* yacc.c:1646 */
break;
case 757:
#line 5396 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[0].list); }
#line 31298 "gram.c" /* yacc.c:1646 */
break;
case 758:
#line 5398 "gram.y" /* yacc.c:1646 */
{
int events1 = intVal(linitial((yyvsp[-2].list)));
int events2 = intVal(linitial((yyvsp[0].list)));
List *columns1 = (List *) lsecond((yyvsp[-2].list));
List *columns2 = (List *) lsecond((yyvsp[0].list));
if (events1 & events2)
parser_yyerror("duplicate trigger events specified");
/*
* concat'ing the columns lists loses information about
* which columns went with which event, but so long as
* only UPDATE carries columns and we disallow multiple
* UPDATE items, it doesn't matter. Command execution
* should just ignore the columns for non-UPDATE events.
*/
(yyval.list) = list_make2(makeInteger(events1 | events2),
list_concat(columns1, columns2));
}
#line 31321 "gram.c" /* yacc.c:1646 */
break;
case 759:
#line 5420 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_INSERT), NIL); }
#line 31327 "gram.c" /* yacc.c:1646 */
break;
case 760:
#line 5422 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_DELETE), NIL); }
#line 31333 "gram.c" /* yacc.c:1646 */
break;
case 761:
#line 5424 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_UPDATE), NIL); }
#line 31339 "gram.c" /* yacc.c:1646 */
break;
case 762:
#line 5426 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_UPDATE), (yyvsp[0].list)); }
#line 31345 "gram.c" /* yacc.c:1646 */
break;
case 763:
#line 5428 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_TRUNCATE), NIL); }
#line 31351 "gram.c" /* yacc.c:1646 */
break;
case 764:
#line 5432 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[0].list); }
#line 31357 "gram.c" /* yacc.c:1646 */
break;
case 765:
#line 5433 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 31363 "gram.c" /* yacc.c:1646 */
break;
case 766:
#line 5437 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1((yyvsp[0].node)); }
#line 31369 "gram.c" /* yacc.c:1646 */
break;
case 767:
#line 5438 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
#line 31375 "gram.c" /* yacc.c:1646 */
break;
case 768:
#line 5443 "gram.y" /* yacc.c:1646 */
{
TriggerTransition *n = makeNode(TriggerTransition);
n->name = (yyvsp[0].str);
n->isNew = (yyvsp[-3].boolean);
n->isTable = (yyvsp[-2].boolean);
(yyval.node) = (Node *)n;
}
#line 31387 "gram.c" /* yacc.c:1646 */
break;
case 769:
#line 5453 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = true; }
#line 31393 "gram.c" /* yacc.c:1646 */
break;
case 770:
#line 5454 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = false; }
#line 31399 "gram.c" /* yacc.c:1646 */
break;
case 771:
#line 5458 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = true; }
#line 31405 "gram.c" /* yacc.c:1646 */
break;
case 772:
#line 5467 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = false; }
#line 31411 "gram.c" /* yacc.c:1646 */
break;
case 773:
#line 5471 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = (yyvsp[0].str); }
#line 31417 "gram.c" /* yacc.c:1646 */
break;
case 774:
#line 5476 "gram.y" /* yacc.c:1646 */
{
(yyval.boolean) = (yyvsp[0].boolean);
}
#line 31425 "gram.c" /* yacc.c:1646 */
break;
case 775:
#line 5480 "gram.y" /* yacc.c:1646 */
{
/*
* If ROW/STATEMENT not specified, default to
* STATEMENT, per SQL
*/
(yyval.boolean) = false;
}
#line 31437 "gram.c" /* yacc.c:1646 */
break;
case 776:
#line 5490 "gram.y" /* yacc.c:1646 */
{}
#line 31443 "gram.c" /* yacc.c:1646 */
break;
case 777:
#line 5491 "gram.y" /* yacc.c:1646 */
{}
#line 31449 "gram.c" /* yacc.c:1646 */
break;
case 778:
#line 5495 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = true; }
#line 31455 "gram.c" /* yacc.c:1646 */
break;
case 779:
#line 5496 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = false; }
#line 31461 "gram.c" /* yacc.c:1646 */
break;
case 780:
#line 5500 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (yyvsp[-1].node); }
#line 31467 "gram.c" /* yacc.c:1646 */
break;
case 781:
#line 5501 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = NULL; }
#line 31473 "gram.c" /* yacc.c:1646 */
break;
case 784:
#line 5510 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1((yyvsp[0].value)); }
#line 31479 "gram.c" /* yacc.c:1646 */
break;
case 785:
#line 5511 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].value)); }
#line 31485 "gram.c" /* yacc.c:1646 */
break;
case 786:
#line 5512 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 31491 "gram.c" /* yacc.c:1646 */
break;
case 787:
#line 5517 "gram.y" /* yacc.c:1646 */
{
(yyval.value) = makeString(psprintf("%d", (yyvsp[0].ival)));
}
#line 31499 "gram.c" /* yacc.c:1646 */
break;
case 788:
#line 5520 "gram.y" /* yacc.c:1646 */
{ (yyval.value) = makeString((yyvsp[0].str)); }
#line 31505 "gram.c" /* yacc.c:1646 */
break;
case 789:
#line 5521 "gram.y" /* yacc.c:1646 */
{ (yyval.value) = makeString((yyvsp[0].str)); }
#line 31511 "gram.c" /* yacc.c:1646 */
break;
case 790:
#line 5522 "gram.y" /* yacc.c:1646 */
{ (yyval.value) = makeString((yyvsp[0].str)); }
#line 31517 "gram.c" /* yacc.c:1646 */
break;
case 791:
#line 5526 "gram.y" /* yacc.c:1646 */
{ (yyval.range) = (yyvsp[0].range); }
#line 31523 "gram.c" /* yacc.c:1646 */
break;
case 792:
#line 5527 "gram.y" /* yacc.c:1646 */
{ (yyval.range) = NULL; }
#line 31529 "gram.c" /* yacc.c:1646 */
break;
case 793:
#line 5532 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = 0; }
#line 31535 "gram.c" /* yacc.c:1646 */
break;
case 794:
#line 5534 "gram.y" /* yacc.c:1646 */
{
/*
* We must complain about conflicting options.
* We could, but choose not to, complain about redundant
* options (ie, where $2's bit is already set in $1).
*/
int newspec = (yyvsp[-1].ival) | (yyvsp[0].ival);
/* special message for this case */
if ((newspec & (CAS_NOT_DEFERRABLE | CAS_INITIALLY_DEFERRED)) == (CAS_NOT_DEFERRABLE | CAS_INITIALLY_DEFERRED))
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("constraint declared INITIALLY DEFERRED must be DEFERRABLE"),
parser_errposition((yylsp[0]))));
/* generic message for other conflicts */
if ((newspec & (CAS_NOT_DEFERRABLE | CAS_DEFERRABLE)) == (CAS_NOT_DEFERRABLE | CAS_DEFERRABLE) ||
(newspec & (CAS_INITIALLY_IMMEDIATE | CAS_INITIALLY_DEFERRED)) == (CAS_INITIALLY_IMMEDIATE | CAS_INITIALLY_DEFERRED))
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("conflicting constraint properties"),
parser_errposition((yylsp[0]))));
(yyval.ival) = newspec;
}
#line 31563 "gram.c" /* yacc.c:1646 */
break;
case 795:
#line 5560 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = CAS_NOT_DEFERRABLE; }
#line 31569 "gram.c" /* yacc.c:1646 */
break;
case 796:
#line 5561 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = CAS_DEFERRABLE; }
#line 31575 "gram.c" /* yacc.c:1646 */
break;
case 797:
#line 5562 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = CAS_INITIALLY_IMMEDIATE; }
#line 31581 "gram.c" /* yacc.c:1646 */
break;
case 798:
#line 5563 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = CAS_INITIALLY_DEFERRED; }
#line 31587 "gram.c" /* yacc.c:1646 */
break;
case 799:
#line 5564 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = CAS_NOT_VALID; }
#line 31593 "gram.c" /* yacc.c:1646 */
break;
case 800:
#line 5565 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = CAS_NO_INHERIT; }
#line 31599 "gram.c" /* yacc.c:1646 */
break;
case 801:
#line 5580 "gram.y" /* yacc.c:1646 */
{
CreateEventTrigStmt *n = makeNode(CreateEventTrigStmt);
n->trigname = (yyvsp[-7].str);
n->eventname = (yyvsp[-5].str);
n->whenclause = NULL;
n->funcname = (yyvsp[-2].list);
(yyval.node) = (Node *)n;
}
#line 31612 "gram.c" /* yacc.c:1646 */
break;
case 802:
#line 5591 "gram.y" /* yacc.c:1646 */
{
CreateEventTrigStmt *n = makeNode(CreateEventTrigStmt);
n->trigname = (yyvsp[-9].str);
n->eventname = (yyvsp[-7].str);
n->whenclause = (yyvsp[-5].list);
n->funcname = (yyvsp[-2].list);
(yyval.node) = (Node *)n;
}
#line 31625 "gram.c" /* yacc.c:1646 */
break;
case 803:
#line 5603 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1((yyvsp[0].defelt)); }
#line 31631 "gram.c" /* yacc.c:1646 */
break;
case 804:
#line 5605 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
#line 31637 "gram.c" /* yacc.c:1646 */
break;
case 805:
#line 5610 "gram.y" /* yacc.c:1646 */
{ (yyval.defelt) = makeDefElem((yyvsp[-4].str), (Node *) (yyvsp[-1].list), (yylsp[-4])); }
#line 31643 "gram.c" /* yacc.c:1646 */
break;
case 806:
#line 5615 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
#line 31649 "gram.c" /* yacc.c:1646 */
break;
case 807:
#line 5617 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
#line 31655 "gram.c" /* yacc.c:1646 */
break;
case 808:
#line 5622 "gram.y" /* yacc.c:1646 */
{
AlterEventTrigStmt *n = makeNode(AlterEventTrigStmt);
n->trigname = (yyvsp[-1].str);
n->tgenabled = (yyvsp[0].chr);
(yyval.node) = (Node *) n;
}
#line 31666 "gram.c" /* yacc.c:1646 */
break;
case 809:
#line 5631 "gram.y" /* yacc.c:1646 */
{ (yyval.chr) = TRIGGER_FIRES_ON_ORIGIN; }
#line 31672 "gram.c" /* yacc.c:1646 */
break;
case 810:
#line 5632 "gram.y" /* yacc.c:1646 */
{ (yyval.chr) = TRIGGER_FIRES_ON_REPLICA; }
#line 31678 "gram.c" /* yacc.c:1646 */
break;
case 811:
#line 5633 "gram.y" /* yacc.c:1646 */
{ (yyval.chr) = TRIGGER_FIRES_ALWAYS; }
#line 31684 "gram.c" /* yacc.c:1646 */
break;
case 812:
#line 5634 "gram.y" /* yacc.c:1646 */
{ (yyval.chr) = TRIGGER_DISABLED; }
#line 31690 "gram.c" /* yacc.c:1646 */
break;
case 813:
#line 5648 "gram.y" /* yacc.c:1646 */
{
CreateTrigStmt *n = makeNode(CreateTrigStmt);
n->trigname = (yyvsp[-5].str);
n->args = list_make1((yyvsp[-2].node));
n->isconstraint = true;
processCASbits((yyvsp[0].ival), (yylsp[0]), "ASSERTION",
&n->deferrable, &n->initdeferred, NULL,
NULL, yyscanner);
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("CREATE ASSERTION is not yet implemented")));
(yyval.node) = (Node *)n;
}
#line 31710 "gram.c" /* yacc.c:1646 */
break;
case 814:
#line 5667 "gram.y" /* yacc.c:1646 */
{
DropStmt *n = makeNode(DropStmt);
n->objects = NIL;
n->behavior = (yyvsp[0].dbehavior);
n->removeType = OBJECT_TRIGGER; /* XXX */
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("DROP ASSERTION is not yet implemented")));
(yyval.node) = (Node *) n;
}
#line 31725 "gram.c" /* yacc.c:1646 */
break;
case 815:
#line 5689 "gram.y" /* yacc.c:1646 */
{
DefineStmt *n = makeNode(DefineStmt);
n->kind = OBJECT_AGGREGATE;
n->oldstyle = false;
n->defnames = (yyvsp[-2].list);
n->args = (yyvsp[-1].list);
n->definition = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 31739 "gram.c" /* yacc.c:1646 */
break;
case 816:
#line 5699 "gram.y" /* yacc.c:1646 */
{
/* old-style (pre-8.2) syntax for CREATE AGGREGATE */
DefineStmt *n = makeNode(DefineStmt);
n->kind = OBJECT_AGGREGATE;
n->oldstyle = true;
n->defnames = (yyvsp[-1].list);
n->args = NIL;
n->definition = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 31754 "gram.c" /* yacc.c:1646 */
break;
case 817:
#line 5710 "gram.y" /* yacc.c:1646 */
{
DefineStmt *n = makeNode(DefineStmt);
n->kind = OBJECT_OPERATOR;
n->oldstyle = false;
n->defnames = (yyvsp[-1].list);
n->args = NIL;
n->definition = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 31768 "gram.c" /* yacc.c:1646 */
break;
case 818:
#line 5720 "gram.y" /* yacc.c:1646 */
{
DefineStmt *n = makeNode(DefineStmt);
n->kind = OBJECT_TYPE;
n->oldstyle = false;
n->defnames = (yyvsp[-1].list);
n->args = NIL;
n->definition = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 31782 "gram.c" /* yacc.c:1646 */
break;
case 819:
#line 5730 "gram.y" /* yacc.c:1646 */
{
/* Shell type (identified by lack of definition) */
DefineStmt *n = makeNode(DefineStmt);
n->kind = OBJECT_TYPE;
n->oldstyle = false;
n->defnames = (yyvsp[0].list);
n->args = NIL;
n->definition = NIL;
(yyval.node) = (Node *)n;
}
#line 31797 "gram.c" /* yacc.c:1646 */
break;
case 820:
#line 5741 "gram.y" /* yacc.c:1646 */
{
CompositeTypeStmt *n = makeNode(CompositeTypeStmt);
/* can't use qualified_name, sigh */
n->typevar = makeRangeVarFromAnyName((yyvsp[-4].list), (yylsp[-4]), yyscanner);
n->coldeflist = (yyvsp[-1].list);
(yyval.node) = (Node *)n;
}
#line 31810 "gram.c" /* yacc.c:1646 */
break;
case 821:
#line 5750 "gram.y" /* yacc.c:1646 */
{
CreateEnumStmt *n = makeNode(CreateEnumStmt);
n->typeName = (yyvsp[-5].list);
n->vals = (yyvsp[-1].list);
(yyval.node) = (Node *)n;
}
#line 31821 "gram.c" /* yacc.c:1646 */
break;
case 822:
#line 5757 "gram.y" /* yacc.c:1646 */
{
CreateRangeStmt *n = makeNode(CreateRangeStmt);
n->typeName = (yyvsp[-3].list);
n->params = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 31832 "gram.c" /* yacc.c:1646 */
break;
case 823:
#line 5764 "gram.y" /* yacc.c:1646 */
{
DefineStmt *n = makeNode(DefineStmt);
n->kind = OBJECT_TSPARSER;
n->args = NIL;
n->defnames = (yyvsp[-1].list);
n->definition = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 31845 "gram.c" /* yacc.c:1646 */
break;
case 824:
#line 5773 "gram.y" /* yacc.c:1646 */
{
DefineStmt *n = makeNode(DefineStmt);
n->kind = OBJECT_TSDICTIONARY;
n->args = NIL;
n->defnames = (yyvsp[-1].list);
n->definition = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 31858 "gram.c" /* yacc.c:1646 */
break;
case 825:
#line 5782 "gram.y" /* yacc.c:1646 */
{
DefineStmt *n = makeNode(DefineStmt);
n->kind = OBJECT_TSTEMPLATE;
n->args = NIL;
n->defnames = (yyvsp[-1].list);
n->definition = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 31871 "gram.c" /* yacc.c:1646 */
break;
case 826:
#line 5791 "gram.y" /* yacc.c:1646 */
{
DefineStmt *n = makeNode(DefineStmt);
n->kind = OBJECT_TSCONFIGURATION;
n->args = NIL;
n->defnames = (yyvsp[-1].list);
n->definition = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 31884 "gram.c" /* yacc.c:1646 */
break;
case 827:
#line 5800 "gram.y" /* yacc.c:1646 */
{
DefineStmt *n = makeNode(DefineStmt);
n->kind = OBJECT_COLLATION;
n->args = NIL;
n->defnames = (yyvsp[-1].list);
n->definition = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 31897 "gram.c" /* yacc.c:1646 */
break;
case 828:
#line 5809 "gram.y" /* yacc.c:1646 */
{
DefineStmt *n = makeNode(DefineStmt);
n->kind = OBJECT_COLLATION;
n->args = NIL;
n->defnames = (yyvsp[-1].list);
n->definition = (yyvsp[0].list);
n->if_not_exists = true;
(yyval.node) = (Node *)n;
}
#line 31911 "gram.c" /* yacc.c:1646 */
break;
case 829:
#line 5819 "gram.y" /* yacc.c:1646 */
{
DefineStmt *n = makeNode(DefineStmt);
n->kind = OBJECT_COLLATION;
n->args = NIL;
n->defnames = (yyvsp[-2].list);
n->definition = list_make1(makeDefElem("from", (Node *) (yyvsp[0].list), (yylsp[0])));
(yyval.node) = (Node *)n;
}
#line 31924 "gram.c" /* yacc.c:1646 */
break;
case 830:
#line 5828 "gram.y" /* yacc.c:1646 */
{
DefineStmt *n = makeNode(DefineStmt);
n->kind = OBJECT_COLLATION;
n->args = NIL;
n->defnames = (yyvsp[-2].list);
n->definition = list_make1(makeDefElem("from", (Node *) (yyvsp[0].list), (yylsp[0])));
n->if_not_exists = true;
(yyval.node) = (Node *)n;
}
#line 31938 "gram.c" /* yacc.c:1646 */
break;
case 831:
#line 5839 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 31944 "gram.c" /* yacc.c:1646 */
break;
case 832:
#line 5842 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1((yyvsp[0].defelt)); }
#line 31950 "gram.c" /* yacc.c:1646 */
break;
case 833:
#line 5843 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
#line 31956 "gram.c" /* yacc.c:1646 */
break;
case 834:
#line 5847 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *) (yyvsp[0].node), (yylsp[-2]));
}
#line 31964 "gram.c" /* yacc.c:1646 */
break;
case 835:
#line 5851 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem((yyvsp[0].str), NULL, (yylsp[0]));
}
#line 31972 "gram.c" /* yacc.c:1646 */
break;
case 836:
#line 5857 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (Node *)(yyvsp[0].typnam); }
#line 31978 "gram.c" /* yacc.c:1646 */
break;
case 837:
#line 5858 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (Node *)makeString(pstrdup((yyvsp[0].keyword))); }
#line 31984 "gram.c" /* yacc.c:1646 */
break;
case 838:
#line 5859 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (Node *)(yyvsp[0].list); }
#line 31990 "gram.c" /* yacc.c:1646 */
break;
case 839:
#line 5860 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (Node *)(yyvsp[0].value); }
#line 31996 "gram.c" /* yacc.c:1646 */
break;
case 840:
#line 5861 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (Node *)makeString((yyvsp[0].str)); }
#line 32002 "gram.c" /* yacc.c:1646 */
break;
case 841:
#line 5862 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (Node *)makeString(pstrdup((yyvsp[0].keyword))); }
#line 32008 "gram.c" /* yacc.c:1646 */
break;
case 842:
#line 5865 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 32014 "gram.c" /* yacc.c:1646 */
break;
case 843:
#line 5868 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1((yyvsp[0].defelt)); }
#line 32020 "gram.c" /* yacc.c:1646 */
break;
case 844:
#line 5869 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
#line 32026 "gram.c" /* yacc.c:1646 */
break;
case 845:
#line 5878 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *)(yyvsp[0].node), (yylsp[-2]));
}
#line 32034 "gram.c" /* yacc.c:1646 */
break;
case 846:
#line 5884 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[0].list); }
#line 32040 "gram.c" /* yacc.c:1646 */
break;
case 847:
#line 5885 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 32046 "gram.c" /* yacc.c:1646 */
break;
case 848:
#line 5889 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
#line 32052 "gram.c" /* yacc.c:1646 */
break;
case 849:
#line 5891 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
#line 32058 "gram.c" /* yacc.c:1646 */
break;
case 850:
#line 5902 "gram.y" /* yacc.c:1646 */
{
AlterEnumStmt *n = makeNode(AlterEnumStmt);
n->typeName = (yyvsp[-4].list);
n->oldVal = NULL;
n->newVal = (yyvsp[0].str);
n->newValNeighbor = NULL;
n->newValIsAfter = true;
n->skipIfNewValExists = (yyvsp[-1].boolean);
(yyval.node) = (Node *) n;
}
#line 32073 "gram.c" /* yacc.c:1646 */
break;
case 851:
#line 5913 "gram.y" /* yacc.c:1646 */
{
AlterEnumStmt *n = makeNode(AlterEnumStmt);
n->typeName = (yyvsp[-6].list);
n->oldVal = NULL;
n->newVal = (yyvsp[-2].str);
n->newValNeighbor = (yyvsp[0].str);
n->newValIsAfter = false;
n->skipIfNewValExists = (yyvsp[-3].boolean);
(yyval.node) = (Node *) n;
}
#line 32088 "gram.c" /* yacc.c:1646 */
break;
case 852:
#line 5924 "gram.y" /* yacc.c:1646 */
{
AlterEnumStmt *n = makeNode(AlterEnumStmt);
n->typeName = (yyvsp[-6].list);
n->oldVal = NULL;
n->newVal = (yyvsp[-2].str);
n->newValNeighbor = (yyvsp[0].str);
n->newValIsAfter = true;
n->skipIfNewValExists = (yyvsp[-3].boolean);
(yyval.node) = (Node *) n;
}
#line 32103 "gram.c" /* yacc.c:1646 */
break;
case 853:
#line 5935 "gram.y" /* yacc.c:1646 */
{
AlterEnumStmt *n = makeNode(AlterEnumStmt);
n->typeName = (yyvsp[-5].list);
n->oldVal = (yyvsp[-2].str);
n->newVal = (yyvsp[0].str);
n->newValNeighbor = NULL;
n->newValIsAfter = false;
n->skipIfNewValExists = false;
(yyval.node) = (Node *) n;
}
#line 32118 "gram.c" /* yacc.c:1646 */
break;
case 854:
#line 5947 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = true; }
#line 32124 "gram.c" /* yacc.c:1646 */
break;
case 855:
#line 5948 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = false; }
#line 32130 "gram.c" /* yacc.c:1646 */
break;
case 856:
#line 5966 "gram.y" /* yacc.c:1646 */
{
CreateOpClassStmt *n = makeNode(CreateOpClassStmt);
n->opclassname = (yyvsp[-9].list);
n->isDefault = (yyvsp[-8].boolean);
n->datatype = (yyvsp[-5].typnam);
n->amname = (yyvsp[-3].str);
n->opfamilyname = (yyvsp[-2].list);
n->items = (yyvsp[0].list);
(yyval.node) = (Node *) n;
}
#line 32145 "gram.c" /* yacc.c:1646 */
break;
case 857:
#line 5979 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1((yyvsp[0].node)); }
#line 32151 "gram.c" /* yacc.c:1646 */
break;
case 858:
#line 5980 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
#line 32157 "gram.c" /* yacc.c:1646 */
break;
case 859:
#line 5985 "gram.y" /* yacc.c:1646 */
{
CreateOpClassItem *n = makeNode(CreateOpClassItem);
ObjectWithArgs *owa = makeNode(ObjectWithArgs);
owa->objname = (yyvsp[-2].list);
owa->objargs = NIL;
n->itemtype = OPCLASS_ITEM_OPERATOR;
n->name = owa;
n->number = (yyvsp[-3].ival);
n->order_family = (yyvsp[-1].list);
(yyval.node) = (Node *) n;
}
#line 32173 "gram.c" /* yacc.c:1646 */
break;
case 860:
#line 5998 "gram.y" /* yacc.c:1646 */
{
CreateOpClassItem *n = makeNode(CreateOpClassItem);
n->itemtype = OPCLASS_ITEM_OPERATOR;
n->name = (yyvsp[-2].objwithargs);
n->number = (yyvsp[-3].ival);
n->order_family = (yyvsp[-1].list);
(yyval.node) = (Node *) n;
}
#line 32186 "gram.c" /* yacc.c:1646 */
break;
case 861:
#line 6007 "gram.y" /* yacc.c:1646 */
{
CreateOpClassItem *n = makeNode(CreateOpClassItem);
n->itemtype = OPCLASS_ITEM_FUNCTION;
n->name = (yyvsp[0].objwithargs);
n->number = (yyvsp[-1].ival);
(yyval.node) = (Node *) n;
}
#line 32198 "gram.c" /* yacc.c:1646 */
break;
case 862:
#line 6015 "gram.y" /* yacc.c:1646 */
{
CreateOpClassItem *n = makeNode(CreateOpClassItem);
n->itemtype = OPCLASS_ITEM_FUNCTION;
n->name = (yyvsp[0].objwithargs);
n->number = (yyvsp[-4].ival);
n->class_args = (yyvsp[-2].list);
(yyval.node) = (Node *) n;
}
#line 32211 "gram.c" /* yacc.c:1646 */
break;
case 863:
#line 6024 "gram.y" /* yacc.c:1646 */
{
CreateOpClassItem *n = makeNode(CreateOpClassItem);
n->itemtype = OPCLASS_ITEM_STORAGETYPE;
n->storedtype = (yyvsp[0].typnam);
(yyval.node) = (Node *) n;
}
#line 32222 "gram.c" /* yacc.c:1646 */
break;
case 864:
#line 6032 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = true; }
#line 32228 "gram.c" /* yacc.c:1646 */
break;
case 865:
#line 6033 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = false; }
#line 32234 "gram.c" /* yacc.c:1646 */
break;
case 866:
#line 6036 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[0].list); }
#line 32240 "gram.c" /* yacc.c:1646 */
break;
case 867:
#line 6037 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 32246 "gram.c" /* yacc.c:1646 */
break;
case 868:
#line 6040 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 32252 "gram.c" /* yacc.c:1646 */
break;
case 869:
#line 6041 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[0].list); }
#line 32258 "gram.c" /* yacc.c:1646 */
break;
case 870:
#line 6042 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 32264 "gram.c" /* yacc.c:1646 */
break;
case 871:
#line 6046 "gram.y" /* yacc.c:1646 */
{
/*
* RECHECK no longer does anything in opclass definitions,
* but we still accept it to ease porting of old database
* dumps.
*/
ereport(NOTICE,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("RECHECK is no longer required"),
errhint("Update your data type."),
parser_errposition((yylsp[0]))));
(yyval.boolean) = true;
}
#line 32282 "gram.c" /* yacc.c:1646 */
break;
case 872:
#line 6059 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = false; }
#line 32288 "gram.c" /* yacc.c:1646 */
break;
case 873:
#line 6065 "gram.y" /* yacc.c:1646 */
{
CreateOpFamilyStmt *n = makeNode(CreateOpFamilyStmt);
n->opfamilyname = (yyvsp[-2].list);
n->amname = (yyvsp[0].str);
(yyval.node) = (Node *) n;
}
#line 32299 "gram.c" /* yacc.c:1646 */
break;
case 874:
#line 6075 "gram.y" /* yacc.c:1646 */
{
AlterOpFamilyStmt *n = makeNode(AlterOpFamilyStmt);
n->opfamilyname = (yyvsp[-4].list);
n->amname = (yyvsp[-2].str);
n->isDrop = false;
n->items = (yyvsp[0].list);
(yyval.node) = (Node *) n;
}
#line 32312 "gram.c" /* yacc.c:1646 */
break;
case 875:
#line 6084 "gram.y" /* yacc.c:1646 */
{
AlterOpFamilyStmt *n = makeNode(AlterOpFamilyStmt);
n->opfamilyname = (yyvsp[-4].list);
n->amname = (yyvsp[-2].str);
n->isDrop = true;
n->items = (yyvsp[0].list);
(yyval.node) = (Node *) n;
}
#line 32325 "gram.c" /* yacc.c:1646 */
break;
case 876:
#line 6095 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1((yyvsp[0].node)); }
#line 32331 "gram.c" /* yacc.c:1646 */
break;
case 877:
#line 6096 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
#line 32337 "gram.c" /* yacc.c:1646 */
break;
case 878:
#line 6101 "gram.y" /* yacc.c:1646 */
{
CreateOpClassItem *n = makeNode(CreateOpClassItem);
n->itemtype = OPCLASS_ITEM_OPERATOR;
n->number = (yyvsp[-3].ival);
n->class_args = (yyvsp[-1].list);
(yyval.node) = (Node *) n;
}
#line 32349 "gram.c" /* yacc.c:1646 */
break;
case 879:
#line 6109 "gram.y" /* yacc.c:1646 */
{
CreateOpClassItem *n = makeNode(CreateOpClassItem);
n->itemtype = OPCLASS_ITEM_FUNCTION;
n->number = (yyvsp[-3].ival);
n->class_args = (yyvsp[-1].list);
(yyval.node) = (Node *) n;
}
#line 32361 "gram.c" /* yacc.c:1646 */
break;
case 880:
#line 6121 "gram.y" /* yacc.c:1646 */
{
DropStmt *n = makeNode(DropStmt);
n->objects = list_make1(lcons(makeString((yyvsp[-1].str)), (yyvsp[-3].list)));
n->removeType = OBJECT_OPCLASS;
n->behavior = (yyvsp[0].dbehavior);
n->missing_ok = false;
n->concurrent = false;
(yyval.node) = (Node *) n;
}
#line 32375 "gram.c" /* yacc.c:1646 */
break;
case 881:
#line 6131 "gram.y" /* yacc.c:1646 */
{
DropStmt *n = makeNode(DropStmt);
n->objects = list_make1(lcons(makeString((yyvsp[-1].str)), (yyvsp[-3].list)));
n->removeType = OBJECT_OPCLASS;
n->behavior = (yyvsp[0].dbehavior);
n->missing_ok = true;
n->concurrent = false;
(yyval.node) = (Node *) n;
}
#line 32389 "gram.c" /* yacc.c:1646 */
break;
case 882:
#line 6144 "gram.y" /* yacc.c:1646 */
{
DropStmt *n = makeNode(DropStmt);
n->objects = list_make1(lcons(makeString((yyvsp[-1].str)), (yyvsp[-3].list)));
n->removeType = OBJECT_OPFAMILY;
n->behavior = (yyvsp[0].dbehavior);
n->missing_ok = false;
n->concurrent = false;
(yyval.node) = (Node *) n;
}
#line 32403 "gram.c" /* yacc.c:1646 */
break;
case 883:
#line 6154 "gram.y" /* yacc.c:1646 */
{
DropStmt *n = makeNode(DropStmt);
n->objects = list_make1(lcons(makeString((yyvsp[-1].str)), (yyvsp[-3].list)));
n->removeType = OBJECT_OPFAMILY;
n->behavior = (yyvsp[0].dbehavior);
n->missing_ok = true;
n->concurrent = false;
(yyval.node) = (Node *) n;
}
#line 32417 "gram.c" /* yacc.c:1646 */
break;
case 884:
#line 6176 "gram.y" /* yacc.c:1646 */
{
DropOwnedStmt *n = makeNode(DropOwnedStmt);
n->roles = (yyvsp[-1].list);
n->behavior = (yyvsp[0].dbehavior);
(yyval.node) = (Node *)n;
}
#line 32428 "gram.c" /* yacc.c:1646 */
break;
case 885:
#line 6186 "gram.y" /* yacc.c:1646 */
{
ReassignOwnedStmt *n = makeNode(ReassignOwnedStmt);
n->roles = (yyvsp[-2].list);
n->newrole = (yyvsp[0].rolespec);
(yyval.node) = (Node *)n;
}
#line 32439 "gram.c" /* yacc.c:1646 */
break;
case 886:
#line 6204 "gram.y" /* yacc.c:1646 */
{
DropStmt *n = makeNode(DropStmt);
n->removeType = (yyvsp[-4].objtype);
n->missing_ok = true;
n->objects = (yyvsp[-1].list);
n->behavior = (yyvsp[0].dbehavior);
n->concurrent = false;
(yyval.node) = (Node *)n;
}
#line 32453 "gram.c" /* yacc.c:1646 */
break;
case 887:
#line 6214 "gram.y" /* yacc.c:1646 */
{
DropStmt *n = makeNode(DropStmt);
n->removeType = (yyvsp[-2].objtype);
n->missing_ok = false;
n->objects = (yyvsp[-1].list);
n->behavior = (yyvsp[0].dbehavior);
n->concurrent = false;
(yyval.node) = (Node *)n;
}
#line 32467 "gram.c" /* yacc.c:1646 */
break;
case 888:
#line 6224 "gram.y" /* yacc.c:1646 */
{
DropStmt *n = makeNode(DropStmt);
n->removeType = (yyvsp[-4].objtype);
n->missing_ok = true;
n->objects = (yyvsp[-1].list);
n->behavior = (yyvsp[0].dbehavior);
n->concurrent = false;
(yyval.node) = (Node *)n;
}
#line 32481 "gram.c" /* yacc.c:1646 */
break;
case 889:
#line 6234 "gram.y" /* yacc.c:1646 */
{
DropStmt *n = makeNode(DropStmt);
n->removeType = (yyvsp[-2].objtype);
n->missing_ok = false;
n->objects = (yyvsp[-1].list);
n->behavior = (yyvsp[0].dbehavior);
n->concurrent = false;
(yyval.node) = (Node *)n;
}
#line 32495 "gram.c" /* yacc.c:1646 */
break;
case 890:
#line 6244 "gram.y" /* yacc.c:1646 */
{
DropStmt *n = makeNode(DropStmt);
n->removeType = (yyvsp[-4].objtype);
n->objects = list_make1(lappend((yyvsp[-1].list), makeString((yyvsp[-3].str))));
n->behavior = (yyvsp[0].dbehavior);
n->missing_ok = false;
n->concurrent = false;
(yyval.node) = (Node *) n;
}
#line 32509 "gram.c" /* yacc.c:1646 */
break;
case 891:
#line 6254 "gram.y" /* yacc.c:1646 */
{
DropStmt *n = makeNode(DropStmt);
n->removeType = (yyvsp[-6].objtype);
n->objects = list_make1(lappend((yyvsp[-1].list), makeString((yyvsp[-3].str))));
n->behavior = (yyvsp[0].dbehavior);
n->missing_ok = true;
n->concurrent = false;
(yyval.node) = (Node *) n;
}
#line 32523 "gram.c" /* yacc.c:1646 */
break;
case 892:
#line 6264 "gram.y" /* yacc.c:1646 */
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_TYPE;
n->missing_ok = false;
n->objects = (yyvsp[-1].list);
n->behavior = (yyvsp[0].dbehavior);
n->concurrent = false;
(yyval.node) = (Node *) n;
}
#line 32537 "gram.c" /* yacc.c:1646 */
break;
case 893:
#line 6274 "gram.y" /* yacc.c:1646 */
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_TYPE;
n->missing_ok = true;
n->objects = (yyvsp[-1].list);
n->behavior = (yyvsp[0].dbehavior);
n->concurrent = false;
(yyval.node) = (Node *) n;
}
#line 32551 "gram.c" /* yacc.c:1646 */
break;
case 894:
#line 6284 "gram.y" /* yacc.c:1646 */
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_DOMAIN;
n->missing_ok = false;
n->objects = (yyvsp[-1].list);
n->behavior = (yyvsp[0].dbehavior);
n->concurrent = false;
(yyval.node) = (Node *) n;
}
#line 32565 "gram.c" /* yacc.c:1646 */
break;
case 895:
#line 6294 "gram.y" /* yacc.c:1646 */
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_DOMAIN;
n->missing_ok = true;
n->objects = (yyvsp[-1].list);
n->behavior = (yyvsp[0].dbehavior);
n->concurrent = false;
(yyval.node) = (Node *) n;
}
#line 32579 "gram.c" /* yacc.c:1646 */
break;
case 896:
#line 6304 "gram.y" /* yacc.c:1646 */
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_INDEX;
n->missing_ok = false;
n->objects = (yyvsp[-1].list);
n->behavior = (yyvsp[0].dbehavior);
n->concurrent = true;
(yyval.node) = (Node *)n;
}
#line 32593 "gram.c" /* yacc.c:1646 */
break;
case 897:
#line 6314 "gram.y" /* yacc.c:1646 */
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_INDEX;
n->missing_ok = true;
n->objects = (yyvsp[-1].list);
n->behavior = (yyvsp[0].dbehavior);
n->concurrent = true;
(yyval.node) = (Node *)n;
}
#line 32607 "gram.c" /* yacc.c:1646 */
break;
case 898:
#line 6327 "gram.y" /* yacc.c:1646 */
{ (yyval.objtype) = OBJECT_TABLE; }
#line 32613 "gram.c" /* yacc.c:1646 */
break;
case 899:
#line 6328 "gram.y" /* yacc.c:1646 */
{ (yyval.objtype) = OBJECT_SEQUENCE; }
#line 32619 "gram.c" /* yacc.c:1646 */
break;
case 900:
#line 6329 "gram.y" /* yacc.c:1646 */
{ (yyval.objtype) = OBJECT_VIEW; }
#line 32625 "gram.c" /* yacc.c:1646 */
break;
case 901:
#line 6330 "gram.y" /* yacc.c:1646 */
{ (yyval.objtype) = OBJECT_MATVIEW; }
#line 32631 "gram.c" /* yacc.c:1646 */
break;
case 902:
#line 6331 "gram.y" /* yacc.c:1646 */
{ (yyval.objtype) = OBJECT_INDEX; }
#line 32637 "gram.c" /* yacc.c:1646 */
break;
case 903:
#line 6332 "gram.y" /* yacc.c:1646 */
{ (yyval.objtype) = OBJECT_FOREIGN_TABLE; }
#line 32643 "gram.c" /* yacc.c:1646 */
break;
case 904:
#line 6333 "gram.y" /* yacc.c:1646 */
{ (yyval.objtype) = OBJECT_COLLATION; }
#line 32649 "gram.c" /* yacc.c:1646 */
break;
case 905:
#line 6334 "gram.y" /* yacc.c:1646 */
{ (yyval.objtype) = OBJECT_CONVERSION; }
#line 32655 "gram.c" /* yacc.c:1646 */
break;
case 906:
#line 6335 "gram.y" /* yacc.c:1646 */
{ (yyval.objtype) = OBJECT_STATISTIC_EXT; }
#line 32661 "gram.c" /* yacc.c:1646 */
break;
case 907:
#line 6336 "gram.y" /* yacc.c:1646 */
{ (yyval.objtype) = OBJECT_TSPARSER; }
#line 32667 "gram.c" /* yacc.c:1646 */
break;
case 908:
#line 6337 "gram.y" /* yacc.c:1646 */
{ (yyval.objtype) = OBJECT_TSDICTIONARY; }
#line 32673 "gram.c" /* yacc.c:1646 */
break;
case 909:
#line 6338 "gram.y" /* yacc.c:1646 */
{ (yyval.objtype) = OBJECT_TSTEMPLATE; }
#line 32679 "gram.c" /* yacc.c:1646 */
break;
case 910:
#line 6339 "gram.y" /* yacc.c:1646 */
{ (yyval.objtype) = OBJECT_TSCONFIGURATION; }
#line 32685 "gram.c" /* yacc.c:1646 */
break;
case 911:
#line 6344 "gram.y" /* yacc.c:1646 */
{ (yyval.objtype) = OBJECT_ACCESS_METHOD; }
#line 32691 "gram.c" /* yacc.c:1646 */
break;
case 912:
#line 6345 "gram.y" /* yacc.c:1646 */
{ (yyval.objtype) = OBJECT_EVENT_TRIGGER; }
#line 32697 "gram.c" /* yacc.c:1646 */
break;
case 913:
#line 6346 "gram.y" /* yacc.c:1646 */
{ (yyval.objtype) = OBJECT_EXTENSION; }
#line 32703 "gram.c" /* yacc.c:1646 */
break;
case 914:
#line 6347 "gram.y" /* yacc.c:1646 */
{ (yyval.objtype) = OBJECT_FDW; }
#line 32709 "gram.c" /* yacc.c:1646 */
break;
case 915:
#line 6348 "gram.y" /* yacc.c:1646 */
{ (yyval.objtype) = OBJECT_PUBLICATION; }
#line 32715 "gram.c" /* yacc.c:1646 */
break;
case 916:
#line 6349 "gram.y" /* yacc.c:1646 */
{ (yyval.objtype) = OBJECT_SCHEMA; }
#line 32721 "gram.c" /* yacc.c:1646 */
break;
case 917:
#line 6350 "gram.y" /* yacc.c:1646 */
{ (yyval.objtype) = OBJECT_FOREIGN_SERVER; }
#line 32727 "gram.c" /* yacc.c:1646 */
break;
case 918:
#line 6355 "gram.y" /* yacc.c:1646 */
{ (yyval.objtype) = OBJECT_POLICY; }
#line 32733 "gram.c" /* yacc.c:1646 */
break;
case 919:
#line 6356 "gram.y" /* yacc.c:1646 */
{ (yyval.objtype) = OBJECT_RULE; }
#line 32739 "gram.c" /* yacc.c:1646 */
break;
case 920:
#line 6357 "gram.y" /* yacc.c:1646 */
{ (yyval.objtype) = OBJECT_TRIGGER; }
#line 32745 "gram.c" /* yacc.c:1646 */
break;
case 921:
#line 6361 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1((yyvsp[0].list)); }
#line 32751 "gram.c" /* yacc.c:1646 */
break;
case 922:
#line 6362 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].list)); }
#line 32757 "gram.c" /* yacc.c:1646 */
break;
case 923:
#line 6365 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
#line 32763 "gram.c" /* yacc.c:1646 */
break;
case 924:
#line 6366 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)); }
#line 32769 "gram.c" /* yacc.c:1646 */
break;
case 925:
#line 6370 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
#line 32775 "gram.c" /* yacc.c:1646 */
break;
case 926:
#line 6372 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
#line 32781 "gram.c" /* yacc.c:1646 */
break;
case 927:
#line 6376 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1((yyvsp[0].typnam)); }
#line 32787 "gram.c" /* yacc.c:1646 */
break;
case 928:
#line 6377 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].typnam)); }
#line 32793 "gram.c" /* yacc.c:1646 */
break;
case 929:
#line 6388 "gram.y" /* yacc.c:1646 */
{
TruncateStmt *n = makeNode(TruncateStmt);
n->relations = (yyvsp[-2].list);
n->restart_seqs = (yyvsp[-1].boolean);
n->behavior = (yyvsp[0].dbehavior);
(yyval.node) = (Node *)n;
}
#line 32805 "gram.c" /* yacc.c:1646 */
break;
case 930:
#line 6398 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = false; }
#line 32811 "gram.c" /* yacc.c:1646 */
break;
case 931:
#line 6399 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = true; }
#line 32817 "gram.c" /* yacc.c:1646 */
break;
case 932:
#line 6400 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = false; }
#line 32823 "gram.c" /* yacc.c:1646 */
break;
case 933:
#line 6435 "gram.y" /* yacc.c:1646 */
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = (yyvsp[-3].objtype);
n->object = (Node *) (yyvsp[-2].list);
n->comment = (yyvsp[0].str);
(yyval.node) = (Node *) n;
}
#line 32835 "gram.c" /* yacc.c:1646 */
break;
case 934:
#line 6443 "gram.y" /* yacc.c:1646 */
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = (yyvsp[-3].objtype);
n->object = (Node *) makeString((yyvsp[-2].str));
n->comment = (yyvsp[0].str);
(yyval.node) = (Node *) n;
}
#line 32847 "gram.c" /* yacc.c:1646 */
break;
case 935:
#line 6451 "gram.y" /* yacc.c:1646 */
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_TYPE;
n->object = (Node *) (yyvsp[-2].typnam);
n->comment = (yyvsp[0].str);
(yyval.node) = (Node *) n;
}
#line 32859 "gram.c" /* yacc.c:1646 */
break;
case 936:
#line 6459 "gram.y" /* yacc.c:1646 */
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_DOMAIN;
n->object = (Node *) (yyvsp[-2].typnam);
n->comment = (yyvsp[0].str);
(yyval.node) = (Node *) n;
}
#line 32871 "gram.c" /* yacc.c:1646 */
break;
case 937:
#line 6467 "gram.y" /* yacc.c:1646 */
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_AGGREGATE;
n->object = (Node *) (yyvsp[-2].objwithargs);
n->comment = (yyvsp[0].str);
(yyval.node) = (Node *) n;
}
#line 32883 "gram.c" /* yacc.c:1646 */
break;
case 938:
#line 6475 "gram.y" /* yacc.c:1646 */
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_FUNCTION;
n->object = (Node *) (yyvsp[-2].objwithargs);
n->comment = (yyvsp[0].str);
(yyval.node) = (Node *) n;
}
#line 32895 "gram.c" /* yacc.c:1646 */
break;
case 939:
#line 6483 "gram.y" /* yacc.c:1646 */
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_OPERATOR;
n->object = (Node *) (yyvsp[-2].objwithargs);
n->comment = (yyvsp[0].str);
(yyval.node) = (Node *) n;
}
#line 32907 "gram.c" /* yacc.c:1646 */
break;
case 940:
#line 6491 "gram.y" /* yacc.c:1646 */
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_TABCONSTRAINT;
n->object = (Node *) lappend((yyvsp[-2].list), makeString((yyvsp[-4].str)));
n->comment = (yyvsp[0].str);
(yyval.node) = (Node *) n;
}
#line 32919 "gram.c" /* yacc.c:1646 */
break;
case 941:
#line 6499 "gram.y" /* yacc.c:1646 */
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_DOMCONSTRAINT;
/*
* should use Typename not any_name in the production, but
* there's a shift/reduce conflict if we do that, so fix it
* up here.
*/
n->object = (Node *) list_make2(makeTypeNameFromNameList((yyvsp[-2].list)), makeString((yyvsp[-5].str)));
n->comment = (yyvsp[0].str);
(yyval.node) = (Node *) n;
}
#line 32936 "gram.c" /* yacc.c:1646 */
break;
case 942:
#line 6512 "gram.y" /* yacc.c:1646 */
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_POLICY;
n->object = (Node *) lappend((yyvsp[-2].list), makeString((yyvsp[-4].str)));
n->comment = (yyvsp[0].str);
(yyval.node) = (Node *) n;
}
#line 32948 "gram.c" /* yacc.c:1646 */
break;
case 943:
#line 6520 "gram.y" /* yacc.c:1646 */
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_PROCEDURE;
n->object = (Node *) (yyvsp[-2].objwithargs);
n->comment = (yyvsp[0].str);
(yyval.node) = (Node *) n;
}
#line 32960 "gram.c" /* yacc.c:1646 */
break;
case 944:
#line 6528 "gram.y" /* yacc.c:1646 */
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_ROUTINE;
n->object = (Node *) (yyvsp[-2].objwithargs);
n->comment = (yyvsp[0].str);
(yyval.node) = (Node *) n;
}
#line 32972 "gram.c" /* yacc.c:1646 */
break;
case 945:
#line 6536 "gram.y" /* yacc.c:1646 */
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_RULE;
n->object = (Node *) lappend((yyvsp[-2].list), makeString((yyvsp[-4].str)));
n->comment = (yyvsp[0].str);
(yyval.node) = (Node *) n;
}
#line 32984 "gram.c" /* yacc.c:1646 */
break;
case 946:
#line 6544 "gram.y" /* yacc.c:1646 */
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_TRANSFORM;
n->object = (Node *) list_make2((yyvsp[-4].typnam), makeString((yyvsp[-2].str)));
n->comment = (yyvsp[0].str);
(yyval.node) = (Node *) n;
}
#line 32996 "gram.c" /* yacc.c:1646 */
break;
case 947:
#line 6552 "gram.y" /* yacc.c:1646 */
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_TRIGGER;
n->object = (Node *) lappend((yyvsp[-2].list), makeString((yyvsp[-4].str)));
n->comment = (yyvsp[0].str);
(yyval.node) = (Node *) n;
}
#line 33008 "gram.c" /* yacc.c:1646 */
break;
case 948:
#line 6560 "gram.y" /* yacc.c:1646 */
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_OPCLASS;
n->object = (Node *) lcons(makeString((yyvsp[-2].str)), (yyvsp[-4].list));
n->comment = (yyvsp[0].str);
(yyval.node) = (Node *) n;
}
#line 33020 "gram.c" /* yacc.c:1646 */
break;
case 949:
#line 6568 "gram.y" /* yacc.c:1646 */
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_OPFAMILY;
n->object = (Node *) lcons(makeString((yyvsp[-2].str)), (yyvsp[-4].list));
n->comment = (yyvsp[0].str);
(yyval.node) = (Node *) n;
}
#line 33032 "gram.c" /* yacc.c:1646 */
break;
case 950:
#line 6576 "gram.y" /* yacc.c:1646 */
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_LARGEOBJECT;
n->object = (Node *) (yyvsp[-2].value);
n->comment = (yyvsp[0].str);
(yyval.node) = (Node *) n;
}
#line 33044 "gram.c" /* yacc.c:1646 */
break;
case 951:
#line 6584 "gram.y" /* yacc.c:1646 */
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_CAST;
n->object = (Node *) list_make2((yyvsp[-5].typnam), (yyvsp[-3].typnam));
n->comment = (yyvsp[0].str);
(yyval.node) = (Node *) n;
}
#line 33056 "gram.c" /* yacc.c:1646 */
break;
case 952:
#line 6595 "gram.y" /* yacc.c:1646 */
{ (yyval.objtype) = OBJECT_COLUMN; }
#line 33062 "gram.c" /* yacc.c:1646 */
break;
case 953:
#line 6596 "gram.y" /* yacc.c:1646 */
{ (yyval.objtype) = OBJECT_INDEX; }
#line 33068 "gram.c" /* yacc.c:1646 */
break;
case 954:
#line 6597 "gram.y" /* yacc.c:1646 */
{ (yyval.objtype) = OBJECT_SEQUENCE; }
#line 33074 "gram.c" /* yacc.c:1646 */
break;
case 955:
#line 6598 "gram.y" /* yacc.c:1646 */
{ (yyval.objtype) = OBJECT_STATISTIC_EXT; }
#line 33080 "gram.c" /* yacc.c:1646 */
break;
case 956:
#line 6599 "gram.y" /* yacc.c:1646 */
{ (yyval.objtype) = OBJECT_TABLE; }
#line 33086 "gram.c" /* yacc.c:1646 */
break;
case 957:
#line 6600 "gram.y" /* yacc.c:1646 */
{ (yyval.objtype) = OBJECT_VIEW; }
#line 33092 "gram.c" /* yacc.c:1646 */
break;
case 958:
#line 6601 "gram.y" /* yacc.c:1646 */
{ (yyval.objtype) = OBJECT_MATVIEW; }
#line 33098 "gram.c" /* yacc.c:1646 */
break;
case 959:
#line 6602 "gram.y" /* yacc.c:1646 */
{ (yyval.objtype) = OBJECT_COLLATION; }
#line 33104 "gram.c" /* yacc.c:1646 */
break;
case 960:
#line 6603 "gram.y" /* yacc.c:1646 */
{ (yyval.objtype) = OBJECT_CONVERSION; }
#line 33110 "gram.c" /* yacc.c:1646 */
break;
case 961:
#line 6604 "gram.y" /* yacc.c:1646 */
{ (yyval.objtype) = OBJECT_FOREIGN_TABLE; }
#line 33116 "gram.c" /* yacc.c:1646 */
break;
case 962:
#line 6605 "gram.y" /* yacc.c:1646 */
{ (yyval.objtype) = OBJECT_TSCONFIGURATION; }
#line 33122 "gram.c" /* yacc.c:1646 */
break;
case 963:
#line 6606 "gram.y" /* yacc.c:1646 */
{ (yyval.objtype) = OBJECT_TSDICTIONARY; }
#line 33128 "gram.c" /* yacc.c:1646 */
break;
case 964:
#line 6607 "gram.y" /* yacc.c:1646 */
{ (yyval.objtype) = OBJECT_TSPARSER; }
#line 33134 "gram.c" /* yacc.c:1646 */
break;
case 965:
#line 6608 "gram.y" /* yacc.c:1646 */
{ (yyval.objtype) = OBJECT_TSTEMPLATE; }
#line 33140 "gram.c" /* yacc.c:1646 */
break;
case 966:
#line 6613 "gram.y" /* yacc.c:1646 */
{ (yyval.objtype) = OBJECT_ACCESS_METHOD; }
#line 33146 "gram.c" /* yacc.c:1646 */
break;
case 967:
#line 6614 "gram.y" /* yacc.c:1646 */
{ (yyval.objtype) = OBJECT_DATABASE; }
#line 33152 "gram.c" /* yacc.c:1646 */
break;
case 968:
#line 6615 "gram.y" /* yacc.c:1646 */
{ (yyval.objtype) = OBJECT_EVENT_TRIGGER; }
#line 33158 "gram.c" /* yacc.c:1646 */
break;
case 969:
#line 6616 "gram.y" /* yacc.c:1646 */
{ (yyval.objtype) = OBJECT_EXTENSION; }
#line 33164 "gram.c" /* yacc.c:1646 */
break;
case 970:
#line 6617 "gram.y" /* yacc.c:1646 */
{ (yyval.objtype) = OBJECT_FDW; }
#line 33170 "gram.c" /* yacc.c:1646 */
break;
case 971:
#line 6618 "gram.y" /* yacc.c:1646 */
{ (yyval.objtype) = OBJECT_LANGUAGE; }
#line 33176 "gram.c" /* yacc.c:1646 */
break;
case 972:
#line 6619 "gram.y" /* yacc.c:1646 */
{ (yyval.objtype) = OBJECT_PUBLICATION; }
#line 33182 "gram.c" /* yacc.c:1646 */
break;
case 973:
#line 6620 "gram.y" /* yacc.c:1646 */
{ (yyval.objtype) = OBJECT_ROLE; }
#line 33188 "gram.c" /* yacc.c:1646 */
break;
case 974:
#line 6621 "gram.y" /* yacc.c:1646 */
{ (yyval.objtype) = OBJECT_SCHEMA; }
#line 33194 "gram.c" /* yacc.c:1646 */
break;
case 975:
#line 6622 "gram.y" /* yacc.c:1646 */
{ (yyval.objtype) = OBJECT_FOREIGN_SERVER; }
#line 33200 "gram.c" /* yacc.c:1646 */
break;
case 976:
#line 6623 "gram.y" /* yacc.c:1646 */
{ (yyval.objtype) = OBJECT_SUBSCRIPTION; }
#line 33206 "gram.c" /* yacc.c:1646 */
break;
case 977:
#line 6624 "gram.y" /* yacc.c:1646 */
{ (yyval.objtype) = OBJECT_TABLESPACE; }
#line 33212 "gram.c" /* yacc.c:1646 */
break;
case 978:
#line 6628 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = (yyvsp[0].str); }
#line 33218 "gram.c" /* yacc.c:1646 */
break;
case 979:
#line 6629 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = NULL; }
#line 33224 "gram.c" /* yacc.c:1646 */
break;
case 980:
#line 6645 "gram.y" /* yacc.c:1646 */
{
SecLabelStmt *n = makeNode(SecLabelStmt);
n->provider = (yyvsp[-5].str);
n->objtype = (yyvsp[-3].objtype);
n->object = (Node *) (yyvsp[-2].list);
n->label = (yyvsp[0].str);
(yyval.node) = (Node *) n;
}
#line 33237 "gram.c" /* yacc.c:1646 */
break;
case 981:
#line 6655 "gram.y" /* yacc.c:1646 */
{
SecLabelStmt *n = makeNode(SecLabelStmt);
n->provider = (yyvsp[-5].str);
n->objtype = (yyvsp[-3].objtype);
n->object = (Node *) makeString((yyvsp[-2].str));
n->label = (yyvsp[0].str);
(yyval.node) = (Node *) n;
}
#line 33250 "gram.c" /* yacc.c:1646 */
break;
case 982:
#line 6665 "gram.y" /* yacc.c:1646 */
{
SecLabelStmt *n = makeNode(SecLabelStmt);
n->provider = (yyvsp[-5].str);
n->objtype = OBJECT_TYPE;
n->object = (Node *) (yyvsp[-2].typnam);
n->label = (yyvsp[0].str);
(yyval.node) = (Node *) n;
}
#line 33263 "gram.c" /* yacc.c:1646 */
break;
case 983:
#line 6675 "gram.y" /* yacc.c:1646 */
{
SecLabelStmt *n = makeNode(SecLabelStmt);
n->provider = (yyvsp[-5].str);
n->objtype = OBJECT_DOMAIN;
n->object = (Node *) (yyvsp[-2].typnam);
n->label = (yyvsp[0].str);
(yyval.node) = (Node *) n;
}
#line 33276 "gram.c" /* yacc.c:1646 */
break;
case 984:
#line 6685 "gram.y" /* yacc.c:1646 */
{
SecLabelStmt *n = makeNode(SecLabelStmt);
n->provider = (yyvsp[-5].str);
n->objtype = OBJECT_AGGREGATE;
n->object = (Node *) (yyvsp[-2].objwithargs);
n->label = (yyvsp[0].str);
(yyval.node) = (Node *) n;
}
#line 33289 "gram.c" /* yacc.c:1646 */
break;
case 985:
#line 6695 "gram.y" /* yacc.c:1646 */
{
SecLabelStmt *n = makeNode(SecLabelStmt);
n->provider = (yyvsp[-5].str);
n->objtype = OBJECT_FUNCTION;
n->object = (Node *) (yyvsp[-2].objwithargs);
n->label = (yyvsp[0].str);
(yyval.node) = (Node *) n;
}
#line 33302 "gram.c" /* yacc.c:1646 */
break;
case 986:
#line 6705 "gram.y" /* yacc.c:1646 */
{
SecLabelStmt *n = makeNode(SecLabelStmt);
n->provider = (yyvsp[-6].str);
n->objtype = OBJECT_LARGEOBJECT;
n->object = (Node *) (yyvsp[-2].value);
n->label = (yyvsp[0].str);
(yyval.node) = (Node *) n;
}
#line 33315 "gram.c" /* yacc.c:1646 */
break;
case 987:
#line 6715 "gram.y" /* yacc.c:1646 */
{
SecLabelStmt *n = makeNode(SecLabelStmt);
n->provider = (yyvsp[-5].str);
n->objtype = OBJECT_PROCEDURE;
n->object = (Node *) (yyvsp[-2].objwithargs);
n->label = (yyvsp[0].str);
(yyval.node) = (Node *) n;
}
#line 33328 "gram.c" /* yacc.c:1646 */
break;
case 988:
#line 6725 "gram.y" /* yacc.c:1646 */
{
SecLabelStmt *n = makeNode(SecLabelStmt);
n->provider = (yyvsp[-5].str);
n->objtype = OBJECT_ROUTINE;
n->object = (Node *) (yyvsp[-2].objwithargs);
n->label = (yyvsp[0].str);
(yyval.node) = (Node *) n;
}
#line 33341 "gram.c" /* yacc.c:1646 */
break;
case 989:
#line 6735 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = (yyvsp[0].str); }
#line 33347 "gram.c" /* yacc.c:1646 */
break;
case 990:
#line 6736 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = NULL; }
#line 33353 "gram.c" /* yacc.c:1646 */
break;
case 991:
#line 6741 "gram.y" /* yacc.c:1646 */
{ (yyval.objtype) = OBJECT_COLUMN; }
#line 33359 "gram.c" /* yacc.c:1646 */
break;
case 992:
#line 6742 "gram.y" /* yacc.c:1646 */
{ (yyval.objtype) = OBJECT_FOREIGN_TABLE; }
#line 33365 "gram.c" /* yacc.c:1646 */
break;
case 993:
#line 6743 "gram.y" /* yacc.c:1646 */
{ (yyval.objtype) = OBJECT_SEQUENCE; }
#line 33371 "gram.c" /* yacc.c:1646 */
break;
case 994:
#line 6744 "gram.y" /* yacc.c:1646 */
{ (yyval.objtype) = OBJECT_TABLE; }
#line 33377 "gram.c" /* yacc.c:1646 */
break;
case 995:
#line 6745 "gram.y" /* yacc.c:1646 */
{ (yyval.objtype) = OBJECT_VIEW; }
#line 33383 "gram.c" /* yacc.c:1646 */
break;
case 996:
#line 6746 "gram.y" /* yacc.c:1646 */
{ (yyval.objtype) = OBJECT_MATVIEW; }
#line 33389 "gram.c" /* yacc.c:1646 */
break;
case 997:
#line 6751 "gram.y" /* yacc.c:1646 */
{ (yyval.objtype) = OBJECT_DATABASE; }
#line 33395 "gram.c" /* yacc.c:1646 */
break;
case 998:
#line 6752 "gram.y" /* yacc.c:1646 */
{ (yyval.objtype) = OBJECT_EVENT_TRIGGER; }
#line 33401 "gram.c" /* yacc.c:1646 */
break;
case 999:
#line 6753 "gram.y" /* yacc.c:1646 */
{ (yyval.objtype) = OBJECT_LANGUAGE; }
#line 33407 "gram.c" /* yacc.c:1646 */
break;
case 1000:
#line 6754 "gram.y" /* yacc.c:1646 */
{ (yyval.objtype) = OBJECT_PUBLICATION; }
#line 33413 "gram.c" /* yacc.c:1646 */
break;
case 1001:
#line 6755 "gram.y" /* yacc.c:1646 */
{ (yyval.objtype) = OBJECT_ROLE; }
#line 33419 "gram.c" /* yacc.c:1646 */
break;
case 1002:
#line 6756 "gram.y" /* yacc.c:1646 */
{ (yyval.objtype) = OBJECT_SCHEMA; }
#line 33425 "gram.c" /* yacc.c:1646 */
break;
case 1003:
#line 6757 "gram.y" /* yacc.c:1646 */
{ (yyval.objtype) = OBJECT_SUBSCRIPTION; }
#line 33431 "gram.c" /* yacc.c:1646 */
break;
case 1004:
#line 6758 "gram.y" /* yacc.c:1646 */
{ (yyval.objtype) = OBJECT_TABLESPACE; }
#line 33437 "gram.c" /* yacc.c:1646 */
break;
case 1005:
#line 6761 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = (yyvsp[0].str); }
#line 33443 "gram.c" /* yacc.c:1646 */
break;
case 1006:
#line 6762 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = NULL; }
#line 33449 "gram.c" /* yacc.c:1646 */
break;
case 1007:
#line 6773 "gram.y" /* yacc.c:1646 */
{
FetchStmt *n = (FetchStmt *) (yyvsp[0].node);
n->ismove = false;
(yyval.node) = (Node *)n;
}
#line 33459 "gram.c" /* yacc.c:1646 */
break;
case 1008:
#line 6779 "gram.y" /* yacc.c:1646 */
{
FetchStmt *n = (FetchStmt *) (yyvsp[0].node);
n->ismove = true;
(yyval.node) = (Node *)n;
}
#line 33469 "gram.c" /* yacc.c:1646 */
break;
case 1009:
#line 6787 "gram.y" /* yacc.c:1646 */
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[0].str);
n->direction = FETCH_FORWARD;
n->howMany = 1;
(yyval.node) = (Node *)n;
}
#line 33481 "gram.c" /* yacc.c:1646 */
break;
case 1010:
#line 6795 "gram.y" /* yacc.c:1646 */
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[0].str);
n->direction = FETCH_FORWARD;
n->howMany = 1;
(yyval.node) = (Node *)n;
}
#line 33493 "gram.c" /* yacc.c:1646 */
break;
case 1011:
#line 6803 "gram.y" /* yacc.c:1646 */
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[0].str);
n->direction = FETCH_FORWARD;
n->howMany = 1;
(yyval.node) = (Node *)n;
}
#line 33505 "gram.c" /* yacc.c:1646 */
break;
case 1012:
#line 6811 "gram.y" /* yacc.c:1646 */
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[0].str);
n->direction = FETCH_BACKWARD;
n->howMany = 1;
(yyval.node) = (Node *)n;
}
#line 33517 "gram.c" /* yacc.c:1646 */
break;
case 1013:
#line 6819 "gram.y" /* yacc.c:1646 */
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[0].str);
n->direction = FETCH_ABSOLUTE;
n->howMany = 1;
(yyval.node) = (Node *)n;
}
#line 33529 "gram.c" /* yacc.c:1646 */
break;
case 1014:
#line 6827 "gram.y" /* yacc.c:1646 */
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[0].str);
n->direction = FETCH_ABSOLUTE;
n->howMany = -1;
(yyval.node) = (Node *)n;
}
#line 33541 "gram.c" /* yacc.c:1646 */
break;
case 1015:
#line 6835 "gram.y" /* yacc.c:1646 */
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[0].str);
n->direction = FETCH_ABSOLUTE;
n->howMany = (yyvsp[-2].ival);
(yyval.node) = (Node *)n;
}
#line 33553 "gram.c" /* yacc.c:1646 */
break;
case 1016:
#line 6843 "gram.y" /* yacc.c:1646 */
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[0].str);
n->direction = FETCH_RELATIVE;
n->howMany = (yyvsp[-2].ival);
(yyval.node) = (Node *)n;
}
#line 33565 "gram.c" /* yacc.c:1646 */
break;
case 1017:
#line 6851 "gram.y" /* yacc.c:1646 */
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[0].str);
n->direction = FETCH_FORWARD;
n->howMany = (yyvsp[-2].ival);
(yyval.node) = (Node *)n;
}
#line 33577 "gram.c" /* yacc.c:1646 */
break;
case 1018:
#line 6859 "gram.y" /* yacc.c:1646 */
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[0].str);
n->direction = FETCH_FORWARD;
n->howMany = FETCH_ALL;
(yyval.node) = (Node *)n;
}
#line 33589 "gram.c" /* yacc.c:1646 */
break;
case 1019:
#line 6867 "gram.y" /* yacc.c:1646 */
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[0].str);
n->direction = FETCH_FORWARD;
n->howMany = 1;
(yyval.node) = (Node *)n;
}
#line 33601 "gram.c" /* yacc.c:1646 */
break;
case 1020:
#line 6875 "gram.y" /* yacc.c:1646 */
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[0].str);
n->direction = FETCH_FORWARD;
n->howMany = (yyvsp[-2].ival);
(yyval.node) = (Node *)n;
}
#line 33613 "gram.c" /* yacc.c:1646 */
break;
case 1021:
#line 6883 "gram.y" /* yacc.c:1646 */
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[0].str);
n->direction = FETCH_FORWARD;
n->howMany = FETCH_ALL;
(yyval.node) = (Node *)n;
}
#line 33625 "gram.c" /* yacc.c:1646 */
break;
case 1022:
#line 6891 "gram.y" /* yacc.c:1646 */
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[0].str);
n->direction = FETCH_BACKWARD;
n->howMany = 1;
(yyval.node) = (Node *)n;
}
#line 33637 "gram.c" /* yacc.c:1646 */
break;
case 1023:
#line 6899 "gram.y" /* yacc.c:1646 */
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[0].str);
n->direction = FETCH_BACKWARD;
n->howMany = (yyvsp[-2].ival);
(yyval.node) = (Node *)n;
}
#line 33649 "gram.c" /* yacc.c:1646 */
break;
case 1024:
#line 6907 "gram.y" /* yacc.c:1646 */
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[0].str);
n->direction = FETCH_BACKWARD;
n->howMany = FETCH_ALL;
(yyval.node) = (Node *)n;
}
#line 33661 "gram.c" /* yacc.c:1646 */
break;
case 1025:
#line 6916 "gram.y" /* yacc.c:1646 */
{}
#line 33667 "gram.c" /* yacc.c:1646 */
break;
case 1026:
#line 6917 "gram.y" /* yacc.c:1646 */
{}
#line 33673 "gram.c" /* yacc.c:1646 */
break;
case 1027:
#line 6920 "gram.y" /* yacc.c:1646 */
{}
#line 33679 "gram.c" /* yacc.c:1646 */
break;
case 1028:
#line 6921 "gram.y" /* yacc.c:1646 */
{}
#line 33685 "gram.c" /* yacc.c:1646 */
break;
case 1029:
#line 6933 "gram.y" /* yacc.c:1646 */
{
GrantStmt *n = makeNode(GrantStmt);
n->is_grant = true;
n->privileges = (yyvsp[-5].list);
n->targtype = ((yyvsp[-3].privtarget))->targtype;
n->objtype = ((yyvsp[-3].privtarget))->objtype;
n->objects = ((yyvsp[-3].privtarget))->objs;
n->grantees = (yyvsp[-1].list);
n->grant_option = (yyvsp[0].boolean);
(yyval.node) = (Node*)n;
}
#line 33701 "gram.c" /* yacc.c:1646 */
break;
case 1030:
#line 6949 "gram.y" /* yacc.c:1646 */
{
GrantStmt *n = makeNode(GrantStmt);
n->is_grant = false;
n->grant_option = false;
n->privileges = (yyvsp[-5].list);
n->targtype = ((yyvsp[-3].privtarget))->targtype;
n->objtype = ((yyvsp[-3].privtarget))->objtype;
n->objects = ((yyvsp[-3].privtarget))->objs;
n->grantees = (yyvsp[-1].list);
n->behavior = (yyvsp[0].dbehavior);
(yyval.node) = (Node *)n;
}
#line 33718 "gram.c" /* yacc.c:1646 */
break;
case 1031:
#line 6963 "gram.y" /* yacc.c:1646 */
{
GrantStmt *n = makeNode(GrantStmt);
n->is_grant = false;
n->grant_option = true;
n->privileges = (yyvsp[-5].list);
n->targtype = ((yyvsp[-3].privtarget))->targtype;
n->objtype = ((yyvsp[-3].privtarget))->objtype;
n->objects = ((yyvsp[-3].privtarget))->objs;
n->grantees = (yyvsp[-1].list);
n->behavior = (yyvsp[0].dbehavior);
(yyval.node) = (Node *)n;
}
#line 33735 "gram.c" /* yacc.c:1646 */
break;
case 1032:
#line 6988 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[0].list); }
#line 33741 "gram.c" /* yacc.c:1646 */
break;
case 1033:
#line 6990 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 33747 "gram.c" /* yacc.c:1646 */
break;
case 1034:
#line 6992 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 33753 "gram.c" /* yacc.c:1646 */
break;
case 1035:
#line 6994 "gram.y" /* yacc.c:1646 */
{
AccessPriv *n = makeNode(AccessPriv);
n->priv_name = NULL;
n->cols = (yyvsp[-1].list);
(yyval.list) = list_make1(n);
}
#line 33764 "gram.c" /* yacc.c:1646 */
break;
case 1036:
#line 7001 "gram.y" /* yacc.c:1646 */
{
AccessPriv *n = makeNode(AccessPriv);
n->priv_name = NULL;
n->cols = (yyvsp[-1].list);
(yyval.list) = list_make1(n);
}
#line 33775 "gram.c" /* yacc.c:1646 */
break;
case 1037:
#line 7009 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1((yyvsp[0].accesspriv)); }
#line 33781 "gram.c" /* yacc.c:1646 */
break;
case 1038:
#line 7010 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].accesspriv)); }
#line 33787 "gram.c" /* yacc.c:1646 */
break;
case 1039:
#line 7014 "gram.y" /* yacc.c:1646 */
{
AccessPriv *n = makeNode(AccessPriv);
n->priv_name = pstrdup((yyvsp[-1].keyword));
n->cols = (yyvsp[0].list);
(yyval.accesspriv) = n;
}
#line 33798 "gram.c" /* yacc.c:1646 */
break;
case 1040:
#line 7021 "gram.y" /* yacc.c:1646 */
{
AccessPriv *n = makeNode(AccessPriv);
n->priv_name = pstrdup((yyvsp[-1].keyword));
n->cols = (yyvsp[0].list);
(yyval.accesspriv) = n;
}
#line 33809 "gram.c" /* yacc.c:1646 */
break;
case 1041:
#line 7028 "gram.y" /* yacc.c:1646 */
{
AccessPriv *n = makeNode(AccessPriv);
n->priv_name = pstrdup((yyvsp[-1].keyword));
n->cols = (yyvsp[0].list);
(yyval.accesspriv) = n;
}
#line 33820 "gram.c" /* yacc.c:1646 */
break;
case 1042:
#line 7035 "gram.y" /* yacc.c:1646 */
{
AccessPriv *n = makeNode(AccessPriv);
n->priv_name = (yyvsp[-1].str);
n->cols = (yyvsp[0].list);
(yyval.accesspriv) = n;
}
#line 33831 "gram.c" /* yacc.c:1646 */
break;
case 1043:
#line 7049 "gram.y" /* yacc.c:1646 */
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
n->objtype = OBJECT_TABLE;
n->objs = (yyvsp[0].list);
(yyval.privtarget) = n;
}
#line 33843 "gram.c" /* yacc.c:1646 */
break;
case 1044:
#line 7057 "gram.y" /* yacc.c:1646 */
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
n->objtype = OBJECT_TABLE;
n->objs = (yyvsp[0].list);
(yyval.privtarget) = n;
}
#line 33855 "gram.c" /* yacc.c:1646 */
break;
case 1045:
#line 7065 "gram.y" /* yacc.c:1646 */
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
n->objtype = OBJECT_SEQUENCE;
n->objs = (yyvsp[0].list);
(yyval.privtarget) = n;
}
#line 33867 "gram.c" /* yacc.c:1646 */
break;
case 1046:
#line 7073 "gram.y" /* yacc.c:1646 */
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
n->objtype = OBJECT_FDW;
n->objs = (yyvsp[0].list);
(yyval.privtarget) = n;
}
#line 33879 "gram.c" /* yacc.c:1646 */
break;
case 1047:
#line 7081 "gram.y" /* yacc.c:1646 */
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
n->objtype = OBJECT_FOREIGN_SERVER;
n->objs = (yyvsp[0].list);
(yyval.privtarget) = n;
}
#line 33891 "gram.c" /* yacc.c:1646 */
break;
case 1048:
#line 7089 "gram.y" /* yacc.c:1646 */
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
n->objtype = OBJECT_FUNCTION;
n->objs = (yyvsp[0].list);
(yyval.privtarget) = n;
}
#line 33903 "gram.c" /* yacc.c:1646 */
break;
case 1049:
#line 7097 "gram.y" /* yacc.c:1646 */
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
n->objtype = OBJECT_PROCEDURE;
n->objs = (yyvsp[0].list);
(yyval.privtarget) = n;
}
#line 33915 "gram.c" /* yacc.c:1646 */
break;
case 1050:
#line 7105 "gram.y" /* yacc.c:1646 */
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
n->objtype = OBJECT_ROUTINE;
n->objs = (yyvsp[0].list);
(yyval.privtarget) = n;
}
#line 33927 "gram.c" /* yacc.c:1646 */
break;
case 1051:
#line 7113 "gram.y" /* yacc.c:1646 */
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
n->objtype = OBJECT_DATABASE;
n->objs = (yyvsp[0].list);
(yyval.privtarget) = n;
}
#line 33939 "gram.c" /* yacc.c:1646 */
break;
case 1052:
#line 7121 "gram.y" /* yacc.c:1646 */
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
n->objtype = OBJECT_DOMAIN;
n->objs = (yyvsp[0].list);
(yyval.privtarget) = n;
}
#line 33951 "gram.c" /* yacc.c:1646 */
break;
case 1053:
#line 7129 "gram.y" /* yacc.c:1646 */
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
n->objtype = OBJECT_LANGUAGE;
n->objs = (yyvsp[0].list);
(yyval.privtarget) = n;
}
#line 33963 "gram.c" /* yacc.c:1646 */
break;
case 1054:
#line 7137 "gram.y" /* yacc.c:1646 */
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
n->objtype = OBJECT_LARGEOBJECT;
n->objs = (yyvsp[0].list);
(yyval.privtarget) = n;
}
#line 33975 "gram.c" /* yacc.c:1646 */
break;
case 1055:
#line 7145 "gram.y" /* yacc.c:1646 */
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
n->objtype = OBJECT_SCHEMA;
n->objs = (yyvsp[0].list);
(yyval.privtarget) = n;
}
#line 33987 "gram.c" /* yacc.c:1646 */
break;
case 1056:
#line 7153 "gram.y" /* yacc.c:1646 */
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
n->objtype = OBJECT_TABLESPACE;
n->objs = (yyvsp[0].list);
(yyval.privtarget) = n;
}
#line 33999 "gram.c" /* yacc.c:1646 */
break;
case 1057:
#line 7161 "gram.y" /* yacc.c:1646 */
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
n->objtype = OBJECT_TYPE;
n->objs = (yyvsp[0].list);
(yyval.privtarget) = n;
}
#line 34011 "gram.c" /* yacc.c:1646 */
break;
case 1058:
#line 7169 "gram.y" /* yacc.c:1646 */
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
n->objtype = OBJECT_TABLE;
n->objs = (yyvsp[0].list);
(yyval.privtarget) = n;
}
#line 34023 "gram.c" /* yacc.c:1646 */
break;
case 1059:
#line 7177 "gram.y" /* yacc.c:1646 */
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
n->objtype = OBJECT_SEQUENCE;
n->objs = (yyvsp[0].list);
(yyval.privtarget) = n;
}
#line 34035 "gram.c" /* yacc.c:1646 */
break;
case 1060:
#line 7185 "gram.y" /* yacc.c:1646 */
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
n->objtype = OBJECT_FUNCTION;
n->objs = (yyvsp[0].list);
(yyval.privtarget) = n;
}
#line 34047 "gram.c" /* yacc.c:1646 */
break;
case 1061:
#line 7193 "gram.y" /* yacc.c:1646 */
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
n->objtype = OBJECT_PROCEDURE;
n->objs = (yyvsp[0].list);
(yyval.privtarget) = n;
}
#line 34059 "gram.c" /* yacc.c:1646 */
break;
case 1062:
#line 7201 "gram.y" /* yacc.c:1646 */
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
n->objtype = OBJECT_ROUTINE;
n->objs = (yyvsp[0].list);
(yyval.privtarget) = n;
}
#line 34071 "gram.c" /* yacc.c:1646 */
break;
case 1063:
#line 7212 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1((yyvsp[0].rolespec)); }
#line 34077 "gram.c" /* yacc.c:1646 */
break;
case 1064:
#line 7213 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].rolespec)); }
#line 34083 "gram.c" /* yacc.c:1646 */
break;
case 1065:
#line 7217 "gram.y" /* yacc.c:1646 */
{ (yyval.rolespec) = (yyvsp[0].rolespec); }
#line 34089 "gram.c" /* yacc.c:1646 */
break;
case 1066:
#line 7218 "gram.y" /* yacc.c:1646 */
{ (yyval.rolespec) = (yyvsp[0].rolespec); }
#line 34095 "gram.c" /* yacc.c:1646 */
break;
case 1067:
#line 7223 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = true; }
#line 34101 "gram.c" /* yacc.c:1646 */
break;
case 1068:
#line 7224 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = false; }
#line 34107 "gram.c" /* yacc.c:1646 */
break;
case 1069:
#line 7235 "gram.y" /* yacc.c:1646 */
{
GrantRoleStmt *n = makeNode(GrantRoleStmt);
n->is_grant = true;
n->granted_roles = (yyvsp[-4].list);
n->grantee_roles = (yyvsp[-2].list);
n->admin_opt = (yyvsp[-1].boolean);
n->grantor = (yyvsp[0].rolespec);
(yyval.node) = (Node*)n;
}
#line 34121 "gram.c" /* yacc.c:1646 */
break;
case 1070:
#line 7248 "gram.y" /* yacc.c:1646 */
{
GrantRoleStmt *n = makeNode(GrantRoleStmt);
n->is_grant = false;
n->admin_opt = false;
n->granted_roles = (yyvsp[-4].list);
n->grantee_roles = (yyvsp[-2].list);
n->behavior = (yyvsp[0].dbehavior);
(yyval.node) = (Node*)n;
}
#line 34135 "gram.c" /* yacc.c:1646 */
break;
case 1071:
#line 7258 "gram.y" /* yacc.c:1646 */
{
GrantRoleStmt *n = makeNode(GrantRoleStmt);
n->is_grant = false;
n->admin_opt = true;
n->granted_roles = (yyvsp[-4].list);
n->grantee_roles = (yyvsp[-2].list);
n->behavior = (yyvsp[0].dbehavior);
(yyval.node) = (Node*)n;
}
#line 34149 "gram.c" /* yacc.c:1646 */
break;
case 1072:
#line 7269 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = true; }
#line 34155 "gram.c" /* yacc.c:1646 */
break;
case 1073:
#line 7270 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = false; }
#line 34161 "gram.c" /* yacc.c:1646 */
break;
case 1074:
#line 7273 "gram.y" /* yacc.c:1646 */
{ (yyval.rolespec) = (yyvsp[0].rolespec); }
#line 34167 "gram.c" /* yacc.c:1646 */
break;
case 1075:
#line 7274 "gram.y" /* yacc.c:1646 */
{ (yyval.rolespec) = NULL; }
#line 34173 "gram.c" /* yacc.c:1646 */
break;
case 1076:
#line 7285 "gram.y" /* yacc.c:1646 */
{
AlterDefaultPrivilegesStmt *n = makeNode(AlterDefaultPrivilegesStmt);
n->options = (yyvsp[-1].list);
n->action = (GrantStmt *) (yyvsp[0].node);
(yyval.node) = (Node*)n;
}
#line 34184 "gram.c" /* yacc.c:1646 */
break;
case 1077:
#line 7294 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
#line 34190 "gram.c" /* yacc.c:1646 */
break;
case 1078:
#line 7295 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 34196 "gram.c" /* yacc.c:1646 */
break;
case 1079:
#line 7300 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("schemas", (Node *)(yyvsp[0].list), (yylsp[-2]));
}
#line 34204 "gram.c" /* yacc.c:1646 */
break;
case 1080:
#line 7304 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("roles", (Node *)(yyvsp[0].list), (yylsp[-2]));
}
#line 34212 "gram.c" /* yacc.c:1646 */
break;
case 1081:
#line 7308 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("roles", (Node *)(yyvsp[0].list), (yylsp[-2]));
}
#line 34220 "gram.c" /* yacc.c:1646 */
break;
case 1082:
#line 7320 "gram.y" /* yacc.c:1646 */
{
GrantStmt *n = makeNode(GrantStmt);
n->is_grant = true;
n->privileges = (yyvsp[-5].list);
n->targtype = ACL_TARGET_DEFAULTS;
n->objtype = (yyvsp[-3].ival);
n->objects = NIL;
n->grantees = (yyvsp[-1].list);
n->grant_option = (yyvsp[0].boolean);
(yyval.node) = (Node*)n;
}
#line 34236 "gram.c" /* yacc.c:1646 */
break;
case 1083:
#line 7333 "gram.y" /* yacc.c:1646 */
{
GrantStmt *n = makeNode(GrantStmt);
n->is_grant = false;
n->grant_option = false;
n->privileges = (yyvsp[-5].list);
n->targtype = ACL_TARGET_DEFAULTS;
n->objtype = (yyvsp[-3].ival);
n->objects = NIL;
n->grantees = (yyvsp[-1].list);
n->behavior = (yyvsp[0].dbehavior);
(yyval.node) = (Node *)n;
}
#line 34253 "gram.c" /* yacc.c:1646 */
break;
case 1084:
#line 7347 "gram.y" /* yacc.c:1646 */
{
GrantStmt *n = makeNode(GrantStmt);
n->is_grant = false;
n->grant_option = true;
n->privileges = (yyvsp[-5].list);
n->targtype = ACL_TARGET_DEFAULTS;
n->objtype = (yyvsp[-3].ival);
n->objects = NIL;
n->grantees = (yyvsp[-1].list);
n->behavior = (yyvsp[0].dbehavior);
(yyval.node) = (Node *)n;
}
#line 34270 "gram.c" /* yacc.c:1646 */
break;
case 1085:
#line 7362 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = OBJECT_TABLE; }
#line 34276 "gram.c" /* yacc.c:1646 */
break;
case 1086:
#line 7363 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = OBJECT_FUNCTION; }
#line 34282 "gram.c" /* yacc.c:1646 */
break;
case 1087:
#line 7364 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = OBJECT_FUNCTION; }
#line 34288 "gram.c" /* yacc.c:1646 */
break;
case 1088:
#line 7365 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = OBJECT_SEQUENCE; }
#line 34294 "gram.c" /* yacc.c:1646 */
break;
case 1089:
#line 7366 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = OBJECT_TYPE; }
#line 34300 "gram.c" /* yacc.c:1646 */
break;
case 1090:
#line 7367 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = OBJECT_SCHEMA; }
#line 34306 "gram.c" /* yacc.c:1646 */
break;
case 1091:
#line 7382 "gram.y" /* yacc.c:1646 */
{
IndexStmt *n = makeNode(IndexStmt);
n->unique = (yyvsp[-13].boolean);
n->concurrent = (yyvsp[-11].boolean);
n->idxname = (yyvsp[-10].str);
n->relation = (yyvsp[-8].range);
n->relationId = InvalidOid;
n->accessMethod = (yyvsp[-7].str);
n->indexParams = (yyvsp[-5].list);
n->indexIncludingParams = (yyvsp[-3].list);
n->options = (yyvsp[-2].list);
n->tableSpace = (yyvsp[-1].str);
n->whereClause = (yyvsp[0].node);
n->excludeOpNames = NIL;
n->idxcomment = NULL;
n->indexOid = InvalidOid;
n->oldNode = InvalidOid;
n->primary = false;
n->isconstraint = false;
n->deferrable = false;
n->initdeferred = false;
n->transformed = false;
n->if_not_exists = false;
(yyval.node) = (Node *)n;
}
#line 34336 "gram.c" /* yacc.c:1646 */
break;
case 1092:
#line 7410 "gram.y" /* yacc.c:1646 */
{
IndexStmt *n = makeNode(IndexStmt);
n->unique = (yyvsp[-16].boolean);
n->concurrent = (yyvsp[-14].boolean);
n->idxname = (yyvsp[-10].str);
n->relation = (yyvsp[-8].range);
n->relationId = InvalidOid;
n->accessMethod = (yyvsp[-7].str);
n->indexParams = (yyvsp[-5].list);
n->indexIncludingParams = (yyvsp[-3].list);
n->options = (yyvsp[-2].list);
n->tableSpace = (yyvsp[-1].str);
n->whereClause = (yyvsp[0].node);
n->excludeOpNames = NIL;
n->idxcomment = NULL;
n->indexOid = InvalidOid;
n->oldNode = InvalidOid;
n->primary = false;
n->isconstraint = false;
n->deferrable = false;
n->initdeferred = false;
n->transformed = false;
n->if_not_exists = true;
(yyval.node) = (Node *)n;
}
#line 34366 "gram.c" /* yacc.c:1646 */
break;
case 1093:
#line 7438 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = true; }
#line 34372 "gram.c" /* yacc.c:1646 */
break;
case 1094:
#line 7439 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = false; }
#line 34378 "gram.c" /* yacc.c:1646 */
break;
case 1095:
#line 7443 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = true; }
#line 34384 "gram.c" /* yacc.c:1646 */
break;
case 1096:
#line 7444 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = false; }
#line 34390 "gram.c" /* yacc.c:1646 */
break;
case 1097:
#line 7448 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = (yyvsp[0].str); }
#line 34396 "gram.c" /* yacc.c:1646 */
break;
case 1098:
#line 7449 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = NULL; }
#line 34402 "gram.c" /* yacc.c:1646 */
break;
case 1099:
#line 7453 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = (yyvsp[0].str); }
#line 34408 "gram.c" /* yacc.c:1646 */
break;
case 1100:
#line 7454 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = DEFAULT_INDEX_TYPE; }
#line 34414 "gram.c" /* yacc.c:1646 */
break;
case 1101:
#line 7457 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1((yyvsp[0].ielem)); }
#line 34420 "gram.c" /* yacc.c:1646 */
break;
case 1102:
#line 7458 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].ielem)); }
#line 34426 "gram.c" /* yacc.c:1646 */
break;
case 1103:
#line 7467 "gram.y" /* yacc.c:1646 */
{
(yyval.ielem) = makeNode(IndexElem);
(yyval.ielem)->name = (yyvsp[-4].str);
(yyval.ielem)->expr = NULL;
(yyval.ielem)->indexcolname = NULL;
(yyval.ielem)->collation = (yyvsp[-3].list);
(yyval.ielem)->opclass = (yyvsp[-2].list);
(yyval.ielem)->ordering = (yyvsp[-1].ival);
(yyval.ielem)->nulls_ordering = (yyvsp[0].ival);
}
#line 34441 "gram.c" /* yacc.c:1646 */
break;
case 1104:
#line 7478 "gram.y" /* yacc.c:1646 */
{
(yyval.ielem) = makeNode(IndexElem);
(yyval.ielem)->name = NULL;
(yyval.ielem)->expr = (yyvsp[-4].node);
(yyval.ielem)->indexcolname = NULL;
(yyval.ielem)->collation = (yyvsp[-3].list);
(yyval.ielem)->opclass = (yyvsp[-2].list);
(yyval.ielem)->ordering = (yyvsp[-1].ival);
(yyval.ielem)->nulls_ordering = (yyvsp[0].ival);
}
#line 34456 "gram.c" /* yacc.c:1646 */
break;
case 1105:
#line 7489 "gram.y" /* yacc.c:1646 */
{
(yyval.ielem) = makeNode(IndexElem);
(yyval.ielem)->name = NULL;
(yyval.ielem)->expr = (yyvsp[-5].node);
(yyval.ielem)->indexcolname = NULL;
(yyval.ielem)->collation = (yyvsp[-3].list);
(yyval.ielem)->opclass = (yyvsp[-2].list);
(yyval.ielem)->ordering = (yyvsp[-1].ival);
(yyval.ielem)->nulls_ordering = (yyvsp[0].ival);
}
#line 34471 "gram.c" /* yacc.c:1646 */
break;
case 1106:
#line 7501 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 34477 "gram.c" /* yacc.c:1646 */
break;
case 1107:
#line 7502 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 34483 "gram.c" /* yacc.c:1646 */
break;
case 1108:
#line 7505 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1((yyvsp[0].ielem)); }
#line 34489 "gram.c" /* yacc.c:1646 */
break;
case 1109:
#line 7506 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].ielem)); }
#line 34495 "gram.c" /* yacc.c:1646 */
break;
case 1110:
#line 7509 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[0].list); }
#line 34501 "gram.c" /* yacc.c:1646 */
break;
case 1111:
#line 7510 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 34507 "gram.c" /* yacc.c:1646 */
break;
case 1112:
#line 7513 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[0].list); }
#line 34513 "gram.c" /* yacc.c:1646 */
break;
case 1113:
#line 7514 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 34519 "gram.c" /* yacc.c:1646 */
break;
case 1114:
#line 7517 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = SORTBY_ASC; }
#line 34525 "gram.c" /* yacc.c:1646 */
break;
case 1115:
#line 7518 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = SORTBY_DESC; }
#line 34531 "gram.c" /* yacc.c:1646 */
break;
case 1116:
#line 7519 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = SORTBY_DEFAULT; }
#line 34537 "gram.c" /* yacc.c:1646 */
break;
case 1117:
#line 7522 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = SORTBY_NULLS_FIRST; }
#line 34543 "gram.c" /* yacc.c:1646 */
break;
case 1118:
#line 7523 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = SORTBY_NULLS_LAST; }
#line 34549 "gram.c" /* yacc.c:1646 */
break;
case 1119:
#line 7524 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = SORTBY_NULLS_DEFAULT; }
#line 34555 "gram.c" /* yacc.c:1646 */
break;
case 1120:
#line 7542 "gram.y" /* yacc.c:1646 */
{
CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
n->is_procedure = false;
n->replace = (yyvsp[-6].boolean);
n->funcname = (yyvsp[-4].list);
n->parameters = (yyvsp[-3].list);
n->returnType = (yyvsp[-1].typnam);
n->options = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 34570 "gram.c" /* yacc.c:1646 */
break;
case 1121:
#line 7554 "gram.y" /* yacc.c:1646 */
{
CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
n->is_procedure = false;
n->replace = (yyvsp[-9].boolean);
n->funcname = (yyvsp[-7].list);
n->parameters = mergeTableFuncParameters((yyvsp[-6].list), (yyvsp[-2].list));
n->returnType = TableFuncTypeName((yyvsp[-2].list));
n->returnType->location = (yylsp[-4]);
n->options = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 34586 "gram.c" /* yacc.c:1646 */
break;
case 1122:
#line 7567 "gram.y" /* yacc.c:1646 */
{
CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
n->is_procedure = false;
n->replace = (yyvsp[-4].boolean);
n->funcname = (yyvsp[-2].list);
n->parameters = (yyvsp[-1].list);
n->returnType = NULL;
n->options = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 34601 "gram.c" /* yacc.c:1646 */
break;
case 1123:
#line 7579 "gram.y" /* yacc.c:1646 */
{
CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
n->is_procedure = true;
n->replace = (yyvsp[-4].boolean);
n->funcname = (yyvsp[-2].list);
n->parameters = (yyvsp[-1].list);
n->returnType = NULL;
n->options = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 34616 "gram.c" /* yacc.c:1646 */
break;
case 1124:
#line 7592 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = true; }
#line 34622 "gram.c" /* yacc.c:1646 */
break;
case 1125:
#line 7593 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = false; }
#line 34628 "gram.c" /* yacc.c:1646 */
break;
case 1126:
#line 7596 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 34634 "gram.c" /* yacc.c:1646 */
break;
case 1127:
#line 7597 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 34640 "gram.c" /* yacc.c:1646 */
break;
case 1128:
#line 7601 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1((yyvsp[0].fun_param)); }
#line 34646 "gram.c" /* yacc.c:1646 */
break;
case 1129:
#line 7602 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param)); }
#line 34652 "gram.c" /* yacc.c:1646 */
break;
case 1130:
#line 7606 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1((yyvsp[0].objwithargs)); }
#line 34658 "gram.c" /* yacc.c:1646 */
break;
case 1131:
#line 7608 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].objwithargs)); }
#line 34664 "gram.c" /* yacc.c:1646 */
break;
case 1132:
#line 7613 "gram.y" /* yacc.c:1646 */
{
ObjectWithArgs *n = makeNode(ObjectWithArgs);
n->objname = (yyvsp[-1].list);
n->objargs = extractArgTypes((yyvsp[0].list));
(yyval.objwithargs) = n;
}
#line 34675 "gram.c" /* yacc.c:1646 */
break;
case 1133:
#line 7625 "gram.y" /* yacc.c:1646 */
{
ObjectWithArgs *n = makeNode(ObjectWithArgs);
n->objname = list_make1(makeString(pstrdup((yyvsp[0].keyword))));
n->args_unspecified = true;
(yyval.objwithargs) = n;
}
#line 34686 "gram.c" /* yacc.c:1646 */
break;
case 1134:
#line 7632 "gram.y" /* yacc.c:1646 */
{
ObjectWithArgs *n = makeNode(ObjectWithArgs);
n->objname = list_make1(makeString((yyvsp[0].str)));
n->args_unspecified = true;
(yyval.objwithargs) = n;
}
#line 34697 "gram.c" /* yacc.c:1646 */
break;
case 1135:
#line 7639 "gram.y" /* yacc.c:1646 */
{
ObjectWithArgs *n = makeNode(ObjectWithArgs);
n->objname = check_func_name(lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)),
yyscanner);
n->args_unspecified = true;
(yyval.objwithargs) = n;
}
#line 34709 "gram.c" /* yacc.c:1646 */
break;
case 1136:
#line 7653 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 34715 "gram.c" /* yacc.c:1646 */
break;
case 1137:
#line 7654 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 34721 "gram.c" /* yacc.c:1646 */
break;
case 1138:
#line 7658 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1((yyvsp[0].fun_param)); }
#line 34727 "gram.c" /* yacc.c:1646 */
break;
case 1139:
#line 7660 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param)); }
#line 34733 "gram.c" /* yacc.c:1646 */
break;
case 1140:
#line 7675 "gram.y" /* yacc.c:1646 */
{
FunctionParameter *n = makeNode(FunctionParameter);
n->name = (yyvsp[-1].str);
n->argType = (yyvsp[0].typnam);
n->mode = (yyvsp[-2].fun_param_mode);
n->defexpr = NULL;
(yyval.fun_param) = n;
}
#line 34746 "gram.c" /* yacc.c:1646 */
break;
case 1141:
#line 7684 "gram.y" /* yacc.c:1646 */
{
FunctionParameter *n = makeNode(FunctionParameter);
n->name = (yyvsp[-2].str);
n->argType = (yyvsp[0].typnam);
n->mode = (yyvsp[-1].fun_param_mode);
n->defexpr = NULL;
(yyval.fun_param) = n;
}
#line 34759 "gram.c" /* yacc.c:1646 */
break;
case 1142:
#line 7693 "gram.y" /* yacc.c:1646 */
{
FunctionParameter *n = makeNode(FunctionParameter);
n->name = (yyvsp[-1].str);
n->argType = (yyvsp[0].typnam);
n->mode = FUNC_PARAM_IN;
n->defexpr = NULL;
(yyval.fun_param) = n;
}
#line 34772 "gram.c" /* yacc.c:1646 */
break;
case 1143:
#line 7702 "gram.y" /* yacc.c:1646 */
{
FunctionParameter *n = makeNode(FunctionParameter);
n->name = NULL;
n->argType = (yyvsp[0].typnam);
n->mode = (yyvsp[-1].fun_param_mode);
n->defexpr = NULL;
(yyval.fun_param) = n;
}
#line 34785 "gram.c" /* yacc.c:1646 */
break;
case 1144:
#line 7711 "gram.y" /* yacc.c:1646 */
{
FunctionParameter *n = makeNode(FunctionParameter);
n->name = NULL;
n->argType = (yyvsp[0].typnam);
n->mode = FUNC_PARAM_IN;
n->defexpr = NULL;
(yyval.fun_param) = n;
}
#line 34798 "gram.c" /* yacc.c:1646 */
break;
case 1145:
#line 7722 "gram.y" /* yacc.c:1646 */
{ (yyval.fun_param_mode) = FUNC_PARAM_IN; }
#line 34804 "gram.c" /* yacc.c:1646 */
break;
case 1146:
#line 7723 "gram.y" /* yacc.c:1646 */
{ (yyval.fun_param_mode) = FUNC_PARAM_OUT; }
#line 34810 "gram.c" /* yacc.c:1646 */
break;
case 1147:
#line 7724 "gram.y" /* yacc.c:1646 */
{ (yyval.fun_param_mode) = FUNC_PARAM_INOUT; }
#line 34816 "gram.c" /* yacc.c:1646 */
break;
case 1148:
#line 7725 "gram.y" /* yacc.c:1646 */
{ (yyval.fun_param_mode) = FUNC_PARAM_INOUT; }
#line 34822 "gram.c" /* yacc.c:1646 */
break;
case 1149:
#line 7726 "gram.y" /* yacc.c:1646 */
{ (yyval.fun_param_mode) = FUNC_PARAM_VARIADIC; }
#line 34828 "gram.c" /* yacc.c:1646 */
break;
case 1151:
#line 7737 "gram.y" /* yacc.c:1646 */
{
/* We can catch over-specified results here if we want to,
* but for now better to silently swallow typmod, etc.
* - thomas 2000-03-22
*/
(yyval.typnam) = (yyvsp[0].typnam);
}
#line 34840 "gram.c" /* yacc.c:1646 */
break;
case 1152:
#line 7751 "gram.y" /* yacc.c:1646 */
{ (yyval.typnam) = (yyvsp[0].typnam); }
#line 34846 "gram.c" /* yacc.c:1646 */
break;
case 1153:
#line 7753 "gram.y" /* yacc.c:1646 */
{
(yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[-3].str)), (yyvsp[-2].list)));
(yyval.typnam)->pct_type = true;
(yyval.typnam)->location = (yylsp[-3]);
}
#line 34856 "gram.c" /* yacc.c:1646 */
break;
case 1154:
#line 7759 "gram.y" /* yacc.c:1646 */
{
(yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[-3].str)), (yyvsp[-2].list)));
(yyval.typnam)->pct_type = true;
(yyval.typnam)->setof = true;
(yyval.typnam)->location = (yylsp[-3]);
}
#line 34867 "gram.c" /* yacc.c:1646 */
break;
case 1155:
#line 7769 "gram.y" /* yacc.c:1646 */
{
(yyval.fun_param) = (yyvsp[0].fun_param);
}
#line 34875 "gram.c" /* yacc.c:1646 */
break;
case 1156:
#line 7773 "gram.y" /* yacc.c:1646 */
{
(yyval.fun_param) = (yyvsp[-2].fun_param);
(yyval.fun_param)->defexpr = (yyvsp[0].node);
}
#line 34884 "gram.c" /* yacc.c:1646 */
break;
case 1157:
#line 7778 "gram.y" /* yacc.c:1646 */
{
(yyval.fun_param) = (yyvsp[-2].fun_param);
(yyval.fun_param)->defexpr = (yyvsp[0].node);
}
#line 34893 "gram.c" /* yacc.c:1646 */
break;
case 1158:
#line 7786 "gram.y" /* yacc.c:1646 */
{
if (!((yyvsp[0].fun_param)->mode == FUNC_PARAM_IN ||
(yyvsp[0].fun_param)->mode == FUNC_PARAM_VARIADIC))
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("aggregates cannot have output arguments"),
parser_errposition((yylsp[0]))));
(yyval.fun_param) = (yyvsp[0].fun_param);
}
#line 34907 "gram.c" /* yacc.c:1646 */
break;
case 1159:
#line 7827 "gram.y" /* yacc.c:1646 */
{
(yyval.list) = list_make2(NIL, makeInteger(-1));
}
#line 34915 "gram.c" /* yacc.c:1646 */
break;
case 1160:
#line 7831 "gram.y" /* yacc.c:1646 */
{
(yyval.list) = list_make2((yyvsp[-1].list), makeInteger(-1));
}
#line 34923 "gram.c" /* yacc.c:1646 */
break;
case 1161:
#line 7835 "gram.y" /* yacc.c:1646 */
{
(yyval.list) = list_make2((yyvsp[-1].list), makeInteger(0));
}
#line 34931 "gram.c" /* yacc.c:1646 */
break;
case 1162:
#line 7839 "gram.y" /* yacc.c:1646 */
{
/* this is the only case requiring consistency checking */
(yyval.list) = makeOrderedSetArgs((yyvsp[-4].list), (yyvsp[-1].list), yyscanner);
}
#line 34940 "gram.c" /* yacc.c:1646 */
break;
case 1163:
#line 7846 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1((yyvsp[0].fun_param)); }
#line 34946 "gram.c" /* yacc.c:1646 */
break;
case 1164:
#line 7847 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param)); }
#line 34952 "gram.c" /* yacc.c:1646 */
break;
case 1165:
#line 7852 "gram.y" /* yacc.c:1646 */
{
ObjectWithArgs *n = makeNode(ObjectWithArgs);
n->objname = (yyvsp[-1].list);
n->objargs = extractAggrArgTypes((yyvsp[0].list));
(yyval.objwithargs) = n;
}
#line 34963 "gram.c" /* yacc.c:1646 */
break;
case 1166:
#line 7861 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1((yyvsp[0].objwithargs)); }
#line 34969 "gram.c" /* yacc.c:1646 */
break;
case 1167:
#line 7863 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].objwithargs)); }
#line 34975 "gram.c" /* yacc.c:1646 */
break;
case 1168:
#line 7868 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1((yyvsp[0].defelt)); }
#line 34981 "gram.c" /* yacc.c:1646 */
break;
case 1169:
#line 7869 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
#line 34987 "gram.c" /* yacc.c:1646 */
break;
case 1170:
#line 7877 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("strict", (Node *)makeInteger(false), (yylsp[-3]));
}
#line 34995 "gram.c" /* yacc.c:1646 */
break;
case 1171:
#line 7881 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("strict", (Node *)makeInteger(true), (yylsp[-4]));
}
#line 35003 "gram.c" /* yacc.c:1646 */
break;
case 1172:
#line 7885 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("strict", (Node *)makeInteger(true), (yylsp[0]));
}
#line 35011 "gram.c" /* yacc.c:1646 */
break;
case 1173:
#line 7889 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("volatility", (Node *)makeString("immutable"), (yylsp[0]));
}
#line 35019 "gram.c" /* yacc.c:1646 */
break;
case 1174:
#line 7893 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("volatility", (Node *)makeString("stable"), (yylsp[0]));
}
#line 35027 "gram.c" /* yacc.c:1646 */
break;
case 1175:
#line 7897 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("volatility", (Node *)makeString("volatile"), (yylsp[0]));
}
#line 35035 "gram.c" /* yacc.c:1646 */
break;
case 1176:
#line 7901 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("security", (Node *)makeInteger(true), (yylsp[-2]));
}
#line 35043 "gram.c" /* yacc.c:1646 */
break;
case 1177:
#line 7905 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("security", (Node *)makeInteger(false), (yylsp[-2]));
}
#line 35051 "gram.c" /* yacc.c:1646 */
break;
case 1178:
#line 7909 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("security", (Node *)makeInteger(true), (yylsp[-1]));
}
#line 35059 "gram.c" /* yacc.c:1646 */
break;
case 1179:
#line 7913 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("security", (Node *)makeInteger(false), (yylsp[-1]));
}
#line 35067 "gram.c" /* yacc.c:1646 */
break;
case 1180:
#line 7917 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("leakproof", (Node *)makeInteger(true), (yylsp[0]));
}
#line 35075 "gram.c" /* yacc.c:1646 */
break;
case 1181:
#line 7921 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("leakproof", (Node *)makeInteger(false), (yylsp[-1]));
}
#line 35083 "gram.c" /* yacc.c:1646 */
break;
case 1182:
#line 7925 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("cost", (Node *)(yyvsp[0].value), (yylsp[-1]));
}
#line 35091 "gram.c" /* yacc.c:1646 */
break;
case 1183:
#line 7929 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("rows", (Node *)(yyvsp[0].value), (yylsp[-1]));
}
#line 35099 "gram.c" /* yacc.c:1646 */
break;
case 1184:
#line 7933 "gram.y" /* yacc.c:1646 */
{
/* we abuse the normal content of a DefElem here */
(yyval.defelt) = makeDefElem("set", (Node *)(yyvsp[0].vsetstmt), (yylsp[0]));
}
#line 35108 "gram.c" /* yacc.c:1646 */
break;
case 1185:
#line 7938 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("parallel", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
}
#line 35116 "gram.c" /* yacc.c:1646 */
break;
case 1186:
#line 7945 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("as", (Node *)(yyvsp[0].list), (yylsp[-1]));
}
#line 35124 "gram.c" /* yacc.c:1646 */
break;
case 1187:
#line 7949 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("language", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
}
#line 35132 "gram.c" /* yacc.c:1646 */
break;
case 1188:
#line 7953 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("transform", (Node *)(yyvsp[0].list), (yylsp[-1]));
}
#line 35140 "gram.c" /* yacc.c:1646 */
break;
case 1189:
#line 7957 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("window", (Node *)makeInteger(true), (yylsp[0]));
}
#line 35148 "gram.c" /* yacc.c:1646 */
break;
case 1190:
#line 7961 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = (yyvsp[0].defelt);
}
#line 35156 "gram.c" /* yacc.c:1646 */
break;
case 1191:
#line 7966 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
#line 35162 "gram.c" /* yacc.c:1646 */
break;
case 1192:
#line 7968 "gram.y" /* yacc.c:1646 */
{
(yyval.list) = list_make2(makeString((yyvsp[-2].str)), makeString((yyvsp[0].str)));
}
#line 35170 "gram.c" /* yacc.c:1646 */
break;
case 1193:
#line 7974 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1((yyvsp[0].typnam)); }
#line 35176 "gram.c" /* yacc.c:1646 */
break;
case 1194:
#line 7975 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-4].list), (yyvsp[0].typnam)); }
#line 35182 "gram.c" /* yacc.c:1646 */
break;
case 1195:
#line 7979 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[0].list); }
#line 35188 "gram.c" /* yacc.c:1646 */
break;
case 1196:
#line 7980 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 35194 "gram.c" /* yacc.c:1646 */
break;
case 1197:
#line 7984 "gram.y" /* yacc.c:1646 */
{
FunctionParameter *n = makeNode(FunctionParameter);
n->name = (yyvsp[-1].str);
n->argType = (yyvsp[0].typnam);
n->mode = FUNC_PARAM_TABLE;
n->defexpr = NULL;
(yyval.fun_param) = n;
}
#line 35207 "gram.c" /* yacc.c:1646 */
break;
case 1198:
#line 7996 "gram.y" /* yacc.c:1646 */
{
(yyval.list) = list_make1((yyvsp[0].fun_param));
}
#line 35215 "gram.c" /* yacc.c:1646 */
break;
case 1199:
#line 8000 "gram.y" /* yacc.c:1646 */
{
(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param));
}
#line 35223 "gram.c" /* yacc.c:1646 */
break;
case 1200:
#line 8015 "gram.y" /* yacc.c:1646 */
{
AlterFunctionStmt *n = makeNode(AlterFunctionStmt);
n->objtype = OBJECT_FUNCTION;
n->func = (yyvsp[-2].objwithargs);
n->actions = (yyvsp[-1].list);
(yyval.node) = (Node *) n;
}
#line 35235 "gram.c" /* yacc.c:1646 */
break;
case 1201:
#line 8023 "gram.y" /* yacc.c:1646 */
{
AlterFunctionStmt *n = makeNode(AlterFunctionStmt);
n->objtype = OBJECT_PROCEDURE;
n->func = (yyvsp[-2].objwithargs);
n->actions = (yyvsp[-1].list);
(yyval.node) = (Node *) n;
}
#line 35247 "gram.c" /* yacc.c:1646 */
break;
case 1202:
#line 8031 "gram.y" /* yacc.c:1646 */
{
AlterFunctionStmt *n = makeNode(AlterFunctionStmt);
n->objtype = OBJECT_ROUTINE;
n->func = (yyvsp[-2].objwithargs);
n->actions = (yyvsp[-1].list);
(yyval.node) = (Node *) n;
}
#line 35259 "gram.c" /* yacc.c:1646 */
break;
case 1203:
#line 8042 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1((yyvsp[0].defelt)); }
#line 35265 "gram.c" /* yacc.c:1646 */
break;
case 1204:
#line 8043 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
#line 35271 "gram.c" /* yacc.c:1646 */
break;
case 1207:
#line 8067 "gram.y" /* yacc.c:1646 */
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_FUNCTION;
n->objects = (yyvsp[-1].list);
n->behavior = (yyvsp[0].dbehavior);
n->missing_ok = false;
n->concurrent = false;
(yyval.node) = (Node *)n;
}
#line 35285 "gram.c" /* yacc.c:1646 */
break;
case 1208:
#line 8077 "gram.y" /* yacc.c:1646 */
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_FUNCTION;
n->objects = (yyvsp[-1].list);
n->behavior = (yyvsp[0].dbehavior);
n->missing_ok = true;
n->concurrent = false;
(yyval.node) = (Node *)n;
}
#line 35299 "gram.c" /* yacc.c:1646 */
break;
case 1209:
#line 8087 "gram.y" /* yacc.c:1646 */
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_PROCEDURE;
n->objects = (yyvsp[-1].list);
n->behavior = (yyvsp[0].dbehavior);
n->missing_ok = false;
n->concurrent = false;
(yyval.node) = (Node *)n;
}
#line 35313 "gram.c" /* yacc.c:1646 */
break;
case 1210:
#line 8097 "gram.y" /* yacc.c:1646 */
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_PROCEDURE;
n->objects = (yyvsp[-1].list);
n->behavior = (yyvsp[0].dbehavior);
n->missing_ok = true;
n->concurrent = false;
(yyval.node) = (Node *)n;
}
#line 35327 "gram.c" /* yacc.c:1646 */
break;
case 1211:
#line 8107 "gram.y" /* yacc.c:1646 */
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_ROUTINE;
n->objects = (yyvsp[-1].list);
n->behavior = (yyvsp[0].dbehavior);
n->missing_ok = false;
n->concurrent = false;
(yyval.node) = (Node *)n;
}
#line 35341 "gram.c" /* yacc.c:1646 */
break;
case 1212:
#line 8117 "gram.y" /* yacc.c:1646 */
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_ROUTINE;
n->objects = (yyvsp[-1].list);
n->behavior = (yyvsp[0].dbehavior);
n->missing_ok = true;
n->concurrent = false;
(yyval.node) = (Node *)n;
}
#line 35355 "gram.c" /* yacc.c:1646 */
break;
case 1213:
#line 8130 "gram.y" /* yacc.c:1646 */
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_AGGREGATE;
n->objects = (yyvsp[-1].list);
n->behavior = (yyvsp[0].dbehavior);
n->missing_ok = false;
n->concurrent = false;
(yyval.node) = (Node *)n;
}
#line 35369 "gram.c" /* yacc.c:1646 */
break;
case 1214:
#line 8140 "gram.y" /* yacc.c:1646 */
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_AGGREGATE;
n->objects = (yyvsp[-1].list);
n->behavior = (yyvsp[0].dbehavior);
n->missing_ok = true;
n->concurrent = false;
(yyval.node) = (Node *)n;
}
#line 35383 "gram.c" /* yacc.c:1646 */
break;
case 1215:
#line 8153 "gram.y" /* yacc.c:1646 */
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_OPERATOR;
n->objects = (yyvsp[-1].list);
n->behavior = (yyvsp[0].dbehavior);
n->missing_ok = false;
n->concurrent = false;
(yyval.node) = (Node *)n;
}
#line 35397 "gram.c" /* yacc.c:1646 */
break;
case 1216:
#line 8163 "gram.y" /* yacc.c:1646 */
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_OPERATOR;
n->objects = (yyvsp[-1].list);
n->behavior = (yyvsp[0].dbehavior);
n->missing_ok = true;
n->concurrent = false;
(yyval.node) = (Node *)n;
}
#line 35411 "gram.c" /* yacc.c:1646 */
break;
case 1217:
#line 8176 "gram.y" /* yacc.c:1646 */
{
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("missing argument"),
errhint("Use NONE to denote the missing argument of a unary operator."),
parser_errposition((yylsp[0]))));
}
#line 35423 "gram.c" /* yacc.c:1646 */
break;
case 1218:
#line 8184 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make2((yyvsp[-3].typnam), (yyvsp[-1].typnam)); }
#line 35429 "gram.c" /* yacc.c:1646 */
break;
case 1219:
#line 8186 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make2(NULL, (yyvsp[-1].typnam)); }
#line 35435 "gram.c" /* yacc.c:1646 */
break;
case 1220:
#line 8188 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make2((yyvsp[-3].typnam), NULL); }
#line 35441 "gram.c" /* yacc.c:1646 */
break;
case 1221:
#line 8193 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
#line 35447 "gram.c" /* yacc.c:1646 */
break;
case 1222:
#line 8195 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lcons(makeString((yyvsp[-2].str)), (yyvsp[0].list)); }
#line 35453 "gram.c" /* yacc.c:1646 */
break;
case 1223:
#line 8199 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1((yyvsp[0].objwithargs)); }
#line 35459 "gram.c" /* yacc.c:1646 */
break;
case 1224:
#line 8201 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].objwithargs)); }
#line 35465 "gram.c" /* yacc.c:1646 */
break;
case 1225:
#line 8206 "gram.y" /* yacc.c:1646 */
{
ObjectWithArgs *n = makeNode(ObjectWithArgs);
n->objname = (yyvsp[-1].list);
n->objargs = (yyvsp[0].list);
(yyval.objwithargs) = n;
}
#line 35476 "gram.c" /* yacc.c:1646 */
break;
case 1226:
#line 8224 "gram.y" /* yacc.c:1646 */
{
DoStmt *n = makeNode(DoStmt);
n->args = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 35486 "gram.c" /* yacc.c:1646 */
break;
case 1227:
#line 8232 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1((yyvsp[0].defelt)); }
#line 35492 "gram.c" /* yacc.c:1646 */
break;
case 1228:
#line 8233 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
#line 35498 "gram.c" /* yacc.c:1646 */
break;
case 1229:
#line 8238 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("as", (Node *)makeString((yyvsp[0].str)), (yylsp[0]));
}
#line 35506 "gram.c" /* yacc.c:1646 */
break;
case 1230:
#line 8242 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem("language", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
}
#line 35514 "gram.c" /* yacc.c:1646 */
break;
case 1231:
#line 8255 "gram.y" /* yacc.c:1646 */
{
CreateCastStmt *n = makeNode(CreateCastStmt);
n->sourcetype = (yyvsp[-7].typnam);
n->targettype = (yyvsp[-5].typnam);
n->func = (yyvsp[-1].objwithargs);
n->context = (CoercionContext) (yyvsp[0].ival);
n->inout = false;
(yyval.node) = (Node *)n;
}
#line 35528 "gram.c" /* yacc.c:1646 */
break;
case 1232:
#line 8266 "gram.y" /* yacc.c:1646 */
{
CreateCastStmt *n = makeNode(CreateCastStmt);
n->sourcetype = (yyvsp[-6].typnam);
n->targettype = (yyvsp[-4].typnam);
n->func = NULL;
n->context = (CoercionContext) (yyvsp[0].ival);
n->inout = false;
(yyval.node) = (Node *)n;
}
#line 35542 "gram.c" /* yacc.c:1646 */
break;
case 1233:
#line 8277 "gram.y" /* yacc.c:1646 */
{
CreateCastStmt *n = makeNode(CreateCastStmt);
n->sourcetype = (yyvsp[-6].typnam);
n->targettype = (yyvsp[-4].typnam);
n->func = NULL;
n->context = (CoercionContext) (yyvsp[0].ival);
n->inout = true;
(yyval.node) = (Node *)n;
}
#line 35556 "gram.c" /* yacc.c:1646 */
break;
case 1234:
#line 8288 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = COERCION_IMPLICIT; }
#line 35562 "gram.c" /* yacc.c:1646 */
break;
case 1235:
#line 8289 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = COERCION_ASSIGNMENT; }
#line 35568 "gram.c" /* yacc.c:1646 */
break;
case 1236:
#line 8290 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = COERCION_EXPLICIT; }
#line 35574 "gram.c" /* yacc.c:1646 */
break;
case 1237:
#line 8295 "gram.y" /* yacc.c:1646 */
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_CAST;
n->objects = list_make1(list_make2((yyvsp[-4].typnam), (yyvsp[-2].typnam)));
n->behavior = (yyvsp[0].dbehavior);
n->missing_ok = (yyvsp[-6].boolean);
n->concurrent = false;
(yyval.node) = (Node *)n;
}
#line 35588 "gram.c" /* yacc.c:1646 */
break;
case 1238:
#line 8306 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = true; }
#line 35594 "gram.c" /* yacc.c:1646 */
break;
case 1239:
#line 8307 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = false; }
#line 35600 "gram.c" /* yacc.c:1646 */
break;
case 1240:
#line 8318 "gram.y" /* yacc.c:1646 */
{
CreateTransformStmt *n = makeNode(CreateTransformStmt);
n->replace = (yyvsp[-8].boolean);
n->type_name = (yyvsp[-5].typnam);
n->lang = (yyvsp[-3].str);
n->fromsql = linitial((yyvsp[-1].list));
n->tosql = lsecond((yyvsp[-1].list));
(yyval.node) = (Node *)n;
}
#line 35614 "gram.c" /* yacc.c:1646 */
break;
case 1241:
#line 8330 "gram.y" /* yacc.c:1646 */
{
(yyval.list) = list_make2((yyvsp[-6].objwithargs), (yyvsp[0].objwithargs));
}
#line 35622 "gram.c" /* yacc.c:1646 */
break;
case 1242:
#line 8334 "gram.y" /* yacc.c:1646 */
{
(yyval.list) = list_make2((yyvsp[0].objwithargs), (yyvsp[-6].objwithargs));
}
#line 35630 "gram.c" /* yacc.c:1646 */
break;
case 1243:
#line 8338 "gram.y" /* yacc.c:1646 */
{
(yyval.list) = list_make2((yyvsp[0].objwithargs), NULL);
}
#line 35638 "gram.c" /* yacc.c:1646 */
break;
case 1244:
#line 8342 "gram.y" /* yacc.c:1646 */
{
(yyval.list) = list_make2(NULL, (yyvsp[0].objwithargs));
}
#line 35646 "gram.c" /* yacc.c:1646 */
break;
case 1245:
#line 8349 "gram.y" /* yacc.c:1646 */
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_TRANSFORM;
n->objects = list_make1(list_make2((yyvsp[-3].typnam), makeString((yyvsp[-1].str))));
n->behavior = (yyvsp[0].dbehavior);
n->missing_ok = (yyvsp[-5].boolean);
(yyval.node) = (Node *)n;
}
#line 35659 "gram.c" /* yacc.c:1646 */
break;
case 1246:
#line 8369 "gram.y" /* yacc.c:1646 */
{
ReindexStmt *n = makeNode(ReindexStmt);
n->kind = (yyvsp[-1].ival);
n->relation = (yyvsp[0].range);
n->name = NULL;
n->options = 0;
(yyval.node) = (Node *)n;
}
#line 35672 "gram.c" /* yacc.c:1646 */
break;
case 1247:
#line 8378 "gram.y" /* yacc.c:1646 */
{
ReindexStmt *n = makeNode(ReindexStmt);
n->kind = (yyvsp[-1].ival);
n->name = (yyvsp[0].str);
n->relation = NULL;
n->options = 0;
(yyval.node) = (Node *)n;
}
#line 35685 "gram.c" /* yacc.c:1646 */
break;
case 1248:
#line 8387 "gram.y" /* yacc.c:1646 */
{
ReindexStmt *n = makeNode(ReindexStmt);
n->kind = (yyvsp[-1].ival);
n->relation = (yyvsp[0].range);
n->name = NULL;
n->options = (yyvsp[-3].ival);
(yyval.node) = (Node *)n;
}
#line 35698 "gram.c" /* yacc.c:1646 */
break;
case 1249:
#line 8396 "gram.y" /* yacc.c:1646 */
{
ReindexStmt *n = makeNode(ReindexStmt);
n->kind = (yyvsp[-1].ival);
n->name = (yyvsp[0].str);
n->relation = NULL;
n->options = (yyvsp[-3].ival);
(yyval.node) = (Node *)n;
}
#line 35711 "gram.c" /* yacc.c:1646 */
break;
case 1250:
#line 8406 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = REINDEX_OBJECT_INDEX; }
#line 35717 "gram.c" /* yacc.c:1646 */
break;
case 1251:
#line 8407 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = REINDEX_OBJECT_TABLE; }
#line 35723 "gram.c" /* yacc.c:1646 */
break;
case 1252:
#line 8410 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = REINDEX_OBJECT_SCHEMA; }
#line 35729 "gram.c" /* yacc.c:1646 */
break;
case 1253:
#line 8411 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = REINDEX_OBJECT_SYSTEM; }
#line 35735 "gram.c" /* yacc.c:1646 */
break;
case 1254:
#line 8412 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = REINDEX_OBJECT_DATABASE; }
#line 35741 "gram.c" /* yacc.c:1646 */
break;
case 1255:
#line 8415 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = (yyvsp[0].ival); }
#line 35747 "gram.c" /* yacc.c:1646 */
break;
case 1256:
#line 8416 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = (yyvsp[-2].ival) | (yyvsp[0].ival); }
#line 35753 "gram.c" /* yacc.c:1646 */
break;
case 1257:
#line 8419 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = REINDEXOPT_VERBOSE; }
#line 35759 "gram.c" /* yacc.c:1646 */
break;
case 1258:
#line 8430 "gram.y" /* yacc.c:1646 */
{
AlterTableSpaceOptionsStmt *n =
makeNode(AlterTableSpaceOptionsStmt);
n->tablespacename = (yyvsp[-2].str);
n->options = (yyvsp[0].list);
n->isReset = false;
(yyval.node) = (Node *)n;
}
#line 35772 "gram.c" /* yacc.c:1646 */
break;
case 1259:
#line 8439 "gram.y" /* yacc.c:1646 */
{
AlterTableSpaceOptionsStmt *n =
makeNode(AlterTableSpaceOptionsStmt);
n->tablespacename = (yyvsp[-2].str);
n->options = (yyvsp[0].list);
n->isReset = true;
(yyval.node) = (Node *)n;
}
#line 35785 "gram.c" /* yacc.c:1646 */
break;
case 1260:
#line 8456 "gram.y" /* yacc.c:1646 */
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_AGGREGATE;
n->object = (Node *) (yyvsp[-3].objwithargs);
n->newname = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 35798 "gram.c" /* yacc.c:1646 */
break;
case 1261:
#line 8465 "gram.y" /* yacc.c:1646 */
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_COLLATION;
n->object = (Node *) (yyvsp[-3].list);
n->newname = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 35811 "gram.c" /* yacc.c:1646 */
break;
case 1262:
#line 8474 "gram.y" /* yacc.c:1646 */
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_CONVERSION;
n->object = (Node *) (yyvsp[-3].list);
n->newname = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 35824 "gram.c" /* yacc.c:1646 */
break;
case 1263:
#line 8483 "gram.y" /* yacc.c:1646 */
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_DATABASE;
n->subname = (yyvsp[-3].str);
n->newname = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 35837 "gram.c" /* yacc.c:1646 */
break;
case 1264:
#line 8492 "gram.y" /* yacc.c:1646 */
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_DOMAIN;
n->object = (Node *) (yyvsp[-3].list);
n->newname = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 35850 "gram.c" /* yacc.c:1646 */
break;
case 1265:
#line 8501 "gram.y" /* yacc.c:1646 */
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_DOMCONSTRAINT;
n->object = (Node *) (yyvsp[-5].list);
n->subname = (yyvsp[-2].str);
n->newname = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 35863 "gram.c" /* yacc.c:1646 */
break;
case 1266:
#line 8510 "gram.y" /* yacc.c:1646 */
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_FDW;
n->object = (Node *) makeString((yyvsp[-3].str));
n->newname = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 35876 "gram.c" /* yacc.c:1646 */
break;
case 1267:
#line 8519 "gram.y" /* yacc.c:1646 */
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_FUNCTION;
n->object = (Node *) (yyvsp[-3].objwithargs);
n->newname = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 35889 "gram.c" /* yacc.c:1646 */
break;
case 1268:
#line 8528 "gram.y" /* yacc.c:1646 */
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_ROLE;
n->subname = (yyvsp[-3].str);
n->newname = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 35902 "gram.c" /* yacc.c:1646 */
break;
case 1269:
#line 8537 "gram.y" /* yacc.c:1646 */
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_LANGUAGE;
n->object = (Node *) makeString((yyvsp[-3].str));
n->newname = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 35915 "gram.c" /* yacc.c:1646 */
break;
case 1270:
#line 8546 "gram.y" /* yacc.c:1646 */
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_OPCLASS;
n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
n->newname = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 35928 "gram.c" /* yacc.c:1646 */
break;
case 1271:
#line 8555 "gram.y" /* yacc.c:1646 */
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_OPFAMILY;
n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
n->newname = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 35941 "gram.c" /* yacc.c:1646 */
break;
case 1272:
#line 8564 "gram.y" /* yacc.c:1646 */
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_POLICY;
n->relation = (yyvsp[-3].range);
n->subname = (yyvsp[-5].str);
n->newname = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 35955 "gram.c" /* yacc.c:1646 */
break;
case 1273:
#line 8574 "gram.y" /* yacc.c:1646 */
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_POLICY;
n->relation = (yyvsp[-3].range);
n->subname = (yyvsp[-5].str);
n->newname = (yyvsp[0].str);
n->missing_ok = true;
(yyval.node) = (Node *)n;
}
#line 35969 "gram.c" /* yacc.c:1646 */
break;
case 1274:
#line 8584 "gram.y" /* yacc.c:1646 */
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_PROCEDURE;
n->object = (Node *) (yyvsp[-3].objwithargs);
n->newname = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 35982 "gram.c" /* yacc.c:1646 */
break;
case 1275:
#line 8593 "gram.y" /* yacc.c:1646 */
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_PUBLICATION;
n->object = (Node *) makeString((yyvsp[-3].str));
n->newname = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 35995 "gram.c" /* yacc.c:1646 */
break;
case 1276:
#line 8602 "gram.y" /* yacc.c:1646 */
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_ROUTINE;
n->object = (Node *) (yyvsp[-3].objwithargs);
n->newname = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 36008 "gram.c" /* yacc.c:1646 */
break;
case 1277:
#line 8611 "gram.y" /* yacc.c:1646 */
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_SCHEMA;
n->subname = (yyvsp[-3].str);
n->newname = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 36021 "gram.c" /* yacc.c:1646 */
break;
case 1278:
#line 8620 "gram.y" /* yacc.c:1646 */
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_FOREIGN_SERVER;
n->object = (Node *) makeString((yyvsp[-3].str));
n->newname = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 36034 "gram.c" /* yacc.c:1646 */
break;
case 1279:
#line 8629 "gram.y" /* yacc.c:1646 */
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_SUBSCRIPTION;
n->object = (Node *) makeString((yyvsp[-3].str));
n->newname = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 36047 "gram.c" /* yacc.c:1646 */
break;
case 1280:
#line 8638 "gram.y" /* yacc.c:1646 */
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_TABLE;
n->relation = (yyvsp[-3].range);
n->subname = NULL;
n->newname = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 36061 "gram.c" /* yacc.c:1646 */
break;
case 1281:
#line 8648 "gram.y" /* yacc.c:1646 */
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_TABLE;
n->relation = (yyvsp[-3].range);
n->subname = NULL;
n->newname = (yyvsp[0].str);
n->missing_ok = true;
(yyval.node) = (Node *)n;
}
#line 36075 "gram.c" /* yacc.c:1646 */
break;
case 1282:
#line 8658 "gram.y" /* yacc.c:1646 */
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_SEQUENCE;
n->relation = (yyvsp[-3].range);
n->subname = NULL;
n->newname = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 36089 "gram.c" /* yacc.c:1646 */
break;
case 1283:
#line 8668 "gram.y" /* yacc.c:1646 */
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_SEQUENCE;
n->relation = (yyvsp[-3].range);
n->subname = NULL;
n->newname = (yyvsp[0].str);
n->missing_ok = true;
(yyval.node) = (Node *)n;
}
#line 36103 "gram.c" /* yacc.c:1646 */
break;
case 1284:
#line 8678 "gram.y" /* yacc.c:1646 */
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_VIEW;
n->relation = (yyvsp[-3].range);
n->subname = NULL;
n->newname = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 36117 "gram.c" /* yacc.c:1646 */
break;
case 1285:
#line 8688 "gram.y" /* yacc.c:1646 */
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_VIEW;
n->relation = (yyvsp[-3].range);
n->subname = NULL;
n->newname = (yyvsp[0].str);
n->missing_ok = true;
(yyval.node) = (Node *)n;
}
#line 36131 "gram.c" /* yacc.c:1646 */
break;
case 1286:
#line 8698 "gram.y" /* yacc.c:1646 */
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_MATVIEW;
n->relation = (yyvsp[-3].range);
n->subname = NULL;
n->newname = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 36145 "gram.c" /* yacc.c:1646 */
break;
case 1287:
#line 8708 "gram.y" /* yacc.c:1646 */
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_MATVIEW;
n->relation = (yyvsp[-3].range);
n->subname = NULL;
n->newname = (yyvsp[0].str);
n->missing_ok = true;
(yyval.node) = (Node *)n;
}
#line 36159 "gram.c" /* yacc.c:1646 */
break;
case 1288:
#line 8718 "gram.y" /* yacc.c:1646 */
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_INDEX;
n->relation = (yyvsp[-3].range);
n->subname = NULL;
n->newname = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 36173 "gram.c" /* yacc.c:1646 */
break;
case 1289:
#line 8728 "gram.y" /* yacc.c:1646 */
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_INDEX;
n->relation = (yyvsp[-3].range);
n->subname = NULL;
n->newname = (yyvsp[0].str);
n->missing_ok = true;
(yyval.node) = (Node *)n;
}
#line 36187 "gram.c" /* yacc.c:1646 */
break;
case 1290:
#line 8738 "gram.y" /* yacc.c:1646 */
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_FOREIGN_TABLE;
n->relation = (yyvsp[-3].range);
n->subname = NULL;
n->newname = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 36201 "gram.c" /* yacc.c:1646 */
break;
case 1291:
#line 8748 "gram.y" /* yacc.c:1646 */
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_FOREIGN_TABLE;
n->relation = (yyvsp[-3].range);
n->subname = NULL;
n->newname = (yyvsp[0].str);
n->missing_ok = true;
(yyval.node) = (Node *)n;
}
#line 36215 "gram.c" /* yacc.c:1646 */
break;
case 1292:
#line 8758 "gram.y" /* yacc.c:1646 */
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_COLUMN;
n->relationType = OBJECT_TABLE;
n->relation = (yyvsp[-5].range);
n->subname = (yyvsp[-2].str);
n->newname = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 36230 "gram.c" /* yacc.c:1646 */
break;
case 1293:
#line 8769 "gram.y" /* yacc.c:1646 */
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_COLUMN;
n->relationType = OBJECT_TABLE;
n->relation = (yyvsp[-5].range);
n->subname = (yyvsp[-2].str);
n->newname = (yyvsp[0].str);
n->missing_ok = true;
(yyval.node) = (Node *)n;
}
#line 36245 "gram.c" /* yacc.c:1646 */
break;
case 1294:
#line 8780 "gram.y" /* yacc.c:1646 */
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_COLUMN;
n->relationType = OBJECT_MATVIEW;
n->relation = (yyvsp[-5].range);
n->subname = (yyvsp[-2].str);
n->newname = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 36260 "gram.c" /* yacc.c:1646 */
break;
case 1295:
#line 8791 "gram.y" /* yacc.c:1646 */
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_COLUMN;
n->relationType = OBJECT_MATVIEW;
n->relation = (yyvsp[-5].range);
n->subname = (yyvsp[-2].str);
n->newname = (yyvsp[0].str);
n->missing_ok = true;
(yyval.node) = (Node *)n;
}
#line 36275 "gram.c" /* yacc.c:1646 */
break;
case 1296:
#line 8802 "gram.y" /* yacc.c:1646 */
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_TABCONSTRAINT;
n->relation = (yyvsp[-5].range);
n->subname = (yyvsp[-2].str);
n->newname = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 36289 "gram.c" /* yacc.c:1646 */
break;
case 1297:
#line 8812 "gram.y" /* yacc.c:1646 */
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_TABCONSTRAINT;
n->relation = (yyvsp[-5].range);
n->subname = (yyvsp[-2].str);
n->newname = (yyvsp[0].str);
n->missing_ok = true;
(yyval.node) = (Node *)n;
}
#line 36303 "gram.c" /* yacc.c:1646 */
break;
case 1298:
#line 8822 "gram.y" /* yacc.c:1646 */
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_COLUMN;
n->relationType = OBJECT_FOREIGN_TABLE;
n->relation = (yyvsp[-5].range);
n->subname = (yyvsp[-2].str);
n->newname = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 36318 "gram.c" /* yacc.c:1646 */
break;
case 1299:
#line 8833 "gram.y" /* yacc.c:1646 */
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_COLUMN;
n->relationType = OBJECT_FOREIGN_TABLE;
n->relation = (yyvsp[-5].range);
n->subname = (yyvsp[-2].str);
n->newname = (yyvsp[0].str);
n->missing_ok = true;
(yyval.node) = (Node *)n;
}
#line 36333 "gram.c" /* yacc.c:1646 */
break;
case 1300:
#line 8844 "gram.y" /* yacc.c:1646 */
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_RULE;
n->relation = (yyvsp[-3].range);
n->subname = (yyvsp[-5].str);
n->newname = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 36347 "gram.c" /* yacc.c:1646 */
break;
case 1301:
#line 8854 "gram.y" /* yacc.c:1646 */
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_TRIGGER;
n->relation = (yyvsp[-3].range);
n->subname = (yyvsp[-5].str);
n->newname = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 36361 "gram.c" /* yacc.c:1646 */
break;
case 1302:
#line 8864 "gram.y" /* yacc.c:1646 */
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_EVENT_TRIGGER;
n->object = (Node *) makeString((yyvsp[-3].str));
n->newname = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 36373 "gram.c" /* yacc.c:1646 */
break;
case 1303:
#line 8872 "gram.y" /* yacc.c:1646 */
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_ROLE;
n->subname = (yyvsp[-3].str);
n->newname = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 36386 "gram.c" /* yacc.c:1646 */
break;
case 1304:
#line 8881 "gram.y" /* yacc.c:1646 */
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_ROLE;
n->subname = (yyvsp[-3].str);
n->newname = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 36399 "gram.c" /* yacc.c:1646 */
break;
case 1305:
#line 8890 "gram.y" /* yacc.c:1646 */
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_TABLESPACE;
n->subname = (yyvsp[-3].str);
n->newname = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 36412 "gram.c" /* yacc.c:1646 */
break;
case 1306:
#line 8899 "gram.y" /* yacc.c:1646 */
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_STATISTIC_EXT;
n->object = (Node *) (yyvsp[-3].list);
n->newname = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 36425 "gram.c" /* yacc.c:1646 */
break;
case 1307:
#line 8908 "gram.y" /* yacc.c:1646 */
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_TSPARSER;
n->object = (Node *) (yyvsp[-3].list);
n->newname = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 36438 "gram.c" /* yacc.c:1646 */
break;
case 1308:
#line 8917 "gram.y" /* yacc.c:1646 */
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_TSDICTIONARY;
n->object = (Node *) (yyvsp[-3].list);
n->newname = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 36451 "gram.c" /* yacc.c:1646 */
break;
case 1309:
#line 8926 "gram.y" /* yacc.c:1646 */
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_TSTEMPLATE;
n->object = (Node *) (yyvsp[-3].list);
n->newname = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 36464 "gram.c" /* yacc.c:1646 */
break;
case 1310:
#line 8935 "gram.y" /* yacc.c:1646 */
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_TSCONFIGURATION;
n->object = (Node *) (yyvsp[-3].list);
n->newname = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 36477 "gram.c" /* yacc.c:1646 */
break;
case 1311:
#line 8944 "gram.y" /* yacc.c:1646 */
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_TYPE;
n->object = (Node *) (yyvsp[-3].list);
n->newname = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 36490 "gram.c" /* yacc.c:1646 */
break;
case 1312:
#line 8953 "gram.y" /* yacc.c:1646 */
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_ATTRIBUTE;
n->relationType = OBJECT_TYPE;
n->relation = makeRangeVarFromAnyName((yyvsp[-6].list), (yylsp[-6]), yyscanner);
n->subname = (yyvsp[-3].str);
n->newname = (yyvsp[-1].str);
n->behavior = (yyvsp[0].dbehavior);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 36506 "gram.c" /* yacc.c:1646 */
break;
case 1313:
#line 8966 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = COLUMN; }
#line 36512 "gram.c" /* yacc.c:1646 */
break;
case 1314:
#line 8967 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = 0; }
#line 36518 "gram.c" /* yacc.c:1646 */
break;
case 1315:
#line 8970 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = 1; }
#line 36524 "gram.c" /* yacc.c:1646 */
break;
case 1316:
#line 8971 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = 0; }
#line 36530 "gram.c" /* yacc.c:1646 */
break;
case 1317:
#line 8982 "gram.y" /* yacc.c:1646 */
{
AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
n->objectType = OBJECT_FUNCTION;
n->object = (Node *) (yyvsp[-4].objwithargs);
n->extname = makeString((yyvsp[0].str));
(yyval.node) = (Node *)n;
}
#line 36542 "gram.c" /* yacc.c:1646 */
break;
case 1318:
#line 8990 "gram.y" /* yacc.c:1646 */
{
AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
n->objectType = OBJECT_PROCEDURE;
n->object = (Node *) (yyvsp[-4].objwithargs);
n->extname = makeString((yyvsp[0].str));
(yyval.node) = (Node *)n;
}
#line 36554 "gram.c" /* yacc.c:1646 */
break;
case 1319:
#line 8998 "gram.y" /* yacc.c:1646 */
{
AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
n->objectType = OBJECT_ROUTINE;
n->object = (Node *) (yyvsp[-4].objwithargs);
n->extname = makeString((yyvsp[0].str));
(yyval.node) = (Node *)n;
}
#line 36566 "gram.c" /* yacc.c:1646 */
break;
case 1320:
#line 9006 "gram.y" /* yacc.c:1646 */
{
AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
n->objectType = OBJECT_TRIGGER;
n->relation = (yyvsp[-4].range);
n->object = (Node *) list_make1(makeString((yyvsp[-6].str)));
n->extname = makeString((yyvsp[0].str));
(yyval.node) = (Node *)n;
}
#line 36579 "gram.c" /* yacc.c:1646 */
break;
case 1321:
#line 9015 "gram.y" /* yacc.c:1646 */
{
AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
n->objectType = OBJECT_MATVIEW;
n->relation = (yyvsp[-4].range);
n->extname = makeString((yyvsp[0].str));
(yyval.node) = (Node *)n;
}
#line 36591 "gram.c" /* yacc.c:1646 */
break;
case 1322:
#line 9023 "gram.y" /* yacc.c:1646 */
{
AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
n->objectType = OBJECT_INDEX;
n->relation = (yyvsp[-4].range);
n->extname = makeString((yyvsp[0].str));
(yyval.node) = (Node *)n;
}
#line 36603 "gram.c" /* yacc.c:1646 */
break;
case 1323:
#line 9040 "gram.y" /* yacc.c:1646 */
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_AGGREGATE;
n->object = (Node *) (yyvsp[-3].objwithargs);
n->newschema = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 36616 "gram.c" /* yacc.c:1646 */
break;
case 1324:
#line 9049 "gram.y" /* yacc.c:1646 */
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_COLLATION;
n->object = (Node *) (yyvsp[-3].list);
n->newschema = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 36629 "gram.c" /* yacc.c:1646 */
break;
case 1325:
#line 9058 "gram.y" /* yacc.c:1646 */
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_CONVERSION;
n->object = (Node *) (yyvsp[-3].list);
n->newschema = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 36642 "gram.c" /* yacc.c:1646 */
break;
case 1326:
#line 9067 "gram.y" /* yacc.c:1646 */
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_DOMAIN;
n->object = (Node *) (yyvsp[-3].list);
n->newschema = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 36655 "gram.c" /* yacc.c:1646 */
break;
case 1327:
#line 9076 "gram.y" /* yacc.c:1646 */
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_EXTENSION;
n->object = (Node *) makeString((yyvsp[-3].str));
n->newschema = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 36668 "gram.c" /* yacc.c:1646 */
break;
case 1328:
#line 9085 "gram.y" /* yacc.c:1646 */
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_FUNCTION;
n->object = (Node *) (yyvsp[-3].objwithargs);
n->newschema = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 36681 "gram.c" /* yacc.c:1646 */
break;
case 1329:
#line 9094 "gram.y" /* yacc.c:1646 */
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_OPERATOR;
n->object = (Node *) (yyvsp[-3].objwithargs);
n->newschema = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 36694 "gram.c" /* yacc.c:1646 */
break;
case 1330:
#line 9103 "gram.y" /* yacc.c:1646 */
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_OPCLASS;
n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
n->newschema = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 36707 "gram.c" /* yacc.c:1646 */
break;
case 1331:
#line 9112 "gram.y" /* yacc.c:1646 */
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_OPFAMILY;
n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
n->newschema = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 36720 "gram.c" /* yacc.c:1646 */
break;
case 1332:
#line 9121 "gram.y" /* yacc.c:1646 */
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_PROCEDURE;
n->object = (Node *) (yyvsp[-3].objwithargs);
n->newschema = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 36733 "gram.c" /* yacc.c:1646 */
break;
case 1333:
#line 9130 "gram.y" /* yacc.c:1646 */
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_ROUTINE;
n->object = (Node *) (yyvsp[-3].objwithargs);
n->newschema = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 36746 "gram.c" /* yacc.c:1646 */
break;
case 1334:
#line 9139 "gram.y" /* yacc.c:1646 */
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_TABLE;
n->relation = (yyvsp[-3].range);
n->newschema = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 36759 "gram.c" /* yacc.c:1646 */
break;
case 1335:
#line 9148 "gram.y" /* yacc.c:1646 */
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_TABLE;
n->relation = (yyvsp[-3].range);
n->newschema = (yyvsp[0].str);
n->missing_ok = true;
(yyval.node) = (Node *)n;
}
#line 36772 "gram.c" /* yacc.c:1646 */
break;
case 1336:
#line 9157 "gram.y" /* yacc.c:1646 */
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_STATISTIC_EXT;
n->object = (Node *) (yyvsp[-3].list);
n->newschema = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 36785 "gram.c" /* yacc.c:1646 */
break;
case 1337:
#line 9166 "gram.y" /* yacc.c:1646 */
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_TSPARSER;
n->object = (Node *) (yyvsp[-3].list);
n->newschema = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 36798 "gram.c" /* yacc.c:1646 */
break;
case 1338:
#line 9175 "gram.y" /* yacc.c:1646 */
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_TSDICTIONARY;
n->object = (Node *) (yyvsp[-3].list);
n->newschema = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 36811 "gram.c" /* yacc.c:1646 */
break;
case 1339:
#line 9184 "gram.y" /* yacc.c:1646 */
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_TSTEMPLATE;
n->object = (Node *) (yyvsp[-3].list);
n->newschema = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 36824 "gram.c" /* yacc.c:1646 */
break;
case 1340:
#line 9193 "gram.y" /* yacc.c:1646 */
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_TSCONFIGURATION;
n->object = (Node *) (yyvsp[-3].list);
n->newschema = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 36837 "gram.c" /* yacc.c:1646 */
break;
case 1341:
#line 9202 "gram.y" /* yacc.c:1646 */
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_SEQUENCE;
n->relation = (yyvsp[-3].range);
n->newschema = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 36850 "gram.c" /* yacc.c:1646 */
break;
case 1342:
#line 9211 "gram.y" /* yacc.c:1646 */
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_SEQUENCE;
n->relation = (yyvsp[-3].range);
n->newschema = (yyvsp[0].str);
n->missing_ok = true;
(yyval.node) = (Node *)n;
}
#line 36863 "gram.c" /* yacc.c:1646 */
break;
case 1343:
#line 9220 "gram.y" /* yacc.c:1646 */
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_VIEW;
n->relation = (yyvsp[-3].range);
n->newschema = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 36876 "gram.c" /* yacc.c:1646 */
break;
case 1344:
#line 9229 "gram.y" /* yacc.c:1646 */
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_VIEW;
n->relation = (yyvsp[-3].range);
n->newschema = (yyvsp[0].str);
n->missing_ok = true;
(yyval.node) = (Node *)n;
}
#line 36889 "gram.c" /* yacc.c:1646 */
break;
case 1345:
#line 9238 "gram.y" /* yacc.c:1646 */
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_MATVIEW;
n->relation = (yyvsp[-3].range);
n->newschema = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 36902 "gram.c" /* yacc.c:1646 */
break;
case 1346:
#line 9247 "gram.y" /* yacc.c:1646 */
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_MATVIEW;
n->relation = (yyvsp[-3].range);
n->newschema = (yyvsp[0].str);
n->missing_ok = true;
(yyval.node) = (Node *)n;
}
#line 36915 "gram.c" /* yacc.c:1646 */
break;
case 1347:
#line 9256 "gram.y" /* yacc.c:1646 */
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_FOREIGN_TABLE;
n->relation = (yyvsp[-3].range);
n->newschema = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 36928 "gram.c" /* yacc.c:1646 */
break;
case 1348:
#line 9265 "gram.y" /* yacc.c:1646 */
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_FOREIGN_TABLE;
n->relation = (yyvsp[-3].range);
n->newschema = (yyvsp[0].str);
n->missing_ok = true;
(yyval.node) = (Node *)n;
}
#line 36941 "gram.c" /* yacc.c:1646 */
break;
case 1349:
#line 9274 "gram.y" /* yacc.c:1646 */
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_TYPE;
n->object = (Node *) (yyvsp[-3].list);
n->newschema = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 36954 "gram.c" /* yacc.c:1646 */
break;
case 1350:
#line 9292 "gram.y" /* yacc.c:1646 */
{
AlterOperatorStmt *n = makeNode(AlterOperatorStmt);
n->opername = (yyvsp[-4].objwithargs);
n->options = (yyvsp[-1].list);
(yyval.node) = (Node *)n;
}
#line 36965 "gram.c" /* yacc.c:1646 */
break;
case 1351:
#line 9300 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1((yyvsp[0].defelt)); }
#line 36971 "gram.c" /* yacc.c:1646 */
break;
case 1352:
#line 9301 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
#line 36977 "gram.c" /* yacc.c:1646 */
break;
case 1353:
#line 9305 "gram.y" /* yacc.c:1646 */
{ (yyval.defelt) = makeDefElem((yyvsp[-2].str), NULL, (yylsp[-2])); }
#line 36983 "gram.c" /* yacc.c:1646 */
break;
case 1354:
#line 9307 "gram.y" /* yacc.c:1646 */
{ (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *) (yyvsp[0].node), (yylsp[-2])); }
#line 36989 "gram.c" /* yacc.c:1646 */
break;
case 1355:
#line 9312 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (Node *)(yyvsp[0].typnam); }
#line 36995 "gram.c" /* yacc.c:1646 */
break;
case 1356:
#line 9313 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (Node *)makeString(pstrdup((yyvsp[0].keyword))); }
#line 37001 "gram.c" /* yacc.c:1646 */
break;
case 1357:
#line 9314 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (Node *)(yyvsp[0].list); }
#line 37007 "gram.c" /* yacc.c:1646 */
break;
case 1358:
#line 9315 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (Node *)(yyvsp[0].value); }
#line 37013 "gram.c" /* yacc.c:1646 */
break;
case 1359:
#line 9316 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (Node *)makeString((yyvsp[0].str)); }
#line 37019 "gram.c" /* yacc.c:1646 */
break;
case 1360:
#line 9326 "gram.y" /* yacc.c:1646 */
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_AGGREGATE;
n->object = (Node *) (yyvsp[-3].objwithargs);
n->newowner = (yyvsp[0].rolespec);
(yyval.node) = (Node *)n;
}
#line 37031 "gram.c" /* yacc.c:1646 */
break;
case 1361:
#line 9334 "gram.y" /* yacc.c:1646 */
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_COLLATION;
n->object = (Node *) (yyvsp[-3].list);
n->newowner = (yyvsp[0].rolespec);
(yyval.node) = (Node *)n;
}
#line 37043 "gram.c" /* yacc.c:1646 */
break;
case 1362:
#line 9342 "gram.y" /* yacc.c:1646 */
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_CONVERSION;
n->object = (Node *) (yyvsp[-3].list);
n->newowner = (yyvsp[0].rolespec);
(yyval.node) = (Node *)n;
}
#line 37055 "gram.c" /* yacc.c:1646 */
break;
case 1363:
#line 9350 "gram.y" /* yacc.c:1646 */
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_DATABASE;
n->object = (Node *) makeString((yyvsp[-3].str));
n->newowner = (yyvsp[0].rolespec);
(yyval.node) = (Node *)n;
}
#line 37067 "gram.c" /* yacc.c:1646 */
break;
case 1364:
#line 9358 "gram.y" /* yacc.c:1646 */
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_DOMAIN;
n->object = (Node *) (yyvsp[-3].list);
n->newowner = (yyvsp[0].rolespec);
(yyval.node) = (Node *)n;
}
#line 37079 "gram.c" /* yacc.c:1646 */
break;
case 1365:
#line 9366 "gram.y" /* yacc.c:1646 */
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_FUNCTION;
n->object = (Node *) (yyvsp[-3].objwithargs);
n->newowner = (yyvsp[0].rolespec);
(yyval.node) = (Node *)n;
}
#line 37091 "gram.c" /* yacc.c:1646 */
break;
case 1366:
#line 9374 "gram.y" /* yacc.c:1646 */
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_LANGUAGE;
n->object = (Node *) makeString((yyvsp[-3].str));
n->newowner = (yyvsp[0].rolespec);
(yyval.node) = (Node *)n;
}
#line 37103 "gram.c" /* yacc.c:1646 */
break;
case 1367:
#line 9382 "gram.y" /* yacc.c:1646 */
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_LARGEOBJECT;
n->object = (Node *) (yyvsp[-3].value);
n->newowner = (yyvsp[0].rolespec);
(yyval.node) = (Node *)n;
}
#line 37115 "gram.c" /* yacc.c:1646 */
break;
case 1368:
#line 9390 "gram.y" /* yacc.c:1646 */
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_OPERATOR;
n->object = (Node *) (yyvsp[-3].objwithargs);
n->newowner = (yyvsp[0].rolespec);
(yyval.node) = (Node *)n;
}
#line 37127 "gram.c" /* yacc.c:1646 */
break;
case 1369:
#line 9398 "gram.y" /* yacc.c:1646 */
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_OPCLASS;
n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
n->newowner = (yyvsp[0].rolespec);
(yyval.node) = (Node *)n;
}
#line 37139 "gram.c" /* yacc.c:1646 */
break;
case 1370:
#line 9406 "gram.y" /* yacc.c:1646 */
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_OPFAMILY;
n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
n->newowner = (yyvsp[0].rolespec);
(yyval.node) = (Node *)n;
}
#line 37151 "gram.c" /* yacc.c:1646 */
break;
case 1371:
#line 9414 "gram.y" /* yacc.c:1646 */
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_PROCEDURE;
n->object = (Node *) (yyvsp[-3].objwithargs);
n->newowner = (yyvsp[0].rolespec);
(yyval.node) = (Node *)n;
}
#line 37163 "gram.c" /* yacc.c:1646 */
break;
case 1372:
#line 9422 "gram.y" /* yacc.c:1646 */
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_ROUTINE;
n->object = (Node *) (yyvsp[-3].objwithargs);
n->newowner = (yyvsp[0].rolespec);
(yyval.node) = (Node *)n;
}
#line 37175 "gram.c" /* yacc.c:1646 */
break;
case 1373:
#line 9430 "gram.y" /* yacc.c:1646 */
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_SCHEMA;
n->object = (Node *) makeString((yyvsp[-3].str));
n->newowner = (yyvsp[0].rolespec);
(yyval.node) = (Node *)n;
}
#line 37187 "gram.c" /* yacc.c:1646 */
break;
case 1374:
#line 9438 "gram.y" /* yacc.c:1646 */
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_TYPE;
n->object = (Node *) (yyvsp[-3].list);
n->newowner = (yyvsp[0].rolespec);
(yyval.node) = (Node *)n;
}
#line 37199 "gram.c" /* yacc.c:1646 */
break;
case 1375:
#line 9446 "gram.y" /* yacc.c:1646 */
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_TABLESPACE;
n->object = (Node *) makeString((yyvsp[-3].str));
n->newowner = (yyvsp[0].rolespec);
(yyval.node) = (Node *)n;
}
#line 37211 "gram.c" /* yacc.c:1646 */
break;
case 1376:
#line 9454 "gram.y" /* yacc.c:1646 */
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_STATISTIC_EXT;
n->object = (Node *) (yyvsp[-3].list);
n->newowner = (yyvsp[0].rolespec);
(yyval.node) = (Node *)n;
}
#line 37223 "gram.c" /* yacc.c:1646 */
break;
case 1377:
#line 9462 "gram.y" /* yacc.c:1646 */
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_TSDICTIONARY;
n->object = (Node *) (yyvsp[-3].list);
n->newowner = (yyvsp[0].rolespec);
(yyval.node) = (Node *)n;
}
#line 37235 "gram.c" /* yacc.c:1646 */
break;
case 1378:
#line 9470 "gram.y" /* yacc.c:1646 */
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_TSCONFIGURATION;
n->object = (Node *) (yyvsp[-3].list);
n->newowner = (yyvsp[0].rolespec);
(yyval.node) = (Node *)n;
}
#line 37247 "gram.c" /* yacc.c:1646 */
break;
case 1379:
#line 9478 "gram.y" /* yacc.c:1646 */
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_FDW;
n->object = (Node *) makeString((yyvsp[-3].str));
n->newowner = (yyvsp[0].rolespec);
(yyval.node) = (Node *)n;
}
#line 37259 "gram.c" /* yacc.c:1646 */
break;
case 1380:
#line 9486 "gram.y" /* yacc.c:1646 */
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_FOREIGN_SERVER;
n->object = (Node *) makeString((yyvsp[-3].str));
n->newowner = (yyvsp[0].rolespec);
(yyval.node) = (Node *)n;
}
#line 37271 "gram.c" /* yacc.c:1646 */
break;
case 1381:
#line 9494 "gram.y" /* yacc.c:1646 */
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_EVENT_TRIGGER;
n->object = (Node *) makeString((yyvsp[-3].str));
n->newowner = (yyvsp[0].rolespec);
(yyval.node) = (Node *)n;
}
#line 37283 "gram.c" /* yacc.c:1646 */
break;
case 1382:
#line 9502 "gram.y" /* yacc.c:1646 */
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_PUBLICATION;
n->object = (Node *) makeString((yyvsp[-3].str));
n->newowner = (yyvsp[0].rolespec);
(yyval.node) = (Node *)n;
}
#line 37295 "gram.c" /* yacc.c:1646 */
break;
case 1383:
#line 9510 "gram.y" /* yacc.c:1646 */
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_SUBSCRIPTION;
n->object = (Node *) makeString((yyvsp[-3].str));
n->newowner = (yyvsp[0].rolespec);
(yyval.node) = (Node *)n;
}
#line 37307 "gram.c" /* yacc.c:1646 */
break;
case 1384:
#line 9528 "gram.y" /* yacc.c:1646 */
{
CreatePublicationStmt *n = makeNode(CreatePublicationStmt);
n->pubname = (yyvsp[-2].str);
n->options = (yyvsp[0].list);
if ((yyvsp[-1].node) != NULL)
{
/* FOR TABLE */
if (IsA((yyvsp[-1].node), List))
n->tables = (List *)(yyvsp[-1].node);
/* FOR ALL TABLES */
else
n->for_all_tables = true;
}
(yyval.node) = (Node *)n;
}
#line 37327 "gram.c" /* yacc.c:1646 */
break;
case 1385:
#line 9546 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (yyvsp[0].node); }
#line 37333 "gram.c" /* yacc.c:1646 */
break;
case 1386:
#line 9547 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = NULL; }
#line 37339 "gram.c" /* yacc.c:1646 */
break;
case 1387:
#line 9552 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = (Node *) (yyvsp[0].list);
}
#line 37347 "gram.c" /* yacc.c:1646 */
break;
case 1388:
#line 9556 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = (Node *) makeInteger(true);
}
#line 37355 "gram.c" /* yacc.c:1646 */
break;
case 1389:
#line 9576 "gram.y" /* yacc.c:1646 */
{
AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
n->pubname = (yyvsp[-2].str);
n->options = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 37366 "gram.c" /* yacc.c:1646 */
break;
case 1390:
#line 9583 "gram.y" /* yacc.c:1646 */
{
AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
n->pubname = (yyvsp[-3].str);
n->tables = (yyvsp[0].list);
n->tableAction = DEFELEM_ADD;
(yyval.node) = (Node *)n;
}
#line 37378 "gram.c" /* yacc.c:1646 */
break;
case 1391:
#line 9591 "gram.y" /* yacc.c:1646 */
{
AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
n->pubname = (yyvsp[-3].str);
n->tables = (yyvsp[0].list);
n->tableAction = DEFELEM_SET;
(yyval.node) = (Node *)n;
}
#line 37390 "gram.c" /* yacc.c:1646 */
break;
case 1392:
#line 9599 "gram.y" /* yacc.c:1646 */
{
AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
n->pubname = (yyvsp[-3].str);
n->tables = (yyvsp[0].list);
n->tableAction = DEFELEM_DROP;
(yyval.node) = (Node *)n;
}
#line 37402 "gram.c" /* yacc.c:1646 */
break;
case 1393:
#line 9616 "gram.y" /* yacc.c:1646 */
{
CreateSubscriptionStmt *n =
makeNode(CreateSubscriptionStmt);
n->subname = (yyvsp[-5].str);
n->conninfo = (yyvsp[-3].str);
n->publication = (yyvsp[-1].list);
n->options = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 37416 "gram.c" /* yacc.c:1646 */
break;
case 1394:
#line 9629 "gram.y" /* yacc.c:1646 */
{
(yyval.list) = list_make1((yyvsp[0].value));
}
#line 37424 "gram.c" /* yacc.c:1646 */
break;
case 1395:
#line 9633 "gram.y" /* yacc.c:1646 */
{
(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].value));
}
#line 37432 "gram.c" /* yacc.c:1646 */
break;
case 1396:
#line 9639 "gram.y" /* yacc.c:1646 */
{ (yyval.value) = makeString((yyvsp[0].str)); }
#line 37438 "gram.c" /* yacc.c:1646 */
break;
case 1397:
#line 9649 "gram.y" /* yacc.c:1646 */
{
AlterSubscriptionStmt *n =
makeNode(AlterSubscriptionStmt);
n->kind = ALTER_SUBSCRIPTION_OPTIONS;
n->subname = (yyvsp[-2].str);
n->options = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 37451 "gram.c" /* yacc.c:1646 */
break;
case 1398:
#line 9658 "gram.y" /* yacc.c:1646 */
{
AlterSubscriptionStmt *n =
makeNode(AlterSubscriptionStmt);
n->kind = ALTER_SUBSCRIPTION_CONNECTION;
n->subname = (yyvsp[-2].str);
n->conninfo = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 37464 "gram.c" /* yacc.c:1646 */
break;
case 1399:
#line 9667 "gram.y" /* yacc.c:1646 */
{
AlterSubscriptionStmt *n =
makeNode(AlterSubscriptionStmt);
n->kind = ALTER_SUBSCRIPTION_REFRESH;
n->subname = (yyvsp[-3].str);
n->options = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 37477 "gram.c" /* yacc.c:1646 */
break;
case 1400:
#line 9676 "gram.y" /* yacc.c:1646 */
{
AlterSubscriptionStmt *n =
makeNode(AlterSubscriptionStmt);
n->kind = ALTER_SUBSCRIPTION_PUBLICATION;
n->subname = (yyvsp[-4].str);
n->publication = (yyvsp[-1].list);
n->options = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 37491 "gram.c" /* yacc.c:1646 */
break;
case 1401:
#line 9686 "gram.y" /* yacc.c:1646 */
{
AlterSubscriptionStmt *n =
makeNode(AlterSubscriptionStmt);
n->kind = ALTER_SUBSCRIPTION_ENABLED;
n->subname = (yyvsp[-1].str);
n->options = list_make1(makeDefElem("enabled",
(Node *)makeInteger(true), (yylsp[-3])));
(yyval.node) = (Node *)n;
}
#line 37505 "gram.c" /* yacc.c:1646 */
break;
case 1402:
#line 9696 "gram.y" /* yacc.c:1646 */
{
AlterSubscriptionStmt *n =
makeNode(AlterSubscriptionStmt);
n->kind = ALTER_SUBSCRIPTION_ENABLED;
n->subname = (yyvsp[-1].str);
n->options = list_make1(makeDefElem("enabled",
(Node *)makeInteger(false), (yylsp[-3])));
(yyval.node) = (Node *)n;
}
#line 37519 "gram.c" /* yacc.c:1646 */
break;
case 1403:
#line 9714 "gram.y" /* yacc.c:1646 */
{
DropSubscriptionStmt *n = makeNode(DropSubscriptionStmt);
n->subname = (yyvsp[-1].str);
n->missing_ok = false;
n->behavior = (yyvsp[0].dbehavior);
(yyval.node) = (Node *) n;
}
#line 37531 "gram.c" /* yacc.c:1646 */
break;
case 1404:
#line 9722 "gram.y" /* yacc.c:1646 */
{
DropSubscriptionStmt *n = makeNode(DropSubscriptionStmt);
n->subname = (yyvsp[-1].str);
n->missing_ok = true;
n->behavior = (yyvsp[0].dbehavior);
(yyval.node) = (Node *) n;
}
#line 37543 "gram.c" /* yacc.c:1646 */
break;
case 1405:
#line 9740 "gram.y" /* yacc.c:1646 */
{
RuleStmt *n = makeNode(RuleStmt);
n->replace = (yyvsp[-11].boolean);
n->relation = (yyvsp[-4].range);
n->rulename = (yyvsp[-9].str);
n->whereClause = (yyvsp[-3].node);
n->event = (yyvsp[-6].ival);
n->instead = (yyvsp[-1].boolean);
n->actions = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 37559 "gram.c" /* yacc.c:1646 */
break;
case 1406:
#line 9754 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 37565 "gram.c" /* yacc.c:1646 */
break;
case 1407:
#line 9755 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1((yyvsp[0].node)); }
#line 37571 "gram.c" /* yacc.c:1646 */
break;
case 1408:
#line 9756 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 37577 "gram.c" /* yacc.c:1646 */
break;
case 1409:
#line 9762 "gram.y" /* yacc.c:1646 */
{ if ((yyvsp[0].node) != NULL)
(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
else
(yyval.list) = (yyvsp[-2].list);
}
#line 37587 "gram.c" /* yacc.c:1646 */
break;
case 1410:
#line 9768 "gram.y" /* yacc.c:1646 */
{ if ((yyvsp[0].node) != NULL)
(yyval.list) = list_make1((yyvsp[0].node));
else
(yyval.list) = NIL;
}
#line 37597 "gram.c" /* yacc.c:1646 */
break;
case 1416:
#line 9784 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (yyvsp[0].node); }
#line 37603 "gram.c" /* yacc.c:1646 */
break;
case 1417:
#line 9785 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = NULL; }
#line 37609 "gram.c" /* yacc.c:1646 */
break;
case 1418:
#line 9788 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = CMD_SELECT; }
#line 37615 "gram.c" /* yacc.c:1646 */
break;
case 1419:
#line 9789 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = CMD_UPDATE; }
#line 37621 "gram.c" /* yacc.c:1646 */
break;
case 1420:
#line 9790 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = CMD_DELETE; }
#line 37627 "gram.c" /* yacc.c:1646 */
break;
case 1421:
#line 9791 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = CMD_INSERT; }
#line 37633 "gram.c" /* yacc.c:1646 */
break;
case 1422:
#line 9795 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = true; }
#line 37639 "gram.c" /* yacc.c:1646 */
break;
case 1423:
#line 9796 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = false; }
#line 37645 "gram.c" /* yacc.c:1646 */
break;
case 1424:
#line 9797 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = false; }
#line 37651 "gram.c" /* yacc.c:1646 */
break;
case 1425:
#line 9810 "gram.y" /* yacc.c:1646 */
{
NotifyStmt *n = makeNode(NotifyStmt);
n->conditionname = (yyvsp[-1].str);
n->payload = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 37662 "gram.c" /* yacc.c:1646 */
break;
case 1426:
#line 9819 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = (yyvsp[0].str); }
#line 37668 "gram.c" /* yacc.c:1646 */
break;
case 1427:
#line 9820 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = NULL; }
#line 37674 "gram.c" /* yacc.c:1646 */
break;
case 1428:
#line 9824 "gram.y" /* yacc.c:1646 */
{
ListenStmt *n = makeNode(ListenStmt);
n->conditionname = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 37684 "gram.c" /* yacc.c:1646 */
break;
case 1429:
#line 9833 "gram.y" /* yacc.c:1646 */
{
UnlistenStmt *n = makeNode(UnlistenStmt);
n->conditionname = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 37694 "gram.c" /* yacc.c:1646 */
break;
case 1430:
#line 9839 "gram.y" /* yacc.c:1646 */
{
UnlistenStmt *n = makeNode(UnlistenStmt);
n->conditionname = NULL;
(yyval.node) = (Node *)n;
}
#line 37704 "gram.c" /* yacc.c:1646 */
break;
case 1431:
#line 9858 "gram.y" /* yacc.c:1646 */
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_ROLLBACK;
n->options = NIL;
(yyval.node) = (Node *)n;
}
#line 37715 "gram.c" /* yacc.c:1646 */
break;
case 1432:
#line 9865 "gram.y" /* yacc.c:1646 */
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_BEGIN;
n->options = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 37726 "gram.c" /* yacc.c:1646 */
break;
case 1433:
#line 9872 "gram.y" /* yacc.c:1646 */
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_START;
n->options = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 37737 "gram.c" /* yacc.c:1646 */
break;
case 1434:
#line 9879 "gram.y" /* yacc.c:1646 */
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_COMMIT;
n->options = NIL;
(yyval.node) = (Node *)n;
}
#line 37748 "gram.c" /* yacc.c:1646 */
break;
case 1435:
#line 9886 "gram.y" /* yacc.c:1646 */
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_COMMIT;
n->options = NIL;
(yyval.node) = (Node *)n;
}
#line 37759 "gram.c" /* yacc.c:1646 */
break;
case 1436:
#line 9893 "gram.y" /* yacc.c:1646 */
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_ROLLBACK;
n->options = NIL;
(yyval.node) = (Node *)n;
}
#line 37770 "gram.c" /* yacc.c:1646 */
break;
case 1437:
#line 9900 "gram.y" /* yacc.c:1646 */
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_SAVEPOINT;
n->savepoint_name = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 37781 "gram.c" /* yacc.c:1646 */
break;
case 1438:
#line 9907 "gram.y" /* yacc.c:1646 */
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_RELEASE;
n->savepoint_name = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 37792 "gram.c" /* yacc.c:1646 */
break;
case 1439:
#line 9914 "gram.y" /* yacc.c:1646 */
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_RELEASE;
n->savepoint_name = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 37803 "gram.c" /* yacc.c:1646 */
break;
case 1440:
#line 9921 "gram.y" /* yacc.c:1646 */
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_ROLLBACK_TO;
n->savepoint_name = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 37814 "gram.c" /* yacc.c:1646 */
break;
case 1441:
#line 9928 "gram.y" /* yacc.c:1646 */
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_ROLLBACK_TO;
n->savepoint_name = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 37825 "gram.c" /* yacc.c:1646 */
break;
case 1442:
#line 9935 "gram.y" /* yacc.c:1646 */
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_PREPARE;
n->gid = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 37836 "gram.c" /* yacc.c:1646 */
break;
case 1443:
#line 9942 "gram.y" /* yacc.c:1646 */
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_COMMIT_PREPARED;
n->gid = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 37847 "gram.c" /* yacc.c:1646 */
break;
case 1444:
#line 9949 "gram.y" /* yacc.c:1646 */
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_ROLLBACK_PREPARED;
n->gid = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 37858 "gram.c" /* yacc.c:1646 */
break;
case 1445:
#line 9957 "gram.y" /* yacc.c:1646 */
{}
#line 37864 "gram.c" /* yacc.c:1646 */
break;
case 1446:
#line 9958 "gram.y" /* yacc.c:1646 */
{}
#line 37870 "gram.c" /* yacc.c:1646 */
break;
case 1447:
#line 9959 "gram.y" /* yacc.c:1646 */
{}
#line 37876 "gram.c" /* yacc.c:1646 */
break;
case 1448:
#line 9964 "gram.y" /* yacc.c:1646 */
{ (yyval.defelt) = makeDefElem("transaction_isolation",
makeStringConst((yyvsp[0].str), (yylsp[0])), (yylsp[-2])); }
#line 37883 "gram.c" /* yacc.c:1646 */
break;
case 1449:
#line 9967 "gram.y" /* yacc.c:1646 */
{ (yyval.defelt) = makeDefElem("transaction_read_only",
makeIntConst(true, (yylsp[-1])), (yylsp[-1])); }
#line 37890 "gram.c" /* yacc.c:1646 */
break;
case 1450:
#line 9970 "gram.y" /* yacc.c:1646 */
{ (yyval.defelt) = makeDefElem("transaction_read_only",
makeIntConst(false, (yylsp[-1])), (yylsp[-1])); }
#line 37897 "gram.c" /* yacc.c:1646 */
break;
case 1451:
#line 9973 "gram.y" /* yacc.c:1646 */
{ (yyval.defelt) = makeDefElem("transaction_deferrable",
makeIntConst(true, (yylsp[0])), (yylsp[0])); }
#line 37904 "gram.c" /* yacc.c:1646 */
break;
case 1452:
#line 9976 "gram.y" /* yacc.c:1646 */
{ (yyval.defelt) = makeDefElem("transaction_deferrable",
makeIntConst(false, (yylsp[-1])), (yylsp[-1])); }
#line 37911 "gram.c" /* yacc.c:1646 */
break;
case 1453:
#line 9983 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1((yyvsp[0].defelt)); }
#line 37917 "gram.c" /* yacc.c:1646 */
break;
case 1454:
#line 9985 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
#line 37923 "gram.c" /* yacc.c:1646 */
break;
case 1455:
#line 9987 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
#line 37929 "gram.c" /* yacc.c:1646 */
break;
case 1457:
#line 9993 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 37935 "gram.c" /* yacc.c:1646 */
break;
case 1458:
#line 10007 "gram.y" /* yacc.c:1646 */
{
ViewStmt *n = makeNode(ViewStmt);
n->view = (yyvsp[-5].range);
n->view->relpersistence = (yyvsp[-7].ival);
n->aliases = (yyvsp[-4].list);
n->query = (yyvsp[-1].node);
n->replace = false;
n->options = (yyvsp[-3].list);
n->withCheckOption = (yyvsp[0].ival);
(yyval.node) = (Node *) n;
}
#line 37951 "gram.c" /* yacc.c:1646 */
break;
case 1459:
#line 10020 "gram.y" /* yacc.c:1646 */
{
ViewStmt *n = makeNode(ViewStmt);
n->view = (yyvsp[-5].range);
n->view->relpersistence = (yyvsp[-7].ival);
n->aliases = (yyvsp[-4].list);
n->query = (yyvsp[-1].node);
n->replace = true;
n->options = (yyvsp[-3].list);
n->withCheckOption = (yyvsp[0].ival);
(yyval.node) = (Node *) n;
}
#line 37967 "gram.c" /* yacc.c:1646 */
break;
case 1460:
#line 10033 "gram.y" /* yacc.c:1646 */
{
ViewStmt *n = makeNode(ViewStmt);
n->view = (yyvsp[-7].range);
n->view->relpersistence = (yyvsp[-10].ival);
n->aliases = (yyvsp[-5].list);
n->query = makeRecursiveViewSelect(n->view->relname, n->aliases, (yyvsp[-1].node));
n->replace = false;
n->options = (yyvsp[-3].list);
n->withCheckOption = (yyvsp[0].ival);
if (n->withCheckOption != NO_CHECK_OPTION)
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("WITH CHECK OPTION not supported on recursive views"),
parser_errposition((yylsp[0]))));
(yyval.node) = (Node *) n;
}
#line 37988 "gram.c" /* yacc.c:1646 */
break;
case 1461:
#line 10051 "gram.y" /* yacc.c:1646 */
{
ViewStmt *n = makeNode(ViewStmt);
n->view = (yyvsp[-7].range);
n->view->relpersistence = (yyvsp[-10].ival);
n->aliases = (yyvsp[-5].list);
n->query = makeRecursiveViewSelect(n->view->relname, n->aliases, (yyvsp[-1].node));
n->replace = true;
n->options = (yyvsp[-3].list);
n->withCheckOption = (yyvsp[0].ival);
if (n->withCheckOption != NO_CHECK_OPTION)
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("WITH CHECK OPTION not supported on recursive views"),
parser_errposition((yylsp[0]))));
(yyval.node) = (Node *) n;
}
#line 38009 "gram.c" /* yacc.c:1646 */
break;
case 1462:
#line 10070 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = CASCADED_CHECK_OPTION; }
#line 38015 "gram.c" /* yacc.c:1646 */
break;
case 1463:
#line 10071 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = CASCADED_CHECK_OPTION; }
#line 38021 "gram.c" /* yacc.c:1646 */
break;
case 1464:
#line 10072 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = LOCAL_CHECK_OPTION; }
#line 38027 "gram.c" /* yacc.c:1646 */
break;
case 1465:
#line 10073 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = NO_CHECK_OPTION; }
#line 38033 "gram.c" /* yacc.c:1646 */
break;
case 1466:
#line 10084 "gram.y" /* yacc.c:1646 */
{
LoadStmt *n = makeNode(LoadStmt);
n->filename = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 38043 "gram.c" /* yacc.c:1646 */
break;
case 1467:
#line 10100 "gram.y" /* yacc.c:1646 */
{
CreatedbStmt *n = makeNode(CreatedbStmt);
n->dbname = (yyvsp[-2].str);
n->options = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 38054 "gram.c" /* yacc.c:1646 */
break;
case 1468:
#line 10109 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[0].list); }
#line 38060 "gram.c" /* yacc.c:1646 */
break;
case 1469:
#line 10110 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 38066 "gram.c" /* yacc.c:1646 */
break;
case 1470:
#line 10114 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1((yyvsp[0].defelt)); }
#line 38072 "gram.c" /* yacc.c:1646 */
break;
case 1471:
#line 10115 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
#line 38078 "gram.c" /* yacc.c:1646 */
break;
case 1472:
#line 10120 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *)makeInteger((yyvsp[0].ival)), (yylsp[-2]));
}
#line 38086 "gram.c" /* yacc.c:1646 */
break;
case 1473:
#line 10124 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
}
#line 38094 "gram.c" /* yacc.c:1646 */
break;
case 1474:
#line 10128 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem((yyvsp[-2].str), NULL, (yylsp[-2]));
}
#line 38102 "gram.c" /* yacc.c:1646 */
break;
case 1475:
#line 10145 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = (yyvsp[0].str); }
#line 38108 "gram.c" /* yacc.c:1646 */
break;
case 1476:
#line 10146 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = pstrdup("connection_limit"); }
#line 38114 "gram.c" /* yacc.c:1646 */
break;
case 1477:
#line 10147 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = pstrdup((yyvsp[0].keyword)); }
#line 38120 "gram.c" /* yacc.c:1646 */
break;
case 1478:
#line 10148 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = pstrdup((yyvsp[0].keyword)); }
#line 38126 "gram.c" /* yacc.c:1646 */
break;
case 1479:
#line 10149 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = pstrdup((yyvsp[0].keyword)); }
#line 38132 "gram.c" /* yacc.c:1646 */
break;
case 1480:
#line 10150 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = pstrdup((yyvsp[0].keyword)); }
#line 38138 "gram.c" /* yacc.c:1646 */
break;
case 1481:
#line 10151 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = pstrdup((yyvsp[0].keyword)); }
#line 38144 "gram.c" /* yacc.c:1646 */
break;
case 1482:
#line 10158 "gram.y" /* yacc.c:1646 */
{}
#line 38150 "gram.c" /* yacc.c:1646 */
break;
case 1483:
#line 10159 "gram.y" /* yacc.c:1646 */
{}
#line 38156 "gram.c" /* yacc.c:1646 */
break;
case 1484:
#line 10171 "gram.y" /* yacc.c:1646 */
{
AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
n->dbname = (yyvsp[-2].str);
n->options = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 38167 "gram.c" /* yacc.c:1646 */
break;
case 1485:
#line 10178 "gram.y" /* yacc.c:1646 */
{
AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
n->dbname = (yyvsp[-1].str);
n->options = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 38178 "gram.c" /* yacc.c:1646 */
break;
case 1486:
#line 10185 "gram.y" /* yacc.c:1646 */
{
AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
n->dbname = (yyvsp[-3].str);
n->options = list_make1(makeDefElem("tablespace",
(Node *)makeString((yyvsp[0].str)), (yylsp[0])));
(yyval.node) = (Node *)n;
}
#line 38190 "gram.c" /* yacc.c:1646 */
break;
case 1487:
#line 10196 "gram.y" /* yacc.c:1646 */
{
AlterDatabaseSetStmt *n = makeNode(AlterDatabaseSetStmt);
n->dbname = (yyvsp[-1].str);
n->setstmt = (yyvsp[0].vsetstmt);
(yyval.node) = (Node *)n;
}
#line 38201 "gram.c" /* yacc.c:1646 */
break;
case 1488:
#line 10213 "gram.y" /* yacc.c:1646 */
{
DropdbStmt *n = makeNode(DropdbStmt);
n->dbname = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 38212 "gram.c" /* yacc.c:1646 */
break;
case 1489:
#line 10220 "gram.y" /* yacc.c:1646 */
{
DropdbStmt *n = makeNode(DropdbStmt);
n->dbname = (yyvsp[0].str);
n->missing_ok = true;
(yyval.node) = (Node *)n;
}
#line 38223 "gram.c" /* yacc.c:1646 */
break;
case 1490:
#line 10236 "gram.y" /* yacc.c:1646 */
{
AlterCollationStmt *n = makeNode(AlterCollationStmt);
n->collname = (yyvsp[-2].list);
(yyval.node) = (Node *)n;
}
#line 38233 "gram.c" /* yacc.c:1646 */
break;
case 1491:
#line 10253 "gram.y" /* yacc.c:1646 */
{
AlterSystemStmt *n = makeNode(AlterSystemStmt);
n->setstmt = (yyvsp[0].vsetstmt);
(yyval.node) = (Node *)n;
}
#line 38243 "gram.c" /* yacc.c:1646 */
break;
case 1492:
#line 10259 "gram.y" /* yacc.c:1646 */
{
AlterSystemStmt *n = makeNode(AlterSystemStmt);
n->setstmt = (yyvsp[0].vsetstmt);
(yyval.node) = (Node *)n;
}
#line 38253 "gram.c" /* yacc.c:1646 */
break;
case 1493:
#line 10275 "gram.y" /* yacc.c:1646 */
{
CreateDomainStmt *n = makeNode(CreateDomainStmt);
n->domainname = (yyvsp[-3].list);
n->typeName = (yyvsp[-1].typnam);
SplitColQualList((yyvsp[0].list), &n->constraints, &n->collClause,
yyscanner);
(yyval.node) = (Node *)n;
}
#line 38266 "gram.c" /* yacc.c:1646 */
break;
case 1494:
#line 10288 "gram.y" /* yacc.c:1646 */
{
AlterDomainStmt *n = makeNode(AlterDomainStmt);
n->subtype = 'T';
n->typeName = (yyvsp[-1].list);
n->def = (yyvsp[0].node);
(yyval.node) = (Node *)n;
}
#line 38278 "gram.c" /* yacc.c:1646 */
break;
case 1495:
#line 10297 "gram.y" /* yacc.c:1646 */
{
AlterDomainStmt *n = makeNode(AlterDomainStmt);
n->subtype = 'N';
n->typeName = (yyvsp[-3].list);
(yyval.node) = (Node *)n;
}
#line 38289 "gram.c" /* yacc.c:1646 */
break;
case 1496:
#line 10305 "gram.y" /* yacc.c:1646 */
{
AlterDomainStmt *n = makeNode(AlterDomainStmt);
n->subtype = 'O';
n->typeName = (yyvsp[-3].list);
(yyval.node) = (Node *)n;
}
#line 38300 "gram.c" /* yacc.c:1646 */
break;
case 1497:
#line 10313 "gram.y" /* yacc.c:1646 */
{
AlterDomainStmt *n = makeNode(AlterDomainStmt);
n->subtype = 'C';
n->typeName = (yyvsp[-2].list);
n->def = (yyvsp[0].node);
(yyval.node) = (Node *)n;
}
#line 38312 "gram.c" /* yacc.c:1646 */
break;
case 1498:
#line 10322 "gram.y" /* yacc.c:1646 */
{
AlterDomainStmt *n = makeNode(AlterDomainStmt);
n->subtype = 'X';
n->typeName = (yyvsp[-4].list);
n->name = (yyvsp[-1].str);
n->behavior = (yyvsp[0].dbehavior);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 38326 "gram.c" /* yacc.c:1646 */
break;
case 1499:
#line 10333 "gram.y" /* yacc.c:1646 */
{
AlterDomainStmt *n = makeNode(AlterDomainStmt);
n->subtype = 'X';
n->typeName = (yyvsp[-6].list);
n->name = (yyvsp[-1].str);
n->behavior = (yyvsp[0].dbehavior);
n->missing_ok = true;
(yyval.node) = (Node *)n;
}
#line 38340 "gram.c" /* yacc.c:1646 */
break;
case 1500:
#line 10344 "gram.y" /* yacc.c:1646 */
{
AlterDomainStmt *n = makeNode(AlterDomainStmt);
n->subtype = 'V';
n->typeName = (yyvsp[-3].list);
n->name = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 38352 "gram.c" /* yacc.c:1646 */
break;
case 1501:
#line 10353 "gram.y" /* yacc.c:1646 */
{}
#line 38358 "gram.c" /* yacc.c:1646 */
break;
case 1502:
#line 10354 "gram.y" /* yacc.c:1646 */
{}
#line 38364 "gram.c" /* yacc.c:1646 */
break;
case 1503:
#line 10366 "gram.y" /* yacc.c:1646 */
{
AlterTSDictionaryStmt *n = makeNode(AlterTSDictionaryStmt);
n->dictname = (yyvsp[-1].list);
n->options = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 38375 "gram.c" /* yacc.c:1646 */
break;
case 1504:
#line 10376 "gram.y" /* yacc.c:1646 */
{
AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
n->kind = ALTER_TSCONFIG_ADD_MAPPING;
n->cfgname = (yyvsp[-6].list);
n->tokentype = (yyvsp[-2].list);
n->dicts = (yyvsp[0].list);
n->override = false;
n->replace = false;
(yyval.node) = (Node*)n;
}
#line 38390 "gram.c" /* yacc.c:1646 */
break;
case 1505:
#line 10387 "gram.y" /* yacc.c:1646 */
{
AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
n->kind = ALTER_TSCONFIG_ALTER_MAPPING_FOR_TOKEN;
n->cfgname = (yyvsp[-6].list);
n->tokentype = (yyvsp[-2].list);
n->dicts = (yyvsp[0].list);
n->override = true;
n->replace = false;
(yyval.node) = (Node*)n;
}
#line 38405 "gram.c" /* yacc.c:1646 */
break;
case 1506:
#line 10398 "gram.y" /* yacc.c:1646 */
{
AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
n->kind = ALTER_TSCONFIG_REPLACE_DICT;
n->cfgname = (yyvsp[-6].list);
n->tokentype = NIL;
n->dicts = list_make2((yyvsp[-2].list),(yyvsp[0].list));
n->override = false;
n->replace = true;
(yyval.node) = (Node*)n;
}
#line 38420 "gram.c" /* yacc.c:1646 */
break;
case 1507:
#line 10409 "gram.y" /* yacc.c:1646 */
{
AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
n->kind = ALTER_TSCONFIG_REPLACE_DICT_FOR_TOKEN;
n->cfgname = (yyvsp[-8].list);
n->tokentype = (yyvsp[-4].list);
n->dicts = list_make2((yyvsp[-2].list),(yyvsp[0].list));
n->override = false;
n->replace = true;
(yyval.node) = (Node*)n;
}
#line 38435 "gram.c" /* yacc.c:1646 */
break;
case 1508:
#line 10420 "gram.y" /* yacc.c:1646 */
{
AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
n->kind = ALTER_TSCONFIG_DROP_MAPPING;
n->cfgname = (yyvsp[-4].list);
n->tokentype = (yyvsp[0].list);
n->missing_ok = false;
(yyval.node) = (Node*)n;
}
#line 38448 "gram.c" /* yacc.c:1646 */
break;
case 1509:
#line 10429 "gram.y" /* yacc.c:1646 */
{
AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
n->kind = ALTER_TSCONFIG_DROP_MAPPING;
n->cfgname = (yyvsp[-6].list);
n->tokentype = (yyvsp[0].list);
n->missing_ok = true;
(yyval.node) = (Node*)n;
}
#line 38461 "gram.c" /* yacc.c:1646 */
break;
case 1510:
#line 10440 "gram.y" /* yacc.c:1646 */
{}
#line 38467 "gram.c" /* yacc.c:1646 */
break;
case 1511:
#line 10441 "gram.y" /* yacc.c:1646 */
{}
#line 38473 "gram.c" /* yacc.c:1646 */
break;
case 1512:
#line 10457 "gram.y" /* yacc.c:1646 */
{
CreateConversionStmt *n = makeNode(CreateConversionStmt);
n->conversion_name = (yyvsp[-6].list);
n->for_encoding_name = (yyvsp[-4].str);
n->to_encoding_name = (yyvsp[-2].str);
n->func_name = (yyvsp[0].list);
n->def = (yyvsp[-8].boolean);
(yyval.node) = (Node *)n;
}
#line 38487 "gram.c" /* yacc.c:1646 */
break;
case 1513:
#line 10479 "gram.y" /* yacc.c:1646 */
{
ClusterStmt *n = makeNode(ClusterStmt);
n->relation = (yyvsp[-1].range);
n->indexname = (yyvsp[0].str);
n->verbose = (yyvsp[-2].boolean);
(yyval.node) = (Node*)n;
}
#line 38499 "gram.c" /* yacc.c:1646 */
break;
case 1514:
#line 10487 "gram.y" /* yacc.c:1646 */
{
ClusterStmt *n = makeNode(ClusterStmt);
n->relation = NULL;
n->indexname = NULL;
n->verbose = (yyvsp[0].boolean);
(yyval.node) = (Node*)n;
}
#line 38511 "gram.c" /* yacc.c:1646 */
break;
case 1515:
#line 10496 "gram.y" /* yacc.c:1646 */
{
ClusterStmt *n = makeNode(ClusterStmt);
n->relation = (yyvsp[0].range);
n->indexname = (yyvsp[-2].str);
n->verbose = (yyvsp[-3].boolean);
(yyval.node) = (Node*)n;
}
#line 38523 "gram.c" /* yacc.c:1646 */
break;
case 1516:
#line 10506 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = (yyvsp[0].str); }
#line 38529 "gram.c" /* yacc.c:1646 */
break;
case 1517:
#line 10507 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = NULL; }
#line 38535 "gram.c" /* yacc.c:1646 */
break;
case 1518:
#line 10520 "gram.y" /* yacc.c:1646 */
{
VacuumStmt *n = makeNode(VacuumStmt);
n->options = VACOPT_VACUUM;
if ((yyvsp[-4].boolean))
n->options |= VACOPT_FULL;
if ((yyvsp[-3].boolean))
n->options |= VACOPT_FREEZE;
if ((yyvsp[-2].boolean))
n->options |= VACOPT_VERBOSE;
if ((yyvsp[-1].boolean))
n->options |= VACOPT_ANALYZE;
n->rels = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 38554 "gram.c" /* yacc.c:1646 */
break;
case 1519:
#line 10535 "gram.y" /* yacc.c:1646 */
{
VacuumStmt *n = makeNode(VacuumStmt);
n->options = VACOPT_VACUUM | (yyvsp[-2].ival);
n->rels = (yyvsp[0].list);
(yyval.node) = (Node *) n;
}
#line 38565 "gram.c" /* yacc.c:1646 */
break;
case 1520:
#line 10544 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = (yyvsp[0].ival); }
#line 38571 "gram.c" /* yacc.c:1646 */
break;
case 1521:
#line 10545 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = (yyvsp[-2].ival) | (yyvsp[0].ival); }
#line 38577 "gram.c" /* yacc.c:1646 */
break;
case 1522:
#line 10549 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = VACOPT_ANALYZE; }
#line 38583 "gram.c" /* yacc.c:1646 */
break;
case 1523:
#line 10550 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = VACOPT_VERBOSE; }
#line 38589 "gram.c" /* yacc.c:1646 */
break;
case 1524:
#line 10551 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = VACOPT_FREEZE; }
#line 38595 "gram.c" /* yacc.c:1646 */
break;
case 1525:
#line 10552 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = VACOPT_FULL; }
#line 38601 "gram.c" /* yacc.c:1646 */
break;
case 1526:
#line 10554 "gram.y" /* yacc.c:1646 */
{
if (strcmp((yyvsp[0].str), "disable_page_skipping") == 0)
(yyval.ival) = VACOPT_DISABLE_PAGE_SKIPPING;
else
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("unrecognized VACUUM option \"%s\"", (yyvsp[0].str)),
parser_errposition((yylsp[0]))));
}
#line 38615 "gram.c" /* yacc.c:1646 */
break;
case 1527:
#line 10566 "gram.y" /* yacc.c:1646 */
{
VacuumStmt *n = makeNode(VacuumStmt);
n->options = VACOPT_ANALYZE;
if ((yyvsp[-1].boolean))
n->options |= VACOPT_VERBOSE;
n->rels = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 38628 "gram.c" /* yacc.c:1646 */
break;
case 1528:
#line 10575 "gram.y" /* yacc.c:1646 */
{
VacuumStmt *n = makeNode(VacuumStmt);
n->options = VACOPT_ANALYZE | (yyvsp[-2].ival);
n->rels = (yyvsp[0].list);
(yyval.node) = (Node *) n;
}
#line 38639 "gram.c" /* yacc.c:1646 */
break;
case 1529:
#line 10584 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = (yyvsp[0].ival); }
#line 38645 "gram.c" /* yacc.c:1646 */
break;
case 1530:
#line 10585 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = (yyvsp[-2].ival) | (yyvsp[0].ival); }
#line 38651 "gram.c" /* yacc.c:1646 */
break;
case 1531:
#line 10589 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = VACOPT_VERBOSE; }
#line 38657 "gram.c" /* yacc.c:1646 */
break;
case 1532:
#line 10593 "gram.y" /* yacc.c:1646 */
{}
#line 38663 "gram.c" /* yacc.c:1646 */
break;
case 1533:
#line 10594 "gram.y" /* yacc.c:1646 */
{}
#line 38669 "gram.c" /* yacc.c:1646 */
break;
case 1534:
#line 10598 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = true; }
#line 38675 "gram.c" /* yacc.c:1646 */
break;
case 1535:
#line 10599 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = false; }
#line 38681 "gram.c" /* yacc.c:1646 */
break;
case 1536:
#line 10603 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = true; }
#line 38687 "gram.c" /* yacc.c:1646 */
break;
case 1537:
#line 10604 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = false; }
#line 38693 "gram.c" /* yacc.c:1646 */
break;
case 1538:
#line 10607 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = true; }
#line 38699 "gram.c" /* yacc.c:1646 */
break;
case 1539:
#line 10608 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = false; }
#line 38705 "gram.c" /* yacc.c:1646 */
break;
case 1540:
#line 10611 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = true; }
#line 38711 "gram.c" /* yacc.c:1646 */
break;
case 1541:
#line 10612 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = false; }
#line 38717 "gram.c" /* yacc.c:1646 */
break;
case 1542:
#line 10616 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 38723 "gram.c" /* yacc.c:1646 */
break;
case 1543:
#line 10617 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 38729 "gram.c" /* yacc.c:1646 */
break;
case 1544:
#line 10622 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = (Node *) makeVacuumRelation((yyvsp[-1].range), InvalidOid, (yyvsp[0].list));
}
#line 38737 "gram.c" /* yacc.c:1646 */
break;
case 1545:
#line 10629 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1((yyvsp[0].node)); }
#line 38743 "gram.c" /* yacc.c:1646 */
break;
case 1546:
#line 10631 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
#line 38749 "gram.c" /* yacc.c:1646 */
break;
case 1547:
#line 10635 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[0].list); }
#line 38755 "gram.c" /* yacc.c:1646 */
break;
case 1548:
#line 10636 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 38761 "gram.c" /* yacc.c:1646 */
break;
case 1549:
#line 10650 "gram.y" /* yacc.c:1646 */
{
ExplainStmt *n = makeNode(ExplainStmt);
n->query = (yyvsp[0].node);
n->options = NIL;
(yyval.node) = (Node *) n;
}
#line 38772 "gram.c" /* yacc.c:1646 */
break;
case 1550:
#line 10657 "gram.y" /* yacc.c:1646 */
{
ExplainStmt *n = makeNode(ExplainStmt);
n->query = (yyvsp[0].node);
n->options = list_make1(makeDefElem("analyze", NULL, (yylsp[-2])));
if ((yyvsp[-1].boolean))
n->options = lappend(n->options,
makeDefElem("verbose", NULL, (yylsp[-1])));
(yyval.node) = (Node *) n;
}
#line 38786 "gram.c" /* yacc.c:1646 */
break;
case 1551:
#line 10667 "gram.y" /* yacc.c:1646 */
{
ExplainStmt *n = makeNode(ExplainStmt);
n->query = (yyvsp[0].node);
n->options = list_make1(makeDefElem("verbose", NULL, (yylsp[-1])));
(yyval.node) = (Node *) n;
}
#line 38797 "gram.c" /* yacc.c:1646 */
break;
case 1552:
#line 10674 "gram.y" /* yacc.c:1646 */
{
ExplainStmt *n = makeNode(ExplainStmt);
n->query = (yyvsp[0].node);
n->options = (yyvsp[-2].list);
(yyval.node) = (Node *) n;
}
#line 38808 "gram.c" /* yacc.c:1646 */
break;
case 1562:
#line 10696 "gram.y" /* yacc.c:1646 */
{
(yyval.list) = list_make1((yyvsp[0].defelt));
}
#line 38816 "gram.c" /* yacc.c:1646 */
break;
case 1563:
#line 10700 "gram.y" /* yacc.c:1646 */
{
(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
}
#line 38824 "gram.c" /* yacc.c:1646 */
break;
case 1564:
#line 10707 "gram.y" /* yacc.c:1646 */
{
(yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1]));
}
#line 38832 "gram.c" /* yacc.c:1646 */
break;
case 1565:
#line 10713 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = (yyvsp[0].str); }
#line 38838 "gram.c" /* yacc.c:1646 */
break;
case 1566:
#line 10714 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = "analyze"; }
#line 38844 "gram.c" /* yacc.c:1646 */
break;
case 1567:
#line 10718 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
#line 38850 "gram.c" /* yacc.c:1646 */
break;
case 1568:
#line 10719 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (Node *) (yyvsp[0].value); }
#line 38856 "gram.c" /* yacc.c:1646 */
break;
case 1569:
#line 10720 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = NULL; }
#line 38862 "gram.c" /* yacc.c:1646 */
break;
case 1570:
#line 10731 "gram.y" /* yacc.c:1646 */
{
PrepareStmt *n = makeNode(PrepareStmt);
n->name = (yyvsp[-3].str);
n->argtypes = (yyvsp[-2].list);
n->query = (yyvsp[0].node);
(yyval.node) = (Node *) n;
}
#line 38874 "gram.c" /* yacc.c:1646 */
break;
case 1571:
#line 10740 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 38880 "gram.c" /* yacc.c:1646 */
break;
case 1572:
#line 10741 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 38886 "gram.c" /* yacc.c:1646 */
break;
case 1577:
#line 10759 "gram.y" /* yacc.c:1646 */
{
ExecuteStmt *n = makeNode(ExecuteStmt);
n->name = (yyvsp[-1].str);
n->params = (yyvsp[0].list);
(yyval.node) = (Node *) n;
}
#line 38897 "gram.c" /* yacc.c:1646 */
break;
case 1578:
#line 10767 "gram.y" /* yacc.c:1646 */
{
CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
ExecuteStmt *n = makeNode(ExecuteStmt);
n->name = (yyvsp[-2].str);
n->params = (yyvsp[-1].list);
ctas->query = (Node *) n;
ctas->into = (yyvsp[-5].into);
ctas->relkind = OBJECT_TABLE;
ctas->is_select_into = false;
/* cram additional flags into the IntoClause */
(yyvsp[-5].into)->rel->relpersistence = (yyvsp[-7].ival);
(yyvsp[-5].into)->skipData = !((yyvsp[0].boolean));
(yyval.node) = (Node *) ctas;
}
#line 38916 "gram.c" /* yacc.c:1646 */
break;
case 1579:
#line 10783 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 38922 "gram.c" /* yacc.c:1646 */
break;
case 1580:
#line 10784 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 38928 "gram.c" /* yacc.c:1646 */
break;
case 1581:
#line 10795 "gram.y" /* yacc.c:1646 */
{
DeallocateStmt *n = makeNode(DeallocateStmt);
n->name = (yyvsp[0].str);
(yyval.node) = (Node *) n;
}
#line 38938 "gram.c" /* yacc.c:1646 */
break;
case 1582:
#line 10801 "gram.y" /* yacc.c:1646 */
{
DeallocateStmt *n = makeNode(DeallocateStmt);
n->name = (yyvsp[0].str);
(yyval.node) = (Node *) n;
}
#line 38948 "gram.c" /* yacc.c:1646 */
break;
case 1583:
#line 10807 "gram.y" /* yacc.c:1646 */
{
DeallocateStmt *n = makeNode(DeallocateStmt);
n->name = NULL;
(yyval.node) = (Node *) n;
}
#line 38958 "gram.c" /* yacc.c:1646 */
break;
case 1584:
#line 10813 "gram.y" /* yacc.c:1646 */
{
DeallocateStmt *n = makeNode(DeallocateStmt);
n->name = NULL;
(yyval.node) = (Node *) n;
}
#line 38968 "gram.c" /* yacc.c:1646 */
break;
case 1585:
#line 10830 "gram.y" /* yacc.c:1646 */
{
(yyvsp[-2].istmt)->relation = (yyvsp[-3].range);
(yyvsp[-2].istmt)->onConflictClause = (yyvsp[-1].onconflict);
(yyvsp[-2].istmt)->returningList = (yyvsp[0].list);
(yyvsp[-2].istmt)->withClause = (yyvsp[-6].with);
(yyval.node) = (Node *) (yyvsp[-2].istmt);
}
#line 38980 "gram.c" /* yacc.c:1646 */
break;
case 1586:
#line 10847 "gram.y" /* yacc.c:1646 */
{
(yyval.range) = (yyvsp[0].range);
}
#line 38988 "gram.c" /* yacc.c:1646 */
break;
case 1587:
#line 10851 "gram.y" /* yacc.c:1646 */
{
(yyvsp[-2].range)->alias = makeAlias((yyvsp[0].str), NIL);
(yyval.range) = (yyvsp[-2].range);
}
#line 38997 "gram.c" /* yacc.c:1646 */
break;
case 1588:
#line 10859 "gram.y" /* yacc.c:1646 */
{
(yyval.istmt) = makeNode(InsertStmt);
(yyval.istmt)->cols = NIL;
(yyval.istmt)->selectStmt = (yyvsp[0].node);
}
#line 39007 "gram.c" /* yacc.c:1646 */
break;
case 1589:
#line 10865 "gram.y" /* yacc.c:1646 */
{
(yyval.istmt) = makeNode(InsertStmt);
(yyval.istmt)->cols = NIL;
(yyval.istmt)->override = (yyvsp[-2].ival);
(yyval.istmt)->selectStmt = (yyvsp[0].node);
}
#line 39018 "gram.c" /* yacc.c:1646 */
break;
case 1590:
#line 10872 "gram.y" /* yacc.c:1646 */
{
(yyval.istmt) = makeNode(InsertStmt);
(yyval.istmt)->cols = (yyvsp[-2].list);
(yyval.istmt)->selectStmt = (yyvsp[0].node);
}
#line 39028 "gram.c" /* yacc.c:1646 */
break;
case 1591:
#line 10878 "gram.y" /* yacc.c:1646 */
{
(yyval.istmt) = makeNode(InsertStmt);
(yyval.istmt)->cols = (yyvsp[-5].list);
(yyval.istmt)->override = (yyvsp[-2].ival);
(yyval.istmt)->selectStmt = (yyvsp[0].node);
}
#line 39039 "gram.c" /* yacc.c:1646 */
break;
case 1592:
#line 10885 "gram.y" /* yacc.c:1646 */
{
(yyval.istmt) = makeNode(InsertStmt);
(yyval.istmt)->cols = NIL;
(yyval.istmt)->selectStmt = NULL;
}
#line 39049 "gram.c" /* yacc.c:1646 */
break;
case 1593:
#line 10893 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = OVERRIDING_USER_VALUE; }
#line 39055 "gram.c" /* yacc.c:1646 */
break;
case 1594:
#line 10894 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = OVERRIDING_SYSTEM_VALUE; }
#line 39061 "gram.c" /* yacc.c:1646 */
break;
case 1595:
#line 10899 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1((yyvsp[0].target)); }
#line 39067 "gram.c" /* yacc.c:1646 */
break;
case 1596:
#line 10901 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
#line 39073 "gram.c" /* yacc.c:1646 */
break;
case 1597:
#line 10906 "gram.y" /* yacc.c:1646 */
{
(yyval.target) = makeNode(ResTarget);
(yyval.target)->name = (yyvsp[-1].str);
(yyval.target)->indirection = check_indirection((yyvsp[0].list), yyscanner);
(yyval.target)->val = NULL;
(yyval.target)->location = (yylsp[-1]);
}
#line 39085 "gram.c" /* yacc.c:1646 */
break;
case 1598:
#line 10917 "gram.y" /* yacc.c:1646 */
{
(yyval.onconflict) = makeNode(OnConflictClause);
(yyval.onconflict)->action = ONCONFLICT_UPDATE;
(yyval.onconflict)->infer = (yyvsp[-5].infer);
(yyval.onconflict)->targetList = (yyvsp[-1].list);
(yyval.onconflict)->whereClause = (yyvsp[0].node);
(yyval.onconflict)->location = (yylsp[-7]);
}
#line 39098 "gram.c" /* yacc.c:1646 */
break;
case 1599:
#line 10927 "gram.y" /* yacc.c:1646 */
{
(yyval.onconflict) = makeNode(OnConflictClause);
(yyval.onconflict)->action = ONCONFLICT_NOTHING;
(yyval.onconflict)->infer = (yyvsp[-2].infer);
(yyval.onconflict)->targetList = NIL;
(yyval.onconflict)->whereClause = NULL;
(yyval.onconflict)->location = (yylsp[-4]);
}
#line 39111 "gram.c" /* yacc.c:1646 */
break;
case 1600:
#line 10936 "gram.y" /* yacc.c:1646 */
{
(yyval.onconflict) = NULL;
}
#line 39119 "gram.c" /* yacc.c:1646 */
break;
case 1601:
#line 10943 "gram.y" /* yacc.c:1646 */
{
(yyval.infer) = makeNode(InferClause);
(yyval.infer)->indexElems = (yyvsp[-2].list);
(yyval.infer)->whereClause = (yyvsp[0].node);
(yyval.infer)->conname = NULL;
(yyval.infer)->location = (yylsp[-3]);
}
#line 39131 "gram.c" /* yacc.c:1646 */
break;
case 1602:
#line 10952 "gram.y" /* yacc.c:1646 */
{
(yyval.infer) = makeNode(InferClause);
(yyval.infer)->indexElems = NIL;
(yyval.infer)->whereClause = NULL;
(yyval.infer)->conname = (yyvsp[0].str);
(yyval.infer)->location = (yylsp[-2]);
}
#line 39143 "gram.c" /* yacc.c:1646 */
break;
case 1603:
#line 10960 "gram.y" /* yacc.c:1646 */
{
(yyval.infer) = NULL;
}
#line 39151 "gram.c" /* yacc.c:1646 */
break;
case 1604:
#line 10966 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[0].list); }
#line 39157 "gram.c" /* yacc.c:1646 */
break;
case 1605:
#line 10967 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 39163 "gram.c" /* yacc.c:1646 */
break;
case 1606:
#line 10980 "gram.y" /* yacc.c:1646 */
{
DeleteStmt *n = makeNode(DeleteStmt);
n->relation = (yyvsp[-3].range);
n->usingClause = (yyvsp[-2].list);
n->whereClause = (yyvsp[-1].node);
n->returningList = (yyvsp[0].list);
n->withClause = (yyvsp[-6].with);
(yyval.node) = (Node *)n;
}
#line 39177 "gram.c" /* yacc.c:1646 */
break;
case 1607:
#line 10992 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[0].list); }
#line 39183 "gram.c" /* yacc.c:1646 */
break;
case 1608:
#line 10993 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 39189 "gram.c" /* yacc.c:1646 */
break;
case 1609:
#line 11005 "gram.y" /* yacc.c:1646 */
{
LockStmt *n = makeNode(LockStmt);
n->relations = (yyvsp[-2].list);
n->mode = (yyvsp[-1].ival);
n->nowait = (yyvsp[0].boolean);
(yyval.node) = (Node *)n;
}
#line 39202 "gram.c" /* yacc.c:1646 */
break;
case 1610:
#line 11015 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = (yyvsp[-1].ival); }
#line 39208 "gram.c" /* yacc.c:1646 */
break;
case 1611:
#line 11016 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = AccessExclusiveLock; }
#line 39214 "gram.c" /* yacc.c:1646 */
break;
case 1612:
#line 11019 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = AccessShareLock; }
#line 39220 "gram.c" /* yacc.c:1646 */
break;
case 1613:
#line 11020 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = RowShareLock; }
#line 39226 "gram.c" /* yacc.c:1646 */
break;
case 1614:
#line 11021 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = RowExclusiveLock; }
#line 39232 "gram.c" /* yacc.c:1646 */
break;
case 1615:
#line 11022 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = ShareUpdateExclusiveLock; }
#line 39238 "gram.c" /* yacc.c:1646 */
break;
case 1616:
#line 11023 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = ShareLock; }
#line 39244 "gram.c" /* yacc.c:1646 */
break;
case 1617:
#line 11024 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = ShareRowExclusiveLock; }
#line 39250 "gram.c" /* yacc.c:1646 */
break;
case 1618:
#line 11025 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = ExclusiveLock; }
#line 39256 "gram.c" /* yacc.c:1646 */
break;
case 1619:
#line 11026 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = AccessExclusiveLock; }
#line 39262 "gram.c" /* yacc.c:1646 */
break;
case 1620:
#line 11029 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = true; }
#line 39268 "gram.c" /* yacc.c:1646 */
break;
case 1621:
#line 11030 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = false; }
#line 39274 "gram.c" /* yacc.c:1646 */
break;
case 1622:
#line 11034 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = LockWaitError; }
#line 39280 "gram.c" /* yacc.c:1646 */
break;
case 1623:
#line 11035 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = LockWaitSkip; }
#line 39286 "gram.c" /* yacc.c:1646 */
break;
case 1624:
#line 11036 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = LockWaitBlock; }
#line 39292 "gram.c" /* yacc.c:1646 */
break;
case 1625:
#line 11052 "gram.y" /* yacc.c:1646 */
{
UpdateStmt *n = makeNode(UpdateStmt);
n->relation = (yyvsp[-5].range);
n->targetList = (yyvsp[-3].list);
n->fromClause = (yyvsp[-2].list);
n->whereClause = (yyvsp[-1].node);
n->returningList = (yyvsp[0].list);
n->withClause = (yyvsp[-7].with);
(yyval.node) = (Node *)n;
}
#line 39307 "gram.c" /* yacc.c:1646 */
break;
case 1626:
#line 11065 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[0].list); }
#line 39313 "gram.c" /* yacc.c:1646 */
break;
case 1627:
#line 11066 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_concat((yyvsp[-2].list),(yyvsp[0].list)); }
#line 39319 "gram.c" /* yacc.c:1646 */
break;
case 1628:
#line 11071 "gram.y" /* yacc.c:1646 */
{
(yyvsp[-2].target)->val = (Node *) (yyvsp[0].node);
(yyval.list) = list_make1((yyvsp[-2].target));
}
#line 39328 "gram.c" /* yacc.c:1646 */
break;
case 1629:
#line 11076 "gram.y" /* yacc.c:1646 */
{
int ncolumns = list_length((yyvsp[-3].list));
int i = 1;
ListCell *col_cell;
/* Create a MultiAssignRef source for each target */
foreach(col_cell, (yyvsp[-3].list))
{
ResTarget *res_col = (ResTarget *) lfirst(col_cell);
MultiAssignRef *r = makeNode(MultiAssignRef);
r->source = (Node *) (yyvsp[0].node);
r->colno = i;
r->ncolumns = ncolumns;
res_col->val = (Node *) r;
i++;
}
(yyval.list) = (yyvsp[-3].list);
}
#line 39353 "gram.c" /* yacc.c:1646 */
break;
case 1630:
#line 11100 "gram.y" /* yacc.c:1646 */
{
(yyval.target) = makeNode(ResTarget);
(yyval.target)->name = (yyvsp[-1].str);
(yyval.target)->indirection = check_indirection((yyvsp[0].list), yyscanner);
(yyval.target)->val = NULL; /* upper production sets this */
(yyval.target)->location = (yylsp[-1]);
}
#line 39365 "gram.c" /* yacc.c:1646 */
break;
case 1631:
#line 11110 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1((yyvsp[0].target)); }
#line 39371 "gram.c" /* yacc.c:1646 */
break;
case 1632:
#line 11111 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-2].list),(yyvsp[0].target)); }
#line 39377 "gram.c" /* yacc.c:1646 */
break;
case 1633:
#line 11122 "gram.y" /* yacc.c:1646 */
{
DeclareCursorStmt *n = makeNode(DeclareCursorStmt);
n->portalname = (yyvsp[-5].str);
/* currently we always set FAST_PLAN option */
n->options = (yyvsp[-4].ival) | (yyvsp[-2].ival) | CURSOR_OPT_FAST_PLAN;
n->query = (yyvsp[0].node);
(yyval.node) = (Node *)n;
}
#line 39390 "gram.c" /* yacc.c:1646 */
break;
case 1634:
#line 11132 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = (yyvsp[0].str); }
#line 39396 "gram.c" /* yacc.c:1646 */
break;
case 1635:
#line 11135 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = 0; }
#line 39402 "gram.c" /* yacc.c:1646 */
break;
case 1636:
#line 11136 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = (yyvsp[-2].ival) | CURSOR_OPT_NO_SCROLL; }
#line 39408 "gram.c" /* yacc.c:1646 */
break;
case 1637:
#line 11137 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = (yyvsp[-1].ival) | CURSOR_OPT_SCROLL; }
#line 39414 "gram.c" /* yacc.c:1646 */
break;
case 1638:
#line 11138 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = (yyvsp[-1].ival) | CURSOR_OPT_BINARY; }
#line 39420 "gram.c" /* yacc.c:1646 */
break;
case 1639:
#line 11139 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = (yyvsp[-1].ival) | CURSOR_OPT_INSENSITIVE; }
#line 39426 "gram.c" /* yacc.c:1646 */
break;
case 1640:
#line 11142 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = 0; }
#line 39432 "gram.c" /* yacc.c:1646 */
break;
case 1641:
#line 11143 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = CURSOR_OPT_HOLD; }
#line 39438 "gram.c" /* yacc.c:1646 */
break;
case 1642:
#line 11144 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = 0; }
#line 39444 "gram.c" /* yacc.c:1646 */
break;
case 1645:
#line 11197 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (yyvsp[-1].node); }
#line 39450 "gram.c" /* yacc.c:1646 */
break;
case 1646:
#line 11198 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (yyvsp[-1].node); }
#line 39456 "gram.c" /* yacc.c:1646 */
break;
case 1647:
#line 11213 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (yyvsp[0].node); }
#line 39462 "gram.c" /* yacc.c:1646 */
break;
case 1648:
#line 11215 "gram.y" /* yacc.c:1646 */
{
insertSelectOptions((SelectStmt *) (yyvsp[-1].node), (yyvsp[0].list), NIL,
NULL, NULL, NULL,
yyscanner);
(yyval.node) = (yyvsp[-1].node);
}
#line 39473 "gram.c" /* yacc.c:1646 */
break;
case 1649:
#line 11222 "gram.y" /* yacc.c:1646 */
{
insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[-1].list),
list_nth((yyvsp[0].list), 0), list_nth((yyvsp[0].list), 1),
NULL,
yyscanner);
(yyval.node) = (yyvsp[-3].node);
}
#line 39485 "gram.c" /* yacc.c:1646 */
break;
case 1650:
#line 11230 "gram.y" /* yacc.c:1646 */
{
insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[0].list),
list_nth((yyvsp[-1].list), 0), list_nth((yyvsp[-1].list), 1),
NULL,
yyscanner);
(yyval.node) = (yyvsp[-3].node);
}
#line 39497 "gram.c" /* yacc.c:1646 */
break;
case 1651:
#line 11238 "gram.y" /* yacc.c:1646 */
{
insertSelectOptions((SelectStmt *) (yyvsp[0].node), NULL, NIL,
NULL, NULL,
(yyvsp[-1].with),
yyscanner);
(yyval.node) = (yyvsp[0].node);
}
#line 39509 "gram.c" /* yacc.c:1646 */
break;
case 1652:
#line 11246 "gram.y" /* yacc.c:1646 */
{
insertSelectOptions((SelectStmt *) (yyvsp[-1].node), (yyvsp[0].list), NIL,
NULL, NULL,
(yyvsp[-2].with),
yyscanner);
(yyval.node) = (yyvsp[-1].node);
}
#line 39521 "gram.c" /* yacc.c:1646 */
break;
case 1653:
#line 11254 "gram.y" /* yacc.c:1646 */
{
insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[-1].list),
list_nth((yyvsp[0].list), 0), list_nth((yyvsp[0].list), 1),
(yyvsp[-4].with),
yyscanner);
(yyval.node) = (yyvsp[-3].node);
}
#line 39533 "gram.c" /* yacc.c:1646 */
break;
case 1654:
#line 11262 "gram.y" /* yacc.c:1646 */
{
insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[0].list),
list_nth((yyvsp[-1].list), 0), list_nth((yyvsp[-1].list), 1),
(yyvsp[-4].with),
yyscanner);
(yyval.node) = (yyvsp[-3].node);
}
#line 39545 "gram.c" /* yacc.c:1646 */
break;
case 1655:
#line 11272 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (yyvsp[0].node); }
#line 39551 "gram.c" /* yacc.c:1646 */
break;
case 1656:
#line 11273 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (yyvsp[0].node); }
#line 39557 "gram.c" /* yacc.c:1646 */
break;
case 1657:
#line 11303 "gram.y" /* yacc.c:1646 */
{
SelectStmt *n = makeNode(SelectStmt);
n->targetList = (yyvsp[-6].list);
n->intoClause = (yyvsp[-5].into);
n->fromClause = (yyvsp[-4].list);
n->whereClause = (yyvsp[-3].node);
n->groupClause = (yyvsp[-2].list);
n->havingClause = (yyvsp[-1].node);
n->windowClause = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 39573 "gram.c" /* yacc.c:1646 */
break;
case 1658:
#line 11317 "gram.y" /* yacc.c:1646 */
{
SelectStmt *n = makeNode(SelectStmt);
n->distinctClause = (yyvsp[-7].list);
n->targetList = (yyvsp[-6].list);
n->intoClause = (yyvsp[-5].into);
n->fromClause = (yyvsp[-4].list);
n->whereClause = (yyvsp[-3].node);
n->groupClause = (yyvsp[-2].list);
n->havingClause = (yyvsp[-1].node);
n->windowClause = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 39590 "gram.c" /* yacc.c:1646 */
break;
case 1659:
#line 11329 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (yyvsp[0].node); }
#line 39596 "gram.c" /* yacc.c:1646 */
break;
case 1660:
#line 11331 "gram.y" /* yacc.c:1646 */
{
/* same as SELECT * FROM relation_expr */
ColumnRef *cr = makeNode(ColumnRef);
ResTarget *rt = makeNode(ResTarget);
SelectStmt *n = makeNode(SelectStmt);
cr->fields = list_make1(makeNode(A_Star));
cr->location = -1;
rt->name = NULL;
rt->indirection = NIL;
rt->val = (Node *)cr;
rt->location = -1;
n->targetList = list_make1(rt);
n->fromClause = list_make1((yyvsp[0].range));
(yyval.node) = (Node *)n;
}
#line 39619 "gram.c" /* yacc.c:1646 */
break;
case 1661:
#line 11350 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = makeSetOp(SETOP_UNION, (yyvsp[-1].boolean), (yyvsp[-3].node), (yyvsp[0].node));
}
#line 39627 "gram.c" /* yacc.c:1646 */
break;
case 1662:
#line 11354 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = makeSetOp(SETOP_INTERSECT, (yyvsp[-1].boolean), (yyvsp[-3].node), (yyvsp[0].node));
}
#line 39635 "gram.c" /* yacc.c:1646 */
break;
case 1663:
#line 11358 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = makeSetOp(SETOP_EXCEPT, (yyvsp[-1].boolean), (yyvsp[-3].node), (yyvsp[0].node));
}
#line 39643 "gram.c" /* yacc.c:1646 */
break;
case 1664:
#line 11375 "gram.y" /* yacc.c:1646 */
{
(yyval.with) = makeNode(WithClause);
(yyval.with)->ctes = (yyvsp[0].list);
(yyval.with)->recursive = false;
(yyval.with)->location = (yylsp[-1]);
}
#line 39654 "gram.c" /* yacc.c:1646 */
break;
case 1665:
#line 11382 "gram.y" /* yacc.c:1646 */
{
(yyval.with) = makeNode(WithClause);
(yyval.with)->ctes = (yyvsp[0].list);
(yyval.with)->recursive = false;
(yyval.with)->location = (yylsp[-1]);
}
#line 39665 "gram.c" /* yacc.c:1646 */
break;
case 1666:
#line 11389 "gram.y" /* yacc.c:1646 */
{
(yyval.with) = makeNode(WithClause);
(yyval.with)->ctes = (yyvsp[0].list);
(yyval.with)->recursive = true;
(yyval.with)->location = (yylsp[-2]);
}
#line 39676 "gram.c" /* yacc.c:1646 */
break;
case 1667:
#line 11398 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1((yyvsp[0].node)); }
#line 39682 "gram.c" /* yacc.c:1646 */
break;
case 1668:
#line 11399 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
#line 39688 "gram.c" /* yacc.c:1646 */
break;
case 1669:
#line 11403 "gram.y" /* yacc.c:1646 */
{
CommonTableExpr *n = makeNode(CommonTableExpr);
n->ctename = (yyvsp[-5].str);
n->aliascolnames = (yyvsp[-4].list);
n->ctequery = (yyvsp[-1].node);
n->location = (yylsp[-5]);
(yyval.node) = (Node *) n;
}
#line 39701 "gram.c" /* yacc.c:1646 */
break;
case 1670:
#line 11414 "gram.y" /* yacc.c:1646 */
{ (yyval.with) = (yyvsp[0].with); }
#line 39707 "gram.c" /* yacc.c:1646 */
break;
case 1671:
#line 11415 "gram.y" /* yacc.c:1646 */
{ (yyval.with) = NULL; }
#line 39713 "gram.c" /* yacc.c:1646 */
break;
case 1672:
#line 11420 "gram.y" /* yacc.c:1646 */
{
(yyval.into) = makeNode(IntoClause);
(yyval.into)->rel = (yyvsp[0].range);
(yyval.into)->colNames = NIL;
(yyval.into)->options = NIL;
(yyval.into)->onCommit = ONCOMMIT_NOOP;
(yyval.into)->tableSpaceName = NULL;
(yyval.into)->viewQuery = NULL;
(yyval.into)->skipData = false;
}
#line 39728 "gram.c" /* yacc.c:1646 */
break;
case 1673:
#line 11431 "gram.y" /* yacc.c:1646 */
{ (yyval.into) = NULL; }
#line 39734 "gram.c" /* yacc.c:1646 */
break;
case 1674:
#line 11440 "gram.y" /* yacc.c:1646 */
{
(yyval.range) = (yyvsp[0].range);
(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
}
#line 39743 "gram.c" /* yacc.c:1646 */
break;
case 1675:
#line 11445 "gram.y" /* yacc.c:1646 */
{
(yyval.range) = (yyvsp[0].range);
(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
}
#line 39752 "gram.c" /* yacc.c:1646 */
break;
case 1676:
#line 11450 "gram.y" /* yacc.c:1646 */
{
(yyval.range) = (yyvsp[0].range);
(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
}
#line 39761 "gram.c" /* yacc.c:1646 */
break;
case 1677:
#line 11455 "gram.y" /* yacc.c:1646 */
{
(yyval.range) = (yyvsp[0].range);
(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
}
#line 39770 "gram.c" /* yacc.c:1646 */
break;
case 1678:
#line 11460 "gram.y" /* yacc.c:1646 */
{
ereport(WARNING,
(errmsg("GLOBAL is deprecated in temporary table creation"),
parser_errposition((yylsp[-3]))));
(yyval.range) = (yyvsp[0].range);
(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
}
#line 39782 "gram.c" /* yacc.c:1646 */
break;
case 1679:
#line 11468 "gram.y" /* yacc.c:1646 */
{
ereport(WARNING,
(errmsg("GLOBAL is deprecated in temporary table creation"),
parser_errposition((yylsp[-3]))));
(yyval.range) = (yyvsp[0].range);
(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
}
#line 39794 "gram.c" /* yacc.c:1646 */
break;
case 1680:
#line 11476 "gram.y" /* yacc.c:1646 */
{
(yyval.range) = (yyvsp[0].range);
(yyval.range)->relpersistence = RELPERSISTENCE_UNLOGGED;
}
#line 39803 "gram.c" /* yacc.c:1646 */
break;
case 1681:
#line 11481 "gram.y" /* yacc.c:1646 */
{
(yyval.range) = (yyvsp[0].range);
(yyval.range)->relpersistence = RELPERSISTENCE_PERMANENT;
}
#line 39812 "gram.c" /* yacc.c:1646 */
break;
case 1682:
#line 11486 "gram.y" /* yacc.c:1646 */
{
(yyval.range) = (yyvsp[0].range);
(yyval.range)->relpersistence = RELPERSISTENCE_PERMANENT;
}
#line 39821 "gram.c" /* yacc.c:1646 */
break;
case 1683:
#line 11492 "gram.y" /* yacc.c:1646 */
{}
#line 39827 "gram.c" /* yacc.c:1646 */
break;
case 1684:
#line 11493 "gram.y" /* yacc.c:1646 */
{}
#line 39833 "gram.c" /* yacc.c:1646 */
break;
case 1685:
#line 11497 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = true; }
#line 39839 "gram.c" /* yacc.c:1646 */
break;
case 1686:
#line 11498 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = false; }
#line 39845 "gram.c" /* yacc.c:1646 */
break;
case 1687:
#line 11499 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = false; }
#line 39851 "gram.c" /* yacc.c:1646 */
break;
case 1688:
#line 11506 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1(NIL); }
#line 39857 "gram.c" /* yacc.c:1646 */
break;
case 1689:
#line 11507 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 39863 "gram.c" /* yacc.c:1646 */
break;
case 1690:
#line 11511 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL;}
#line 39869 "gram.c" /* yacc.c:1646 */
break;
case 1691:
#line 11512 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 39875 "gram.c" /* yacc.c:1646 */
break;
case 1692:
#line 11516 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[0].list);}
#line 39881 "gram.c" /* yacc.c:1646 */
break;
case 1693:
#line 11517 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 39887 "gram.c" /* yacc.c:1646 */
break;
case 1694:
#line 11521 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[0].list); }
#line 39893 "gram.c" /* yacc.c:1646 */
break;
case 1695:
#line 11525 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1((yyvsp[0].sortby)); }
#line 39899 "gram.c" /* yacc.c:1646 */
break;
case 1696:
#line 11526 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].sortby)); }
#line 39905 "gram.c" /* yacc.c:1646 */
break;
case 1697:
#line 11530 "gram.y" /* yacc.c:1646 */
{
(yyval.sortby) = makeNode(SortBy);
(yyval.sortby)->node = (yyvsp[-3].node);
(yyval.sortby)->sortby_dir = SORTBY_USING;
(yyval.sortby)->sortby_nulls = (yyvsp[0].ival);
(yyval.sortby)->useOp = (yyvsp[-1].list);
(yyval.sortby)->location = (yylsp[-1]);
}
#line 39918 "gram.c" /* yacc.c:1646 */
break;
case 1698:
#line 11539 "gram.y" /* yacc.c:1646 */
{
(yyval.sortby) = makeNode(SortBy);
(yyval.sortby)->node = (yyvsp[-2].node);
(yyval.sortby)->sortby_dir = (yyvsp[-1].ival);
(yyval.sortby)->sortby_nulls = (yyvsp[0].ival);
(yyval.sortby)->useOp = NIL;
(yyval.sortby)->location = -1; /* no operator */
}
#line 39931 "gram.c" /* yacc.c:1646 */
break;
case 1699:
#line 11551 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make2((yyvsp[0].node), (yyvsp[-1].node)); }
#line 39937 "gram.c" /* yacc.c:1646 */
break;
case 1700:
#line 11552 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make2((yyvsp[-1].node), (yyvsp[0].node)); }
#line 39943 "gram.c" /* yacc.c:1646 */
break;
case 1701:
#line 11553 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make2(NULL, (yyvsp[0].node)); }
#line 39949 "gram.c" /* yacc.c:1646 */
break;
case 1702:
#line 11554 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make2((yyvsp[0].node), NULL); }
#line 39955 "gram.c" /* yacc.c:1646 */
break;
case 1703:
#line 11558 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[0].list); }
#line 39961 "gram.c" /* yacc.c:1646 */
break;
case 1704:
#line 11559 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make2(NULL,NULL); }
#line 39967 "gram.c" /* yacc.c:1646 */
break;
case 1705:
#line 11564 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (yyvsp[0].node); }
#line 39973 "gram.c" /* yacc.c:1646 */
break;
case 1706:
#line 11566 "gram.y" /* yacc.c:1646 */
{
/* Disabled because it was too confusing, bjm 2002-02-18 */
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("LIMIT #,# syntax is not supported"),
errhint("Use separate LIMIT and OFFSET clauses."),
parser_errposition((yylsp[-3]))));
}
#line 39986 "gram.c" /* yacc.c:1646 */
break;
case 1707:
#line 11582 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (yyvsp[-2].node); }
#line 39992 "gram.c" /* yacc.c:1646 */
break;
case 1708:
#line 11584 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = makeIntConst(1, -1); }
#line 39998 "gram.c" /* yacc.c:1646 */
break;
case 1709:
#line 11589 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (yyvsp[0].node); }
#line 40004 "gram.c" /* yacc.c:1646 */
break;
case 1710:
#line 11592 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (yyvsp[-1].node); }
#line 40010 "gram.c" /* yacc.c:1646 */
break;
case 1711:
#line 11596 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (yyvsp[0].node); }
#line 40016 "gram.c" /* yacc.c:1646 */
break;
case 1712:
#line 11598 "gram.y" /* yacc.c:1646 */
{
/* LIMIT ALL is represented as a NULL constant */
(yyval.node) = makeNullAConst((yylsp[0]));
}
#line 40025 "gram.c" /* yacc.c:1646 */
break;
case 1713:
#line 11605 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (yyvsp[0].node); }
#line 40031 "gram.c" /* yacc.c:1646 */
break;
case 1714:
#line 11625 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (yyvsp[0].node); }
#line 40037 "gram.c" /* yacc.c:1646 */
break;
case 1715:
#line 11627 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[0].node), (yylsp[-1])); }
#line 40043 "gram.c" /* yacc.c:1646 */
break;
case 1716:
#line 11629 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = doNegate((yyvsp[0].node), (yylsp[-1])); }
#line 40049 "gram.c" /* yacc.c:1646 */
break;
case 1717:
#line 11633 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = makeIntConst((yyvsp[0].ival),(yylsp[0])); }
#line 40055 "gram.c" /* yacc.c:1646 */
break;
case 1718:
#line 11634 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = makeFloatConst((yyvsp[0].str),(yylsp[0])); }
#line 40061 "gram.c" /* yacc.c:1646 */
break;
case 1719:
#line 11638 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = 0; }
#line 40067 "gram.c" /* yacc.c:1646 */
break;
case 1720:
#line 11639 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = 0; }
#line 40073 "gram.c" /* yacc.c:1646 */
break;
case 1721:
#line 11642 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = 0; }
#line 40079 "gram.c" /* yacc.c:1646 */
break;
case 1722:
#line 11643 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = 0; }
#line 40085 "gram.c" /* yacc.c:1646 */
break;
case 1723:
#line 11668 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[0].list); }
#line 40091 "gram.c" /* yacc.c:1646 */
break;
case 1724:
#line 11669 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 40097 "gram.c" /* yacc.c:1646 */
break;
case 1725:
#line 11673 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1((yyvsp[0].node)); }
#line 40103 "gram.c" /* yacc.c:1646 */
break;
case 1726:
#line 11674 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-2].list),(yyvsp[0].node)); }
#line 40109 "gram.c" /* yacc.c:1646 */
break;
case 1727:
#line 11678 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (yyvsp[0].node); }
#line 40115 "gram.c" /* yacc.c:1646 */
break;
case 1728:
#line 11679 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (yyvsp[0].node); }
#line 40121 "gram.c" /* yacc.c:1646 */
break;
case 1729:
#line 11680 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (yyvsp[0].node); }
#line 40127 "gram.c" /* yacc.c:1646 */
break;
case 1730:
#line 11681 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (yyvsp[0].node); }
#line 40133 "gram.c" /* yacc.c:1646 */
break;
case 1731:
#line 11682 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (yyvsp[0].node); }
#line 40139 "gram.c" /* yacc.c:1646 */
break;
case 1732:
#line 11687 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_EMPTY, NIL, (yylsp[-1]));
}
#line 40147 "gram.c" /* yacc.c:1646 */
break;
case 1733:
#line 11700 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_ROLLUP, (yyvsp[-1].list), (yylsp[-3]));
}
#line 40155 "gram.c" /* yacc.c:1646 */
break;
case 1734:
#line 11707 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_CUBE, (yyvsp[-1].list), (yylsp[-3]));
}
#line 40163 "gram.c" /* yacc.c:1646 */
break;
case 1735:
#line 11714 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_SETS, (yyvsp[-1].list), (yylsp[-4]));
}
#line 40171 "gram.c" /* yacc.c:1646 */
break;
case 1736:
#line 11720 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (yyvsp[0].node); }
#line 40177 "gram.c" /* yacc.c:1646 */
break;
case 1737:
#line 11721 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = NULL; }
#line 40183 "gram.c" /* yacc.c:1646 */
break;
case 1738:
#line 11725 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[0].list); }
#line 40189 "gram.c" /* yacc.c:1646 */
break;
case 1739:
#line 11726 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 40195 "gram.c" /* yacc.c:1646 */
break;
case 1740:
#line 11730 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[0].list); }
#line 40201 "gram.c" /* yacc.c:1646 */
break;
case 1741:
#line 11731 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 40207 "gram.c" /* yacc.c:1646 */
break;
case 1742:
#line 11735 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1((yyvsp[0].node)); }
#line 40213 "gram.c" /* yacc.c:1646 */
break;
case 1743:
#line 11736 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
#line 40219 "gram.c" /* yacc.c:1646 */
break;
case 1744:
#line 11741 "gram.y" /* yacc.c:1646 */
{
LockingClause *n = makeNode(LockingClause);
n->lockedRels = (yyvsp[-1].list);
n->strength = (yyvsp[-2].ival);
n->waitPolicy = (yyvsp[0].ival);
(yyval.node) = (Node *) n;
}
#line 40231 "gram.c" /* yacc.c:1646 */
break;
case 1745:
#line 11751 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = LCS_FORUPDATE; }
#line 40237 "gram.c" /* yacc.c:1646 */
break;
case 1746:
#line 11752 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = LCS_FORNOKEYUPDATE; }
#line 40243 "gram.c" /* yacc.c:1646 */
break;
case 1747:
#line 11753 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = LCS_FORSHARE; }
#line 40249 "gram.c" /* yacc.c:1646 */
break;
case 1748:
#line 11754 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = LCS_FORKEYSHARE; }
#line 40255 "gram.c" /* yacc.c:1646 */
break;
case 1749:
#line 11758 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[0].list); }
#line 40261 "gram.c" /* yacc.c:1646 */
break;
case 1750:
#line 11759 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 40267 "gram.c" /* yacc.c:1646 */
break;
case 1751:
#line 11770 "gram.y" /* yacc.c:1646 */
{
SelectStmt *n = makeNode(SelectStmt);
n->valuesLists = list_make1((yyvsp[-1].list));
(yyval.node) = (Node *) n;
}
#line 40277 "gram.c" /* yacc.c:1646 */
break;
case 1752:
#line 11776 "gram.y" /* yacc.c:1646 */
{
SelectStmt *n = (SelectStmt *) (yyvsp[-4].node);
n->valuesLists = lappend(n->valuesLists, (yyvsp[-1].list));
(yyval.node) = (Node *) n;
}
#line 40287 "gram.c" /* yacc.c:1646 */
break;
case 1753:
#line 11793 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[0].list); }
#line 40293 "gram.c" /* yacc.c:1646 */
break;
case 1754:
#line 11794 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 40299 "gram.c" /* yacc.c:1646 */
break;
case 1755:
#line 11798 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1((yyvsp[0].node)); }
#line 40305 "gram.c" /* yacc.c:1646 */
break;
case 1756:
#line 11799 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
#line 40311 "gram.c" /* yacc.c:1646 */
break;
case 1757:
#line 11806 "gram.y" /* yacc.c:1646 */
{
(yyvsp[-1].range)->alias = (yyvsp[0].alias);
(yyval.node) = (Node *) (yyvsp[-1].range);
}
#line 40320 "gram.c" /* yacc.c:1646 */
break;
case 1758:
#line 11811 "gram.y" /* yacc.c:1646 */
{
RangeTableSample *n = (RangeTableSample *) (yyvsp[0].node);
(yyvsp[-2].range)->alias = (yyvsp[-1].alias);
/* relation_expr goes inside the RangeTableSample node */
n->relation = (Node *) (yyvsp[-2].range);
(yyval.node) = (Node *) n;
}
#line 40332 "gram.c" /* yacc.c:1646 */
break;
case 1759:
#line 11819 "gram.y" /* yacc.c:1646 */
{
RangeFunction *n = (RangeFunction *) (yyvsp[-1].node);
n->alias = linitial((yyvsp[0].list));
n->coldeflist = lsecond((yyvsp[0].list));
(yyval.node) = (Node *) n;
}
#line 40343 "gram.c" /* yacc.c:1646 */
break;
case 1760:
#line 11826 "gram.y" /* yacc.c:1646 */
{
RangeFunction *n = (RangeFunction *) (yyvsp[-1].node);
n->lateral = true;
n->alias = linitial((yyvsp[0].list));
n->coldeflist = lsecond((yyvsp[0].list));
(yyval.node) = (Node *) n;
}
#line 40355 "gram.c" /* yacc.c:1646 */
break;
case 1761:
#line 11834 "gram.y" /* yacc.c:1646 */
{
RangeTableFunc *n = (RangeTableFunc *) (yyvsp[-1].node);
n->alias = (yyvsp[0].alias);
(yyval.node) = (Node *) n;
}
#line 40365 "gram.c" /* yacc.c:1646 */
break;
case 1762:
#line 11840 "gram.y" /* yacc.c:1646 */
{
RangeTableFunc *n = (RangeTableFunc *) (yyvsp[-1].node);
n->lateral = true;
n->alias = (yyvsp[0].alias);
(yyval.node) = (Node *) n;
}
#line 40376 "gram.c" /* yacc.c:1646 */
break;
case 1763:
#line 11847 "gram.y" /* yacc.c:1646 */
{
RangeSubselect *n = makeNode(RangeSubselect);
n->lateral = false;
n->subquery = (yyvsp[-1].node);
n->alias = (yyvsp[0].alias);
/*
* The SQL spec does not permit a subselect
* () without an alias clause,
* so we don't either. This avoids the problem
* of needing to invent a unique refname for it.
* That could be surmounted if there's sufficient
* popular demand, but for now let's just implement
* the spec and see if anyone complains.
* However, it does seem like a good idea to emit
* an error message that's better than "syntax error".
*/
if ((yyvsp[0].alias) == NULL)
{
if (IsA((yyvsp[-1].node), SelectStmt) &&
((SelectStmt *) (yyvsp[-1].node))->valuesLists)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("VALUES in FROM must have an alias"),
errhint("For example, FROM (VALUES ...) [AS] foo."),
parser_errposition((yylsp[-1]))));
else
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("subquery in FROM must have an alias"),
errhint("For example, FROM (SELECT ...) [AS] foo."),
parser_errposition((yylsp[-1]))));
}
(yyval.node) = (Node *) n;
}
#line 40415 "gram.c" /* yacc.c:1646 */
break;
case 1764:
#line 11882 "gram.y" /* yacc.c:1646 */
{
RangeSubselect *n = makeNode(RangeSubselect);
n->lateral = true;
n->subquery = (yyvsp[-1].node);
n->alias = (yyvsp[0].alias);
/* same comment as above */
if ((yyvsp[0].alias) == NULL)
{
if (IsA((yyvsp[-1].node), SelectStmt) &&
((SelectStmt *) (yyvsp[-1].node))->valuesLists)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("VALUES in FROM must have an alias"),
errhint("For example, FROM (VALUES ...) [AS] foo."),
parser_errposition((yylsp[-1]))));
else
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("subquery in FROM must have an alias"),
errhint("For example, FROM (SELECT ...) [AS] foo."),
parser_errposition((yylsp[-1]))));
}
(yyval.node) = (Node *) n;
}
#line 40444 "gram.c" /* yacc.c:1646 */
break;
case 1765:
#line 11907 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = (Node *) (yyvsp[0].jexpr);
}
#line 40452 "gram.c" /* yacc.c:1646 */
break;
case 1766:
#line 11911 "gram.y" /* yacc.c:1646 */
{
(yyvsp[-2].jexpr)->alias = (yyvsp[0].alias);
(yyval.node) = (Node *) (yyvsp[-2].jexpr);
}
#line 40461 "gram.c" /* yacc.c:1646 */
break;
case 1767:
#line 11937 "gram.y" /* yacc.c:1646 */
{
(yyval.jexpr) = (yyvsp[-1].jexpr);
}
#line 40469 "gram.c" /* yacc.c:1646 */
break;
case 1768:
#line 11941 "gram.y" /* yacc.c:1646 */
{
/* CROSS JOIN is same as unqualified inner join */
JoinExpr *n = makeNode(JoinExpr);
n->jointype = JOIN_INNER;
n->isNatural = false;
n->larg = (yyvsp[-3].node);
n->rarg = (yyvsp[0].node);
n->usingClause = NIL;
n->quals = NULL;
(yyval.jexpr) = n;
}
#line 40485 "gram.c" /* yacc.c:1646 */
break;
case 1769:
#line 11953 "gram.y" /* yacc.c:1646 */
{
JoinExpr *n = makeNode(JoinExpr);
n->jointype = (yyvsp[-3].jtype);
n->isNatural = false;
n->larg = (yyvsp[-4].node);
n->rarg = (yyvsp[-1].node);
if ((yyvsp[0].node) != NULL && IsA((yyvsp[0].node), List))
n->usingClause = (List *) (yyvsp[0].node); /* USING clause */
else
n->quals = (yyvsp[0].node); /* ON clause */
(yyval.jexpr) = n;
}
#line 40502 "gram.c" /* yacc.c:1646 */
break;
case 1770:
#line 11966 "gram.y" /* yacc.c:1646 */
{
/* letting join_type reduce to empty doesn't work */
JoinExpr *n = makeNode(JoinExpr);
n->jointype = JOIN_INNER;
n->isNatural = false;
n->larg = (yyvsp[-3].node);
n->rarg = (yyvsp[-1].node);
if ((yyvsp[0].node) != NULL && IsA((yyvsp[0].node), List))
n->usingClause = (List *) (yyvsp[0].node); /* USING clause */
else
n->quals = (yyvsp[0].node); /* ON clause */
(yyval.jexpr) = n;
}
#line 40520 "gram.c" /* yacc.c:1646 */
break;
case 1771:
#line 11980 "gram.y" /* yacc.c:1646 */
{
JoinExpr *n = makeNode(JoinExpr);
n->jointype = (yyvsp[-2].jtype);
n->isNatural = true;
n->larg = (yyvsp[-4].node);
n->rarg = (yyvsp[0].node);
n->usingClause = NIL; /* figure out which columns later... */
n->quals = NULL; /* fill later */
(yyval.jexpr) = n;
}
#line 40535 "gram.c" /* yacc.c:1646 */
break;
case 1772:
#line 11991 "gram.y" /* yacc.c:1646 */
{
/* letting join_type reduce to empty doesn't work */
JoinExpr *n = makeNode(JoinExpr);
n->jointype = JOIN_INNER;
n->isNatural = true;
n->larg = (yyvsp[-3].node);
n->rarg = (yyvsp[0].node);
n->usingClause = NIL; /* figure out which columns later... */
n->quals = NULL; /* fill later */
(yyval.jexpr) = n;
}
#line 40551 "gram.c" /* yacc.c:1646 */
break;
case 1773:
#line 12006 "gram.y" /* yacc.c:1646 */
{
(yyval.alias) = makeNode(Alias);
(yyval.alias)->aliasname = (yyvsp[-3].str);
(yyval.alias)->colnames = (yyvsp[-1].list);
}
#line 40561 "gram.c" /* yacc.c:1646 */
break;
case 1774:
#line 12012 "gram.y" /* yacc.c:1646 */
{
(yyval.alias) = makeNode(Alias);
(yyval.alias)->aliasname = (yyvsp[0].str);
}
#line 40570 "gram.c" /* yacc.c:1646 */
break;
case 1775:
#line 12017 "gram.y" /* yacc.c:1646 */
{
(yyval.alias) = makeNode(Alias);
(yyval.alias)->aliasname = (yyvsp[-3].str);
(yyval.alias)->colnames = (yyvsp[-1].list);
}
#line 40580 "gram.c" /* yacc.c:1646 */
break;
case 1776:
#line 12023 "gram.y" /* yacc.c:1646 */
{
(yyval.alias) = makeNode(Alias);
(yyval.alias)->aliasname = (yyvsp[0].str);
}
#line 40589 "gram.c" /* yacc.c:1646 */
break;
case 1777:
#line 12029 "gram.y" /* yacc.c:1646 */
{ (yyval.alias) = (yyvsp[0].alias); }
#line 40595 "gram.c" /* yacc.c:1646 */
break;
case 1778:
#line 12030 "gram.y" /* yacc.c:1646 */
{ (yyval.alias) = NULL; }
#line 40601 "gram.c" /* yacc.c:1646 */
break;
case 1779:
#line 12039 "gram.y" /* yacc.c:1646 */
{
(yyval.list) = list_make2((yyvsp[0].alias), NIL);
}
#line 40609 "gram.c" /* yacc.c:1646 */
break;
case 1780:
#line 12043 "gram.y" /* yacc.c:1646 */
{
(yyval.list) = list_make2(NULL, (yyvsp[-1].list));
}
#line 40617 "gram.c" /* yacc.c:1646 */
break;
case 1781:
#line 12047 "gram.y" /* yacc.c:1646 */
{
Alias *a = makeNode(Alias);
a->aliasname = (yyvsp[-3].str);
(yyval.list) = list_make2(a, (yyvsp[-1].list));
}
#line 40627 "gram.c" /* yacc.c:1646 */
break;
case 1782:
#line 12053 "gram.y" /* yacc.c:1646 */
{
Alias *a = makeNode(Alias);
a->aliasname = (yyvsp[-3].str);
(yyval.list) = list_make2(a, (yyvsp[-1].list));
}
#line 40637 "gram.c" /* yacc.c:1646 */
break;
case 1783:
#line 12059 "gram.y" /* yacc.c:1646 */
{
(yyval.list) = list_make2(NULL, NIL);
}
#line 40645 "gram.c" /* yacc.c:1646 */
break;
case 1784:
#line 12064 "gram.y" /* yacc.c:1646 */
{ (yyval.jtype) = JOIN_FULL; }
#line 40651 "gram.c" /* yacc.c:1646 */
break;
case 1785:
#line 12065 "gram.y" /* yacc.c:1646 */
{ (yyval.jtype) = JOIN_LEFT; }
#line 40657 "gram.c" /* yacc.c:1646 */
break;
case 1786:
#line 12066 "gram.y" /* yacc.c:1646 */
{ (yyval.jtype) = JOIN_RIGHT; }
#line 40663 "gram.c" /* yacc.c:1646 */
break;
case 1787:
#line 12067 "gram.y" /* yacc.c:1646 */
{ (yyval.jtype) = JOIN_INNER; }
#line 40669 "gram.c" /* yacc.c:1646 */
break;
case 1788:
#line 12071 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = NULL; }
#line 40675 "gram.c" /* yacc.c:1646 */
break;
case 1789:
#line 12072 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = NULL; }
#line 40681 "gram.c" /* yacc.c:1646 */
break;
case 1790:
#line 12084 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (Node *) (yyvsp[-1].list); }
#line 40687 "gram.c" /* yacc.c:1646 */
break;
case 1791:
#line 12085 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (yyvsp[0].node); }
#line 40693 "gram.c" /* yacc.c:1646 */
break;
case 1792:
#line 12091 "gram.y" /* yacc.c:1646 */
{
/* inheritance query, implicitly */
(yyval.range) = (yyvsp[0].range);
(yyval.range)->inh = true;
(yyval.range)->alias = NULL;
}
#line 40704 "gram.c" /* yacc.c:1646 */
break;
case 1793:
#line 12098 "gram.y" /* yacc.c:1646 */
{
/* inheritance query, explicitly */
(yyval.range) = (yyvsp[-1].range);
(yyval.range)->inh = true;
(yyval.range)->alias = NULL;
}
#line 40715 "gram.c" /* yacc.c:1646 */
break;
case 1794:
#line 12105 "gram.y" /* yacc.c:1646 */
{
/* no inheritance */
(yyval.range) = (yyvsp[0].range);
(yyval.range)->inh = false;
(yyval.range)->alias = NULL;
}
#line 40726 "gram.c" /* yacc.c:1646 */
break;
case 1795:
#line 12112 "gram.y" /* yacc.c:1646 */
{
/* no inheritance, SQL99-style syntax */
(yyval.range) = (yyvsp[-1].range);
(yyval.range)->inh = false;
(yyval.range)->alias = NULL;
}
#line 40737 "gram.c" /* yacc.c:1646 */
break;
case 1796:
#line 12122 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1((yyvsp[0].range)); }
#line 40743 "gram.c" /* yacc.c:1646 */
break;
case 1797:
#line 12123 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].range)); }
#line 40749 "gram.c" /* yacc.c:1646 */
break;
case 1798:
#line 12137 "gram.y" /* yacc.c:1646 */
{
(yyval.range) = (yyvsp[0].range);
}
#line 40757 "gram.c" /* yacc.c:1646 */
break;
case 1799:
#line 12141 "gram.y" /* yacc.c:1646 */
{
Alias *alias = makeNode(Alias);
alias->aliasname = (yyvsp[0].str);
(yyvsp[-1].range)->alias = alias;
(yyval.range) = (yyvsp[-1].range);
}
#line 40768 "gram.c" /* yacc.c:1646 */
break;
case 1800:
#line 12148 "gram.y" /* yacc.c:1646 */
{
Alias *alias = makeNode(Alias);
alias->aliasname = (yyvsp[0].str);
(yyvsp[-2].range)->alias = alias;
(yyval.range) = (yyvsp[-2].range);
}
#line 40779 "gram.c" /* yacc.c:1646 */
break;
case 1801:
#line 12161 "gram.y" /* yacc.c:1646 */
{
RangeTableSample *n = makeNode(RangeTableSample);
/* n->relation will be filled in later */
n->method = (yyvsp[-4].list);
n->args = (yyvsp[-2].list);
n->repeatable = (yyvsp[0].node);
n->location = (yylsp[-4]);
(yyval.node) = (Node *) n;
}
#line 40793 "gram.c" /* yacc.c:1646 */
break;
case 1802:
#line 12173 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (Node *) (yyvsp[-1].node); }
#line 40799 "gram.c" /* yacc.c:1646 */
break;
case 1803:
#line 12174 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = NULL; }
#line 40805 "gram.c" /* yacc.c:1646 */
break;
case 1804:
#line 12190 "gram.y" /* yacc.c:1646 */
{
RangeFunction *n = makeNode(RangeFunction);
n->lateral = false;
n->ordinality = (yyvsp[0].boolean);
n->is_rowsfrom = false;
n->functions = list_make1(list_make2((yyvsp[-1].node), NIL));
/* alias and coldeflist are set by table_ref production */
(yyval.node) = (Node *) n;
}
#line 40819 "gram.c" /* yacc.c:1646 */
break;
case 1805:
#line 12200 "gram.y" /* yacc.c:1646 */
{
RangeFunction *n = makeNode(RangeFunction);
n->lateral = false;
n->ordinality = (yyvsp[0].boolean);
n->is_rowsfrom = true;
n->functions = (yyvsp[-2].list);
/* alias and coldeflist are set by table_ref production */
(yyval.node) = (Node *) n;
}
#line 40833 "gram.c" /* yacc.c:1646 */
break;
case 1806:
#line 12212 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make2((yyvsp[-1].node), (yyvsp[0].list)); }
#line 40839 "gram.c" /* yacc.c:1646 */
break;
case 1807:
#line 12216 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1((yyvsp[0].list)); }
#line 40845 "gram.c" /* yacc.c:1646 */
break;
case 1808:
#line 12217 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].list)); }
#line 40851 "gram.c" /* yacc.c:1646 */
break;
case 1809:
#line 12220 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 40857 "gram.c" /* yacc.c:1646 */
break;
case 1810:
#line 12221 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 40863 "gram.c" /* yacc.c:1646 */
break;
case 1811:
#line 12224 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = true; }
#line 40869 "gram.c" /* yacc.c:1646 */
break;
case 1812:
#line 12225 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = false; }
#line 40875 "gram.c" /* yacc.c:1646 */
break;
case 1813:
#line 12230 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (yyvsp[0].node); }
#line 40881 "gram.c" /* yacc.c:1646 */
break;
case 1814:
#line 12231 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = NULL; }
#line 40887 "gram.c" /* yacc.c:1646 */
break;
case 1815:
#line 12236 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (yyvsp[0].node); }
#line 40893 "gram.c" /* yacc.c:1646 */
break;
case 1816:
#line 12238 "gram.y" /* yacc.c:1646 */
{
CurrentOfExpr *n = makeNode(CurrentOfExpr);
/* cvarno is filled in by parse analysis */
n->cursor_name = (yyvsp[0].str);
n->cursor_param = 0;
(yyval.node) = (Node *) n;
}
#line 40905 "gram.c" /* yacc.c:1646 */
break;
case 1817:
#line 12245 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = NULL; }
#line 40911 "gram.c" /* yacc.c:1646 */
break;
case 1818:
#line 12250 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[0].list); }
#line 40917 "gram.c" /* yacc.c:1646 */
break;
case 1819:
#line 12251 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 40923 "gram.c" /* yacc.c:1646 */
break;
case 1820:
#line 12256 "gram.y" /* yacc.c:1646 */
{
(yyval.list) = list_make1((yyvsp[0].node));
}
#line 40931 "gram.c" /* yacc.c:1646 */
break;
case 1821:
#line 12260 "gram.y" /* yacc.c:1646 */
{
(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
}
#line 40939 "gram.c" /* yacc.c:1646 */
break;
case 1822:
#line 12266 "gram.y" /* yacc.c:1646 */
{
ColumnDef *n = makeNode(ColumnDef);
n->colname = (yyvsp[-2].str);
n->typeName = (yyvsp[-1].typnam);
n->inhcount = 0;
n->is_local = true;
n->is_not_null = false;
n->is_from_type = false;
n->storage = 0;
n->raw_default = NULL;
n->cooked_default = NULL;
n->collClause = (CollateClause *) (yyvsp[0].node);
n->collOid = InvalidOid;
n->constraints = NIL;
n->location = (yylsp[-2]);
(yyval.node) = (Node *)n;
}
#line 40961 "gram.c" /* yacc.c:1646 */
break;
case 1823:
#line 12290 "gram.y" /* yacc.c:1646 */
{
RangeTableFunc *n = makeNode(RangeTableFunc);
n->rowexpr = (yyvsp[-4].node);
n->docexpr = (yyvsp[-3].node);
n->columns = (yyvsp[-1].list);
n->namespaces = NIL;
n->location = (yylsp[-6]);
(yyval.node) = (Node *)n;
}
#line 40975 "gram.c" /* yacc.c:1646 */
break;
case 1824:
#line 12301 "gram.y" /* yacc.c:1646 */
{
RangeTableFunc *n = makeNode(RangeTableFunc);
n->rowexpr = (yyvsp[-4].node);
n->docexpr = (yyvsp[-3].node);
n->columns = (yyvsp[-1].list);
n->namespaces = (yyvsp[-7].list);
n->location = (yylsp[-11]);
(yyval.node) = (Node *)n;
}
#line 40989 "gram.c" /* yacc.c:1646 */
break;
case 1825:
#line 12312 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1((yyvsp[0].node)); }
#line 40995 "gram.c" /* yacc.c:1646 */
break;
case 1826:
#line 12313 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
#line 41001 "gram.c" /* yacc.c:1646 */
break;
case 1827:
#line 12318 "gram.y" /* yacc.c:1646 */
{
RangeTableFuncCol *fc = makeNode(RangeTableFuncCol);
fc->colname = (yyvsp[-1].str);
fc->for_ordinality = false;
fc->typeName = (yyvsp[0].typnam);
fc->is_not_null = false;
fc->colexpr = NULL;
fc->coldefexpr = NULL;
fc->location = (yylsp[-1]);
(yyval.node) = (Node *) fc;
}
#line 41019 "gram.c" /* yacc.c:1646 */
break;
case 1828:
#line 12332 "gram.y" /* yacc.c:1646 */
{
RangeTableFuncCol *fc = makeNode(RangeTableFuncCol);
ListCell *option;
bool nullability_seen = false;
fc->colname = (yyvsp[-2].str);
fc->typeName = (yyvsp[-1].typnam);
fc->for_ordinality = false;
fc->is_not_null = false;
fc->colexpr = NULL;
fc->coldefexpr = NULL;
fc->location = (yylsp[-2]);
foreach(option, (yyvsp[0].list))
{
DefElem *defel = (DefElem *) lfirst(option);
if (strcmp(defel->defname, "default") == 0)
{
if (fc->coldefexpr != NULL)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("only one DEFAULT value is allowed"),
parser_errposition(defel->location)));
fc->coldefexpr = defel->arg;
}
else if (strcmp(defel->defname, "path") == 0)
{
if (fc->colexpr != NULL)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("only one PATH value per column is allowed"),
parser_errposition(defel->location)));
fc->colexpr = defel->arg;
}
else if (strcmp(defel->defname, "is_not_null") == 0)
{
if (nullability_seen)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("conflicting or redundant NULL / NOT NULL declarations for column \"%s\"", fc->colname),
parser_errposition(defel->location)));
fc->is_not_null = intVal(defel->arg);
nullability_seen = true;
}
else
{
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("unrecognized column option \"%s\"",
defel->defname),
parser_errposition(defel->location)));
}
}
(yyval.node) = (Node *) fc;
}
#line 41080 "gram.c" /* yacc.c:1646 */
break;
case 1829:
#line 12389 "gram.y" /* yacc.c:1646 */
{
RangeTableFuncCol *fc = makeNode(RangeTableFuncCol);
fc->colname = (yyvsp[-2].str);
fc->for_ordinality = true;
/* other fields are ignored, initialized by makeNode */
fc->location = (yylsp[-2]);
(yyval.node) = (Node *) fc;
}
#line 41095 "gram.c" /* yacc.c:1646 */
break;
case 1830:
#line 12403 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1((yyvsp[0].defelt)); }
#line 41101 "gram.c" /* yacc.c:1646 */
break;
case 1831:
#line 12405 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
#line 41107 "gram.c" /* yacc.c:1646 */
break;
case 1832:
#line 12410 "gram.y" /* yacc.c:1646 */
{ (yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1])); }
#line 41113 "gram.c" /* yacc.c:1646 */
break;
case 1833:
#line 12412 "gram.y" /* yacc.c:1646 */
{ (yyval.defelt) = makeDefElem("default", (yyvsp[0].node), (yylsp[-1])); }
#line 41119 "gram.c" /* yacc.c:1646 */
break;
case 1834:
#line 12414 "gram.y" /* yacc.c:1646 */
{ (yyval.defelt) = makeDefElem("is_not_null", (Node *) makeInteger(true), (yylsp[-1])); }
#line 41125 "gram.c" /* yacc.c:1646 */
break;
case 1835:
#line 12416 "gram.y" /* yacc.c:1646 */
{ (yyval.defelt) = makeDefElem("is_not_null", (Node *) makeInteger(false), (yylsp[0])); }
#line 41131 "gram.c" /* yacc.c:1646 */
break;
case 1836:
#line 12421 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1((yyvsp[0].target)); }
#line 41137 "gram.c" /* yacc.c:1646 */
break;
case 1837:
#line 12423 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
#line 41143 "gram.c" /* yacc.c:1646 */
break;
case 1838:
#line 12428 "gram.y" /* yacc.c:1646 */
{
(yyval.target) = makeNode(ResTarget);
(yyval.target)->name = (yyvsp[0].str);
(yyval.target)->indirection = NIL;
(yyval.target)->val = (yyvsp[-2].node);
(yyval.target)->location = (yylsp[-2]);
}
#line 41155 "gram.c" /* yacc.c:1646 */
break;
case 1839:
#line 12436 "gram.y" /* yacc.c:1646 */
{
(yyval.target) = makeNode(ResTarget);
(yyval.target)->name = NULL;
(yyval.target)->indirection = NIL;
(yyval.target)->val = (yyvsp[0].node);
(yyval.target)->location = (yylsp[-1]);
}
#line 41167 "gram.c" /* yacc.c:1646 */
break;
case 1840:
#line 12456 "gram.y" /* yacc.c:1646 */
{
(yyval.typnam) = (yyvsp[-1].typnam);
(yyval.typnam)->arrayBounds = (yyvsp[0].list);
}
#line 41176 "gram.c" /* yacc.c:1646 */
break;
case 1841:
#line 12461 "gram.y" /* yacc.c:1646 */
{
(yyval.typnam) = (yyvsp[-1].typnam);
(yyval.typnam)->arrayBounds = (yyvsp[0].list);
(yyval.typnam)->setof = true;
}
#line 41186 "gram.c" /* yacc.c:1646 */
break;
case 1842:
#line 12468 "gram.y" /* yacc.c:1646 */
{
(yyval.typnam) = (yyvsp[-4].typnam);
(yyval.typnam)->arrayBounds = list_make1(makeInteger((yyvsp[-1].ival)));
}
#line 41195 "gram.c" /* yacc.c:1646 */
break;
case 1843:
#line 12473 "gram.y" /* yacc.c:1646 */
{
(yyval.typnam) = (yyvsp[-4].typnam);
(yyval.typnam)->arrayBounds = list_make1(makeInteger((yyvsp[-1].ival)));
(yyval.typnam)->setof = true;
}
#line 41205 "gram.c" /* yacc.c:1646 */
break;
case 1844:
#line 12479 "gram.y" /* yacc.c:1646 */
{
(yyval.typnam) = (yyvsp[-1].typnam);
(yyval.typnam)->arrayBounds = list_make1(makeInteger(-1));
}
#line 41214 "gram.c" /* yacc.c:1646 */
break;
case 1845:
#line 12484 "gram.y" /* yacc.c:1646 */
{
(yyval.typnam) = (yyvsp[-1].typnam);
(yyval.typnam)->arrayBounds = list_make1(makeInteger(-1));
(yyval.typnam)->setof = true;
}
#line 41224 "gram.c" /* yacc.c:1646 */
break;
case 1846:
#line 12493 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-2].list), makeInteger(-1)); }
#line 41230 "gram.c" /* yacc.c:1646 */
break;
case 1847:
#line 12495 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-3].list), makeInteger((yyvsp[-1].ival))); }
#line 41236 "gram.c" /* yacc.c:1646 */
break;
case 1848:
#line 12497 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 41242 "gram.c" /* yacc.c:1646 */
break;
case 1849:
#line 12501 "gram.y" /* yacc.c:1646 */
{ (yyval.typnam) = (yyvsp[0].typnam); }
#line 41248 "gram.c" /* yacc.c:1646 */
break;
case 1850:
#line 12502 "gram.y" /* yacc.c:1646 */
{ (yyval.typnam) = (yyvsp[0].typnam); }
#line 41254 "gram.c" /* yacc.c:1646 */
break;
case 1851:
#line 12503 "gram.y" /* yacc.c:1646 */
{ (yyval.typnam) = (yyvsp[0].typnam); }
#line 41260 "gram.c" /* yacc.c:1646 */
break;
case 1852:
#line 12504 "gram.y" /* yacc.c:1646 */
{ (yyval.typnam) = (yyvsp[0].typnam); }
#line 41266 "gram.c" /* yacc.c:1646 */
break;
case 1853:
#line 12505 "gram.y" /* yacc.c:1646 */
{ (yyval.typnam) = (yyvsp[0].typnam); }
#line 41272 "gram.c" /* yacc.c:1646 */
break;
case 1854:
#line 12507 "gram.y" /* yacc.c:1646 */
{
(yyval.typnam) = (yyvsp[-1].typnam);
(yyval.typnam)->typmods = (yyvsp[0].list);
}
#line 41281 "gram.c" /* yacc.c:1646 */
break;
case 1855:
#line 12512 "gram.y" /* yacc.c:1646 */
{
(yyval.typnam) = (yyvsp[-3].typnam);
(yyval.typnam)->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1),
makeIntConst((yyvsp[-1].ival), (yylsp[-1])));
}
#line 41291 "gram.c" /* yacc.c:1646 */
break;
case 1856:
#line 12531 "gram.y" /* yacc.c:1646 */
{ (yyval.typnam) = (yyvsp[0].typnam); }
#line 41297 "gram.c" /* yacc.c:1646 */
break;
case 1857:
#line 12532 "gram.y" /* yacc.c:1646 */
{ (yyval.typnam) = (yyvsp[0].typnam); }
#line 41303 "gram.c" /* yacc.c:1646 */
break;
case 1858:
#line 12533 "gram.y" /* yacc.c:1646 */
{ (yyval.typnam) = (yyvsp[0].typnam); }
#line 41309 "gram.c" /* yacc.c:1646 */
break;
case 1859:
#line 12534 "gram.y" /* yacc.c:1646 */
{ (yyval.typnam) = (yyvsp[0].typnam); }
#line 41315 "gram.c" /* yacc.c:1646 */
break;
case 1860:
#line 12546 "gram.y" /* yacc.c:1646 */
{
(yyval.typnam) = makeTypeName((yyvsp[-1].str));
(yyval.typnam)->typmods = (yyvsp[0].list);
(yyval.typnam)->location = (yylsp[-1]);
}
#line 41325 "gram.c" /* yacc.c:1646 */
break;
case 1861:
#line 12552 "gram.y" /* yacc.c:1646 */
{
(yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[-2].str)), (yyvsp[-1].list)));
(yyval.typnam)->typmods = (yyvsp[0].list);
(yyval.typnam)->location = (yylsp[-2]);
}
#line 41335 "gram.c" /* yacc.c:1646 */
break;
case 1862:
#line 12559 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 41341 "gram.c" /* yacc.c:1646 */
break;
case 1863:
#line 12560 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 41347 "gram.c" /* yacc.c:1646 */
break;
case 1864:
#line 12567 "gram.y" /* yacc.c:1646 */
{
(yyval.typnam) = SystemTypeName("int4");
(yyval.typnam)->location = (yylsp[0]);
}
#line 41356 "gram.c" /* yacc.c:1646 */
break;
case 1865:
#line 12572 "gram.y" /* yacc.c:1646 */
{
(yyval.typnam) = SystemTypeName("int4");
(yyval.typnam)->location = (yylsp[0]);
}
#line 41365 "gram.c" /* yacc.c:1646 */
break;
case 1866:
#line 12577 "gram.y" /* yacc.c:1646 */
{
(yyval.typnam) = SystemTypeName("int2");
(yyval.typnam)->location = (yylsp[0]);
}
#line 41374 "gram.c" /* yacc.c:1646 */
break;
case 1867:
#line 12582 "gram.y" /* yacc.c:1646 */
{
(yyval.typnam) = SystemTypeName("int8");
(yyval.typnam)->location = (yylsp[0]);
}
#line 41383 "gram.c" /* yacc.c:1646 */
break;
case 1868:
#line 12587 "gram.y" /* yacc.c:1646 */
{
(yyval.typnam) = SystemTypeName("float4");
(yyval.typnam)->location = (yylsp[0]);
}
#line 41392 "gram.c" /* yacc.c:1646 */
break;
case 1869:
#line 12592 "gram.y" /* yacc.c:1646 */
{
(yyval.typnam) = (yyvsp[0].typnam);
(yyval.typnam)->location = (yylsp[-1]);
}
#line 41401 "gram.c" /* yacc.c:1646 */
break;
case 1870:
#line 12597 "gram.y" /* yacc.c:1646 */
{
(yyval.typnam) = SystemTypeName("float8");
(yyval.typnam)->location = (yylsp[-1]);
}
#line 41410 "gram.c" /* yacc.c:1646 */
break;
case 1871:
#line 12602 "gram.y" /* yacc.c:1646 */
{
(yyval.typnam) = SystemTypeName("numeric");
(yyval.typnam)->typmods = (yyvsp[0].list);
(yyval.typnam)->location = (yylsp[-1]);
}
#line 41420 "gram.c" /* yacc.c:1646 */
break;
case 1872:
#line 12608 "gram.y" /* yacc.c:1646 */
{
(yyval.typnam) = SystemTypeName("numeric");
(yyval.typnam)->typmods = (yyvsp[0].list);
(yyval.typnam)->location = (yylsp[-1]);
}
#line 41430 "gram.c" /* yacc.c:1646 */
break;
case 1873:
#line 12614 "gram.y" /* yacc.c:1646 */
{
(yyval.typnam) = SystemTypeName("numeric");
(yyval.typnam)->typmods = (yyvsp[0].list);
(yyval.typnam)->location = (yylsp[-1]);
}
#line 41440 "gram.c" /* yacc.c:1646 */
break;
case 1874:
#line 12620 "gram.y" /* yacc.c:1646 */
{
(yyval.typnam) = SystemTypeName("bool");
(yyval.typnam)->location = (yylsp[0]);
}
#line 41449 "gram.c" /* yacc.c:1646 */
break;
case 1875:
#line 12627 "gram.y" /* yacc.c:1646 */
{
/*
* Check FLOAT() precision limits assuming IEEE floating
* types - thomas 1997-09-18
*/
if ((yyvsp[-1].ival) < 1)
ereport(ERROR,
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
errmsg("precision for type float must be at least 1 bit"),
parser_errposition((yylsp[-1]))));
else if ((yyvsp[-1].ival) <= 24)
(yyval.typnam) = SystemTypeName("float4");
else if ((yyvsp[-1].ival) <= 53)
(yyval.typnam) = SystemTypeName("float8");
else
ereport(ERROR,
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
errmsg("precision for type float must be less than 54 bits"),
parser_errposition((yylsp[-1]))));
}
#line 41474 "gram.c" /* yacc.c:1646 */
break;
case 1876:
#line 12648 "gram.y" /* yacc.c:1646 */
{
(yyval.typnam) = SystemTypeName("float8");
}
#line 41482 "gram.c" /* yacc.c:1646 */
break;
case 1877:
#line 12658 "gram.y" /* yacc.c:1646 */
{
(yyval.typnam) = (yyvsp[0].typnam);
}
#line 41490 "gram.c" /* yacc.c:1646 */
break;
case 1878:
#line 12662 "gram.y" /* yacc.c:1646 */
{
(yyval.typnam) = (yyvsp[0].typnam);
}
#line 41498 "gram.c" /* yacc.c:1646 */
break;
case 1879:
#line 12670 "gram.y" /* yacc.c:1646 */
{
(yyval.typnam) = (yyvsp[0].typnam);
}
#line 41506 "gram.c" /* yacc.c:1646 */
break;
case 1880:
#line 12674 "gram.y" /* yacc.c:1646 */
{
(yyval.typnam) = (yyvsp[0].typnam);
(yyval.typnam)->typmods = NIL;
}
#line 41515 "gram.c" /* yacc.c:1646 */
break;
case 1881:
#line 12682 "gram.y" /* yacc.c:1646 */
{
char *typname;
typname = (yyvsp[-3].boolean) ? "varbit" : "bit";
(yyval.typnam) = SystemTypeName(typname);
(yyval.typnam)->typmods = (yyvsp[-1].list);
(yyval.typnam)->location = (yylsp[-4]);
}
#line 41528 "gram.c" /* yacc.c:1646 */
break;
case 1882:
#line 12694 "gram.y" /* yacc.c:1646 */
{
/* bit defaults to bit(1), varbit to no limit */
if ((yyvsp[0].boolean))
{
(yyval.typnam) = SystemTypeName("varbit");
}
else
{
(yyval.typnam) = SystemTypeName("bit");
(yyval.typnam)->typmods = list_make1(makeIntConst(1, -1));
}
(yyval.typnam)->location = (yylsp[-1]);
}
#line 41546 "gram.c" /* yacc.c:1646 */
break;
case 1883:
#line 12715 "gram.y" /* yacc.c:1646 */
{
(yyval.typnam) = (yyvsp[0].typnam);
}
#line 41554 "gram.c" /* yacc.c:1646 */
break;
case 1884:
#line 12719 "gram.y" /* yacc.c:1646 */
{
(yyval.typnam) = (yyvsp[0].typnam);
}
#line 41562 "gram.c" /* yacc.c:1646 */
break;
case 1885:
#line 12725 "gram.y" /* yacc.c:1646 */
{
(yyval.typnam) = (yyvsp[0].typnam);
}
#line 41570 "gram.c" /* yacc.c:1646 */
break;
case 1886:
#line 12729 "gram.y" /* yacc.c:1646 */
{
/* Length was not specified so allow to be unrestricted.
* This handles problems with fixed-length (bpchar) strings
* which in column definitions must default to a length
* of one, but should not be constrained if the length
* was not specified.
*/
(yyval.typnam) = (yyvsp[0].typnam);
(yyval.typnam)->typmods = NIL;
}
#line 41585 "gram.c" /* yacc.c:1646 */
break;
case 1887:
#line 12742 "gram.y" /* yacc.c:1646 */
{
(yyval.typnam) = SystemTypeName((yyvsp[-3].str));
(yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[-1].ival), (yylsp[-1])));
(yyval.typnam)->location = (yylsp[-3]);
}
#line 41595 "gram.c" /* yacc.c:1646 */
break;
case 1888:
#line 12750 "gram.y" /* yacc.c:1646 */
{
(yyval.typnam) = SystemTypeName((yyvsp[0].str));
/* char defaults to char(1), varchar to no limit */
if (strcmp((yyvsp[0].str), "bpchar") == 0)
(yyval.typnam)->typmods = list_make1(makeIntConst(1, -1));
(yyval.typnam)->location = (yylsp[0]);
}
#line 41607 "gram.c" /* yacc.c:1646 */
break;
case 1889:
#line 12760 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
#line 41613 "gram.c" /* yacc.c:1646 */
break;
case 1890:
#line 12762 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
#line 41619 "gram.c" /* yacc.c:1646 */
break;
case 1891:
#line 12764 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = "varchar"; }
#line 41625 "gram.c" /* yacc.c:1646 */
break;
case 1892:
#line 12766 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
#line 41631 "gram.c" /* yacc.c:1646 */
break;
case 1893:
#line 12768 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
#line 41637 "gram.c" /* yacc.c:1646 */
break;
case 1894:
#line 12770 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
#line 41643 "gram.c" /* yacc.c:1646 */
break;
case 1895:
#line 12774 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = true; }
#line 41649 "gram.c" /* yacc.c:1646 */
break;
case 1896:
#line 12775 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = false; }
#line 41655 "gram.c" /* yacc.c:1646 */
break;
case 1897:
#line 12783 "gram.y" /* yacc.c:1646 */
{
if ((yyvsp[0].boolean))
(yyval.typnam) = SystemTypeName("timestamptz");
else
(yyval.typnam) = SystemTypeName("timestamp");
(yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[-2].ival), (yylsp[-2])));
(yyval.typnam)->location = (yylsp[-4]);
}
#line 41668 "gram.c" /* yacc.c:1646 */
break;
case 1898:
#line 12792 "gram.y" /* yacc.c:1646 */
{
if ((yyvsp[0].boolean))
(yyval.typnam) = SystemTypeName("timestamptz");
else
(yyval.typnam) = SystemTypeName("timestamp");
(yyval.typnam)->location = (yylsp[-1]);
}
#line 41680 "gram.c" /* yacc.c:1646 */
break;
case 1899:
#line 12800 "gram.y" /* yacc.c:1646 */
{
if ((yyvsp[0].boolean))
(yyval.typnam) = SystemTypeName("timetz");
else
(yyval.typnam) = SystemTypeName("time");
(yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[-2].ival), (yylsp[-2])));
(yyval.typnam)->location = (yylsp[-4]);
}
#line 41693 "gram.c" /* yacc.c:1646 */
break;
case 1900:
#line 12809 "gram.y" /* yacc.c:1646 */
{
if ((yyvsp[0].boolean))
(yyval.typnam) = SystemTypeName("timetz");
else
(yyval.typnam) = SystemTypeName("time");
(yyval.typnam)->location = (yylsp[-1]);
}
#line 41705 "gram.c" /* yacc.c:1646 */
break;
case 1901:
#line 12820 "gram.y" /* yacc.c:1646 */
{
(yyval.typnam) = SystemTypeName("interval");
(yyval.typnam)->location = (yylsp[0]);
}
#line 41714 "gram.c" /* yacc.c:1646 */
break;
case 1902:
#line 12827 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = true; }
#line 41720 "gram.c" /* yacc.c:1646 */
break;
case 1903:
#line 12828 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = false; }
#line 41726 "gram.c" /* yacc.c:1646 */
break;
case 1904:
#line 12829 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = false; }
#line 41732 "gram.c" /* yacc.c:1646 */
break;
case 1905:
#line 12834 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(YEAR), (yylsp[0]))); }
#line 41738 "gram.c" /* yacc.c:1646 */
break;
case 1906:
#line 12836 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MONTH), (yylsp[0]))); }
#line 41744 "gram.c" /* yacc.c:1646 */
break;
case 1907:
#line 12838 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY), (yylsp[0]))); }
#line 41750 "gram.c" /* yacc.c:1646 */
break;
case 1908:
#line 12840 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(HOUR), (yylsp[0]))); }
#line 41756 "gram.c" /* yacc.c:1646 */
break;
case 1909:
#line 12842 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MINUTE), (yylsp[0]))); }
#line 41762 "gram.c" /* yacc.c:1646 */
break;
case 1910:
#line 12844 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[0].list); }
#line 41768 "gram.c" /* yacc.c:1646 */
break;
case 1911:
#line 12846 "gram.y" /* yacc.c:1646 */
{
(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(YEAR) |
INTERVAL_MASK(MONTH), (yylsp[-2])));
}
#line 41777 "gram.c" /* yacc.c:1646 */
break;
case 1912:
#line 12851 "gram.y" /* yacc.c:1646 */
{
(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY) |
INTERVAL_MASK(HOUR), (yylsp[-2])));
}
#line 41786 "gram.c" /* yacc.c:1646 */
break;
case 1913:
#line 12856 "gram.y" /* yacc.c:1646 */
{
(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY) |
INTERVAL_MASK(HOUR) |
INTERVAL_MASK(MINUTE), (yylsp[-2])));
}
#line 41796 "gram.c" /* yacc.c:1646 */
break;
case 1914:
#line 12862 "gram.y" /* yacc.c:1646 */
{
(yyval.list) = (yyvsp[0].list);
linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(DAY) |
INTERVAL_MASK(HOUR) |
INTERVAL_MASK(MINUTE) |
INTERVAL_MASK(SECOND), (yylsp[-2]));
}
#line 41808 "gram.c" /* yacc.c:1646 */
break;
case 1915:
#line 12870 "gram.y" /* yacc.c:1646 */
{
(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(HOUR) |
INTERVAL_MASK(MINUTE), (yylsp[-2])));
}
#line 41817 "gram.c" /* yacc.c:1646 */
break;
case 1916:
#line 12875 "gram.y" /* yacc.c:1646 */
{
(yyval.list) = (yyvsp[0].list);
linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(HOUR) |
INTERVAL_MASK(MINUTE) |
INTERVAL_MASK(SECOND), (yylsp[-2]));
}
#line 41828 "gram.c" /* yacc.c:1646 */
break;
case 1917:
#line 12882 "gram.y" /* yacc.c:1646 */
{
(yyval.list) = (yyvsp[0].list);
linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(MINUTE) |
INTERVAL_MASK(SECOND), (yylsp[-2]));
}
#line 41838 "gram.c" /* yacc.c:1646 */
break;
case 1918:
#line 12888 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 41844 "gram.c" /* yacc.c:1646 */
break;
case 1919:
#line 12893 "gram.y" /* yacc.c:1646 */
{
(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(SECOND), (yylsp[0])));
}
#line 41852 "gram.c" /* yacc.c:1646 */
break;
case 1920:
#line 12897 "gram.y" /* yacc.c:1646 */
{
(yyval.list) = list_make2(makeIntConst(INTERVAL_MASK(SECOND), (yylsp[-3])),
makeIntConst((yyvsp[-1].ival), (yylsp[-1])));
}
#line 41861 "gram.c" /* yacc.c:1646 */
break;
case 1921:
#line 12932 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (yyvsp[0].node); }
#line 41867 "gram.c" /* yacc.c:1646 */
break;
case 1922:
#line 12934 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = makeTypeCast((yyvsp[-2].node), (yyvsp[0].typnam), (yylsp[-1])); }
#line 41873 "gram.c" /* yacc.c:1646 */
break;
case 1923:
#line 12936 "gram.y" /* yacc.c:1646 */
{
CollateClause *n = makeNode(CollateClause);
n->arg = (yyvsp[-2].node);
n->collname = (yyvsp[0].list);
n->location = (yylsp[-1]);
(yyval.node) = (Node *) n;
}
#line 41885 "gram.c" /* yacc.c:1646 */
break;
case 1924:
#line 12944 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("timezone"),
list_make2((yyvsp[0].node), (yyvsp[-4].node)),
(yylsp[-3]));
}
#line 41895 "gram.c" /* yacc.c:1646 */
break;
case 1925:
#line 12959 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[0].node), (yylsp[-1])); }
#line 41901 "gram.c" /* yacc.c:1646 */
break;
case 1926:
#line 12961 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = doNegate((yyvsp[0].node), (yylsp[-1])); }
#line 41907 "gram.c" /* yacc.c:1646 */
break;
case 1927:
#line 12963 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 41913 "gram.c" /* yacc.c:1646 */
break;
case 1928:
#line 12965 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "-", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 41919 "gram.c" /* yacc.c:1646 */
break;
case 1929:
#line 12967 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "*", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 41925 "gram.c" /* yacc.c:1646 */
break;
case 1930:
#line 12969 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "/", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 41931 "gram.c" /* yacc.c:1646 */
break;
case 1931:
#line 12971 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 41937 "gram.c" /* yacc.c:1646 */
break;
case 1932:
#line 12973 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 41943 "gram.c" /* yacc.c:1646 */
break;
case 1933:
#line 12975 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 41949 "gram.c" /* yacc.c:1646 */
break;
case 1934:
#line 12977 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 41955 "gram.c" /* yacc.c:1646 */
break;
case 1935:
#line 12979 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 41961 "gram.c" /* yacc.c:1646 */
break;
case 1936:
#line 12981 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 41967 "gram.c" /* yacc.c:1646 */
break;
case 1937:
#line 12983 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 41973 "gram.c" /* yacc.c:1646 */
break;
case 1938:
#line 12985 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<>", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 41979 "gram.c" /* yacc.c:1646 */
break;
case 1939:
#line 12988 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 41985 "gram.c" /* yacc.c:1646 */
break;
case 1940:
#line 12990 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), NULL, (yyvsp[0].node), (yylsp[-1])); }
#line 41991 "gram.c" /* yacc.c:1646 */
break;
case 1941:
#line 12992 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[0].list), (yyvsp[-1].node), NULL, (yylsp[0])); }
#line 41997 "gram.c" /* yacc.c:1646 */
break;
case 1942:
#line 12995 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = makeAndExpr((yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 42003 "gram.c" /* yacc.c:1646 */
break;
case 1943:
#line 12997 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = makeOrExpr((yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 42009 "gram.c" /* yacc.c:1646 */
break;
case 1944:
#line 12999 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = makeNotExpr((yyvsp[0].node), (yylsp[-1])); }
#line 42015 "gram.c" /* yacc.c:1646 */
break;
case 1945:
#line 13001 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = makeNotExpr((yyvsp[0].node), (yylsp[-1])); }
#line 42021 "gram.c" /* yacc.c:1646 */
break;
case 1946:
#line 13004 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "~~",
(yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1]));
}
#line 42030 "gram.c" /* yacc.c:1646 */
break;
case 1947:
#line 13009 "gram.y" /* yacc.c:1646 */
{
FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
list_make2((yyvsp[-2].node), (yyvsp[0].node)),
(yylsp[-3]));
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "~~",
(yyvsp[-4].node), (Node *) n, (yylsp[-3]));
}
#line 42042 "gram.c" /* yacc.c:1646 */
break;
case 1948:
#line 13017 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "!~~",
(yyvsp[-3].node), (yyvsp[0].node), (yylsp[-2]));
}
#line 42051 "gram.c" /* yacc.c:1646 */
break;
case 1949:
#line 13022 "gram.y" /* yacc.c:1646 */
{
FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
list_make2((yyvsp[-2].node), (yyvsp[0].node)),
(yylsp[-4]));
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "!~~",
(yyvsp[-5].node), (Node *) n, (yylsp[-4]));
}
#line 42063 "gram.c" /* yacc.c:1646 */
break;
case 1950:
#line 13030 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "~~*",
(yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1]));
}
#line 42072 "gram.c" /* yacc.c:1646 */
break;
case 1951:
#line 13035 "gram.y" /* yacc.c:1646 */
{
FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
list_make2((yyvsp[-2].node), (yyvsp[0].node)),
(yylsp[-3]));
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "~~*",
(yyvsp[-4].node), (Node *) n, (yylsp[-3]));
}
#line 42084 "gram.c" /* yacc.c:1646 */
break;
case 1952:
#line 13043 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "!~~*",
(yyvsp[-3].node), (yyvsp[0].node), (yylsp[-2]));
}
#line 42093 "gram.c" /* yacc.c:1646 */
break;
case 1953:
#line 13048 "gram.y" /* yacc.c:1646 */
{
FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
list_make2((yyvsp[-2].node), (yyvsp[0].node)),
(yylsp[-4]));
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "!~~*",
(yyvsp[-5].node), (Node *) n, (yylsp[-4]));
}
#line 42105 "gram.c" /* yacc.c:1646 */
break;
case 1954:
#line 13057 "gram.y" /* yacc.c:1646 */
{
FuncCall *n = makeFuncCall(SystemFuncName("similar_escape"),
list_make2((yyvsp[0].node), makeNullAConst(-1)),
(yylsp[-2]));
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "~",
(yyvsp[-3].node), (Node *) n, (yylsp[-2]));
}
#line 42117 "gram.c" /* yacc.c:1646 */
break;
case 1955:
#line 13065 "gram.y" /* yacc.c:1646 */
{
FuncCall *n = makeFuncCall(SystemFuncName("similar_escape"),
list_make2((yyvsp[-2].node), (yyvsp[0].node)),
(yylsp[-4]));
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "~",
(yyvsp[-5].node), (Node *) n, (yylsp[-4]));
}
#line 42129 "gram.c" /* yacc.c:1646 */
break;
case 1956:
#line 13073 "gram.y" /* yacc.c:1646 */
{
FuncCall *n = makeFuncCall(SystemFuncName("similar_escape"),
list_make2((yyvsp[0].node), makeNullAConst(-1)),
(yylsp[-3]));
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "!~",
(yyvsp[-4].node), (Node *) n, (yylsp[-3]));
}
#line 42141 "gram.c" /* yacc.c:1646 */
break;
case 1957:
#line 13081 "gram.y" /* yacc.c:1646 */
{
FuncCall *n = makeFuncCall(SystemFuncName("similar_escape"),
list_make2((yyvsp[-2].node), (yyvsp[0].node)),
(yylsp[-5]));
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "!~",
(yyvsp[-6].node), (Node *) n, (yylsp[-5]));
}
#line 42153 "gram.c" /* yacc.c:1646 */
break;
case 1958:
#line 13099 "gram.y" /* yacc.c:1646 */
{
NullTest *n = makeNode(NullTest);
n->arg = (Expr *) (yyvsp[-2].node);
n->nulltesttype = IS_NULL;
n->location = (yylsp[-1]);
(yyval.node) = (Node *)n;
}
#line 42165 "gram.c" /* yacc.c:1646 */
break;
case 1959:
#line 13107 "gram.y" /* yacc.c:1646 */
{
NullTest *n = makeNode(NullTest);
n->arg = (Expr *) (yyvsp[-1].node);
n->nulltesttype = IS_NULL;
n->location = (yylsp[0]);
(yyval.node) = (Node *)n;
}
#line 42177 "gram.c" /* yacc.c:1646 */
break;
case 1960:
#line 13115 "gram.y" /* yacc.c:1646 */
{
NullTest *n = makeNode(NullTest);
n->arg = (Expr *) (yyvsp[-3].node);
n->nulltesttype = IS_NOT_NULL;
n->location = (yylsp[-2]);
(yyval.node) = (Node *)n;
}
#line 42189 "gram.c" /* yacc.c:1646 */
break;
case 1961:
#line 13123 "gram.y" /* yacc.c:1646 */
{
NullTest *n = makeNode(NullTest);
n->arg = (Expr *) (yyvsp[-1].node);
n->nulltesttype = IS_NOT_NULL;
n->location = (yylsp[0]);
(yyval.node) = (Node *)n;
}
#line 42201 "gram.c" /* yacc.c:1646 */
break;
case 1962:
#line 13131 "gram.y" /* yacc.c:1646 */
{
if (list_length((yyvsp[-2].list)) != 2)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("wrong number of parameters on left side of OVERLAPS expression"),
parser_errposition((yylsp[-2]))));
if (list_length((yyvsp[0].list)) != 2)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("wrong number of parameters on right side of OVERLAPS expression"),
parser_errposition((yylsp[0]))));
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("overlaps"),
list_concat((yyvsp[-2].list), (yyvsp[0].list)),
(yylsp[-1]));
}
#line 42221 "gram.c" /* yacc.c:1646 */
break;
case 1963:
#line 13147 "gram.y" /* yacc.c:1646 */
{
BooleanTest *b = makeNode(BooleanTest);
b->arg = (Expr *) (yyvsp[-2].node);
b->booltesttype = IS_TRUE;
b->location = (yylsp[-1]);
(yyval.node) = (Node *)b;
}
#line 42233 "gram.c" /* yacc.c:1646 */
break;
case 1964:
#line 13155 "gram.y" /* yacc.c:1646 */
{
BooleanTest *b = makeNode(BooleanTest);
b->arg = (Expr *) (yyvsp[-3].node);
b->booltesttype = IS_NOT_TRUE;
b->location = (yylsp[-2]);
(yyval.node) = (Node *)b;
}
#line 42245 "gram.c" /* yacc.c:1646 */
break;
case 1965:
#line 13163 "gram.y" /* yacc.c:1646 */
{
BooleanTest *b = makeNode(BooleanTest);
b->arg = (Expr *) (yyvsp[-2].node);
b->booltesttype = IS_FALSE;
b->location = (yylsp[-1]);
(yyval.node) = (Node *)b;
}
#line 42257 "gram.c" /* yacc.c:1646 */
break;
case 1966:
#line 13171 "gram.y" /* yacc.c:1646 */
{
BooleanTest *b = makeNode(BooleanTest);
b->arg = (Expr *) (yyvsp[-3].node);
b->booltesttype = IS_NOT_FALSE;
b->location = (yylsp[-2]);
(yyval.node) = (Node *)b;
}
#line 42269 "gram.c" /* yacc.c:1646 */
break;
case 1967:
#line 13179 "gram.y" /* yacc.c:1646 */
{
BooleanTest *b = makeNode(BooleanTest);
b->arg = (Expr *) (yyvsp[-2].node);
b->booltesttype = IS_UNKNOWN;
b->location = (yylsp[-1]);
(yyval.node) = (Node *)b;
}
#line 42281 "gram.c" /* yacc.c:1646 */
break;
case 1968:
#line 13187 "gram.y" /* yacc.c:1646 */
{
BooleanTest *b = makeNode(BooleanTest);
b->arg = (Expr *) (yyvsp[-3].node);
b->booltesttype = IS_NOT_UNKNOWN;
b->location = (yylsp[-2]);
(yyval.node) = (Node *)b;
}
#line 42293 "gram.c" /* yacc.c:1646 */
break;
case 1969:
#line 13195 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", (yyvsp[-4].node), (yyvsp[0].node), (yylsp[-3]));
}
#line 42301 "gram.c" /* yacc.c:1646 */
break;
case 1970:
#line 13199 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_DISTINCT, "=", (yyvsp[-5].node), (yyvsp[0].node), (yylsp[-4]));
}
#line 42309 "gram.c" /* yacc.c:1646 */
break;
case 1971:
#line 13203 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "=", (yyvsp[-5].node), (Node *) (yyvsp[-1].list), (yylsp[-4]));
}
#line 42317 "gram.c" /* yacc.c:1646 */
break;
case 1972:
#line 13207 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "<>", (yyvsp[-6].node), (Node *) (yyvsp[-1].list), (yylsp[-5]));
}
#line 42325 "gram.c" /* yacc.c:1646 */
break;
case 1973:
#line 13211 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_BETWEEN,
"BETWEEN",
(yyvsp[-5].node),
(Node *) list_make2((yyvsp[-2].node), (yyvsp[0].node)),
(yylsp[-4]));
}
#line 42337 "gram.c" /* yacc.c:1646 */
break;
case 1974:
#line 13219 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_BETWEEN,
"NOT BETWEEN",
(yyvsp[-6].node),
(Node *) list_make2((yyvsp[-2].node), (yyvsp[0].node)),
(yylsp[-5]));
}
#line 42349 "gram.c" /* yacc.c:1646 */
break;
case 1975:
#line 13227 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_BETWEEN_SYM,
"BETWEEN SYMMETRIC",
(yyvsp[-5].node),
(Node *) list_make2((yyvsp[-2].node), (yyvsp[0].node)),
(yylsp[-4]));
}
#line 42361 "gram.c" /* yacc.c:1646 */
break;
case 1976:
#line 13235 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_BETWEEN_SYM,
"NOT BETWEEN SYMMETRIC",
(yyvsp[-6].node),
(Node *) list_make2((yyvsp[-2].node), (yyvsp[0].node)),
(yylsp[-5]));
}
#line 42373 "gram.c" /* yacc.c:1646 */
break;
case 1977:
#line 13243 "gram.y" /* yacc.c:1646 */
{
/* in_expr returns a SubLink or a list of a_exprs */
if (IsA((yyvsp[0].node), SubLink))
{
/* generate foo = ANY (subquery) */
SubLink *n = (SubLink *) (yyvsp[0].node);
n->subLinkType = ANY_SUBLINK;
n->subLinkId = 0;
n->testexpr = (yyvsp[-2].node);
n->operName = NIL; /* show it's IN not = ANY */
n->location = (yylsp[-1]);
(yyval.node) = (Node *)n;
}
else
{
/* generate scalar IN expression */
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_IN, "=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1]));
}
}
#line 42397 "gram.c" /* yacc.c:1646 */
break;
case 1978:
#line 13263 "gram.y" /* yacc.c:1646 */
{
/* in_expr returns a SubLink or a list of a_exprs */
if (IsA((yyvsp[0].node), SubLink))
{
/* generate NOT (foo = ANY (subquery)) */
/* Make an = ANY node */
SubLink *n = (SubLink *) (yyvsp[0].node);
n->subLinkType = ANY_SUBLINK;
n->subLinkId = 0;
n->testexpr = (yyvsp[-3].node);
n->operName = NIL; /* show it's IN not = ANY */
n->location = (yylsp[-2]);
/* Stick a NOT on top; must have same parse location */
(yyval.node) = makeNotExpr((Node *) n, (yylsp[-2]));
}
else
{
/* generate scalar NOT IN expression */
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_IN, "<>", (yyvsp[-3].node), (yyvsp[0].node), (yylsp[-2]));
}
}
#line 42423 "gram.c" /* yacc.c:1646 */
break;
case 1979:
#line 13285 "gram.y" /* yacc.c:1646 */
{
SubLink *n = makeNode(SubLink);
n->subLinkType = (yyvsp[-1].ival);
n->subLinkId = 0;
n->testexpr = (yyvsp[-3].node);
n->operName = (yyvsp[-2].list);
n->subselect = (yyvsp[0].node);
n->location = (yylsp[-2]);
(yyval.node) = (Node *)n;
}
#line 42438 "gram.c" /* yacc.c:1646 */
break;
case 1980:
#line 13296 "gram.y" /* yacc.c:1646 */
{
if ((yyvsp[-3].ival) == ANY_SUBLINK)
(yyval.node) = (Node *) makeA_Expr(AEXPR_OP_ANY, (yyvsp[-4].list), (yyvsp[-5].node), (yyvsp[-1].node), (yylsp[-4]));
else
(yyval.node) = (Node *) makeA_Expr(AEXPR_OP_ALL, (yyvsp[-4].list), (yyvsp[-5].node), (yyvsp[-1].node), (yylsp[-4]));
}
#line 42449 "gram.c" /* yacc.c:1646 */
break;
case 1981:
#line 13303 "gram.y" /* yacc.c:1646 */
{
/* Not sure how to get rid of the parentheses
* but there are lots of shift/reduce errors without them.
*
* Should be able to implement this by plopping the entire
* select into a node, then transforming the target expressions
* from whatever they are into count(*), and testing the
* entire result equal to one.
* But, will probably implement a separate node in the executor.
*/
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("UNIQUE predicate is not yet implemented"),
parser_errposition((yylsp[-1]))));
}
#line 42469 "gram.c" /* yacc.c:1646 */
break;
case 1982:
#line 13319 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = makeXmlExpr(IS_DOCUMENT, NULL, NIL,
list_make1((yyvsp[-2].node)), (yylsp[-1]));
}
#line 42478 "gram.c" /* yacc.c:1646 */
break;
case 1983:
#line 13324 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = makeNotExpr(makeXmlExpr(IS_DOCUMENT, NULL, NIL,
list_make1((yyvsp[-3].node)), (yylsp[-2])),
(yylsp[-2]));
}
#line 42488 "gram.c" /* yacc.c:1646 */
break;
case 1984:
#line 13330 "gram.y" /* yacc.c:1646 */
{
/*
* The SQL spec only allows DEFAULT in "contextually typed
* expressions", but for us, it's easier to allow it in
* any a_expr and then throw error during parse analysis
* if it's in an inappropriate context. This way also
* lets us say something smarter than "syntax error".
*/
SetToDefault *n = makeNode(SetToDefault);
/* parse analysis will fill in the rest */
n->location = (yylsp[0]);
(yyval.node) = (Node *)n;
}
#line 42506 "gram.c" /* yacc.c:1646 */
break;
case 1985:
#line 13355 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (yyvsp[0].node); }
#line 42512 "gram.c" /* yacc.c:1646 */
break;
case 1986:
#line 13357 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = makeTypeCast((yyvsp[-2].node), (yyvsp[0].typnam), (yylsp[-1])); }
#line 42518 "gram.c" /* yacc.c:1646 */
break;
case 1987:
#line 13359 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[0].node), (yylsp[-1])); }
#line 42524 "gram.c" /* yacc.c:1646 */
break;
case 1988:
#line 13361 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = doNegate((yyvsp[0].node), (yylsp[-1])); }
#line 42530 "gram.c" /* yacc.c:1646 */
break;
case 1989:
#line 13363 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 42536 "gram.c" /* yacc.c:1646 */
break;
case 1990:
#line 13365 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "-", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 42542 "gram.c" /* yacc.c:1646 */
break;
case 1991:
#line 13367 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "*", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 42548 "gram.c" /* yacc.c:1646 */
break;
case 1992:
#line 13369 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "/", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 42554 "gram.c" /* yacc.c:1646 */
break;
case 1993:
#line 13371 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 42560 "gram.c" /* yacc.c:1646 */
break;
case 1994:
#line 13373 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 42566 "gram.c" /* yacc.c:1646 */
break;
case 1995:
#line 13375 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 42572 "gram.c" /* yacc.c:1646 */
break;
case 1996:
#line 13377 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 42578 "gram.c" /* yacc.c:1646 */
break;
case 1997:
#line 13379 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 42584 "gram.c" /* yacc.c:1646 */
break;
case 1998:
#line 13381 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 42590 "gram.c" /* yacc.c:1646 */
break;
case 1999:
#line 13383 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 42596 "gram.c" /* yacc.c:1646 */
break;
case 2000:
#line 13385 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<>", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 42602 "gram.c" /* yacc.c:1646 */
break;
case 2001:
#line 13387 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 42608 "gram.c" /* yacc.c:1646 */
break;
case 2002:
#line 13389 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), NULL, (yyvsp[0].node), (yylsp[-1])); }
#line 42614 "gram.c" /* yacc.c:1646 */
break;
case 2003:
#line 13391 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[0].list), (yyvsp[-1].node), NULL, (yylsp[0])); }
#line 42620 "gram.c" /* yacc.c:1646 */
break;
case 2004:
#line 13393 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", (yyvsp[-4].node), (yyvsp[0].node), (yylsp[-3]));
}
#line 42628 "gram.c" /* yacc.c:1646 */
break;
case 2005:
#line 13397 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_DISTINCT, "=", (yyvsp[-5].node), (yyvsp[0].node), (yylsp[-4]));
}
#line 42636 "gram.c" /* yacc.c:1646 */
break;
case 2006:
#line 13401 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "=", (yyvsp[-5].node), (Node *) (yyvsp[-1].list), (yylsp[-4]));
}
#line 42644 "gram.c" /* yacc.c:1646 */
break;
case 2007:
#line 13405 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "<>", (yyvsp[-6].node), (Node *) (yyvsp[-1].list), (yylsp[-5]));
}
#line 42652 "gram.c" /* yacc.c:1646 */
break;
case 2008:
#line 13409 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = makeXmlExpr(IS_DOCUMENT, NULL, NIL,
list_make1((yyvsp[-2].node)), (yylsp[-1]));
}
#line 42661 "gram.c" /* yacc.c:1646 */
break;
case 2009:
#line 13414 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = makeNotExpr(makeXmlExpr(IS_DOCUMENT, NULL, NIL,
list_make1((yyvsp[-3].node)), (yylsp[-2])),
(yylsp[-2]));
}
#line 42671 "gram.c" /* yacc.c:1646 */
break;
case 2010:
#line 13429 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (yyvsp[0].node); }
#line 42677 "gram.c" /* yacc.c:1646 */
break;
case 2011:
#line 13430 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (yyvsp[0].node); }
#line 42683 "gram.c" /* yacc.c:1646 */
break;
case 2012:
#line 13432 "gram.y" /* yacc.c:1646 */
{
ParamRef *p = makeNode(ParamRef);
p->number = (yyvsp[-1].ival);
p->location = (yylsp[-1]);
if ((yyvsp[0].list))
{
A_Indirection *n = makeNode(A_Indirection);
n->arg = (Node *) p;
n->indirection = check_indirection((yyvsp[0].list), yyscanner);
(yyval.node) = (Node *) n;
}
else
(yyval.node) = (Node *) p;
}
#line 42702 "gram.c" /* yacc.c:1646 */
break;
case 2013:
#line 13447 "gram.y" /* yacc.c:1646 */
{
if ((yyvsp[0].list))
{
A_Indirection *n = makeNode(A_Indirection);
n->arg = (yyvsp[-2].node);
n->indirection = check_indirection((yyvsp[0].list), yyscanner);
(yyval.node) = (Node *)n;
}
else if (operator_precedence_warning)
{
/*
* If precedence warnings are enabled, insert
* AEXPR_PAREN nodes wrapping all explicitly
* parenthesized subexpressions; this prevents bogus
* warnings from being issued when the ordering has
* been forced by parentheses. Take care that an
* AEXPR_PAREN node has the same exprLocation as its
* child, so as not to cause surprising changes in
* error cursor positioning.
*
* In principle we should not be relying on a GUC to
* decide whether to insert AEXPR_PAREN nodes.
* However, since they have no effect except to
* suppress warnings, it's probably safe enough; and
* we'd just as soon not waste cycles on dummy parse
* nodes if we don't have to.
*/
(yyval.node) = (Node *) makeA_Expr(AEXPR_PAREN, NIL, (yyvsp[-2].node), NULL,
exprLocation((yyvsp[-2].node)));
}
else
(yyval.node) = (yyvsp[-2].node);
}
#line 42740 "gram.c" /* yacc.c:1646 */
break;
case 2014:
#line 13481 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (yyvsp[0].node); }
#line 42746 "gram.c" /* yacc.c:1646 */
break;
case 2015:
#line 13483 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (yyvsp[0].node); }
#line 42752 "gram.c" /* yacc.c:1646 */
break;
case 2016:
#line 13485 "gram.y" /* yacc.c:1646 */
{
SubLink *n = makeNode(SubLink);
n->subLinkType = EXPR_SUBLINK;
n->subLinkId = 0;
n->testexpr = NULL;
n->operName = NIL;
n->subselect = (yyvsp[0].node);
n->location = (yylsp[0]);
(yyval.node) = (Node *)n;
}
#line 42767 "gram.c" /* yacc.c:1646 */
break;
case 2017:
#line 13496 "gram.y" /* yacc.c:1646 */
{
/*
* Because the select_with_parens nonterminal is designed
* to "eat" as many levels of parens as possible, the
* '(' a_expr ')' opt_indirection production above will
* fail to match a sub-SELECT with indirection decoration;
* the sub-SELECT won't be regarded as an a_expr as long
* as there are parens around it. To support applying
* subscripting or field selection to a sub-SELECT result,
* we need this redundant-looking production.
*/
SubLink *n = makeNode(SubLink);
A_Indirection *a = makeNode(A_Indirection);
n->subLinkType = EXPR_SUBLINK;
n->subLinkId = 0;
n->testexpr = NULL;
n->operName = NIL;
n->subselect = (yyvsp[-1].node);
n->location = (yylsp[-1]);
a->arg = (Node *)n;
a->indirection = check_indirection((yyvsp[0].list), yyscanner);
(yyval.node) = (Node *)a;
}
#line 42795 "gram.c" /* yacc.c:1646 */
break;
case 2018:
#line 13520 "gram.y" /* yacc.c:1646 */
{
SubLink *n = makeNode(SubLink);
n->subLinkType = EXISTS_SUBLINK;
n->subLinkId = 0;
n->testexpr = NULL;
n->operName = NIL;
n->subselect = (yyvsp[0].node);
n->location = (yylsp[-1]);
(yyval.node) = (Node *)n;
}
#line 42810 "gram.c" /* yacc.c:1646 */
break;
case 2019:
#line 13531 "gram.y" /* yacc.c:1646 */
{
SubLink *n = makeNode(SubLink);
n->subLinkType = ARRAY_SUBLINK;
n->subLinkId = 0;
n->testexpr = NULL;
n->operName = NIL;
n->subselect = (yyvsp[0].node);
n->location = (yylsp[-1]);
(yyval.node) = (Node *)n;
}
#line 42825 "gram.c" /* yacc.c:1646 */
break;
case 2020:
#line 13542 "gram.y" /* yacc.c:1646 */
{
A_ArrayExpr *n = castNode(A_ArrayExpr, (yyvsp[0].node));
/* point outermost A_ArrayExpr to the ARRAY keyword */
n->location = (yylsp[-1]);
(yyval.node) = (Node *)n;
}
#line 42836 "gram.c" /* yacc.c:1646 */
break;
case 2021:
#line 13549 "gram.y" /* yacc.c:1646 */
{
RowExpr *r = makeNode(RowExpr);
r->args = (yyvsp[0].list);
r->row_typeid = InvalidOid; /* not analyzed yet */
r->colnames = NIL; /* to be filled in during analysis */
r->row_format = COERCE_EXPLICIT_CALL; /* abuse */
r->location = (yylsp[0]);
(yyval.node) = (Node *)r;
}
#line 42850 "gram.c" /* yacc.c:1646 */
break;
case 2022:
#line 13559 "gram.y" /* yacc.c:1646 */
{
RowExpr *r = makeNode(RowExpr);
r->args = (yyvsp[0].list);
r->row_typeid = InvalidOid; /* not analyzed yet */
r->colnames = NIL; /* to be filled in during analysis */
r->row_format = COERCE_IMPLICIT_CAST; /* abuse */
r->location = (yylsp[0]);
(yyval.node) = (Node *)r;
}
#line 42864 "gram.c" /* yacc.c:1646 */
break;
case 2023:
#line 13569 "gram.y" /* yacc.c:1646 */
{
GroupingFunc *g = makeNode(GroupingFunc);
g->args = (yyvsp[-1].list);
g->location = (yylsp[-3]);
(yyval.node) = (Node *)g;
}
#line 42875 "gram.c" /* yacc.c:1646 */
break;
case 2024:
#line 13578 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = (Node *) makeFuncCall((yyvsp[-2].list), NIL, (yylsp[-2]));
}
#line 42883 "gram.c" /* yacc.c:1646 */
break;
case 2025:
#line 13582 "gram.y" /* yacc.c:1646 */
{
FuncCall *n = makeFuncCall((yyvsp[-4].list), (yyvsp[-2].list), (yylsp[-4]));
n->agg_order = (yyvsp[-1].list);
(yyval.node) = (Node *)n;
}
#line 42893 "gram.c" /* yacc.c:1646 */
break;
case 2026:
#line 13588 "gram.y" /* yacc.c:1646 */
{
FuncCall *n = makeFuncCall((yyvsp[-5].list), list_make1((yyvsp[-2].node)), (yylsp[-5]));
n->func_variadic = true;
n->agg_order = (yyvsp[-1].list);
(yyval.node) = (Node *)n;
}
#line 42904 "gram.c" /* yacc.c:1646 */
break;
case 2027:
#line 13595 "gram.y" /* yacc.c:1646 */
{
FuncCall *n = makeFuncCall((yyvsp[-7].list), lappend((yyvsp[-5].list), (yyvsp[-2].node)), (yylsp[-7]));
n->func_variadic = true;
n->agg_order = (yyvsp[-1].list);
(yyval.node) = (Node *)n;
}
#line 42915 "gram.c" /* yacc.c:1646 */
break;
case 2028:
#line 13602 "gram.y" /* yacc.c:1646 */
{
FuncCall *n = makeFuncCall((yyvsp[-5].list), (yyvsp[-2].list), (yylsp[-5]));
n->agg_order = (yyvsp[-1].list);
/* Ideally we'd mark the FuncCall node to indicate
* "must be an aggregate", but there's no provision
* for that in FuncCall at the moment.
*/
(yyval.node) = (Node *)n;
}
#line 42929 "gram.c" /* yacc.c:1646 */
break;
case 2029:
#line 13612 "gram.y" /* yacc.c:1646 */
{
FuncCall *n = makeFuncCall((yyvsp[-5].list), (yyvsp[-2].list), (yylsp[-5]));
n->agg_order = (yyvsp[-1].list);
n->agg_distinct = true;
(yyval.node) = (Node *)n;
}
#line 42940 "gram.c" /* yacc.c:1646 */
break;
case 2030:
#line 13619 "gram.y" /* yacc.c:1646 */
{
/*
* We consider AGGREGATE(*) to invoke a parameterless
* aggregate. This does the right thing for COUNT(*),
* and there are no other aggregates in SQL that accept
* '*' as parameter.
*
* The FuncCall node is also marked agg_star = true,
* so that later processing can detect what the argument
* really was.
*/
FuncCall *n = makeFuncCall((yyvsp[-3].list), NIL, (yylsp[-3]));
n->agg_star = true;
(yyval.node) = (Node *)n;
}
#line 42960 "gram.c" /* yacc.c:1646 */
break;
case 2031:
#line 13647 "gram.y" /* yacc.c:1646 */
{
FuncCall *n = (FuncCall *) (yyvsp[-3].node);
/*
* The order clause for WITHIN GROUP and the one for
* plain-aggregate ORDER BY share a field, so we have to
* check here that at most one is present. We also check
* for DISTINCT and VARIADIC here to give a better error
* location. Other consistency checks are deferred to
* parse analysis.
*/
if ((yyvsp[-2].list) != NIL)
{
if (n->agg_order != NIL)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("cannot use multiple ORDER BY clauses with WITHIN GROUP"),
parser_errposition((yylsp[-2]))));
if (n->agg_distinct)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("cannot use DISTINCT with WITHIN GROUP"),
parser_errposition((yylsp[-2]))));
if (n->func_variadic)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("cannot use VARIADIC with WITHIN GROUP"),
parser_errposition((yylsp[-2]))));
n->agg_order = (yyvsp[-2].list);
n->agg_within_group = true;
}
n->agg_filter = (yyvsp[-1].node);
n->over = (yyvsp[0].windef);
(yyval.node) = (Node *) n;
}
#line 42999 "gram.c" /* yacc.c:1646 */
break;
case 2032:
#line 13682 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (yyvsp[0].node); }
#line 43005 "gram.c" /* yacc.c:1646 */
break;
case 2033:
#line 13692 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (yyvsp[0].node); }
#line 43011 "gram.c" /* yacc.c:1646 */
break;
case 2034:
#line 13693 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (yyvsp[0].node); }
#line 43017 "gram.c" /* yacc.c:1646 */
break;
case 2035:
#line 13701 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("pg_collation_for"),
list_make1((yyvsp[-1].node)),
(yylsp[-4]));
}
#line 43027 "gram.c" /* yacc.c:1646 */
break;
case 2036:
#line 13707 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_DATE, -1, (yylsp[0]));
}
#line 43035 "gram.c" /* yacc.c:1646 */
break;
case 2037:
#line 13711 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIME, -1, (yylsp[0]));
}
#line 43043 "gram.c" /* yacc.c:1646 */
break;
case 2038:
#line 13715 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIME_N, (yyvsp[-1].ival), (yylsp[-3]));
}
#line 43051 "gram.c" /* yacc.c:1646 */
break;
case 2039:
#line 13719 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIMESTAMP, -1, (yylsp[0]));
}
#line 43059 "gram.c" /* yacc.c:1646 */
break;
case 2040:
#line 13723 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIMESTAMP_N, (yyvsp[-1].ival), (yylsp[-3]));
}
#line 43067 "gram.c" /* yacc.c:1646 */
break;
case 2041:
#line 13727 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIME, -1, (yylsp[0]));
}
#line 43075 "gram.c" /* yacc.c:1646 */
break;
case 2042:
#line 13731 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIME_N, (yyvsp[-1].ival), (yylsp[-3]));
}
#line 43083 "gram.c" /* yacc.c:1646 */
break;
case 2043:
#line 13735 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIMESTAMP, -1, (yylsp[0]));
}
#line 43091 "gram.c" /* yacc.c:1646 */
break;
case 2044:
#line 13739 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIMESTAMP_N, (yyvsp[-1].ival), (yylsp[-3]));
}
#line 43099 "gram.c" /* yacc.c:1646 */
break;
case 2045:
#line 13743 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_ROLE, -1, (yylsp[0]));
}
#line 43107 "gram.c" /* yacc.c:1646 */
break;
case 2046:
#line 13747 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_USER, -1, (yylsp[0]));
}
#line 43115 "gram.c" /* yacc.c:1646 */
break;
case 2047:
#line 13751 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = makeSQLValueFunction(SVFOP_SESSION_USER, -1, (yylsp[0]));
}
#line 43123 "gram.c" /* yacc.c:1646 */
break;
case 2048:
#line 13755 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = makeSQLValueFunction(SVFOP_USER, -1, (yylsp[0]));
}
#line 43131 "gram.c" /* yacc.c:1646 */
break;
case 2049:
#line 13759 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_CATALOG, -1, (yylsp[0]));
}
#line 43139 "gram.c" /* yacc.c:1646 */
break;
case 2050:
#line 13763 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_SCHEMA, -1, (yylsp[0]));
}
#line 43147 "gram.c" /* yacc.c:1646 */
break;
case 2051:
#line 13767 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = makeTypeCast((yyvsp[-3].node), (yyvsp[-1].typnam), (yylsp[-5])); }
#line 43153 "gram.c" /* yacc.c:1646 */
break;
case 2052:
#line 13769 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("date_part"), (yyvsp[-1].list), (yylsp[-3]));
}
#line 43161 "gram.c" /* yacc.c:1646 */
break;
case 2053:
#line 13773 "gram.y" /* yacc.c:1646 */
{
/* overlay(A PLACING B FROM C FOR D) is converted to
* overlay(A, B, C, D)
* overlay(A PLACING B FROM C) is converted to
* overlay(A, B, C)
*/
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("overlay"), (yyvsp[-1].list), (yylsp[-3]));
}
#line 43174 "gram.c" /* yacc.c:1646 */
break;
case 2054:
#line 13782 "gram.y" /* yacc.c:1646 */
{
/* position(A in B) is converted to position(B, A) */
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("position"), (yyvsp[-1].list), (yylsp[-3]));
}
#line 43183 "gram.c" /* yacc.c:1646 */
break;
case 2055:
#line 13787 "gram.y" /* yacc.c:1646 */
{
/* substring(A from B for C) is converted to
* substring(A, B, C) - thomas 2000-11-28
*/
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("substring"), (yyvsp[-1].list), (yylsp[-3]));
}
#line 43194 "gram.c" /* yacc.c:1646 */
break;
case 2056:
#line 13794 "gram.y" /* yacc.c:1646 */
{
/* TREAT(expr AS target) converts expr of a particular type to target,
* which is defined to be a subtype of the original expression.
* In SQL99, this is intended for use with structured UDTs,
* but let's make this a generally useful form allowing stronger
* coercions than are handled by implicit casting.
*
* Convert SystemTypeName() to SystemFuncName() even though
* at the moment they result in the same thing.
*/
(yyval.node) = (Node *) makeFuncCall(SystemFuncName(((Value *)llast((yyvsp[-1].typnam)->names))->val.str),
list_make1((yyvsp[-3].node)),
(yylsp[-5]));
}
#line 43213 "gram.c" /* yacc.c:1646 */
break;
case 2057:
#line 13809 "gram.y" /* yacc.c:1646 */
{
/* various trim expressions are defined in SQL
* - thomas 1997-07-19
*/
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("btrim"), (yyvsp[-1].list), (yylsp[-4]));
}
#line 43224 "gram.c" /* yacc.c:1646 */
break;
case 2058:
#line 13816 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("ltrim"), (yyvsp[-1].list), (yylsp[-4]));
}
#line 43232 "gram.c" /* yacc.c:1646 */
break;
case 2059:
#line 13820 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("rtrim"), (yyvsp[-1].list), (yylsp[-4]));
}
#line 43240 "gram.c" /* yacc.c:1646 */
break;
case 2060:
#line 13824 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("btrim"), (yyvsp[-1].list), (yylsp[-3]));
}
#line 43248 "gram.c" /* yacc.c:1646 */
break;
case 2061:
#line 13828 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NULLIF, "=", (yyvsp[-3].node), (yyvsp[-1].node), (yylsp[-5]));
}
#line 43256 "gram.c" /* yacc.c:1646 */
break;
case 2062:
#line 13832 "gram.y" /* yacc.c:1646 */
{
CoalesceExpr *c = makeNode(CoalesceExpr);
c->args = (yyvsp[-1].list);
c->location = (yylsp[-3]);
(yyval.node) = (Node *)c;
}
#line 43267 "gram.c" /* yacc.c:1646 */
break;
case 2063:
#line 13839 "gram.y" /* yacc.c:1646 */
{
MinMaxExpr *v = makeNode(MinMaxExpr);
v->args = (yyvsp[-1].list);
v->op = IS_GREATEST;
v->location = (yylsp[-3]);
(yyval.node) = (Node *)v;
}
#line 43279 "gram.c" /* yacc.c:1646 */
break;
case 2064:
#line 13847 "gram.y" /* yacc.c:1646 */
{
MinMaxExpr *v = makeNode(MinMaxExpr);
v->args = (yyvsp[-1].list);
v->op = IS_LEAST;
v->location = (yylsp[-3]);
(yyval.node) = (Node *)v;
}
#line 43291 "gram.c" /* yacc.c:1646 */
break;
case 2065:
#line 13855 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = makeXmlExpr(IS_XMLCONCAT, NULL, NIL, (yyvsp[-1].list), (yylsp[-3]));
}
#line 43299 "gram.c" /* yacc.c:1646 */
break;
case 2066:
#line 13859 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-1].str), NIL, NIL, (yylsp[-4]));
}
#line 43307 "gram.c" /* yacc.c:1646 */
break;
case 2067:
#line 13863 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-3].str), (yyvsp[-1].list), NIL, (yylsp[-6]));
}
#line 43315 "gram.c" /* yacc.c:1646 */
break;
case 2068:
#line 13867 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-3].str), NIL, (yyvsp[-1].list), (yylsp[-6]));
}
#line 43323 "gram.c" /* yacc.c:1646 */
break;
case 2069:
#line 13871 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-5].str), (yyvsp[-3].list), (yyvsp[-1].list), (yylsp[-8]));
}
#line 43331 "gram.c" /* yacc.c:1646 */
break;
case 2070:
#line 13875 "gram.y" /* yacc.c:1646 */
{
/* xmlexists(A PASSING [BY REF] B [BY REF]) is
* converted to xmlexists(A, B)*/
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("xmlexists"), list_make2((yyvsp[-2].node), (yyvsp[-1].node)), (yylsp[-4]));
}
#line 43341 "gram.c" /* yacc.c:1646 */
break;
case 2071:
#line 13881 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = makeXmlExpr(IS_XMLFOREST, NULL, (yyvsp[-1].list), NIL, (yylsp[-3]));
}
#line 43349 "gram.c" /* yacc.c:1646 */
break;
case 2072:
#line 13885 "gram.y" /* yacc.c:1646 */
{
XmlExpr *x = (XmlExpr *)
makeXmlExpr(IS_XMLPARSE, NULL, NIL,
list_make2((yyvsp[-2].node), makeBoolAConst((yyvsp[-1].boolean), -1)),
(yylsp[-5]));
x->xmloption = (yyvsp[-3].ival);
(yyval.node) = (Node *)x;
}
#line 43362 "gram.c" /* yacc.c:1646 */
break;
case 2073:
#line 13894 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = makeXmlExpr(IS_XMLPI, (yyvsp[-1].str), NULL, NIL, (yylsp[-4]));
}
#line 43370 "gram.c" /* yacc.c:1646 */
break;
case 2074:
#line 13898 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = makeXmlExpr(IS_XMLPI, (yyvsp[-3].str), NULL, list_make1((yyvsp[-1].node)), (yylsp[-6]));
}
#line 43378 "gram.c" /* yacc.c:1646 */
break;
case 2075:
#line 13902 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = makeXmlExpr(IS_XMLROOT, NULL, NIL,
list_make3((yyvsp[-4].node), (yyvsp[-2].node), (yyvsp[-1].node)), (yylsp[-6]));
}
#line 43387 "gram.c" /* yacc.c:1646 */
break;
case 2076:
#line 13907 "gram.y" /* yacc.c:1646 */
{
XmlSerialize *n = makeNode(XmlSerialize);
n->xmloption = (yyvsp[-4].ival);
n->expr = (yyvsp[-3].node);
n->typeName = (yyvsp[-1].typnam);
n->location = (yylsp[-6]);
(yyval.node) = (Node *)n;
}
#line 43400 "gram.c" /* yacc.c:1646 */
break;
case 2077:
#line 13921 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (yyvsp[0].node); }
#line 43406 "gram.c" /* yacc.c:1646 */
break;
case 2078:
#line 13923 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = makeNullAConst(-1); }
#line 43412 "gram.c" /* yacc.c:1646 */
break;
case 2079:
#line 13927 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = makeIntConst(XML_STANDALONE_YES, -1); }
#line 43418 "gram.c" /* yacc.c:1646 */
break;
case 2080:
#line 13929 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = makeIntConst(XML_STANDALONE_NO, -1); }
#line 43424 "gram.c" /* yacc.c:1646 */
break;
case 2081:
#line 13931 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = makeIntConst(XML_STANDALONE_NO_VALUE, -1); }
#line 43430 "gram.c" /* yacc.c:1646 */
break;
case 2082:
#line 13933 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = makeIntConst(XML_STANDALONE_OMITTED, -1); }
#line 43436 "gram.c" /* yacc.c:1646 */
break;
case 2083:
#line 13936 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 43442 "gram.c" /* yacc.c:1646 */
break;
case 2084:
#line 13939 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1((yyvsp[0].target)); }
#line 43448 "gram.c" /* yacc.c:1646 */
break;
case 2085:
#line 13940 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
#line 43454 "gram.c" /* yacc.c:1646 */
break;
case 2086:
#line 13944 "gram.y" /* yacc.c:1646 */
{
(yyval.target) = makeNode(ResTarget);
(yyval.target)->name = (yyvsp[0].str);
(yyval.target)->indirection = NIL;
(yyval.target)->val = (Node *) (yyvsp[-2].node);
(yyval.target)->location = (yylsp[-2]);
}
#line 43466 "gram.c" /* yacc.c:1646 */
break;
case 2087:
#line 13952 "gram.y" /* yacc.c:1646 */
{
(yyval.target) = makeNode(ResTarget);
(yyval.target)->name = NULL;
(yyval.target)->indirection = NIL;
(yyval.target)->val = (Node *) (yyvsp[0].node);
(yyval.target)->location = (yylsp[0]);
}
#line 43478 "gram.c" /* yacc.c:1646 */
break;
case 2088:
#line 13961 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = XMLOPTION_DOCUMENT; }
#line 43484 "gram.c" /* yacc.c:1646 */
break;
case 2089:
#line 13962 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = XMLOPTION_CONTENT; }
#line 43490 "gram.c" /* yacc.c:1646 */
break;
case 2090:
#line 13965 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = true; }
#line 43496 "gram.c" /* yacc.c:1646 */
break;
case 2091:
#line 13966 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = false; }
#line 43502 "gram.c" /* yacc.c:1646 */
break;
case 2092:
#line 13967 "gram.y" /* yacc.c:1646 */
{ (yyval.boolean) = false; }
#line 43508 "gram.c" /* yacc.c:1646 */
break;
case 2093:
#line 13973 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = (yyvsp[0].node);
}
#line 43516 "gram.c" /* yacc.c:1646 */
break;
case 2094:
#line 13977 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = (yyvsp[-2].node);
}
#line 43524 "gram.c" /* yacc.c:1646 */
break;
case 2095:
#line 13981 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = (yyvsp[0].node);
}
#line 43532 "gram.c" /* yacc.c:1646 */
break;
case 2096:
#line 13985 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = (yyvsp[-2].node);
}
#line 43540 "gram.c" /* yacc.c:1646 */
break;
case 2097:
#line 13995 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 43546 "gram.c" /* yacc.c:1646 */
break;
case 2098:
#line 13996 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 43552 "gram.c" /* yacc.c:1646 */
break;
case 2099:
#line 14000 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (yyvsp[-1].node); }
#line 43558 "gram.c" /* yacc.c:1646 */
break;
case 2100:
#line 14001 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = NULL; }
#line 43564 "gram.c" /* yacc.c:1646 */
break;
case 2101:
#line 14009 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[0].list); }
#line 43570 "gram.c" /* yacc.c:1646 */
break;
case 2102:
#line 14010 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 43576 "gram.c" /* yacc.c:1646 */
break;
case 2103:
#line 14014 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1((yyvsp[0].windef)); }
#line 43582 "gram.c" /* yacc.c:1646 */
break;
case 2104:
#line 14016 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].windef)); }
#line 43588 "gram.c" /* yacc.c:1646 */
break;
case 2105:
#line 14021 "gram.y" /* yacc.c:1646 */
{
WindowDef *n = (yyvsp[0].windef);
n->name = (yyvsp[-2].str);
(yyval.windef) = n;
}
#line 43598 "gram.c" /* yacc.c:1646 */
break;
case 2106:
#line 14029 "gram.y" /* yacc.c:1646 */
{ (yyval.windef) = (yyvsp[0].windef); }
#line 43604 "gram.c" /* yacc.c:1646 */
break;
case 2107:
#line 14031 "gram.y" /* yacc.c:1646 */
{
WindowDef *n = makeNode(WindowDef);
n->name = (yyvsp[0].str);
n->refname = NULL;
n->partitionClause = NIL;
n->orderClause = NIL;
n->frameOptions = FRAMEOPTION_DEFAULTS;
n->startOffset = NULL;
n->endOffset = NULL;
n->location = (yylsp[0]);
(yyval.windef) = n;
}
#line 43621 "gram.c" /* yacc.c:1646 */
break;
case 2108:
#line 14044 "gram.y" /* yacc.c:1646 */
{ (yyval.windef) = NULL; }
#line 43627 "gram.c" /* yacc.c:1646 */
break;
case 2109:
#line 14049 "gram.y" /* yacc.c:1646 */
{
WindowDef *n = makeNode(WindowDef);
n->name = NULL;
n->refname = (yyvsp[-4].str);
n->partitionClause = (yyvsp[-3].list);
n->orderClause = (yyvsp[-2].list);
/* copy relevant fields of opt_frame_clause */
n->frameOptions = (yyvsp[-1].windef)->frameOptions;
n->startOffset = (yyvsp[-1].windef)->startOffset;
n->endOffset = (yyvsp[-1].windef)->endOffset;
n->location = (yylsp[-5]);
(yyval.windef) = n;
}
#line 43645 "gram.c" /* yacc.c:1646 */
break;
case 2110:
#line 14074 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = (yyvsp[0].str); }
#line 43651 "gram.c" /* yacc.c:1646 */
break;
case 2111:
#line 14075 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = NULL; }
#line 43657 "gram.c" /* yacc.c:1646 */
break;
case 2112:
#line 14078 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[0].list); }
#line 43663 "gram.c" /* yacc.c:1646 */
break;
case 2113:
#line 14079 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 43669 "gram.c" /* yacc.c:1646 */
break;
case 2114:
#line 14088 "gram.y" /* yacc.c:1646 */
{
WindowDef *n = (yyvsp[-1].windef);
n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_RANGE;
n->frameOptions |= (yyvsp[0].ival);
(yyval.windef) = n;
}
#line 43680 "gram.c" /* yacc.c:1646 */
break;
case 2115:
#line 14095 "gram.y" /* yacc.c:1646 */
{
WindowDef *n = (yyvsp[-1].windef);
n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_ROWS;
n->frameOptions |= (yyvsp[0].ival);
(yyval.windef) = n;
}
#line 43691 "gram.c" /* yacc.c:1646 */
break;
case 2116:
#line 14102 "gram.y" /* yacc.c:1646 */
{
WindowDef *n = (yyvsp[-1].windef);
n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_GROUPS;
n->frameOptions |= (yyvsp[0].ival);
(yyval.windef) = n;
}
#line 43702 "gram.c" /* yacc.c:1646 */
break;
case 2117:
#line 14109 "gram.y" /* yacc.c:1646 */
{
WindowDef *n = makeNode(WindowDef);
n->frameOptions = FRAMEOPTION_DEFAULTS;
n->startOffset = NULL;
n->endOffset = NULL;
(yyval.windef) = n;
}
#line 43714 "gram.c" /* yacc.c:1646 */
break;
case 2118:
#line 14119 "gram.y" /* yacc.c:1646 */
{
WindowDef *n = (yyvsp[0].windef);
/* reject invalid cases */
if (n->frameOptions & FRAMEOPTION_START_UNBOUNDED_FOLLOWING)
ereport(ERROR,
(errcode(ERRCODE_WINDOWING_ERROR),
errmsg("frame start cannot be UNBOUNDED FOLLOWING"),
parser_errposition((yylsp[0]))));
if (n->frameOptions & FRAMEOPTION_START_OFFSET_FOLLOWING)
ereport(ERROR,
(errcode(ERRCODE_WINDOWING_ERROR),
errmsg("frame starting from following row cannot end with current row"),
parser_errposition((yylsp[0]))));
n->frameOptions |= FRAMEOPTION_END_CURRENT_ROW;
(yyval.windef) = n;
}
#line 43735 "gram.c" /* yacc.c:1646 */
break;
case 2119:
#line 14136 "gram.y" /* yacc.c:1646 */
{
WindowDef *n1 = (yyvsp[-2].windef);
WindowDef *n2 = (yyvsp[0].windef);
/* form merged options */
int frameOptions = n1->frameOptions;
/* shift converts START_ options to END_ options */
frameOptions |= n2->frameOptions << 1;
frameOptions |= FRAMEOPTION_BETWEEN;
/* reject invalid cases */
if (frameOptions & FRAMEOPTION_START_UNBOUNDED_FOLLOWING)
ereport(ERROR,
(errcode(ERRCODE_WINDOWING_ERROR),
errmsg("frame start cannot be UNBOUNDED FOLLOWING"),
parser_errposition((yylsp[-2]))));
if (frameOptions & FRAMEOPTION_END_UNBOUNDED_PRECEDING)
ereport(ERROR,
(errcode(ERRCODE_WINDOWING_ERROR),
errmsg("frame end cannot be UNBOUNDED PRECEDING"),
parser_errposition((yylsp[0]))));
if ((frameOptions & FRAMEOPTION_START_CURRENT_ROW) &&
(frameOptions & FRAMEOPTION_END_OFFSET_PRECEDING))
ereport(ERROR,
(errcode(ERRCODE_WINDOWING_ERROR),
errmsg("frame starting from current row cannot have preceding rows"),
parser_errposition((yylsp[0]))));
if ((frameOptions & FRAMEOPTION_START_OFFSET_FOLLOWING) &&
(frameOptions & (FRAMEOPTION_END_OFFSET_PRECEDING |
FRAMEOPTION_END_CURRENT_ROW)))
ereport(ERROR,
(errcode(ERRCODE_WINDOWING_ERROR),
errmsg("frame starting from following row cannot have preceding rows"),
parser_errposition((yylsp[0]))));
n1->frameOptions = frameOptions;
n1->endOffset = n2->startOffset;
(yyval.windef) = n1;
}
#line 43776 "gram.c" /* yacc.c:1646 */
break;
case 2120:
#line 14181 "gram.y" /* yacc.c:1646 */
{
WindowDef *n = makeNode(WindowDef);
n->frameOptions = FRAMEOPTION_START_UNBOUNDED_PRECEDING;
n->startOffset = NULL;
n->endOffset = NULL;
(yyval.windef) = n;
}
#line 43788 "gram.c" /* yacc.c:1646 */
break;
case 2121:
#line 14189 "gram.y" /* yacc.c:1646 */
{
WindowDef *n = makeNode(WindowDef);
n->frameOptions = FRAMEOPTION_START_UNBOUNDED_FOLLOWING;
n->startOffset = NULL;
n->endOffset = NULL;
(yyval.windef) = n;
}
#line 43800 "gram.c" /* yacc.c:1646 */
break;
case 2122:
#line 14197 "gram.y" /* yacc.c:1646 */
{
WindowDef *n = makeNode(WindowDef);
n->frameOptions = FRAMEOPTION_START_CURRENT_ROW;
n->startOffset = NULL;
n->endOffset = NULL;
(yyval.windef) = n;
}
#line 43812 "gram.c" /* yacc.c:1646 */
break;
case 2123:
#line 14205 "gram.y" /* yacc.c:1646 */
{
WindowDef *n = makeNode(WindowDef);
n->frameOptions = FRAMEOPTION_START_OFFSET_PRECEDING;
n->startOffset = (yyvsp[-1].node);
n->endOffset = NULL;
(yyval.windef) = n;
}
#line 43824 "gram.c" /* yacc.c:1646 */
break;
case 2124:
#line 14213 "gram.y" /* yacc.c:1646 */
{
WindowDef *n = makeNode(WindowDef);
n->frameOptions = FRAMEOPTION_START_OFFSET_FOLLOWING;
n->startOffset = (yyvsp[-1].node);
n->endOffset = NULL;
(yyval.windef) = n;
}
#line 43836 "gram.c" /* yacc.c:1646 */
break;
case 2125:
#line 14223 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = FRAMEOPTION_EXCLUDE_CURRENT_ROW; }
#line 43842 "gram.c" /* yacc.c:1646 */
break;
case 2126:
#line 14224 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = FRAMEOPTION_EXCLUDE_GROUP; }
#line 43848 "gram.c" /* yacc.c:1646 */
break;
case 2127:
#line 14225 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = FRAMEOPTION_EXCLUDE_TIES; }
#line 43854 "gram.c" /* yacc.c:1646 */
break;
case 2128:
#line 14226 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = 0; }
#line 43860 "gram.c" /* yacc.c:1646 */
break;
case 2129:
#line 14227 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = 0; }
#line 43866 "gram.c" /* yacc.c:1646 */
break;
case 2130:
#line 14241 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 43872 "gram.c" /* yacc.c:1646 */
break;
case 2131:
#line 14242 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 43878 "gram.c" /* yacc.c:1646 */
break;
case 2132:
#line 14243 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-3].list), (yyvsp[-1].node)); }
#line 43884 "gram.c" /* yacc.c:1646 */
break;
case 2133:
#line 14246 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 43890 "gram.c" /* yacc.c:1646 */
break;
case 2134:
#line 14247 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 43896 "gram.c" /* yacc.c:1646 */
break;
case 2135:
#line 14250 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-3].list), (yyvsp[-1].node)); }
#line 43902 "gram.c" /* yacc.c:1646 */
break;
case 2136:
#line 14253 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = ANY_SUBLINK; }
#line 43908 "gram.c" /* yacc.c:1646 */
break;
case 2137:
#line 14254 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = ANY_SUBLINK; }
#line 43914 "gram.c" /* yacc.c:1646 */
break;
case 2138:
#line 14255 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = ALL_SUBLINK; }
#line 43920 "gram.c" /* yacc.c:1646 */
break;
case 2139:
#line 14258 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = (yyvsp[0].str); }
#line 43926 "gram.c" /* yacc.c:1646 */
break;
case 2140:
#line 14259 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = (yyvsp[0].str); }
#line 43932 "gram.c" /* yacc.c:1646 */
break;
case 2141:
#line 14262 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = "+"; }
#line 43938 "gram.c" /* yacc.c:1646 */
break;
case 2142:
#line 14263 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = "-"; }
#line 43944 "gram.c" /* yacc.c:1646 */
break;
case 2143:
#line 14264 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = "*"; }
#line 43950 "gram.c" /* yacc.c:1646 */
break;
case 2144:
#line 14265 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = "/"; }
#line 43956 "gram.c" /* yacc.c:1646 */
break;
case 2145:
#line 14266 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = "%"; }
#line 43962 "gram.c" /* yacc.c:1646 */
break;
case 2146:
#line 14267 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = "^"; }
#line 43968 "gram.c" /* yacc.c:1646 */
break;
case 2147:
#line 14268 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = "<"; }
#line 43974 "gram.c" /* yacc.c:1646 */
break;
case 2148:
#line 14269 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = ">"; }
#line 43980 "gram.c" /* yacc.c:1646 */
break;
case 2149:
#line 14270 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = "="; }
#line 43986 "gram.c" /* yacc.c:1646 */
break;
case 2150:
#line 14271 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = "<="; }
#line 43992 "gram.c" /* yacc.c:1646 */
break;
case 2151:
#line 14272 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = ">="; }
#line 43998 "gram.c" /* yacc.c:1646 */
break;
case 2152:
#line 14273 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = "<>"; }
#line 44004 "gram.c" /* yacc.c:1646 */
break;
case 2153:
#line 14277 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
#line 44010 "gram.c" /* yacc.c:1646 */
break;
case 2154:
#line 14279 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 44016 "gram.c" /* yacc.c:1646 */
break;
case 2155:
#line 14284 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
#line 44022 "gram.c" /* yacc.c:1646 */
break;
case 2156:
#line 14286 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 44028 "gram.c" /* yacc.c:1646 */
break;
case 2157:
#line 14291 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
#line 44034 "gram.c" /* yacc.c:1646 */
break;
case 2158:
#line 14293 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 44040 "gram.c" /* yacc.c:1646 */
break;
case 2159:
#line 14295 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1(makeString("~~")); }
#line 44046 "gram.c" /* yacc.c:1646 */
break;
case 2160:
#line 14297 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1(makeString("!~~")); }
#line 44052 "gram.c" /* yacc.c:1646 */
break;
case 2161:
#line 14299 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1(makeString("~~*")); }
#line 44058 "gram.c" /* yacc.c:1646 */
break;
case 2162:
#line 14301 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1(makeString("!~~*")); }
#line 44064 "gram.c" /* yacc.c:1646 */
break;
case 2163:
#line 14313 "gram.y" /* yacc.c:1646 */
{
(yyval.list) = list_make1((yyvsp[0].node));
}
#line 44072 "gram.c" /* yacc.c:1646 */
break;
case 2164:
#line 14317 "gram.y" /* yacc.c:1646 */
{
(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
}
#line 44080 "gram.c" /* yacc.c:1646 */
break;
case 2165:
#line 14324 "gram.y" /* yacc.c:1646 */
{
(yyval.list) = list_make1((yyvsp[0].node));
}
#line 44088 "gram.c" /* yacc.c:1646 */
break;
case 2166:
#line 14328 "gram.y" /* yacc.c:1646 */
{
(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
}
#line 44096 "gram.c" /* yacc.c:1646 */
break;
case 2167:
#line 14334 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = (yyvsp[0].node);
}
#line 44104 "gram.c" /* yacc.c:1646 */
break;
case 2168:
#line 14338 "gram.y" /* yacc.c:1646 */
{
NamedArgExpr *na = makeNode(NamedArgExpr);
na->name = (yyvsp[-2].str);
na->arg = (Expr *) (yyvsp[0].node);
na->argnumber = -1; /* until determined */
na->location = (yylsp[-2]);
(yyval.node) = (Node *) na;
}
#line 44117 "gram.c" /* yacc.c:1646 */
break;
case 2169:
#line 14347 "gram.y" /* yacc.c:1646 */
{
NamedArgExpr *na = makeNode(NamedArgExpr);
na->name = (yyvsp[-2].str);
na->arg = (Expr *) (yyvsp[0].node);
na->argnumber = -1; /* until determined */
na->location = (yylsp[-2]);
(yyval.node) = (Node *) na;
}
#line 44130 "gram.c" /* yacc.c:1646 */
break;
case 2170:
#line 14357 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1((yyvsp[0].typnam)); }
#line 44136 "gram.c" /* yacc.c:1646 */
break;
case 2171:
#line 14358 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].typnam)); }
#line 44142 "gram.c" /* yacc.c:1646 */
break;
case 2172:
#line 14362 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = makeAArrayExpr((yyvsp[-1].list), (yylsp[-2]));
}
#line 44150 "gram.c" /* yacc.c:1646 */
break;
case 2173:
#line 14366 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = makeAArrayExpr((yyvsp[-1].list), (yylsp[-2]));
}
#line 44158 "gram.c" /* yacc.c:1646 */
break;
case 2174:
#line 14370 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = makeAArrayExpr(NIL, (yylsp[-1]));
}
#line 44166 "gram.c" /* yacc.c:1646 */
break;
case 2175:
#line 14375 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1((yyvsp[0].node)); }
#line 44172 "gram.c" /* yacc.c:1646 */
break;
case 2176:
#line 14376 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
#line 44178 "gram.c" /* yacc.c:1646 */
break;
case 2177:
#line 14382 "gram.y" /* yacc.c:1646 */
{
(yyval.list) = list_make2(makeStringConst((yyvsp[-2].str), (yylsp[-2])), (yyvsp[0].node));
}
#line 44186 "gram.c" /* yacc.c:1646 */
break;
case 2178:
#line 14385 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 44192 "gram.c" /* yacc.c:1646 */
break;
case 2179:
#line 14392 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = (yyvsp[0].str); }
#line 44198 "gram.c" /* yacc.c:1646 */
break;
case 2180:
#line 14393 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = "year"; }
#line 44204 "gram.c" /* yacc.c:1646 */
break;
case 2181:
#line 14394 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = "month"; }
#line 44210 "gram.c" /* yacc.c:1646 */
break;
case 2182:
#line 14395 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = "day"; }
#line 44216 "gram.c" /* yacc.c:1646 */
break;
case 2183:
#line 14396 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = "hour"; }
#line 44222 "gram.c" /* yacc.c:1646 */
break;
case 2184:
#line 14397 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = "minute"; }
#line 44228 "gram.c" /* yacc.c:1646 */
break;
case 2185:
#line 14398 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = "second"; }
#line 44234 "gram.c" /* yacc.c:1646 */
break;
case 2186:
#line 14399 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = (yyvsp[0].str); }
#line 44240 "gram.c" /* yacc.c:1646 */
break;
case 2187:
#line 14410 "gram.y" /* yacc.c:1646 */
{
(yyval.list) = list_make4((yyvsp[-3].node), (yyvsp[-2].node), (yyvsp[-1].node), (yyvsp[0].node));
}
#line 44248 "gram.c" /* yacc.c:1646 */
break;
case 2188:
#line 14414 "gram.y" /* yacc.c:1646 */
{
(yyval.list) = list_make3((yyvsp[-2].node), (yyvsp[-1].node), (yyvsp[0].node));
}
#line 44256 "gram.c" /* yacc.c:1646 */
break;
case 2189:
#line 14421 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (yyvsp[0].node); }
#line 44262 "gram.c" /* yacc.c:1646 */
break;
case 2190:
#line 14427 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make2((yyvsp[0].node), (yyvsp[-2].node)); }
#line 44268 "gram.c" /* yacc.c:1646 */
break;
case 2191:
#line 14428 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 44274 "gram.c" /* yacc.c:1646 */
break;
case 2192:
#line 14445 "gram.y" /* yacc.c:1646 */
{
(yyval.list) = list_make3((yyvsp[-2].node), (yyvsp[-1].node), (yyvsp[0].node));
}
#line 44282 "gram.c" /* yacc.c:1646 */
break;
case 2193:
#line 14449 "gram.y" /* yacc.c:1646 */
{
/* not legal per SQL99, but might as well allow it */
(yyval.list) = list_make3((yyvsp[-2].node), (yyvsp[0].node), (yyvsp[-1].node));
}
#line 44291 "gram.c" /* yacc.c:1646 */
break;
case 2194:
#line 14454 "gram.y" /* yacc.c:1646 */
{
(yyval.list) = list_make2((yyvsp[-1].node), (yyvsp[0].node));
}
#line 44299 "gram.c" /* yacc.c:1646 */
break;
case 2195:
#line 14458 "gram.y" /* yacc.c:1646 */
{
/*
* Since there are no cases where this syntax allows
* a textual FOR value, we forcibly cast the argument
* to int4. The possible matches in pg_proc are
* substring(text,int4) and substring(text,text),
* and we don't want the parser to choose the latter,
* which it is likely to do if the second argument
* is unknown or doesn't have an implicit cast to int4.
*/
(yyval.list) = list_make3((yyvsp[-1].node), makeIntConst(1, -1),
makeTypeCast((yyvsp[0].node),
SystemTypeName("int4"), -1));
}
#line 44318 "gram.c" /* yacc.c:1646 */
break;
case 2196:
#line 14473 "gram.y" /* yacc.c:1646 */
{
(yyval.list) = (yyvsp[0].list);
}
#line 44326 "gram.c" /* yacc.c:1646 */
break;
case 2197:
#line 14477 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 44332 "gram.c" /* yacc.c:1646 */
break;
case 2198:
#line 14481 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (yyvsp[0].node); }
#line 44338 "gram.c" /* yacc.c:1646 */
break;
case 2199:
#line 14484 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (yyvsp[0].node); }
#line 44344 "gram.c" /* yacc.c:1646 */
break;
case 2200:
#line 14487 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[0].list), (yyvsp[-2].node)); }
#line 44350 "gram.c" /* yacc.c:1646 */
break;
case 2201:
#line 14488 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[0].list); }
#line 44356 "gram.c" /* yacc.c:1646 */
break;
case 2202:
#line 14489 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[0].list); }
#line 44362 "gram.c" /* yacc.c:1646 */
break;
case 2203:
#line 14493 "gram.y" /* yacc.c:1646 */
{
SubLink *n = makeNode(SubLink);
n->subselect = (yyvsp[0].node);
/* other fields will be filled later */
(yyval.node) = (Node *)n;
}
#line 44373 "gram.c" /* yacc.c:1646 */
break;
case 2204:
#line 14499 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (Node *)(yyvsp[-1].list); }
#line 44379 "gram.c" /* yacc.c:1646 */
break;
case 2205:
#line 14510 "gram.y" /* yacc.c:1646 */
{
CaseExpr *c = makeNode(CaseExpr);
c->casetype = InvalidOid; /* not analyzed yet */
c->arg = (Expr *) (yyvsp[-3].node);
c->args = (yyvsp[-2].list);
c->defresult = (Expr *) (yyvsp[-1].node);
c->location = (yylsp[-4]);
(yyval.node) = (Node *)c;
}
#line 44393 "gram.c" /* yacc.c:1646 */
break;
case 2206:
#line 14523 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1((yyvsp[0].node)); }
#line 44399 "gram.c" /* yacc.c:1646 */
break;
case 2207:
#line 14524 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
#line 44405 "gram.c" /* yacc.c:1646 */
break;
case 2208:
#line 14529 "gram.y" /* yacc.c:1646 */
{
CaseWhen *w = makeNode(CaseWhen);
w->expr = (Expr *) (yyvsp[-2].node);
w->result = (Expr *) (yyvsp[0].node);
w->location = (yylsp[-3]);
(yyval.node) = (Node *)w;
}
#line 44417 "gram.c" /* yacc.c:1646 */
break;
case 2209:
#line 14539 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (yyvsp[0].node); }
#line 44423 "gram.c" /* yacc.c:1646 */
break;
case 2210:
#line 14540 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = NULL; }
#line 44429 "gram.c" /* yacc.c:1646 */
break;
case 2211:
#line 14543 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (yyvsp[0].node); }
#line 44435 "gram.c" /* yacc.c:1646 */
break;
case 2212:
#line 14544 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = NULL; }
#line 44441 "gram.c" /* yacc.c:1646 */
break;
case 2213:
#line 14548 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = makeColumnRef((yyvsp[0].str), NIL, (yylsp[0]), yyscanner);
}
#line 44449 "gram.c" /* yacc.c:1646 */
break;
case 2214:
#line 14552 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = makeColumnRef((yyvsp[-1].str), (yyvsp[0].list), (yylsp[-1]), yyscanner);
}
#line 44457 "gram.c" /* yacc.c:1646 */
break;
case 2215:
#line 14559 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = (Node *) makeString((yyvsp[0].str));
}
#line 44465 "gram.c" /* yacc.c:1646 */
break;
case 2216:
#line 14563 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = (Node *) makeNode(A_Star);
}
#line 44473 "gram.c" /* yacc.c:1646 */
break;
case 2217:
#line 14567 "gram.y" /* yacc.c:1646 */
{
A_Indices *ai = makeNode(A_Indices);
ai->is_slice = false;
ai->lidx = NULL;
ai->uidx = (yyvsp[-1].node);
(yyval.node) = (Node *) ai;
}
#line 44485 "gram.c" /* yacc.c:1646 */
break;
case 2218:
#line 14575 "gram.y" /* yacc.c:1646 */
{
A_Indices *ai = makeNode(A_Indices);
ai->is_slice = true;
ai->lidx = (yyvsp[-3].node);
ai->uidx = (yyvsp[-1].node);
(yyval.node) = (Node *) ai;
}
#line 44497 "gram.c" /* yacc.c:1646 */
break;
case 2219:
#line 14585 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = (yyvsp[0].node); }
#line 44503 "gram.c" /* yacc.c:1646 */
break;
case 2220:
#line 14586 "gram.y" /* yacc.c:1646 */
{ (yyval.node) = NULL; }
#line 44509 "gram.c" /* yacc.c:1646 */
break;
case 2221:
#line 14590 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1((yyvsp[0].node)); }
#line 44515 "gram.c" /* yacc.c:1646 */
break;
case 2222:
#line 14591 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
#line 44521 "gram.c" /* yacc.c:1646 */
break;
case 2223:
#line 14595 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 44527 "gram.c" /* yacc.c:1646 */
break;
case 2224:
#line 14596 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
#line 44533 "gram.c" /* yacc.c:1646 */
break;
case 2227:
#line 14610 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = (yyvsp[0].list); }
#line 44539 "gram.c" /* yacc.c:1646 */
break;
case 2228:
#line 14611 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = NIL; }
#line 44545 "gram.c" /* yacc.c:1646 */
break;
case 2229:
#line 14615 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1((yyvsp[0].target)); }
#line 44551 "gram.c" /* yacc.c:1646 */
break;
case 2230:
#line 14616 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
#line 44557 "gram.c" /* yacc.c:1646 */
break;
case 2231:
#line 14620 "gram.y" /* yacc.c:1646 */
{
(yyval.target) = makeNode(ResTarget);
(yyval.target)->name = (yyvsp[0].str);
(yyval.target)->indirection = NIL;
(yyval.target)->val = (Node *)(yyvsp[-2].node);
(yyval.target)->location = (yylsp[-2]);
}
#line 44569 "gram.c" /* yacc.c:1646 */
break;
case 2232:
#line 14636 "gram.y" /* yacc.c:1646 */
{
(yyval.target) = makeNode(ResTarget);
(yyval.target)->name = (yyvsp[0].str);
(yyval.target)->indirection = NIL;
(yyval.target)->val = (Node *)(yyvsp[-1].node);
(yyval.target)->location = (yylsp[-1]);
}
#line 44581 "gram.c" /* yacc.c:1646 */
break;
case 2233:
#line 14644 "gram.y" /* yacc.c:1646 */
{
(yyval.target) = makeNode(ResTarget);
(yyval.target)->name = NULL;
(yyval.target)->indirection = NIL;
(yyval.target)->val = (Node *)(yyvsp[0].node);
(yyval.target)->location = (yylsp[0]);
}
#line 44593 "gram.c" /* yacc.c:1646 */
break;
case 2234:
#line 14652 "gram.y" /* yacc.c:1646 */
{
ColumnRef *n = makeNode(ColumnRef);
n->fields = list_make1(makeNode(A_Star));
n->location = (yylsp[0]);
(yyval.target) = makeNode(ResTarget);
(yyval.target)->name = NULL;
(yyval.target)->indirection = NIL;
(yyval.target)->val = (Node *)n;
(yyval.target)->location = (yylsp[0]);
}
#line 44609 "gram.c" /* yacc.c:1646 */
break;
case 2235:
#line 14673 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1((yyvsp[0].range)); }
#line 44615 "gram.c" /* yacc.c:1646 */
break;
case 2236:
#line 14674 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].range)); }
#line 44621 "gram.c" /* yacc.c:1646 */
break;
case 2237:
#line 14686 "gram.y" /* yacc.c:1646 */
{
(yyval.range) = makeRangeVar(NULL, (yyvsp[0].str), (yylsp[0]));
}
#line 44629 "gram.c" /* yacc.c:1646 */
break;
case 2238:
#line 14690 "gram.y" /* yacc.c:1646 */
{
check_qualified_name((yyvsp[0].list), yyscanner);
(yyval.range) = makeRangeVar(NULL, NULL, (yylsp[-1]));
switch (list_length((yyvsp[0].list)))
{
case 1:
(yyval.range)->catalogname = NULL;
(yyval.range)->schemaname = (yyvsp[-1].str);
(yyval.range)->relname = strVal(linitial((yyvsp[0].list)));
break;
case 2:
(yyval.range)->catalogname = (yyvsp[-1].str);
(yyval.range)->schemaname = strVal(linitial((yyvsp[0].list)));
(yyval.range)->relname = strVal(lsecond((yyvsp[0].list)));
break;
default:
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("improper qualified name (too many dotted names): %s",
NameListToString(lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)))),
parser_errposition((yylsp[-1]))));
break;
}
}
#line 44658 "gram.c" /* yacc.c:1646 */
break;
case 2239:
#line 14717 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
#line 44664 "gram.c" /* yacc.c:1646 */
break;
case 2240:
#line 14719 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
#line 44670 "gram.c" /* yacc.c:1646 */
break;
case 2241:
#line 14723 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = (yyvsp[0].str); }
#line 44676 "gram.c" /* yacc.c:1646 */
break;
case 2242:
#line 14726 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = (yyvsp[0].str); }
#line 44682 "gram.c" /* yacc.c:1646 */
break;
case 2243:
#line 14729 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = (yyvsp[0].str); }
#line 44688 "gram.c" /* yacc.c:1646 */
break;
case 2244:
#line 14731 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = (yyvsp[0].str); }
#line 44694 "gram.c" /* yacc.c:1646 */
break;
case 2245:
#line 14733 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = (yyvsp[0].str); }
#line 44700 "gram.c" /* yacc.c:1646 */
break;
case 2246:
#line 14735 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = (yyvsp[0].str); }
#line 44706 "gram.c" /* yacc.c:1646 */
break;
case 2247:
#line 14746 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
#line 44712 "gram.c" /* yacc.c:1646 */
break;
case 2248:
#line 14748 "gram.y" /* yacc.c:1646 */
{
(yyval.list) = check_func_name(lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)),
yyscanner);
}
#line 44721 "gram.c" /* yacc.c:1646 */
break;
case 2249:
#line 14759 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = makeIntConst((yyvsp[0].ival), (yylsp[0]));
}
#line 44729 "gram.c" /* yacc.c:1646 */
break;
case 2250:
#line 14763 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = makeFloatConst((yyvsp[0].str), (yylsp[0]));
}
#line 44737 "gram.c" /* yacc.c:1646 */
break;
case 2251:
#line 14767 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0]));
}
#line 44745 "gram.c" /* yacc.c:1646 */
break;
case 2252:
#line 14771 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = makeBitStringConst((yyvsp[0].str), (yylsp[0]));
}
#line 44753 "gram.c" /* yacc.c:1646 */
break;
case 2253:
#line 14775 "gram.y" /* yacc.c:1646 */
{
/* This is a bit constant per SQL99:
* Without Feature F511, "BIT data type",
* a shall not be a
* or a .
*/
(yyval.node) = makeBitStringConst((yyvsp[0].str), (yylsp[0]));
}
#line 44766 "gram.c" /* yacc.c:1646 */
break;
case 2254:
#line 14784 "gram.y" /* yacc.c:1646 */
{
/* generic type 'literal' syntax */
TypeName *t = makeTypeNameFromNameList((yyvsp[-1].list));
t->location = (yylsp[-1]);
(yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t);
}
#line 44777 "gram.c" /* yacc.c:1646 */
break;
case 2255:
#line 14791 "gram.y" /* yacc.c:1646 */
{
/* generic syntax with a type modifier */
TypeName *t = makeTypeNameFromNameList((yyvsp[-5].list));
ListCell *lc;
/*
* We must use func_arg_list and opt_sort_clause in the
* production to avoid reduce/reduce conflicts, but we
* don't actually wish to allow NamedArgExpr in this
* context, nor ORDER BY.
*/
foreach(lc, (yyvsp[-3].list))
{
NamedArgExpr *arg = (NamedArgExpr *) lfirst(lc);
if (IsA(arg, NamedArgExpr))
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("type modifier cannot have parameter name"),
parser_errposition(arg->location)));
}
if ((yyvsp[-2].list) != NIL)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("type modifier cannot have ORDER BY"),
parser_errposition((yylsp[-2]))));
t->typmods = (yyvsp[-3].list);
t->location = (yylsp[-5]);
(yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t);
}
#line 44813 "gram.c" /* yacc.c:1646 */
break;
case 2256:
#line 14823 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), (yyvsp[-1].typnam));
}
#line 44821 "gram.c" /* yacc.c:1646 */
break;
case 2257:
#line 14827 "gram.y" /* yacc.c:1646 */
{
TypeName *t = (yyvsp[-2].typnam);
t->typmods = (yyvsp[0].list);
(yyval.node) = makeStringConstCast((yyvsp[-1].str), (yylsp[-1]), t);
}
#line 44831 "gram.c" /* yacc.c:1646 */
break;
case 2258:
#line 14833 "gram.y" /* yacc.c:1646 */
{
TypeName *t = (yyvsp[-4].typnam);
t->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1),
makeIntConst((yyvsp[-2].ival), (yylsp[-2])));
(yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t);
}
#line 44842 "gram.c" /* yacc.c:1646 */
break;
case 2259:
#line 14840 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = makeBoolAConst(true, (yylsp[0]));
}
#line 44850 "gram.c" /* yacc.c:1646 */
break;
case 2260:
#line 14844 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = makeBoolAConst(false, (yylsp[0]));
}
#line 44858 "gram.c" /* yacc.c:1646 */
break;
case 2261:
#line 14848 "gram.y" /* yacc.c:1646 */
{
(yyval.node) = makeNullAConst((yylsp[0]));
}
#line 44866 "gram.c" /* yacc.c:1646 */
break;
case 2262:
#line 14853 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = (yyvsp[0].ival); }
#line 44872 "gram.c" /* yacc.c:1646 */
break;
case 2263:
#line 14854 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = (yyvsp[0].str); }
#line 44878 "gram.c" /* yacc.c:1646 */
break;
case 2264:
#line 14856 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = (yyvsp[0].ival); }
#line 44884 "gram.c" /* yacc.c:1646 */
break;
case 2265:
#line 14857 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = + (yyvsp[0].ival); }
#line 44890 "gram.c" /* yacc.c:1646 */
break;
case 2266:
#line 14858 "gram.y" /* yacc.c:1646 */
{ (yyval.ival) = - (yyvsp[0].ival); }
#line 44896 "gram.c" /* yacc.c:1646 */
break;
case 2267:
#line 14863 "gram.y" /* yacc.c:1646 */
{
RoleSpec *spc = (RoleSpec *) (yyvsp[0].rolespec);
switch (spc->roletype)
{
case ROLESPEC_CSTRING:
(yyval.str) = spc->rolename;
break;
case ROLESPEC_PUBLIC:
ereport(ERROR,
(errcode(ERRCODE_RESERVED_NAME),
errmsg("role name \"%s\" is reserved",
"public"),
parser_errposition((yylsp[0]))));
break;
case ROLESPEC_SESSION_USER:
ereport(ERROR,
(errcode(ERRCODE_RESERVED_NAME),
errmsg("%s cannot be used as a role name here",
"SESSION_USER"),
parser_errposition((yylsp[0]))));
break;
case ROLESPEC_CURRENT_USER:
ereport(ERROR,
(errcode(ERRCODE_RESERVED_NAME),
errmsg("%s cannot be used as a role name here",
"CURRENT_USER"),
parser_errposition((yylsp[0]))));
break;
}
}
#line 44931 "gram.c" /* yacc.c:1646 */
break;
case 2268:
#line 14896 "gram.y" /* yacc.c:1646 */
{
/*
* "public" and "none" are not keywords, but they must
* be treated specially here.
*/
RoleSpec *n;
if (strcmp((yyvsp[0].str), "public") == 0)
{
n = (RoleSpec *) makeRoleSpec(ROLESPEC_PUBLIC, (yylsp[0]));
n->roletype = ROLESPEC_PUBLIC;
}
else if (strcmp((yyvsp[0].str), "none") == 0)
{
ereport(ERROR,
(errcode(ERRCODE_RESERVED_NAME),
errmsg("role name \"%s\" is reserved",
"none"),
parser_errposition((yylsp[0]))));
}
else
{
n = makeRoleSpec(ROLESPEC_CSTRING, (yylsp[0]));
n->rolename = pstrdup((yyvsp[0].str));
}
(yyval.rolespec) = n;
}
#line 44962 "gram.c" /* yacc.c:1646 */
break;
case 2269:
#line 14923 "gram.y" /* yacc.c:1646 */
{
(yyval.rolespec) = makeRoleSpec(ROLESPEC_CURRENT_USER, (yylsp[0]));
}
#line 44970 "gram.c" /* yacc.c:1646 */
break;
case 2270:
#line 14927 "gram.y" /* yacc.c:1646 */
{
(yyval.rolespec) = makeRoleSpec(ROLESPEC_SESSION_USER, (yylsp[0]));
}
#line 44978 "gram.c" /* yacc.c:1646 */
break;
case 2271:
#line 14933 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = list_make1((yyvsp[0].rolespec)); }
#line 44984 "gram.c" /* yacc.c:1646 */
break;
case 2272:
#line 14935 "gram.y" /* yacc.c:1646 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].rolespec)); }
#line 44990 "gram.c" /* yacc.c:1646 */
break;
case 2273:
#line 14951 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = (yyvsp[0].str); }
#line 44996 "gram.c" /* yacc.c:1646 */
break;
case 2274:
#line 14952 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = pstrdup((yyvsp[0].keyword)); }
#line 45002 "gram.c" /* yacc.c:1646 */
break;
case 2275:
#line 14953 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = pstrdup((yyvsp[0].keyword)); }
#line 45008 "gram.c" /* yacc.c:1646 */
break;
case 2276:
#line 14958 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = (yyvsp[0].str); }
#line 45014 "gram.c" /* yacc.c:1646 */
break;
case 2277:
#line 14959 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = pstrdup((yyvsp[0].keyword)); }
#line 45020 "gram.c" /* yacc.c:1646 */
break;
case 2278:
#line 14960 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = pstrdup((yyvsp[0].keyword)); }
#line 45026 "gram.c" /* yacc.c:1646 */
break;
case 2279:
#line 14965 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = (yyvsp[0].str); }
#line 45032 "gram.c" /* yacc.c:1646 */
break;
case 2280:
#line 14966 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = pstrdup((yyvsp[0].keyword)); }
#line 45038 "gram.c" /* yacc.c:1646 */
break;
case 2281:
#line 14967 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = pstrdup((yyvsp[0].keyword)); }
#line 45044 "gram.c" /* yacc.c:1646 */
break;
case 2282:
#line 14968 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = pstrdup((yyvsp[0].keyword)); }
#line 45050 "gram.c" /* yacc.c:1646 */
break;
case 2283:
#line 14974 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = (yyvsp[0].str); }
#line 45056 "gram.c" /* yacc.c:1646 */
break;
case 2284:
#line 14975 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = pstrdup((yyvsp[0].keyword)); }
#line 45062 "gram.c" /* yacc.c:1646 */
break;
case 2285:
#line 14976 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = pstrdup((yyvsp[0].keyword)); }
#line 45068 "gram.c" /* yacc.c:1646 */
break;
case 2286:
#line 14977 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = pstrdup((yyvsp[0].keyword)); }
#line 45074 "gram.c" /* yacc.c:1646 */
break;
case 2287:
#line 14978 "gram.y" /* yacc.c:1646 */
{ (yyval.str) = pstrdup((yyvsp[0].keyword)); }
#line 45080 "gram.c" /* yacc.c:1646 */
break;
#line 45084 "gram.c" /* yacc.c:1646 */
default: break;
}
/* User semantic actions sometimes alter yychar, and that requires
that yytoken be updated with the new translation. We take the
approach of translating immediately before every use of yytoken.
One alternative is translating here after every semantic action,
but that translation would be missed if the semantic action invokes
YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an
incorrect destructor might then be invoked immediately. In the
case of YYERROR or YYBACKUP, subsequent parser actions might lead
to an incorrect destructor call or verbose syntax error message
before the lookahead is translated. */
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
YYPOPSTACK (yylen);
yylen = 0;
YY_STACK_PRINT (yyss, yyssp);
*++yyvsp = yyval;
*++yylsp = yyloc;
/* Now 'shift' the result of the reduction. Determine what state
that goes to, based on the state we popped back to and the rule
number reduced by. */
yyn = yyr1[yyn];
yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
yystate = yytable[yystate];
else
yystate = yydefgoto[yyn - YYNTOKENS];
goto yynewstate;
/*--------------------------------------.
| yyerrlab -- here on detecting error. |
`--------------------------------------*/
yyerrlab:
/* Make sure we have latest lookahead translation. See comments at
user semantic actions for why this is necessary. */
yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
/* If not already recovering from an error, report this error. */
if (!yyerrstatus)
{
++yynerrs;
#if ! YYERROR_VERBOSE
yyerror (&yylloc, yyscanner, YY_("syntax error"));
#else
# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
yyssp, yytoken)
{
char const *yymsgp = YY_("syntax error");
int yysyntax_error_status;
yysyntax_error_status = YYSYNTAX_ERROR;
if (yysyntax_error_status == 0)
yymsgp = yymsg;
else if (yysyntax_error_status == 1)
{
if (yymsg != yymsgbuf)
YYSTACK_FREE (yymsg);
yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
if (!yymsg)
{
yymsg = yymsgbuf;
yymsg_alloc = sizeof yymsgbuf;
yysyntax_error_status = 2;
}
else
{
yysyntax_error_status = YYSYNTAX_ERROR;
yymsgp = yymsg;
}
}
yyerror (&yylloc, yyscanner, yymsgp);
if (yysyntax_error_status == 2)
goto yyexhaustedlab;
}
# undef YYSYNTAX_ERROR
#endif
}
yyerror_range[1] = yylloc;
if (yyerrstatus == 3)
{
/* If just tried and failed to reuse lookahead token after an
error, discard it. */
if (yychar <= YYEOF)
{
/* Return failure if at end of input. */
if (yychar == YYEOF)
YYABORT;
}
else
{
yydestruct ("Error: discarding",
yytoken, &yylval, &yylloc, yyscanner);
yychar = YYEMPTY;
}
}
/* Else will try to reuse lookahead token after shifting the error
token. */
goto yyerrlab1;
/*---------------------------------------------------.
| yyerrorlab -- error raised explicitly by YYERROR. |
`---------------------------------------------------*/
yyerrorlab:
/* Pacify compilers like GCC when the user code never invokes
YYERROR and the label yyerrorlab therefore never appears in user
code. */
if (/*CONSTCOND*/ 0)
goto yyerrorlab;
yyerror_range[1] = yylsp[1-yylen];
/* Do not reclaim the symbols of the rule whose action triggered
this YYERROR. */
YYPOPSTACK (yylen);
yylen = 0;
YY_STACK_PRINT (yyss, yyssp);
yystate = *yyssp;
goto yyerrlab1;
/*-------------------------------------------------------------.
| yyerrlab1 -- common code for both syntax error and YYERROR. |
`-------------------------------------------------------------*/
yyerrlab1:
yyerrstatus = 3; /* Each real token shifted decrements this. */
for (;;)
{
yyn = yypact[yystate];
if (!yypact_value_is_default (yyn))
{
yyn += YYTERROR;
if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
{
yyn = yytable[yyn];
if (0 < yyn)
break;
}
}
/* Pop the current state because it cannot handle the error token. */
if (yyssp == yyss)
YYABORT;
yyerror_range[1] = *yylsp;
yydestruct ("Error: popping",
yystos[yystate], yyvsp, yylsp, yyscanner);
YYPOPSTACK (1);
yystate = *yyssp;
YY_STACK_PRINT (yyss, yyssp);
}
YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
*++yyvsp = yylval;
YY_IGNORE_MAYBE_UNINITIALIZED_END
yyerror_range[2] = yylloc;
/* Using YYLLOC is tempting, but would change the location of
the lookahead. YYLOC is available though. */
YYLLOC_DEFAULT (yyloc, yyerror_range, 2);
*++yylsp = yyloc;
/* Shift the error token. */
YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
yystate = yyn;
goto yynewstate;
/*-------------------------------------.
| yyacceptlab -- YYACCEPT comes here. |
`-------------------------------------*/
yyacceptlab:
yyresult = 0;
goto yyreturn;
/*-----------------------------------.
| yyabortlab -- YYABORT comes here. |
`-----------------------------------*/
yyabortlab:
yyresult = 1;
goto yyreturn;
#if !defined yyoverflow || YYERROR_VERBOSE
/*-------------------------------------------------.
| yyexhaustedlab -- memory exhaustion comes here. |
`-------------------------------------------------*/
yyexhaustedlab:
yyerror (&yylloc, yyscanner, YY_("memory exhausted"));
yyresult = 2;
/* Fall through. */
#endif
yyreturn:
if (yychar != YYEMPTY)
{
/* Make sure we have latest lookahead translation. See comments at
user semantic actions for why this is necessary. */
yytoken = YYTRANSLATE (yychar);
yydestruct ("Cleanup: discarding lookahead",
yytoken, &yylval, &yylloc, yyscanner);
}
/* Do not reclaim the symbols of the rule whose action triggered
this YYABORT or YYACCEPT. */
YYPOPSTACK (yylen);
YY_STACK_PRINT (yyss, yyssp);
while (yyssp != yyss)
{
yydestruct ("Cleanup: popping",
yystos[*yyssp], yyvsp, yylsp, yyscanner);
YYPOPSTACK (1);
}
#ifndef yyoverflow
if (yyss != yyssa)
YYSTACK_FREE (yyss);
#endif
#if YYERROR_VERBOSE
if (yymsg != yymsgbuf)
YYSTACK_FREE (yymsg);
#endif
return yyresult;
}
#line 15475 "gram.y" /* yacc.c:1906 */
/*
* The signature of this function is required by bison. However, we
* ignore the passed yylloc and instead use the last token position
* available from the scanner.
*/
static void
base_yyerror(YYLTYPE *yylloc, core_yyscan_t yyscanner, const char *msg)
{
parser_yyerror(msg);
}
static RawStmt *
makeRawStmt(Node *stmt, int stmt_location)
{
RawStmt *rs = makeNode(RawStmt);
rs->stmt = stmt;
rs->stmt_location = stmt_location;
rs->stmt_len = 0; /* might get changed later */
return rs;
}
/* Adjust a RawStmt to reflect that it doesn't run to the end of the string */
static void
updateRawStmtEnd(RawStmt *rs, int end_location)
{
/*
* If we already set the length, don't change it. This is for situations
* like "select foo ;; select bar" where the same statement will be last
* in the string for more than one semicolon.
*/
if (rs->stmt_len > 0)
return;
/* OK, update length of RawStmt */
rs->stmt_len = end_location - rs->stmt_location;
}
static Node *
makeColumnRef(char *colname, List *indirection,
int location, core_yyscan_t yyscanner)
{
/*
* Generate a ColumnRef node, with an A_Indirection node added if there
* is any subscripting in the specified indirection list. However,
* any field selection at the start of the indirection list must be
* transposed into the "fields" part of the ColumnRef node.
*/
ColumnRef *c = makeNode(ColumnRef);
int nfields = 0;
ListCell *l;
c->location = location;
foreach(l, indirection)
{
if (IsA(lfirst(l), A_Indices))
{
A_Indirection *i = makeNode(A_Indirection);
if (nfields == 0)
{
/* easy case - all indirection goes to A_Indirection */
c->fields = list_make1(makeString(colname));
i->indirection = check_indirection(indirection, yyscanner);
}
else
{
/* got to split the list in two */
i->indirection = check_indirection(list_copy_tail(indirection,
nfields),
yyscanner);
indirection = list_truncate(indirection, nfields);
c->fields = lcons(makeString(colname), indirection);
}
i->arg = (Node *) c;
return (Node *) i;
}
else if (IsA(lfirst(l), A_Star))
{
/* We only allow '*' at the end of a ColumnRef */
if (lnext(l) != NULL)
parser_yyerror("improper use of \"*\"");
}
nfields++;
}
/* No subscripting, so all indirection gets added to field list */
c->fields = lcons(makeString(colname), indirection);
return (Node *) c;
}
static Node *
makeTypeCast(Node *arg, TypeName *typename, int location)
{
TypeCast *n = makeNode(TypeCast);
n->arg = arg;
n->typeName = typename;
n->location = location;
return (Node *) n;
}
static Node *
makeStringConst(char *str, int location)
{
A_Const *n = makeNode(A_Const);
n->val.type = T_String;
n->val.val.str = str;
n->location = location;
return (Node *)n;
}
static Node *
makeStringConstCast(char *str, int location, TypeName *typename)
{
Node *s = makeStringConst(str, location);
return makeTypeCast(s, typename, -1);
}
static Node *
makeIntConst(int val, int location)
{
A_Const *n = makeNode(A_Const);
n->val.type = T_Integer;
n->val.val.ival = val;
n->location = location;
return (Node *)n;
}
static Node *
makeFloatConst(char *str, int location)
{
A_Const *n = makeNode(A_Const);
n->val.type = T_Float;
n->val.val.str = str;
n->location = location;
return (Node *)n;
}
static Node *
makeBitStringConst(char *str, int location)
{
A_Const *n = makeNode(A_Const);
n->val.type = T_BitString;
n->val.val.str = str;
n->location = location;
return (Node *)n;
}
static Node *
makeNullAConst(int location)
{
A_Const *n = makeNode(A_Const);
n->val.type = T_Null;
n->location = location;
return (Node *)n;
}
static Node *
makeAConst(Value *v, int location)
{
Node *n;
switch (v->type)
{
case T_Float:
n = makeFloatConst(v->val.str, location);
break;
case T_Integer:
n = makeIntConst(v->val.ival, location);
break;
case T_String:
default:
n = makeStringConst(v->val.str, location);
break;
}
return n;
}
/* makeBoolAConst()
* Create an A_Const string node and put it inside a boolean cast.
*/
static Node *
makeBoolAConst(bool state, int location)
{
A_Const *n = makeNode(A_Const);
n->val.type = T_String;
n->val.val.str = (state ? "t" : "f");
n->location = location;
return makeTypeCast((Node *)n, SystemTypeName("bool"), -1);
}
/* makeRoleSpec
* Create a RoleSpec with the given type
*/
static RoleSpec *
makeRoleSpec(RoleSpecType type, int location)
{
RoleSpec *spec = makeNode(RoleSpec);
spec->roletype = type;
spec->location = location;
return spec;
}
/* check_qualified_name --- check the result of qualified_name production
*
* It's easiest to let the grammar production for qualified_name allow
* subscripts and '*', which we then must reject here.
*/
static void
check_qualified_name(List *names, core_yyscan_t yyscanner)
{
ListCell *i;
foreach(i, names)
{
if (!IsA(lfirst(i), String))
parser_yyerror("syntax error");
}
}
/* check_func_name --- check the result of func_name production
*
* It's easiest to let the grammar production for func_name allow subscripts
* and '*', which we then must reject here.
*/
static List *
check_func_name(List *names, core_yyscan_t yyscanner)
{
ListCell *i;
foreach(i, names)
{
if (!IsA(lfirst(i), String))
parser_yyerror("syntax error");
}
return names;
}
/* check_indirection --- check the result of indirection production
*
* We only allow '*' at the end of the list, but it's hard to enforce that
* in the grammar, so do it here.
*/
static List *
check_indirection(List *indirection, core_yyscan_t yyscanner)
{
ListCell *l;
foreach(l, indirection)
{
if (IsA(lfirst(l), A_Star))
{
if (lnext(l) != NULL)
parser_yyerror("improper use of \"*\"");
}
}
return indirection;
}
/* extractArgTypes()
* Given a list of FunctionParameter nodes, extract a list of just the
* argument types (TypeNames) for input parameters only. This is what
* is needed to look up an existing function, which is what is wanted by
* the productions that use this call.
*/
static List *
extractArgTypes(List *parameters)
{
List *result = NIL;
ListCell *i;
foreach(i, parameters)
{
FunctionParameter *p = (FunctionParameter *) lfirst(i);
if (p->mode != FUNC_PARAM_OUT && p->mode != FUNC_PARAM_TABLE)
result = lappend(result, p->argType);
}
return result;
}
/* extractAggrArgTypes()
* As above, but work from the output of the aggr_args production.
*/
static List *
extractAggrArgTypes(List *aggrargs)
{
Assert(list_length(aggrargs) == 2);
return extractArgTypes((List *) linitial(aggrargs));
}
/* makeOrderedSetArgs()
* Build the result of the aggr_args production (which see the comments for).
* This handles only the case where both given lists are nonempty, so that
* we have to deal with multiple VARIADIC arguments.
*/
static List *
makeOrderedSetArgs(List *directargs, List *orderedargs,
core_yyscan_t yyscanner)
{
FunctionParameter *lastd = (FunctionParameter *) llast(directargs);
int ndirectargs;
/* No restriction unless last direct arg is VARIADIC */
if (lastd->mode == FUNC_PARAM_VARIADIC)
{
FunctionParameter *firsto = (FunctionParameter *) linitial(orderedargs);
/*
* We ignore the names, though the aggr_arg production allows them;
* it doesn't allow default values, so those need not be checked.
*/
if (list_length(orderedargs) != 1 ||
firsto->mode != FUNC_PARAM_VARIADIC ||
!equal(lastd->argType, firsto->argType))
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("an ordered-set aggregate with a VARIADIC direct argument must have one VARIADIC aggregated argument of the same data type"),
parser_errposition(exprLocation((Node *) firsto))));
/* OK, drop the duplicate VARIADIC argument from the internal form */
orderedargs = NIL;
}
/* don't merge into the next line, as list_concat changes directargs */
ndirectargs = list_length(directargs);
return list_make2(list_concat(directargs, orderedargs),
makeInteger(ndirectargs));
}
/* insertSelectOptions()
* Insert ORDER BY, etc into an already-constructed SelectStmt.
*
* This routine is just to avoid duplicating code in SelectStmt productions.
*/
static void
insertSelectOptions(SelectStmt *stmt,
List *sortClause, List *lockingClause,
Node *limitOffset, Node *limitCount,
WithClause *withClause,
core_yyscan_t yyscanner)
{
Assert(IsA(stmt, SelectStmt));
/*
* Tests here are to reject constructs like
* (SELECT foo ORDER BY bar) ORDER BY baz
*/
if (sortClause)
{
if (stmt->sortClause)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("multiple ORDER BY clauses not allowed"),
parser_errposition(exprLocation((Node *) sortClause))));
stmt->sortClause = sortClause;
}
/* We can handle multiple locking clauses, though */
stmt->lockingClause = list_concat(stmt->lockingClause, lockingClause);
if (limitOffset)
{
if (stmt->limitOffset)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("multiple OFFSET clauses not allowed"),
parser_errposition(exprLocation(limitOffset))));
stmt->limitOffset = limitOffset;
}
if (limitCount)
{
if (stmt->limitCount)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("multiple LIMIT clauses not allowed"),
parser_errposition(exprLocation(limitCount))));
stmt->limitCount = limitCount;
}
if (withClause)
{
if (stmt->withClause)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("multiple WITH clauses not allowed"),
parser_errposition(exprLocation((Node *) withClause))));
stmt->withClause = withClause;
}
}
static Node *
makeSetOp(SetOperation op, bool all, Node *larg, Node *rarg)
{
SelectStmt *n = makeNode(SelectStmt);
n->op = op;
n->all = all;
n->larg = (SelectStmt *) larg;
n->rarg = (SelectStmt *) rarg;
return (Node *) n;
}
/* SystemFuncName()
* Build a properly-qualified reference to a built-in function.
*/
List *
SystemFuncName(char *name)
{
return list_make2(makeString("pg_catalog"), makeString(name));
}
/* SystemTypeName()
* Build a properly-qualified reference to a built-in type.
*
* typmod is defaulted, but may be changed afterwards by caller.
* Likewise for the location.
*/
TypeName *
SystemTypeName(char *name)
{
return makeTypeNameFromNameList(list_make2(makeString("pg_catalog"),
makeString(name)));
}
/* doNegate()
* Handle negation of a numeric constant.
*
* Formerly, we did this here because the optimizer couldn't cope with
* indexquals that looked like "var = -4" --- it wants "var = const"
* and a unary minus operator applied to a constant didn't qualify.
* As of Postgres 7.0, that problem doesn't exist anymore because there
* is a constant-subexpression simplifier in the optimizer. However,
* there's still a good reason for doing this here, which is that we can
* postpone committing to a particular internal representation for simple
* negative constants. It's better to leave "-123.456" in string form
* until we know what the desired type is.
*/
static Node *
doNegate(Node *n, int location)
{
if (IsA(n, A_Const))
{
A_Const *con = (A_Const *)n;
/* report the constant's location as that of the '-' sign */
con->location = location;
if (con->val.type == T_Integer)
{
con->val.val.ival = -con->val.val.ival;
return n;
}
if (con->val.type == T_Float)
{
doNegateFloat(&con->val);
return n;
}
}
return (Node *) makeSimpleA_Expr(AEXPR_OP, "-", NULL, n, location);
}
static void
doNegateFloat(Value *v)
{
char *oldval = v->val.str;
Assert(IsA(v, Float));
if (*oldval == '+')
oldval++;
if (*oldval == '-')
v->val.str = oldval+1; /* just strip the '-' */
else
v->val.str = psprintf("-%s", oldval);
}
static Node *
makeAndExpr(Node *lexpr, Node *rexpr, int location)
{
Node *lexp = lexpr;
/* Look through AEXPR_PAREN nodes so they don't affect flattening */
while (IsA(lexp, A_Expr) &&
((A_Expr *) lexp)->kind == AEXPR_PAREN)
lexp = ((A_Expr *) lexp)->lexpr;
/* Flatten "a AND b AND c ..." to a single BoolExpr on sight */
if (IsA(lexp, BoolExpr))
{
BoolExpr *blexpr = (BoolExpr *) lexp;
if (blexpr->boolop == AND_EXPR)
{
blexpr->args = lappend(blexpr->args, rexpr);
return (Node *) blexpr;
}
}
return (Node *) makeBoolExpr(AND_EXPR, list_make2(lexpr, rexpr), location);
}
static Node *
makeOrExpr(Node *lexpr, Node *rexpr, int location)
{
Node *lexp = lexpr;
/* Look through AEXPR_PAREN nodes so they don't affect flattening */
while (IsA(lexp, A_Expr) &&
((A_Expr *) lexp)->kind == AEXPR_PAREN)
lexp = ((A_Expr *) lexp)->lexpr;
/* Flatten "a OR b OR c ..." to a single BoolExpr on sight */
if (IsA(lexp, BoolExpr))
{
BoolExpr *blexpr = (BoolExpr *) lexp;
if (blexpr->boolop == OR_EXPR)
{
blexpr->args = lappend(blexpr->args, rexpr);
return (Node *) blexpr;
}
}
return (Node *) makeBoolExpr(OR_EXPR, list_make2(lexpr, rexpr), location);
}
static Node *
makeNotExpr(Node *expr, int location)
{
return (Node *) makeBoolExpr(NOT_EXPR, list_make1(expr), location);
}
static Node *
makeAArrayExpr(List *elements, int location)
{
A_ArrayExpr *n = makeNode(A_ArrayExpr);
n->elements = elements;
n->location = location;
return (Node *) n;
}
static Node *
makeSQLValueFunction(SQLValueFunctionOp op, int32 typmod, int location)
{
SQLValueFunction *svf = makeNode(SQLValueFunction);
svf->op = op;
/* svf->type will be filled during parse analysis */
svf->typmod = typmod;
svf->location = location;
return (Node *) svf;
}
static Node *
makeXmlExpr(XmlExprOp op, char *name, List *named_args, List *args,
int location)
{
XmlExpr *x = makeNode(XmlExpr);
x->op = op;
x->name = name;
/*
* named_args is a list of ResTarget; it'll be split apart into separate
* expression and name lists in transformXmlExpr().
*/
x->named_args = named_args;
x->arg_names = NIL;
x->args = args;
/* xmloption, if relevant, must be filled in by caller */
/* type and typmod will be filled in during parse analysis */
x->type = InvalidOid; /* marks the node as not analyzed */
x->location = location;
return (Node *) x;
}
/*
* Merge the input and output parameters of a table function.
*/
static List *
mergeTableFuncParameters(List *func_args, List *columns)
{
ListCell *lc;
/* Explicit OUT and INOUT parameters shouldn't be used in this syntax */
foreach(lc, func_args)
{
FunctionParameter *p = (FunctionParameter *) lfirst(lc);
if (p->mode != FUNC_PARAM_IN && p->mode != FUNC_PARAM_VARIADIC)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("OUT and INOUT arguments aren't allowed in TABLE functions")));
}
return list_concat(func_args, columns);
}
/*
* Determine return type of a TABLE function. A single result column
* returns setof that column's type; otherwise return setof record.
*/
static TypeName *
TableFuncTypeName(List *columns)
{
TypeName *result;
if (list_length(columns) == 1)
{
FunctionParameter *p = (FunctionParameter *) linitial(columns);
result = copyObject(p->argType);
}
else
result = SystemTypeName("record");
result->setof = true;
return result;
}
/*
* Convert a list of (dotted) names to a RangeVar (like
* makeRangeVarFromNameList, but with position support). The
* "AnyName" refers to the any_name production in the grammar.
*/
static RangeVar *
makeRangeVarFromAnyName(List *names, int position, core_yyscan_t yyscanner)
{
RangeVar *r = makeNode(RangeVar);
switch (list_length(names))
{
case 1:
r->catalogname = NULL;
r->schemaname = NULL;
r->relname = strVal(linitial(names));
break;
case 2:
r->catalogname = NULL;
r->schemaname = strVal(linitial(names));
r->relname = strVal(lsecond(names));
break;
case 3:
r->catalogname = strVal(linitial(names));
r->schemaname = strVal(lsecond(names));
r->relname = strVal(lthird(names));
break;
default:
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("improper qualified name (too many dotted names): %s",
NameListToString(names)),
parser_errposition(position)));
break;
}
r->relpersistence = RELPERSISTENCE_PERMANENT;
r->location = position;
return r;
}
/* Separate Constraint nodes from COLLATE clauses in a ColQualList */
static void
SplitColQualList(List *qualList,
List **constraintList, CollateClause **collClause,
core_yyscan_t yyscanner)
{
ListCell *cell;
ListCell *prev;
ListCell *next;
*collClause = NULL;
prev = NULL;
for (cell = list_head(qualList); cell; cell = next)
{
Node *n = (Node *) lfirst(cell);
next = lnext(cell);
if (IsA(n, Constraint))
{
/* keep it in list */
prev = cell;
continue;
}
if (IsA(n, CollateClause))
{
CollateClause *c = (CollateClause *) n;
if (*collClause)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("multiple COLLATE clauses not allowed"),
parser_errposition(c->location)));
*collClause = c;
}
else
elog(ERROR, "unexpected node type %d", (int) n->type);
/* remove non-Constraint nodes from qualList */
qualList = list_delete_cell(qualList, cell, prev);
}
*constraintList = qualList;
}
/*
* Process result of ConstraintAttributeSpec, and set appropriate bool flags
* in the output command node. Pass NULL for any flags the particular
* command doesn't support.
*/
static void
processCASbits(int cas_bits, int location, const char *constrType,
bool *deferrable, bool *initdeferred, bool *not_valid,
bool *no_inherit, core_yyscan_t yyscanner)
{
/* defaults */
if (deferrable)
*deferrable = false;
if (initdeferred)
*initdeferred = false;
if (not_valid)
*not_valid = false;
if (cas_bits & (CAS_DEFERRABLE | CAS_INITIALLY_DEFERRED))
{
if (deferrable)
*deferrable = true;
else
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
/* translator: %s is CHECK, UNIQUE, or similar */
errmsg("%s constraints cannot be marked DEFERRABLE",
constrType),
parser_errposition(location)));
}
if (cas_bits & CAS_INITIALLY_DEFERRED)
{
if (initdeferred)
*initdeferred = true;
else
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
/* translator: %s is CHECK, UNIQUE, or similar */
errmsg("%s constraints cannot be marked DEFERRABLE",
constrType),
parser_errposition(location)));
}
if (cas_bits & CAS_NOT_VALID)
{
if (not_valid)
*not_valid = true;
else
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
/* translator: %s is CHECK, UNIQUE, or similar */
errmsg("%s constraints cannot be marked NOT VALID",
constrType),
parser_errposition(location)));
}
if (cas_bits & CAS_NO_INHERIT)
{
if (no_inherit)
*no_inherit = true;
else
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
/* translator: %s is CHECK, UNIQUE, or similar */
errmsg("%s constraints cannot be marked NO INHERIT",
constrType),
parser_errposition(location)));
}
}
/*----------
* Recursive view transformation
*
* Convert
*
* CREATE RECURSIVE VIEW relname (aliases) AS query
*
* to
*
* CREATE VIEW relname (aliases) AS
* WITH RECURSIVE relname (aliases) AS (query)
* SELECT aliases FROM relname
*
* Actually, just the WITH ... part, which is then inserted into the original
* view definition as the query.
* ----------
*/
static Node *
makeRecursiveViewSelect(char *relname, List *aliases, Node *query)
{
SelectStmt *s = makeNode(SelectStmt);
WithClause *w = makeNode(WithClause);
CommonTableExpr *cte = makeNode(CommonTableExpr);
List *tl = NIL;
ListCell *lc;
/* create common table expression */
cte->ctename = relname;
cte->aliascolnames = aliases;
cte->ctequery = query;
cte->location = -1;
/* create WITH clause and attach CTE */
w->recursive = true;
w->ctes = list_make1(cte);
w->location = -1;
/* create target list for the new SELECT from the alias list of the
* recursive view specification */
foreach (lc, aliases)
{
ResTarget *rt = makeNode(ResTarget);
rt->name = NULL;
rt->indirection = NIL;
rt->val = makeColumnRef(strVal(lfirst(lc)), NIL, -1, 0);
rt->location = -1;
tl = lappend(tl, rt);
}
/* create new SELECT combining WITH clause, target list, and fake FROM
* clause */
s->withClause = w;
s->targetList = tl;
s->fromClause = list_make1(makeRangeVar(NULL, relname, -1));
return (Node *) s;
}
/* parser_init()
* Initialize to parse one query string
*/
void
parser_init(base_yy_extra_type *yyext)
{
yyext->parsetree = NIL; /* in case grammar forgets to set it */
}