/* A Bison parser, made by GNU Bison 3.3.2. */
/* Bison implementation for Yacc-like parsers in C
Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 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. */
/* Undocumented macros, especially those whose name start with YY_,
are private implementation details. Do not rely on them. */
/* Identify Bison output. */
#define YYBISON 1
/* Bison version. */
#define YYBISON_VERSION "3.3.2"
/* 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
/* First part of user prologue. */
#line 1 "gram.y" /* yacc.c:337 */
/*#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 268 "gram.c" /* yacc.c:337 */
# ifndef YY_NULLPTR
# if defined __cplusplus
# if 201103L <= __cplusplus
# define YY_NULLPTR nullptr
# else
# define YY_NULLPTR 0
# endif
# else
# define YY_NULLPTR ((void*)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:352 */
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 818 "gram.c" /* yacc.c:352 */
};
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 */
#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 yytype_uint16;
#endif
#ifdef YYTYPE_INT16
typedef YYTYPE_INT16 yytype_int16;
#else
typedef short 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
# 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
/* 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__ && ! defined __ICC && 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 102007
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 480
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 668
/* YYNRULES -- Number of rules. */
#define YYNRULES 2728
/* YYNSTATES -- Number of states. */
#define YYNSTATES 5477
#define YYUNDEFTOK 2
#define YYMAXUTOK 717
/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
as returned by yylex, with out-of-bounds checking. */
#define YYTRANSLATE(YYX) \
((unsigned) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
as returned by yylex. */
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, 1473, 1474, 1482,
1493, 1501, 1509, 1520, 1528, 1536, 1543, 1552, 1562, 1563,
1567, 1568, 1571, 1573, 1577, 1578, 1579, 1580, 1584, 1585,
1586, 1592, 1604, 1608, 1612, 1627, 1634, 1635, 1636, 1640,
1641, 1642, 1646, 1647, 1651, 1655, 1656, 1663, 1670, 1680,
1687, 1697, 1698, 1703, 1704, 1709, 1715, 1721, 1727, 1733,
1743, 1753, 1754, 1758, 1759, 1767, 1782, 1788, 1794, 1800,
1806, 1825, 1834, 1843, 1852, 1861, 1872, 1883, 1892, 1901,
1910, 1921, 1932, 1941, 1950, 1959, 1968, 1977, 1986, 1997,
2011, 2012, 2017, 2030, 2046, 2062, 2071, 2080, 2089, 2098,
2107, 2115, 2123, 2132, 2148, 2157, 2166, 2175, 2192, 2201,
2210, 2219, 2229, 2242, 2257, 2266, 2274, 2289, 2297, 2307,
2317, 2324, 2331, 2339, 2347, 2354, 2361, 2369, 2377, 2385,
2392, 2399, 2407, 2414, 2421, 2429, 2437, 2445, 2453, 2461,
2469, 2479, 2486, 2494, 2502, 2510, 2518, 2526, 2533, 2540,
2547, 2553, 2563, 2564, 2568, 2569, 2570, 2574, 2582, 2586,
2587, 2591, 2598, 2605, 2612, 2622, 2625, 2626, 2630, 2631,
2636, 2640, 2644, 2649, 2656, 2658, 2663, 2667, 2671, 2682,
2690, 2743, 2756, 2770, 2782, 2789, 2793, 2800, 2801, 2802,
2803, 2804, 2808, 2809, 2814, 2815, 2820, 2830, 2840, 2860,
2873, 2874, 2879, 2888, 2898, 2908, 2934, 2940, 2973, 3002,
3024, 3025, 3029, 3030, 3039, 3040, 3041, 3044, 3045, 3050,
3051, 3055, 3059, 3063, 3067, 3071, 3075, 3079, 3083, 3087,
3091, 3095, 3099, 3103, 3107, 3116, 3120, 3124, 3128, 3132,
3136, 3140, 3141, 3146, 3150, 3157, 3164, 3165, 3166, 3167,
3168, 3172, 3176, 3184, 3195, 3212, 3230, 3249, 3268, 3287,
3319, 3320, 3321, 3322, 3323, 3330, 3337, 3338, 3342, 3343,
3347, 3348, 3352, 3356, 3363, 3367, 3374, 3375, 3376, 3380,
3381, 3384, 3405, 3423, 3444, 3445, 3449, 3456, 3457, 3458,
3489, 3496, 3503, 3514, 3525, 3537, 3546, 3555, 3573, 3574,
3593, 3600, 3607, 3614, 3625, 3636, 3637, 3638, 3642, 3643,
3644, 3645, 3646, 3647, 3648, 3649, 3658, 3665, 3669, 3682,
3698, 3713, 3729, 3744, 3763, 3784, 3785, 3789, 3790, 3794,
3795, 3798, 3804, 3805, 3808, 3812, 3820, 3825, 3831, 3832,
3836, 3841, 3848, 3849, 3859, 3861, 3863, 3865, 3868, 3871,
3874, 3878, 3879, 3880, 3881, 3882, 3885, 3886, 3890, 3891,
3894, 3906, 3907, 3910, 3911, 3914, 3925, 3936, 3950, 3951,
3952, 3953, 3956, 3957, 3958, 3959, 3962, 3963, 3966, 3967,
3970, 3988, 4000, 4025, 4038, 4054, 4068, 4069, 4070, 4082,
4095, 4111, 4124, 4125, 4137, 4157, 4167, 4180, 4188, 4199,
4200, 4203, 4204, 4207, 4208, 4211, 4215, 4219, 4223, 4227,
4231, 4235, 4239, 4243, 4247, 4251, 4256, 4260, 4264, 4270,
4271, 4275, 4276, 4277, 4282, 4285, 4286, 4298, 4310, 4325,
4326, 4334, 4335, 4339, 4340, 4344, 4345, 4349, 4350, 4354,
4364, 4377, 4378, 4388, 4399, 4400, 4413, 4420, 4437, 4445,
4456, 4459, 4463, 4467, 4471, 4475, 4487, 4497, 4500, 4504,
4517, 4526, 4535, 4544, 4553, 4562, 4571, 4580, 4589, 4598,
4607, 4616, 4625, 4634, 4643, 4652, 4661, 4670, 4679, 4688,
4697, 4706, 4715, 4724, 4733, 4742, 4751, 4760, 4778, 4789,
4790, 4791, 4792, 4796, 4797, 4801, 4802, 4812, 4820, 4832,
4833, 4837, 4841, 4849, 4853, 4857, 4864, 4868, 4873, 4878,
4885, 4892, 4897, 4907, 4919, 4934, 4935, 4940, 4941, 4945,
4946, 4956, 4965, 4973, 4990, 5010, 5030, 5051, 5082, 5091,
5112, 5127, 5128, 5132, 5140, 5155, 5164, 5176, 5177, 5189,
5197, 5214, 5238, 5255, 5269, 5270, 5274, 5275, 5279, 5280,
5284, 5285, 5289, 5303, 5307, 5308, 5312, 5313, 5314, 5315,
5316, 5326, 5344, 5365, 5391, 5392, 5393, 5397, 5399, 5421,
5423, 5425, 5427, 5429, 5434, 5435, 5439, 5440, 5444, 5455,
5456, 5460, 5469, 5473, 5477, 5482, 5492, 5493, 5497, 5498,
5502, 5503, 5507, 5508, 5512, 5513, 5514, 5518, 5522, 5523,
5524, 5528, 5529, 5534, 5535, 5562, 5563, 5564, 5565, 5566,
5567, 5580, 5590, 5604, 5606, 5611, 5616, 5618, 5623, 5633,
5634, 5635, 5636, 5648, 5668, 5690, 5700, 5711, 5721, 5731,
5742, 5751, 5758, 5765, 5774, 5783, 5792, 5801, 5810, 5820,
5829, 5841, 5844, 5845, 5848, 5852, 5859, 5860, 5861, 5862,
5863, 5864, 5867, 5870, 5871, 5879, 5886, 5887, 5890, 5892,
5903, 5914, 5925, 5936, 5949, 5950, 5966, 5981, 5982, 5986,
5998, 6008, 6016, 6025, 6034, 6035, 6038, 6039, 6042, 6043,
6044, 6047, 6061, 6066, 6076, 6085, 6097, 6098, 6102, 6110,
6122, 6132, 6145, 6155, 6177, 6187, 6205, 6215, 6225, 6235,
6245, 6255, 6265, 6275, 6285, 6295, 6305, 6315, 6329, 6330,
6331, 6332, 6333, 6334, 6335, 6336, 6337, 6338, 6339, 6340,
6341, 6346, 6347, 6348, 6349, 6350, 6351, 6352, 6357, 6358,
6359, 6363, 6364, 6367, 6368, 6371, 6373, 6378, 6379, 6390,
6401, 6402, 6403, 6437, 6445, 6453, 6461, 6469, 6477, 6485,
6493, 6501, 6514, 6522, 6530, 6538, 6546, 6554, 6562, 6570,
6578, 6586, 6598, 6599, 6600, 6601, 6602, 6603, 6604, 6605,
6606, 6607, 6608, 6609, 6610, 6611, 6616, 6617, 6618, 6619,
6620, 6621, 6622, 6623, 6624, 6625, 6626, 6627, 6631, 6632,
6646, 6656, 6666, 6676, 6686, 6696, 6706, 6716, 6726, 6738,
6739, 6744, 6745, 6746, 6747, 6748, 6749, 6754, 6755, 6756,
6757, 6758, 6759, 6760, 6761, 6764, 6765, 6775, 6781, 6789,
6797, 6805, 6813, 6821, 6829, 6837, 6845, 6853, 6861, 6869,
6877, 6885, 6893, 6901, 6909, 6919, 6920, 6923, 6924, 6934,
6950, 6964, 6990, 6992, 6994, 6996, 7003, 7012, 7013, 7016,
7023, 7030, 7037, 7051, 7059, 7067, 7075, 7083, 7091, 7099,
7107, 7115, 7123, 7131, 7139, 7147, 7155, 7163, 7171, 7179,
7187, 7195, 7203, 7215, 7216, 7220, 7221, 7226, 7227, 7237,
7250, 7260, 7272, 7273, 7276, 7277, 7287, 7297, 7298, 7302,
7306, 7310, 7321, 7334, 7348, 7365, 7366, 7367, 7368, 7369,
7370, 7382, 7410, 7441, 7442, 7446, 7447, 7451, 7452, 7456,
7457, 7460, 7461, 7469, 7480, 7491, 7504, 7505, 7508, 7509,
7512, 7513, 7516, 7517, 7520, 7521, 7522, 7525, 7526, 7527,
7543, 7555, 7568, 7580, 7595, 7596, 7599, 7600, 7604, 7605,
7609, 7610, 7615, 7627, 7634, 7641, 7656, 7657, 7661, 7662,
7677, 7686, 7695, 7704, 7713, 7725, 7726, 7727, 7728, 7729,
7735, 7739, 7754, 7755, 7761, 7771, 7775, 7780, 7788, 7829,
7833, 7837, 7841, 7849, 7850, 7854, 7864, 7865, 7871, 7872,
7879, 7883, 7887, 7891, 7895, 7899, 7903, 7907, 7911, 7915,
7919, 7923, 7927, 7931, 7935, 7940, 7947, 7951, 7955, 7959,
7963, 7969, 7970, 7977, 7978, 7982, 7983, 7986, 7998, 8002,
8017, 8025, 8033, 8045, 8046, 8051, 8052, 8069, 8079, 8089,
8099, 8109, 8119, 8132, 8142, 8155, 8165, 8178, 8186, 8188,
8190, 8195, 8197, 8202, 8203, 8208, 8226, 8235, 8236, 8240,
8244, 8256, 8267, 8278, 8291, 8292, 8293, 8297, 8309, 8310,
8320, 8332, 8336, 8340, 8344, 8351, 8371, 8380, 8389, 8398,
8409, 8410, 8413, 8414, 8415, 8418, 8419, 8422, 8432, 8441,
8458, 8467, 8476, 8485, 8494, 8503, 8512, 8521, 8530, 8539,
8548, 8557, 8566, 8576, 8586, 8595, 8604, 8613, 8622, 8631,
8640, 8650, 8660, 8670, 8680, 8690, 8700, 8710, 8720, 8730,
8740, 8750, 8760, 8771, 8782, 8793, 8804, 8814, 8824, 8835,
8846, 8856, 8866, 8874, 8883, 8892, 8901, 8910, 8919, 8928,
8937, 8946, 8955, 8969, 8970, 8973, 8974, 8984, 8992, 9000,
9008, 9017, 9025, 9042, 9051, 9060, 9069, 9078, 9087, 9096,
9105, 9114, 9123, 9132, 9141, 9150, 9159, 9168, 9177, 9186,
9195, 9204, 9213, 9222, 9231, 9240, 9249, 9258, 9267, 9276,
9294, 9303, 9304, 9307, 9309, 9315, 9316, 9317, 9318, 9319,
9328, 9336, 9344, 9352, 9360, 9368, 9376, 9384, 9392, 9400,
9408, 9416, 9424, 9432, 9440, 9448, 9456, 9464, 9472, 9480,
9488, 9496, 9504, 9512, 9530, 9549, 9550, 9554, 9558, 9578,
9585, 9593, 9601, 9618, 9631, 9635, 9642, 9651, 9660, 9669,
9678, 9688, 9698, 9716, 9724, 9740, 9757, 9758, 9759, 9764,
9770, 9779, 9780, 9781, 9782, 9783, 9787, 9788, 9791, 9792,
9793, 9794, 9798, 9799, 9800, 9812, 9822, 9823, 9826, 9835,
9841, 9860, 9867, 9874, 9881, 9888, 9895, 9902, 9909, 9916,
9923, 9930, 9937, 9944, 9951, 9960, 9961, 9962, 9966, 9969,
9972, 9975, 9978, 9985, 9987, 9989, 9994, 9996, 10008, 10021,
10034, 10052, 10073, 10074, 10075, 10076, 10086, 10102, 10112, 10113,
10117, 10118, 10122, 10126, 10130, 10148, 10149, 10150, 10151, 10152,
10153, 10154, 10161, 10162, 10173, 10180, 10187, 10198, 10215, 10222,
10238, 10255, 10261, 10277, 10290, 10299, 10307, 10315, 10324, 10335,
10346, 10356, 10357, 10368, 10378, 10389, 10400, 10411, 10422, 10431,
10443, 10444, 10458, 10481, 10489, 10498, 10509, 10510, 10522, 10537,
10547, 10548, 10552, 10553, 10554, 10555, 10556, 10568, 10577, 10587,
10588, 10592, 10596, 10597, 10601, 10602, 10606, 10607, 10610, 10611,
10614, 10615, 10619, 10620, 10624, 10631, 10633, 10638, 10639, 10652,
10659, 10669, 10676, 10686, 10687, 10688, 10689, 10690, 10691, 10692,
10693, 10694, 10698, 10702, 10709, 10716, 10717, 10721, 10722, 10723,
10733, 10743, 10744, 10748, 10749, 10750, 10751, 10761, 10768, 10785,
10804, 10805, 10815, 10821, 10827, 10833, 10849, 10867, 10871, 10879,
10885, 10892, 10898, 10905, 10914, 10915, 10919, 10921, 10926, 10937,
10947, 10957, 10963, 10972, 10981, 10987, 10988, 10999, 11013, 11014,
11025, 11036, 11037, 11040, 11041, 11042, 11043, 11044, 11045, 11046,
11047, 11050, 11051, 11055, 11056, 11057, 11068, 11086, 11087, 11091,
11096, 11120, 11131, 11132, 11142, 11153, 11156, 11157, 11158, 11159,
11160, 11163, 11164, 11165, 11213, 11214, 11218, 11219, 11234, 11235,
11242, 11250, 11258, 11266, 11274, 11282, 11293, 11294, 11321, 11335,
11350, 11351, 11370, 11374, 11378, 11395, 11402, 11409, 11419, 11420,
11423, 11435, 11436, 11440, 11452, 11460, 11465, 11470, 11475, 11480,
11488, 11496, 11501, 11506, 11513, 11514, 11518, 11519, 11520, 11527,
11528, 11532, 11533, 11537, 11538, 11542, 11546, 11547, 11550, 11559,
11572, 11573, 11574, 11575, 11579, 11580, 11584, 11586, 11602, 11604,
11609, 11612, 11617, 11618, 11626, 11646, 11647, 11649, 11654, 11655,
11659, 11660, 11663, 11664, 11689, 11690, 11694, 11695, 11699, 11700,
11701, 11702, 11703, 11707, 11720, 11727, 11734, 11741, 11742, 11746,
11747, 11751, 11752, 11756, 11757, 11761, 11772, 11773, 11774, 11775,
11779, 11780, 11790, 11796, 11814, 11815, 11819, 11820, 11826, 11831,
11839, 11846, 11854, 11860, 11867, 11902, 11927, 11931, 11957, 11961,
11973, 11986, 12000, 12011, 12026, 12032, 12037, 12043, 12050, 12051,
12059, 12063, 12067, 12073, 12080, 12085, 12086, 12087, 12088, 12092,
12093, 12105, 12106, 12111, 12118, 12125, 12132, 12143, 12144, 12157,
12161, 12168, 12181, 12194, 12195, 12210, 12220, 12232, 12237, 12238,
12241, 12242, 12245, 12246, 12251, 12252, 12257, 12258, 12266, 12271,
12272, 12276, 12280, 12286, 12310, 12320, 12333, 12334, 12338, 12352,
12409, 12423, 12425, 12430, 12432, 12434, 12436, 12441, 12443, 12448,
12456, 12476, 12481, 12488, 12493, 12499, 12504, 12513, 12515, 12518,
12522, 12523, 12524, 12525, 12526, 12527, 12532, 12552, 12553, 12554,
12555, 12566, 12572, 12580, 12581, 12587, 12592, 12597, 12602, 12607,
12612, 12617, 12622, 12628, 12634, 12640, 12647, 12669, 12678, 12682,
12690, 12694, 12702, 12714, 12735, 12739, 12745, 12749, 12762, 12770,
12780, 12782, 12784, 12786, 12788, 12790, 12795, 12796, 12803, 12812,
12820, 12829, 12840, 12848, 12849, 12850, 12854, 12856, 12858, 12860,
12862, 12864, 12866, 12871, 12876, 12882, 12890, 12895, 12902, 12909,
12913, 12917, 12953, 12954, 12956, 12964, 12979, 12981, 12983, 12985,
12987, 12989, 12991, 12993, 12995, 12997, 12999, 13001, 13003, 13005,
13008, 13010, 13012, 13015, 13017, 13019, 13021, 13024, 13029, 13037,
13042, 13050, 13055, 13063, 13068, 13077, 13085, 13093, 13101, 13119,
13127, 13135, 13143, 13151, 13167, 13175, 13183, 13191, 13199, 13207,
13215, 13219, 13223, 13227, 13231, 13239, 13247, 13255, 13263, 13283,
13305, 13316, 13323, 13339, 13344, 13350, 13375, 13377, 13379, 13381,
13383, 13385, 13387, 13389, 13391, 13393, 13395, 13397, 13399, 13401,
13403, 13405, 13407, 13409, 13411, 13413, 13417, 13421, 13425, 13429,
13434, 13450, 13451, 13452, 13467, 13501, 13503, 13505, 13516, 13540,
13551, 13562, 13569, 13579, 13589, 13598, 13602, 13608, 13615, 13622,
13632, 13639, 13667, 13702, 13713, 13714, 13721, 13727, 13731, 13735,
13739, 13743, 13747, 13751, 13755, 13759, 13763, 13767, 13771, 13775,
13779, 13783, 13787, 13789, 13793, 13802, 13807, 13814, 13829, 13836,
13840, 13844, 13848, 13852, 13859, 13867, 13875, 13879, 13883, 13887,
13891, 13895, 13901, 13905, 13914, 13918, 13922, 13927, 13941, 13943,
13947, 13949, 13951, 13954, 13957, 13960, 13961, 13964, 13972, 13982,
13983, 13986, 13987, 13988, 13993, 13997, 14001, 14005, 14016, 14017,
14021, 14022, 14030, 14031, 14035, 14036, 14041, 14049, 14051, 14065,
14068, 14095, 14096, 14099, 14100, 14108, 14115, 14122, 14130, 14139,
14156, 14201, 14209, 14217, 14225, 14233, 14244, 14245, 14246, 14247,
14248, 14262, 14263, 14264, 14267, 14268, 14271, 14274, 14275, 14276,
14279, 14280, 14283, 14284, 14285, 14286, 14287, 14288, 14289, 14290,
14291, 14292, 14293, 14294, 14297, 14299, 14304, 14306, 14311, 14313,
14315, 14317, 14319, 14321, 14333, 14337, 14344, 14348, 14354, 14358,
14367, 14378, 14379, 14382, 14386, 14390, 14396, 14397, 14402, 14406,
14413, 14414, 14415, 14416, 14417, 14418, 14419, 14420, 14430, 14434,
14441, 14448, 14449, 14465, 14469, 14474, 14478, 14493, 14498, 14502,
14505, 14508, 14509, 14510, 14513, 14520, 14530, 14544, 14545, 14549,
14560, 14561, 14564, 14565, 14568, 14572, 14579, 14583, 14587, 14595,
14606, 14607, 14611, 14612, 14616, 14617, 14620, 14621, 14631, 14632,
14636, 14637, 14640, 14656, 14664, 14672, 14694, 14695, 14706, 14710,
14737, 14739, 14744, 14747, 14750, 14752, 14754, 14756, 14766, 14768,
14779, 14783, 14787, 14791, 14795, 14804, 14811, 14843, 14847, 14853,
14860, 14864, 14868, 14874, 14875, 14877, 14878, 14879, 14883, 14916,
14943, 14947, 14953, 14955, 14972, 14973, 14974, 14979, 14980, 14981,
14986, 14987, 14988, 14989, 14995, 14996, 14997, 14998, 14999, 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, 15288, 15289,
15290, 15291, 15292, 15293, 15294, 15295, 15296, 15297, 15298, 15299,
15300, 15301, 15302, 15303, 15304, 15305, 15306, 15307, 15308, 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, 15351, 15352,
15353, 15354, 15355, 15356, 15357, 15358, 15359, 15360, 15361, 15362,
15363, 15364, 15365, 15366, 15367, 15368, 15369, 15370, 15371, 15385,
15386, 15387, 15388, 15389, 15390, 15391, 15392, 15393, 15394, 15395,
15396, 15397, 15398, 15399, 15400, 15401, 15402, 15403, 15404, 15405,
15406, 15407, 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, 15473, 15474,
15475, 15476, 15477, 15478, 15479, 15480, 15481, 15482, 15483, 15484,
15485, 15486, 15487, 15488, 15489, 15490, 15491, 15492, 15493
};
#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 -4885
#define yypact_value_is_default(Yystate) \
(!!((Yystate) == (-4885)))
#define YYTABLE_NINF -2635
#define yytable_value_is_error(Yytable_value) \
(!!((Yytable_value) == (-2635)))
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
static const int yypact[] =
{
10715, 31, 16573, -4885, -4885, 31, 61209, -4885, 68944, 27,
650, 1124, 189, 14282, 69399, 76679, 598, 358, 15474, 31,
76679, 1111, 52564, 66214, 809, 76679, 1044, 682, 52564, 76679,
77134, 841, 1027, 767, 77589, 69854, 64849, 1402, 76679, 1098,
954, 78044, 70309, 1035, 70764, 682, 48952, 411, 1019, 78499,
76679, 2081, 1351, 1132, -4885, -4885, -4885, -4885, -4885, -4885,
-4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
-4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
-4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
-4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
-4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
-4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
-4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
-4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
-4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
-4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
-4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, 913,
-4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
1964, -4885, 1060, 2047, 1767, 929, 1030, -4885, -4885, -4885,
61209, 76679, 76679, 76679, 1364, 76679, 1315, 76679, 220, 61209,
57114, 71219, 1525, 1409, 45306, 78954, -4885, 61209, 76679, 55294,
61209, 76679, 76679, 79409, 76679, 76679, 76679, 111, 67579, 76679,
1534, 76679, 76679, 55749, 79864, 1677, 1305, 248, -4885, -4885,
-4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
-4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
-4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
-4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
-4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
-4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
-4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
-4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
-4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
-4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
-4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
-4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
-4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
-4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
-4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
-4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
-4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
-4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
-4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
-4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
-4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
-4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
-4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
-4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
-4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
-4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
-4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
-4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
-4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
-4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
-4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
-4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
-4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
-4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
-4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
-4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
-4885, -4885, 1426, 1735, -4885, 267, -4885, -4885, -4885, -4885,
-4885, -4885, -4885, -4885, -4885, 76679, 15858, 1044, -4885, -4885,
2081, 76679, 1713, 61209, 76679, 1521, 80319, 1673, 76679, -4885,
76679, 1715, 80774, 868, 1766, 57114, 2083, 45762, 1740, 76679,
76679, 57114, 81229, 81684, 82139, 76679, 76679, -4885, -4885, 1791,
76679, 76679, -4885, 1881, 57569, 1453, 1946, 2105, 2008, 1379,
-4885, 71674, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
60299, 358, -4885, -4885, 1982, 61664, 76679, 2036, -4885, -4885,
82594, 98904, 1836, -4885, 877, 62119, 58024, 2160, 1814, 46218,
2220, -4885, 62574, -4885, 58479, 63029, -4885, -4885, -4885, -4885,
-4885, 83049, -4885, 83504, 1905, 2036, -4885, 99345, 58934, -4885,
2069, 83959, 84414, 84869, -4885, 1813, 1321, 1338, 41178, -4885,
-4885, -4885, 27, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
-4885, 326, 1698, 234, 226, 247, -4885, -4885, 227, 249,
252, 326, 2268, 2268, -4885, 76679, -4885, -4885, 1698, 752,
1820, 1820, 1820, 2034, 7, -4885, 1820, 1981, -4885, -4885,
-4885, -4885, 70764, -4885, 1829, 1044, 1856, 2282, 1920, -4885,
-4885, -4885, -4885, -4885, 1938, 76679, 76679, 76679, -4885, -4885,
2328, 1932, 2200, 1960, -4885, -4885, -4885, 2182, 2223, 2214,
149, 1044, 2143, -4885, 2271, -4885, 2231, 28123, 28123, 1044,
72129, 85324, 254, 60299, 1044, 72584, 2090, 1200, 2270, -4885,
-4885, -4885, 652, -4885, 2515, 2123, 2401, 1960, 1305, 42551,
-4885, 2127, 1735, 70764, -4885, -4885, -4885, 415, 2441, 30011,
76679, 2156, -4885, 2201, 2156, 2165, 2184, 1767, -4885, 10715,
2263, 76679, 1237, 1237, 2637, 1237, 240, 1680, -4885, 2527,
-4885, 2535, 2499, 70764, 2233, 1556, 2240, 1496, 2242, 1737,
2961, -4885, -4885, 766, 76679, 222, 2284, 73039, 9016, 2252,
1735, 2269, -4885, -4885, -4885, 2419, 1356, -4885, -4885, -4885,
-4885, 2562, 2617, 5799, 314, 73494, -4885, -4885, -4885, -4885,
76679, 76679, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
-4885, 2309, 1262, -4885, -4885, 2308, 2622, 2520, 9064, 285,
2607, 2483, 861, 9122, 2530, 910, 2685, 14717, 1431, 1800,
2248, 73949, 76679, 2651, 2706, 4615, 1721, 832, 2584, 1281,
2607, 2704, 2549, 861, 2730, 6632, 76679, -4885, 2659, 2775,
109, -4885, 344, -4885, 23016, 30011, 48497, -4885, 1735, 2472,
2625, 1156, 2663, 61209, 2424, -4885, -4885, 76679, -4885, -4885,
99786, 2518, -4885, 977, 61209, -4885, 2657, 2496, 46674, 76679,
61209, -4885, -4885, 61209, 76679, -4885, -4885, -4885, -4885, -4885,
-4885, -4885, 2588, 2783, 76679, 99786, -4885, 2731, 76679, 76679,
-4885, 2481, -4885, -4885, -4885, -4885, 1820, 76679, 2488, 2891,
99786, 2709, 406, 76679, 1649, 2933, 76679, 2727, 1649, 2544,
85779, -4885, -4885, 1649, -4885, -4885, -4885, 76679, 76679, 2531,
1445, 2723, 2846, 1649, 2753, 2966, 2969, 2759, 2612, 2767,
2201, 2939, 2738, 937, 350, 201, 1876, 1649, 2595, 86234,
86689, 76679, 2596, 76679, 2950, 61209, 61209, 76679, 2880, -4885,
2736, -4885, -4885, 1185, -4885, -4885, -4885, -4885, -4885, 2895,
-4885, 184, 272, 2896, 2569, 2899, -4885, -4885, -4885, 2619,
-4885, 2619, 2619, 2573, 2573, 2751, 2579, 2908, -4885, -4885,
-4885, 1733, 2619, 2573, -4885,100668, -4885, 1732, 1816, -4885,
194, -4885, 3023, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
-4885, 2585, -4885, 853, 1787, -4885, -4885, 2621, -4885, 2914,
323, -4885, 2917, -4885, 2586, 87144, -4885, 87599, 88054, 2920,
331, -4885, 57114, 2921, 323, 2922, 2586, 2923, 323, 2925,
272, 2927, -4885, 989, 2929, 2932, 194, 2944, 2000, 2586,
60754, 2946, 368, -4885, 2948, 437, -4885, 2949, 2816, 30011,
-4885, 2714, -4885, 1019, -4885, 1772, -4885, 51654, -4885, 1338,
1698, -4885, 76679, 1698, 76679, 1698, 76679, 1698, 76679, 1698,
76679, 76679, 76679, 1698, -4885, -4885, -4885, 76679, 2633, 76679,
76679, -4885, -4885, -4885, 66669, 57114, 67124, -4885, 76679, -4885,
133, 1044, -4885, -4885, 99786, 3073, 57114, 2950, -4885, 1845,
-4885, -4885, -4885, -4885, -4885, -4885, 2886, 76679, 2952, 2953,
66669, 57114, -4885, 88509, 60299, 2845, 2641, -4885, -4885, -4885,
-4885, -4885, 1924, 3111, 262, 3112, 30011, 2645, 262, 262,
2646, 2963, -4885, -4885, -4885, 271, 2648, 2650, -4885, 265,
265, -4885, 2652, 2654, -4885, 269, 2661, 2666, 3126, 3136,
273, 2668, 2670, 2671, 1733, 262, 30011, -4885, 2672, 265,
2673, 2675, 2677, 3150, 2679, -4885, 3152, 2686, 245, 289,
2687, 2688, -4885, 2652, -4885, 291, 2689, 2692, 2693, 2694,
2695, 2698, 2702, 2715, 30011, 30011, 30011, -4885, 26707, 1735,
1044, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, 293,
5211, -4885, 2745, -4885, -4885, 2905, -4885, -4885, 30011, -4885,
-4885, 119, -4885, 295, -4885, -4885, -4885, 1735, 2984, 2719,
-4885, -4885, 1302, 2720, -4885, 394, -4885, -4885, -4885, -4885,
-4885, -4885, 59389, 3158, -4885, 310, 1044, 344, 367, 3104,
50744, 51199, -4885, -4885, 2977, -4885, 76679, -4885, -4885, 1735,
202, -4885, -4885, -4885, -4885, 1870, -4885, -4885, -4885, 27,
12966, 1874, 2156, 76679, 76679, 3168, -4885, -4885, -4885, -4885,
1895, -4885, -4885, 2726, -4885, 2201, -4885, -4885, 1767, 1767,
30011, 1767, 253, 1719, 28595, 30483, 3050, 2945, 1140, 1584,
3052, -4885, 2954, 240, 1680, 70764, 76679, 88964, 2856, 30011,
2822, 2828, 2881, 49862, -4885, 2833, 2803, 2842, 2897, 53474,
2763, 2847, 2848, 2904, -4885, 3028, -4885, -4885, 2859, 2864,
89419, -4885, -4885, 996, -4885, -4885, -4885, 996, -4885, 2800,
1679, 978, 340, 2869, 499, 218, 3181, -4885, 1367, -4885,
-4885, 2924, -4885, 5900, 76679, 3120, 6756, 3000, 314, 3003,
2926, -4885, -4885, 3055, 2883, 76679, 2884, 3021, 314, 290,
89874, -4885, -4885, -4885, -4885, -4885, -4885, 4099, 25824, -4885,
1809, 2887, 2866, 2906, 76679, 63939, 1810, 2992, 3016, 3024,
1463, 2005, 545, 2955, 76679, 1103, 3032, 76679, 2823, 2911,
2912, 3121, 2844, 1343, 3236, 2851, -4885, -4885, -4885, -4885,
439, 2019, 3047, -4885, 3146, 3188, 5467, 2918, 2919, 97581,
-4885, 2943, 83, 47130, 76679, 76679, 3070, 2951, 2956, 90329,
4099, 2967, 2972, 2962, 2964, 13, 3252, 1520, 2976, -4885,
-4885, -4885, 1520, 3095, 2979, 2982, 90784, 4099, 76679, 2983,
2986, 76679,100668, 314, -4885, 3326, 314, 314, 1854, 3329,
2989, 382, 3141, 1049, 1649, 2851, 2820, -4885, 2993, 2997,
939, -4885, 3127, 3004, 3006, 3063, 1044, -4885, -4885, 3014,
3087, 3017, 59, -4885, -4885, 1118, 3027, 70764, 3125, 3131,
441, 2225, 2851, -4885, 3029, 3030, 2844, 2844, 76679, 76679,
76679, 76679, 76679, 298, 3374, 3381, 3036, 259, 3084, 2968,
-4885, 1520, 56204, 3039, -4885, 1520, 76679, 3044, 2501, 2851,
1122, 1181, -4885, -4885, -4885, 1305, -4885, 30011, 30011, 30011,
2965, -4885, 2301, 12966, 86, -4885, 297, 5802, 2970, -4885,
-4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
-4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
-4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
-4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
-4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
-4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
-4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
-4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
-4885, -4885, -4885, -4885, -4885, 76679, -4885, 76679, -4885, 3232,
99786, 3173, 3235, -4885, 3010, -4885, 3238, 314, -4885, 76679,
76679, 3244, 3176, 3245, 3247, 3189, 1013, 99786, 3190, 3251,
-4885, 3253, 3257, 3066, 3040, 3059, 50303, -4885, 2531, 3020,
3443, 3344, 76679, 53474, -4885, 3467, 996, -4885, 99786, 3226,
3351, -4885, 76679, 3246, 62, -4885, 3386, 3081, -4885, -4885,
66, 76679, 305, 3064, -4885, -4885, 3357, 57114, 328, 3358,
1044, 3079, 3365, 3248, 1044, 57114, 3282, 76679, 76679, 76679,
76679, -4885, -4885, 3250, 1015, 168, -4885, 56204, 3261, -4885,
76679, 3262, 2820, 3265, 3485, 948, 1820, 91239, 3364, -4885,
91694, 3051, 3051, 3492, 99786, 3313, -4885, 1998, -4885, 3184,
-4885, 61209, -4885, -4885, 61209, -4885, -4885, -4885, 99786, 76679,
-4885, 3056, -4885, -4885, 30011, -4885, -4885, -4885, 2268, -4885,
99786, 2619, 2619, -4885, -4885, 3497, 3140, 3144, 2268, -4885,
2268, -4885, 99786, -4885, 3062, 3067, 2268, 3143, 3147, 3149,
-4885, 3069, 3153, 2268, -4885, -4885, 2088, -4885, -4885, 61209,
61209, -4885, 57114, 57114, 3403, 368, 3404, 3135, 3417, 3155,
47130, 47130, -4885, 457, 61209, -4885, 57114, 61209, -4885, 76679,
-4885, 76679, -4885, -4885, -4885, -4885, 99786, 99786, -4885, 57114,
56204, 3424, 3425, 272, 76679, 76679, -4885, 76679, 76679, -4885,
76679, 76679, 1901, 92149, 1338, 59844, -4885, -4885, -4885, -4885,
-4885, -4885, -4885, -4885, 76679, -4885, 76679, -4885, 76679, -4885,
76679, -4885, 76679, -4885, -4885, -4885, 76679, -4885, 76679, 1902,
-4885, -4885, 1906, 1489, 76679, 76679, 866, 61209, 76679, 3311,
61209, 61209, 76679, 76679, 76679, 76679, 76679, 3180, 2720, 1665,
-4885, 847, 870, 70764, 3319, -4885, -4885, 1910, 2081, 583,
76679, 1217, 1938, -4885, -4885, 67124, 66214, 3415, 352, 76679,
-4885, -4885, 5560, 30011, 1735, 27651, -4885, -4885, 12966, 3160,
30011, 30011, 3128, 2268, 2268, -4885, 427, 30011, 30011, 30011,
2268, 2268, 12893, 30011, 47130, 30011, 35203, 23962, 30011, 30011,
27179, -4885, 30011, 3341, 36607, 30011, 367, 3349, 30011, 367,
12893, 3590, 3590, 1943, 4712, 3129, 1735, -4885, 2268, 268,
-4885, 336, 99786, 30011, 30011, 30011, 30011, 53474, 3210, 238,
76679, 30011, 3137, 2046, -4885, 30011, -4885, 3145, 30011, 3214,
887, 30011, 30011, 30011, 30011, 30011, 30011, 30011, 30011, 30011,
-4885, 37978, 467, 3449, 3473, 33, 618, 74404, 28123, 3465,
23016, -4885, 261, 3465, -4885, -4885, -4885, 76679, 3158, -4885,
-4885, 3243, -4885, -4885, -4885, -4885, -4885, 299, -4885, -4885,
-4885, -4885, -4885, -4885, -4885, 3151, -4885, -4885, -4885, -4885,
3151, -4885, 3163, 3453, 3455, 272, 76679, 415, 2393, -4885,
30011, -4885, 1922, 3169, 76679, 2263, 76679, -4885, 3437, -4885,
3167, -4885, 11095, 3437, -4885, -4885, 35669, 3290, 3445, 3400,
-4885, -4885, -4885, 3193, 12966, 30955, 30955, -4885, 2102, 12966,
2169, -4885, -4885, -4885, -4885, -4885, -4885, 1301, -4885, 76679,
129, 3050, 1584, 3254, 1383, 3638, 76679, -4885, 43008, 1930,
57114, 76679, 76679, 3396, -4885, 3622, -4885,100668, -4885, 3202,
-4885,100227, 96244, -4885, -4885, 968, -4885, 1002, 57114, -4885,
76679, 76679, -4885, 53474, 57114, 76679, 76679, -4885, 57114, 76679,
76679, -4885, -4885, -4885, -4885, -4885, 52109, 775, 66214, 3335,
65304, -4885, -4885, 3207, 76679, 3264, 3472, 3475, 1352, -4885,
-4885, 92604, -4885, 3427, 57114, 76679, 76679, 30011, 3430, 76679,
76679, -4885, 881, 3295, 3296, -4885, 76679, 3298, 3456, 61209,
3222, 76679, 76679, 99786, 3300, 990, 61209, 3267, 47586, 61209,
61209, 76679, 76679, 76679, 76679, 3352, 3543, 99786, 76679, 3498,
1368, 70764, 214, 2600, 2851, 3457, -4885, 3566, 859, -4885,
57114, -4885, 76679, 3446, -4885, -4885, -4885, 74859, 3675, 3354,
-4885, -4885, 93059, -4885, -4885, -4885, 1934, -4885, 57114, 57114,
76679, 8042, 93514, 1502, 3469, -4885, -4885, 99786, -4885, 76679,
75314, 76679, 76679, 3573, 3501, 76679, 68034, 93969, 94424, 1387,
1435, 3502, 76679, 68489, 3505, -4885, 3391, 76679, -4885, -4885,
53929, 57114, 76679, 869, 53474, -4885, -4885, 76679, -4885, 3464,
280, -4885, 76679, 8759, -4885, -4885, 3339, 3346, 76679, 3466,
235, 2713, 2851, 76679, 76679, 3259, 1935, 57114, 76679, 53474,
-4885, 3474, 979, 3593, 57114, 76679, 74859, -4885, 70764, 70764,
57114, 76679, 70764, -4885, 76679, 85324, -4885, 57114, 930, -4885,
3594, 57114, 76679, 74859, -4885, 3421, 57114, 76679, 15305, -4885,
-4885, -4885, 314, -4885, -4885, -4885, -4885, -4885, 76679, 76679,
314, 76679, 76679, 314, 1290, -4885, 57114, 76679, -4885, -4885,
-4885, 57114, 76679, 76679, -4885, 57114, 3064, 76679, 53474, -4885,
76679, 7039, 76679, 76679, 76679, 76679, 76679, 76679, 57114, 76679,
-4885, -4885, 1326, 1355, 1263, 1292, 806, 76679, 3557, 76679,
94879, 57114, 76679, 76679, 1044, 76679, 1406, -4885, -4885, 3392,
-4885, 57114, 930, -4885, 8255, 76679, 76679, 3366, 3373, 243,
3435, -4885, -4885, -4885, 667, 667, 3495, -4885, 30011, 30011,
29067, 3272, -4885, -4885, 30011, -4885, -4885, -4885, 946, 3736,
95334, 946, -4885, 946, 3565, 3355, 3359, 946, 76679, 946,
946, 76679, -4885, -4885, -4885, -4885, 3560, 76679, 946, 946,
946, 3471, 3509, 164, 3588, 3317, 1942, -4885, -4885, 30011,
99786, 76679, -4885, 1947, -4885, 3318, 1015, -4885, -4885, 53474,
76679, 761, 734, 3636, 3519, 64394, 1255, 3627, 76679, 3362,
76679, 3752, 3409, 70764, 2531, -4885, 1255, 76679, -4885, 1878,
66214, -4885, -4885, -4885, -4885, -4885, -4885, -4885, 76679, -4885,
-4885, 3628, 76679, 30011, 3487, -4885, 1044, 2531, 2531, 2531,
2531, -4885, -4885, -4885, -4885, 3532, 1839, -4885, 3323, 2531,
76679, 3448, 3662, 1255, 3336, 3663, -4885, 2820, 3665, 1214,
76679, 3548, 64394, 2159, 3377, 3561, 3782, 1820, 1044, 3569,
3549, -4885, 26265, 3035, 6424, 3550, 3609, 60299, 3647, 3648,
3669, -4885, 184, -4885, 3793, -4885, 30011, 1953, 3356, 194,
-4885, -4885, 3363, 3067, 3379, 3383, 3368, 3372, -4885, 2268,
223, 3375, 852, 154, 3494, 2268, 3605, 3376, -4885, 323,
-4885, 2586, -4885, 76679, -4885, 76679, 76679, 76679, 76679, 331,
-4885, -4885, 323, 2586, 323, 272, -4885, 3634, 194, 2586,
3504, 3696, 60299, -4885, 368, -4885, 437, -4885, 3586, 272,
-4885, 3604, 1820, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
-4885, 1968, -4885, 76679, -4885, 3673, 3676, 3677, 3678, 3679,
3384, 3389, 3429, 76679, 3393, 3384, 314, 3393, 3393, 3384,
2720, 2720, 3384, 3389, 56659, 3849, 3703, -4885, 3490, 3412,
3724, 195, -4885, 221, 759, 3649, -4885, -4885, -4885, -4885,
99786, -4885, 57114, 3452, 76679, 76679, -4885, 379, 3621, 3414,
56659, 3842, 272, -4885, 61209, -4885, -4885, 99786, 3496, 3514,
61209, 3637, 3476, 61209, -4885, -4885, 61209, -4885, -4885, -4885,
-4885, -4885, 99786, -4885, 3684, 76679, 76679, 1978, -4885, -4885,
1661, -4885, 1688, 30011, 454, -4885, 11328, 1987, 30011, 3428,
3433, -4885, -4885, -4885, -4885, -4885, -4885, -4885, 3434, 3739,
-4885, 1988, 2002, 2003, 3436, 3438, 3198, 3440, 11956, 3441,
3431, 35203, 35203, 26707, 2352, -4885, 35203, 3442, 3623, 2007,
11155, 3432, 3444, 12022, 29539, 30011, 29539, 29539, 12284, 3432,
3450, 2009, 53474, 3630, 12425, 2013, -4885, 30011, 53474, 4663,
30011, -4885, 30011, 3454, -4885, -4885, 2566, 2566, 2566, 12893,
-4885, 3477, -4885, 35203, 35203, -4885, 1227, 26707, -4885, -4885,
3749, -4885, -4885, 1499, -4885, 3447, -4885, -4885, 2439, 47130,
3805, 30011, 256, 30011, 3137, 30011, 3529, 2566, 2566, 2566,
359, 359, 231, 231, 231, 416, 618, -4885, -4885, -4885,
3458, 3462, 3463, 3650, 3468, 30011, -4885, 2221, 2292, 76679,
2960, 3564, 4093, -4885, -4885, -4885, 38893, 3506, 86, 3506,
-4885, 1305, 2268, 268, 51654, -4885, -4885, -4885, -4885, -4885,
-4885, -4885, 76679, 12966, -4885, 2081, -4885, -4885, -4885, 30011,
-4885, -4885, 3413, 3479, 82, 3658, 2186, 2186, 2102, 3661,
-4885, -4885, 3523, -4885, 30011, 2185, -4885, 2191, -4885, -4885,
-4885, -4885, 2720, -4885, 3708, -4885, -4885, -4885, 38893, 3510,
3521, 60, 42093, 3674, -4885, 76679, -4885, 76679, 380, -4885,
3483, -4885, -4885, -4885, -4885, -4885, -4885, 96244, 1787, -4885,
100227, -4885,100227, -4885, 1787, 3895, -4885, 96244, 1769, -4885,
-4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
-4885, -4885, 57114, 57114, 3680, 76679, 3681, 3682, 30011, 424,
76679, 3478, 3481, 1598, 3759, 76679, -4885, 3811, 272, -4885,
-4885, 3570, -4885, 12966, -4885, -4885, -4885, -4885, -4885, 57114,
76679, -4885, 60299, -4885, 76679, -4885, 99786, -4885, -4885, -4885,
76679, 3518, 76679, -4885, 76679, 76679, 76679, -4885, -4885, -4885,
-4885, -4885, -4885, -4885, 1108, 99786, -4885, -4885, 76679, 76679,
771, 3571, 3574, 76679, -4885, 1392, 3127, 8333, 76679, 76679,
76679, 3765, 76679, -4885, -4885, -4885, -4885, 3709, -4885, -4885,
96244, -4885, 2586, 1126, 3577, 2851, 3719, -4885, 3829, 3704,
-4885, 3624, 1034, -4885, -4885, 76679, 3635, -4885, -4885, -4885,
-4885, 3836, 272, 3838, 272, 76679, 76679, 76679, 76679, 3640,
-4885, -4885, -4885, -4885, 3641, 3763, -4885, 53474, 53474, 53474,
2015, -4885, -4885, 1044, -4885, -4885, -4885, -4885, -4885, -4885,
3800, -4885, 2021, -4885, -22, -4885, -4885, -4885, -4885, -4885,
-4885, 57114, 76679, 8741, 3845, 76679, 76679, 76679, 1803, -4885,
1113, 99786, -4885, 98022, -4885, -4885, 2035, -4885, 3531, 76679,
3600, 57114, 3579, 76679, -4885, -4885, -4885, 3524, 3524, -4885,
-4885, 3524, -4885, -4885, -4885, 3774, 3713, -4885, 986, 3714,
57114, 3591, -4885, 76679, -4885, -4885, -4885, 3614, -4885, -4885,
3615, 2757, 2851, 2820, -4885, -4885, -4885, -4885, -4885, -4885,
-4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, 1692,
-4885, -4885, 1180, 445, 2930, 2851, -4885, 1361, -4885, 3616,
-4885, 3617, -4885, -4885, -4885, 3778, 3781, 3783, 3625, 3626,
3683, 3629, 3632, 3685, -4885, 3639, 3687, 3643, 3688, 3748,
3651, 272, 99786, 3768, 1044, 3667, 3873, 272, -4885, 3654,
-4885, 3655, -4885, 3983, -4885, 76679, -4885, 3656, 3183, 2851,
-4885, -4885, 57114, 76679, -4885, -4885, -4885, 30011, 3558, 3567,
3568, 12966, 12966, 30011, -4885, -4885, 12966, 3559, -4885, -4885,
-4885, 99786, 76679, 3826, -4885, -4885, 946, 76679, 76679, -4885,
3835, -4885, -4885, 3843, 76679, 3844, -4885, -4885, -4885, -4885,
260, -4885, -4885, -4885, 3471, 3881, 44382, -4885, 4054, 5535,
3583, 453, -4885, 53474, 44382, 1984, 2355, 814, 1649, -4885,
60299, 76679, 60299, -4885, 734, 3704, 76679, 76679, 76679, 3585,
3587, -4885, -4885, -4885, -4885, 57114, 955, 57114, 2268, -4885,
-4885, 3664, -4885, 76679, 1820, 4060, 3908, -4885, 3524, -4885,
4027, 2969, 328, 3746, 1700, 2612, 3969, 2201, 399, 53474,
3377, -4885, -4885, -4885, -4885, 76679, 76679, 1015, 1044, -4885,
3602, 3597, -4885, 76679, 3925, 76679, 76679, 76679, 76679, 3452,
3610, 76679, 3620, 99786, 61, 3818, 3820, 2844, 4061, 3951,
2081, 3377, 3705, 3955, 70764, -4885, 2057, 193, -4885, 1044,
60299, 97140, 3946, -4885, 6424, -4885, -4885, 6424, 933, 76679,
3930, -4885, -4885, 2081, -4885, 99786, 2062, -4885, -4885, -4885,
2268, -4885, -4885, 1439, 1439, 3633, -4885, 3642, -4885, -4885,
-4885, -4885, -4885, -4885, -4885, 3644, -4885, -4885, -4885, 368,
3689, 272, 3691, 272, -4885, -4885, -4885, -4885, 76679, -4885,
76679, 56204, 272, -4885, -4885, 76679, -4885, 3964, -4885, -4885,
3769, 3770, 3771, 3773, 3775, 76679, 3384, -4885, 3653, 57114,
1701, -4885, -4885, 3839, -4885, -4885, 70764, 3764, -4885, -4885,
-4885, -4885, 3976, 3977, -4885, -4885, -4885, 825, -4885, -4885,
-4885, 57114, 66669, 483, 57114, -4885, 3913, 3917, -4885, -4885,
3919, 314, -4885, 3920, 3923, 3924, -4885, 3927, 3929, -4885,
-4885, -4885, 3668, 12557, 30011, -4885, 4004, 99786, -4885, 6460,
-4885, -4885, -4885, 30011, -4885, -4885, -4885, -4885, -4885, 30011,
-4885, 30011, 3980, -4885, 24435, 4133, 4133, 3672, 99786, 35203,
35203, 35203, 35203, 1702, 2673, 35203, 35203, 35203, 35203, 35203,
35203, 35203, 35203, 35203, 36141, 498, -4885, 3864, 30011, 30011,
3988, 3980, -4885, 99786, 3690, 3432, 3692, 3693, 30011, -4885,
-4885, 2074, 37064, 3695, 53474, -4885, 30011, 11622, 2085, 3718,
12693, 1735, 7195, 1044, 30011, 2504, 2614, 30011, 2091, 30011,
3989, -4885, -4885, -4885, 3686, -4885, -4885, 99786, 30011, 3697,
3148, 35203, 35203, 3821, -4885, 4153, 30011, 26707, -4885, 3495,
3717, 43465, -4885, 24908, 3698, 682, 682, 682, 682, -4885,
76679, 76679, 76679, 39350, 3990, 3699, 38435, 75769, 3701, 1729,
-4885, 75769, 76224, 75769, -4885, 3702, -4885, 1735, 30011, 3984,
3700, 3984, 344, 3710, -4885, -4885, -4885, 3711, -4885, 3706,
-4885, 3479, 1441, -4885, -4885, -4885, 3888, -4885, -4885, -4885,
-4885, 3701, 31427, 3841, -4885, -4885, -4885, 3751, 2097, -4885,
-4885, 4077, 3841, -4885, -4885, 2098, 43008, 3510, 30011, 1735,
2111, 1835, -4885, -4885, 96244, -4885, 3785, 2586, 2586, 1558,
3384, 4025, 1558, 7214, -4885, -4885, 39807, 76679, 76679, -4885,
76679, 2112, 1760, 76679, -4885, 76679, -4885, -4885, -4885, -4885,
4152, -4885, 76679, -4885, -4885, 3776, 3779, 76679, 76679, 76679,
76679, 3986, -4885, -4885, 2242, -4885, -4885, 57114, 76679, -4885,
-4885, -4885, 250, 3209, 2851, -4885, 3796, -4885, -4885, -4885,
3999, -4885, 4146, 3816, 76679, 4057, 76679, 3730, -4885, 1760,
3833, 4039, 1360, 2844, 382, 4862, -4885, 1378, -4885, -4885,
3802, -4885, -4885, 76679, -4885, 76679, -4885, -4885, -4885, -4885,
-4885, -4885, -4885, 3862, -4885, -4885, -4885, -4885, 53929, -4885,
-4885, 76679, -4885, 53474, 44382, 53474, -4885, 1195, 337, 3255,
2851, 76679, -4885, 3817, -4885, 3822, 3823, 3870, 1115, 239,
3825, 3831, 3872, 3741, 3753, 3754, -4885, 53474, 44850, 3898,
76679, 2586, 3750, 3790, -4885, 326, 1044, -4885, -4885, 1044,
2586, 1044, -4885, 76679, 76679, 76679, 53474, -4885, 4177, 3846,
76679, 76679, 76679, 76679, -4885, 3812, -4885, 76679, 76679, 4079,
985, 2027, 57114, 76679, 76679, 57114, 76679, 76679, 76679, 76679,
76679, 76679, 4087, 76679, -4885, 4166, 4094, 1986, 4134, 3837,
76679, -4885, 76679, 1044, 3127, 76679, 76679, -4885, -4885, -4885,
-4885, -4885, 3495, -4885, 3766, 4034, 946, -4885, 4035, 4038,
946, 946, 4040, 946, -4885, -4885, 1649, -4885, 260, 76679,
-4885, 3706, 439, 2019, -4885, -4885, -4885, -4885, -4885, -4885,
3317, -4885, -4885, 2299, 76679, -4885, -4885, -4885, 76679, 3780,
76679, 76679, 35203, -4885, 1690, 1369, 278, -4885, 4037, 76679,
3064, -4885, -4885, -4885, 219, 76679, -4885, -4885, -4885, -4885,
-4885, 67, 3610, -4885, 4059, 64394, 2586, 57114, 57114, 2586,
-4885, 99786, 3786, 3377, -4885, 232, 3860, 57114, 328, 1272,
95789, 3079, 3840, 3992, 38893, 1692, -4885, 3798, 3941, -4885,
3789, 3804, -4885, -4885, 76679, 3704, 56204, 2113, 2820, 4243,
1149, 1813, -4885, 65759, 3995, 3610, 4059, -4885, -4885, -4885,
4207, 3907, -4885, 2081, 76679, 3452, 3907, 1044, 76679, 3264,
-4885, 96244, 30011, 30011, -4885, 3819, -4885, 3832, 6424, -4885,
3889, 3827, -4885, -4885, -4885, -4885, -4885, 3901, 3834, 76679,
-4885, 3824, -4885, 3830, -4885, -4885, -4885, -4885, -4885, -4885,
76679, -4885, 76679, -4885, 272, -4885, 3947, -4885, 272, 76679,
76679, 76679, 76679, 76679, 76679, 3384, 314, -4885, 4138, 56659,
-4885, -4885, 2117, 76679, -4885, -4885, -4885, 4204, 352, 4147,
-4885, -4885, 1070, 1070, 1070, 4102, 1070, 1070, 1070, 1070,
1070, -4885, 30011, 12966, -4885, 3847, -4885, 12966, 7353, 12966,
3988, -4885, 2157, 30011, -4885, 3297, 3297, 3297, 3287, 4149,
-4885, 1639, 3850, 3297, 3297, 3297, 398, 398, 246, 246,
246, 4133, 498, 12966, 12966, -4885, -4885, 3848, -4885, -4885,
-4885, 3432, -4885, 31899, 3997, 4261, -4885, -4885, -4885, 3880,
3882, 3851, -4885, 30011, 32371, 3853,100668, 4046, -4885, 390,
30011, 30011, 1925, -4885, 13328, 30011, 99786, 2158, 1925, 479,
30011, 2712, 3122, 30011, 30011, 4361, 7720, 3854, 30011, 96685,
-4885, -4885, -4885, 2166, 30011, 76679, 76679, 76679, 76679, -4885,
-4885, -4885, 75769, 76224, 75769, 3858, 37521, 25366, 1729, 3859,
76679, -4885, -4885, 3863, 38893, 4104, 4042, -4885, 38893, 4042,
1869, 4042, 4116, 3948, 43922, -4885, -4885, 3865, -4885, 4062,
-4885, 1809, 12966, 4283, 4167, 1044, 4167, 1044, -4885, 47130,
-4885, -4885, -4885, -4885, 4080, 12966, 28123, -4885, 2081, 2119,
76679, 1735, 74, -4885, 3883, 76679, -4885, 3841, 12966, -4885,
3940, 2167, -4885, -4885, -4885, -4885, -4885, -4885, -4885, 3953,
66214, 4186, -4885, 30011, 2172, -4885, 3914, 4278, 377, 2173,
2174, 1760, -4885, 4164, -4885, 1547, 4161, 472, -4885, 272,
-4885, 99786, -4885, 76679, 76679, -4885, -4885, -4885, -4885, 76679,
2763, -4885, -4885, 76679, 76679, 76679, 76679, -4885, 57114, 76679,
-4885, 76679, -4885, 53474, 2355, 326, 1690, 4174, 4098, -4885,
314, -4885, 1690, 4101, 326, 76679, -4885, -4885, 2589, -4885,
99786, 272, 272, -4885, -4885, -4885, -4885, -4885, 3900, 4305,
3975, 76679, 76679, 76679, -4885, 76679, 57114, 76679, 76679, 2268,
2268, 99786, 3886, -4885, 2268, 2268, 3887, -4885, 57114, 76679,
76679, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
-4885, -4885, 3971, -4885, 30011, 4301, -4885, -4885, -4885, -4885,
-4885, -4885, -4885, -4885, -4885, 57114, 76679, 3978, -4885, 3979,
-4885, 145, -4885, -4885, 76679, 76679, 76679, 76679, 4229, -4885,
-4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, 76679,
-4885, 76679, -4885, -4885, 1044, 1044, 99786, 272, 272, -4885,
-4885, -4885, -4885, 3904, 4171, 946, -4885, 946, 946, -4885,
-4885, 946, -4885, 3902, 481, -4885, 1760, 1481, 4216, -4885,
4219, 30011, -4885, 1597, 3287, -4885, 4271, 4352, -4885, -4885,
-4885, -4885, 3064, 1820, 3970, -4885, -4885, 61209, 346, -4885,
4202, 761, 4126, 64394, 1361, 292, 3921, 4043, -4885, 2586,
2586, 3973, 76679, 4358, -4885, -4885, -4885, -4885, -4885, -4885,
57114, 3579, -4885, 4143, 1152, 4242, 76679, 30011, 3701, -4885,
1640, 4245, -4885, 1044, -4885, -4885, 4051, 3377, -4885, 1704,
76679, 4142, 64394, 3452, 2179, -4885, -4885, -4885, 3981, 4354,
2159, -4885, 1361, 3995, 251, 76679, -4885, 3982, 4375, -4885,
-4885, 4249, 4144, 3943, -4885, 12966, 12966, 1044,101109, 6424,
99786, 4256, 76679, 173, 4225, 272, -4885, 272, 272, -4885,
76679, -4885, 3384, 3384, 3384, 3384, 3384, -4885, 4150, -4885,
-4885, 4208, -4885, 272, 56659, -4885, -4885, -4885, -4885, -4885,
1070, -4885, -4885, -4885, -4885, -4885, 12966, -4885, -4885, -4885,
-4885, 8016, 35203, 4262, -4885, 3957, 99786, -4885, 3958, 2180,
2192, 36607, 4111, -4885, -4885, -4885, 8036, 4006, 12966, 4065,
3960, 3961, 1925, 1925, 13328, 2196, -4885, 1925, 30011, 30011,
1925, 1925, 30011, -4885, -4885, 8099, 4151, -4885, -4885, 8664,
-4885, -4885, -4885, -4885, -4885, -4885, -4885, 54384, 3967, 3630,
75769, 3968, 76679, 1729, 38893, -4885, -4885, 984, -4885, 38893,
4226, -4885, 38893, 61209, -4885, 76679, 3972, 76679, -4885, 32843,
30011, 4007, -4885, 4007, -4885, 3974, 76679, 2719, -4885, 60,
-4885, -4885, 4366, 39807, 4318, 30011, -4885, -4885, -4885, -4885,
56659, 4183, 56659, 1760, 8763, 4164, 39807, 48042, 76679, 76679,
76679, 4136, 4164, 3994, 3064, -4885, -4885, -4885, -4885, -4885,
-4885, 3985, -4885, -4885, -4885, -4885, 4063, -4885, -4885, 813,
3319, -4885, 2198, -4885, -4885, 4419, 4311, -4885, -4885, -4885,
-4885, -4885, -4885, 4166, -4885, -4885, 44382, 57114, 76679, -4885,
4067, -4885, -4885, -4885, -4885, -4885, 41636, 47130, -4885, 1115,
3996, 3998, 239, -4885, -4885, -4885, 76679, 9410, 4000, 826,
3319, 76679, 76679, 4005, 4010, 4011, 1684, 39, 1777, 3384,
4306, -4885, -4885, -4885, -4885, 4166, -4885, -4885, -4885, 946,
-4885, -4885, -4885, -4885, 53474, -4885, 3109, -4885, 1649, 4344,
61209, 4431, 4431, 76679, -4885, 9781, 4210, -4885, -4885, 4291,
3970, 4237, 4287, -4885, 4013, 76679, 219, 4014, 76679, 4016,
4127, 1031, 1031, 76679, 76679, 76679, 2211, 2081, 2586, 3790,
328, 4335, 64394, 4384, 3704, 429, -4885, -4885, 1640, -4885,
81, 4360, 4064, -4885, 76679, 4459, 76679, 3452, 3610, 76679,
4021, -4885, -4885, 65759, 4232, 2355,101550, 3820, 3995, 2159,
4158, -4885, 4159, -4885, 1047, -4885, 2081, 76679, 70764, 39807,
-4885,100227, -4885, 2217, -4885, -4885, 4097, 3506, 4139, 4140,
4036, 76679, 106, -4885, -4885, -4885, -4885, -4885, 76679, -4885,
483, -4885, -4885, 3337, 35203, 99786, 2230, 30011, -4885, 30011,
-4885, 4456, -4885, -4885, -4885, 107, -4885, -4885, -4885, 1925,
1925, 1925, -4885, 4457, 3495, -4885, -4885, 2237, 4480, 34259,
4443, -4885, 76679, 2241, -4885, 30011, 4048, -4885, -4885, 38893,
984, 4052, 2255, 76679, 2256, 99786, 4058, 28, 4066, 23489,
4047, -4885, -4885, -4885, -4885, -4885, 12966, 12966, 76679, -4885,
-4885, -4885, -4885, 4105, 76679, 2262, -4885, 105, 12966, 1701,
1558, 483, 4278, 3064, -4885, 4068, -4885, -4885, -4885, 917,
917, 76679, 3064, 76679, 3970, -4885, 76679, 4148, -4885, -4885,
53474, 4340, -4885, 4115, -4885, 945, 3319, 76679, 99786, -4885,
128, 4378, -4885, 99786, 99786, -4885, -4885, -4885, 30011, 4155,
-4885, -4885, -4885, 312, 329, 63484, -4885, -4885, 76679, 76679,
76679, 76679, 76679, 272, -4885, 2276, -4885, 40721, -4885, -4885,
2933, 1044, 2933, 1422, -4885, -4885, 2933, -4885, 2933, -4885,
3902, 1044, 4431, 936, -4885, -4885, -4885, 2017, 4292, 4072,
-4885, 895, 4286, 4170, 4083, -4885, 61209, 4542, 3610, 4059,
76679, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
-4885, 2287, 3704, 4407, 3377, 3982, -4885, 76679, 4119, -4885,
38893, -4885, -4885, -4885, 2933, -4885, 1440, 4089, 4421, 3704,
2081, 1813, -4885, 3995, 3610, 4059, -4885, -4885, -4885, 4090,
-4885, 3907, 2159, 3820, -4885, -4885, 4501, 4303, 4507, 3452,
-4885, 3264, 2289, -4885, 6424,101109, 99786, 4449, 4156, 4157,
-4885, -4885, 4162, 76679, -4885, -4885, 3704, -4885, 3337, 2294,
-4885, 2295, 2302, 4267, 4154, -4885, 30011, 944, 3702, 54384,
4112, -4885, 35203, 2303, -4885, 3241, 76679, 2320, -4885, 12966,
76679, -4885, -4885, 30011, -4885, 2326, -4885, 30011, 4113, 30011,
-4885, 32843, 4110, -4885, 4554, 2081, -4885, 3506, 39807, -4885,
4234, -4885, 4429, -4885, 76679, 3970, 47130, 3479, 3479, 1820,
3970, 2333, -4885, -4885, 76679, -4885, 4072, 30011, -4885, 4211,
-4885, -4885, 2350, 1275, 4282, 4282, 2357, 2361, 9884, 76679,
-4885, -4885, -4885, -4885, -4885, -4885, 2367, -4885, -4885, -4885,
-4885, 2368, -4885, 2372, 2268, 3389, 1777, 3389, -4885, 3384,
-4885, -4885, 53474, -4885, 54839, -4885, -4885, -4885, 1044, -4885,
1044, 4343, 76679, 49407, 1044, 1044, -4885, -4885, -4885, -4885,
-4885, 4472, 4412, -4885, 2820, -4885, -4885, -4885, -4885, 487,
-4885, 4338, 4339, 76679, -4885, 4135, -4885, 2373, 1361, 4257,
3704, -4885, -4885, 76679, 4577, 4578, -4885, 1268, 76679, 3701,
76679, -4885, -4885, -4885, 30011, 219, -4885, 3982, 3452, 2159,
1361, 3995, 2355, 40264, -4885, 3820, 3907, 4342, -4885, 4345,
-4885, 4160, 4428, 6424, -4885, -4885, 330, 4460, 4461, -4885,
-4885, -4885, -4885, -4885, -4885, -4885, -4885, 3432, 33315, 33315,
33315, 4173, -4885, -4885, 76679, 3287, 4163, 34259, 53474, 2379,
-4885, 98463, -4885, 2383, 2392, -4885, 2413, 32843, 2425, -4885,
76679, 4165, -4885, -4885, -4885, 43008, 56659, 917, 4190, 4175,
-4885, -4885, 4237, -4885, -4885, 1760, 3319, -4885, 12966, 76679,
61209, 4575, -4885, -4885, -4885, -4885, -4885, -4885, -4885, 3319,
4235, 312, -4885, 329, -4885, 63484, -4885, 76679, -4885, -4885,
2436, -4885, -4885, -4885, 76679, 3798, -4885, 3798, -4885, -4885,
4290, -4885, 987, 874, 874, 4514, -4885, 4217, -4885, -4885,
4176, -4885, 4630, 4289, 76679, -4885, -4885, 1115, 2081, 64394,
3704, -4885, -4885, 9963, 61209, -4885, -4885, 3820, 3995, 2159,
30011, 2438, -4885, 4278, 377, 3907, -4885, -4885, -4885, 39807,
4172, 3377, -4885, -4885, 2978, 61209, 61209, 34731, 4297, 1010,
11808, 4503, -4885, 4503, 4503, -4885, 2444, 36607, -4885, -4885,
-4885, 76679, 4373, 1134, -4885, 4329, -4885, 2453, -4885, -4885,
-4885, 1391, 483, 3479, 4180, -4885, -4885, 4286, 1760, -4885,
3319, -4885, 76679, -4885, 4184, -4885, -4885, -4885, -4885, -4885,
54839, 3798, 4064, -4885, -4885, 4636, -4885, 1138, -4885, -4885,
-4885, -4885, 76679, 3704, 3886, 3982, -4885, -4885, 4187, 3907,
2159, 3820, 10457, -4885, 40264, 76679, 76679, -4885, 2457, 39807,
3907, -4885, 2628, -4885, -4885, -4885, -4885, -4885, -4885, -4885,
4182, 4185, 4632, -4885, -4885, -4885, -4885, -4885, 1123, -4885,
-4885, -4885, -4885, 3630, -4885, -4885, 35203, 35203, 4409, -4885,
1134, -4885, 4196, -4885, -4885, -4885, -4885, -4885, 30011, 1760,
-4885, -4885, -4885, 312, -4885, 4527, -4885, -4885, -4885, 3704,
-4885, -4885, 53019, -4885, 3820, 3907, 4278, -4885, -4885, -4885,
4428, -4885, 2458, 3506, 2142, -4885, -4885, 2335, 2184, 4288,
4510, 33787, 4347, -4885, 4400, -4885, 4606, 3287, 3287, -4885,
-4885, 30011, 10550, 1760, 2470, 219, -4885, -4885, 2475, -4885,
-4885, -4885, -4885, 3907, -4885, 76679, 3377, -4885, 39807, -4885,
-4885, 2628, 4315, 4317, -4885, -4885, -4885, 76679, 10920, -4885,
-4885, 61209, -4885, 53019, -4885, -4885, 3907, -4885, -4885, 4251,
4252, 2476, -4885, 4220, -4885, 3506, 4525, 4526, -4885, 53019,
-4885, 61209, 61209, 2477, -4885, -4885, -4885
};
/* 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[] =
{
1672, 1447, 632, 1533, 1532, 1447, 0, 255, 0, 1537,
0, 1447, 426, 1125, 0, 0, 0, 0, 632, 1447,
0, 1672, 0, 0, 0, 0, 0, 1685, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1447, 0, 0,
1692, 0, 0, 0, 0, 1685, 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,
1645, 1644, 1694, 1648, 1671, 0, 1660, 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, 2274, 2289, 2290,
2291, 2292, 2293, 2294, 2295, 2296, 2297, 2298, 2299, 2300,
2301, 2302, 2303, 2304, 2629, 2305, 2306, 2307, 2579, 2580,
2630, 2581, 2582, 2308, 2309, 2310, 2311, 2312, 2313, 2314,
2315, 2583, 2584, 2316, 2317, 2318, 2319, 2320, 2585, 2631,
2321, 2322, 2323, 2324, 2325, 2632, 2326, 2327, 2328, 2329,
2330, 2331, 2332, 2333, 2334, 2633, 2335, 2336, 2337, 2634,
2338, 2339, 2340, 2341, 2342, 2343, 2586, 2587, 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, 2370, 2588, 2371, 2372, 2373, 2589,
2374, 2375, 2376, 2590, 2377, 2378, 2379, 2635, 2636, 2380,
2381, 2382, 2383, 2384, 2591, 2592, 2385, 2386, 2387, 2388,
2389, 2390, 2391, 2637, 2392, 2393, 2394, 2395, 2396, 2397,
2398, 2399, 2400, 2401, 2402, 2403, 2638, 2593, 2404, 2405,
2406, 2407, 2594, 2595, 2596, 2408, 2639, 2640, 2409, 2641,
2410, 2411, 2412, 2413, 2414, 2415, 2597, 2642, 2416, 2643,
2417, 2418, 2419, 2420, 2421, 2422, 2423, 2424, 2425, 2426,
2427, 2428, 2429, 2430, 2431, 2432, 2433, 2434, 2435, 2598,
2644, 2599, 2436, 2437, 2438, 2600, 2439, 2440, 2645, 2441,
2601, 2442, 2602, 2443, 2444, 2445, 2446, 2447, 2448, 2449,
2450, 2451, 2452, 2603, 2646, 2453, 2647, 2604, 2454, 2455,
2456, 2457, 2458, 2459, 2460, 2461, 2462, 2463, 2464, 2605,
2465, 2606, 2468, 2466, 2467, 2469, 2470, 2471, 2472, 2473,
2474, 2475, 2476, 2477, 2478, 2607, 2479, 2480, 2481, 2482,
2483, 2484, 2485, 2486, 2487, 2488, 2489, 2490, 2491, 2492,
2493, 2494, 2495, 2496, 2648, 2497, 2498, 2499, 2500, 2501,
2608, 2502, 2503, 2504, 2505, 2506, 2507, 2508, 2509, 2510,
2511, 2512, 2513, 2514, 2515, 2516, 2517, 2609, 2518, 2519,
2649, 2520, 2521, 2610, 2522, 2523, 2524, 2525, 2526, 2527,
2528, 2529, 2530, 2531, 2532, 2533, 2534, 2611, 2535, 2536,
2537, 2650, 2538, 2539, 2540, 2541, 2542, 2543, 2612, 2613,
2544, 2545, 2614, 2546, 2615, 2547, 2548, 2549, 2550, 2551,
2552, 2553, 2554, 2555, 2556, 2557, 2558, 2559, 2560, 2561,
2562, 2563, 2616, 2617, 2564, 2651, 2565, 2566, 2567, 2568,
2569, 2570, 2571, 2572, 2573, 2574, 2575, 2618, 2619, 2620,
2621, 2622, 2623, 2624, 2625, 2626, 2627, 2628, 2576, 2577,
2578, 130, 0, 0, 2248, 2275, 2276, 2279, 2274, 397,
396, 1635, 2242, 2275, 1536, 1514, 632, 0, 1434, 425,
1672, 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,
1584, 2466, 1582, 1636, 256, 259, 260, 257, 258, 2264,
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, 1581, 457, 1672, 0, 1558,
1559, 1560, 1537, 1549, 1561, 1554, 1556, 1555, 1557, 1553,
2263, 2290, 1028, 1028, 1028, 1028, 1025, 1026, 1028, 1028,
1028, 2486, 0, 0, 1007, 0, 1009, 2265, 1028, 1033,
518, 518, 518, 0, 1032, 1037, 518, 0, 1428, 1466,
2247, 1684, 0, 1008, 1427, 2544, 1572, 0, 0, 1254,
1250, 1252, 1253, 1251, 0, 0, 0, 2504, 1439, 240,
2515, 2612, 2544, 239, 234, 235, 208, 2294, 0, 0,
1032, 0, 1436, 1437, 990, 1691, 1689, 0, 2229, 2314,
2329, 2419, 231, 2497, 2505, 2515, 2612, 2544, 2575, 187,
197, 192, 0, 249, 2515, 2612, 2544, 245, 1457, 0,
1661, 1793, 2238, 0, 1430, 1429, 1538, 0, 1541, 0,
2481, 1665, 1668, 1543, 1666, 1657, 0, 0, 1, 1672,
0, 1548, 1688, 1688, 0, 1688, 0, 1649, 1657, 1652,
1656, 0, 0, 0, 0, 0, 0, 0, 923, 0,
1469, 2243, 1078, 0, 0, 0, 0, 0, 0, 0,
1134, 1133, 2280, 2270, 2271, 0, 2268, 2269, 2281, 2282,
2283, 0, 2391, 0, 0, 0, 2140, 2151, 2152, 2153,
2318, 2374, 2148, 2149, 2150, 2142, 2143, 2144, 2145, 2146,
2147, 0, 0, 1221, 2141, 0, 2391, 0, 0, 0,
157, 0, 134, 0, 0, 0, 2391, 0, 0, 0,
0, 0, 0, 0, 2391, 0, 0, 0, 0, 0,
157, 2424, 0, 134, 2391, 0, 0, 1451, 0, 0,
0, 1453, 1456, 1432, 0, 2221, 0, 2222, 2249, 1517,
0, 2238, 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, 2391, 0, 0, 134, 1502, 0, 2391, 134, 0,
0, 455, 454, 134, 2268, 453, 452, 2318, 2374, 0,
1124, 0, 1386, 134, 2391, 0, 180, 2391, 706, 2391,
1543, 0, 635, 0, 0, 819, 2424, 134, 0, 0,
0, 0, 0, 0, 1096, 0, 0, 0, 0, 619,
632, 1585, 1583, 0, 1230, 233, 232, 1228, 911, 2391,
1166, 346, 346, 0, 0, 2391, 1488, 2277, 1868, 1897,
1875, 1897, 1897, 1864, 1864, 2358, 1877, 2391, 1865, 1866,
1902, 0, 1897, 1864, 1869, 0, 1867, 1905, 1905, 1892,
346, 927, 1849, 1850, 1851, 1852, 1878, 1879, 1853, 1884,
1885, 1889, 1854, 1919, 1864, 2278, 912, 0, 903, 2391,
346, 1130, 2391, 2272, 167, 0, 901, 2318, 2374, 2391,
346, 1223, 0, 2391, 346, 2391, 163, 2391, 346, 2391,
346, 2391, 636, 0, 0, 2391, 346, 2391, 2424, 165,
0, 2391, 346, 921, 2391, 346, 2240, 2391, 0, 0,
1577, 0, 1551, 2616, 1566, 0, 1562, 1569, 1565, 1672,
1028, 1027, 0, 1028, 0, 1028, 0, 1028, 0, 1028,
0, 0, 0, 1028, 2266, 2267, 1010, 0, 1034, 0,
0, 1041, 1040, 1039, 0, 0, 0, 1042, 0, 1797,
1612, 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, 2251, 2253, 2254,
2154, 2224, 0, 2580, 2581, 2582, 2213, 0, 2583, 2584,
2585, 2631, 2050, 2037, 2046, 2051, 2038, 2040, 2047, 2586,
2587, 1985, 2588, 2589, 2261, 2590, 2591, 2592, 2594, 2595,
2596, 2597, 2042, 2044, 2598, 2599, 0, 2262, 2601, 2602,
2448, 2604, 2605, 2607, 2608, 2048, 2610, 2611, 2612, 2613,
2614, 2615, 2260, 0, 2049, 2617, 2619, 2620, 2621, 2622,
2624, 2625, 2626, 2627, 0, 0, 0, 2235, 0, 2017,
0, 1857, 1858, 1880, 1881, 1859, 1886, 1887, 1860, 0,
2234, 1922, 2099, 2016, 2033, 0, 2022, 2023, 0, 2015,
2011, 1674, 2230, 0, 2012, 2250, 2252, 2214, 1674, 2228,
200, 251, 0, 252, 2236, 2515, 188, 230, 202, 229,
203, 201, 0, 2316, 189, 0, 0, 190, 0, 0,
0, 0, 248, 246, 0, 1433, 0, 1795, 1794, 2239,
932, 1526, 1524, 1525, 1523, 0, 1520, 1522, 1540, 1537,
2164, 0, 1667, 0, 0, 0, 1647, 1646, 3, 1531,
0, 1529, 1545, 1547, 1527, 1543, 1686, 1687, 0, 0,
0, 0, 0, 0, 0, 0, 1742, 1702, 1703, 1705,
1739, 1743, 1751, 0, 1653, 0, 0, 1799, 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, 2391, 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, 2391, 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, 2025, 0, 2168, 1694, 2166, 1150, 2220, 0, 2284,
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, 2728, 2217, 2216, 2245,
2285, 2286, 2287, 2288, 2223, 0, 1513, 0, 966, 0,
0, 0, 0, 968, 0, 961, 0, 0, 958, 2318,
2374, 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, 2391, 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, 2391, 590, 2391, 0, 518, 518, 0, 0, 1095,
1098, 0, 0, 0, 0, 0, 1639, 1641, 1640, 0,
1638, 0, 344, 345, 0, 1213, 814, 1238, 0, 0,
1896, 1883, 1891, 1890, 0, 1873, 1872, 1871, 0, 1870,
0, 1897, 1897, 1895, 1874, 1849, 0, 0, 0, 1901,
0, 1899, 0, 894, 1845, 1841, 0, 1908, 1909, 1910,
1907, 1920, 1906, 0, 1855, 1911, 1864, 1861, 914, 0,
0, 1207, 0, 0, 2391, 346, 2391, 0, 2391, 0,
0, 0, 1215, 346, 0, 1209, 0, 0, 1211, 0,
1403, 0, 910, 908, 907, 909, 0, 0, 892, 0,
0, 0, 2391, 346, 0, 0, 887, 0, 0, 889,
0, 0, 0, 0, 1672, 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, 2341, 2357, 0, 2380, 2412, 2413,
2472, 2500, 2505, 2511, 0, 2538, 2549, 0, 1043, 1073,
1038, 724, 0, 0, 1622, 1426, 2171, 0, 1672, 0,
0, 0, 0, 237, 209, 0, 0, 0, 1075, 2504,
1441, 989, 632, 0, 2013, 0, 2020, 2021, 2212, 0,
0, 0, 0, 0, 0, 2019, 2179, 0, 0, 0,
0, 0, 1945, 0, 0, 0, 2192, 0, 2198, 0,
0, 1982, 0, 0, 0, 0, 0, 0, 0, 0,
1946, 1926, 1927, 2017, 2164, 0, 2018, 2257, 0, 1919,
2233, 2154, 0, 2151, 2152, 2153, 0, 0, 0, 2227,
0, 2162, 0, 0, 1960, 2160, 1962, 0, 0, 0,
0, 2148, 2149, 2150, 2142, 2143, 2144, 2145, 2146, 2147,
2158, 1942, 0, 0, 2101, 0, 1941, 0, 0, 1755,
0, 2255, 2215, 1755, 253, 254, 250, 0, 0, 205,
204, 0, 223, 227, 228, 199, 226, 0, 222, 207,
2090, 2089, 206, 198, 195, 193, 210, 212, 213, 196,
194, 247, 0, 0, 0, 346, 1548, 0, 1535, 1752,
0, 1669, 0, 0, 1548, 0, 0, 1544, 1664, 1663,
1695, 1696, 1116, 1662, 1722, 1723, 0, 0, 0, 0,
1748, 1746, 1713, 1706, 1712, 0, 0, 1710, 0, 1714,
1922, 1741, 1651, 1700, 1701, 1704, 1650, 0, 1744, 0,
1625, 1742, 1705, 1609, 0, 1587, 0, 1800, 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,
2538, 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, 2505, 2515, 2544,
243, 1205, 0, 1204, 1200, 1127, 0, 1128, 0, 0,
0, 0, 0, 2367, 2391, 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, 2505, 1201, 0, 0,
0, 0, 0, 1389, 0, 0, 160, 0, 155, 159,
0, 0, 0, 2505, 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, 1694, 1694, 1694, 2031, 0, 0,
0, 0, 1693, 2218, 2221, 1516, 2246, 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, 2277, 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,
1820, 0, 0, 154, 0, 0, 585, 589, 0, 0,
0, 0, 459, 561, 357, 2391, 0, 518, 0, 2391,
0, 1097, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1637, 346, 1167, 0, 1489, 0, 0, 0, 346,
1894, 1893, 1846, 1842, 0, 0, 0, 0, 928, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1862, 346,
1131, 168, 2273, 0, 896, 0, 0, 0, 0, 346,
1224, 884, 346, 164, 346, 346, 637, 0, 346, 166,
0, 0, 0, 629, 346, 922, 346, 2241, 0, 346,
1580, 2391, 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, 1619, 0, 1617, 0, 1798, 1621, 1610, 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, 2225, 2175,
0, 2176, 0, 0, 2211, 2207, 0, 0, 0, 0,
0, 2180, 2183, 2184, 2185, 2182, 2186, 2181, 0, 0,
2187, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2608, 0, 0, 0, 0, 1986, 0, 0, 2135, 0,
2164, 2197, 0, 0, 0, 0, 0, 0, 2164, 2203,
0, 0, 0, 0, 2088, 0, 2085, 0, 0, 0,
0, 2224, 0, 0, 2258, 1923, 1937, 1938, 1939, 1943,
2232, 0, 2226, 0, 0, 1924, 1951, 0, 2204, 1978,
0, 1983, 1966, 0, 1959, 0, 1964, 1968, 1947, 0,
1944, 0, 2227, 2163, 0, 2161, 0, 1934, 1935, 1936,
1928, 1929, 1930, 1931, 1932, 1933, 1940, 2139, 2137, 2138,
0, 0, 0, 2109, 0, 0, 1963, 2383, 2419, 0,
1685, 1685, 1685, 1673, 1683, 2231, 0, 1815, 1694, 1815,
2237, 0, 0, 1919, 0, 1796, 930, 931, 929, 1519,
1521, 1534, 1548, 2165, 1542, 1672, 1528, 1530, 1546, 0,
1114, 1115, 0, 1119, 2608, 2502, 0, 0, 0, 0,
1715, 1749, 0, 1740, 0, 2251, 1716, 2250, 1717, 1720,
1721, 1711, 1750, 1623, 0, 1745, 1655, 1654, 0, 1818,
0, 0, 0, 1601, 1589, 0, 1801, 0, 1755, 1627,
0, 2224, 1753, 1360, 1260, 1323, 1148, 0, 1864, 1159,
0, 1143, 0, 1142, 1864, 0, 1160, 0, 1864, 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, 2391, 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, 2318, 2374, 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, 2391, 287, 0, 690,
793, 0, 1316, 284, 312, 0, 0, 327, 322, 323,
321, 2391, 346, 2391, 346, 0, 0, 0, 0, 0,
324, 319, 320, 316, 0, 0, 329, 2293, 2359, 2516,
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, 2244,
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, 2391, 346, 1374, 0,
1311, 0, 1349, 0, 391, 0, 1304, 0, 0, 275,
1284, 1343, 0, 0, 215, 214, 216, 0, 0, 0,
0, 2169, 2170, 0, 2167, 2026, 2220, 0, 979, 937,
978, 0, 2357, 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, 1819, 1821, 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, 1642, 1643, 0, 1214, 0, 0, 1863, 1876, 895,
0, 1904, 1903, 1905, 1905, 0, 1847, 0, 1888, 1913,
1914, 1915, 1916, 1917, 1918, 0, 1912, 1856, 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, 1620, 1613,
1615, 1614, 0, 0, 1611, 2172, 885, 0, 584, 1248,
1249, 0, 0, 346, 0, 1070, 0, 0, 998, 992,
0, 0, 996, 0, 0, 0, 999, 0, 0, 1690,
2173, 2174, 0, 0, 0, 2208, 0, 0, 2063, 0,
2039, 2041, 2053, 0, 2064, 2024, 2065, 2043, 2045, 0,
2155, 0, 0, 2054, 0, 1988, 1989, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2004, 2003, 2055, 2134, 0, 0,
2195, 2196, 2056, 0, 0, 2202, 0, 0, 0, 2061,
2066, 0, 0, 0, 0, 2072, 0, 2093, 0, 0,
0, 2014, 2165, 0, 0, 0, 0, 0, 0, 0,
0, 1984, 1967, 1961, 0, 1965, 1969, 0, 0, 0,
1955, 0, 0, 1953, 1979, 1949, 0, 0, 1980, 0,
0, 0, 2032, 0, 0, 1685, 1685, 1685, 1685, 1682,
0, 0, 0, 0, 2502, 2628, 0, 1779, 1754, 1756,
1766, 1779, 1784, 1779, 2034, 1813, 2035, 2238, 0, 1725,
0, 1725, 191, 0, 224, 211, 1518, 0, 1697, 0,
2156, 1119, 0, 1699, 1719, 1718, 0, 1709, 1747, 1707,
1624, 1608, 0, 1606, 1593, 1595, 1594, 0, 0, 1596,
2224, 0, 1606, 1588, 1632, 0, 0, 1818, 0, 1631,
0, 1864, 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, 2029,
2030, 2027, 1694, 2219, 0, 0, 0, 950, 0, 0,
0, 0, 0, 0, 405, 406, 134, 404, 0, 0,
841, 2448, 2142, 2143, 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, 1581, 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,
1634, 0, 1882, 0, 1900, 1898, 1843, 1848, 1921, 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, 1618, 1616, 576, 0, 1075, 0,
1030, 1074, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2177, 0, 2210, 2206, 0, 2036, 2178, 0, 2190,
2189, 2135, 0, 0, 1987, 1999, 2000, 2001, 2191, 0,
2009, 0, 0, 1996, 1997, 1998, 1990, 1991, 1992, 1993,
1994, 1995, 2002, 2200, 2199, 2193, 2194, 0, 2058, 2059,
2060, 2201, 2067, 0, 2308, 2094, 2071, 2087, 2086, 0,
0, 0, 2074, 0, 0, 2083, 0, 2136, 2259, 1925,
0, 0, 1952, 2205, 1970, 0, 0, 0, 1948, 2155,
0, 0, 0, 0, 0, 1957, 0, 0, 0, 2112,
2107, 2108, 2132, 0, 0, 0, 0, 0, 0, 1676,
1675, 1681, 1779, 1784, 1779, 0, 0, 1657, 0, 1766,
0, 1778, 1764, 1777, 0, 0, 1790, 1788, 0, 1790,
0, 1790, 0, 1758, 0, 1780, 1760, 1777, 1762, 0,
1805, 2239, 1814, 0, 1738, 2026, 1738, 0, 1670, 0,
1698, 1117, 1118, 1708, 2337, 1816, 0, 1607, 0, 0,
0, 1598, 1604, 1586, 0, 0, 1628, 1606, 1629, 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, 1823, 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, 2391, 0, 0, 0, 0, 571, 1393,
0, 775, 821, 0, 1822, 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, 1844, 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, 2209, 2052, 2062, 2188,
2134, 2165, 0, 0, 2010, 0, 0, 2057, 2618, 0,
0, 0, 0, 2091, 2092, 2073, 0, 2438, 2078, 0,
0, 0, 1976, 1974, 1971, 0, 1972, 1956, 0, 0,
1954, 1950, 0, 1981, 2098, 0, 2114, 2111, 2131, 2165,
1680, 1679, 1678, 1677, 1765, 1761, 1763, 0, 2623, 0,
1768, 1775, 0, 1757, 0, 1789, 1785, 0, 1786, 0,
0, 1787, 0, 0, 1759, 0, 1775, 0, 1812, 0,
0, 2103, 2256, 2103, 225, 0, 0, 1605, 1590, 0,
1591, 1597, 0, 0, 0, 0, 1633, 1626, 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,
1622, 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,
1622, 0, 0, 0, 0, 0, 0, 0, 0, 1508,
0, 1320, 347, 852, 851, 348, 393, 1312, 2028, 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, 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, 1815, 0, 0,
0, 0, 628, 1237, 881, 883, 730, 1067, 0, 1071,
346, 986, 2136, 2005, 0, 0, 0, 0, 2068, 0,
2069, 2096, 2095, 2075, 2079, 0, 2076, 2077, 1973, 1977,
1975, 1958, 2100, 0, 1694, 2133, 1808, 0, 1811, 0,
0, 1767, 0, 0, 1769, 0, 0, 1771, 1773, 0,
0, 0, 0, 0, 0, 2242, 2336, 2592, 2499, 0,
1724, 1726, 1729, 1731, 1730, 1732, 1728, 1737, 0, 1659,
1658, 2157, 1817, 0, 0, 0, 1101, 0, 1630, 1068,
0, 346, 1111, 1196, 529, 2448, 530, 1110, 1112, 1116,
1116, 0, 1196, 0, 569, 652, 0, 0, 270, 689,
0, 0, 300, 350, 362, 0, 1622, 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, 1581, 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, 2006, 0,
2007, 0, 0, 0, 2081, 2080, 0, 2118, 1813, 0,
0, 1807, 0, 0, 1837, 0, 0, 0, 1776, 1792,
0, 1772, 1770, 0, 1781, 0, 1783, 0, 0, 0,
1733, 0, 2102, 2104, 0, 0, 1603, 1815, 0, 1600,
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, 578, 561,
0, 549, 473, 0, 446, 565, 567, 0, 1462, 0,
580, 0, 1107, 1121, 1199, 1194, 1424, 0, 0, 626,
625, 720, 2008, 2084, 2070, 2097, 2082, 2113, 0, 0,
0, 0, 1806, 1809, 0, 1840, 0, 0, 0, 0,
1826, 0, 1774, 0, 0, 1782, 0, 0, 0, 1727,
0, 0, 1592, 1602, 1102, 0, 0, 1116, 533, 0,
1104, 1103, 527, 793, 522, 509, 1622, 297, 349, 0,
0, 0, 868, 871, 859, 860, 879, 878, 736, 1622,
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, 1579, 565, 549, 561,
0, 0, 553, 1111, 1111, 567, 444, 1463, 1464, 0,
0, 357, 1423, 1422, 1672, 0, 0, 2579, 2337, 2551,
0, 2130, 2119, 2130, 2130, 2110, 0, 0, 1838, 1839,
1824, 0, 0, 1828, 1791, 1804, 1735, 0, 1734, 2105,
2106, 1815, 346, 1119, 0, 793, 531, 538, 511, 271,
1622, 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, 1672, 1405, 1407, 1415, 1412, 1414, 1413, 1411,
1243, 1244, 0, 2123, 2122, 2121, 2125, 2124, 0, 2117,
2115, 2116, 1810, 0, 1827, 1830, 0, 0, 0, 1836,
1829, 1831, 0, 1802, 1736, 1599, 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, 1815, 0, 1416, 1410, 1657, 1644, 0,
0, 0, 0, 2127, 0, 2128, 0, 1833, 1834, 1835,
1832, 0, 0, 514, 0, 0, 717, 788, 0, 784,
787, 789, 790, 567, 445, 1113, 357, 1106, 0, 1091,
1408, 1672, 0, 0, 2120, 2126, 2129, 0, 0, 532,
372, 0, 752, 0, 449, 557, 567, 1109, 1409, 0,
0, 0, 1803, 0, 785, 1815, 0, 0, 1825, 786,
1092, 0, 0, 0, 1241, 1242, 753
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
-4885, -4885, -4885, 3867, -4885, -4885, -897, -4, 3105, -996,
-4885, -4885, -4885, 1424, -4885, -4885, -4885, -4885, 3852, -4885,
2193, -2428, -4885, -4885, 141, 3792, -1286, 123, 3367, 1847,
-4885, -1141, -4885, -4885, -558, 112, -4885, 3791, 541, -4885,
-4885, -4885, -4885, -4885, -4885, -4885, -4885, -632, 2314, -4885,
2394, 1674, 6665, -3529, -4885, -4885, -1374, -3202, -4885, 991,
-4885, 1011, -4177, -496, -4885, -4586, -4885, -668, -485, -4885,
-4885, 2305, -4885, -4885, -4885, 1473, 891, -156, -4885, -4885,
-4885, -4885, -4885, -4885, -4885, -337, -4885, -4885, -580, 169,
44, -2447, -3719, -4885, -4885, 856, 29, -1416, -4885, -3567,
-4885, 400, -2226, -4885, -4885, -4885, 64, -1384, 1785, -4885,
-699, -1111, 2099, -4111, -442, -4885, 198, -4885, -552, -344,
-341, -473, -3759, -4242, -4885, -4885, -4885, -581, -4249, -4493,
-3802, -3644, 1802, -4885, 174, -3107, -3231, 176, 833, -4885,
178, 179, -4885, 848, -268, -903, -1535, -4885, -740, -4885,
-4885, -4885, -2907, -4885, -4885, -4885, -4885, 77, -4885, -4885,
-4885, -4885, 894, -4885, -4885, -4885, -4885, -4885, -4885, -2706,
2272, 2273, -4885, -3143, -4885, -881, -4885, 1043, -2948, 1708,
-4885, -4885, 1467, 3868, 876, -4885, -4885, -4885, -4885, -4885,
-4885, -4885, -1720, -4885, -4885, -4885, -4885, 397, 91, -4885,
-4885, -4885, -4885, -4885, -4885, 190, -4885, 2285, 1465, -4885,
-4885, 87, -4885, -4885, -4885, -4885, -4885, -4885, -533, -4478,
-691, -673, -4885, -2954, -4885, -4885, -4885, 116, -4885, -4885,
-4885, -4885, -4885, -4885, -922, -4885, 1529, -3135, -4885, -4885,
1538, -4885, -4885, -4885, -4885, -4885, -450, 180, 3034, -4885,
-53, -244, -4885, -4885, -4885, 181, -4885, -4885, -4885, -4885,
-4885, -4885, -4885, -4885, -1074, 11814, -815, -571, -4885, -4885,
-4885, -4885, -4885, -2314, -4885, -4885, -4885, -4885, -3652, -4885,
4766, 2048, -255, 191, -4885, -23, 56, 3619, -1126, -2622,
817, -12, -4885, -4885, -4885, -2561, -4885, -4885, -4885, -4885,
-3497, 192, -4885, 3611, -4885, -3777, -4504, -3561, -601, -4885,
-4040, -4418, -4509, -3500, -4885, -4885, -4885, -4885, -541, -155,
2998, -4885, -1408, 2639, -856, -4885, -2068, 871, 1877, 3828,
-2704, -137, 2994, -2505, -634, -3261, -4885, -4885, -2315, -149,
-4885, -4885, 1395, -1070, -4885, -4885, -4885, -4885, -622, 2937,
-202, -4885, -4885, 4179, -4885, -4315, -4885, 4114, -4885, -4885,
-4885, -4885, 2849, 2850, -4885, 2852, -4885, -4885, -1364, 1627,
-4885, -4885, -4885, -4885, 1066, -4885, -4885, -4885, -4885, -4885,
-4885, -4885, 1519, 1054, -4885, -4885, -4885, -4885, -4885, -443,
-619, -4885, -4885, 197, -4885, -4885, -4885, -4885, 2243, -898,
-727, 4015, 199, -4633, -4885, -4885, -1123, -4885, 3407, -4885,
-4885, -4885, -4885, -4885, -4885, -4885, -4885, -4885, -2645, -4885,
-4885, -4273, -4885, -4885, -4885, -4885, -4885, 2728, -4885, -4885,
2729, 79, -4885, -38, -4885, -4885, -960, 2732, -4885, -1923,
-4885, -584, -4885, 2928, -4885, -4885, -4885, -4885, -1826, 208,
-3784, -4885, 12, -4885, -4885, 296, -4885, 692, -4885, -4885,
-3390, 15, -4885, -4885, -4885, -4885, -4375, -4885, 21, -339,
1221, -2787, -4885, 211, -1, -4885, -4885, 10, 1647, -42,
-37, -25, 3, 118, 3488, -4885, 3535, -4885, 24, 1991,
-4885, -4885, -793, -162, -4885, 1975, -665, 2705, 3480, 3484,
-4885, 1962, 2733, -1954, -1928, -4885, 1270, -310, -141, -4885,
-4885, -4885, -4885, 736, -615, 2724, -4885, 3486, -4885, -4885,
-4885, -1925, -2821, -3451, 1298, -3432, -3334, 777, 768, -1228,
96, -43, -747, 3499, -4885, -4885, 1308, -102, -4885, -4885,
-98, -2788, 1264, -4885, -4294, -2294, 1319, -564, -396, -4885,
-484, -4885, -266, 2415, 3054, -1050, -4885, -4885, -1001, 14492,
-4885, -4885, -4885, 15013, 15365, -4885, -4885, 15864, 16250, -4885,
-842, 17121, 13619, -1005, -1856, -447, 13228, -1741, -492, 84,
-4885, -3453, -2652, -4885, -4885, -4885, 146, 1376, 952, -4885,
-4359, -4885, -4885, 363, -4885, -272, -4885, -270, -4885, -4885,
-4885, -2522, -4884, -2608, 2853, -4885, -4885, -4885, -148, -4885,
17585, -2739, -4885, -419, -1316, -1524, -3423, -1865, -4885, -4885,
-4885, -4885, -4885, -4885, -4885, -1656, -3283, -424, 2089, -4885,
-4885, 2178, -4885, -4885, -4885, -916, 2460, -761, -2614, 2093,
-4885, -780, 2854, -772, 9080, -648, 9535, -534, -2235, -1233,
-1640, -4885, 4649, -4885, 5356, 6198, 17, -105, 3767, -536,
-6, 13463, -644, -854, 4372, 11677, 11514, -3129
};
/* 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, 5028, 3071, 2311, 3328, 3072, 3073,
3697, 3698, 3776, 5052, 5053, 5045, 5051, 5046, 5047, 71,
1589, 1590, 72, 73, 3244, 3240, 3826, 4645, 4646, 4879,
611, 2473, 4648, 4649, 4865, 4866, 5066, 5210, 5211, 2512,
1760, 3322, 3914, 3270, 4394, 3271, 4395, 3272, 4396, 3256,
3861, 3862, 4337, 3863, 3273, 4355, 4909, 3274, 2200, 5083,
2553, 1932, 1930, 4564, 4892, 4164, 4165, 5295, 5090, 5091,
5092, 5318, 4357, 4400, 4401, 4939, 5251, 5252, 3326, 3921,
4406, 4663, 2956, 75, 709, 1794, 3428, 710, 2556, 646,
711, 2513, 80, 2546, 5085, 2547, 1547, 2362, 5048, 3408,
81, 1040, 3663, 4732, 4964, 4965, 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, 4924, 5241, 4692, 4926, 5113, 4928, 4347,
5428, 5429, 4654, 3642, 4178, 102, 4348, 4349, 5097, 103,
2215, 104, 105, 106, 1744, 2483, 2484, 3835, 1737, 2476,
2477, 3900, 3901, 107, 3184, 108, 4242, 4243, 647, 5104,
5034, 5194, 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, 4805, 4806, 5261, 5402,
4559, 4819, 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, 4722,
4723, 127, 1457, 2264, 128, 129, 130, 1500, 891, 1110,
1111, 131, 661, 662, 132, 4884, 133, 1054, 134, 4730,
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, 5343, 5404, 5405,
5406, 3947, 5264, 5345, 1182, 150, 151, 152, 189, 931,
932, 933, 2517, 4715, 154, 155, 1416, 1417, 1418, 1419,
2186, 156, 157, 158, 159, 160, 161, 162, 1748, 163,
164, 4858, 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, 4790, 4791, 4792,
4793, 4794, 4795, 4531, 2131, 2132, 1380, 1381, 1382, 2140,
186, 2847, 3568, 3569, 3570, 4101, 4102, 4116, 4112, 4516,
4777, 3571, 1180, 1388, 4524, 5373, 3572, 4766, 4767, 4981,
4120, 3579, 3603, 3310, 3311, 3312, 3573, 5159, 5160, 5370,
5371, 4983, 4984, 2166, 1845, 1082, 1280, 1083, 1857, 1281,
1829, 1085, 1282, 1283, 1284, 1088, 1285, 1286, 1287, 1091,
1821, 1288, 1289, 1839, 1854, 1855, 1350, 4985, 1291, 1292,
1293, 3575, 1294, 4055, 4480, 4469, 2775, 2776, 2082, 4051,
3513, 2054, 2833, 4799, 5002, 5003, 3552, 4080, 4496, 4764,
5151, 5271, 5272, 5359, 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, 4773, 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, 1546, 1009, 1909, 600, 1309, 826,
179, 2375, 174, 779, 653, 175, 1046, 746, 1313, 748,
837, 177, 1704, 754, 184, 1835, 1594, 1551, 768, 776,
746, 1865, 783, 1400, 1606, 776, 776, 2199, 812, 738,
815, 1171, 1172, 1173, 858, 738, 1383, 1177, 3269, 2275,
2267, 1339, 898, 845, 1135, 903, 893, 645, 1929, 3347,
1773, 3581, 1825, 1826, 1148, 2445, 1340, 2541, 3433, 813,
1327, 3147, 1834, 1841, 1967, 4166, 3689, 3601, 1612, 744,
3292, 2276, 1699, 3942, 994, 2436, 3942, 1758, 3912, 3090,
591, 4130, 780, 2921, 2923, 700, 3669, 1746, 3896, 1460,
712, 1751, 1044, 1786, 901, 3414, 1755, 2288, 2305, 3714,
2721, 3716, 65, 3181, 4067, 4098, 1765, 3839, 922, 3847,
3614, 4204, 3870, 1142, 4410, 3839, 1126, 4393, 4560, 3926,
1789, 831, 2681, 3591, 1492, 4161, 1056, 3224, 2849, 3225,
4115, 1114, 4820, 3229, 1118, 3231, 3232, 839, 1116, 1046,
4770, 4707, 4413, 4354, 3236, 3237, 3238, 4403, 773, 840,
2561, 4709, 1129, 2784, 2260, 807, 2172, 3521, 824, 74,
2620, 1376, 2888, 2859, 76, 915, 77, 4670, 78, 79,
1339, 2866, 799, 4167, 593, 848, 848, 851, 4896, 848,
101, 120, 125, 860, 3576, 812, 4402, 149, 895, 153,
2891, 860, 2400, 2401, 860, 4828, 2396, 812, 172, 848,
3909, 178, 812, 3620, 4941, 4952, 848, 4035, 812, 1822,
1823, 1379, 4143, 2260, 1456, 4708, -2376, -2414, 1825, 1826,
1833, 4782, 720, 4784, -2305, 1320, 1785, 4113, 609, 4118,
2260, 1812, 2022, 720, 1429, 4850, 3576, -2379, 1834, -2437,
-1905, 1812, -2469, -2277, 1841, 2754, 720, 3478, 4364, 659,
1153, -2277, -2277, 3282, 1456, 659, -2249, -1897, 5050, 1456,
-1864, 2028, -2278, 1157, -1877, 1545, -2634, 2792, -1902, 1856,
-2278, -2278, 5106, 1572, -2634, -2634, 5033, 1734, 2278, 2093,
2183, 2434, 2435, 1599, -1905, 2792, -1892, 3619, 659, 3670,
659, 2412, -2248, 2030, 659, 3932, 2538, 1511, 4623, 2278,
5017, 5018, 1201, 2072, 1489, 659, 1489, 659, 1489, 720,
1952, 720, 3204, 720, 2278, 856, 2057, 3242, 3917, 1812,
2207, 2502, 4624, 1489, 659, 720, 4728, 4885, 720, 3418,
2407, 4448, 4449, 4542, 4451, 4452, 4453, 4454, 4455, 4365,
3077, 2494, -1720, 1430, 4860, 4861, 4352, 5262, 4962, 4974,
5009, 834, -2140, 659, 4859, 3420, 1317, 2388, 4710, -2140,
2022, 3381, 2834, 3383, 1781, 1847, 1822, 1823, 4665, 1603,
1812, 2499, 4711, 5352, 4345, 4998, -134, 2893, 1812, 726,
726, -134, 4340, 1372, 3372, 1782, 2342, 726, 1373, 2028,
1351, 2022, 1175, 1833, 4244, 2107, 2255, 1911, 2114, 3478,
726, 2278, 726, 727, 727, 726, 1512, -2435, 1341, 2509,
4922, 727, 2073, 1704, 2201, 1812, 2328, 2022, 187, 1606,
2731, 2030, 659, 4366, 727, 4671, 727, 1322, 911, 727,
2337, 3724, 3605, 2314, 4813, 3, 4, 1848, 720, 4558,
5126, 4822, 2202, 2080, 3725, 604, 2028, 2354, 927, 2068,
4943, 5030, 2030, 5040, 4923, 1374, 4942, 912, 1154, 1156,
1158, 188, 2208, 1160, 1161, 1162, 4856, 3606, 2539, 893,
5040, 4672, 2359, 1167, 5245, 1176, 1046, 1743, 2030, 4995,
2193, 4666, 2894, 2827, 1812, 2081, 2500, 2510, 2256, 4857,
2828, 1851, 1988, 1046, 2115, -2159, 1375, 2835, 1849, 3478,
4245, 1850, -2159, 1813, 1812, 2278, 1070, 1898, 2016, 2278,
1003, 5010, 2691, 1813, 4346, 2394, 1013, 5444, 4963, 3770,
2094, 893, 5263, 1743, 2732, 2304, 2495, 4341, 2074, 1027,
1812, 4353, 3431, 2846, 1704, 1699, 2062, 3078, 4543, 4712,
5041, 1604, 1783, 5042, 3419, 928, 3474, 2329, 3670, 3243,
1046, 2209, 3894, 4975, 2440, 1913, 2195, 5078, 4729, 1742,
1513, 5043, 1893, 660, 2289, 816, 1873, 1342, 1431, 1343,
3421, 4367, 4625, 2205, 2196, 2076, 4568, 3454, 5043, 4227,
2088, 2088, 4920, 2343, 2203, 3839, 5177, 2058, 929, 941,
-432, 1813, 1499, 857, 5223, 812, 2733, 593, 1514, 3008,
848, 1953, 851, 184, 848, 1851, 3844, 5306, 2793, 4261,
985, 895, 982, 2487, 654, 983, 1016, 1176, 848, 2022,
3085, 984, 5255, 3824, 3825, 848, 3541, 5244, 1432, 1949,
2389, 1515, 2540, 4485, 2370, 4193, 1971, 2373, 4368, -2435,
1959, 3205, 1813, 4513, 2413, 930, 3933, 4517, 2028, 593,
1813, 4115, 1814, 610, 851, 1968, 826, 2734, 5293, 860,
2735, 2380, 1842, 895, 1149, 1743, 860, 1384, 1046, 860,
1953, 4363, 2414, 977, 1836, 4171, 1046, 1046, 2503, 1820,
2030, 5119, 5391, 5125, 4409, 848, 3366, 1813, 2246, 732,
733, 2049, -2140, -2376, -2414, 1837, 2102, 2433, 2254, 1179,
184, -2305, 732, 733, 5044, 3635, 3493, -2435, 2141, 1838,
1902, 2408, -2277, 1852, -2379, 2197, -2437, 4459, 1836, -2469,
-2435, 5044, 4231, 935, 1166, -2249, -1897, 936, 1150, 1824,
1155, -2278, 1159, 1828, 2848, -2634, 812, -1902, 1163, 1837,
1141, 1612, 1612, 1612, 5329, 5338, 1721, 4547, 4504, 812,
4506, 1193, 4385, 1840, 2070, -1892, 1813, 2018, 2142, 2060,
1179, -2248, 5014, 2852, 2736, 1490, 1491, 1490, 1491, 1490,
1491, 1307, 1307, 5207, 812, 776, 1813, 1144, 1421, 776,
839, 732, 733, 2360, 1490, 1491, 2363, 2364, 4741, 1716,
1387, 1860, 840, 812, 2244, 1723, 1709, 812, 1724, 1871,
893, 5299, 1813, 1307, 1436, 1329, 2478, 2641, 3259, 1519,
2624, 2441, 1605, 2263, 5303, 812, 2046, 2047, 2048, 2049,
1863, 4705, 184, 2829, 3767, 2198, 2395, 812, 5395, 179,
3771, 174, 1520, 1344, 175, -2159, 1895, -134, -134, 935,
177, 812, 3622, 936, 3623, 2598, 3027, 1176, 3616, 2015,
5276, 2651, 3909, 3888, 2322, 3490, 3491, 3492, 3493, 812,
5247, 2290, 2663, 759, 848, 848, 2263, 2100, 3009, 5249,
1743, 2330, 2737, 2130, 2291, 817, 2292, 2723, 4326, 2485,
2671, 655, 4569, 2263, 2206, 1914, 1347, 1422, 1916, 4647,
1918, 5433, 1920, 5224, 1922, 776, 776, 2100, 1926, 2999,
2967, 3576, 3817, 1578, 3576, 1898, 3214, 5398, 5399, 606,
4151, 5233, 4325, 2888, 3260, 5381, 3179, 1743, 1307, 1307,
3986, 5314, 1316, 3114, 2812, 1863, 1324, 593, 1352, 3586,
2932, 65, 834, 5248, 659, 2293, 3665, 5451, 860, 656,
3596, 659, 895, 2870, 860, 1579, 3086, 860, 760, 3864,
1847, 3979, 1414, 3488, 3489, 3490, 3491, 3492, 3493, 747,
2149, 2652, 848, 999, 5079, 3013, 2260, 2454, 2682, 4933,
785, 3067, 1097, 3617, 3576, 657, 3000, 658, 2667, 2580,
2581, 659, 3818, 3819, 812, 4166, 4141, 3584, 74, 1404,
5331, 848, 848, 76, 5416, 77, 5330, 78, 79, 4259,
3475, 3476, 2375, 3115, 2672, 3495, 4890, 5455, 1777, 101,
120, 125, 1532, 812, 812, 812, 149, 848, 153, 593,
593, 3369, 1848, 3068, 773, 1565, -1864, 172, 2871, 3587,
178, 1533, 4424, 4746, 2193, 2940, 841, 1330, 1516, 659,
3943, 1423, 3525, 3526, 4768, 1168, 3691, 4901, 2718, 5086,
1778, 1863, 2194, 4774, 4833, 751, 3116, 3014, 4778, 2813,
1882, 4780, 2668, 4378, 2814, 659, 4105, 3987, 4771, 1405,
786, 5394, 1714, 2044, 2045, 2046, 2047, 2048, 2049, 1424,
4167, 1534, 3370, 1849, 2462, 2981, 1850, 2554, 3422, 848,
1704, 848, 848, 4167, 3261, 4946, 4863, 1835, 4902, 2942,
761, 2815, 1883, 4947, -1864, 1331, 4903, 1805, 5148, 1580,
2195, 5080, 1425, 3117, 3069, 757, 5315, 3877, 1197, 3180,
842, 1406, 2532, 1307, 3944, 3738, 2463, 5366, 2196, 5124,
5099, 3, 4, 4285, 4904, 3207, 1704, 5118, 4106, 762,
763, 1915, 184, 1917, 3337, 1919, 3003, 1921, 3942, 1923,
1924, 1925, 4701, 1931, 1931, 3692, 1927, 5354, 812, 4827,
746, 2660, 2661, 2790, 5131, 3423, 5121, 1535, 3836, 5098,
5022, 4107, 4849, 5087, -2268, 4695, 3836, 1426, -157, 3657,
3262, 1964, 2943, 3666, 812, 1529, 4108, 1970, 2378, 1851,
1851, 832, 706, 5316, 1612, 3218, 4109, 2968, 4553, 2673,
1307, 4905, 2550, 5335, 5336, 5120, 2533, -157, 5412, 2653,
1581, 3118, 15, 4906, 1779, 1536, 1169, 1407, 1537, 2674,
5317, 3658, 4110, 1530, 1806, 2021, 826, 2551, 2022, 2374,
1307, 764, 3576, 2925, 3739, 3757, 5367, 3865, 2816, 2626,
5387, 1000, 2016, 4775, 5149, 4583, 20, 5088, 3114, 2579,
1098, 1148, 2296, 1366, 758, 833, 4167, 2028, 1307, 1307,
1307, 1539, 1307, 3939, -2635, 4948, 1884, -1864, 3275, 2197,
4239, 2182, 3945, 2306, 5150, 2575, 2650, 3070, 1807, 3878,
2655, 1863, 1307, 1372, 2659, 5413, 2297, 2662, 1519, 2030,
2464, 5029, 3100, 1583, 1863, 2920, 5355, 1478, 1852, 1584,
4286, 2098, 784, 5012, 927, 1541, 2618, 4111, 2599, 1699,
2633, 1520, 4969, 759, 5256, 1780, 2601, 1853, 4991, 4445,
812, 2108, 2109, 2612, 2113, 834, 2614, 1542, 3115, 3119,
2613, 604, 1387, 840, 840, 843, 840, 3120, 3165, 3946,
3121, 828, 3122, 2619, 3166, 893, 5435, 1544, 4546, 3318,
1715, 3693, 3694, 1367, 1307, 1374, 3527, 2892, 1307, 1307,
5122, 5178, 2747, 2982, 3101, 5414, 5183, 1885, 1429, 812,
812, 2147, 1411, 1307, 1412, 1808, 4240, 830, 5368, 2198,
3695, 3116, 2372, 5369, 2365, 3659, 2654, 5388, 3740, 2657,
2658, 2465, 4776, 4907, 776, 2577, 4908, 2427, 760, -2635,
3682, 928, 1585, 4390, -2635, 5032, 2550, 2064, 2534, 927,
5036, 5037, 2552, 1863, 607, -2246, 3122, 4443, 3193, 706,
32, 2535, 808, 4419, 1584, 2307, 3741, 1809, 4391, 2251,
624, 2551, 3276, 2926, 776, 2428, 2927, 5174, 3117, 15,
3074, -2635, 3576, 5337, 929, 3133, 3576, 3167, 812, 2277,
40, 4834, 5313, 2308, 3768, -1864, 4932, 3839, 812, 3742,
835, 848, 2202, 3774, -1864, 3098, 1824, -1864, 1399, 4229,
-1864, 3174, 3683, 20, 4338, 2065, 2309, 1430, 2310, 624,
4241, 2211, 2429, 819, 44, 2900, 3660, 895, 2037, 812,
626, 2212, 4316, 776, 2755, 2430, 4319, 4320, 844, 4322,
2239, 930, 2773, 1330, 2117, 5415, 928, 5180, 5181, 3775,
776, 187, 812, 2304, 2391, 812, 4768, 5393, 2366, 3379,
1810, 2367, 4390, 2431, 3151, 48, 3769, 1585, 5403, 707,
4207, 4919, 1046, 2999, 1035, 4344, 3118, 1501, 49, 626,
5191, 4230, 4339, 2118, 2717, 4167, 2720, 4391, -583, 929,
761, 812, 2727, 40, 188, 1326, 1586, 2999, 2741, 2742,
2743, 50, 848, 848, 848, 848, 812, 2306, 2759, 2761,
4379, 1331, 3289, 2771, 1612, 708, 3175, 4001, -2635, 3277,
812, 3107, 3108, 5434, 1197, 3111, 4131, 44, 2375, 762,
763, 1307, 1307, 1307, 1587, 3301, 3302, 3303, 3304, 829,
4384, 3168, 3681, 624, 4208, 3177, 930, 3309, 1502, 3176,
3000, 5192, 3134, 4392, 2880, 3530, 4682, 3531, 935, 1414,
3137, 5454, 936, 3140, 1414, 3257, 3278, 1588, 48, 3025,
3171, 3208, 3209, 3210, 3000, 2937, 4650, 180, 3178, 3169,
3532, 49, 2213, 3001, 5465, 2645, 3836, 32, 4132, 637,
2120, 638, 4565, 3849, 3119, -685, 2901, 852, 180, 2610,
5253, 3966, 3120, 626, 50, 3121, 5071, 2573, 3172, 4651,
4257, 5072, 3170, 3214, 1036, -2635, 1759, 40, 51, 3812,
2214, 3002, 2044, 2045, 2046, 2047, 2048, 2049, 825, 2446,
4887, 812, 781, 1414, 1478, 2600, 3694, 1414, 637, 3852,
638, 3173, 5105, 848, 848, 854, 1548, 2121, 5130, 4335,
1037, 44, 893, 893, 4153, 4427, 3132, 4428, 3045, 2307,
4566, 5073, 40, 3022, 4218, 643, 848, 1372, 4015, 4016,
4017, 4018, 5239, 4336, 4023, 4024, 4025, 4026, 4027, 4028,
4029, 4030, 4031, 4032, 1549, 812, 3288, 2308, 3533, 3155,
-457, 2506, 48, 3534, 3854, 4463, 44, 4464, 1028, 5102,
2954, 848, 848, 848, 848, 49, 3047, 1038, 5401, 5111,
2309, 1395, 2310, 1039, 812, 2543, 5116, 3046, 874, 3772,
3003, 812, 3199, 5377, 2446, 2646, 1831, 1832, 50, 187,
4071, 4072, 2284, 1029, 2285, 593, 4167, 48, 593, 1374,
3112, 5112, 51, 851, 3003, 1396, 4010, 2304, 1307, 1397,
49, 4105, 4740, 5141, 4961, 3578, 2955, 2647, 4019, 1743,
4020, 838, 637, -1693, 638, 3048, 1030, 2187, -1693, 875,
2648, 1390, 188, 50, 3641, 4036, 893, 35, 2188, 4696,
1375, 4656, 1398, 860, 860, 3576, 3857, 2902, 3331, 1759,
1550, 726, 3576, 2286, 895, 895, 2189, 3576, 860, 3616,
3576, 860, 3942, 2649, 4174, -457, 2345, 5457, 1836, 1391,
917, 5253, 5025, 1031, 2278, 727, 4167, 5246, 848, 848,
4686, 3576, 926, 4106, 2279, 848, 4154, 812, 3858, 1837,
934, 3535, 4155, 4465, 3576, -1693, 4669, 184, 4687, 4156,
2676, 3536, 1392, 2635, 3859, 2636, 3407, 2637, 3511, 2638,
2950, 2639, 1931, 1046, 3518, 2640, 4107, 2598, 4809, 848,
4811, 860, 2117, 2021, 860, 860, 2022, 812, 812, 4957,
848, 4108, 4157, 2688, 4680, 4700, -1693, 812, 4572, 4573,
3918, 4109, 987, 3922, 812, 4175, 4021, 5235, 2365, 746,
746, 184, 617, 2693, 4158, 2028, 4022, 1307, 985, 1307,
982, 2118, -2635, 983, 1307, 1307, -1100, 4110, 1046, 984,
4585, 1307, 1307, 1307, 1144, 4167, 4589, 1307, 895, 1307,
1307, 1307, 1307, 1307, 1307, 990, 1307, 2030, 1307, 1307,
4172, 4640, 1307, 4641, 4642, 3406, 1574, 4643, 3860, 3350,
4304, 2190, 4176, 2296, 4177, 1028, 2954, 1307, 1307, 1307,
1307, 2687, 1401, 2315, 848, 1307, 2987, 4660, 720, 1307,
2119, 4305, 1307, 4106, 1787, 1307, 1307, 1307, 1307, 1307,
1307, 1307, 1307, 1307, 1575, 1307, 624, 2297, 1576, 2714,
1029, 812, 1307, 40, 1307, 3580, 5140, 1788, 2346, 5340,
1402, 812, 4111, 2349, 3392, 1010, 4107, 3576, 5185, -1094,
735, 2983, 3638, 993, 2988, 2989, 735, 1577, 2120, 2278,
893, 4519, 2975, 3890, -1657, 1553, 1519, 44, 3735, 2287,
812, 4109, 2366, 1403, 1307, 2367, -1657, 5326, 812, 5109,
812, -1657, 2665, 3621, 3298, -1657, 626, -2635, 3306, 1520,
1307, 4334, -2635, 3307, 2088, 996, 40, -1657, -582, 1307,
1307, 4856, -1657, 1554, 3582, 3671, 3736, 3576, 48, 2504,
1031, 4174, 2417, 812, 3450, 2121, 2423, 1023, 3978, 2100,
2906, 49, 2911, 1863, 4857, 3371, 3373, 3374, -1657, -2635,
44, 3699, 3293, 1001, 2904, 1002, 1555, 3356, 1890, 3737,
4217, 3451, 1898, 3021, 50, 2944, 3452, 2947, -1657, -1657,
3766, 1836, 2800, 851, 2801, 5081, 1347, 2861, 51, 3979,
5390, 1891, 746, 1032, 746, 4287, 4386, 3539, -1656, -1657,
3594, 48, 1837, 1033, 3897, 720, 2037, 2802, 3007, 1034,
-1656, 1307, 4111, 2941, 3907, -1656, 1838, 935, 4288, -1657,
1046, 936, 4175, 593, 4856, 848, 848, 1053, -1657, 5173,
860, 1048, 895, 860, 860, 5068, 848, 5070, 848, 5298,
-1657, 5074, 848, 5075, 5456, 812, 1096, 4857, 3626, -1657,
1105, 51, 3113, 1824, 1106, 2173, 5426, 1904, 226, 4824,
1905, 1123, -1656, 3848, 608, 1836, 776, 180, 3307, 2755,
2755, 1824, 704, 1399, 2755, 637, 2277, 638, 3576, 4176,
4202, 4177, -1656, 1112, 3032, 812, 1837, 720, 640, 5110,
782, 935, 3044, -2249, 1130, 936, -2635, 1139, 4412, 642,
1840, 812, 1759, 1510, 1170, 1179, 1179, 3630, 1527, 1179,
2803, 2755, 2755, 1174, 4150, 2804, 3989, 1181, 4194, 1824,
2805, 2173, 812, -1656, 2438, 2439, 3196, 3089, 3089, 4209,
1961, 4216, -1656, 1962, 1178, 4864, 1522, 3576, 1046, 3845,
1184, 1556, 812, 812, 3477, 1186, 812, 3893, 851, 776,
3504, 5379, 3506, 3507, 1591, 2096, 3505, 1595, 2097, 2099,
1187, 1612, 2100, -1657, 180, 825, 3576, 1612, 3954, 3955,
1210, 3866, 848, 3478, 4232, 848, 1188, 3479, 3480, 3481,
2104, 1194, 1557, 2105, -1657, 3674, 2630, 2642, 3528, 2100,
2643, 2644, 1558, -2635, 2643, 2679, 812, 812, 2680, 1195,
2044, 2045, 2046, 2047, 2048, 2049, 1975, 2864, 51, 2485,
1898, 3182, 4539, 3185, 3187, 2912, 3627, 3628, 2100, 3019,
3092, 1196, 3020, 3093, 3648, 935, 3554, 3247, 1356, 936,
3248, 3849, 3252, 3, 4, 3253, 5423, 3850, 3357, 1204,
40, 2100, 1307, 1307, 1307, 2568, 1197, 2569, 1307, 3851,
4913, 2889, 2890, 3398, 848, 3151, 2643, 2021, 2806, 5133,
2022, 3730, 848, 3449, 1198, 848, 2100, -1656, 2807, 2306,
1179, 848, 3458, 3464, 44, 2100, 2100, 3852, 40, 3853,
1005, 3576, 1006, 1307, 838, 848, 180, 3465, 3466, 2028,
2100, 2100, 3497, 1200, 3510, 2100, -2635, 2100, 3515, 2277,
3717, 3516, 3089, 3718, 812, 1199, 3722, 812, 5015, 3723,
1206, 3291, 44, 5375, 746, 48, 3834, 5020, -1715, -1715,
3746, 2030, 1210, 3747, 3834, 3478, 848, 1307, 49, 3479,
3480, 3481, 3854, 3337, -1719, -1719, 4169, 4170, 3836, 4397,
-1718, -1718, 3930, 1559, 3182, 3931, 4060, 3952, 1203, 3482,
2100, 50, 1328, 48, 848, 3440, 3323, 1325, 3443, 4042,
3855, 3444, 4043, 3294, 5292, 51, 49, 3436, 1332, 3319,
4052, 3483, 1824, 4053, 2173, 3751, 4063, 1560, 2397, 2100,
1307, 1561, 4139, 4144, 2021, 4140, 4145, 2022, 3538, 50,
1333, -2635, -2635, -2635, 3760, 3883, 4149, 4173, 4387, 2927,
2643, 2643, 4440, 51, 1338, 1953, 3324, 848, 3325, 848,
3089, 848, 3089, 1348, 1562, 2718, 2028, 3576, 3555, 3856,
3556, 2307, 1334, 2029, 3857, 5439, 1046, 5440, 1046, 5441,
2598, -2635, 1210, 3484, 1532, 3478, -2635, 5273, 5274, 3479,
3480, 3481, 4460, 4486, 1353, 2100, 2680, 1931, 2030, 2308,
1356, 4498, 4549, 1533, 2100, 2927, 4061, 4555, 4561, 4562,
4556, 2643, 2643, 4953, 4702, 4748, 3858, 4703, 4749, 1357,
4047, 893, 2309, -2635, 2310, 5360, 5361, 4750, 832, 3982,
2100, 4758, 3859, 4829, 2680, 1354, 4830, 5470, 812, 3557,
-1694, 3558, 3576, 4217, 1606, -1694, 4914, 3576, 593, 2643,
1370, 1359, 4954, 1534, 860, 4955, 1046, 860, 1385, 2304,
860, 3995, 3867, 2718, 3869, 4970, 1386, 1389, 2680, 848,
2037, 826, 4978, 3483, 1393, 4979, 4988, 1307, 1399, 1898,
1210, 4743, 1307, 3478, 3590, 1434, 1458, 3479, 3480, 3481,
4994, 4996, 833, 3904, 3904, 2306, 4327, 5007, 4328, 3876,
5008, 3879, 1461, -2279, 4488, 1307, 1307, 1307, 2031, 1463,
1307, 5061, -1694, 2032, 5062, 826, 4212, 3975, 1307, 1307,
1307, 1307, 5101, 1464, 5132, 2067, 3860, 5008, 1504, 5142,
5143, 1307, 2680, 3516, 1307, 3484, 1307, 5144, 5156, 1535,
2100, 5157, 3936, 1499, 1503, 4581, 3576, 1307, 1307, 1505,
2035, 1307, 4700, -1694, 1516, 5162, 180, 4210, 1898, 1528,
-2635, 5165, 834, 895, 3904, 1307, 1518, 1307, 5184, 1307,
1356, 2643, -1645, 3485, 3486, 3487, 4121, 3488, 3489, 3490,
3491, 3492, 3493, 3483, 1369, 5190, 1371, 1536, 2680, 1307,
1537, 1531, 5196, 812, 2306, 2680, 5197, 2037, 1566, 2680,
3577, 2374, 5200, 5202, 2426, 5201, 5203, 5204, 5231, 4190,
5205, 5232, 1567, 1582, 5280, 1532, 812, 5281, 5284, 1976,
826, 1898, 1592, 1307, 3560, 3561, 3562, 5285, 184, 3074,
2100, 4228, 1593, 1539, 1533, 985, 1596, 982, 1307, 1985,
983, 4518, 1601, 4521, 29, 3484, 984, 2307, 5286, 1602,
1705, 2100, 3577, 3098, 1707, 3988, 3610, -2635, 1710, 3613,
5288, 2911, 1708, 2100, 2044, 2045, 2046, 2047, 2048, 2049,
2001, 5309, 3151, 5333, 5310, 2308, 5334, 1541, 1713, 5362,
1717, 3483, 3904, 4310, 1534, 2013, 1718, 2039, 5374, 4323,
3574, 5001, 5400, 5437, 1726, 5008, 5438, 835, 2309, 1542,
2310, 1727, 1307, 3010, 3089, 5450, 1730, 2306, 5201, 1931,
5452, 5468, 5476, 5453, 5281, 5453, 1733, 1739, 2777, 1544,
-2539, 2780, 1736, 1741, 1404, 3485, 3486, 3487, 1747, 3488,
3489, 3490, 3491, 3492, 3493, 2304, 848, 40, 848, 848,
848, 1750, 3574, 3484, 3834, 1752, 2307, 2755, 2755, 2755,
2755, 2306, 1761, 2755, 2755, 2755, 2755, 2755, 2755, 2755,
2755, 2755, 2755, 4968, 1762, 1743, 4481, 1766, 4256, 1767,
1535, 44, -177, 1769, 2308, 838, 838, 1770, 838, 4313,
4045, 1772, 1774, 1775, 2040, 1790, 1797, -2635, -2635, -2635,
1799, 2044, 2045, 2046, 2047, 2048, 2049, 2309, 1804, 2310,
206, 1811, 1817, 1818, 1405, 1819, 1820, 1824, 1827, 2755,
2755, -2539, 48, 1828, 1830, 4012, 3087, 1844, 1536, 1846,
1859, 1537, 1858, 1862, 1863, 49, 1870, 1874, 1876, 1877,
3339, 1879, 2374, 1881, 2304, 3485, 3486, 3487, 1887, 3488,
3489, 3490, 3491, 3492, 3493, 1901, 1081, 1886, 50, 4041,
1889, 1437, 1894, 812, 1897, 1900, 1406, 1903, 3590, 2307,
3765, -2539, 51, -1417, 1539, -1417, 3590, 1928, 1958, 1963,
1965, 1966, 1081, -2539, 1972, 1973, -1868, -1875, -2539, 1980,
1981, 1982, 1983, -2539, 1984, 1438, 51, 2308, 1986, -2539,
1210, -1865, -2539, 3478, 4083, 1987, -2539, 3479, 3480, 3481,
1988, -1866, 1989, 2307, 1990, 1991, 1993, 1994, 1541, 1995,
2309, 1996, 2310, 1997, 4489, -1869, 2021, -1867, 4868, 2022,
1998, 1999, 2000, 2002, 2306, -2539, 2003, 2004, 2005, 2006,
1542, 2308, 2007, 3485, 3486, 3487, 2008, 3488, 3489, 3490,
3491, 3492, 3493, 2053, 1440, -2539, 2055, 2304, 2028, 2009,
1544, 2057, 1407, 2071, 2309, -2635, 2310, 2058, 2067, 2083,
2091, 1307, 4869, 2103, 2106, 1704, 2021, 1307, 1373, 2022,
2137, 1375, 2148, 2023, 2024, 2025, 848, 2150, 2139, 1441,
2030, 3089, 3089, 2151, 2152, 2718, -2539, 4870, 2168, -2539,
2026, 2304, 2169, 5341, 29, -2539, 4437, 2170, 2028, 2173,
2171, 5155, 2174, 2175, 4871, 2029, 1408, 2176, 4872, 1210,
3340, 4676, 3478, 2177, 2178, 1442, 3479, 3480, 3481, 2179,
812, 812, 812, 2185, 2204, 2210, 2241, 2216, 4873, 2245,
2030, 4874, 2247, 3773, 2248, 2249, 5158, 812, 2250, 2252,
2253, 2281, 2268, 2269, 1409, 2282, 4875, 4070, 35, 1443,
-2539, 3929, 2270, 2283, 2294, 1210, 2298, 2300, 3478, 1931,
812, 2303, 3479, 3480, 3481, 1210, 2301, 2302, 3478, 1931,
812, 812, -2635, -2635, -2635, 812, 2307, 1410, 2304, 4397,
2312, 1445, 4432, 4433, 4434, 4435, 4436, 40, 812, 2313,
-2635, 3483, 2316, 2317, 2318, -2635, 2323, 2324, 2327, 2333,
3925, 4359, 4360, 751, 2308, 1210, 2334, 1411, 3478, 1412,
2338, 2335, 3479, 3480, 3481, 2339, 4537, 2340, 2344, 2341,
2755, 44, 35, 3950, 2350, 1712, 3341, 2309, 4876, 2310,
-2539, 2347, -2635, 1179, 2351, 1448, 4877, 2352, 2356, 2361,
2031, 2357, 2368, 1449, 2369, 2032, 2371, 4077, 2376, 848,
1729, 2262, 2377, 3484, -2539, 2386, -2539, -2539, 1413, 2381,
1478, 2382, 48, 1451, 2304, 1740, 2383, 2033, 2034, 2385,
812, 1452, 2387, 2390, 2392, 49, 2409, 2306, 4878, 2037,
2393, 876, 2035, 2410, 2398, 2399, 812, 2415, 877, 878,
879, 2411, -2539, 3342, 2421, -2539, -2539, -2539, 50, 2425,
2437, 2448, 2450, 2306, 2451, 2458, 2416, 2453, 1307, 2444,
3483, 2452, 5342, 2457, 2459, 2036, 2460, 1307, 2461, 2467,
2468, 2471, 2469, 1307, 2474, 1307, 2470, 1453, 1307, 2037,
4588, 3343, 2038, 1307, 1307, 1307, 1307, 2472, 2480, 1307,
1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 2306,
2481, 2486, 1307, 1307, 2479, 2489, 3483, 2490, 619, 2498,
2493, 2504, 1307, 2507, 2518, 826, 1307, 4535, 1550, -2635,
1307, 2522, 3484, 2526, 2531, 2542, 2545, 2523, 1307, 2548,
2549, 1307, 2558, 1307, 826, 2562, 3806, 2565, 2567, 2571,
2576, 2582, 1307, 2584, 2589, 1307, 1307, 2585, 2592, 2590,
1307, 1307, 2593, 2595, 2594, 4081, -2635, 1307, 2596, 2603,
2605, 180, 4195, 2606, 812, 812, 812, 593, 3484, 2039,
3577, 4103, 4721, 2607, -2541, 4103, 4117, 4103, 3484, 2307,
2621, 2622, 1307, 2608, 2656, 2664, 3590, 2677, 2690, 4085,
4086, 4087, 4088, 3485, 3486, 3487, 2772, 3488, 3489, 3490,
3491, 3492, 3493, 2723, 2778, 2307, 1307, 2308, 4233, 1956,
3590, 2022, 2728, 2791, 4509, 180, -2635, 2782, 3484, 2811,
2911, 2797, 1307, 2044, 2045, 2046, 2047, 2048, 2049, 2809,
2309, 2831, 2310, 2308, 4470, 5417, 5418, 2832, 2846, 2854,
4168, 1931, 1931, 2856, 2446, 2857, 4626, 4627, 2855, 4629,
2851, 2307, 833, 2865, 4661, 2869, 2309, 3574, 2310, 2881,
3574, 848, 848, 848, 848, -2541, 2040, 2304, 2882, 2041,
2042, 2043, 4579, 2044, 2045, 2046, 2047, 2048, 2049, 2308,
2883, 2884, 2898, 2905, 2916, 2917, 3469, 2919, 2945, 2798,
2277, 2948, 2950, 2304, 3589, 2952, 2959, 2375, 2953, 2964,
2969, 2970, 2309, 2972, 2310, 2974, 2976, 2984, 2994, 4222,
2980, 2995, 3485, 3486, 3487, -2541, 3488, 3489, 3490, 3491,
3492, 3493, 5021, 2998, 3012, 3017, 3011, -2541, 1322, 1326,
3574, 3035, -2541, 3028, 3036, 3049, 5065, -2541, 3054, 2304,
3055, 3076, 3082, -2541, 3081, 3084, -2541, 3091, 3183, 4619,
-2541, 3103, 3123, 3099, 3127, 3195, 3206, 3215, 3485, 3486,
3487, 4880, 3488, 3489, 3490, 3491, 3492, 3493, -2635, -2635,
-2635, 3202, 3488, 3489, 3490, 3491, 3492, 3493, 3203, -2541,
834, 3221, 4267, 3227, 3226, 3234, 3241, 3228, 3239, 3245,
3246, 3254, 3266, 3267, 5055, 3281, 5057, 3285, 3296, -2541,
4867, 180, 3283, 3287, 4307, 3299, 3305, 3308, 3485, 3486,
3487, 3313, 3488, 3489, 3490, 3491, 3492, 3493, 3314, 3316,
3315, 3317, 3321, 2021, 3327, 3329, 2022, 3330, 3334, 3348,
2023, 2024, 2025, 3333, 3349, 3351, 3352, 3353, 3355, 2021,
-2541, 3358, 2022, -2541, 4678, 3360, 3361, 2026, 848, -2541,
3362, 1851, 812, 3363, 848, 2028, 1307, 3364, 3376, 3388,
3368, 3377, 2029, 812, 3391, 3395, 3834, 3390, 3397, 4350,
3400, 2028, 1898, 3401, 3402, 3403, 3404, 1895, -2635, 2277,
3405, 1860, 3413, 2691, 882, 883, 884, 2030, 885, 886,
887, 888, 889, 890, 812, 3415, 3416, 3417, 3577, 3427,
3432, 3424, 1176, 2030, -2541, 3434, 3438, 3439, 3182, 3446,
3441, 4911, 3463, 3460, -2132, 3474, 3442, 4398, 3461, 3462,
2100, 3467, 3529, 3468, 2326, 3470, 3473, 3496, 812, 3502,
3512, 3537, 2446, 5209, 3546, 3509, 1307, 1307, -1721, 3523,
3551, 3597, 3547, 4407, 3524, 4816, 3549, 3550, 3592, 3598,
3578, 3600, 3553, 3611, 3602, 3604, 3618, 751, 3624, 3629,
3640, 3632, 3636, 3631, 3089, 3637, 3089, 3643, 4685, 3652,
4073, 5215, 5217, 812, 3678, 3645, 3667, 866, 3680, 3668,
2755, 4977, 3684, 3685, -2541, 3686, 902, 3687, 3574, 4751,
3690, 893, 3703, 3702, 3705, 4840, 3713, 2031, 3711, 3712,
923, 3721, 2032, 3731, 3748, 3750, 1307, 3752, -2541, 3755,
-2541, -2541, 1953, -2635, 3756, 3759, 3761, 1307, -2635, 3763,
3764, 3777, 3778, 3779, 2033, 2034, 3780, 3792, 3781, 3800,
3782, 3783, 3796, 3798, 3785, 2407, 3784, 3786, 3787, 2035,
3789, 3791, 3813, 3809, 3788, 3816, -2541, 1307, 3790, -2541,
-2541, -2541, 3810, 3811, 3820, -2635, 3793, 1307, 1307, 3802,
3803, 3805, 3821, 3823, 1307, 1307, 3829, 3840, 3843, 1307,
3874, 4835, 2036, 3884, 1307, 3875, 3885, 1307, 1307, 3881,
3887, 3889, 1307, 4497, 3892, 3904, 2037, 3903, 1307, 812,
812, 812, 812, 3906, 3913, 3919, 4103, 4117, 4103, 3920,
1307, 4103, 2037, -2556, 4511, 3916, 3923, 3924, 3577, 4721,
3927, 3928, 3577, 5311, 3940, 3949, 3956, 3960, 4526, 3962,
3969, 3981, 3970, 3971, 3972, 3957, 3973, 3983, 3974, 3958,
3984, 3985, 3992, 895, 4987, 2449, 3993, 5067, 3994, 3996,
1307, 3976, 3997, 3998, 3610, 4987, 3999, 4551, 4000, 2911,
1975, 4004, 2466, 3499, 3478, -2131, 3498, 4054, 4538, 4540,
4013, 4078, 4065, 4095, 746, 1437, 4123, 1307, 4133, 4142,
4066, 2021, 4119, 2488, 2022, 4038, 2039, 4039, 4040, 5209,
4046, 4136, 4069, 4096, 4138, 4125, 4084, 3089, 3089, 4104,
4129, 5222, -2635, 4160, -2556, 4127, 4128, 4181, 3574, 1438,
4152, 4196, 3574, 2028, 4183, 2277, 180, 4184, 4197, 4198,
-2635, 4189, 4199, 4201, 4203, 4205, 4206, 4220, 4867, 4592,
4223, 5054, 4235, 4238, 5059, 4250, 4251, 4236, 4237, 2566,
4248, 4262, 4584, 1046, 4264, 2030, 4249, 4265, 4252, 4253,
4275, 4591, 4276, 2574, -2556, 4299, 4281, 4284, 4301, 4211,
4303, 4314, 4306, 4315, 4317, 1081, -2556, 4318, 1440, 4321,
4342, -2556, 2755, 4356, 4331, 4370, -2556, 2588, 1307, 4380,
4362, 4377, -2556, 2040, 4382, -2556, 2041, 2042, 2043, -2556,
2044, 2045, 2046, 2047, 2048, 2049, 2643, 2755, 4389, -2635,
848, 4376, 4383, 1441, 4399, 4404, 2044, 2045, 2046, 2047,
2048, 2049, 4074, 4405, 4420, 848, 4422, 4417, -2556, 4425,
4430, 2617, 1081, 4426, 5279, 4421, 4418, 4438, 4423, 4442,
4444, 4450, 4462, 4471, 4472, 4473, 4514, 4474, -2556, 1442,
5182, 4515, 4457, 4467, 4466, 1307, 4475, -2133, 4522, 4494,
4972, 4479, 4507, 4523, 4510, -2635, 4529, 4512, 4528, 4527,
-2635, 593, 5163, 4530, 4536, 4548, 4545, 2277, 4550, 4552,
4558, 4557, 4563, 1443, 4567, 4586, 1931, 4587, 4597, -2556,
4590, 4598, -2556, 4596, 4609, 4612, 4616, 4618, -2556, 2021,
2015, 1307, 2022, 4621, 4622, 4630, 4644, -2635, 595, 4638,
4639, 4652, 4653, 4658, 848, 1445, 3323, 4659, 4662, 4667,
4668, 4675, 1004, 4677, 5179, 4673, 4674, 4681, 1004, 4697,
2013, 2028, 4683, 4691, 4694, 4841, 4699, 4706, -2635, 893,
4716, 1004, 4717, 4718, 4726, 4738, 812, 4719, 4704, 4714,
1046, 4731, 4737, -2556, 2037, 4744, 35, 4752, 2261, 4754,
1447, 4745, 4747, 2030, 4755, 4756, 4757, 2785, 4779, 1448,
4763, 4769, 4772, 4798, 2013, 4807, 4783, 1449, 3590, 4801,
4804, 4839, 4810, 4821, 4831, 2262, 1307, 4832, 4826, 893,
4825, 2798, 4837, 4881, 4862, 1307, 4883, 1451, 4823, 4341,
4843, 4889, 4844, 4891, 4848, 1452, 751, 3548, 4893, 4853,
4900, 4917, 1307, 1307, 4854, 4855, 1307, 4894, 4897, 4918,
2755, 4899, 4925, 3567, 4930, 4882, 4935, 4927, 4944, 4945,
4492, 593, 4956, -2556, 4103, 4937, 4958, 4959, 3577, 4973,
4976, 4960, 180, 3577, -2635, 4980, 3577, 593, 4986, 3182,
5026, 4785, 4990, 1307, 1307, 5001, 4993, -2556, 5005, -2556,
-2556, 1453, 4997, 5027, 5024, 4802, 5033, 4168, 5432, 1307,
4999, 5039, 5016, -2635, 5082, 3567, 5084, 5096, -2635, 825,
4168, 895, 848, 848, 848, 5089, 5093, 5147, 5094, 5103,
5108, 5054, 595, 5114, 5123, -2556, 5115, 5127, -2556, -2556,
-2556, 595, 868, 5129, 5164, 5128, 5136, 5146, 5166, 595,
5168, 868, 595, 5145, 5139, -2635, 5154, 5167, 5170, 5171,
5175, 3574, 5176, 5137, 5138, 868, 5193, 5189, 3574, 5432,
860, 895, 5214, 3574, 5220, 5221, 3574, 5225, 5227, 5230,
5234, -2635, 5237, 5238, 5257, 5432, 5260, 5258, 2044, 2045,
2046, 2047, 2048, 2049, 5294, 5265, 5266, 3574, 5302, 5312,
5304, 5223, 2037, 5224, 5259, 5321, 5353, 1465, 2979, 4079,
3574, 5277, 5322, 1466, 860, 5358, 5339, 812, 5275, 5365,
5296, 5320, 2996, 5372, 5378, 592, 1568, 5386, 5383, 4350,
5409, 5392, 812, 5410, 5411, 2755, 1046, 812, 5419, 3089,
5421, 2021, 5425, 5443, 2022, 4951, 2277, 5446, 2023, 2024,
2025, 5447, 5459, 5442, 5460, 1468, 5445, 4915, 5466, 5467,
5471, 5472, 3029, 812, 5469, 2026, 1358, 4398, 2090, 2422,
3290, 3585, 1563, 2028, 1564, 3156, 3696, 3080, 4219, 5307,
2029, 848, 812, 4168, 4226, 5424, 5305, 3828, 1462, 4324,
2021, 3194, -2635, 2022, 5076, 5208, 4949, 2023, 2024, 2025,
5384, 4358, 4936, 4657, 3634, 2030, 4910, 1569, 1307, 1470,
5297, 1307, 3399, 1307, 2026, 5380, 1471, 826, 5228, 1472,
5226, 5319, 2028, 5397, 4814, 3639, 4388, 4408, 5187, 2029,
4351, 4224, 3891, 1307, 3264, 3265, 3715, 4375, 4679, 1307,
4916, 3255, 3899, 3577, 1473, 4921, 1552, 4785, 5473, 5385,
5464, 4895, 3846, 1307, 2030, 5363, 3841, 5324, 5035, 4842,
2497, 5195, 5004, 4845, 753, 1950, 4439, 5011, 1960, 5436,
2564, 2922, 4414, 3574, 3625, 2572, 5134, 2609, 1474, 1124,
2684, 2685, 3799, 4254, 2686, 812, 1738, 1931, 3895, -2635,
4274, 5344, 5458, 1335, 2184, 2860, 2044, 2045, 2046, 2047,
2048, 2049, 4541, 2634, 2867, 4803, 5291, 4146, 2868, 846,
1047, 2101, 1307, 2063, 3588, 2031, 3599, 2897, 859, 2878,
2032, 4126, 848, 848, 848, 848, 859, 5287, 2134, 859,
5169, 2133, 4533, 3574, 4099, 2896, 2138, 1475, 893, 1476,
4505, 4093, 2033, 2034, 2755, 2755, 4992, 5153, 4520, 1477,
5152, 4147, 4094, 5461, 2143, 5364, 5420, 2035, 1478, 2583,
593, 5278, 4048, 4971, 2031, 3250, 4800, 1532, 5289, 2032,
1479, 5290, 3455, 3544, 3217, 3542, 0, 0, 2836, 0,
0, 812, 2845, 0, 3577, 0, 1533, 0, 0, 0,
2036, 2033, 2034, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2037, 0, 2035, 2038, 1570, 0,
5117, 1481, 1482, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1534, 4211, 0, 2036,
1307, 1571, 0, 593, 2207, 0, 1307, 180, 0, 0,
5161, 0, 0, 2037, 0, 595, 2038, 1307, 0, 0,
0, 1307, 0, 1307, 0, 1307, 0, 868, 0, 0,
180, 0, 4168, 868, 3574, 0, 0, 0, 848, 0,
895, 0, 0, 0, 0, 5172, 868, 0, 0, 0,
0, 1307, 0, 0, 2039, 0, 0, 0, 0, 4212,
0, 0, 868, 0, 0, 5301, 1484, 595, 0, 0,
0, 0, 0, 1095, 0, 0, 0, 595, 868, 0,
0, 0, 1535, 0, 595, 0, 868, 595, 0, 0,
0, 0, 0, 3574, 0, 0, 1931, 1931, 0, 1095,
868, 0, 0, 2039, 0, 0, 0, 0, 0, 0,
868, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 3574, 0, 0, 3425, 0, 848, 0, 0,
1536, 0, 0, 1537, 5242, 0, 0, 0, 1307, 0,
5350, 5351, 3437, 0, 2374, 0, 4213, 5254, 0, 0,
0, 2040, 0, 0, 2041, 2042, 2043, 3445, 2044, 2045,
2046, 2047, 2048, 2049, 0, 0, 0, 0, 0, 0,
0, 3519, 1307, 1307, 1307, 0, 1539, 0, 3182, 0,
0, 1307, 0, 0, 0, 0, 0, 0, 0, 595,
595, 1307, 0, 0, 5004, 868, 0, 0, 0, 2911,
2040, 0, 0, 2041, 2042, 2043, 0, 2044, 2045, 2046,
2047, 2048, 2049, 0, 860, 0, 0, 2781, 0, 0,
1541, 595, 0, 0, 2013, 0, 0, 0, 0, 0,
0, 848, 0, 0, 0, 0, 0, 3574, 1931, 0,
4092, 0, 1542, 4097, 2020, 0, 0, 0, 0, 2021,
0, 0, 2022, 0, 0, 0, 2023, 2024, 2025, 0,
0, 0, 1544, 2277, 4214, 0, 0, 4215, 593, 0,
0, 0, 0, 2026, 1307, 0, 2027, 0, 5325, 0,
0, 2028, 0, 4168, 0, 0, 0, 0, 2029, 860,
860, 1307, 988, 0, 0, 0, 0, 184, 0, 0,
0, 1307, 0, 0, 5349, 5161, 5346, 0, 0, 5347,
0, 0, 0, 2030, 0, 5348, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 848, 0, 0, 0,
5408, 0, 0, 0, 0, 0, 595, 595, 1700, 0,
0, 0, 0, 0, 846, 595, 5474, 5475, 0, 0,
0, 0, 1095, 0, 859, 0, 595, 0, 5254, 848,
848, 859, 595, 4168, 859, 595, 2304, 0, 0, 0,
0, 0, 0, 3574, 0, 184, 0, 1095, 0, 0,
0, 0, 5349, 0, 5346, 0, 0, 5347, 0, 2420,
1307, 1307, 1095, 5348, 0, 0, 0, 0, 0, 0,
0, 0, 1307, 0, 0, 0, 0, 0, 737, 0,
0, 0, 0, 0, 737, 0, 0, 0, 0, 0,
0, 3650, 0, 2031, 0, 0, 0, 0, 2032, 0,
0, 0, 0, 0, 0, 1307, 0, 595, 595, 0,
3661, 0, 0, 0, 0, 1307, 0, 0, 3574, 0,
2033, 2034, 0, 3574, 0, 0, 0, 0, 0, 848,
0, 0, 4168, 0, 0, 2035, 0, 0, 0, 0,
0, 5161, 0, 0, 184, 593, 0, 1095, 0, 0,
0, 5349, 0, 5346, 0, 0, 5347, 0, 0, 0,
0, 0, 5348, 0, 0, 860, 860, 0, 2036, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2037, 0, 868, 2038, 0, 0, 0, 1465,
0, 0, 0, 0, 0, 1466, 0, 0, 0, 0,
0, 0, 868, 0, 0, 0, 3743, 0, 3745, 0,
0, 595, 0, 0, 0, 0, 0, 0, 0, 868,
0, 0, 3574, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2508, 0, 0, 1468, 0, 0,
0, 3567, 2525, 2021, 0, 0, 2022, 868, 0, 0,
2023, 2024, 2025, 0, 2420, 0, 1095, 0, 868, 0,
0, 0, 0, 0, 0, 0, 0, 2026, 0, 0,
180, 0, 2039, 868, 0, 2028, 868, 0, 0, 0,
0, 0, 2029, 0, 0, 2694, 0, 2319, 595, 0,
0, 1470, 846, 0, 0, 0, 0, 3795, 1471, 0,
0, 1472, 0, 859, 0, 0, 0, 2030, 0, 859,
0, 0, 859, 0, 0, 0, 0, 0, 595, 0,
0, 0, 0, 0, 0, 0, 1473, 0, 0, 0,
2602, 0, 0, 0, 2695, 0, 3814, 0, 0, 0,
0, 0, 0, 0, 0, 0, 595, 595, 595, 0,
595, 0, 0, 0, 0, 0, 0, 2420, 0, 0,
1474, 0, 0, 0, 0, 0, 2696, 0, 0, 2040,
595, 0, 2041, 2042, 2043, 0, 2044, 2045, 2046, 2047,
2048, 2049, 0, 0, 1801, 1802, 0, 0, 0, 2697,
0, 0, 0, 0, 868, 0, 0, 0, 0, 0,
2698, 0, 868, 868, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 2031, 0, 1475,
2699, 1476, 2032, 0, 0, 2700, 0, 0, 0, 0,
0, 1477, 0, 0, 0, 0, 0, 0, 3029, 0,
1478, 0, 595, 0, 2033, 2034, 595, 595, 0, 0,
0, 3567, 1479, 0, 0, 3567, 0, 0, 0, 2035,
0, 595, 0, 0, 0, 1095, 0, 0, 0, 0,
3951, 1700, 0, 0, 0, 0, 2701, 0, 0, 0,
0, 0, 0, 0, 0, 180, 180, 0, 0, 0,
2320, 0, 2036, 1481, 1482, 0, 0, 2702, 0, 0,
0, 0, 0, 0, 0, 0, 2037, 0, 0, 2038,
2021, 0, 0, 2022, 0, 0, 0, 2023, 2024, 2025,
0, 1465, 0, 2321, 0, 0, 0, 1466, 0, 0,
1095, 0, 0, 0, 2026, 0, 0, 0, 0, 0,
1467, 0, 2028, 0, 0, 0, 0, 0, 0, 2029,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 206, 2703, 0, 0, 2704, 1468,
0, 1095, 4005, 0, 2030, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1484, 0,
0, 0, 0, 4014, 2705, 0, 2039, 2706, 0, 0,
0, 0, 0, 2707, 1095, 0, 0, 0, 0, 0,
2708, 0, 0, 0, 0, 0, 0, 2913, 4037, 1469,
2218, 0, 0, 1470, 0, 2219, 0, 0, 0, 0,
1471, 0, 0, 1472, 0, 2929, 0, 0, 2709, 0,
0, 2933, 0, 2710, 0, 2936, 2711, 0, 0, 0,
0, 0, 1956, 0, 0, 0, 0, 0, 1473, 0,
2220, 0, 0, 0, 868, 2712, 0, 0, 0, 0,
0, 2960, 0, 2221, 0, 0, 0, 0, 0, 595,
595, 595, 0, 0, 2031, 0, 0, 0, 2222, 2032,
2713, 0, 1474, 2040, 0, 0, 2041, 2042, 2043, 0,
2044, 2045, 2046, 2047, 2048, 2049, 0, 0, 0, 0,
3842, 2033, 2034, 0, 0, 0, 0, 3015, 0, 0,
0, 0, 0, 0, 0, 0, 2035, 0, 0, 2223,
0, 0, 0, 0, 0, 1004, 180, 0, 0, 0,
2224, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1475, 0, 1476, 0, 0, 0, 0, 0, 2036,
2225, 0, 0, 1477, 0, 2226, 0, 0, 3065, 0,
0, 0, 1478, 2037, 0, 0, 2038, 737, 0, 737,
0, 737, 1095, 0, 1479, 0, 0, 737, 1164, 1165,
0, 0, 0, 0, 3094, 0, 0, 0, 0, 1095,
0, 3104, 0, 0, 0, 0, 0, 3109, 1095, 0,
0, 0, 0, 0, 1004, 1700, 0, 0, 3124, 0,
1095, 0, 1480, 3128, 0, 1481, 1482, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 2227, 0, 868,
0, 0, 0, 3141, 0, 0, 0, 868, 3143, 0,
0, 0, 3146, 0, 0, 1483, 0, 0, 0, 868,
0, 3567, 0, 2039, 0, 3163, 3567, 0, 0, 3567,
0, 2228, 0, 0, 0, 0, 1095, 0, 3188, 0,
0, 0, 0, 595, 0, 0, 595, 0, 1004, 0,
1095, 0, 0, 0, 0, 0, 595, 0, 0, 0,
0, 0, 1095, 0, 206, 2229, 0, 0, 0, 0,
0, 0, 0, 0, 1095, 663, 0, 0, 0, 0,
1484, 0, 0, 0, 750, 0, 0, 0, 0, 0,
737, 595, 595, 0, 868, 868, 0, 2230, 0, 0,
0, 0, 0, 2231, 0, 0, 595, 0, 868, 595,
2232, 0, 0, 2233, 0, 0, 0, 0, 1095, 1095,
2040, 868, 868, 2041, 2042, 2043, 0, 2044, 2045, 2046,
2047, 2048, 2049, 0, 0, 2443, 0, 868, 0, 0,
0, 0, 0, 2234, 0, 0, 0, 0, 0, 0,
2235, 0, 0, 0, 0, 0, 4361, 0, 2236, 0,
0, 0, 0, 0, 0, 2237, 0, 0, 0, 595,
0, 0, 595, 595, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 180, 0, 0, 0, 0, 0,
2238, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 595, 0, 595, 0, 0,
0, 0, 595, 595, 0, 0, 0, 0, 0, 595,
595, 595, 0, 180, 0, 595, 0, 595, 595, 595,
595, 595, 595, 0, 595, 0, 595, 595, 0, 0,
595, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 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, 0, 3567, 0, 0, 0,
595, 3412, 595, 0, 0, 0, 2013, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 3426,
0, 0, 0, 0, 0, 0, 0, 3412, 0, 3339,
846, 0, 0, 846, 0, 0, 0, 0, 2021, 0,
0, 2022, 595, 0, 0, 2023, 2024, 2025, 0, 0,
1437, 1956, 0, 0, 0, 0, 0, 0, 595, 0,
0, 0, 2026, 0, 0, 0, 0, 595, 595, 0,
2028, 0, 0, 737, 0, 0, 0, 2029, 859, 859,
0, 0, 0, 0, 1438, 0, 0, 0, 0, 0,
0, 0, 868, 859, 0, 0, 859, 0, 0, 1095,
0, 0, 2030, 1095, 1095, 0, 0, 0, 0, 0,
868, 0, 0, 0, 0, 1700, 868, 0, 0, 0,
868, 0, 0, 0, 0, 0, 0, 0, 868, 0,
0, 0, 0, 0, 0, 0, 0, 3567, 0, 0,
0, 0, 0, 1440, 0, 0, 868, 180, 0, 595,
0, 0, 0, 0, 0, 0, 859, 0, 0, 859,
859, 595, 0, 0, 0, 1095, 4571, 0, 595, 0,
0, 595, 595, 0, 0, 0, 0, 0, 1441, 1095,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 868, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 4593, 0, 0, 0, 3340,
868, 868, 2031, 0, 1442, 0, 0, 2032, 0, 1095,
0, 0, 180, 0, 1465, 0, 4608, 0, 0, 0,
1466, 0, 0, 0, 0, 0, 0, 0, 0, 2033,
2034, 0, 1700, 868, 0, 0, 1700, 0, 1443, 0,
0, 737, 0, 0, 2035, 0, 737, 737, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 868,
0, 1700, 1468, 0, 0, 0, 868, 0, 0, 0,
1445, 0, 868, 0, 0, 0, 0, 2036, 0, 868,
0, 4635, 0, 868, 0, 0, 0, 0, 868, 0,
0, 2037, 0, 0, 2038, 0, 3646, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 868, 0,
0, 35, 0, 868, 0, 1447, 1470, 868, 0, 0,
1700, 0, 0, 1471, 1448, 0, 1472, 0, 0, 0,
868, 0, 1449, 0, 0, 0, 0, 0, 1465, 0,
2262, 0, 0, 868, 1466, 0, 0, 0, 0, 0,
0, 1473, 1451, 868, 737, 0, 0, 0, 0, 0,
1452, 0, 0, 0, 737, 980, 0, 0, 0, 0,
595, 595, 595, 0, 0, 0, 595, 0, 0, 0,
0, 2039, 3342, 0, 0, 1474, 1468, 0, 0, 0,
0, 0, 0, 0, 0, 4725, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1164, 1165, 3726, 0,
0, 595, 1095, 0, 0, 0, 1453, 0, 1045, 663,
3343, 1700, 0, 0, 0, 0, 0, 0, 846, 0,
0, 0, 0, 0, 0, 859, 0, 0, 859, 859,
1470, 1956, 0, 0, 1475, 180, 1476, 1471, 0, 737,
1472, 0, 737, 737, 0, 595, 1477, 0, 0, 0,
0, 0, 0, 0, 0, 1478, 0, 0, 0, 0,
0, 180, 0, 0, 0, 1473, 0, 1479, 2040, 0,
0, 2041, 2042, 2043, 0, 2044, 2045, 2046, 2047, 2048,
2049, 0, 0, 0, 1095, 4006, 0, 0, 0, 868,
0, 0, 0, 0, 0, 0, 0, 0, 595, 1474,
0, 0, 0, 1183, 0, 1597, 0, 0, 1481, 1482,
0, 0, 0, 0, 0, 0, 0, 0, 0, 3807,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1202,
0, 0, 0, 0, 0, 0, 0, 1310, 1598, 5407,
1319, 1045, 1321, 0, 868, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1475, 0,
1476, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1477, 0, 0, 0, 0, 0, 0, 0, 0, 1478,
0, 0, 0, 0, 0, 0, 868, 0, 0, 0,
0, 1479, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1095, 1484, 868, 0, 0, 0, 0, 0,
0, 1465, 868, 0, 0, 0, 595, 1466, 0, 1095,
0, 0, 595, 737, 0, 595, 0, 0, 595, 2242,
1568, 0, 1481, 1482, 1095, 0, 0, 0, 180, 0,
0, 0, 0, 0, 0, 595, 0, 0, 0, 0,
595, 0, 0, 0, 0, 0, 0, 0, 0, 1468,
0, 0, 2243, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 595, 595, 595, 0, 0, 595, 0,
0, 0, 0, 0, 0, 0, 595, 595, 595, 595,
0, 0, 0, 0, 1700, 0, 0, 0, 0, 595,
1700, 0, 595, 0, 595, 0, 0, 0, 2420, 0,
1956, 1569, 0, 1470, 0, 595, 595, 0, 0, 595,
1471, 0, 0, 1472, 0, 0, 3977, 1484, 0, 0,
0, 0, 0, 595, 2578, 595, 0, 595, 0, 0,
0, 0, 0, 0, 2586, 0, 2587, 0, 1473, 0,
3795, 3991, 2591, 2021, 0, 0, 2022, 595, 0, 2597,
2023, 2024, 2025, 0, 0, 0, 0, 0, 595, 0,
0, 0, 2021, 0, 0, 2022, 868, 2026, 0, 2023,
2024, 2025, 1474, 0, 0, 2028, 0, 0, 0, 0,
0, 595, 2029, 0, 0, 0, 2026, 0, 0, 0,
0, 0, 0, 1956, 2028, 0, 595, 0, 1956, 1956,
0, 2029, 0, 0, 0, 0, 0, 2030, 0, 0,
595, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2030, 0, 0, 1095,
0, 1475, 1095, 1476, 1095, 0, 0, 0, 0, 1095,
0, 0, 0, 1477, 0, 0, 0, 0, 0, 0,
0, 0, 1478, 0, 868, 868, 0, 0, 0, 0,
595, 0, 0, 0, 1479, 0, 0, 0, 1045, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2729,
2730, 868, 0, 846, 868, 1045, 2744, 2745, 1095, 859,
0, 0, 859, 0, 0, 859, 0, 0, 0, 0,
0, 2021, 3153, 0, 2022, 1481, 1482, 1095, 2023, 2024,
2025, 5135, 0, 0, 2783, 0, 0, 2031, 0, 1955,
0, 0, 2032, 0, 0, 2026, 0, 0, 0, 0,
0, 0, 1095, 2028, 0, 3154, 2031, 0, 0, 0,
2029, 2032, 1045, 0, 2033, 2034, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2035,
0, 0, 0, 2033, 2034, 2030, 0, 0, 0, 1700,
1700, 1700, 0, 0, 4191, 0, 0, 0, 2035, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2036, 868, 0, 0, 0, 0, 0, 0,
1484, 0, 0, 1095, 0, 1095, 2037, 0, 0, 2038,
0, 2036, 0, 868, 0, 0, 0, 0, 2017, 0,
0, 2887, 2887, 0, 0, 2037, 0, 2019, 2038, 0,
0, 0, 868, 0, 0, 592, 0, 0, 0, 0,
0, 2061, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1045, 0, 0, 2078, 2079, 0, 0, 0, 1045, 1045,
0, 0, 0, 0, 0, 2031, 0, 0, 0, 0,
2032, 0, 737, 0, 0, 0, 0, 592, 0, 4289,
0, 0, 4292, 0, 1095, 0, 2039, 0, 0, 0,
0, 0, 2033, 2034, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 868, 2039, 5283, 2035, 0, 595,
0, 0, 0, 0, 0, 595, 0, 0, 0, 0,
0, 0, 0, 1095, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2036, 0, 0, 0, 0, 0, 0, 0, 1095, 0,
0, 0, 0, 0, 2037, 1700, 1095, 2038, 0, 0,
0, 0, 868, 0, 868, 0, 3031, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 868, 0, 868,
0, 0, 0, 2040, 4372, 0, 2041, 2042, 2043, 0,
2044, 2045, 2046, 2047, 2048, 2049, 0, 0, 0, 0,
4057, 1700, 2040, 2420, 0, 2041, 2042, 2043, 0, 2044,
2045, 2046, 2047, 2048, 2049, 0, 0, 0, 0, 4162,
0, 0, 0, 0, 0, 1095, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 868, 1095, 2039, 0, 0, 1816, 737, 0,
0, 0, 0, 0, 0, 0, 737, 1095, 2021, 737,
0, 2022, 0, 0, 0, 2023, 2024, 2025, 0, 0,
0, 0, 0, 0, 0, 1843, 3412, 0, 2379, 0,
0, 0, 2026, 0, 2384, 0, 0, 0, 0, 0,
2028, 0, 0, 868, 0, 1861, 0, 2029, 0, 0,
0, 0, 0, 0, 0, 1872, 0, 0, 0, 1875,
0, 868, 0, 1878, 0, 1880, 0, 0, 0, 0,
0, 1888, 2030, 0, 0, 0, 0, 1896, 0, 0,
1899, 0, 0, 868, 0, 0, 868, 0, 0, 0,
0, 2040, 0, 0, 2041, 2042, 2043, 0, 2044, 2045,
2046, 2047, 2048, 2049, 0, 0, 595, 0, 4458, 1095,
0, 0, 0, 0, 0, 595, 0, 0, 0, 0,
0, 595, 0, 595, 0, 0, 595, 0, 0, 0,
1095, 595, 595, 595, 595, 0, 0, 595, 595, 595,
595, 595, 595, 595, 595, 595, 595, 0, 0, 0,
595, 595, 0, 0, 0, 1095, 0, 0, 0, 0,
595, 0, 0, 0, 595, 0, 1700, 0, 595, 0,
0, 0, 0, 0, 0, 0, 595, 0, 0, 595,
0, 595, 2031, 0, 0, 0, 0, 2032, 0, 1095,
595, 0, 0, 595, 595, 0, 0, 0, 595, 595,
0, 0, 0, 0, 0, 595, 0, 0, 0, 2033,
2034, 0, 0, 0, 0, 595, 0, 0, 595, 0,
0, 0, 0, 0, 2035, 3365, 3367, 0, 0, 0,
595, 3375, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2519, 0,
0, 0, 2524, 0, 595, 0, 0, 2036, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
595, 2037, 0, 0, 2038, 0, 1095, 0, 0, 0,
0, 0, 0, 4603, 0, 0, 0, 0, 595, 0,
0, 0, 737, 0, 0, 4613, 0, 0, 0, 0,
0, 0, 0, 0, 2021, 0, 0, 2022, 0, 0,
0, 2023, 2024, 2025, 0, 0, 0, 0, 0, 868,
0, 0, 0, 0, 2021, 0, 0, 2022, 2026, 0,
0, 2023, 2024, 2025, 0, 0, 2028, 0, 0, 0,
0, 0, 0, 2029, 1465, 0, 0, 0, 2026, 0,
1466, 0, 0, 0, 0, 0, 2028, 0, 0, 0,
0, 2039, 0, 2029, 0, 0, 0, 0, 2030, 0,
1700, 0, 0, 0, 0, 1700, 1095, 1700, 0, 0,
0, 0, 0, 0, 0, 0, 0, 2021, 2030, 0,
2022, 0, 1468, 0, 2023, 2024, 2025, 0, 0, 1700,
1095, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2026, 0, 0, 0, 0, 0, 0, 1700, 2028,
0, 0, 0, 0, 0, 0, 2029, 0, 0, 0,
0, 0, 0, 0, 868, 0, 0, 868, 0, 0,
0, 0, 0, 0, 0, 0, 1470, 0, 0, 0,
0, 2030, 0, 1471, 0, 0, 1472, 0, 2040, 0,
0, 2041, 2042, 2043, 2740, 2044, 2045, 2046, 2047, 2048,
2049, 0, 0, 0, 0, 4493, 0, 0, 2031, 0,
0, 1473, 0, 2032, 0, 0, 0, 0, 3583, 0,
737, 3412, 592, 0, 0, 592, 0, 0, 2031, 0,
0, 0, 0, 2032, 595, 2033, 2034, 0, 0, 0,
0, 0, 3595, 3595, 0, 1474, 0, 0, 0, 0,
2035, 0, 0, 0, 0, 2033, 2034, 0, 0, 868,
868, 0, 0, 1095, 0, 0, 0, 0, 0, 868,
2035, 0, 0, 0, 0, 0, 595, 0, 0, 0,
0, 0, 0, 2036, 0, 2853, 0, 1465, 868, 0,
0, 2031, 0, 1466, 0, 592, 2032, 2037, 0, 0,
2038, 0, 0, 2036, 1475, 0, 1476, 0, 0, 0,
0, 0, 0, 1095, 595, 595, 1477, 2037, 2033, 2034,
2038, 0, 0, 0, 0, 1478, 0, 3412, 0, 3412,
0, 0, 0, 2035, 0, 1468, 0, 1479, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 868, 0, 0, 0, 1465, 2036, 0, 0, 0,
0, 1466, 0, 0, 0, 3024, 0, 0, 1481, 1482,
2037, 0, 0, 2038, 595, 0, 0, 2039, 0, 1470,
0, 0, 0, 0, 1045, 595, 1471, 0, 0, 1472,
0, 0, 0, 0, 0, 0, 0, 2039, 1483, 0,
0, 0, 0, 1468, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1473, 595, 0, 0, 0, 0,
0, 0, 0, 0, 0, 595, 595, 0, 1095, 0,
0, 0, 595, 595, 0, 0, 0, 595, 1095, 0,
0, 0, 595, 0, 0, 595, 595, 0, 1474, 0,
595, 0, 0, 0, 0, 1321, 595, 1470, 0, 0,
2039, 0, 0, 1484, 1471, 0, 0, 1472, 595, 0,
0, 0, 0, 0, 2040, 0, 595, 2041, 2042, 2043,
595, 2044, 2045, 2046, 2047, 2048, 2049, 0, 0, 0,
0, 4742, 1473, 0, 2040, 0, 0, 2041, 2042, 2043,
0, 2044, 2045, 2046, 2047, 2048, 2049, 1475, 595, 1476,
0, 4753, 0, 0, 0, 0, 0, 0, 0, 1477,
0, 0, 0, 0, 0, 0, 1474, 0, 1478, 0,
2604, 0, 0, 0, 1321, 595, 0, 0, 2611, 0,
1479, 0, 0, 592, 0, 0, 0, 0, 0, 0,
0, 1321, 0, 1095, 0, 0, 0, 2040, 2623, 0,
2041, 2042, 2043, 0, 2044, 2045, 2046, 2047, 2048, 2049,
868, 0, 0, 0, 4762, 1700, 0, 0, 3197, 0,
0, 1481, 1482, 0, 0, 1475, 0, 1476, 0, 0,
0, 0, 1095, 0, 0, 0, 0, 1477, 0, 0,
0, 0, 737, 0, 0, 0, 1478, 0, 868, 0,
737, 3198, 3191, 1095, 0, 0, 0, 0, 1479, 0,
868, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 3880, 0, 595, 0, 0, 0,
0, 0, 0, 0, 0, 0, 3220, 868, 0, 3220,
0, 3220, 0, 0, 0, 3220, 3672, 3220, 3220, 1481,
1482, 0, 0, 0, 0, 0, 3220, 3220, 3220, 0,
0, 0, 2021, 0, 0, 2022, 1484, 0, 1095, 2023,
2024, 2025, 0, 0, 0, 0, 0, 0, 0, 3673,
0, 0, 0, 0, 0, 0, 2026, 0, 0, 0,
0, 0, 0, 595, 2028, 0, 0, 0, 0, 0,
0, 2029, 0, 0, 0, 0, 3953, 0, 0, 595,
0, 0, 0, 0, 3300, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2030, 0, 0, 0,
0, 0, 868, 0, 0, 0, 0, 0, 0, 595,
0, 0, 0, 592, 1484, 0, 3332, 592, 0, 0,
2858, 0, 0, 1465, 0, 1045, 0, 0, 0, 1466,
0, 2021, 0, 0, 2022, 0, 0, 0, 2023, 2024,
2025, 1465, 0, 0, 0, 0, 0, 1466, 0, 0,
1095, 0, 1095, 0, 0, 2026, 0, 737, 0, 0,
0, 0, 0, 2028, 0, 0, 0, 0, 0, 0,
2029, 1468, 0, 0, 0, 0, 868, 0, 0, 0,
1045, 0, 0, 0, 0, 0, 0, 0, 0, 1468,
0, 0, 0, 0, 595, 2030, 0, 0, 1095, 0,
0, 0, 0, 595, 0, 0, 2031, 0, 0, 0,
0, 2032, 0, 0, 0, 0, 0, 0, 0, 0,
595, 595, 0, 0, 595, 1470, 0, 0, 0, 0,
0, 0, 1471, 2033, 2034, 1472, 0, 0, 0, 595,
0, 0, 0, 1470, 0, 0, 595, 0, 2035, 0,
1471, 595, 0, 1472, 595, 595, 0, 0, 0, 0,
1473, 595, 595, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 595, 0, 595, 1473, 0,
0, 2036, 868, 0, 868, 0, 0, 0, 595, 0,
0, 0, 0, 0, 1474, 2037, 0, 0, 2038, 0,
0, 0, 0, 3412, 0, 2031, 0, 0, 0, 0,
2032, 0, 1474, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1095, 868,
0, 0, 2033, 2034, 0, 0, 0, 0, 595, 0,
0, 0, 0, 0, 0, 0, 0, 2035, 0, 0,
0, 0, 0, 1475, 0, 1476, 4664, 0, 0, 0,
0, 0, 0, 0, 0, 1477, 0, 0, 0, 0,
0, 1475, 0, 1476, 1478, 0, 1700, 0, 0, 0,
2036, 0, 595, 1477, 0, 2039, 1479, 0, 0, 0,
0, 0, 1478, 0, 2037, 0, 0, 2038, 0, 0,
0, 0, 0, 0, 1479, 0, 0, 0, 0, 0,
0, 0, 1045, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 3728, 0, 0, 1481, 1482, 0,
0, 0, 1437, 0, 0, 0, 0, 0, 4940, 0,
737, 0, 0, 0, 0, 1481, 1482, 0, 0, 0,
0, 595, 0, 1095, 0, 0, 0, 3729, 0, 0,
0, 0, 0, 0, 737, 0, 1438, 0, 0, 0,
0, 737, 0, 0, 0, 1483, 595, 1095, 0, 595,
1437, 595, 2040, 0, 2039, 2041, 2042, 2043, 0, 2044,
2045, 2046, 2047, 2048, 2049, 0, 1439, 0, 0, 4765,
0, 595, 0, 0, 0, 0, 0, 595, 0, 0,
0, 595, 0, 0, 1438, 0, 592, 1095, 0, 0,
0, 595, 1484, 592, 0, 1440, 0, 0, 592, 0,
1045, 592, 4781, 0, 0, 0, 0, 0, 1437, 0,
1484, 0, 0, 0, 1506, 0, 0, 0, 1164, 1165,
0, 0, 592, 0, 0, 0, 0, 0, 0, 0,
1441, 0, 1700, 0, 0, 592, 0, 0, 0, 0,
1095, 0, 1438, 1440, 0, 1095, 1095, 0, 0, 0,
595, 2040, 0, 0, 2041, 2042, 2043, 868, 2044, 2045,
2046, 2047, 2048, 2049, 0, 0, 1442, 3354, 4812, 868,
0, 0, 1523, 0, 3359, 0, 0, 0, 1441, 0,
0, 0, 0, 0, 0, 859, 0, 0, 0, 0,
0, 3720, 0, 0, 3378, 0, 0, 0, 595, 0,
1443, 1440, 0, 0, 3384, 0, 0, 3385, 0, 3386,
3387, 873, 0, 3389, 1442, 0, 0, 0, 0, 3393,
0, 3394, 595, 907, 3396, 0, 0, 0, 0, 859,
0, 1444, 1445, 0, 925, 0, 1441, 0, 0, 0,
0, 0, 0, 0, 0, 0, 3758, 0, 1443, 0,
0, 0, 0, 0, 0, 0, 0, 1095, 1095, 0,
0, 0, 737, 0, 0, 0, 0, 0, 0, 1446,
0, 0, 1442, 35, 0, 0, 0, 1447, 595, 1507,
1445, 595, 0, 0, 595, 0, 1448, 3435, 0, 0,
0, 0, 0, 0, 1449, 595, 0, 0, 592, 595,
0, 595, 1450, 595, 0, 0, 1443, 0, 0, 0,
595, 0, 3797, 0, 1451, 0, 0, 1508, 0, 0,
0, 35, 1452, 0, 0, 1447, 0, 0, 0, 595,
0, 0, 0, 0, 1448, 0, 0, 1524, 1445, 0,
0, 0, 1449, 0, 0, 0, 0, 0, 2021, 0,
1509, 2022, 0, 0, 3220, 2023, 2024, 2025, 592, 0,
0, 0, 1451, 0, 1700, 0, 868, 0, 3827, 0,
1452, 0, 2026, 0, 3838, 1525, 0, 0, 1453, 35,
2028, 0, 3838, 1447, 0, 0, 0, 2029, 1045, 0,
1045, 0, 1448, 0, 0, 0, 0, 0, 0, 0,
1449, 0, 0, 0, 0, 0, 0, 0, 1526, 0,
0, 0, 2030, 0, 0, 0, 595, 0, 0, 0,
1451, 0, 0, 0, 0, 595, 1453, 0, 1452, 0,
0, 0, 0, 0, 0, 0, 3902, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
595, 595, 595, 0, 0, 0, 0, 0, 0, 595,
1700, 0, 0, 1095, 0, 0, 0, 3935, 1045, 595,
0, 0, 0, 601, 0, 5095, 0, 0, 868, 652,
601, 0, 0, 0, 1453, 705, 0, 601, 0, 0,
0, 737, 595, 601, 0, 756, 737, 0, 0, 592,
737, 0, 0, 0, 0, 0, 0, 868, 0, 0,
0, 0, 0, 0, 823, 823, 0, 0, 0, 0,
0, 0, 2031, 0, 0, 4606, 4607, 2032, 0, 0,
4610, 4611, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 595, 0, 0, 2033,
2034, 0, 595, 3644, 0, 0, 0, 0, 592, 0,
0, 595, 0, 0, 2035, 0, 0, 595, 595, 595,
0, 0, 0, 0, 0, 0, 0, 0, 0, 595,
0, 0, 0, 0, 0, 0, 0, 592, 0, 0,
0, 0, 0, 0, 0, 0, 0, 2036, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2037, 868, 0, 2038, 939, 0, 0, 0, 0,
0, 986, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 595, 3704, 0, 3706,
0, 595, 0, 0, 0, 0, 0, 0, 0, 0,
0, 4058, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 855, 0, 0, 0, 0, 0, 595, 595,
897, 0, 0, 899, 0, 0, 904, 905, 0, 908,
595, 910, 0, 0, 916, 0, 918, 0, 0, 0,
0, 0, 0, 0, 1700, 0, 0, 0, 0, 0,
0, 2039, 592, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 595, 0, 0, 0, 0, 0, 2021,
0, 0, 2022, 595, 0, 0, 2023, 2024, 2025, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
595, 0, 0, 2026, 0, 0, 0, 0, 0, 0,
0, 2028, 0, 595, 0, 1700, 0, 0, 2029, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 859,
0, 1700, 0, 595, 595, 1191, 3794, 0, 0, 0,
0, 0, 3801, 2030, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2040, 0,
1314, 2041, 2042, 2043, 0, 2044, 2045, 2046, 2047, 2048,
2049, 0, 0, 0, 0, 4847, 0, 0, 0, 1337,
0, 0, 2021, 5328, 0, 2022, 0, 0, 0, 2023,
2024, 2025, 0, 0, 0, 0, 0, 0, 592, 0,
0, 1365, 0, 0, 859, 859, 2026, 0, 0, 0,
0, 0, 3838, 0, 2028, 0, 0, 0, 0, 0,
0, 2029, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 4260, 0, 0, 0,
0, 0, 737, 0, 4268, 1496, 2030, 4269, 0, 4270,
0, 0, 0, 2031, 0, 0, 0, 0, 2032, 0,
0, 2021, 0, 0, 2022, 0, 0, 0, 2023, 2024,
2025, 0, 0, 592, 0, 0, 0, 0, 592, 0,
2033, 2034, 0, 0, 0, 2026, 0, 0, 0, 0,
0, 4309, 0, 2028, 0, 2035, 0, 0, 0, 0,
2029, 0, 0, 0, 3220, 0, 0, 0, 3220, 3220,
0, 3220, 0, 0, 0, 0, 3827, 0, 0, 0,
0, 0, 0, 0, 0, 2030, 0, 0, 2036, 0,
0, 0, 0, 0, 3959, 0, 3961, 0, 3963, 0,
0, 0, 2037, 0, 0, 2038, 0, 3967, 0, 0,
0, 0, 0, 0, 0, 0, 2031, 0, 0, 0,
0, 2032, 0, 0, 0, 0, 0, 0, 0, 0,
1754, 0, 0, 0, 0, 0, 0, 592, 0, 0,
0, 0, 0, 2033, 2034, 0, 0, 0, 3990, 0,
5463, 0, 0, 0, 0, 0, 0, 0, 2035, 1792,
1795, 1796, 0, 0, 0, 0, 0, 0, 0, 0,
859, 859, 0, 0, 0, 4411, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2036, 2039, 0, 0, 2031, 0, 0, 0, 989,
2032, 0, 0, 0, 0, 2037, 0, 998, 2038, 0,
0, 0, 0, 0, 1011, 1012, 0, 0, 1018, 0,
1021, 1022, 2033, 2034, 0, 1024, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1042, 2035, 0, 0,
4447, 4447, 4447, 0, 4447, 4447, 4447, 4447, 4447, 0,
0, 1052, 0, 0, 0, 0, 0, 0, 0, 737,
737, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2036, 0, 0, 737, 0, 0, 1120, 0, 1122, 0,
0, 0, 0, 0, 2037, 0, 0, 2038, 1138, 2040,
0, 0, 2041, 2042, 2043, 2039, 2044, 2045, 2046, 2047,
2048, 2049, 0, 0, 1314, 0, 4888, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
601, 0, 0, 0, 0, 0, 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, 1192, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 4532, 2039, 4534, 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, 823, 0, 0, 0, 5198,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1428,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5206, 0, 0, 0, 0, 0, 2092, 0, 0, 0,
0, 2040, 0, 0, 2041, 2042, 2043, 0, 2044, 2045,
2046, 2047, 2048, 2049, 0, 0, 0, 0, 5327, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1600, 0, 0, 0, 2021, 2145, 0, 2022, 0,
0, 0, 2023, 2024, 2025, 0, 0, 0, 0, 0,
0, 0, 1711, 0, 0, 0, 0, 0, 0, 2026,
0, 0, 0, 0, 1722, 0, 0, 2028, 0, 1725,
0, 0, 4633, 4634, 2029, 0, 0, 0, 0, 1728,
0, 0, 0, 3220, 1732, 3220, 3220, 0, 0, 3220,
0, 0, 1735, 0, 0, 0, 0, 0, 1745, 2030,
0, 1749, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2271, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2295, 0, 0, 737, 2021, 737,
0, 2022, 0, 0, 0, 2023, 2024, 2025, 0, 0,
0, 0, 1803, 0, 0, 0, 0, 0, 0, 0,
0, 4693, 2026, 0, 0, 2332, 0, 0, 0, 0,
2028, 0, 0, 0, 0, 0, 0, 2029, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2355, 0,
0, 2358, 0, 0, 0, 4720, 0, 0, 0, 0,
0, 0, 2030, 0, 0, 0, 0, 0, 0, 4429,
0, 0, 0, 4431, 0, 0, 0, 0, 0, 2031,
0, 0, 0, 0, 2032, 0, 0, 0, 4447, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2406, 0, 0, 0, 2033, 2034, 0, 0,
0, 0, 0, 0, 0, 0, 2424, 0, 0, 0,
0, 2035, 0, 0, 0, 0, 0, 601, 0, 601,
0, 601, 0, 601, 0, 601, 601, 601, 0, 0,
0, 0, 601, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1951, 2036, -129, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2037, 0,
0, 2038, 2031, 1, 0, 0, 0, 2032, 0, 737,
0, 0, 0, 2, 0, 3, 4, 0, 5430, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2033,
2034, 5, 0, 0, 0, 0, 0, 0, 0, 0,
6, 0, 0, 0, 2035, 0, 0, 0, 0, 0,
0, 0, 7, 0, 8, 9, 0, 2447, 0, 0,
0, 10, 0, 11, 3838, 0, 0, 0, 0, 0,
0, 0, 0, 0, 12, 0, 13, 2036, 0, 5430,
0, 0, 0, 0, 0, 0, 0, 0, 2039, 0,
0, 2037, 0, 14, 2038, 5430, 15, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 3220, 0, 0,
16, 2501, 17, 0, 4570, 0, 18, 0, 0, 0,
0, 0, 19, 0, 0, 0, 0, 0, 0, 0,
20, 0, 21, 0, 0, 0, 0, 0, 22, 0,
2544, 0, 0, 0, 0, 0, 0, 2557, 0, 0,
0, 0, 0, 0, 23, 0, 4594, 4595, 823, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 24, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2039, 0, 0, 0, 2040, 0, 0, 2041, 2042,
2043, 0, 2044, 2045, 2046, 2047, 2048, 2049, 2021, 0,
0, 2022, 5396, 0, 0, 2023, 2024, 2025, 0, 0,
0, 25, 26, 0, 0, 0, 0, 27, 0, 0,
0, 0, 2026, 0, 0, 0, 0, 0, 0, 28,
2028, 0, 0, 0, 0, 0, 0, 2029, 0, 2240,
0, 29, 4636, 4637, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2632, 0, 0, 0, 0, 0, 0,
0, 0, 2030, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2040, 0,
0, 2041, 2042, 2043, 30, 2044, 2045, 2046, 2047, 2048,
2049, 0, 0, 1314, 1314, 5449, 0, 0, 31, 0,
0, 0, 0, 0, 32, 33, 0, 34, 0, 2331,
2683, 0, 35, 0, 0, 0, 0, 36, 0, 0,
37, 5049, 5049, 0, 0, 0, 0, 38, 0, 0,
0, 0, 0, 39, 40, 1045, 0, 0, 0, 5069,
0, 41, 0, 0, 0, 42, 0, 0, 0, 5077,
0, 0, 0, 0, 0, 43, 0, 0, 0, 0,
4733, 0, 4734, 4735, 0, 0, 0, 0, 44, 0,
0, 0, 2031, 2021, 0, 0, 2022, 2032, 4739, 0,
2023, 2024, 2025, 0, 0, 0, 0, 0, 45, 0,
0, 0, 0, 0, 0, 0, 0, 2026, 46, 2033,
2034, 2870, 0, 0, 47, 2028, 0, 2844, 0, 48,
0, 0, 2029, 0, 2035, 0, 0, 2850, 0, 0,
0, 0, 49, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2021, 0, 0, 2022, 2030, 0, 0,
2023, 2024, 2025, 0, 0, 50, 1365, 2036, 0, 0,
0, 0, 0, 0, 1365, 0, 1365, 2026, 0, 51,
0, 2037, -129, 0, 2038, 2028, 0, 0, 0, 0,
0, 0, 2029, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2871, 0, 0, 1314,
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, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1045, 0, 0, 0, 5212, 0, 5213, 0,
0, 0, 5218, 5219, 0, 0, 0, 2031, 0, 0,
0, 2039, 2032, 0, 0, 0, 0, 2492, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2033, 2034, 0, 0, 0, 0,
0, 0, 0, 3498, 0, 0, 0, 0, 3499, 2035,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2021, 2031, 0, 2022,
0, 0, 2032, 2023, 2024, 2025, 0, 0, 0, 0,
0, 0, 2036, 0, 0, 0, 0, 0, 0, 0,
2026, 3033, 0, 3457, 2033, 2034, 2037, 0, 2028, 2038,
0, 0, 0, 0, 0, 2029, 0, 3056, 2040, 2035,
0, 2041, 2042, 2043, 0, 2044, 2045, 2046, 2047, 2048,
2049, 0, 0, 0, 0, 5462, 0, 0, 3083, 5049,
2030, 5049, 0, 0, 0, 4967, 0, 0, 0, 0,
0, 0, 2036, 0, 2615, 0, 2616, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2037, 0, 0, 2038,
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, 2039, 601, 0, 0,
0, 601, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 3157, 3158, 0, 0, 5013, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1045, 0,
2031, 0, 0, 2872, 0, 2032, 2039, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 5060, 0,
0, 0, 0, 0, 0, 0, 0, 2033, 2034, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2035, 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,
3284, 5049, 0, 0, 0, 2036, 0, 0, 0, 0,
5431, 0, 0, 0, 0, 0, 0, 0, 0, 2037,
0, 0, 2038, 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,
2021, 0, 0, 2022, 0, 0, 0, 2023, 2024, 2025,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 5431, 0, 0, 2026, 0, 0, 0, 0, 0,
0, 0, 2028, 0, 0, 0, 0, 5431, 0, 2029,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2914, 2915, 0, 2039,
0, 0, 0, 0, 2030, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2930, 2931, 0, 0, 0,
2934, 2935, 0, 861, 870, 2938, 0, 0, 0, 0,
0, 861, 0, 870, 861, 0, 0, 0, 0, 2949,
0, 0, 0, 0, 0, 0, 2958, 870, 0, 0,
2961, 2962, 0, 0, 2965, 2966, 0, 0, 0, 0,
0, 2971, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 3429, 0, 2990, 0, 2992, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2040, 3016, 0, 2041,
2042, 2043, 3018, 2044, 2045, 2046, 2047, 2048, 2049, 0,
0, 0, 0, 0, 2031, 3023, 0, 0, 0, 2032,
0, 0, 0, 0, 3030, 0, 2021, 3034, 0, 2022,
3037, 3040, 3042, 2023, 2024, 2025, 0, 3050, 3053, 0,
0, 2033, 2034, 0, 0, 0, 0, 3066, 0, 0,
2026, 0, 3075, 0, 0, 0, 2035, 3079, 2028, 0,
0, 0, 0, 0, 0, 2029, 0, 0, 0, 0,
0, 0, 0, 3095, 0, 0, 0, 0, 0, 0,
3105, 3106, 0, 0, 0, 0, 3110, 869, 0, 2036,
2030, 0, 0, 0, 0, 0, 869, 3125, 3126, 0,
0, 0, 3129, 2037, 0, 0, 2038, 0, 0, 0,
869, 0, 0, 0, 3136, 0, 0, 3139, 0, 0,
0, 0, 3142, 0, 0, 0, 0, 3144, 3145, 3559,
4049, 0, 3148, 0, 0, 3152, 0, 0, 0, 3159,
3160, 3161, 3162, 0, 3164, 0, 0, 0, 0, 0,
0, 0, 1365, 0, 0, 0, 0, 3189, 3190, 0,
3192, 0, 0, 0, 0, 0, 0, 5376, 0, 0,
3200, 3201, 0, 0, 2021, 5356, 0, 2022, 0, 0,
0, 2023, 2024, 2025, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2039, 0, 0, 0, 0, 2026, 0,
2031, 0, 0, 0, 0, 2032, 2028, 0, 0, 4050,
0, 0, 0, 2029, 0, 847, 849, 0, 0, 853,
0, 0, 0, 0, 0, 0, 0, 2033, 2034, 0,
0, 0, 0, 0, 0, 3258, 0, 0, 2030, 909,
2021, 0, 2035, 2022, 0, 0, 919, 2023, 2024, 2025,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 3295, 2026, 0, 0, 3503, 0, 0,
0, 0, 2028, 0, 0, 2036, 0, 0, 0, 2029,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2037,
2040, 0, 2038, 2041, 2042, 2043, 0, 2044, 2045, 2046,
2047, 2048, 2049, 0, 2030, 0, 0, 0, 0, 0,
0, 0, 0, 0, 5357, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2031, 870,
0, 0, 0, 2032, 0, 870, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 870, 0,
0, 0, 0, 0, 0, 2033, 2034, 0, 0, 2039,
0, 0, 0, 0, 870, 0, 0, 0, 0, 3749,
2035, 0, 0, 0, 0, 0, 0, 0, 0, 861,
870, 0, 0, 0, 0, 0, 861, 0, 870, 861,
0, 0, 0, 0, 2031, 0, 0, 0, 0, 2032,
0, 0, 870, 2036, 0, 0, 0, 0, 0, 0,
3430, 0, 870, 0, 0, 0, 0, 2037, 0, 0,
2038, 2033, 2034, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2035, 0, 3471, 0,
0, 3448, 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, 2036,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2021, 2037, 0, 2022, 2038, 0, 0, 2023,
2024, 2025, 869, 0, 0, 0, 0, 870, 869, 0,
0, 0, 0, 0, 0, 0, 2026, 2039, 0, 0,
0, 869, 0, 0, 2028, 0, 0, 0, 0, 0,
0, 2029, 0, 0, 0, 0, 0, 869, 0, 0,
0, 0, 0, 0, 0, 0, 3871, 3872, 3873, 0,
0, 0, 0, 869, 0, 0, 2030, 0, 0, 0,
0, 869, 0, 3882, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 869, 0, 0, 0, 0,
0, 0, 0, 2039, 0, 869, 3898, 0, 0, 0,
0, 0, 0, 0, 0, 0, 3908, 3910, 0, 0,
0, 3915, 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,
992, 0, 0, 2021, 995, 0, 2022, 0, 0, 0,
2023, 2024, 2025, 0, 0, 0, 0, 3508, 1020, 0,
1702, 0, 0, 0, 0, 1025, 0, 2026, 0, 0,
3514, 0, 0, 0, 0, 2028, 2031, 0, 861, 0,
869, 2032, 2029, 0, 861, 0, 0, 861, 0, 0,
2040, 0, 0, 2041, 2042, 2043, 0, 2044, 2045, 2046,
2047, 2048, 2049, 2033, 2034, 0, 0, 2030, 0, 0,
0, 0, 0, 0, 0, 3647, 0, 0, 2035, 3649,
0, 0, 1314, 0, 0, 3651, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 3662, 3664, 0, 0, 0, 3664, 0,
0, 2036, 0, 3675, 3676, 3677, 0, 3679, 0, 0,
0, 0, 0, 0, 0, 2037, 0, 0, 2038, 0,
0, 0, 0, 0, 0, 2021, 0, 0, 2022, 0,
3701, 0, 2023, 2024, 2025, 0, 0, 0, 0, 0,
3707, 3708, 3709, 3710, 0, 0, 0, 0, 0, 2026,
0, 0, 0, 0, 0, 0, 0, 2028, 0, 0,
0, 0, 0, 0, 2029, 0, 0, 2031, 0, 0,
0, 0, 2032, 1701, 0, 0, 0, 3727, 0, 0,
3732, 3733, 3734, 0, 0, 0, 870, 0, 0, 2030,
0, 0, 0, 0, 2033, 2034, 0, 0, 3754, 0,
4089, 4090, 4091, 0, 870, 2039, 0, 0, 0, 2035,
0, 0, 0, 0, 0, 0, 0, 0, 3762, 0,
0, 870, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2036, 0, 0, 0, 0, 0, 0, 870,
0, 0, 0, 0, 1497, 1498, 2037, 0, 0, 2038,
870, 2021, 0, 0, 2022, 0, 0, 0, 2023, 2024,
2025, 0, 0, 0, 0, 870, 0, 0, 870, 0,
0, 0, 0, 0, 0, 2026, 0, 0, 4056, 0,
3804, 0, 0, 2028, 0, 0, 0, 0, 3808, 2031,
2029, 0, 2040, 0, 2032, 2041, 2042, 2043, 0, 2044,
2045, 2046, 2047, 2048, 2049, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2030, 2033, 2034, 0, 3822,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2035, 0, 0, 0, 0, 2039, 0, 0, 869,
0, 0, 1731, 0, 0, 0, 3868, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 869, 0, 0,
0, 0, 0, 0, 2036, 0, 0, 0, 0, 0,
0, 1756, 1757, 0, 869, 0, 0, 0, 2037, 0,
0, 2038, 0, 0, 0, 0, 870, 0, 0, 0,
0, 0, 0, 0, 870, 870, 0, 1798, 3905, 0,
0, 0, 869, 3911, 0, 0, 0, 0, 0, 0,
0, 0, 0, 869, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2031, 0, 0, 869, 0,
2032, 869, 0, 2040, 3948, 0, 2041, 2042, 2043, 0,
2044, 2045, 2046, 2047, 2048, 2049, 0, 0, 0, 0,
0, 2021, 2033, 2034, 2022, 0, 0, 0, 2023, 2024,
2025, 0, 0, 1702, 0, 0, 0, 2035, 2039, 0,
0, 1867, 1869, 3964, 0, 3965, 0, 0, 4330, 0,
0, 0, 0, 2028, 0, 0, 0, 0, 0, 4343,
2029, 0, 0, 0, 0, 0, 0, 0, 4002, 0,
2036, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2037, 2030, 0, 2038, 0, 0,
4374, 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, 869,
0, 0, 0, 0, 2557, 0, 2028, 869, 869, 0,
0, 0, 0, 2029, 0, 2040, 0, 0, 2041, 2042,
2043, 0, 2044, 2045, 2046, 2047, 2048, 2049, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2030, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2632,
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, 2031, 1701, 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, 870, 0, 0, 0,
0, 0, 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, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2031, 0,
2036, 2040, 0, 2032, 2041, 2042, 2043, 0, 2044, 2045,
2046, 2047, 2048, 2049, 2037, 4500, 4501, 4502, 4503, 0,
0, 0, 0, 0, 0, 2033, 2034, 0, 4179, 0,
4180, 0, 0, 0, 0, 0, 0, 4182, 0, 0,
2035, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 4192, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 4200,
0, 0, 0, 2036, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 2037, 4221, 0,
2038, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2039, 0, 4225, 1702, 0, 0,
0, 0, 0, 0, 0, 0, 4234, 0, 0, 869,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 870, 0, 0, 0, 4263, 0, 0, 0, 870,
0, 2299, 0, 0, 0, 0, 0, 0, 4271, 4272,
4273, 870, 0, 0, 0, 4277, 4278, 4279, 4280, 0,
0, 0, 4282, 4283, 0, 0, 0, 0, 4290, 4291,
0, 4293, 4294, 4295, 4296, 4297, 4298, 2039, 4300, 0,
0, 0, 0, 0, 0, 0, 2021, 4308, 0, 2022,
4311, 4312, 0, 2023, 2024, 2025, 0, 0, 0, 0,
0, 2040, 0, 0, 2041, 2042, 2043, 0, 2044, 2045,
2046, 2047, 2048, 2049, 3664, 0, 0, 0, 2028, 0,
0, 0, 0, 861, 861, 2029, 870, 870, 0, 0,
0, 0, 0, 0, 0, 0, 4333, 0, 861, 0,
870, 861, 2402, 2403, 2404, 2405, 0, 0, 0, 0,
2030, 0, 0, 870, 870, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 870,
1701, 0, 0, 0, 2040, 0, 0, 2041, 2042, 2043,
0, 2044, 2045, 2046, 2047, 2048, 2049, 0, 0, 0,
0, 0, 0, 0, 869, 0, 0, 0, 0, 0,
0, 861, 869, 0, 861, 861, 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, 0, 0, 0, 3664, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 4727, 0, 0, 0, 0, 0, 0, 0,
2031, 0, 0, 0, 0, 2032, 0, 0, 4441, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2455, 2456, 0, 0, -2635, -2635, 869,
869, 1702, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2035, 869, 0, 0, 2482, 0, 0, 0,
0, 0, 0, 0, 0, 0, 869, 869, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 869, 0, 0, -2635, 0, 0, 0, 0,
0, 2527, 2528, 2529, 2530, 0, 0, 0, 0, 2037,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 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, 870, 0, 0, 0, 0, 1702, 870, 2039,
0, 0, 870, 0, 0, 0, 0, 0, 0, 0,
870, 0, 0, 0, 1701, 0, 0, 0, 0, 2625,
0, 0, 0, 0, 0, 2629, 0, 0, 870, 0,
0, 0, 0, 0, 4574, 0, 0, 0, 4575, 4576,
4577, 4578, 0, 4886, 4580, 0, 0, 0, 0, 0,
861, 0, 0, 861, 861, 0, 0, 0, 4898, 0,
0, 0, 0, 1314, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 870, 0, 4599, 4600, 4601, 0,
4602, 0, 4604, 4605, 0, 0, 0, 0, 0, 4934,
0, 0, 870, 870, 4614, 4615, 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, 4620, 0, 0, 1702, 870, 0, 0, 1702, 0,
0, 0, 0, 0, 0, 0, 0, 869, 0, 0,
0, 0, 0, 0, 4631, 0, 0, 0, 0, 0,
0, 870, 0, 1702, 2795, 869, 0, 0, 870, 0,
1701, 869, 0, 0, 870, 869, 0, 0, 0, 0,
0, 870, 0, 869, 0, 870, 0, 0, 0, 0,
870, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 869, 0, 0, 0, 0, 0, 0, 0, 0,
870, 0, 0, 0, 0, 870, 0, 0, 0, 870,
0, 5019, 1702, 0, 0, 0, 0, 0, 0, 0,
0, 4684, 870, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 870, 0, 869, 0, 0,
0, 0, 0, 0, 0, 870, 0, 0, 0, 0,
4713, 0, 0, 0, 0, 869, 869, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 4736, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1701, 869, 0,
0, 1701, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 5107, 0, 0,
0, 0, 0, 1702, 869, 0, 1701, 0, 0, 0,
0, 869, 0, 0, 0, 1290, 1290, 869, 0, 0,
0, 0, 0, 0, 869, 0, 0, 0, 869, 0,
0, 0, 0, 869, 0, 2977, 2978, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2991, 0, 2993, 0,
0, 0, 2997, 869, 0, 0, 0, 0, 869, 0,
0, 0, 869, 0, 0, 1701, 0, 0, 0, 0,
0, 601, 0, 0, 0, 869, 0, 0, 0, 0,
0, 870, 0, 0, 0, 0, 0, 0, 869, 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, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 4836, 1094, 0, 870, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 4846, 0, 0, 0, 0, 4851, 4852, 0, 0,
1094, 0, 1613, 1617, 0, 0, 1701, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 870, 0,
0, 0, 3135, 0, 0, 3138, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 870, 0, 0, 0,
0, 0, 0, 0, 870, 0, 0, 0, 0, 4912,
0, 0, 0, 0, 861, 0, 0, 861, 0, 0,
861, 0, 0, 0, 0, 0, 0, 0, 0, 4929,
0, 4931, 0, 0, 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, 0, 0, 0, 3223, 0, 3664, 0, 0, 0,
0, 0, 3230, 4966, 0, 3233, 0, 0, 0, 0,
0, 3235, 0, 0, 0, 0, 1702, 0, 0, 0,
1093, 0, 1702, 0, 0, 3251, 0, 0, 0, 869,
0, 0, 612, 0, 0, 0, 0, 613, 0, 0,
0, 0, 0, 0, 0, 0, 1093, 0, 0, 614,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 3297, 0, 0, 5006,
0, 869, 615, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 616, 0, 0, 0, 869,
0, 5023, 0, 0, 3320, 0, 617, 869, 870, 0,
-865, 0, 5031, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 618, 0,
0, 0, 0, 0, 619, 0, 0, 1616, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 620, 0, 1094, 0, 0, 0, 0, 0, 3380,
0, 3382, 621, 0, 0, 0, 0, 0, 0, 0,
622, 0, 0, 0, 0, 5100, 0, 0, 1094, 0,
0, 0, 623, 0, 1978, 0, 0, 0, 0, 1701,
624, 0, 0, 1094, 625, 1701, 870, 870, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, -1094, 1992, 0, 0, 0, 0, 0,
0, 0, 0, 870, 0, 0, 870, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 3664, 0,
0, 0, 2010, 2011, 2012, 0, 2014, 0, 0, 0,
626, 0, 0, 0, 0, 0, 0, 0, 0, -583,
0, 0, 0, 0, 0, 0, 2056, 0, 0, 3447,
0, 869, 0, 0, 0, 0, 0, 0, 1094, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 627, 0, 0, 628, 0, 0, 5186,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1093,
0, 1702, 1702, 1702, 5199, 0, 629, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
630, 0, 0, 0, 1093, 870, 0, -457, 2112, 0,
0, 0, 2124, 2129, 0, 0, 0, 0, 0, 1093,
0, 0, 0, 0, 0, 870, 631, 0, 0, 869,
869, 0, 0, 0, 0, 632, 0, 0, 5229, 0,
0, 0, -457, 0, 870, 633, 0, 0, 0, 0,
0, 0, 0, 5240, 0, 0, 869, 1094, 0, 869,
0, 0, 0, 0, 634, 0, 0, 0, 0, 0,
635, 0, 0, 0, 0, -457, 0, 0, 636, 637,
0, 638, 639, 0, 0, 0, 0, 0, 0, 0,
0, 0, 640, 0, 0, 0, 0, 641, 0, 0,
0, 0, 0, 642, 1093, 0, 643, 0, 0, 644,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, -457, 0, 0, 0, 870, 0, 0, 0,
0, 0, 0, 0, 5300, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1701, 1701, 1701, 0, 0, 1465,
0, 0, 0, 0, 0, 1466, 0, 0, 0, 0,
0, 0, 1532, 0, 0, 0, 0, 0, 869, 0,
0, 0, 0, 0, 0, 0, 0, 1702, 0, 5323,
0, 1533, 0, 0, 870, 0, 870, 0, 869, 0,
0, 0, 0, 0, 0, 0, 0, 1468, 0, 870,
0, 870, 0, 0, 0, 0, 3653, 869, 3654, 3655,
3656, 0, 0, 1093, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1702, 0, 0, 0, 0, 0, 0,
0, 1534, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1613, 1613, 1613, 0, 0,
0, 1470, 0, 0, 0, 0, 0, 0, 1471, 0,
0, 1472, 0, 0, 870, 0, 2167, 5389, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1473, 0, 0, 869,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 870, 0, 1535, 0, 0,
1474, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2167, 0, 870, 0, 0, 0, 0, 0, 0,
1701, 0, 0, 0, 0, 0, 0, 869, 0, 869,
0, 0, 0, 0, 2077, 870, 0, 0, 870, 0,
0, 0, 869, 0, 869, 1536, 0, 0, 1537, 0,
0, 0, 1094, 0, 0, 0, 0, 0, 0, 1538,
0, 1476, 0, 0, 0, 0, 1701, 0, 0, 0,
0, 1477, 0, 0, 0, 0, 0, 0, 0, 0,
1478, 0, 0, 0, 0, 1094, 0, 0, 0, 0,
0, 1539, 1479, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1093, 0, 0, 0, 0, 869, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1702, 0,
0, 0, 0, 0, 0, 0, 3815, 0, 0, 0,
1540, 0, 0, 1481, 1482, 1541, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1542, 869, 0,
1616, 1616, 1616, 1543, 0, 0, 0, 1093, 0, 0,
0, 0, 0, 0, 0, 0, 869, 1544, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 869, 0,
0, 869, 0, 0, 0, 0, 0, 0, 1093, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1484, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1093, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1084, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1094, 0, 0, 0, 0, 0, 0,
0, 870, 0, 0, 0, 0, 0, 0, 0, 1084,
1094, 1701, 0, 0, 0, 0, 0, 0, 0, 2167,
0, 0, 0, 0, 0, 0, 0, 0, 2726, 3968,
0, 1094, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2746, 0, 2748, 0, 0, 2760, 2763, 2768, 0,
0, 0, 1702, 2774, 0, 0, 2779, 1702, 0, 1702,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2786, 2787, 2788, 2789, 0, 0, 0, 0, 2796,
0, 1702, 0, 2808, 0, 0, 2810, 1094, 0, 2817,
2818, 2819, 2820, 2821, 2822, 2823, 2824, 2825, 0, 2826,
1702, 1094, 0, 0, 0, 0, 1290, 0, 1613, 0,
0, 0, 0, 1094, 0, 0, 870, 0, 0, 870,
0, 0, 0, 0, 0, 1094, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1465, 2863, 1093,
0, 0, 0, 1466, 0, 0, 0, 0, 0, 0,
1532, 0, 0, 0, 869, 0, 1093, 0, 0, 1094,
1094, 0, 0, 2011, 2012, 1093, 0, 0, 0, 1533,
0, 0, 0, 0, 0, 0, 0, 1093, 0, 0,
0, 0, 0, 0, 0, 1468, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 870, 870, 0, 0, 1701, 0, 0, 0, 0,
1701, 870, 1701, 0, 0, 0, 0, 0, 0, 1534,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
870, 0, 0, 1093, 1701, 0, 0, 0, 0, 1470,
0, 0, 0, 0, 0, 2963, 1471, 1093, 0, 1472,
0, 0, 1084, 1701, 0, 0, 0, 0, 0, 1093,
0, 0, 0, 0, 0, 0, 0, 0, 0, 869,
0, 1093, 869, 0, 1473, 0, 0, 1084, 0, 0,
0, 4185, 4186, 4187, 4188, 0, 0, 0, 0, 0,
0, 0, 1084, 0, 0, 1094, 0, 0, 0, 0,
0, 0, 0, 870, 664, 1535, 0, 0, 1474, 665,
0, 0, 0, 0, 0, 1093, 1093, 0, 0, 0,
0, 666, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1616, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 667, 0, 0, 0, 0, 0,
0, 0, 0, 1536, 0, 0, 1537, 668, 0, 0,
0, 0, 0, 0, 869, 869, 0, 1538, 0, 1476,
0, 0, 669, 0, 869, 0, 0, 1084, 0, 1477,
0, 0, 0, 0, 0, 0, 0, 0, 1478, 0,
670, 0, 0, 869, 0, 0, 0, 0, 0, 1539,
1479, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 671, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 672, 0, 0, 0, 0, 0,
2918, 0, 673, 0, 2167, 2924, 0, 0, 3130, 0,
0, 1481, 1482, 1541, 674, 0, 0, 0, 0, 675,
0, 1093, 0, 0, 0, 0, 676, 0, 0, 0,
0, 0, 0, 0, 0, 1542, 869, 0, 4329, 0,
0, 3131, 0, 0, 4332, 677, 3211, 3212, 1613, 0,
0, 0, 3216, 0, 0, 1544, 1084, 0, 0, 0,
0, 0, 0, 0, 1086, 0, 1094, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1094, 0, 0, 0, 0, 0, 0, 3249, 0, 0,
1086, 678, 870, 0, 0, 0, 0, 1702, 0, 0,
0, 0, 0, 0, 0, 0, 1484, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1094, 0, 0, 0, 0, 679, 0, 0, 0, 0,
870, 0, 0, 0, 0, 0, 0, 0, 680, 0,
0, 0, 870, 0, 0, 0, 0, 0, 681, 0,
0, 0, 0, 0, 0, 0, 1093, 0, 206, 682,
1093, 1093, 683, 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, 684, 0,
0, 685, 0, 0, 0, 686, 0, 687, 0, 0,
0, 0, 0, 0, 688, 0, 0, 689, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1093, 0, 0, 0, 690, 0, 0, 0,
0, 0, 691, 0, 0, 0, 1093, 692, 0, 0,
693, 0, 0, 0, 694, 0, 0, 0, 0, 0,
0, 0, 695, 0, 696, 869, 0, 0, 942, 697,
1701, 0, 0, 943, 870, 1084, 0, 0, 0, 0,
0, 698, 0, 0, 0, 0, 1093, 0, 0, 0,
0, 0, 0, 1616, 699, 0, 0, 0, 0, 0,
0, 0, 0, 869, 0, 0, 0, 0, 944, 0,
0, 0, 0, 0, 0, 869, 0, 0, 0, 0,
0, 945, 946, 0, 0, 0, 0, 0, 0, 0,
0, 0, 947, 1094, 0, 0, 948, 0, 0, 0,
1084, 3453, 869, 0, 0, 0, 3459, 0, 870, 0,
0, 0, 0, 1086, 949, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2014, 0, 0, 0, 0, 0, 950, 1086, 0,
0, 1084, 2768, 0, 2768, 2768, 0, 0, 951, 0,
0, 0, 0, 1086, 0, 3517, 952, 0, 3520, 0,
3522, 0, 0, 0, 0, 0, 0, 0, 953, 0,
0, 0, 0, 954, 1084, 2167, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1087, 0, 0, 3540,
0, 3543, 0, 3545, 0, 0, 0, 869, 0, 955,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1087, 0, 870, 0, 870, 0, 0, 0,
0, 0, 0, 0, 956, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1086, 0,
0, 0, 0, 0, 0, 957, 0, 2112, 0, 1093,
4628, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 870, 2129, 0, 0, 4632, 0, 0, 0, 0,
861, 869, 0, 0, 0, 0, 0, 0, 0, 958,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1094, 0, 0, 0, 0, 0, 0,
0, 0, 959, 0, 0, 0, 0, 0, 1702, 0,
1094, 0, 206, 960, 861, 0, 961, 0, 0, 0,
0, 0, 0, 0, 0, 1094, 3633, 0, 0, 0,
0, 1093, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 962, 0, 0, 963, 0, 1086, 0, 964,
0, 965, 1084, 0, 4698, 0, 0, 0, 966, 0,
0, 967, 0, 0, 0, 0, 0, 0, 0, 1084,
0, 0, 0, 0, 0, 0, 0, 869, 1084, 869,
968, 0, 0, 0, 0, 0, 969, 0, 0, 0,
1084, 970, 0, 0, 971, 0, 0, 0, 972, 0,
0, 0, 0, 0, 0, 0, 973, 0, 974, 0,
0, 0, 0, 975, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 869, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 976, 0,
0, 0, 0, 0, 0, 0, 1084, 0, 0, 1093,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1084, 0, 0, 0, 0, 1087, 1093, 0, 0, 0,
0, 1701, 1084, 0, 0, 0, 0, 0, 0, 0,
0, 1093, 0, 0, 1084, 0, 0, 0, 0, 0,
1087, 0, 0, 0, 1702, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1087, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 870,
0, 0, 4817, 4818, 4818, 0, 0, 0, 1084, 1084,
2167, 870, 0, 2924, 0, 2924, 0, 0, 0, 0,
2167, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1613, 0, 0, 0, 1094,
1087, 1613, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1094, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1086, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2167, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1701, 0, 0,
0, 0, 1086, 0, 1084, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 4950, 869, 0, 0, 1089, 1093, 0, 0, 1093,
0, 1093, 0, 0, 869, 1086, 1093, 0, 0, 1087,
0, 0, 0, 0, 1094, 0, 1094, 0, 0, 0,
0, 1089, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1702, 0, 870, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1093, 0, 0, 190, 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, 0, 0, 0, 0, 0, 0, 0, 1093,
0, 0, 0, 0, 0, 1094, 191, 0, 0, 1084,
0, 0, 0, 1084, 1084, 0, 0, 0, 0, 0,
0, 192, 0, 0, 0, 0, 0, 0, 0, 0,
1616, 0, 1702, 5056, 0, 5058, 1616, 0, 0, 193,
0, 0, 4003, 0, 1094, 194, 0, 0, 0, 0,
870, 4007, 0, 0, 0, 0, 0, 4008, 0, 4009,
0, 0, 195, 0, 861, 0, 0, 0, 0, 2924,
1093, 0, 1093, 196, 0, 1084, 0, 2924, 0, 870,
0, 197, 0, 1086, 0, 0, 4033, 4034, 0, 1084,
0, 0, 0, 198, 0, 0, 0, 0, 199, 1701,
1086, 869, 0, 0, 2774, 200, 0, 0, 0, 1086,
0, 0, 4059, 0, 0, 4062, 0, 4064, 1087, 0,
0, 1086, 0, 0, 201, 0, 4068, 0, 0, 1084,
0, 0, 0, 0, 4075, 4076, 0, 0, 0, 861,
861, 0, 0, 0, 0, 0, 1094, 0, 0, 202,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1093, 0, 0, 2924, 0, 4122, 0, 0, 0,
203, 0, 0, 0, 1089, 0, 0, 1086, 1094, 0,
0, 0, 0, 1087, 870, 0, 0, 0, 4818, 0,
4135, 1086, 0, 0, 0, 1701, 0, 0, 0, 1089,
1093, 0, 0, 1086, 204, 0, 4148, 0, 0, 0,
0, 0, 0, 869, 1089, 1086, 0, 0, 0, 0,
0, 0, 0, 0, 1087, 1093, 0, 205, 0, 0,
0, 0, 0, 1093, 0, 0, 0, 206, 207, 0,
0, 208, 869, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1087, 0, 1086,
1086, 0, 0, 0, 0, 0, 1702, 209, 0, 0,
210, 0, 0, 0, 211, 0, 212, 5236, 0, 0,
1094, 1090, 0, 213, 0, 0, 214, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1089,
0, 1094, 1093, 0, 0, 215, 0, 1090, 0, 0,
0, 216, 0, 0, 0, 217, 218, 0, 0, 219,
1093, 0, 0, 220, 0, 0, 1094, 1702, 0, 0,
0, 0, 1084, 221, 1093, 0, 0, 0, 222, 0,
0, 0, 0, 1702, 0, 861, 861, 869, 0, 0,
223, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1094, 0, 0, 224, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 5308, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1086, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1089, 0,
0, 0, 0, 0, 1084, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1701,
0, 0, 0, 0, 0, 1087, 1093, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 2167, 0, 0,
0, 0, 1087, 0, 0, 0, 0, 1093, 0, 0,
0, 1087, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1087, 0, 0, 5382, 0, 0, 0,
0, 0, 1093, 0, 0, 0, 0, 0, 0, 0,
1701, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1701, 0, 0, 4818,
4818, 0, 0, 0, 0, 0, 1093, 0, 0, 0,
4415, 4416, 0, 0, 0, 0, 0, 0, 0, 1087,
1086, 0, 1084, 0, 1086, 1086, 0, 0, 0, 0,
0, 0, 0, 1087, 0, 0, 0, 2924, 0, 1084,
0, 0, 0, 0, 0, 1087, 0, 0, 0, 0,
1090, 0, 0, 0, 1084, 0, 0, 1087, 0, 0,
0, 2924, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1090, 0, 0, 0, 0,
4456, 0, 0, 0, 0, 0, 1086, 0, 0, 0,
1090, 4461, 0, 1093, 0, 0, 0, 0, 0, 4818,
1086, 1087, 1087, 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, 4476, 4478, 0, 0, 0, 0, 0, 4482, 4483,
1086, 0, 0, 4484, 0, 0, 0, 0, 4487, 0,
0, 4490, 4491, 0, 0, 0, 4495, 0, 0, 0,
0, 0, 4499, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1089, 0, 0, 1090, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1093, 1094, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1089, 1290, 0, 0, 1093, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1087, 0, 0,
0, 4554, 0, 0, 2167, 0, 1089, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1084,
0, 0, 1084, 0, 1084, 0, 0, 0, 0, 1084,
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, 1084, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1084, 0, 0,
0, 0, 4617, 1086, 0, 0, 0, 0, 0, 0,
1093, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1084, 0, 0, 0, 0, 0, 0, 1094,
0, 0, 1087, 0, 0, 0, 1087, 1087, 0, 1094,
0, 0, 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, 4655,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1089, 1086, 0, 0, 0, 0,
0, 0, 0, 1084, 0, 1084, 0, 0, 1087, 0,
0, 1089, 0, 0, 0, 0, 0, 0, 0, 0,
1089, 0, 1087, 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, 1087, 1090, 1094, 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, 1084, 1093, 0, 0, 0, 0,
0, 0, 1089, 1094, 0, 1093, 0, 0, 0, 0,
0, 0, 0, 1086, 1089, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1094, 0, 1089, 0, 1090, 0,
1086, 0, 0, 1084, 0, 0, 4759, 4760, 0, 0,
4761, 0, 0, 0, 0, 1086, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1084, 0,
0, 0, 0, 0, 0, 0, 1084, 0, 0, 1090,
1089, 1089, 0, 0, 0, 0, 0, 4796, 4797, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1094,
0, 0, 0, 4808, 0, 0, 0, 0, 0, 0,
0, 0, 1090, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1092, 0, 0, 0, 0, 0, 0, 0,
1093, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1084, 0, 0, 1092, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1084, 0, 0, 0, 0, 0, 1093,
0, 0, 0, 0, 0, 1087, 0, 1084, 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, 0, 0,
0, 4724, 0, 1094, 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, 1093, 0, 1087, 0, 1094,
1086, 0, 0, 1086, 0, 1086, 0, 0, 0, 0,
1086, 0, 0, 0, 0, 0, 0, 0, 0, 1084,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1090, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1084, 0, 0, 0, 0, 2774, 0, 1090, 0, 0,
0, 0, 0, 0, 0, 0, 1090, 0, 0, 1086,
0, 0, 0, 0, 0, 1084, 0, 0, 1090, 0,
0, 0, 0, 4989, 0, 0, 0, 0, 1086, 0,
0, 0, 0, 0, 0, 0, 0, 2014, 0, 0,
0, 1089, 0, 0, 0, 1089, 1089, 0, 0, 1084,
0, 0, 0, 1086, 0, 0, 0, 0, 0, 1093,
0, 0, 0, 0, 0, 1087, 0, 0, 0, 0,
0, 0, 0, 0, 1090, 0, 0, 0, 0, 2924,
0, 0, 1087, 0, 0, 0, 0, 0, 1090, 0,
0, 1092, 0, 0, 0, 0, 5038, 1087, 0, 0,
1090, 0, 0, 0, 0, 1093, 0, 1089, 0, 0,
0, 0, 1090, 0, 0, 0, 1092, 0, 0, 0,
0, 1089, 0, 0, 1086, 0, 1086, 0, 0, 0,
0, 1092, 0, 0, 0, 0, 1084, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1090, 1090, 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, 2924, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1086, 1092, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1094, 0,
0, 0, 0, 0, 0, 1093, 1084, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 4796,
0, 0, 0, 0, 1086, 0, 0, 0, 0, 0,
1084, 0, 0, 0, 0, 0, 0, 0, 1094, 0,
0, 0, 0, 0, 0, 5188, 0, 0, 0, 1086,
0, 0, 0, 0, 0, 0, 0, 1086, 0, 0,
0, 0, 1090, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1087, 0, 0, 1087, 0, 1087, 0, 0,
0, 0, 1087, 0, 0, 0, 0, 0, 0, 0,
0, 1094, 0, 0, 0, 1092, 1094, 1094, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1086, 0, 0, 0,
1093, 1087, 5243, 0, 1089, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1086, 0, 0, 0, 0, 0,
1087, 0, 0, 0, 1093, 0, 0, 0, 1086, 0,
0, 0, 0, 1084, 0, 0, 5270, 5270, 5270, 0,
0, 0, 0, 0, 0, 1087, 0, 0, 0, 0,
0, 0, 0, 0, 0, 4796, 0, 0, 0, 0,
0, 0, 0, 0, 1093, 0, 0, 1090, 0, 0,
0, 1090, 1090, 0, 0, 0, 0, 0, 4724, 1094,
0, 0, 0, 1084, 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, 1087, 1093, 1087, 0,
0, 0, 1093, 1093, 0, 0, 0, 0, 0, 0,
1086, 0, 0, 1090, 0, 0, 0, 0, 5332, 0,
0, 0, 0, 0, 0, 0, 0, 1090, 0, 0,
0, 1086, 0, 0, 0, 5270, 0, 0, 0, 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, 1090, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1089, 0, 0, 1087, 1084, 0,
1086, 0, 0, 0, 0, 0, 0, 0, 1084, 0,
0, 1089, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1093, 1089, 0, 0, 1092,
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, 5422, 0, 0, 0,
0, 1087, 0, 0, 0, 0, 0, 0, 0, 1087,
1092, 0, 0, 0, 1094, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1086, 0, 5270,
0, 0, 0, 0, 0, 0, 0, 0, 0, 5448,
0, 0, 0, 1092, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 1087, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1087, 0, 0, 0,
0, 0, 1084, 0, 0, 0, 0, 0, 0, 0,
1087, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1090, 0, 0, 1084, 0, 0, 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, 1086, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1093, 1089, 0, 0, 1089, 0, 1089, 0, 0, 0,
0, 1089, 0, 0, 0, 0, 0, 0, 1084, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1090, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1087, 0, 0, 0, 0, 0, 0, 0,
0, 1092, 0, 0, 0, 0, 0, 0, 0, 0,
1089, 0, 0, 1087, 0, 0, 0, 0, 1092, 0,
0, 0, 0, 0, 0, 0, 0, 1092, 0, 1089,
0, 0, 0, 0, 0, 0, 0, 0, 1087, 1092,
0, 0, 0, 0, 0, 2051, 0, 0, 0, 0,
0, 0, 0, 0, 1089, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1086, 0, 0, 0, 0, 0,
0, 0, 1087, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1084, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1092, 0, 0, 0, 0,
1090, 0, 0, 0, 0, 2051, 0, 0, 0, 1092,
0, 0, 0, 0, 1086, 0, 0, 1090, 0, 0,
0, 1092, 0, 0, 0, 1089, 0, 1089, 1084, 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, 1087,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 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, 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, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1086,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1086,
0, 0, 0, 0, 0, 1089, 0, 0, 1084, 1087,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1089, 0, 0, 1087, 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, 1092, 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,
1090, 0, 1090, 0, 0, 0, 0, 1090, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1089, 0, 0,
0, 0, 0, 0, 1086, 0, 0, 0, 2051, 0,
0, 0, 2051, 0, 0, 1089, 0, 0, 0, 0,
0, 0, 0, 1084, 0, 0, 0, 0, 0, 1089,
0, 0, 0, 0, 0, 0, 1090, 0, 0, 0,
0, 0, 0, 1086, 0, 0, 0, 1084, 0, 0,
0, 0, 0, 0, 0, 1090, 1087, 0, 0, 0,
0, 0, 0, 0, 1086, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1090, 0, 0, 0, 0, 0, 0, 1084, 1092, 0,
0, 0, 1092, 1092, 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, 1086,
0, 1089, 0, 0, 0, 0, 0, 0, 0, 0,
1084, 0, 0, 0, 0, 1084, 1084, 0, 0, 0,
0, 1090, 1089, 1090, 1092, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1092, 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, 1092, 0,
0, 1089, 0, 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, 1087, 1090, 1086, 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, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1090, 0, 0, 0, 0, 0, 0, 0, 1086,
0, 0, 0, 0, 0, 0, 0, 0, 1089, 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,
0, 0, 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,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2051, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1090, 0, 0, 0, 2051, 0, 0,
0, 2756, 0, 0, 0, 1087, 0, 0, 1089, 0,
0, 1090, 0, 0, 0, 2051, 2051, 2051, 0, 2051,
0, 1092, 0, 0, 0, 1090, 1087, 0, 0, 1086,
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, 2051, 0, 0, 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, 1087, 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, 2051, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1090, 0, 2051,
0, 0, 0, 0, 2051, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1090, 0,
0, 0, 0, 0, 1086, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1089, 0, 0, 0, 0,
0, 0, 0, 1090, 0, 0, 0, 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, 0, 0, 1087, 0, 1090, 0, 0,
0, 0, 0, 0, 0, 1089, 0, 0, 1086, 0,
0, 1092, 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, 1087, 0, 1092, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1086, 0, 0, 0, 0, 1086, 1086, 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,
1089, 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, 1087, 0, 0, 0, 0, 0, 0, 0, 1086,
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, 1092, 0,
0, 1092, 0, 1092, 0, 1089, 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, 1089, 0, 1087, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1092, 0, 0,
0, 0, 0, 0, 0, 1089, 0, 0, 0, 0,
1087, 0, 0, 0, 0, 0, 1092, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1090, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1092, 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,
1089, 0, 0, 0, 1086, 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, 1087, 0, 0, 0, 0, 1087, 1087,
0, 0, 1092, 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, 0,
0, 0, 0, 0, 1089, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1092, 0, 0, 1090, 0, 0, 0,
0, 2051, 0, 0, 0, 0, 1090, 0, 0, 0,
0, 1087, 0, 0, 0, 0, 0, 0, 0, 0,
1089, 2051, 0, 2051, 0, 0, 2756, 2756, 0, 3494,
0, 2756, 1092, 0, 0, 2051, 0, 0, 2051, 0,
0, 0, 0, 2051, 0, 0, 0, 0, 0, 2051,
0, 0, 0, 0, 2051, 0, 0, 1092, 0, 0,
0, 2051, 2051, 2051, 2051, 1092, 0, 0, 2756, 2756,
0, 2051, 0, 0, 0, 0, 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, 1090, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1092, 0, 0, 0, 2051, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1089, 0, 1092, 0, 0, 0, 0, 0, 0, 0,
1090, 0, 0, 0, 0, 0, 1092, 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, 1087, 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, 1090, 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,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1092,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1089,
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, 1089,
0, 0, 0, 0, 0, 0, 0, 0, 1092, 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, 1089, 0, 0, 0, 0, 1089, 1089, 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, 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, 2051, 2051, 0, 0,
0, 2051, 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, 0, 2051, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1092, 1090, 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, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 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, 1092, 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, 1090, 0, 0, 2051, 0,
0, 0, 0, 0, 2051, 0, 0, 0, 0, 0,
0, 0, 1092, 0, 0, 0, 0, 0, 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, 1090, 0,
0, 0, 0, 1090, 1090, 0, 0, 0, 0, 0,
0, 0, 2051, 0, 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, 0, 0, 0, 0, 0,
0, 0, 0, 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, 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, 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, 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, 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, 1090, 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, 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, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 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, 1092, 2051, 0,
0, 0, 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, 0,
0, 0, 0, 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, 1092, 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, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 1092, 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, 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, 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, 1092, 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, 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, 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, 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, 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, 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, 5000, 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, -1779, 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,
-1779, 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, -1779, 367, 368, 369, 370, 371, 372,
373, 0, 374, 0, 375, 0, 0, 378, -1779, 380,
381, 382, 383, 384, 0, 0, 385, 386, -1779, 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, -1779, 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, -1779,
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, 4786, 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, 4787, 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, 4788,
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, 4789, 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, 5267, 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,
5268, 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, 5269, 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, 5268, 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, 5269, 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, 4982, 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, -2635, 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, 5268, 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, -2635, 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, -2635, 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, -2635, 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, 5269, 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, -2635,
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, 5250, 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, 5063, 0,
0, 0, 0, 0, 0, 5064, 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,
4838, 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, 4815, 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, 5216, 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, 5427, 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, 5282, 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, 4938, 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, 907, 627, 1147, 8, 788, 51,
0, 1546, 0, 36, 15, 0, 660, 23, 790, 25,
182, 0, 938, 29, 21, 1075, 923, 908, 34, 35,
36, 1105, 38, 848, 932, 41, 42, 1421, 44, 22,
46, 740, 741, 742, 199, 28, 839, 746, 2495, 1465,
1458, 812, 207, 190, 702, 210, 204, 13, 1169, 2564,
1020, 2849, 1063, 1064, 708, 1705, 813, 1787, 2690, 45,
797, 2386, 1073, 1078, 1200, 3636, 3030, 2898, 934, 23,
2508, 1465, 936, 3344, 618, 1609, 3347, 1009, 3319, 2324,
6, 3591, 36, 2161, 2162, 18, 3003, 994, 3300, 860,
21, 998, 660, 1025, 209, 2666, 1003, 1471, 1482, 3057,
1975, 3059, 0, 2407, 3537, 3566, 1013, 3246, 223, 3254,
2907, 3688, 3265, 707, 3926, 3254, 697, 3911, 4168, 3331,
1027, 169, 1958, 2872, 874, 3632, 670, 2451, 2063, 2453,
3572, 682, 4560, 2457, 685, 2459, 2460, 184, 684, 793,
4509, 4400, 3929, 3872, 2468, 2469, 2470, 3916, 35, 184,
1800, 4403, 698, 2019, 1450, 42, 1399, 2781, 50, 0,
1890, 836, 2126, 2096, 0, 218, 0, 4354, 0, 0,
941, 2104, 41, 3636, 190, 191, 192, 193, 4666, 195,
0, 0, 0, 199, 2846, 201, 3915, 0, 204, 0,
2128, 207, 1576, 1577, 210, 4580, 1570, 213, 0, 215,
3317, 0, 218, 2917, 4707, 4719, 222, 3500, 224, 1061,
1062, 836, 3612, 1509, 858, 4402, 0, 0, 1229, 1230,
1072, 4525, 9, 4527, 0, 793, 35, 3571, 49, 3573,
1526, 57, 11, 9, 22, 4620, 2898, 0, 1249, 0,
5, 57, 0, 5, 1259, 1996, 9, 11, 26, 5,
26, 13, 14, 2498, 898, 5, 5, 5, 4854, 903,
5, 40, 5, 26, 5, 907, 5, 39, 5, 1094,
13, 14, 4915, 915, 13, 14, 158, 986, 74, 87,
1413, 1607, 1608, 925, 5, 39, 5, 2911, 5, 3005,
5, 42, 5, 72, 5, 112, 138, 22, 163, 74,
4819, 4820, 163, 3, 4, 5, 4, 5, 4, 9,
187, 9, 79, 9, 74, 105, 207, 163, 267, 57,
112, 26, 187, 4, 5, 9, 163, 4652, 9, 144,
42, 3993, 3994, 269, 3996, 3997, 3998, 3999, 4000, 117,
70, 289, 270, 131, 4627, 4628, 289, 27, 252, 252,
255, 275, 26, 5, 325, 144, 112, 308, 117, 33,
11, 2606, 339, 2608, 24, 107, 1218, 1219, 32, 270,
57, 315, 131, 5267, 165, 357, 4, 258, 57, 163,
163, 9, 114, 153, 240, 45, 383, 163, 158, 40,
819, 11, 395, 1245, 165, 1365, 116, 1147, 155, 11,
163, 74, 163, 187, 187, 163, 131, 163, 3, 91,
339, 187, 112, 1339, 84, 57, 343, 11, 397, 1327,
3, 72, 5, 201, 187, 143, 187, 43, 327, 187,
1510, 463, 382, 4, 4555, 30, 31, 179, 9, 72,
4943, 4562, 112, 86, 476, 428, 40, 1527, 114, 65,
4709, 4836, 72, 151, 383, 225, 4708, 356, 723, 724,
725, 440, 254, 728, 729, 730, 437, 417, 310, 627,
151, 189, 1532, 738, 5117, 478, 1130, 474, 72, 4783,
66, 145, 363, 26, 57, 128, 430, 169, 208, 460,
33, 347, 474, 1147, 251, 26, 266, 474, 240, 11,
271, 243, 33, 329, 57, 74, 206, 478, 1279, 74,
625, 416, 170, 329, 305, 84, 631, 5411, 422, 84,
328, 679, 202, 474, 107, 474, 474, 259, 228, 644,
57, 474, 163, 163, 1460, 1399, 1307, 267, 474, 298,
238, 442, 202, 241, 359, 211, 474, 474, 3264, 395,
1204, 343, 163, 456, 478, 1149, 142, 4882, 395, 163,
285, 259, 1130, 215, 29, 164, 1112, 162, 356, 164,
359, 349, 437, 84, 160, 1325, 114, 133, 259, 3724,
1330, 1331, 163, 1515, 254, 3724, 5014, 478, 254, 605,
119, 329, 474, 383, 117, 611, 179, 613, 323, 395,
616, 478, 618, 610, 620, 347, 163, 5203, 380, 3748,
610, 627, 610, 1746, 26, 610, 632, 478, 634, 11,
395, 610, 5125, 373, 374, 641, 380, 5115, 416, 1175,
1562, 356, 474, 4066, 1541, 395, 1204, 1544, 416, 395,
1186, 408, 329, 4104, 395, 311, 463, 4108, 40, 665,
329, 4093, 478, 474, 670, 1201, 708, 240, 5177, 675,
243, 1552, 478, 679, 712, 474, 682, 839, 1322, 685,
478, 3883, 423, 606, 439, 3639, 1330, 1331, 383, 427,
72, 4933, 5325, 4942, 3925, 701, 473, 329, 1438, 465,
466, 470, 366, 477, 477, 460, 1354, 1605, 1448, 752,
707, 477, 465, 466, 402, 2950, 470, 463, 1383, 474,
1139, 423, 474, 455, 477, 301, 477, 4010, 439, 477,
476, 402, 395, 472, 735, 474, 474, 476, 721, 474,
723, 474, 725, 474, 2060, 474, 752, 474, 731, 460,
706, 1607, 1608, 1609, 5247, 5259, 958, 4147, 4092, 765,
4094, 767, 3905, 474, 1322, 474, 329, 474, 1383, 474,
813, 474, 4812, 474, 347, 465, 466, 465, 466, 465,
466, 787, 788, 5056, 790, 791, 329, 708, 22, 795,
827, 465, 466, 1533, 465, 466, 1536, 1537, 4450, 954,
843, 478, 827, 809, 1436, 960, 943, 813, 963, 478,
958, 5186, 329, 819, 857, 163, 1738, 1928, 57, 437,
1894, 1614, 478, 1457, 5199, 831, 467, 468, 469, 470,
478, 4398, 829, 366, 3149, 411, 395, 843, 5331, 829,
395, 829, 460, 428, 829, 366, 478, 465, 466, 472,
829, 857, 2920, 476, 2922, 1856, 2272, 478, 478, 1278,
5154, 1935, 3969, 3291, 1496, 467, 468, 469, 470, 875,
5119, 326, 1946, 106, 880, 881, 1510, 478, 2242, 5121,
474, 1503, 455, 1375, 339, 474, 341, 433, 3842, 1743,
20, 293, 420, 1527, 395, 1150, 817, 131, 1153, 418,
1155, 5394, 1157, 416, 1159, 911, 912, 478, 1163, 175,
29, 3563, 3226, 81, 3566, 478, 2440, 5335, 5336, 269,
3624, 5098, 3829, 2877, 163, 5300, 120, 474, 934, 935,
105, 57, 791, 3, 47, 478, 795, 943, 820, 2862,
2173, 829, 275, 5120, 5, 400, 175, 5425, 954, 351,
2878, 5, 958, 36, 960, 123, 2320, 963, 191, 145,
107, 478, 850, 465, 466, 467, 468, 469, 470, 160,
1389, 105, 978, 105, 38, 116, 2262, 1717, 395, 4698,
26, 112, 105, 2908, 3636, 387, 252, 389, 141, 1831,
1832, 5, 3227, 3228, 1000, 4556, 3610, 2853, 829, 3,
5249, 1007, 1008, 829, 5363, 829, 5248, 829, 829, 3748,
2751, 2752, 2547, 83, 144, 2756, 4660, 5435, 81, 829,
829, 829, 35, 1029, 1030, 1031, 829, 1033, 829, 1035,
1036, 179, 179, 164, 911, 912, 34, 829, 121, 2865,
829, 54, 3949, 4466, 66, 2186, 117, 395, 187, 5,
117, 285, 2793, 2794, 4507, 303, 22, 26, 1974, 164,
123, 478, 84, 4514, 4593, 383, 136, 208, 4519, 182,
81, 4522, 225, 3894, 187, 5, 92, 252, 4510, 83,
126, 5330, 105, 465, 466, 467, 468, 469, 470, 323,
4543, 104, 240, 240, 81, 105, 243, 1796, 339, 1105,
2016, 1107, 1108, 4556, 343, 58, 4635, 2157, 77, 334,
343, 224, 123, 66, 112, 463, 85, 1040, 174, 287,
142, 185, 356, 193, 255, 284, 252, 172, 476, 323,
201, 135, 117, 1139, 201, 22, 123, 3, 160, 4941,
4899, 30, 31, 158, 113, 478, 2062, 4931, 164, 382,
383, 1152, 1149, 1154, 2562, 1156, 422, 1158, 4419, 1160,
1161, 1162, 4393, 1169, 1170, 131, 1167, 157, 1174, 356,
1176, 1943, 1944, 2027, 4951, 416, 4935, 190, 3246, 4898,
4824, 197, 356, 288, 323, 4387, 3254, 421, 327, 81,
429, 1197, 417, 422, 1200, 285, 212, 1203, 259, 347,
347, 141, 91, 329, 2060, 259, 222, 326, 4162, 339,
1216, 180, 264, 5253, 5254, 4934, 201, 356, 95, 353,
388, 291, 111, 192, 287, 238, 474, 231, 241, 359,
356, 123, 248, 323, 49, 8, 1278, 289, 11, 252,
1246, 474, 3894, 275, 131, 259, 112, 433, 361, 1897,
112, 383, 2013, 269, 310, 4203, 145, 362, 3, 1830,
383, 1905, 159, 26, 237, 205, 4719, 40, 1274, 1275,
1276, 284, 1278, 3341, 47, 228, 287, 275, 23, 301,
165, 285, 349, 234, 340, 1819, 1934, 418, 103, 334,
1938, 478, 1298, 153, 1942, 172, 193, 1945, 437, 72,
287, 356, 323, 22, 478, 2161, 296, 273, 455, 28,
325, 1349, 214, 4810, 114, 328, 1887, 333, 1859, 2173,
1904, 460, 4745, 106, 5126, 388, 1862, 474, 4779, 259,
1336, 1368, 1369, 1874, 1371, 275, 1877, 350, 83, 409,
1876, 428, 1385, 1368, 1369, 416, 1371, 417, 22, 416,
420, 0, 2348, 1889, 28, 1503, 5396, 370, 4145, 145,
383, 327, 328, 126, 1370, 225, 139, 2139, 1374, 1375,
4937, 5015, 1994, 383, 395, 252, 5020, 388, 22, 1385,
1386, 1387, 386, 1389, 388, 200, 271, 474, 254, 411,
356, 136, 343, 259, 104, 287, 1937, 259, 285, 1940,
1941, 388, 418, 372, 1410, 1824, 375, 285, 191, 182,
284, 211, 131, 264, 187, 4838, 264, 115, 403, 114,
4843, 4844, 474, 478, 300, 269, 2422, 3988, 22, 91,
319, 416, 397, 3938, 28, 386, 323, 252, 289, 1445,
168, 289, 187, 475, 1450, 323, 478, 5008, 193, 111,
2304, 224, 4104, 5255, 254, 2358, 4108, 131, 1464, 1465,
349, 4596, 475, 414, 284, 463, 4697, 4596, 1474, 356,
410, 1477, 112, 112, 472, 2329, 474, 475, 476, 284,
478, 2403, 356, 145, 115, 183, 437, 131, 439, 168,
375, 124, 311, 474, 383, 112, 388, 1503, 271, 1505,
228, 134, 3816, 1509, 1996, 324, 3820, 3821, 478, 3823,
1433, 311, 2004, 395, 213, 392, 211, 5017, 5018, 158,
1526, 397, 1528, 474, 1567, 1531, 4979, 5329, 238, 2603,
345, 241, 264, 352, 2388, 424, 356, 131, 5340, 428,
180, 4684, 2186, 175, 165, 3860, 291, 285, 437, 228,
275, 356, 183, 252, 1973, 5008, 1975, 289, 237, 254,
343, 1567, 1981, 349, 440, 365, 285, 175, 1987, 1988,
1989, 460, 1578, 1579, 1580, 1581, 1582, 234, 1997, 1998,
3895, 463, 2504, 2002, 2440, 474, 323, 3452, 361, 334,
1596, 2338, 2339, 5395, 476, 2342, 155, 383, 3133, 382,
383, 1607, 1608, 1609, 323, 2527, 2528, 2529, 2530, 477,
3904, 285, 3020, 168, 254, 323, 311, 2539, 356, 356,
252, 346, 2362, 474, 2116, 126, 474, 128, 472, 1517,
2370, 5433, 476, 2373, 1522, 2489, 381, 356, 424, 2271,
285, 2434, 2435, 2436, 252, 2179, 165, 0, 356, 323,
151, 437, 285, 285, 5456, 166, 3724, 319, 217, 387,
359, 389, 115, 66, 409, 273, 283, 303, 21, 1871,
5123, 3391, 417, 228, 460, 420, 254, 1814, 323, 198,
3748, 259, 356, 3207, 305, 458, 414, 349, 474, 3213,
323, 323, 465, 466, 467, 468, 469, 470, 51, 1705,
4654, 1707, 300, 1591, 273, 1860, 328, 1595, 387, 112,
389, 356, 4914, 1719, 1720, 400, 285, 416, 4949, 29,
341, 383, 1870, 1871, 166, 3960, 2358, 3962, 341, 386,
183, 309, 349, 2269, 356, 414, 1742, 153, 3479, 3480,
3481, 3482, 474, 53, 3485, 3486, 3487, 3488, 3489, 3490,
3491, 3492, 3493, 3494, 323, 1761, 2503, 414, 259, 2391,
315, 1765, 424, 264, 167, 126, 383, 128, 315, 4912,
418, 1777, 1778, 1779, 1780, 437, 341, 398, 5339, 339,
437, 285, 439, 404, 1790, 1789, 4929, 400, 263, 3153,
422, 1797, 2424, 5293, 1800, 306, 63, 64, 460, 397,
3541, 3542, 339, 350, 341, 1811, 5259, 424, 1814, 225,
2344, 371, 474, 1819, 422, 319, 3472, 474, 1824, 323,
437, 92, 4444, 4966, 4731, 434, 474, 338, 126, 474,
128, 184, 387, 153, 389, 400, 383, 158, 158, 430,
351, 285, 440, 460, 2955, 3501, 1994, 327, 169, 145,
266, 254, 356, 1859, 1860, 4507, 259, 474, 2557, 414,
429, 163, 4514, 400, 1870, 1871, 187, 4519, 1874, 478,
4522, 1877, 5133, 384, 114, 430, 356, 5438, 439, 323,
346, 5334, 4830, 430, 74, 187, 5339, 5118, 1894, 1895,
250, 4543, 215, 164, 84, 1901, 338, 1903, 301, 460,
474, 402, 344, 264, 4556, 225, 4353, 1904, 268, 351,
1953, 412, 356, 1914, 317, 1916, 2656, 1918, 2772, 1920,
418, 1922, 1928, 2567, 2778, 1926, 197, 2928, 4550, 1935,
4552, 1937, 213, 8, 1940, 1941, 11, 1943, 1944, 4727,
1946, 212, 384, 1966, 4372, 4392, 266, 1953, 4183, 4184,
3324, 222, 239, 3327, 1960, 195, 254, 5100, 104, 1965,
1966, 1958, 84, 1969, 406, 40, 264, 1973, 1958, 1975,
1958, 252, 47, 1958, 1980, 1981, 474, 248, 2622, 1958,
4206, 1987, 1988, 1989, 1905, 5438, 4212, 1993, 1994, 1995,
1996, 1997, 1998, 1999, 2000, 474, 2002, 72, 2004, 2005,
3640, 4315, 2008, 4317, 4318, 2653, 285, 4321, 411, 2567,
24, 332, 252, 159, 254, 315, 418, 2023, 2024, 2025,
2026, 1965, 285, 4, 2030, 2031, 2228, 4342, 9, 2035,
311, 45, 2038, 164, 158, 2041, 2042, 2043, 2044, 2045,
2046, 2047, 2048, 2049, 323, 2051, 168, 193, 327, 1972,
350, 2057, 2058, 349, 2060, 2848, 4963, 181, 1517, 5261,
323, 2067, 333, 1522, 2622, 325, 197, 4719, 5022, 191,
22, 2226, 474, 400, 2229, 2230, 28, 356, 359, 74,
2228, 212, 2219, 383, 141, 285, 437, 383, 285, 84,
2096, 222, 238, 356, 2100, 241, 153, 5240, 2104, 4920,
2106, 158, 437, 2918, 2523, 141, 228, 182, 269, 460,
2116, 3852, 187, 274, 2854, 400, 349, 153, 237, 2125,
2126, 437, 158, 323, 2851, 3006, 323, 4779, 424, 437,
430, 114, 1591, 2139, 473, 416, 1595, 346, 437, 478,
2146, 437, 2148, 478, 460, 2592, 2593, 2594, 205, 224,
383, 3032, 274, 387, 2144, 389, 356, 2576, 158, 356,
3695, 473, 478, 2268, 460, 2188, 478, 2190, 225, 205,
478, 439, 126, 2179, 128, 158, 2097, 2098, 474, 478,
5323, 181, 2188, 237, 2190, 158, 3906, 2809, 141, 225,
4, 424, 460, 88, 3305, 9, 271, 151, 2241, 191,
153, 2207, 333, 2186, 3315, 158, 474, 472, 181, 266,
2854, 476, 195, 2219, 437, 2221, 2222, 181, 275, 5007,
2226, 239, 2228, 2229, 2230, 4870, 2232, 4872, 2234, 5183,
266, 4876, 2238, 4878, 5436, 2241, 400, 460, 469, 275,
80, 474, 2347, 474, 430, 476, 5389, 475, 5, 4564,
478, 346, 205, 269, 11, 439, 2262, 610, 274, 2751,
2752, 474, 19, 476, 2756, 387, 2272, 389, 4920, 252,
3686, 254, 225, 53, 2280, 2281, 460, 9, 400, 4924,
37, 472, 2288, 474, 215, 476, 361, 474, 3928, 411,
474, 2297, 414, 898, 474, 2338, 2339, 2945, 903, 2342,
254, 2793, 2794, 269, 469, 259, 3432, 478, 3672, 474,
264, 476, 2318, 266, 13, 14, 2421, 2323, 2324, 3693,
475, 3695, 275, 478, 343, 4639, 902, 4979, 2972, 3251,
474, 83, 2338, 2339, 2753, 53, 2342, 3297, 2344, 2345,
2764, 5295, 2766, 2767, 920, 475, 2765, 923, 478, 475,
430, 3207, 478, 410, 707, 708, 5008, 3213, 3363, 3364,
8, 3258, 2368, 11, 3728, 2371, 428, 15, 16, 17,
475, 43, 124, 478, 410, 3007, 475, 475, 2797, 478,
478, 475, 134, 458, 478, 475, 2392, 2393, 478, 457,
465, 466, 467, 468, 469, 470, 472, 475, 474, 3253,
478, 2407, 283, 2409, 2410, 475, 2942, 2943, 478, 475,
475, 211, 478, 478, 2972, 472, 2835, 475, 475, 476,
478, 66, 475, 30, 31, 478, 5380, 72, 475, 158,
349, 478, 2438, 2439, 2440, 437, 476, 439, 2444, 84,
4675, 339, 340, 475, 2450, 3299, 478, 8, 402, 4954,
11, 3083, 2458, 475, 272, 2461, 478, 410, 412, 234,
2503, 2467, 475, 475, 383, 478, 478, 112, 349, 114,
387, 5123, 389, 2479, 827, 2481, 829, 475, 475, 40,
478, 478, 475, 269, 475, 478, 47, 478, 475, 2495,
475, 478, 2498, 478, 2500, 272, 475, 2503, 4813, 478,
269, 2507, 383, 5291, 2510, 424, 3246, 4822, 339, 340,
475, 72, 8, 478, 3254, 11, 2522, 2523, 437, 15,
16, 17, 167, 3931, 339, 340, 3637, 3638, 4596, 3913,
339, 340, 475, 285, 2540, 478, 32, 475, 395, 187,
478, 460, 272, 424, 2550, 2700, 2552, 457, 2703, 475,
195, 2706, 478, 2509, 5176, 474, 437, 2694, 43, 2549,
475, 209, 474, 478, 476, 3101, 475, 319, 343, 478,
2576, 323, 475, 475, 8, 478, 478, 11, 139, 460,
457, 15, 16, 17, 3120, 3284, 475, 475, 475, 478,
478, 478, 475, 474, 467, 478, 437, 2603, 439, 2605,
2606, 2607, 2608, 162, 356, 3521, 40, 5259, 387, 254,
389, 386, 211, 47, 259, 5403, 3260, 475, 3262, 477,
3621, 182, 8, 271, 35, 11, 187, 5149, 5150, 15,
16, 17, 475, 475, 478, 478, 478, 2643, 72, 414,
475, 475, 475, 54, 478, 478, 32, 475, 475, 475,
478, 478, 478, 4721, 475, 475, 301, 478, 478, 475,
3514, 2809, 437, 224, 439, 5273, 5274, 475, 141, 3416,
478, 475, 317, 475, 478, 474, 478, 5465, 2684, 387,
153, 389, 5334, 4218, 3582, 158, 475, 5339, 2694, 478,
53, 428, 475, 104, 2700, 478, 3340, 2703, 163, 474,
2706, 3441, 3260, 3619, 3262, 475, 207, 474, 478, 2715,
271, 2753, 475, 209, 474, 478, 475, 2723, 476, 478,
8, 4462, 2728, 11, 2872, 441, 474, 15, 16, 17,
475, 475, 205, 478, 478, 234, 437, 475, 439, 3275,
478, 3277, 323, 474, 32, 2751, 2752, 2753, 182, 187,
2756, 475, 225, 187, 478, 2797, 167, 3405, 2764, 2765,
2766, 2767, 475, 146, 475, 478, 411, 478, 146, 475,
475, 2777, 478, 478, 2780, 271, 2782, 475, 475, 190,
478, 478, 3340, 474, 476, 4201, 5438, 2793, 2794, 269,
224, 2797, 5239, 266, 187, 475, 1149, 3694, 478, 269,
361, 475, 275, 2809, 478, 2811, 323, 2813, 475, 2815,
475, 478, 477, 461, 462, 463, 3577, 465, 466, 467,
468, 469, 470, 209, 833, 475, 835, 238, 478, 2835,
241, 146, 475, 2839, 234, 478, 475, 271, 187, 478,
2846, 252, 475, 475, 343, 478, 478, 475, 475, 3664,
478, 478, 146, 269, 475, 35, 2862, 478, 475, 1212,
2902, 478, 158, 2869, 2840, 2841, 2842, 475, 2865, 3723,
478, 3725, 323, 284, 54, 2865, 146, 2865, 2884, 1232,
2865, 4109, 223, 4111, 256, 271, 2865, 386, 475, 114,
418, 478, 2898, 3747, 269, 3431, 2902, 458, 474, 2905,
475, 2907, 239, 478, 465, 466, 467, 468, 469, 470,
1263, 475, 3766, 475, 478, 414, 478, 328, 400, 475,
263, 209, 478, 3804, 104, 1278, 430, 361, 475, 3826,
2846, 478, 475, 475, 346, 478, 478, 410, 437, 350,
439, 158, 2948, 343, 2950, 475, 215, 234, 478, 2955,
475, 475, 475, 478, 478, 478, 475, 66, 2006, 370,
0, 2009, 474, 254, 3, 461, 462, 463, 35, 465,
466, 467, 468, 469, 470, 474, 2982, 349, 2984, 2985,
2986, 254, 2898, 271, 3724, 441, 386, 3479, 3480, 3481,
3482, 234, 269, 3485, 3486, 3487, 3488, 3489, 3490, 3491,
3492, 3493, 3494, 4744, 158, 474, 4056, 254, 3748, 43,
190, 383, 43, 254, 414, 1368, 1369, 405, 1371, 3812,
3512, 254, 83, 285, 458, 430, 430, 461, 462, 463,
80, 465, 466, 467, 468, 469, 470, 437, 158, 439,
304, 146, 146, 474, 83, 146, 427, 474, 297, 3541,
3542, 91, 424, 474, 146, 3474, 343, 34, 238, 474,
146, 241, 441, 146, 478, 437, 146, 146, 146, 146,
35, 146, 252, 146, 474, 461, 462, 463, 146, 465,
466, 467, 468, 469, 470, 269, 671, 158, 460, 3508,
146, 56, 146, 3099, 146, 146, 135, 383, 3246, 386,
343, 141, 474, 475, 284, 477, 3254, 474, 35, 223,
158, 158, 697, 153, 269, 474, 5, 5, 158, 474,
474, 158, 474, 163, 474, 90, 474, 414, 474, 169,
8, 5, 172, 11, 3553, 474, 176, 15, 16, 17,
474, 5, 474, 386, 474, 474, 474, 474, 328, 474,
437, 474, 439, 474, 32, 5, 8, 5, 49, 11,
474, 474, 474, 474, 234, 205, 474, 474, 474, 474,
350, 414, 474, 461, 462, 463, 474, 465, 466, 467,
468, 469, 470, 438, 149, 225, 281, 474, 40, 474,
370, 207, 231, 35, 437, 47, 439, 478, 478, 95,
223, 3207, 93, 35, 478, 4121, 8, 3213, 158, 11,
158, 266, 356, 15, 16, 17, 3222, 395, 264, 184,
72, 3227, 3228, 395, 343, 4141, 266, 118, 395, 269,
32, 474, 429, 255, 256, 275, 3976, 395, 40, 476,
343, 4982, 395, 395, 135, 47, 285, 343, 139, 8,
215, 4362, 11, 225, 395, 220, 15, 16, 17, 395,
3266, 3267, 3268, 463, 395, 84, 146, 343, 159, 269,
72, 162, 269, 343, 348, 220, 35, 3283, 395, 395,
259, 289, 395, 417, 323, 269, 177, 139, 327, 254,
330, 3334, 386, 269, 339, 8, 264, 474, 11, 3305,
3306, 180, 15, 16, 17, 8, 395, 395, 11, 3315,
3316, 3317, 15, 16, 17, 3321, 386, 356, 474, 4703,
84, 286, 3970, 3971, 3972, 3973, 3974, 349, 3334, 478,
182, 209, 285, 187, 146, 187, 418, 418, 395, 269,
3330, 3877, 3878, 383, 414, 8, 395, 386, 11, 388,
383, 395, 15, 16, 17, 383, 4136, 395, 106, 395,
3852, 383, 327, 3353, 269, 950, 331, 437, 259, 439,
410, 395, 224, 3416, 395, 340, 267, 395, 395, 53,
182, 395, 53, 348, 395, 187, 245, 3549, 395, 3395,
975, 356, 395, 271, 434, 308, 436, 437, 437, 395,
273, 395, 424, 368, 474, 990, 343, 209, 210, 395,
3416, 376, 395, 386, 289, 437, 42, 234, 309, 271,
289, 8, 224, 42, 395, 395, 3432, 343, 15, 16,
17, 395, 472, 398, 395, 475, 476, 477, 460, 395,
475, 209, 269, 234, 209, 269, 478, 209, 3454, 479,
209, 441, 474, 209, 209, 257, 209, 3463, 269, 269,
209, 395, 209, 3469, 405, 3471, 209, 432, 3474, 271,
4210, 436, 274, 3479, 3480, 3481, 3482, 437, 35, 3485,
3486, 3487, 3488, 3489, 3490, 3491, 3492, 3493, 3494, 234,
146, 24, 3498, 3499, 474, 269, 209, 146, 112, 418,
254, 437, 3508, 146, 146, 3547, 3512, 4129, 429, 361,
3516, 146, 271, 231, 264, 254, 254, 269, 3524, 254,
35, 3527, 158, 3529, 3566, 474, 343, 35, 215, 345,
474, 34, 3538, 393, 472, 3541, 3542, 393, 395, 472,
3546, 3547, 395, 474, 395, 3551, 209, 3553, 395, 146,
146, 1904, 343, 418, 3560, 3561, 3562, 3563, 271, 361,
3566, 3567, 4418, 146, 0, 3571, 3572, 3573, 271, 386,
146, 146, 3578, 418, 263, 395, 3724, 258, 163, 3555,
3556, 3557, 3558, 461, 462, 463, 245, 465, 466, 467,
468, 469, 470, 433, 245, 386, 3602, 414, 343, 1184,
3748, 11, 474, 393, 4096, 1958, 458, 478, 271, 395,
3616, 474, 3618, 465, 466, 467, 468, 469, 470, 474,
437, 172, 439, 414, 4043, 5366, 5367, 154, 163, 478,
3636, 3637, 3638, 180, 3640, 180, 4284, 4285, 475, 4287,
397, 386, 205, 474, 4343, 478, 437, 3563, 439, 359,
3566, 3657, 3658, 3659, 3660, 91, 458, 474, 213, 461,
462, 463, 4198, 465, 466, 467, 468, 469, 470, 414,
270, 478, 418, 35, 278, 53, 478, 475, 343, 2032,
3686, 474, 418, 474, 271, 213, 259, 5222, 213, 259,
395, 395, 437, 395, 439, 239, 474, 430, 346, 3705,
400, 158, 461, 462, 463, 141, 465, 466, 467, 468,
469, 470, 4823, 215, 148, 269, 259, 153, 43, 365,
3636, 148, 158, 254, 223, 223, 4867, 163, 223, 474,
339, 267, 386, 169, 395, 269, 172, 478, 181, 4275,
176, 148, 148, 269, 323, 353, 311, 475, 461, 462,
463, 4648, 465, 466, 467, 468, 469, 470, 461, 462,
463, 395, 465, 466, 467, 468, 469, 470, 395, 205,
275, 35, 3755, 418, 209, 215, 267, 418, 307, 191,
463, 463, 146, 264, 4858, 158, 4860, 35, 160, 225,
4644, 2144, 430, 384, 3800, 308, 264, 474, 461, 462,
463, 353, 465, 466, 467, 468, 469, 470, 146, 146,
474, 146, 264, 8, 437, 254, 11, 35, 269, 269,
15, 16, 17, 254, 215, 178, 178, 158, 35, 8,
266, 475, 11, 269, 4370, 472, 457, 32, 3844, 275,
457, 347, 3848, 475, 3850, 40, 3852, 475, 243, 215,
475, 475, 47, 3859, 158, 269, 4596, 353, 254, 3865,
187, 40, 478, 187, 187, 187, 187, 478, 47, 3875,
441, 478, 23, 170, 461, 462, 463, 72, 465, 466,
467, 468, 469, 470, 3890, 395, 474, 163, 3894, 437,
269, 242, 478, 72, 330, 53, 400, 383, 3904, 215,
263, 4673, 163, 475, 281, 474, 430, 3913, 475, 475,
478, 475, 163, 475, 1499, 475, 475, 475, 3924, 475,
290, 474, 3928, 5064, 395, 475, 3932, 3933, 270, 475,
280, 270, 474, 3923, 457, 4557, 474, 474, 459, 416,
434, 233, 474, 269, 434, 424, 463, 383, 53, 269,
191, 269, 474, 272, 3960, 474, 3962, 146, 4377, 441,
139, 5072, 5073, 3969, 199, 395, 395, 200, 259, 395,
4462, 4764, 395, 254, 410, 146, 209, 273, 3894, 4471,
356, 4129, 146, 348, 146, 4607, 223, 182, 348, 348,
223, 191, 187, 148, 463, 395, 4002, 418, 434, 225,
436, 437, 478, 182, 291, 291, 415, 4013, 187, 395,
395, 395, 395, 235, 209, 210, 235, 269, 235, 146,
395, 395, 254, 356, 395, 42, 343, 395, 343, 224,
343, 343, 473, 475, 395, 209, 472, 4043, 395, 475,
476, 477, 475, 475, 209, 224, 395, 4053, 4054, 395,
395, 395, 209, 209, 4060, 4061, 175, 3, 475, 4065,
475, 4597, 257, 3, 4070, 478, 158, 4073, 4074, 405,
43, 325, 4078, 4079, 105, 478, 271, 475, 4084, 4085,
4086, 4087, 4088, 158, 474, 267, 4092, 4093, 4094, 269,
4096, 4097, 271, 0, 4100, 475, 35, 146, 4104, 4955,
395, 146, 4108, 5214, 158, 175, 473, 418, 4114, 418,
146, 272, 343, 343, 343, 473, 343, 353, 343, 475,
144, 144, 209, 4129, 4772, 1710, 209, 4867, 209, 209,
4136, 478, 209, 209, 4140, 4783, 209, 4160, 209, 4145,
472, 137, 1727, 163, 11, 281, 158, 429, 4138, 4139,
478, 434, 163, 163, 4160, 56, 172, 4163, 270, 82,
474, 8, 460, 1748, 11, 475, 361, 475, 475, 5310,
475, 330, 475, 474, 423, 475, 478, 4183, 4184, 478,
474, 5084, 361, 158, 91, 475, 475, 35, 4104, 90,
405, 395, 4108, 40, 418, 4201, 2549, 418, 199, 53,
47, 215, 386, 146, 474, 372, 167, 405, 5062, 4215,
348, 4855, 395, 343, 4862, 343, 475, 395, 395, 1804,
395, 323, 4205, 4867, 474, 72, 395, 437, 475, 475,
53, 4214, 386, 1818, 141, 148, 424, 158, 72, 105,
146, 475, 405, 209, 209, 1830, 153, 209, 149, 209,
213, 158, 4744, 194, 474, 395, 163, 1842, 4264, 318,
474, 269, 169, 458, 475, 172, 461, 462, 463, 176,
465, 466, 467, 468, 469, 470, 478, 4769, 35, 458,
4286, 441, 478, 184, 289, 78, 465, 466, 467, 468,
469, 470, 139, 386, 405, 4301, 395, 478, 205, 475,
353, 1886, 1887, 473, 5158, 478, 474, 169, 474, 105,
163, 209, 163, 316, 53, 435, 212, 435, 225, 220,
5019, 279, 475, 475, 474, 4331, 475, 281, 212, 475,
4749, 478, 474, 385, 475, 182, 53, 474, 276, 474,
187, 4347, 4990, 176, 264, 405, 463, 4353, 395, 163,
72, 437, 188, 254, 193, 181, 4362, 259, 53, 266,
259, 386, 269, 463, 478, 478, 395, 66, 275, 8,
4789, 4377, 11, 395, 395, 146, 474, 224, 6, 475,
209, 165, 163, 112, 4390, 286, 4392, 35, 418, 187,
264, 418, 625, 35, 5016, 474, 353, 254, 631, 4389,
2753, 40, 160, 158, 353, 4607, 264, 53, 47, 4557,
35, 644, 163, 269, 158, 207, 4422, 474, 437, 437,
5064, 196, 272, 330, 271, 163, 327, 316, 329, 423,
331, 474, 474, 72, 369, 475, 475, 2022, 212, 340,
289, 474, 474, 436, 2797, 127, 474, 348, 4596, 475,
84, 4606, 269, 317, 35, 356, 4462, 146, 395, 4607,
475, 2814, 395, 119, 158, 4471, 35, 368, 474, 259,
474, 180, 474, 236, 474, 376, 383, 2830, 191, 474,
353, 146, 4488, 4489, 474, 474, 4492, 474, 474, 105,
4982, 475, 132, 2846, 35, 4650, 475, 433, 340, 340,
139, 4507, 405, 410, 4510, 273, 367, 367, 4514, 53,
53, 475, 2865, 4519, 361, 35, 4522, 4523, 75, 4525,
180, 4527, 474, 4529, 4530, 478, 474, 434, 423, 436,
437, 432, 474, 418, 386, 4536, 158, 4543, 5392, 4545,
474, 386, 474, 182, 252, 2898, 474, 5, 187, 2902,
4556, 4557, 4558, 4559, 4560, 269, 386, 4976, 475, 152,
441, 5205, 190, 474, 474, 472, 145, 66, 475, 476,
477, 199, 200, 66, 4993, 272, 127, 423, 4997, 207,
4999, 209, 210, 316, 422, 224, 474, 474, 478, 35,
356, 4507, 163, 437, 437, 223, 314, 386, 4514, 5453,
4606, 4607, 259, 4519, 132, 193, 4522, 269, 269, 474,
353, 458, 35, 35, 272, 5469, 188, 272, 465, 466,
467, 468, 469, 470, 434, 165, 165, 4543, 53, 339,
395, 117, 271, 416, 474, 5, 339, 22, 2223, 474,
4556, 478, 353, 28, 4650, 142, 474, 4653, 475, 276,
475, 475, 2237, 324, 474, 6, 41, 21, 474, 4665,
478, 474, 4668, 478, 32, 5157, 5310, 4673, 259, 4675,
474, 8, 145, 163, 11, 4718, 4682, 277, 15, 16,
17, 75, 367, 395, 367, 70, 339, 4677, 437, 437,
165, 165, 2277, 4699, 474, 32, 829, 4703, 1331, 1594,
2507, 2854, 911, 40, 912, 2391, 3032, 2313, 3697, 5205,
47, 4717, 4718, 4719, 3723, 5383, 5201, 3244, 866, 3828,
8, 2416, 361, 11, 4880, 5062, 4716, 15, 16, 17,
5310, 3875, 4703, 4333, 2949, 72, 4672, 122, 4744, 124,
5182, 4747, 2643, 4749, 32, 5297, 131, 4789, 5092, 134,
5091, 5224, 40, 5334, 4556, 2953, 3908, 3924, 5026, 47,
3866, 3718, 3295, 4769, 2492, 2492, 3058, 3891, 4371, 4775,
4679, 2486, 3307, 4779, 159, 4688, 908, 4783, 5469, 5312,
5453, 4665, 3253, 4789, 72, 5277, 3248, 5237, 4841, 4609,
1756, 5035, 4798, 4612, 28, 1176, 3979, 4809, 1187, 5400,
1802, 2162, 3931, 4719, 2927, 1811, 4955, 1870, 193, 695,
1961, 1961, 3185, 3747, 1962, 4821, 988, 4823, 3299, 458,
3766, 5264, 5441, 808, 1417, 2097, 465, 466, 467, 468,
469, 470, 4140, 1905, 2105, 4539, 5175, 3616, 2106, 190,
661, 1353, 4848, 1308, 2869, 182, 2884, 2142, 199, 2116,
187, 3581, 4858, 4859, 4860, 4861, 207, 5167, 1378, 210,
5001, 1377, 4126, 4779, 3566, 2141, 1380, 252, 5016, 254,
4093, 3563, 209, 210, 5366, 5367, 4780, 4979, 4110, 264,
4978, 3617, 3563, 5447, 1385, 5281, 5370, 224, 273, 1835,
4896, 5157, 3516, 4747, 182, 2480, 4533, 35, 5170, 187,
285, 5171, 2724, 2814, 2444, 2812, -1, -1, 2055, -1,
-1, 4917, 2058, -1, 4920, -1, 54, -1, -1, -1,
257, 209, 210, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 271, -1, 224, 274, 323, -1,
4930, 326, 327, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 104, 105, -1, 257,
4976, 356, -1, 4979, 112, -1, 4982, 3330, -1, -1,
4986, -1, -1, 271, -1, 613, 274, 4993, -1, -1,
-1, 4997, -1, 4999, -1, 5001, -1, 625, -1, -1,
3353, -1, 5008, 631, 4920, -1, -1, -1, 5014, -1,
5016, -1, -1, -1, -1, 5005, 644, -1, -1, -1,
-1, 5027, -1, -1, 361, -1, -1, -1, -1, 167,
-1, -1, 660, -1, -1, 5190, 421, 665, -1, -1,
-1, -1, -1, 671, -1, -1, -1, 675, 676, -1,
-1, -1, 190, -1, 682, -1, 684, 685, -1, -1,
-1, -1, -1, 4979, -1, -1, 5072, 5073, -1, 697,
698, -1, -1, 361, -1, -1, -1, -1, -1, -1,
708, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 5008, -1, -1, 2680, -1, 5103, -1, -1,
238, -1, -1, 241, 5110, -1, -1, -1, 5114, -1,
5265, 5266, 2697, -1, 252, -1, 254, 5123, -1, -1,
-1, 458, -1, -1, 461, 462, 463, 2712, 465, 466,
467, 468, 469, 470, -1, -1, -1, -1, -1, -1,
-1, 478, 5148, 5149, 5150, -1, 284, -1, 5154, -1,
-1, 5157, -1, -1, -1, -1, -1, -1, -1, 787,
788, 5167, -1, -1, 5170, 793, -1, -1, -1, 5175,
458, -1, -1, 461, 462, 463, -1, 465, 466, 467,
468, 469, 470, -1, 5190, -1, -1, 475, -1, -1,
328, 819, -1, -1, 3547, -1, -1, -1, -1, -1,
-1, 5207, -1, -1, -1, -1, -1, 5123, 5214, -1,
3563, -1, 350, 3566, 3, -1, -1, -1, -1, 8,
-1, -1, 11, -1, -1, -1, 15, 16, 17, -1,
-1, -1, 370, 5239, 372, -1, -1, 375, 5244, -1,
-1, -1, -1, 32, 5250, -1, 35, -1, 5238, -1,
-1, 40, -1, 5259, -1, -1, -1, -1, 47, 5265,
5266, 5267, 613, -1, -1, -1, -1, 5264, -1, -1,
-1, 5277, -1, -1, 5264, 5281, 5264, -1, -1, 5264,
-1, -1, -1, 72, -1, 5264, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 5302, -1, -1, -1,
5342, -1, -1, -1, -1, -1, 934, 935, 936, -1,
-1, -1, -1, -1, 665, 943, 5471, 5472, -1, -1,
-1, -1, 950, -1, 675, -1, 954, -1, 5334, 5335,
5336, 682, 960, 5339, 685, 963, 474, -1, -1, -1,
-1, -1, -1, 5259, -1, 5342, -1, 975, -1, -1,
-1, -1, 5342, -1, 5342, -1, -1, 5342, -1, 1592,
5366, 5367, 990, 5342, -1, -1, -1, -1, -1, -1,
-1, -1, 5378, -1, -1, -1, -1, -1, 22, -1,
-1, -1, -1, -1, 28, -1, -1, -1, -1, -1,
-1, 2976, -1, 182, -1, -1, -1, -1, 187, -1,
-1, -1, -1, -1, -1, 5411, -1, 1035, 1036, -1,
2995, -1, -1, -1, -1, 5421, -1, -1, 5334, -1,
209, 210, -1, 5339, -1, -1, -1, -1, -1, 5435,
-1, -1, 5438, -1, -1, 224, -1, -1, -1, -1,
-1, 5447, -1, -1, 5441, 5451, -1, 1075, -1, -1,
-1, 5441, -1, 5441, -1, -1, 5441, -1, -1, -1,
-1, -1, 5441, -1, -1, 5471, 5472, -1, 257, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 271, -1, 1112, 274, -1, -1, -1, 22,
-1, -1, -1, -1, -1, 28, -1, -1, -1, -1,
-1, -1, 1130, -1, -1, -1, 3091, -1, 3093, -1,
-1, 1139, -1, -1, -1, -1, -1, -1, -1, 1147,
-1, -1, 5438, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 1767, -1, -1, 70, -1, -1,
-1, 3894, 1775, 8, -1, -1, 11, 1175, -1, -1,
15, 16, 17, -1, 1787, -1, 1184, -1, 1186, -1,
-1, -1, -1, -1, -1, -1, -1, 32, -1, -1,
3923, -1, 361, 1201, -1, 40, 1204, -1, -1, -1,
-1, -1, 47, -1, -1, 25, -1, 120, 1216, -1,
-1, 124, 943, -1, -1, -1, -1, 3182, 131, -1,
-1, 134, -1, 954, -1, -1, -1, 72, -1, 960,
-1, -1, 963, -1, -1, -1, -1, -1, 1246, -1,
-1, -1, -1, -1, -1, -1, 159, -1, -1, -1,
1863, -1, -1, -1, 74, -1, 3221, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 1274, 1275, 1276, -1,
1278, -1, -1, -1, -1, -1, -1, 1890, -1, -1,
193, -1, -1, -1, -1, -1, 106, -1, -1, 458,
1298, -1, 461, 462, 463, -1, 465, 466, 467, 468,
469, 470, -1, -1, 1035, 1036, -1, -1, -1, 129,
-1, -1, -1, -1, 1322, -1, -1, -1, -1, -1,
140, -1, 1330, 1331, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 182, -1, 252,
160, 254, 187, -1, -1, 165, -1, -1, -1, -1,
-1, 264, -1, -1, -1, -1, -1, -1, 3323, -1,
273, -1, 1370, -1, 209, 210, 1374, 1375, -1, -1,
-1, 4104, 285, -1, -1, 4108, -1, -1, -1, 224,
-1, 1389, -1, -1, -1, 1393, -1, -1, -1, -1,
3355, 1399, -1, -1, -1, -1, 216, -1, -1, -1,
-1, -1, -1, -1, -1, 4138, 4139, -1, -1, -1,
323, -1, 257, 326, 327, -1, -1, 237, -1, -1,
-1, -1, -1, -1, -1, -1, 271, -1, -1, 274,
8, -1, -1, 11, -1, -1, -1, 15, 16, 17,
-1, 22, -1, 356, -1, -1, -1, 28, -1, -1,
1458, -1, -1, -1, 32, -1, -1, -1, -1, -1,
41, -1, 40, -1, -1, -1, -1, -1, -1, 47,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 304, 305, -1, -1, 308, 70,
-1, 1499, 3457, -1, 72, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 421, -1,
-1, -1, -1, 3478, 334, -1, 361, 337, -1, -1,
-1, -1, -1, 343, 1532, -1, -1, -1, -1, -1,
350, -1, -1, -1, -1, -1, -1, 2150, 3503, 120,
20, -1, -1, 124, -1, 25, -1, -1, -1, -1,
131, -1, -1, 134, -1, 2168, -1, -1, 378, -1,
-1, 2174, -1, 383, -1, 2178, 386, -1, -1, -1,
-1, -1, 3537, -1, -1, -1, -1, -1, 159, -1,
60, -1, -1, -1, 1592, 405, -1, -1, -1, -1,
-1, 2204, -1, 73, -1, -1, -1, -1, -1, 1607,
1608, 1609, -1, -1, 182, -1, -1, -1, 88, 187,
430, -1, 193, 458, -1, -1, 461, 462, 463, -1,
465, 466, 467, 468, 469, 470, -1, -1, -1, -1,
475, 209, 210, -1, -1, -1, -1, 2250, -1, -1,
-1, -1, -1, -1, -1, -1, 224, -1, -1, 129,
-1, -1, -1, -1, -1, 2268, 4389, -1, -1, -1,
140, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 252, -1, 254, -1, -1, -1, -1, -1, 257,
160, -1, -1, 264, -1, 165, -1, -1, 2301, -1,
-1, -1, 273, 271, -1, -1, 274, 721, -1, 723,
-1, 725, 1710, -1, 285, -1, -1, 731, 732, 733,
-1, -1, -1, -1, 2327, -1, -1, -1, -1, 1727,
-1, 2334, -1, -1, -1, -1, -1, 2340, 1736, -1,
-1, -1, -1, -1, 2347, 1743, -1, -1, 2351, -1,
1748, -1, 323, 2356, -1, 326, 327, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 237, -1, 1767,
-1, -1, -1, 2376, -1, -1, -1, 1775, 2381, -1,
-1, -1, 2385, -1, -1, 356, -1, -1, -1, 1787,
-1, 4514, -1, 361, -1, 2398, 4519, -1, -1, 4522,
-1, 271, -1, -1, -1, -1, 1804, -1, 2411, -1,
-1, -1, -1, 1811, -1, -1, 1814, -1, 2421, -1,
1818, -1, -1, -1, -1, -1, 1824, -1, -1, -1,
-1, -1, 1830, -1, 304, 305, -1, -1, -1, -1,
-1, -1, -1, -1, 1842, 17, -1, -1, -1, -1,
421, -1, -1, -1, 26, -1, -1, -1, -1, -1,
874, 1859, 1860, -1, 1862, 1863, -1, 337, -1, -1,
-1, -1, -1, 343, -1, -1, 1874, -1, 1876, 1877,
350, -1, -1, 353, -1, -1, -1, -1, 1886, 1887,
458, 1889, 1890, 461, 462, 463, -1, 465, 466, 467,
468, 469, 470, -1, -1, 473, -1, 1905, -1, -1,
-1, -1, -1, 383, -1, -1, -1, -1, -1, -1,
390, -1, -1, -1, -1, -1, 3881, -1, 398, -1,
-1, -1, -1, -1, -1, 405, -1, -1, -1, 1937,
-1, -1, 1940, 1941, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4677, -1, -1, -1, -1, -1,
430, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 1973, -1, 1975, -1, -1,
-1, -1, 1980, 1981, -1, -1, -1, -1, -1, 1987,
1988, 1989, -1, 4716, -1, 1993, -1, 1995, 1996, 1997,
1998, 1999, 2000, -1, 2002, -1, 2004, 2005, -1, -1,
2008, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 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, -1, 4779, -1, -1, -1,
2058, 2664, 2060, -1, -1, -1, 4789, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 2682,
-1, -1, -1, -1, -1, -1, -1, 2690, -1, 35,
1811, -1, -1, 1814, -1, -1, -1, -1, 8, -1,
-1, 11, 2100, -1, -1, 15, 16, 17, -1, -1,
56, 4066, -1, -1, -1, -1, -1, -1, 2116, -1,
-1, -1, 32, -1, -1, -1, -1, 2125, 2126, -1,
40, -1, -1, 1147, -1, -1, -1, 47, 1859, 1860,
-1, -1, -1, -1, 90, -1, -1, -1, -1, -1,
-1, -1, 2150, 1874, -1, -1, 1877, -1, -1, 2157,
-1, -1, 72, 2161, 2162, -1, -1, -1, -1, -1,
2168, -1, -1, -1, -1, 2173, 2174, -1, -1, -1,
2178, -1, -1, -1, -1, -1, -1, -1, 2186, -1,
-1, -1, -1, -1, -1, -1, -1, 4920, -1, -1,
-1, -1, -1, 149, -1, -1, 2204, 4930, -1, 2207,
-1, -1, -1, -1, -1, -1, 1937, -1, -1, 1940,
1941, 2219, -1, -1, -1, 2223, 4181, -1, 2226, -1,
-1, 2229, 2230, -1, -1, -1, -1, -1, 184, 2237,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 2250, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4220, -1, -1, -1, 215,
2268, 2269, 182, -1, 220, -1, -1, 187, -1, 2277,
-1, -1, 5005, -1, 22, -1, 4241, -1, -1, -1,
28, -1, -1, -1, -1, -1, -1, -1, -1, 209,
210, -1, 2300, 2301, -1, -1, 2304, -1, 254, -1,
-1, 1325, -1, -1, 224, -1, 1330, 1331, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 2327,
-1, 2329, 70, -1, -1, -1, 2334, -1, -1, -1,
286, -1, 2340, -1, -1, -1, -1, 257, -1, 2347,
-1, 4306, -1, 2351, -1, -1, -1, -1, 2356, -1,
-1, 271, -1, -1, 274, -1, 2969, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 2376, -1,
-1, 327, -1, 2381, -1, 331, 124, 2385, -1, -1,
2388, -1, -1, 131, 340, -1, 134, -1, -1, -1,
2398, -1, 348, -1, -1, -1, -1, -1, 22, -1,
356, -1, -1, 2411, 28, -1, -1, -1, -1, -1,
-1, 159, 368, 2421, 1438, -1, -1, -1, -1, -1,
376, -1, -1, -1, 1448, 607, -1, -1, -1, -1,
2438, 2439, 2440, -1, -1, -1, 2444, -1, -1, -1,
-1, 361, 398, -1, -1, 193, 70, -1, -1, -1,
-1, -1, -1, -1, -1, 4420, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 1490, 1491, 3081, -1,
-1, 2479, 2480, -1, -1, -1, 432, -1, 660, 661,
436, 2489, -1, -1, -1, -1, -1, -1, 2219, -1,
-1, -1, -1, -1, -1, 2226, -1, -1, 2229, 2230,
124, 4466, -1, -1, 252, 5238, 254, 131, -1, 1533,
134, -1, 1536, 1537, -1, 2523, 264, -1, -1, -1,
-1, -1, -1, -1, -1, 273, -1, -1, -1, -1,
-1, 5264, -1, -1, -1, 159, -1, 285, 458, -1,
-1, 461, 462, 463, -1, 465, 466, 467, 468, 469,
470, -1, -1, -1, 2562, 475, -1, -1, -1, 2567,
-1, -1, -1, -1, -1, -1, -1, -1, 2576, 193,
-1, -1, -1, 755, -1, 323, -1, -1, 326, 327,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 3202,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 781,
-1, -1, -1, -1, -1, -1, -1, 789, 356, 5342,
792, 793, 794, -1, 2622, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 252, -1,
254, -1, -1, -1, -1, -1, -1, -1, -1, -1,
264, -1, -1, -1, -1, -1, -1, -1, -1, 273,
-1, -1, -1, -1, -1, -1, 2664, -1, -1, -1,
-1, 285, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 2680, 421, 2682, -1, -1, -1, -1, -1,
-1, 22, 2690, -1, -1, -1, 2694, 28, -1, 2697,
-1, -1, 2700, 1717, -1, 2703, -1, -1, 2706, 323,
41, -1, 326, 327, 2712, -1, -1, -1, 5441, -1,
-1, -1, -1, -1, -1, 2723, -1, -1, -1, -1,
2728, -1, -1, -1, -1, -1, -1, -1, -1, 70,
-1, -1, 356, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 2751, 2752, 2753, -1, -1, 2756, -1,
-1, -1, -1, -1, -1, -1, 2764, 2765, 2766, 2767,
-1, -1, -1, -1, 2772, -1, -1, -1, -1, 2777,
2778, -1, 2780, -1, 2782, -1, -1, -1, 3391, -1,
4745, 122, -1, 124, -1, 2793, 2794, -1, -1, 2797,
131, -1, -1, 134, -1, -1, 3409, 421, -1, -1,
-1, -1, -1, 2811, 1828, 2813, -1, 2815, -1, -1,
-1, -1, -1, -1, 1838, -1, 1840, -1, 159, -1,
4785, 3434, 1846, 8, -1, -1, 11, 2835, -1, 1853,
15, 16, 17, -1, -1, -1, -1, -1, 2846, -1,
-1, -1, 8, -1, -1, 11, 2854, 32, -1, 15,
16, 17, 193, -1, -1, 40, -1, -1, -1, -1,
-1, 2869, 47, -1, -1, -1, 32, -1, -1, -1,
-1, -1, -1, 4838, 40, -1, 2884, -1, 4843, 4844,
-1, 47, -1, -1, -1, -1, -1, 72, -1, -1,
2898, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 72, -1, -1, 2917,
-1, 252, 2920, 254, 2922, -1, -1, -1, -1, 2927,
-1, -1, -1, 264, -1, -1, -1, -1, -1, -1,
-1, -1, 273, -1, 2942, 2943, -1, -1, -1, -1,
2948, -1, -1, -1, 285, -1, -1, -1, 1130, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 1983,
1984, 2969, -1, 2694, 2972, 1147, 1990, 1991, 2976, 2700,
-1, -1, 2703, -1, -1, 2706, -1, -1, -1, -1,
-1, 8, 323, -1, 11, 326, 327, 2995, 15, 16,
17, 4956, -1, -1, 2018, -1, -1, 182, -1, 1181,
-1, -1, 187, -1, -1, 32, -1, -1, -1, -1,
-1, -1, 3020, 40, -1, 356, 182, -1, -1, -1,
47, 187, 1204, -1, 209, 210, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 224,
-1, -1, -1, 209, 210, 72, -1, -1, -1, 3057,
3058, 3059, -1, -1, 3667, -1, -1, -1, 224, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 257, 3081, -1, -1, -1, -1, -1, -1,
421, -1, -1, 3091, -1, 3093, 271, -1, -1, 274,
-1, 257, -1, 3101, -1, -1, -1, -1, 1280, -1,
-1, 2125, 2126, -1, -1, 271, -1, 1289, 274, -1,
-1, -1, 3120, -1, -1, 2846, -1, -1, -1, -1,
-1, 1303, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1322, -1, -1, 1325, 1326, -1, -1, -1, 1330, 1331,
-1, -1, -1, -1, -1, 182, -1, -1, -1, -1,
187, -1, 2186, -1, -1, -1, -1, 2898, -1, 3782,
-1, -1, 3785, -1, 3182, -1, 361, -1, -1, -1,
-1, -1, 209, 210, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 3202, 361, 5161, 224, -1, 3207,
-1, -1, -1, -1, -1, 3213, -1, -1, -1, -1,
-1, -1, -1, 3221, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
257, -1, -1, -1, -1, -1, -1, -1, 3246, -1,
-1, -1, -1, -1, 271, 3253, 3254, 274, -1, -1,
-1, -1, 3260, -1, 3262, -1, 2280, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 3275, -1, 3277,
-1, -1, -1, 458, 3887, -1, 461, 462, 463, -1,
465, 466, 467, 468, 469, 470, -1, -1, -1, -1,
475, 3299, 458, 3906, -1, 461, 462, 463, -1, 465,
466, 467, 468, 469, 470, -1, -1, -1, -1, 475,
-1, -1, -1, -1, -1, 3323, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 3340, 3341, 361, -1, -1, 1052, 2362, -1,
-1, -1, -1, -1, -1, -1, 2370, 3355, 8, 2373,
-1, 11, -1, -1, -1, 15, 16, 17, -1, -1,
-1, -1, -1, -1, -1, 1080, 3979, -1, 1550, -1,
-1, -1, 32, -1, 1556, -1, -1, -1, -1, -1,
40, -1, -1, 3391, -1, 1100, -1, 47, -1, -1,
-1, -1, -1, -1, -1, 1110, -1, -1, -1, 1114,
-1, 3409, -1, 1118, -1, 1120, -1, -1, -1, -1,
-1, 1126, 72, -1, -1, -1, -1, 1132, -1, -1,
1135, -1, -1, 3431, -1, -1, 3434, -1, -1, -1,
-1, 458, -1, -1, 461, 462, 463, -1, 465, 466,
467, 468, 469, 470, -1, -1, 3454, -1, 475, 3457,
-1, -1, -1, -1, -1, 3463, -1, -1, -1, -1,
-1, 3469, -1, 3471, -1, -1, 3474, -1, -1, -1,
3478, 3479, 3480, 3481, 3482, -1, -1, 3485, 3486, 3487,
3488, 3489, 3490, 3491, 3492, 3493, 3494, -1, -1, -1,
3498, 3499, -1, -1, -1, 3503, -1, -1, -1, -1,
3508, -1, -1, -1, 3512, -1, 3514, -1, 3516, -1,
-1, -1, -1, -1, -1, -1, 3524, -1, -1, 3527,
-1, 3529, 182, -1, -1, -1, -1, 187, -1, 3537,
3538, -1, -1, 3541, 3542, -1, -1, -1, 3546, 3547,
-1, -1, -1, -1, -1, 3553, -1, -1, -1, 209,
210, -1, -1, -1, -1, 3563, -1, -1, 3566, -1,
-1, -1, -1, -1, 224, 2589, 2590, -1, -1, -1,
3578, 2595, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 1770, -1,
-1, -1, 1774, -1, 3602, -1, -1, 257, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3618, 271, -1, -1, 274, -1, 3624, -1, -1, -1,
-1, -1, -1, 4236, -1, -1, -1, -1, 3636, -1,
-1, -1, 2656, -1, -1, 4248, -1, -1, -1, -1,
-1, -1, -1, -1, 8, -1, -1, 11, -1, -1,
-1, 15, 16, 17, -1, -1, -1, -1, -1, 3667,
-1, -1, -1, -1, 8, -1, -1, 11, 32, -1,
-1, 15, 16, 17, -1, -1, 40, -1, -1, -1,
-1, -1, -1, 47, 22, -1, -1, -1, 32, -1,
28, -1, -1, -1, -1, -1, 40, -1, -1, -1,
-1, 361, -1, 47, -1, -1, -1, -1, 72, -1,
3718, -1, -1, -1, -1, 3723, 3724, 3725, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 8, 72, -1,
11, -1, 70, -1, 15, 16, 17, -1, -1, 3747,
3748, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 32, -1, -1, -1, -1, -1, -1, 3766, 40,
-1, -1, -1, -1, -1, -1, 47, -1, -1, -1,
-1, -1, -1, -1, 3782, -1, -1, 3785, -1, -1,
-1, -1, -1, -1, -1, -1, 124, -1, -1, -1,
-1, 72, -1, 131, -1, -1, 134, -1, 458, -1,
-1, 461, 462, 463, 1986, 465, 466, 467, 468, 469,
470, -1, -1, -1, -1, 475, -1, -1, 182, -1,
-1, 159, -1, 187, -1, -1, -1, -1, 2852, -1,
2854, 4444, 3563, -1, -1, 3566, -1, -1, 182, -1,
-1, -1, -1, 187, 3852, 209, 210, -1, -1, -1,
-1, -1, 2876, 2877, -1, 193, -1, -1, -1, -1,
224, -1, -1, -1, -1, 209, 210, -1, -1, 3877,
3878, -1, -1, 3881, -1, -1, -1, -1, -1, 3887,
224, -1, -1, -1, -1, -1, 3894, -1, -1, -1,
-1, -1, -1, 257, -1, 2077, -1, 22, 3906, -1,
-1, 182, -1, 28, -1, 3636, 187, 271, -1, -1,
274, -1, -1, 257, 252, -1, 254, -1, -1, -1,
-1, -1, -1, 3931, 3932, 3933, 264, 271, 209, 210,
274, -1, -1, -1, -1, 273, -1, 4550, -1, 4552,
-1, -1, -1, 224, -1, 70, -1, 285, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 3979, -1, -1, -1, 22, 257, -1, -1, -1,
-1, 28, -1, -1, -1, 323, -1, -1, 326, 327,
271, -1, -1, 274, 4002, -1, -1, 361, -1, 124,
-1, -1, -1, -1, 2186, 4013, 131, -1, -1, 134,
-1, -1, -1, -1, -1, -1, -1, 361, 356, -1,
-1, -1, -1, 70, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 159, 4043, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4053, 4054, -1, 4056, -1,
-1, -1, 4060, 4061, -1, -1, -1, 4065, 4066, -1,
-1, -1, 4070, -1, -1, 4073, 4074, -1, 193, -1,
4078, -1, -1, -1, -1, 2257, 4084, 124, -1, -1,
361, -1, -1, 421, 131, -1, -1, 134, 4096, -1,
-1, -1, -1, -1, 458, -1, 4104, 461, 462, 463,
4108, 465, 466, 467, 468, 469, 470, -1, -1, -1,
-1, 475, 159, -1, 458, -1, -1, 461, 462, 463,
-1, 465, 466, 467, 468, 469, 470, 252, 4136, 254,
-1, 475, -1, -1, -1, -1, -1, -1, -1, 264,
-1, -1, -1, -1, -1, -1, 193, -1, 273, -1,
1865, -1, -1, -1, 2336, 4163, -1, -1, 1873, -1,
285, -1, -1, 3894, -1, -1, -1, -1, -1, -1,
-1, 2353, -1, 4181, -1, -1, -1, 458, 1893, -1,
461, 462, 463, -1, 465, 466, 467, 468, 469, 470,
4198, -1, -1, -1, 475, 4203, -1, -1, 323, -1,
-1, 326, 327, -1, -1, 252, -1, 254, -1, -1,
-1, -1, 4220, -1, -1, -1, -1, 264, -1, -1,
-1, -1, 3246, -1, -1, -1, 273, -1, 4236, -1,
3254, 356, 2414, 4241, -1, -1, -1, -1, 285, -1,
4248, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 3278, -1, 4264, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 2448, 4275, -1, 2451,
-1, 2453, -1, -1, -1, 2457, 323, 2459, 2460, 326,
327, -1, -1, -1, -1, -1, 2468, 2469, 2470, -1,
-1, -1, 8, -1, -1, 11, 421, -1, 4306, 15,
16, 17, -1, -1, -1, -1, -1, -1, -1, 356,
-1, -1, -1, -1, -1, -1, 32, -1, -1, -1,
-1, -1, -1, 4331, 40, -1, -1, -1, -1, -1,
-1, 47, -1, -1, -1, -1, 3360, -1, -1, 4347,
-1, -1, -1, -1, 2526, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 72, -1, -1, -1,
-1, -1, 4370, -1, -1, -1, -1, -1, -1, 4377,
-1, -1, -1, 4104, 421, -1, 2558, 4108, -1, -1,
2095, -1, -1, 22, -1, 2567, -1, -1, -1, 28,
-1, 8, -1, -1, 11, -1, -1, -1, 15, 16,
17, 22, -1, -1, -1, -1, -1, 28, -1, -1,
4418, -1, 4420, -1, -1, 32, -1, 3441, -1, -1,
-1, -1, -1, 40, -1, -1, -1, -1, -1, -1,
47, 70, -1, -1, -1, -1, 4444, -1, -1, -1,
2622, -1, -1, -1, -1, -1, -1, -1, -1, 70,
-1, -1, -1, -1, 4462, 72, -1, -1, 4466, -1,
-1, -1, -1, 4471, -1, -1, 182, -1, -1, -1,
-1, 187, -1, -1, -1, -1, -1, -1, -1, -1,
4488, 4489, -1, -1, 4492, 124, -1, -1, -1, -1,
-1, -1, 131, 209, 210, 134, -1, -1, -1, 4507,
-1, -1, -1, 124, -1, -1, 4514, -1, 224, -1,
131, 4519, -1, 134, 4522, 4523, -1, -1, -1, -1,
159, 4529, 4530, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4543, -1, 4545, 159, -1,
-1, 257, 4550, -1, 4552, -1, -1, -1, 4556, -1,
-1, -1, -1, -1, 193, 271, -1, -1, 274, -1,
-1, -1, -1, 5176, -1, 182, -1, -1, -1, -1,
187, -1, 193, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 4596, 4597,
-1, -1, 209, 210, -1, -1, -1, -1, 4606, -1,
-1, -1, -1, -1, -1, -1, -1, 224, -1, -1,
-1, -1, -1, 252, -1, 254, 4347, -1, -1, -1,
-1, -1, -1, -1, -1, 264, -1, -1, -1, -1,
-1, 252, -1, 254, 273, -1, 4644, -1, -1, -1,
257, -1, 4650, 264, -1, 361, 285, -1, -1, -1,
-1, -1, 273, -1, 271, -1, -1, 274, -1, -1,
-1, -1, -1, -1, 285, -1, -1, -1, -1, -1,
-1, -1, 2854, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 323, -1, -1, 326, 327, -1,
-1, -1, 56, -1, -1, -1, -1, -1, 4706, -1,
3724, -1, -1, -1, -1, 326, 327, -1, -1, -1,
-1, 4719, -1, 4721, -1, -1, -1, 356, -1, -1,
-1, -1, -1, -1, 3748, -1, 90, -1, -1, -1,
-1, 3755, -1, -1, -1, 356, 4744, 4745, -1, 4747,
56, 4749, 458, -1, 361, 461, 462, 463, -1, 465,
466, 467, 468, 469, 470, -1, 120, -1, -1, 475,
-1, 4769, -1, -1, -1, -1, -1, 4775, -1, -1,
-1, 4779, -1, -1, 90, -1, 4507, 4785, -1, -1,
-1, 4789, 421, 4514, -1, 149, -1, -1, 4519, -1,
2972, 4522, 4523, -1, -1, -1, -1, -1, 56, -1,
421, -1, -1, -1, 120, -1, -1, -1, 3832, 3833,
-1, -1, 4543, -1, -1, -1, -1, -1, -1, -1,
184, -1, 4830, -1, -1, 4556, -1, -1, -1, -1,
4838, -1, 90, 149, -1, 4843, 4844, -1, -1, -1,
4848, 458, -1, -1, 461, 462, 463, 4855, 465, 466,
467, 468, 469, 470, -1, -1, 220, 2572, 475, 4867,
-1, -1, 120, -1, 2579, -1, -1, -1, 184, -1,
-1, -1, -1, -1, -1, 4606, -1, -1, -1, -1,
-1, 3063, -1, -1, 2599, -1, -1, -1, 4896, -1,
254, 149, -1, -1, 2609, -1, -1, 2612, -1, 2614,
2615, 201, -1, 2618, 220, -1, -1, -1, -1, 2624,
-1, 2626, 4920, 213, 2629, -1, -1, -1, -1, 4650,
-1, 285, 286, -1, 224, -1, 184, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 3118, -1, 254, -1,
-1, -1, -1, -1, -1, -1, -1, 4955, 4956, -1,
-1, -1, 3976, -1, -1, -1, -1, -1, -1, 323,
-1, -1, 220, 327, -1, -1, -1, 331, 4976, 285,
286, 4979, -1, -1, 4982, -1, 340, 2692, -1, -1,
-1, -1, -1, -1, 348, 4993, -1, -1, 4719, 4997,
-1, 4999, 356, 5001, -1, -1, 254, -1, -1, -1,
5008, -1, 3184, -1, 368, -1, -1, 323, -1, -1,
-1, 327, 376, -1, -1, 331, -1, -1, -1, 5027,
-1, -1, -1, -1, 340, -1, -1, 285, 286, -1,
-1, -1, 348, -1, -1, -1, -1, -1, 8, -1,
356, 11, -1, -1, 3226, 15, 16, 17, 4779, -1,
-1, -1, 368, -1, 5062, -1, 5064, -1, 3240, -1,
376, -1, 32, -1, 3246, 323, -1, -1, 432, 327,
40, -1, 3254, 331, -1, -1, -1, 47, 3260, -1,
3262, -1, 340, -1, -1, -1, -1, -1, -1, -1,
348, -1, -1, -1, -1, -1, -1, -1, 356, -1,
-1, -1, 72, -1, -1, -1, 5114, -1, -1, -1,
368, -1, -1, -1, -1, 5123, 432, -1, 376, -1,
-1, -1, -1, -1, -1, -1, 3308, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5148, 5149, 5150, -1, -1, -1, -1, -1, -1, 5157,
5158, -1, -1, 5161, -1, -1, -1, 3339, 3340, 5167,
-1, -1, -1, 8, -1, 4896, -1, -1, 5176, 14,
15, -1, -1, -1, 432, 20, -1, 22, -1, -1,
-1, 4205, 5190, 28, -1, 30, 4210, -1, -1, 4920,
4214, -1, -1, -1, -1, -1, -1, 5205, -1, -1,
-1, -1, -1, -1, 49, 50, -1, -1, -1, -1,
-1, -1, 182, -1, -1, 4239, 4240, 187, -1, -1,
4244, 4245, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 5244, -1, -1, 209,
210, -1, 5250, 2958, -1, -1, -1, -1, 4979, -1,
-1, 5259, -1, -1, 224, -1, -1, 5265, 5266, 5267,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 5277,
-1, -1, -1, -1, -1, -1, -1, 5008, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 257, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 271, 5310, -1, 274, 605, -1, -1, -1, -1,
-1, 611, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 5334, 3042, -1, 3044,
-1, 5339, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 3523, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 197, -1, -1, -1, -1, -1, 5366, 5367,
205, -1, -1, 208, -1, -1, 211, 212, -1, 214,
5378, 216, -1, -1, 219, -1, 221, -1, -1, -1,
-1, -1, -1, -1, 5392, -1, -1, -1, -1, -1,
-1, 361, 5123, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 5411, -1, -1, -1, -1, -1, 8,
-1, -1, 11, 5421, -1, -1, 15, 16, 17, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5438, -1, -1, 32, -1, -1, -1, -1, -1, -1,
-1, 40, -1, 5451, -1, 5453, -1, -1, 47, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 5190,
-1, 5469, -1, 5471, 5472, 765, 3181, -1, -1, -1,
-1, -1, 3187, 72, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 458, -1,
790, 461, 462, 463, -1, 465, 466, 467, 468, 469,
470, -1, -1, -1, -1, 475, -1, -1, -1, 809,
-1, -1, 8, 5244, -1, 11, -1, -1, -1, 15,
16, 17, -1, -1, -1, -1, -1, -1, 5259, -1,
-1, 831, -1, -1, 5265, 5266, 32, -1, -1, -1,
-1, -1, 3724, -1, 40, -1, -1, -1, -1, -1,
-1, 47, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 3748, -1, -1, -1,
-1, -1, 4596, -1, 3756, 875, 72, 3759, -1, 3761,
-1, -1, -1, 182, -1, -1, -1, -1, 187, -1,
-1, 8, -1, -1, 11, -1, -1, -1, 15, 16,
17, -1, -1, 5334, -1, -1, -1, -1, 5339, -1,
209, 210, -1, -1, -1, 32, -1, -1, -1, -1,
-1, 3803, -1, 40, -1, 224, -1, -1, -1, -1,
47, -1, -1, -1, 3816, -1, -1, -1, 3820, 3821,
-1, 3823, -1, -1, -1, -1, 3828, -1, -1, -1,
-1, -1, -1, -1, -1, 72, -1, -1, 257, -1,
-1, -1, -1, -1, 3379, -1, 3381, -1, 3383, -1,
-1, -1, 271, -1, -1, 274, -1, 3392, -1, -1,
-1, -1, -1, -1, -1, -1, 182, -1, -1, -1,
-1, 187, -1, -1, -1, -1, -1, -1, -1, -1,
1000, -1, -1, -1, -1, -1, -1, 5438, -1, -1,
-1, -1, -1, 209, 210, -1, -1, -1, 3433, -1,
5451, -1, -1, -1, -1, -1, -1, -1, 224, 1029,
1030, 1031, -1, -1, -1, -1, -1, -1, -1, -1,
5471, 5472, -1, -1, -1, 3927, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 257, 361, -1, -1, 182, -1, -1, -1, 614,
187, -1, -1, -1, -1, 271, -1, 622, 274, -1,
-1, -1, -1, -1, 629, 630, -1, -1, 633, -1,
635, 636, 209, 210, -1, 640, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 651, 224, -1, -1,
3992, 3993, 3994, -1, 3996, 3997, 3998, 3999, 4000, -1,
-1, 666, -1, -1, -1, -1, -1, -1, -1, 4853,
4854, -1, -1, -1, -1, -1, -1, -1, -1, -1,
257, -1, -1, 4867, -1, -1, 691, -1, 693, -1,
-1, -1, -1, -1, 271, -1, -1, 274, 703, 458,
-1, -1, 461, 462, 463, 361, 465, 466, 467, 468,
469, 470, -1, -1, 1174, -1, 475, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
735, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1200, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 766, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 4125, 361, 4127, -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, 820, -1, -1, -1, 475,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 854,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5054, -1, -1, -1, -1, -1, 1336, -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, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 926, -1, -1, -1, 8, 1386, -1, 11, -1,
-1, -1, 15, 16, 17, -1, -1, -1, -1, -1,
-1, -1, 947, -1, -1, -1, -1, -1, -1, 32,
-1, -1, -1, -1, 959, -1, -1, 40, -1, 964,
-1, -1, 4304, 4305, 47, -1, -1, -1, -1, 974,
-1, -1, -1, 4315, 979, 4317, 4318, -1, -1, 4321,
-1, -1, 987, -1, -1, -1, -1, -1, 993, 72,
-1, 996, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 1464, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 1474, -1, -1, 5201, 8, 5203,
-1, 11, -1, -1, -1, 15, 16, 17, -1, -1,
-1, -1, 1037, -1, -1, -1, -1, -1, -1, -1,
-1, 4383, 32, -1, -1, 1505, -1, -1, -1, -1,
40, -1, -1, -1, -1, -1, -1, 47, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 1528, -1,
-1, 1531, -1, -1, -1, 4417, -1, -1, -1, -1,
-1, -1, 72, -1, -1, -1, -1, -1, -1, 3964,
-1, -1, -1, 3968, -1, -1, -1, -1, -1, 182,
-1, -1, -1, -1, 187, -1, -1, -1, 4450, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 1582, -1, -1, -1, 209, 210, -1, -1,
-1, -1, -1, -1, -1, -1, 1596, -1, -1, -1,
-1, 224, -1, -1, -1, -1, -1, 1152, -1, 1154,
-1, 1156, -1, 1158, -1, 1160, 1161, 1162, -1, -1,
-1, -1, 1167, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 1178, 257, 0, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 271, -1,
-1, 274, 182, 18, -1, -1, -1, 187, -1, 5383,
-1, -1, -1, 28, -1, 30, 31, -1, 5392, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 209,
210, 46, -1, -1, -1, -1, -1, -1, -1, -1,
55, -1, -1, -1, 224, -1, -1, -1, -1, -1,
-1, -1, 67, -1, 69, 70, -1, 1707, -1, -1,
-1, 76, -1, 78, 4596, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 89, -1, 91, 257, -1, 5453,
-1, -1, -1, -1, -1, -1, -1, -1, 361, -1,
-1, 271, -1, 108, 274, 5469, 111, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 4639, -1, -1,
125, 1761, 127, -1, 4179, -1, 131, -1, -1, -1,
-1, -1, 137, -1, -1, -1, -1, -1, -1, -1,
145, -1, 147, -1, -1, -1, -1, -1, 153, -1,
1790, -1, -1, -1, -1, -1, -1, 1797, -1, -1,
-1, -1, -1, -1, 169, -1, 4221, 4222, 1353, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 186, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 361, -1, -1, -1, 458, -1, -1, 461, 462,
463, -1, 465, 466, 467, 468, 469, 470, 8, -1,
-1, 11, 475, -1, -1, 15, 16, 17, -1, -1,
-1, 226, 227, -1, -1, -1, -1, 232, -1, -1,
-1, -1, 32, -1, -1, -1, -1, -1, -1, 244,
40, -1, -1, -1, -1, -1, -1, 47, -1, 1434,
-1, 256, 4307, 4308, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 1903, -1, -1, -1, -1, -1, -1,
-1, -1, 72, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 458, -1,
-1, 461, 462, 463, 299, 465, 466, 467, 468, 469,
470, -1, -1, 1943, 1944, 475, -1, -1, 313, -1,
-1, -1, -1, -1, 319, 320, -1, 322, -1, 1504,
1960, -1, 327, -1, -1, -1, -1, 332, -1, -1,
335, 4853, 4854, -1, -1, -1, -1, 342, -1, -1,
-1, -1, -1, 348, 349, 4867, -1, -1, -1, 4871,
-1, 356, -1, -1, -1, 360, -1, -1, -1, 4881,
-1, -1, -1, -1, -1, 370, -1, -1, -1, -1,
4425, -1, 4427, 4428, -1, -1, -1, -1, 383, -1,
-1, -1, 182, 8, -1, -1, 11, 187, 4443, -1,
15, 16, 17, -1, -1, -1, -1, -1, 403, -1,
-1, -1, -1, -1, -1, -1, -1, 32, 413, 209,
210, 36, -1, -1, 419, 40, -1, 2057, -1, 424,
-1, -1, 47, -1, 224, -1, -1, 2067, -1, -1,
-1, -1, 437, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 8, -1, -1, 11, 72, -1, -1,
15, 16, 17, -1, -1, 460, 2096, 257, -1, -1,
-1, -1, -1, -1, 2104, -1, 2106, 32, -1, 474,
-1, 271, 477, -1, 274, 40, -1, -1, -1, -1,
-1, -1, 47, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 121, -1, -1, 2139,
-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, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 5064, -1, -1, -1, 5068, -1, 5070, -1,
-1, -1, 5074, 5075, -1, -1, -1, 182, -1, -1,
-1, 361, 187, -1, -1, -1, -1, 1752, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 209, 210, -1, -1, -1, -1,
-1, -1, -1, 158, -1, -1, -1, -1, 163, 224,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 8, 182, -1, 11,
-1, -1, 187, 15, 16, 17, -1, -1, -1, -1,
-1, -1, 257, -1, -1, -1, -1, -1, -1, -1,
32, 2281, -1, 35, 209, 210, 271, -1, 40, 274,
-1, -1, -1, -1, -1, 47, -1, 2297, 458, 224,
-1, 461, 462, 463, -1, 465, 466, 467, 468, 469,
470, -1, -1, -1, -1, 475, -1, -1, 2318, 5201,
72, 5203, -1, -1, -1, 4740, -1, -1, -1, -1,
-1, -1, 257, -1, 1879, -1, 1881, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 271, -1, -1, 274,
-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, 361, 1922, -1, -1,
-1, 1926, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 2392, 2393, -1, -1, 4811, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 5310, -1,
182, -1, -1, 418, -1, 187, 361, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 4863, -1,
-1, -1, -1, -1, -1, -1, -1, 209, 210, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 224, 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,
2500, 5383, -1, -1, -1, 257, -1, -1, -1, -1,
5392, -1, -1, -1, -1, -1, -1, -1, -1, 271,
-1, -1, 274, -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,
8, -1, -1, 11, -1, -1, -1, 15, 16, 17,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 5453, -1, -1, 32, -1, -1, -1, -1, -1,
-1, -1, 40, -1, -1, -1, -1, 5469, -1, 47,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 2151, 2152, -1, 361,
-1, -1, -1, -1, 72, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 2170, 2171, -1, -1, -1,
2175, 2176, -1, 199, 200, 2180, -1, -1, -1, -1,
-1, 207, -1, 209, 210, -1, -1, -1, -1, 2194,
-1, -1, -1, -1, -1, -1, 2201, 223, -1, -1,
2205, 2206, -1, -1, 2209, 2210, -1, -1, -1, -1,
-1, 2216, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 2684, -1, 2231, -1, 2233, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 458, 2252, -1, 461,
462, 463, 2257, 465, 466, 467, 468, 469, 470, -1,
-1, -1, -1, -1, 182, 2270, -1, -1, -1, 187,
-1, -1, -1, -1, 2279, -1, 8, 2282, -1, 11,
2285, 2286, 2287, 15, 16, 17, -1, 2292, 2293, -1,
-1, 209, 210, -1, -1, -1, -1, 2302, -1, -1,
32, -1, 2307, -1, -1, -1, 224, 2312, 40, -1,
-1, -1, -1, -1, -1, 47, -1, -1, -1, -1,
-1, -1, -1, 2328, -1, -1, -1, -1, -1, -1,
2335, 2336, -1, -1, -1, -1, 2341, 200, -1, 257,
72, -1, -1, -1, -1, -1, 209, 2352, 2353, -1,
-1, -1, 2357, 271, -1, -1, 274, -1, -1, -1,
223, -1, -1, -1, 2369, -1, -1, 2372, -1, -1,
-1, -1, 2377, -1, -1, -1, -1, 2382, 2383, 2839,
298, -1, 2387, -1, -1, 2390, -1, -1, -1, 2394,
2395, 2396, 2397, -1, 2399, -1, -1, -1, -1, -1,
-1, -1, 2862, -1, -1, -1, -1, 2412, 2413, -1,
2415, -1, -1, -1, -1, -1, -1, 5292, -1, -1,
2425, 2426, -1, -1, 8, 157, -1, 11, -1, -1,
-1, 15, 16, 17, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 361, -1, -1, -1, -1, 32, -1,
182, -1, -1, -1, -1, 187, 40, -1, -1, 377,
-1, -1, -1, 47, -1, 191, 192, -1, -1, 195,
-1, -1, -1, -1, -1, -1, -1, 209, 210, -1,
-1, -1, -1, -1, -1, 2490, -1, -1, 72, 215,
8, -1, 224, 11, -1, -1, 222, 15, 16, 17,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 2518, 32, -1, -1, 35, -1, -1,
-1, -1, 40, -1, -1, 257, -1, -1, -1, 47,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 271,
458, -1, 274, 461, 462, 463, -1, 465, 466, 467,
468, 469, 470, -1, 72, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 296, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 182, 625,
-1, -1, -1, 187, -1, 631, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 644, -1,
-1, -1, -1, -1, -1, 209, 210, -1, -1, 361,
-1, -1, -1, -1, 660, -1, -1, -1, -1, 3099,
224, -1, -1, -1, -1, -1, -1, -1, -1, 675,
676, -1, -1, -1, -1, -1, 682, -1, 684, 685,
-1, -1, -1, -1, 182, -1, -1, -1, -1, 187,
-1, -1, 698, 257, -1, -1, -1, -1, -1, -1,
2685, -1, 708, -1, -1, -1, -1, 271, -1, -1,
274, 209, 210, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 224, -1, 292, -1,
-1, 2716, -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, 257,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 8, 271, -1, 11, 274, -1, -1, 15,
16, 17, 625, -1, -1, -1, -1, 793, 631, -1,
-1, -1, -1, -1, -1, -1, 32, 361, -1, -1,
-1, 644, -1, -1, 40, -1, -1, -1, -1, -1,
-1, 47, -1, -1, -1, -1, -1, 660, -1, -1,
-1, -1, -1, -1, -1, -1, 3266, 3267, 3268, -1,
-1, -1, -1, 676, -1, -1, 72, -1, -1, -1,
-1, 684, -1, 3283, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 698, -1, -1, -1, -1,
-1, -1, -1, 361, -1, 708, 3306, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 3316, 3317, -1, -1,
-1, 3321, -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,
616, -1, -1, 8, 620, -1, 11, -1, -1, -1,
15, 16, 17, -1, -1, -1, -1, 163, 634, -1,
936, -1, -1, -1, -1, 641, -1, 32, -1, -1,
35, -1, -1, -1, -1, 40, 182, -1, 954, -1,
793, 187, 47, -1, 960, -1, -1, 963, -1, -1,
458, -1, -1, 461, 462, 463, -1, 465, 466, 467,
468, 469, 470, 209, 210, -1, -1, 72, -1, -1,
-1, -1, -1, -1, -1, 2970, -1, -1, 224, 2974,
-1, -1, 3432, -1, -1, 2980, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 2998, 2999, -1, -1, -1, 3003, -1,
-1, 257, -1, 3008, 3009, 3010, -1, 3012, -1, -1,
-1, -1, -1, -1, -1, 271, -1, -1, 274, -1,
-1, -1, -1, -1, -1, 8, -1, -1, 11, -1,
3035, -1, 15, 16, 17, -1, -1, -1, -1, -1,
3045, 3046, 3047, 3048, -1, -1, -1, -1, -1, 32,
-1, -1, -1, -1, -1, -1, -1, 40, -1, -1,
-1, -1, -1, -1, 47, -1, -1, 182, -1, -1,
-1, -1, 187, 936, -1, -1, -1, 3082, -1, -1,
3085, 3086, 3087, -1, -1, -1, 1112, -1, -1, 72,
-1, -1, -1, -1, 209, 210, -1, -1, 3103, -1,
3560, 3561, 3562, -1, 1130, 361, -1, -1, -1, 224,
-1, -1, -1, -1, -1, -1, -1, -1, 3123, -1,
-1, 1147, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 257, -1, -1, -1, -1, -1, -1, 1175,
-1, -1, -1, -1, 880, 881, 271, -1, -1, 274,
1186, 8, -1, -1, 11, -1, -1, -1, 15, 16,
17, -1, -1, -1, -1, 1201, -1, -1, 1204, -1,
-1, -1, -1, -1, -1, 32, -1, -1, 35, -1,
3195, -1, -1, 40, -1, -1, -1, -1, 3203, 182,
47, -1, 458, -1, 187, 461, 462, 463, -1, 465,
466, 467, 468, 469, 470, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 72, 209, 210, -1, 3234,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 224, -1, -1, -1, -1, 361, -1, -1, 1112,
-1, -1, 978, -1, -1, -1, 3261, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 1130, -1, -1,
-1, -1, -1, -1, 257, -1, -1, -1, -1, -1,
-1, 1007, 1008, -1, 1147, -1, -1, -1, 271, -1,
-1, 274, -1, -1, -1, -1, 1322, -1, -1, -1,
-1, -1, -1, -1, 1330, 1331, -1, 1033, 3313, -1,
-1, -1, 1175, 3318, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 1186, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 182, -1, -1, 1201, -1,
187, 1204, -1, 458, 3349, -1, 461, 462, 463, -1,
465, 466, 467, 468, 469, 470, -1, -1, -1, -1,
-1, 8, 209, 210, 11, -1, -1, -1, 15, 16,
17, -1, -1, 1399, -1, -1, -1, 224, 361, -1,
-1, 1107, 1108, 3388, -1, 3390, -1, -1, 3848, -1,
-1, -1, -1, 40, -1, -1, -1, -1, -1, 3859,
47, -1, -1, -1, -1, -1, -1, -1, 391, -1,
257, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 271, 72, -1, 274, -1, -1,
3890, -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, 1322,
-1, -1, -1, -1, 3924, -1, 40, 1330, 1331, -1,
-1, -1, -1, 47, -1, 458, -1, -1, 461, 462,
463, -1, 465, 466, 467, 468, 469, 470, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 72, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 3969,
-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, 182, 1399, -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, 1592, -1, -1, -1,
-1, -1, -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, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 182, -1,
257, 458, -1, 187, 461, 462, 463, -1, 465, 466,
467, 468, 469, 470, 271, 4085, 4086, 4087, 4088, -1,
-1, -1, -1, -1, -1, 209, 210, -1, 3643, -1,
3645, -1, -1, -1, -1, -1, -1, 3652, -1, -1,
224, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 3668, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 3684,
-1, -1, -1, 257, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 271, 3703, -1,
274, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 361, -1, 3721, 1743, -1, -1,
-1, -1, -1, -1, -1, -1, 3731, -1, -1, 1592,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 1767, -1, -1, -1, 3750, -1, -1, -1, 1775,
-1, 1477, -1, -1, -1, -1, -1, -1, 3763, 3764,
3765, 1787, -1, -1, -1, 3770, 3771, 3772, 3773, -1,
-1, -1, 3777, 3778, -1, -1, -1, -1, 3783, 3784,
-1, 3786, 3787, 3788, 3789, 3790, 3791, 361, 3793, -1,
-1, -1, -1, -1, -1, -1, 8, 3802, -1, 11,
3805, 3806, -1, 15, 16, 17, -1, -1, -1, -1,
-1, 458, -1, -1, 461, 462, 463, -1, 465, 466,
467, 468, 469, 470, 3829, -1, -1, -1, 40, -1,
-1, -1, -1, 1859, 1860, 47, 1862, 1863, -1, -1,
-1, -1, -1, -1, -1, -1, 3851, -1, 1874, -1,
1876, 1877, 1578, 1579, 1580, 1581, -1, -1, -1, -1,
72, -1, -1, 1889, 1890, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 1905,
1743, -1, -1, -1, 458, -1, -1, 461, 462, 463,
-1, 465, 466, 467, 468, 469, 470, -1, -1, -1,
-1, -1, -1, -1, 1767, -1, -1, -1, -1, -1,
-1, 1937, 1775, -1, 1940, 1941, -1, -1, -1, -1,
-1, -1, -1, -1, 1787, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 3949, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 4422, -1, -1, -1, -1, -1, -1, -1,
182, -1, -1, -1, -1, 187, -1, -1, 3983, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 1719, 1720, -1, -1, 209, 210, 1862,
1863, 2027, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 224, 1876, -1, -1, 1742, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 1889, 1890, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 1905, -1, -1, 257, -1, -1, -1, -1,
-1, 1777, 1778, 1779, 1780, -1, -1, -1, -1, 271,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 2150, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 2168, -1, -1, -1, -1, 2173, 2174, 361,
-1, -1, 2178, -1, -1, -1, -1, -1, -1, -1,
2186, -1, -1, -1, 2027, -1, -1, -1, -1, 1895,
-1, -1, -1, -1, -1, 1901, -1, -1, 2204, -1,
-1, -1, -1, -1, 4189, -1, -1, -1, 4193, 4194,
4195, 4196, -1, 4653, 4199, -1, -1, -1, -1, -1,
2226, -1, -1, 2229, 2230, -1, -1, -1, 4668, -1,
-1, -1, -1, 4673, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 2250, -1, 4231, 4232, 4233, -1,
4235, -1, 4237, 4238, -1, -1, -1, -1, -1, 4699,
-1, -1, 2268, 2269, 4249, 4250, 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, 4276, -1, -1, 2300, 2301, -1, -1, 2304, -1,
-1, -1, -1, -1, -1, -1, -1, 2150, -1, -1,
-1, -1, -1, -1, 4299, -1, -1, -1, -1, -1,
-1, 2327, -1, 2329, 2030, 2168, -1, -1, 2334, -1,
2173, 2174, -1, -1, 2340, 2178, -1, -1, -1, -1,
-1, 2347, -1, 2186, -1, 2351, -1, -1, -1, -1,
2356, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 2204, -1, -1, -1, -1, -1, -1, -1, -1,
2376, -1, -1, -1, -1, 2381, -1, -1, -1, 2385,
-1, 4821, 2388, -1, -1, -1, -1, -1, -1, -1,
-1, 4376, 2398, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 2411, -1, 2250, -1, -1,
-1, -1, -1, -1, -1, 2421, -1, -1, -1, -1,
4405, -1, -1, -1, -1, 2268, 2269, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4430, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 2300, 2301, -1,
-1, 2304, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 4917, -1, -1,
-1, -1, -1, 2489, 2327, -1, 2329, -1, -1, -1,
-1, 2334, -1, -1, -1, 787, 788, 2340, -1, -1,
-1, -1, -1, -1, 2347, -1, -1, -1, 2351, -1,
-1, -1, -1, 2356, -1, 2221, 2222, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 2232, -1, 2234, -1,
-1, -1, 2238, 2376, -1, -1, -1, -1, 2381, -1,
-1, -1, 2385, -1, -1, 2388, -1, -1, -1, -1,
-1, 4536, -1, -1, -1, 2398, -1, -1, -1, -1,
-1, 2567, -1, -1, -1, -1, -1, -1, 2411, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 2421, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 4598, 671, -1, 2622, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 4616, -1, -1, -1, -1, 4621, 4622, -1, -1,
697, -1, 934, 935, -1, -1, 2489, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 2664, -1,
-1, -1, 2368, -1, -1, 2371, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 2682, -1, -1, -1,
-1, -1, -1, -1, 2690, -1, -1, -1, -1, 4674,
-1, -1, -1, -1, 2700, -1, -1, 2703, -1, -1,
2706, -1, -1, -1, -1, -1, -1, -1, -1, 4694,
-1, 4696, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 2567, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 2450, -1, 4731, -1, -1, -1,
-1, -1, 2458, 4738, -1, 2461, -1, -1, -1, -1,
-1, 2467, -1, -1, -1, -1, 2772, -1, -1, -1,
671, -1, 2778, -1, -1, 2481, -1, -1, -1, 2622,
-1, -1, 20, -1, -1, -1, -1, 25, -1, -1,
-1, -1, -1, -1, -1, -1, 697, -1, -1, 37,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 2522, -1, -1, 4804,
-1, 2664, 60, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 73, -1, -1, -1, 2682,
-1, 4826, -1, -1, 2550, -1, 84, 2690, 2854, -1,
88, -1, 4837, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 106, -1,
-1, -1, -1, -1, 112, -1, -1, 934, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 129, -1, 950, -1, -1, -1, -1, -1, 2605,
-1, 2607, 140, -1, -1, -1, -1, -1, -1, -1,
148, -1, -1, -1, -1, 4900, -1, -1, 975, -1,
-1, -1, 160, -1, 1216, -1, -1, -1, -1, 2772,
168, -1, -1, 990, 172, 2778, 2942, 2943, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 191, 1246, -1, -1, -1, -1, -1,
-1, -1, -1, 2969, -1, -1, 2972, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 4963, -1,
-1, -1, 1274, 1275, 1276, -1, 1278, -1, -1, -1,
228, -1, -1, -1, -1, -1, -1, -1, -1, 237,
-1, -1, -1, -1, -1, -1, 1298, -1, -1, 2715,
-1, 2854, -1, -1, -1, -1, -1, -1, 1075, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 271, -1, -1, 274, -1, -1, 5024,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 950,
-1, 3057, 3058, 3059, 5039, -1, 294, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
308, -1, -1, -1, 975, 3081, -1, 315, 1370, -1,
-1, -1, 1374, 1375, -1, -1, -1, -1, -1, 990,
-1, -1, -1, -1, -1, 3101, 334, -1, -1, 2942,
2943, -1, -1, -1, -1, 343, -1, -1, 5093, -1,
-1, -1, 350, -1, 3120, 353, -1, -1, -1, -1,
-1, -1, -1, 5108, -1, -1, 2969, 1184, -1, 2972,
-1, -1, -1, -1, 372, -1, -1, -1, -1, -1,
378, -1, -1, -1, -1, 383, -1, -1, 386, 387,
-1, 389, 390, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 400, -1, -1, -1, -1, 405, -1, -1,
-1, -1, -1, 411, 1075, -1, 414, -1, -1, 417,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 430, -1, -1, -1, 3202, -1, -1, -1,
-1, -1, -1, -1, 5189, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 3057, 3058, 3059, -1, -1, 22,
-1, -1, -1, -1, -1, 28, -1, -1, -1, -1,
-1, -1, 35, -1, -1, -1, -1, -1, 3081, -1,
-1, -1, -1, -1, -1, -1, -1, 3253, -1, 5234,
-1, 54, -1, -1, 3260, -1, 3262, -1, 3101, -1,
-1, -1, -1, -1, -1, -1, -1, 70, -1, 3275,
-1, 3277, -1, -1, -1, -1, 2982, 3120, 2984, 2985,
2986, -1, -1, 1184, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 3299, -1, -1, -1, -1, -1, -1,
-1, 104, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 1607, 1608, 1609, -1, -1,
-1, 124, -1, -1, -1, -1, -1, -1, 131, -1,
-1, 134, -1, -1, 3340, -1, 1393, 5322, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 159, -1, -1, 3202,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 3391, -1, 190, -1, -1,
193, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 1458, -1, 3409, -1, -1, -1, -1, -1, -1,
3253, -1, -1, -1, -1, -1, -1, 3260, -1, 3262,
-1, -1, -1, -1, 1325, 3431, -1, -1, 3434, -1,
-1, -1, 3275, -1, 3277, 238, -1, -1, 241, -1,
-1, -1, 1499, -1, -1, -1, -1, -1, -1, 252,
-1, 254, -1, -1, -1, -1, 3299, -1, -1, -1,
-1, 264, -1, -1, -1, -1, -1, -1, -1, -1,
273, -1, -1, -1, -1, 1532, -1, -1, -1, -1,
-1, 284, 285, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 1393, -1, -1, -1, -1, 3340, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 3514, -1,
-1, -1, -1, -1, -1, -1, 3222, -1, -1, -1,
323, -1, -1, 326, 327, 328, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 350, 3391, -1,
1607, 1608, 1609, 356, -1, -1, -1, 1458, -1, -1,
-1, -1, -1, -1, -1, -1, 3409, 370, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 3431, -1,
-1, 3434, -1, -1, -1, -1, -1, -1, 1499, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 421, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 1532, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 671, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 1710, -1, -1, -1, -1, -1, -1,
-1, 3667, -1, -1, -1, -1, -1, -1, -1, 697,
1727, 3514, -1, -1, -1, -1, -1, -1, -1, 1736,
-1, -1, -1, -1, -1, -1, -1, -1, 1980, 3395,
-1, 1748, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 1993, -1, 1995, -1, -1, 1998, 1999, 2000, -1,
-1, -1, 3718, 2005, -1, -1, 2008, 3723, -1, 3725,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 2023, 2024, 2025, 2026, -1, -1, -1, -1, 2031,
-1, 3747, -1, 2035, -1, -1, 2038, 1804, -1, 2041,
2042, 2043, 2044, 2045, 2046, 2047, 2048, 2049, -1, 2051,
3766, 1818, -1, -1, -1, -1, 2058, -1, 2060, -1,
-1, -1, -1, 1830, -1, -1, 3782, -1, -1, 3785,
-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, 22, 2100, 1710,
-1, -1, -1, 28, -1, -1, -1, -1, -1, -1,
35, -1, -1, -1, 3667, -1, 1727, -1, -1, 1886,
1887, -1, -1, 2125, 2126, 1736, -1, -1, -1, 54,
-1, -1, -1, -1, -1, -1, -1, 1748, -1, -1,
-1, -1, -1, -1, -1, 70, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 3877, 3878, -1, -1, 3718, -1, -1, -1, -1,
3723, 3887, 3725, -1, -1, -1, -1, -1, -1, 104,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3906, -1, -1, 1804, 3747, -1, -1, -1, -1, 124,
-1, -1, -1, -1, -1, 2207, 131, 1818, -1, 134,
-1, -1, 950, 3766, -1, -1, -1, -1, -1, 1830,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 3782,
-1, 1842, 3785, -1, 159, -1, -1, 975, -1, -1,
-1, 3657, 3658, 3659, 3660, -1, -1, -1, -1, -1,
-1, -1, 990, -1, -1, 2022, -1, -1, -1, -1,
-1, -1, -1, 3979, 20, 190, -1, -1, 193, 25,
-1, -1, -1, -1, -1, 1886, 1887, -1, -1, -1,
-1, 37, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 2060, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 60, -1, -1, -1, -1, -1,
-1, -1, -1, 238, -1, -1, 241, 73, -1, -1,
-1, -1, -1, -1, 3877, 3878, -1, 252, -1, 254,
-1, -1, 88, -1, 3887, -1, -1, 1075, -1, 264,
-1, -1, -1, -1, -1, -1, -1, -1, 273, -1,
106, -1, -1, 3906, -1, -1, -1, -1, -1, 284,
285, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 129, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 140, -1, -1, -1, -1, -1,
2157, -1, 148, -1, 2161, 2162, -1, -1, 323, -1,
-1, 326, 327, 328, 160, -1, -1, -1, -1, 165,
-1, 2022, -1, -1, -1, -1, 172, -1, -1, -1,
-1, -1, -1, -1, -1, 350, 3979, -1, 3844, -1,
-1, 356, -1, -1, 3850, 191, 2438, 2439, 2440, -1,
-1, -1, 2444, -1, -1, 370, 1184, -1, -1, -1,
-1, -1, -1, -1, 671, -1, 2223, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2237, -1, -1, -1, -1, -1, -1, 2479, -1, -1,
697, 237, 4198, -1, -1, -1, -1, 4203, -1, -1,
-1, -1, -1, -1, -1, -1, 421, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2277, -1, -1, -1, -1, 271, -1, -1, -1, -1,
4236, -1, -1, -1, -1, -1, -1, -1, 284, -1,
-1, -1, 4248, -1, -1, -1, -1, -1, 294, -1,
-1, -1, -1, -1, -1, -1, 2157, -1, 304, 305,
2161, 2162, 308, -1, -1, -1, -1, -1, -1, 4275,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 334, -1,
-1, 337, -1, -1, -1, 341, -1, 343, -1, -1,
-1, -1, -1, -1, 350, -1, -1, 353, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 2223, -1, -1, -1, 372, -1, -1, -1,
-1, -1, 378, -1, -1, -1, 2237, 383, -1, -1,
386, -1, -1, -1, 390, -1, -1, -1, -1, -1,
-1, -1, 398, -1, 400, 4198, -1, -1, 20, 405,
4203, -1, -1, 25, 4370, 1393, -1, -1, -1, -1,
-1, 417, -1, -1, -1, -1, 2277, -1, -1, -1,
-1, -1, -1, 2440, 430, -1, -1, -1, -1, -1,
-1, -1, -1, 4236, -1, -1, -1, -1, 60, -1,
-1, -1, -1, -1, -1, 4248, -1, -1, -1, -1,
-1, 73, 74, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 84, 2480, -1, -1, 88, -1, -1, -1,
1458, 2723, 4275, -1, -1, -1, 2728, -1, 4444, -1,
-1, -1, -1, 950, 106, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 2753, -1, -1, -1, -1, -1, 129, 975, -1,
-1, 1499, 2764, -1, 2766, 2767, -1, -1, 140, -1,
-1, -1, -1, 990, -1, 2777, 148, -1, 2780, -1,
2782, -1, -1, -1, -1, -1, -1, -1, 160, -1,
-1, -1, -1, 165, 1532, 2562, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 671, -1, -1, 2811,
-1, 2813, -1, 2815, -1, -1, -1, 4370, -1, 191,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 697, -1, 4550, -1, 4552, -1, -1, -1,
-1, -1, -1, -1, 216, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 1075, -1,
-1, -1, -1, -1, -1, 237, -1, 2869, -1, 2480,
4286, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 4597, 2884, -1, -1, 4301, -1, -1, -1, -1,
4606, 4444, -1, -1, -1, -1, -1, -1, -1, 271,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 2680, -1, -1, -1, -1, -1, -1,
-1, -1, 294, -1, -1, -1, -1, -1, 4644, -1,
2697, -1, 304, 305, 4650, -1, 308, -1, -1, -1,
-1, -1, -1, -1, -1, 2712, 2948, -1, -1, -1,
-1, 2562, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 334, -1, -1, 337, -1, 1184, -1, 341,
-1, 343, 1710, -1, 4390, -1, -1, -1, 350, -1,
-1, 353, -1, -1, -1, -1, -1, -1, -1, 1727,
-1, -1, -1, -1, -1, -1, -1, 4550, 1736, 4552,
372, -1, -1, -1, -1, -1, 378, -1, -1, -1,
1748, 383, -1, -1, 386, -1, -1, -1, 390, -1,
-1, -1, -1, -1, -1, -1, 398, -1, 400, -1,
-1, -1, -1, 405, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4597, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 430, -1,
-1, -1, -1, -1, -1, -1, 1804, -1, -1, 2680,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1818, -1, -1, -1, -1, 950, 2697, -1, -1, -1,
-1, 4644, 1830, -1, -1, -1, -1, -1, -1, -1,
-1, 2712, -1, -1, 1842, -1, -1, -1, -1, -1,
975, -1, -1, -1, 4830, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 990, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 4855,
-1, -1, 4558, 4559, 4560, -1, -1, -1, 1886, 1887,
2917, 4867, -1, 2920, -1, 2922, -1, -1, -1, -1,
2927, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 1393, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 3207, -1, -1, -1, 2976,
1075, 3213, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 2995, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 1458, -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, -1, -1, -1, -1, -1, 4830, -1, -1,
-1, -1, 1499, -1, 2022, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 4717, 4855, -1, -1, 671, 2917, -1, -1, 2920,
-1, 2922, -1, -1, 4867, 1532, 2927, -1, -1, 1184,
-1, -1, -1, -1, 3091, -1, 3093, -1, -1, -1,
-1, 697, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 5062, -1, 5064, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 2976, -1, -1, 25, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 2995, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 3020,
-1, -1, -1, -1, -1, 3182, 73, -1, -1, 2157,
-1, -1, -1, 2161, 2162, -1, -1, -1, -1, -1,
-1, 88, -1, -1, -1, -1, -1, -1, -1, -1,
3207, -1, 5158, 4859, -1, 4861, 3213, -1, -1, 106,
-1, -1, 3454, -1, 3221, 112, -1, -1, -1, -1,
5176, 3463, -1, -1, -1, -1, -1, 3469, -1, 3471,
-1, -1, 129, -1, 5190, -1, -1, -1, -1, 3246,
3091, -1, 3093, 140, -1, 2223, -1, 3254, -1, 5205,
-1, 148, -1, 1710, -1, -1, 3498, 3499, -1, 2237,
-1, -1, -1, 160, -1, -1, -1, -1, 165, 5062,
1727, 5064, -1, -1, 3516, 172, -1, -1, -1, 1736,
-1, -1, 3524, -1, -1, 3527, -1, 3529, 1393, -1,
-1, 1748, -1, -1, 191, -1, 3538, -1, -1, 2277,
-1, -1, -1, -1, 3546, 3547, -1, -1, -1, 5265,
5266, -1, -1, -1, -1, -1, 3323, -1, -1, 216,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 3182, -1, -1, 3341, -1, 3578, -1, -1, -1,
237, -1, -1, -1, 950, -1, -1, 1804, 3355, -1,
-1, -1, -1, 1458, 5310, -1, -1, -1, 5014, -1,
3602, 1818, -1, -1, -1, 5158, -1, -1, -1, 975,
3221, -1, -1, 1830, 271, -1, 3618, -1, -1, -1,
-1, -1, -1, 5176, 990, 1842, -1, -1, -1, -1,
-1, -1, -1, -1, 1499, 3246, -1, 294, -1, -1,
-1, -1, -1, 3254, -1, -1, -1, 304, 305, -1,
-1, 308, 5205, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 1532, -1, 1886,
1887, -1, -1, -1, -1, -1, 5392, 334, -1, -1,
337, -1, -1, -1, 341, -1, 343, 5103, -1, -1,
3457, 671, -1, 350, -1, -1, 353, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 1075,
-1, 3478, 3323, -1, -1, 372, -1, 697, -1, -1,
-1, 378, -1, -1, -1, 382, 383, -1, -1, 386,
3341, -1, -1, 390, -1, -1, 3503, 5453, -1, -1,
-1, -1, 2480, 400, 3355, -1, -1, -1, 405, -1,
-1, -1, -1, 5469, -1, 5471, 5472, 5310, -1, -1,
417, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3537, -1, -1, 430, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 5207, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 2022, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 1184, -1,
-1, -1, -1, -1, 2562, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 5392,
-1, -1, -1, -1, -1, 1710, 3457, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 3624, -1, -1,
-1, -1, 1727, -1, -1, -1, -1, 3478, -1, -1,
-1, 1736, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 1748, -1, -1, 5302, -1, -1, -1,
-1, -1, 3503, -1, -1, -1, -1, -1, -1, -1,
5453, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 5469, -1, -1, 5335,
5336, -1, -1, -1, -1, -1, 3537, -1, -1, -1,
3932, 3933, -1, -1, -1, -1, -1, -1, -1, 1804,
2157, -1, 2680, -1, 2161, 2162, -1, -1, -1, -1,
-1, -1, -1, 1818, -1, -1, -1, 3724, -1, 2697,
-1, -1, -1, -1, -1, 1830, -1, -1, -1, -1,
950, -1, -1, -1, 2712, -1, -1, 1842, -1, -1,
-1, 3748, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 975, -1, -1, -1, -1,
4002, -1, -1, -1, -1, -1, 2223, -1, -1, -1,
990, 4013, -1, 3624, -1, -1, -1, -1, -1, 5435,
2237, 1886, 1887, -1, -1, -1, -1, 1393, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 4053, 4054, -1, -1, -1, -1, -1, 4060, 4061,
2277, -1, -1, 4065, -1, -1, -1, -1, 4070, -1,
-1, 4073, 4074, -1, -1, -1, 4078, -1, -1, -1,
-1, -1, 4084, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 1458, -1, -1, 1075, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 3724, 3881, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 1499, 4136, -1, -1, 3748, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 2022, -1, -1,
-1, 4163, -1, -1, 3931, -1, 1532, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 2917,
-1, -1, 2920, -1, 2922, -1, -1, -1, -1, 2927,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 1184, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -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, 4264, 2480, -1, -1, -1, -1, -1, -1,
3881, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 3020, -1, -1, -1, -1, -1, -1, 4056,
-1, -1, 2157, -1, -1, -1, 2161, 2162, -1, 4066,
-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, 4331,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 1710, 2562, -1, -1, -1, -1,
-1, -1, -1, 3091, -1, 3093, -1, -1, 2223, -1,
-1, 1727, -1, -1, -1, -1, -1, -1, -1, -1,
1736, -1, 2237, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 1748, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 2277, 1393, 4181, -1, -1, -1, -1, -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, 3182, 4056, -1, -1, -1, -1,
-1, -1, 1818, 4220, -1, 4066, -1, -1, -1, -1,
-1, -1, -1, 2680, 1830, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4241, -1, 1842, -1, 1458, -1,
2697, -1, -1, 3221, -1, -1, 4488, 4489, -1, -1,
4492, -1, -1, -1, -1, 2712, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 3246, -1,
-1, -1, -1, -1, -1, -1, 3254, -1, -1, 1499,
1886, 1887, -1, -1, -1, -1, -1, 4529, 4530, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 4306,
-1, -1, -1, 4545, -1, -1, -1, -1, -1, -1,
-1, -1, 1532, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 671, -1, -1, -1, -1, -1, -1, -1,
4181, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 3323, -1, -1, 697, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 3341, -1, -1, -1, -1, -1, 4220,
-1, -1, -1, -1, -1, 2480, -1, 3355, -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, 4418, -1, 4420, -1, -1, 2022, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -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, 2562, -1, 4466,
2917, -1, -1, 2920, -1, 2922, -1, -1, -1, -1,
2927, -1, -1, -1, -1, -1, -1, -1, -1, 3457,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1710, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3478, -1, -1, -1, -1, 4747, -1, 1727, -1, -1,
-1, -1, -1, -1, -1, -1, 1736, -1, -1, 2976,
-1, -1, -1, -1, -1, 3503, -1, -1, 1748, -1,
-1, -1, -1, 4775, -1, -1, -1, -1, 2995, -1,
-1, -1, -1, -1, -1, -1, -1, 4789, -1, -1,
-1, 2157, -1, -1, -1, 2161, 2162, -1, -1, 3537,
-1, -1, -1, 3020, -1, -1, -1, -1, -1, 4420,
-1, -1, -1, -1, -1, 2680, -1, -1, -1, -1,
-1, -1, -1, -1, 1804, -1, -1, -1, -1, 4596,
-1, -1, 2697, -1, -1, -1, -1, -1, 1818, -1,
-1, 950, -1, -1, -1, -1, 4848, 2712, -1, -1,
1830, -1, -1, -1, -1, 4466, -1, 2223, -1, -1,
-1, -1, 1842, -1, -1, -1, 975, -1, -1, -1,
-1, 2237, -1, -1, 3091, -1, 3093, -1, -1, -1,
-1, 990, -1, -1, -1, -1, 3624, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 1886, 1887, -1, -1,
-1, 2277, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4721, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 3182, 1075, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 4745, -1,
-1, -1, -1, -1, -1, 4596, 3724, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 5001,
-1, -1, -1, -1, 3221, -1, -1, -1, -1, -1,
3748, -1, -1, -1, -1, -1, -1, -1, 4785, -1,
-1, -1, -1, -1, -1, 5027, -1, -1, -1, 3246,
-1, -1, -1, -1, -1, -1, -1, 3254, -1, -1,
-1, -1, 2022, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 2917, -1, -1, 2920, -1, 2922, -1, -1,
-1, -1, 2927, -1, -1, -1, -1, -1, -1, -1,
-1, 4838, -1, -1, -1, 1184, 4843, 4844, -1, -1,
-1, -1, -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,
4721, 2976, 5114, -1, 2480, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 3341, -1, -1, -1, -1, -1,
2995, -1, -1, -1, 4745, -1, -1, -1, 3355, -1,
-1, -1, -1, 3881, -1, -1, 5148, 5149, 5150, -1,
-1, -1, -1, -1, -1, 3020, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 5167, -1, -1, -1, -1,
-1, -1, -1, -1, 4785, -1, -1, 2157, -1, -1,
-1, 2161, 2162, -1, -1, -1, -1, -1, 4955, 4956,
-1, -1, -1, 3931, -1, -1, 2562, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 3091, 4838, 3093, -1,
-1, -1, 4843, 4844, -1, -1, -1, -1, -1, -1,
3457, -1, -1, 2223, -1, -1, -1, -1, 5250, -1,
-1, -1, -1, -1, -1, -1, -1, 2237, -1, -1,
-1, 3478, -1, -1, -1, 5267, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 1393, -1, 3503, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 2277, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 2680, -1, -1, 3182, 4056, -1,
3537, -1, -1, -1, -1, -1, -1, -1, 4066, -1,
-1, 2697, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4956, 2712, -1, -1, 1458,
-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, 5378, -1, -1, -1,
-1, 3246, -1, -1, -1, -1, -1, -1, -1, 3254,
1499, -1, -1, -1, 5161, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 3624, -1, 5411,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 5421,
-1, -1, -1, 1532, -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, 3323, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 3341, -1, -1, -1,
-1, -1, 4220, -1, -1, -1, -1, -1, -1, -1,
3355, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2480, -1, -1, 4241, -1, -1, -1, 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,
5161, 2917, -1, -1, 2920, -1, 2922, -1, -1, -1,
-1, 2927, -1, -1, -1, -1, -1, -1, 4306, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 2562, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 3457, -1, -1, -1, -1, -1, -1, -1,
-1, 1710, -1, -1, -1, -1, -1, -1, -1, -1,
2976, -1, -1, 3478, -1, -1, -1, -1, 1727, -1,
-1, -1, -1, -1, -1, -1, -1, 1736, -1, 2995,
-1, -1, -1, -1, -1, -1, -1, -1, 3503, 1748,
-1, -1, -1, -1, -1, 1290, -1, -1, -1, -1,
-1, -1, -1, -1, 3020, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 3881, -1, -1, -1, -1, -1,
-1, -1, 3537, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 4420, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 1804, -1, -1, -1, -1,
2680, -1, -1, -1, -1, 1350, -1, -1, -1, 1818,
-1, -1, -1, -1, 3931, -1, -1, 2697, -1, -1,
-1, 1830, -1, -1, -1, 3091, -1, 3093, 4466, -1,
-1, -1, 2712, 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, 3624,
-1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1,
-1, -1, -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, -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, 3221, -1, -1, 4596, 3724,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3246, -1, -1, 3748, -1, -1, -1, -1, 3254, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 2022, -1, -1, -1, -1, -1, -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, -1, 2927, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 3323, -1, -1,
-1, -1, -1, -1, 4181, -1, -1, -1, 1613, -1,
-1, -1, 1617, -1, -1, 3341, -1, -1, -1, -1,
-1, -1, -1, 4721, -1, -1, -1, -1, -1, 3355,
-1, -1, -1, -1, -1, -1, 2976, -1, -1, -1,
-1, -1, -1, 4220, -1, -1, -1, 4745, -1, -1,
-1, -1, -1, -1, -1, 2995, 3881, -1, -1, -1,
-1, -1, -1, -1, 4241, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3020, -1, -1, -1, -1, -1, -1, 4785, 2157, -1,
-1, -1, 2161, 2162, -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, 4306,
-1, 3457, -1, -1, -1, -1, -1, -1, -1, -1,
4838, -1, -1, -1, -1, 4843, 4844, -1, -1, -1,
-1, 3091, 3478, 3093, 2223, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 2237, -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, 2277, -1,
-1, 3537, -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, 3182, 4420, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 4956, -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, 4466,
-1, -1, -1, -1, -1, -1, -1, -1, 3624, -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,
-1, -1, -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, 1978, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 3323, -1, -1, -1, 1992, -1, -1,
-1, 1996, -1, -1, -1, 4220, -1, -1, 3724, -1,
-1, 3341, -1, -1, -1, 2010, 2011, 2012, -1, 2014,
-1, 2480, -1, -1, -1, 3355, 4241, -1, -1, 4596,
-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, 2056, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 5161, -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, -1, 2562, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 2112, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 3457, -1, 2124,
-1, -1, -1, -1, 2129, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 3478, -1,
-1, -1, -1, -1, 4721, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 3881, -1, -1, -1, -1,
-1, -1, -1, 3503, -1, -1, -1, -1, 4745, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4420, -1, 3537, -1, -1,
-1, -1, -1, -1, -1, 3931, -1, -1, 4785, -1,
-1, 2680, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 2697, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 4466, -1, 2712, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 4838, -1, -1, -1, -1, 4843, 4844, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 3624, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -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, 4596, -1, -1, -1, -1, -1, -1, -1, 4956,
-1, -1, -1, -1, 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, 2917, -1,
-1, 2920, -1, 2922, -1, 4181, -1, -1, 2927, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4220, -1, 4721, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 2976, -1, -1,
-1, -1, -1, -1, -1, 4241, -1, -1, -1, -1,
4745, -1, -1, -1, -1, -1, 2995, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 3881, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 3020, -1, -1, -1, -1, -1, -1, -1, -1,
4785, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4306, -1, -1, -1, 5161, -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, 4838, -1, -1, -1, -1, 4843, 4844,
-1, -1, 3091, -1, 3093, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 3182, -1, -1, 4056, -1, -1, -1,
-1, 2726, -1, -1, -1, -1, 4066, -1, -1, -1,
-1, 4956, -1, -1, -1, -1, -1, -1, -1, -1,
4466, 2746, -1, 2748, -1, -1, 2751, 2752, -1, 2754,
-1, 2756, 3221, -1, -1, 2760, -1, -1, 2763, -1,
-1, -1, -1, 2768, -1, -1, -1, -1, -1, 2774,
-1, -1, -1, -1, 2779, -1, -1, 3246, -1, -1,
-1, 2786, 2787, 2788, 2789, 3254, -1, -1, 2793, 2794,
-1, 2796, -1, -1, -1, -1, -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, 4181, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 3323, -1, -1, -1, 2863, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4596, -1, 3341, -1, -1, -1, -1, -1, -1, -1,
4220, -1, -1, -1, -1, -1, 3355, -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, 5161, -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, 4306, -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, 4721, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 3478,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 4745,
-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, 4785,
-1, -1, -1, -1, -1, -1, -1, -1, 3537, -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, 4838, -1, -1, -1, -1, 4843, 4844, -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, -1, -1, 3624, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -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, -1, -1,
4956, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 3249, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 3724, 4596, -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, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 4721, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4745, -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, 5161, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4785, -1, -1, 3453, -1,
-1, -1, -1, -1, 3459, -1, -1, -1, -1, -1,
-1, -1, 3931, -1, -1, -1, -1, -1, -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, 4838, -1,
-1, -1, -1, 4843, 4844, -1, -1, -1, -1, -1,
-1, -1, 3517, -1, -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, -1, -1, -1, -1, -1,
-1, -1, -1, -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, 4956, -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, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -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, -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,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 5161, -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, 3852, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -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,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -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, 4003, -1,
-1, -1, 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, -1,
-1, -1, -1, -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, 4596, -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, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 4721, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 4745, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 4785, -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, 4838,
-1, -1, -1, -1, 4843, 4844, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -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, 4956, -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, 5161, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 4743, 4744,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4759, 4760, 4761, -1, -1, -1,
-1, -1, -1, -1, 4769, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 4796, 4797, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 4808, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 4968, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 4982, -1, -1,
4985, -1, -1, -1, 4989, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 5038, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5155, -1, 5157, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 5188, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 5243, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 5270, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 5332, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 5366, 5367, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 5417, 5418, -1, -1, -1, 5422, -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, 5448, 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, 145, 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, 1126, 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, 930, 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, 616, 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, 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, 12,
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 int
yy_location_print_ (FILE *yyo, YYLTYPE const * const yylocp)
{
int 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 YYO. |
`-----------------------------------*/
static void
yy_symbol_value_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, core_yyscan_t yyscanner)
{
FILE *yyoutput = yyo;
YYUSE (yyoutput);
YYUSE (yylocationp);
YYUSE (yyscanner);
if (!yyvaluep)
return;
# ifdef YYPRINT
if (yytype < YYNTOKENS)
YYPRINT (yyo, yytoknum[yytype], *yyvaluep);
# endif
YYUSE (yytype);
}
/*---------------------------.
| Print this symbol on YYO. |
`---------------------------*/
static void
yy_symbol_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, core_yyscan_t yyscanner)
{
YYFPRINTF (yyo, "%s %s (",
yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
YY_LOCATION_PRINT (yyo, *yylocationp);
YYFPRINTF (yyo, ": ");
yy_symbol_value_print (yyo, yytype, yyvaluep, yylocationp, yyscanner);
YYFPRINTF (yyo, ")");
}
/*------------------------------------------------------------------.
| 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 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;
else
goto append;
append:
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 (YYSIZE_T) (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)
yysize = yysize1;
else
return 2;
}
}
}
}
switch (yycount)
{
# define YYCASE_(N, S) \
case N: \
yyformat = S; \
break
default: /* Avoid compiler warnings. */
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)
yysize = yysize1;
else
return 2;
}
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++;
/*--------------------------------------------------------------------.
| yynewstate -- set current state (the top of the stack) to yystate. |
`--------------------------------------------------------------------*/
yysetstate:
*yyssp = (yytype_int16) yystate;
if (yyss + yystacksize - 1 <= yyssp)
#if !defined yyoverflow && !defined YYSTACK_RELOCATE
goto yyexhaustedlab;
#else
{
/* Get the current used size of the three stacks, in elements. */
YYSIZE_T yysize = (YYSIZE_T) (yyssp - yyss + 1);
# if defined 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);
yyss = yyss1;
yyvs = yyvs1;
yyls = yyls1;
}
# else /* defined YYSTACK_RELOCATE */
/* 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
yyssp = yyss + yysize - 1;
yyvsp = yyvs + yysize - 1;
yylsp = yyls + yysize - 1;
YYDPRINTF ((stderr, "Stack size increased to %lu\n",
(unsigned long) yystacksize));
if (yyss + yystacksize - 1 <= yyssp)
YYABORT;
}
#endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */
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);
yyerror_range[1] = yyloc;
YY_REDUCE_PRINT (yyn);
switch (yyn)
{
case 2:
#line 785 "gram.y" /* yacc.c:1652 */
{
pg_yyget_extra(yyscanner)->parsetree = (yyvsp[0].list);
}
#line 25368 "gram.c" /* yacc.c:1652 */
break;
case 3:
#line 801 "gram.y" /* yacc.c:1652 */
{
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 25384 "gram.c" /* yacc.c:1652 */
break;
case 4:
#line 813 "gram.y" /* yacc.c:1652 */
{
if ((yyvsp[0].node) != NULL)
(yyval.list) = list_make1(makeRawStmt((yyvsp[0].node), 0));
else
(yyval.list) = NIL;
}
#line 25395 "gram.c" /* yacc.c:1652 */
break;
case 129:
#line 947 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = NULL; }
#line 25401 "gram.c" /* yacc.c:1652 */
break;
case 130:
#line 957 "gram.y" /* yacc.c:1652 */
{
CallStmt *n = makeNode(CallStmt);
n->funccall = castNode(FuncCall, (yyvsp[0].node));
(yyval.node) = (Node *)n;
}
#line 25411 "gram.c" /* yacc.c:1652 */
break;
case 131:
#line 972 "gram.y" /* yacc.c:1652 */
{
CreateRoleStmt *n = makeNode(CreateRoleStmt);
n->stmt_type = ROLESTMT_ROLE;
n->role = (yyvsp[-2].str);
n->options = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 25423 "gram.c" /* yacc.c:1652 */
break;
case 132:
#line 982 "gram.y" /* yacc.c:1652 */
{}
#line 25429 "gram.c" /* yacc.c:1652 */
break;
case 133:
#line 983 "gram.y" /* yacc.c:1652 */
{}
#line 25435 "gram.c" /* yacc.c:1652 */
break;
case 134:
#line 984 "gram.y" /* yacc.c:1652 */
{}
#line 25441 "gram.c" /* yacc.c:1652 */
break;
case 135:
#line 993 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
#line 25447 "gram.c" /* yacc.c:1652 */
break;
case 136:
#line 994 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 25453 "gram.c" /* yacc.c:1652 */
break;
case 137:
#line 998 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
#line 25459 "gram.c" /* yacc.c:1652 */
break;
case 138:
#line 999 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 25465 "gram.c" /* yacc.c:1652 */
break;
case 139:
#line 1004 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("password",
(Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
}
#line 25474 "gram.c" /* yacc.c:1652 */
break;
case 140:
#line 1009 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("password", NULL, (yylsp[-1]));
}
#line 25482 "gram.c" /* yacc.c:1652 */
break;
case 141:
#line 1013 "gram.y" /* yacc.c:1652 */
{
/*
* 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 25496 "gram.c" /* yacc.c:1652 */
break;
case 142:
#line 1023 "gram.y" /* yacc.c:1652 */
{
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 25508 "gram.c" /* yacc.c:1652 */
break;
case 143:
#line 1031 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("inherit", (Node *)makeInteger(true), (yylsp[0]));
}
#line 25516 "gram.c" /* yacc.c:1652 */
break;
case 144:
#line 1035 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("connectionlimit", (Node *)makeInteger((yyvsp[0].ival)), (yylsp[-2]));
}
#line 25524 "gram.c" /* yacc.c:1652 */
break;
case 145:
#line 1039 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("validUntil", (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
}
#line 25532 "gram.c" /* yacc.c:1652 */
break;
case 146:
#line 1044 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("rolemembers", (Node *)(yyvsp[0].list), (yylsp[-1]));
}
#line 25540 "gram.c" /* yacc.c:1652 */
break;
case 147:
#line 1048 "gram.y" /* yacc.c:1652 */
{
/*
* 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 25589 "gram.c" /* yacc.c:1652 */
break;
case 148:
#line 1095 "gram.y" /* yacc.c:1652 */
{ (yyval.defelt) = (yyvsp[0].defelt); }
#line 25595 "gram.c" /* yacc.c:1652 */
break;
case 149:
#line 1098 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("sysid", (Node *)makeInteger((yyvsp[0].ival)), (yylsp[-1]));
}
#line 25603 "gram.c" /* yacc.c:1652 */
break;
case 150:
#line 1102 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("adminmembers", (Node *)(yyvsp[0].list), (yylsp[-1]));
}
#line 25611 "gram.c" /* yacc.c:1652 */
break;
case 151:
#line 1106 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("rolemembers", (Node *)(yyvsp[0].list), (yylsp[-1]));
}
#line 25619 "gram.c" /* yacc.c:1652 */
break;
case 152:
#line 1110 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("addroleto", (Node *)(yyvsp[0].list), (yylsp[-2]));
}
#line 25627 "gram.c" /* yacc.c:1652 */
break;
case 153:
#line 1114 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("addroleto", (Node *)(yyvsp[0].list), (yylsp[-2]));
}
#line 25635 "gram.c" /* yacc.c:1652 */
break;
case 154:
#line 1128 "gram.y" /* yacc.c:1652 */
{
CreateRoleStmt *n = makeNode(CreateRoleStmt);
n->stmt_type = ROLESTMT_USER;
n->role = (yyvsp[-2].str);
n->options = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 25647 "gram.c" /* yacc.c:1652 */
break;
case 155:
#line 1146 "gram.y" /* yacc.c:1652 */
{
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 25659 "gram.c" /* yacc.c:1652 */
break;
case 156:
#line 1154 "gram.y" /* yacc.c:1652 */
{
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 25671 "gram.c" /* yacc.c:1652 */
break;
case 157:
#line 1164 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = NULL; }
#line 25677 "gram.c" /* yacc.c:1652 */
break;
case 158:
#line 1165 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 25683 "gram.c" /* yacc.c:1652 */
break;
case 159:
#line 1170 "gram.y" /* yacc.c:1652 */
{
AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
n->role = (yyvsp[-2].rolespec);
n->database = (yyvsp[-1].str);
n->setstmt = (yyvsp[0].vsetstmt);
(yyval.node) = (Node *)n;
}
#line 25695 "gram.c" /* yacc.c:1652 */
break;
case 160:
#line 1178 "gram.y" /* yacc.c:1652 */
{
AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
n->role = NULL;
n->database = (yyvsp[-1].str);
n->setstmt = (yyvsp[0].vsetstmt);
(yyval.node) = (Node *)n;
}
#line 25707 "gram.c" /* yacc.c:1652 */
break;
case 161:
#line 1186 "gram.y" /* yacc.c:1652 */
{
AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
n->role = (yyvsp[-2].rolespec);
n->database = (yyvsp[-1].str);
n->setstmt = (yyvsp[0].vsetstmt);
(yyval.node) = (Node *)n;
}
#line 25719 "gram.c" /* yacc.c:1652 */
break;
case 162:
#line 1194 "gram.y" /* yacc.c:1652 */
{
AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
n->role = NULL;
n->database = (yyvsp[-1].str);
n->setstmt = (yyvsp[0].vsetstmt);
(yyval.node) = (Node *)n;
}
#line 25731 "gram.c" /* yacc.c:1652 */
break;
case 163:
#line 1215 "gram.y" /* yacc.c:1652 */
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->missing_ok = false;
n->roles = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 25742 "gram.c" /* yacc.c:1652 */
break;
case 164:
#line 1222 "gram.y" /* yacc.c:1652 */
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->missing_ok = true;
n->roles = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 25753 "gram.c" /* yacc.c:1652 */
break;
case 165:
#line 1229 "gram.y" /* yacc.c:1652 */
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->missing_ok = false;
n->roles = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 25764 "gram.c" /* yacc.c:1652 */
break;
case 166:
#line 1236 "gram.y" /* yacc.c:1652 */
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->roles = (yyvsp[0].list);
n->missing_ok = true;
(yyval.node) = (Node *)n;
}
#line 25775 "gram.c" /* yacc.c:1652 */
break;
case 167:
#line 1243 "gram.y" /* yacc.c:1652 */
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->missing_ok = false;
n->roles = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 25786 "gram.c" /* yacc.c:1652 */
break;
case 168:
#line 1250 "gram.y" /* yacc.c:1652 */
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->missing_ok = true;
n->roles = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 25797 "gram.c" /* yacc.c:1652 */
break;
case 169:
#line 1267 "gram.y" /* yacc.c:1652 */
{
CreateRoleStmt *n = makeNode(CreateRoleStmt);
n->stmt_type = ROLESTMT_GROUP;
n->role = (yyvsp[-2].str);
n->options = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 25809 "gram.c" /* yacc.c:1652 */
break;
case 170:
#line 1285 "gram.y" /* yacc.c:1652 */
{
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 25822 "gram.c" /* yacc.c:1652 */
break;
case 171:
#line 1295 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = +1; }
#line 25828 "gram.c" /* yacc.c:1652 */
break;
case 172:
#line 1296 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = -1; }
#line 25834 "gram.c" /* yacc.c:1652 */
break;
case 173:
#line 1308 "gram.y" /* yacc.c:1652 */
{
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 25848 "gram.c" /* yacc.c:1652 */
break;
case 174:
#line 1318 "gram.y" /* yacc.c:1652 */
{
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 25862 "gram.c" /* yacc.c:1652 */
break;
case 175:
#line 1328 "gram.y" /* yacc.c:1652 */
{
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 25881 "gram.c" /* yacc.c:1652 */
break;
case 176:
#line 1343 "gram.y" /* yacc.c:1652 */
{
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 25900 "gram.c" /* yacc.c:1652 */
break;
case 177:
#line 1360 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 25906 "gram.c" /* yacc.c:1652 */
break;
case 178:
#line 1361 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = NULL; }
#line 25912 "gram.c" /* yacc.c:1652 */
break;
case 179:
#line 1366 "gram.y" /* yacc.c:1652 */
{
if ((yyloc) < 0) /* see comments for YYLLOC_DEFAULT */
(yyloc) = (yylsp[0]);
(yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node));
}
#line 25922 "gram.c" /* yacc.c:1652 */
break;
case 180:
#line 1372 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 25928 "gram.c" /* yacc.c:1652 */
break;
case 187:
#line 1400 "gram.y" /* yacc.c:1652 */
{
VariableSetStmt *n = (yyvsp[0].vsetstmt);
n->is_local = false;
(yyval.node) = (Node *) n;
}
#line 25938 "gram.c" /* yacc.c:1652 */
break;
case 188:
#line 1406 "gram.y" /* yacc.c:1652 */
{
VariableSetStmt *n = (yyvsp[0].vsetstmt);
n->is_local = true;
(yyval.node) = (Node *) n;
}
#line 25948 "gram.c" /* yacc.c:1652 */
break;
case 189:
#line 1412 "gram.y" /* yacc.c:1652 */
{
VariableSetStmt *n = (yyvsp[0].vsetstmt);
n->is_local = false;
(yyval.node) = (Node *) n;
}
#line 25958 "gram.c" /* yacc.c:1652 */
break;
case 190:
#line 1421 "gram.y" /* yacc.c:1652 */
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_MULTI;
n->name = "TRANSACTION";
n->args = (yyvsp[0].list);
(yyval.vsetstmt) = n;
}
#line 25970 "gram.c" /* yacc.c:1652 */
break;
case 191:
#line 1429 "gram.y" /* yacc.c:1652 */
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_MULTI;
n->name = "SESSION CHARACTERISTICS";
n->args = (yyvsp[0].list);
(yyval.vsetstmt) = n;
}
#line 25982 "gram.c" /* yacc.c:1652 */
break;
case 193:
#line 1441 "gram.y" /* yacc.c:1652 */
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_VALUE;
n->name = (yyvsp[-2].str);
n->args = (yyvsp[0].list);
(yyval.vsetstmt) = n;
}
#line 25994 "gram.c" /* yacc.c:1652 */
break;
case 194:
#line 1449 "gram.y" /* yacc.c:1652 */
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_VALUE;
n->name = (yyvsp[-2].str);
n->args = (yyvsp[0].list);
(yyval.vsetstmt) = n;
}
#line 26006 "gram.c" /* yacc.c:1652 */
break;
case 195:
#line 1457 "gram.y" /* yacc.c:1652 */
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_DEFAULT;
n->name = (yyvsp[-2].str);
(yyval.vsetstmt) = n;
}
#line 26017 "gram.c" /* yacc.c:1652 */
break;
case 196:
#line 1464 "gram.y" /* yacc.c:1652 */
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_DEFAULT;
n->name = (yyvsp[-2].str);
(yyval.vsetstmt) = n;
}
#line 26028 "gram.c" /* yacc.c:1652 */
break;
case 197:
#line 1473 "gram.y" /* yacc.c:1652 */
{(yyval.vsetstmt) = (yyvsp[0].vsetstmt);}
#line 26034 "gram.c" /* yacc.c:1652 */
break;
case 198:
#line 1475 "gram.y" /* yacc.c:1652 */
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_CURRENT;
n->name = (yyvsp[-2].str);
(yyval.vsetstmt) = n;
}
#line 26045 "gram.c" /* yacc.c:1652 */
break;
case 199:
#line 1483 "gram.y" /* yacc.c:1652 */
{
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 26060 "gram.c" /* yacc.c:1652 */
break;
case 200:
#line 1494 "gram.y" /* yacc.c:1652 */
{
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("current database cannot be changed"),
parser_errposition((yylsp[0]))));
(yyval.vsetstmt) = NULL; /*not reached*/
}
#line 26072 "gram.c" /* yacc.c:1652 */
break;
case 201:
#line 1502 "gram.y" /* yacc.c:1652 */
{
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 26084 "gram.c" /* yacc.c:1652 */
break;
case 202:
#line 1510 "gram.y" /* yacc.c:1652 */
{
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 26099 "gram.c" /* yacc.c:1652 */
break;
case 203:
#line 1521 "gram.y" /* yacc.c:1652 */
{
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 26111 "gram.c" /* yacc.c:1652 */
break;
case 204:
#line 1529 "gram.y" /* yacc.c:1652 */
{
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 26123 "gram.c" /* yacc.c:1652 */
break;
case 205:
#line 1537 "gram.y" /* yacc.c:1652 */
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_DEFAULT;
n->name = "session_authorization";
(yyval.vsetstmt) = n;
}
#line 26134 "gram.c" /* yacc.c:1652 */
break;
case 206:
#line 1544 "gram.y" /* yacc.c:1652 */
{
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 26146 "gram.c" /* yacc.c:1652 */
break;
case 207:
#line 1553 "gram.y" /* yacc.c:1652 */
{
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 26158 "gram.c" /* yacc.c:1652 */
break;
case 208:
#line 1562 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 26164 "gram.c" /* yacc.c:1652 */
break;
case 209:
#line 1564 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = psprintf("%s.%s", (yyvsp[-2].str), (yyvsp[0].str)); }
#line 26170 "gram.c" /* yacc.c:1652 */
break;
case 210:
#line 1567 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].node)); }
#line 26176 "gram.c" /* yacc.c:1652 */
break;
case 211:
#line 1568 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
#line 26182 "gram.c" /* yacc.c:1652 */
break;
case 212:
#line 1572 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0])); }
#line 26188 "gram.c" /* yacc.c:1652 */
break;
case 213:
#line 1574 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = makeAConst((yyvsp[0].value), (yylsp[0])); }
#line 26194 "gram.c" /* yacc.c:1652 */
break;
case 214:
#line 1577 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = "read uncommitted"; }
#line 26200 "gram.c" /* yacc.c:1652 */
break;
case 215:
#line 1578 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = "read committed"; }
#line 26206 "gram.c" /* yacc.c:1652 */
break;
case 216:
#line 1579 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = "repeatable read"; }
#line 26212 "gram.c" /* yacc.c:1652 */
break;
case 217:
#line 1580 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = "serializable"; }
#line 26218 "gram.c" /* yacc.c:1652 */
break;
case 218:
#line 1584 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = "true"; }
#line 26224 "gram.c" /* yacc.c:1652 */
break;
case 219:
#line 1585 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = "false"; }
#line 26230 "gram.c" /* yacc.c:1652 */
break;
case 220:
#line 1586 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = "on"; }
#line 26236 "gram.c" /* yacc.c:1652 */
break;
case 221:
#line 1592 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 26242 "gram.c" /* yacc.c:1652 */
break;
case 222:
#line 1605 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0]));
}
#line 26250 "gram.c" /* yacc.c:1652 */
break;
case 223:
#line 1609 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0]));
}
#line 26258 "gram.c" /* yacc.c:1652 */
break;
case 224:
#line 1613 "gram.y" /* yacc.c:1652 */
{
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 26277 "gram.c" /* yacc.c:1652 */
break;
case 225:
#line 1628 "gram.y" /* yacc.c:1652 */
{
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 26288 "gram.c" /* yacc.c:1652 */
break;
case 226:
#line 1634 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = makeAConst((yyvsp[0].value), (yylsp[0])); }
#line 26294 "gram.c" /* yacc.c:1652 */
break;
case 227:
#line 1635 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = NULL; }
#line 26300 "gram.c" /* yacc.c:1652 */
break;
case 228:
#line 1636 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = NULL; }
#line 26306 "gram.c" /* yacc.c:1652 */
break;
case 229:
#line 1640 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 26312 "gram.c" /* yacc.c:1652 */
break;
case 230:
#line 1641 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = NULL; }
#line 26318 "gram.c" /* yacc.c:1652 */
break;
case 231:
#line 1642 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = NULL; }
#line 26324 "gram.c" /* yacc.c:1652 */
break;
case 232:
#line 1646 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 26330 "gram.c" /* yacc.c:1652 */
break;
case 233:
#line 1647 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 26336 "gram.c" /* yacc.c:1652 */
break;
case 234:
#line 1651 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) (yyvsp[0].vsetstmt); }
#line 26342 "gram.c" /* yacc.c:1652 */
break;
case 235:
#line 1655 "gram.y" /* yacc.c:1652 */
{ (yyval.vsetstmt) = (yyvsp[0].vsetstmt); }
#line 26348 "gram.c" /* yacc.c:1652 */
break;
case 236:
#line 1657 "gram.y" /* yacc.c:1652 */
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_RESET;
n->name = "timezone";
(yyval.vsetstmt) = n;
}
#line 26359 "gram.c" /* yacc.c:1652 */
break;
case 237:
#line 1664 "gram.y" /* yacc.c:1652 */
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_RESET;
n->name = "transaction_isolation";
(yyval.vsetstmt) = n;
}
#line 26370 "gram.c" /* yacc.c:1652 */
break;
case 238:
#line 1671 "gram.y" /* yacc.c:1652 */
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_RESET;
n->name = "session_authorization";
(yyval.vsetstmt) = n;
}
#line 26381 "gram.c" /* yacc.c:1652 */
break;
case 239:
#line 1681 "gram.y" /* yacc.c:1652 */
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_RESET;
n->name = (yyvsp[0].str);
(yyval.vsetstmt) = n;
}
#line 26392 "gram.c" /* yacc.c:1652 */
break;
case 240:
#line 1688 "gram.y" /* yacc.c:1652 */
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_RESET_ALL;
(yyval.vsetstmt) = n;
}
#line 26402 "gram.c" /* yacc.c:1652 */
break;
case 241:
#line 1697 "gram.y" /* yacc.c:1652 */
{ (yyval.vsetstmt) = (yyvsp[0].vsetstmt); }
#line 26408 "gram.c" /* yacc.c:1652 */
break;
case 242:
#line 1698 "gram.y" /* yacc.c:1652 */
{ (yyval.vsetstmt) = (VariableSetStmt *) (yyvsp[0].node); }
#line 26414 "gram.c" /* yacc.c:1652 */
break;
case 243:
#line 1703 "gram.y" /* yacc.c:1652 */
{ (yyval.vsetstmt) = (yyvsp[0].vsetstmt); }
#line 26420 "gram.c" /* yacc.c:1652 */
break;
case 244:
#line 1704 "gram.y" /* yacc.c:1652 */
{ (yyval.vsetstmt) = (VariableSetStmt *) (yyvsp[0].node); }
#line 26426 "gram.c" /* yacc.c:1652 */
break;
case 245:
#line 1710 "gram.y" /* yacc.c:1652 */
{
VariableShowStmt *n = makeNode(VariableShowStmt);
n->name = (yyvsp[0].str);
(yyval.node) = (Node *) n;
}
#line 26436 "gram.c" /* yacc.c:1652 */
break;
case 246:
#line 1716 "gram.y" /* yacc.c:1652 */
{
VariableShowStmt *n = makeNode(VariableShowStmt);
n->name = "timezone";
(yyval.node) = (Node *) n;
}
#line 26446 "gram.c" /* yacc.c:1652 */
break;
case 247:
#line 1722 "gram.y" /* yacc.c:1652 */
{
VariableShowStmt *n = makeNode(VariableShowStmt);
n->name = "transaction_isolation";
(yyval.node) = (Node *) n;
}
#line 26456 "gram.c" /* yacc.c:1652 */
break;
case 248:
#line 1728 "gram.y" /* yacc.c:1652 */
{
VariableShowStmt *n = makeNode(VariableShowStmt);
n->name = "session_authorization";
(yyval.node) = (Node *) n;
}
#line 26466 "gram.c" /* yacc.c:1652 */
break;
case 249:
#line 1734 "gram.y" /* yacc.c:1652 */
{
VariableShowStmt *n = makeNode(VariableShowStmt);
n->name = "all";
(yyval.node) = (Node *) n;
}
#line 26476 "gram.c" /* yacc.c:1652 */
break;
case 250:
#line 1744 "gram.y" /* yacc.c:1652 */
{
ConstraintsSetStmt *n = makeNode(ConstraintsSetStmt);
n->constraints = (yyvsp[-1].list);
n->deferred = (yyvsp[0].boolean);
(yyval.node) = (Node *) n;
}
#line 26487 "gram.c" /* yacc.c:1652 */
break;
case 251:
#line 1753 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 26493 "gram.c" /* yacc.c:1652 */
break;
case 252:
#line 1754 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 26499 "gram.c" /* yacc.c:1652 */
break;
case 253:
#line 1758 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = true; }
#line 26505 "gram.c" /* yacc.c:1652 */
break;
case 254:
#line 1759 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 26511 "gram.c" /* yacc.c:1652 */
break;
case 255:
#line 1768 "gram.y" /* yacc.c:1652 */
{
CheckPointStmt *n = makeNode(CheckPointStmt);
(yyval.node) = (Node *)n;
}
#line 26520 "gram.c" /* yacc.c:1652 */
break;
case 256:
#line 1783 "gram.y" /* yacc.c:1652 */
{
DiscardStmt *n = makeNode(DiscardStmt);
n->target = DISCARD_ALL;
(yyval.node) = (Node *) n;
}
#line 26530 "gram.c" /* yacc.c:1652 */
break;
case 257:
#line 1789 "gram.y" /* yacc.c:1652 */
{
DiscardStmt *n = makeNode(DiscardStmt);
n->target = DISCARD_TEMP;
(yyval.node) = (Node *) n;
}
#line 26540 "gram.c" /* yacc.c:1652 */
break;
case 258:
#line 1795 "gram.y" /* yacc.c:1652 */
{
DiscardStmt *n = makeNode(DiscardStmt);
n->target = DISCARD_TEMP;
(yyval.node) = (Node *) n;
}
#line 26550 "gram.c" /* yacc.c:1652 */
break;
case 259:
#line 1801 "gram.y" /* yacc.c:1652 */
{
DiscardStmt *n = makeNode(DiscardStmt);
n->target = DISCARD_PLANS;
(yyval.node) = (Node *) n;
}
#line 26560 "gram.c" /* yacc.c:1652 */
break;
case 260:
#line 1807 "gram.y" /* yacc.c:1652 */
{
DiscardStmt *n = makeNode(DiscardStmt);
n->target = DISCARD_SEQUENCES;
(yyval.node) = (Node *) n;
}
#line 26570 "gram.c" /* yacc.c:1652 */
break;
case 261:
#line 1826 "gram.y" /* yacc.c:1652 */
{
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 26583 "gram.c" /* yacc.c:1652 */
break;
case 262:
#line 1835 "gram.y" /* yacc.c:1652 */
{
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 26596 "gram.c" /* yacc.c:1652 */
break;
case 263:
#line 1844 "gram.y" /* yacc.c:1652 */
{
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 26609 "gram.c" /* yacc.c:1652 */
break;
case 264:
#line 1853 "gram.y" /* yacc.c:1652 */
{
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 26622 "gram.c" /* yacc.c:1652 */
break;
case 265:
#line 1862 "gram.y" /* yacc.c:1652 */
{
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 26637 "gram.c" /* yacc.c:1652 */
break;
case 266:
#line 1873 "gram.y" /* yacc.c:1652 */
{
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 26652 "gram.c" /* yacc.c:1652 */
break;
case 267:
#line 1884 "gram.y" /* yacc.c:1652 */
{
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 26665 "gram.c" /* yacc.c:1652 */
break;
case 268:
#line 1893 "gram.y" /* yacc.c:1652 */
{
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 26678 "gram.c" /* yacc.c:1652 */
break;
case 269:
#line 1902 "gram.y" /* yacc.c:1652 */
{
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 26691 "gram.c" /* yacc.c:1652 */
break;
case 270:
#line 1911 "gram.y" /* yacc.c:1652 */
{
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 26706 "gram.c" /* yacc.c:1652 */
break;
case 271:
#line 1922 "gram.y" /* yacc.c:1652 */
{
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 26721 "gram.c" /* yacc.c:1652 */
break;
case 272:
#line 1933 "gram.y" /* yacc.c:1652 */
{
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 26734 "gram.c" /* yacc.c:1652 */
break;
case 273:
#line 1942 "gram.y" /* yacc.c:1652 */
{
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 26747 "gram.c" /* yacc.c:1652 */
break;
case 274:
#line 1951 "gram.y" /* yacc.c:1652 */
{
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 26760 "gram.c" /* yacc.c:1652 */
break;
case 275:
#line 1960 "gram.y" /* yacc.c:1652 */
{
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 26773 "gram.c" /* yacc.c:1652 */
break;
case 276:
#line 1969 "gram.y" /* yacc.c:1652 */
{
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 26786 "gram.c" /* yacc.c:1652 */
break;
case 277:
#line 1978 "gram.y" /* yacc.c:1652 */
{
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 26799 "gram.c" /* yacc.c:1652 */
break;
case 278:
#line 1987 "gram.y" /* yacc.c:1652 */
{
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 26814 "gram.c" /* yacc.c:1652 */
break;
case 279:
#line 1998 "gram.y" /* yacc.c:1652 */
{
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 26829 "gram.c" /* yacc.c:1652 */
break;
case 280:
#line 2011 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].node)); }
#line 26835 "gram.c" /* yacc.c:1652 */
break;
case 281:
#line 2012 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
#line 26841 "gram.c" /* yacc.c:1652 */
break;
case 282:
#line 2018 "gram.y" /* yacc.c:1652 */
{
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 26857 "gram.c" /* yacc.c:1652 */
break;
case 283:
#line 2031 "gram.y" /* yacc.c:1652 */
{
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 26873 "gram.c" /* yacc.c:1652 */
break;
case 284:
#line 2047 "gram.y" /* yacc.c:1652 */
{
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 26889 "gram.c" /* yacc.c:1652 */
break;
case 285:
#line 2063 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_AddColumn;
n->def = (yyvsp[0].node);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 26901 "gram.c" /* yacc.c:1652 */
break;
case 286:
#line 2072 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_AddColumn;
n->def = (yyvsp[0].node);
n->missing_ok = true;
(yyval.node) = (Node *)n;
}
#line 26913 "gram.c" /* yacc.c:1652 */
break;
case 287:
#line 2081 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_AddColumn;
n->def = (yyvsp[0].node);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 26925 "gram.c" /* yacc.c:1652 */
break;
case 288:
#line 2090 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_AddColumn;
n->def = (yyvsp[0].node);
n->missing_ok = true;
(yyval.node) = (Node *)n;
}
#line 26937 "gram.c" /* yacc.c:1652 */
break;
case 289:
#line 2099 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_ColumnDefault;
n->name = (yyvsp[-1].str);
n->def = (yyvsp[0].node);
(yyval.node) = (Node *)n;
}
#line 26949 "gram.c" /* yacc.c:1652 */
break;
case 290:
#line 2108 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropNotNull;
n->name = (yyvsp[-3].str);
(yyval.node) = (Node *)n;
}
#line 26960 "gram.c" /* yacc.c:1652 */
break;
case 291:
#line 2116 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetNotNull;
n->name = (yyvsp[-3].str);
(yyval.node) = (Node *)n;
}
#line 26971 "gram.c" /* yacc.c:1652 */
break;
case 292:
#line 2124 "gram.y" /* yacc.c:1652 */
{
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 26983 "gram.c" /* yacc.c:1652 */
break;
case 293:
#line 2133 "gram.y" /* yacc.c:1652 */
{
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 27002 "gram.c" /* yacc.c:1652 */
break;
case 294:
#line 2149 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetOptions;
n->name = (yyvsp[-2].str);
n->def = (Node *) (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 27014 "gram.c" /* yacc.c:1652 */
break;
case 295:
#line 2158 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_ResetOptions;
n->name = (yyvsp[-2].str);
n->def = (Node *) (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 27026 "gram.c" /* yacc.c:1652 */
break;
case 296:
#line 2167 "gram.y" /* yacc.c:1652 */
{
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 27038 "gram.c" /* yacc.c:1652 */
break;
case 297:
#line 2176 "gram.y" /* yacc.c:1652 */
{
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 27058 "gram.c" /* yacc.c:1652 */
break;
case 298:
#line 2193 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetIdentity;
n->name = (yyvsp[-1].str);
n->def = (Node *) (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 27070 "gram.c" /* yacc.c:1652 */
break;
case 299:
#line 2202 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropIdentity;
n->name = (yyvsp[-2].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 27082 "gram.c" /* yacc.c:1652 */
break;
case 300:
#line 2211 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropIdentity;
n->name = (yyvsp[-4].str);
n->missing_ok = true;
(yyval.node) = (Node *)n;
}
#line 27094 "gram.c" /* yacc.c:1652 */
break;
case 301:
#line 2220 "gram.y" /* yacc.c:1652 */
{
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 27107 "gram.c" /* yacc.c:1652 */
break;
case 302:
#line 2230 "gram.y" /* yacc.c:1652 */
{
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 27120 "gram.c" /* yacc.c:1652 */
break;
case 303:
#line 2243 "gram.y" /* yacc.c:1652 */
{
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 27138 "gram.c" /* yacc.c:1652 */
break;
case 304:
#line 2258 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_AlterColumnGenericOptions;
n->name = (yyvsp[-1].str);
n->def = (Node *) (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 27150 "gram.c" /* yacc.c:1652 */
break;
case 305:
#line 2267 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_AddConstraint;
n->def = (yyvsp[0].node);
(yyval.node) = (Node *)n;
}
#line 27161 "gram.c" /* yacc.c:1652 */
break;
case 306:
#line 2275 "gram.y" /* yacc.c:1652 */
{
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 27179 "gram.c" /* yacc.c:1652 */
break;
case 307:
#line 2290 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_ValidateConstraint;
n->name = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 27190 "gram.c" /* yacc.c:1652 */
break;
case 308:
#line 2298 "gram.y" /* yacc.c:1652 */
{
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 27203 "gram.c" /* yacc.c:1652 */
break;
case 309:
#line 2308 "gram.y" /* yacc.c:1652 */
{
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 27216 "gram.c" /* yacc.c:1652 */
break;
case 310:
#line 2318 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_AddOids;
(yyval.node) = (Node *)n;
}
#line 27226 "gram.c" /* yacc.c:1652 */
break;
case 311:
#line 2325 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropOids;
(yyval.node) = (Node *)n;
}
#line 27236 "gram.c" /* yacc.c:1652 */
break;
case 312:
#line 2332 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_ClusterOn;
n->name = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 27247 "gram.c" /* yacc.c:1652 */
break;
case 313:
#line 2340 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropCluster;
n->name = NULL;
(yyval.node) = (Node *)n;
}
#line 27258 "gram.c" /* yacc.c:1652 */
break;
case 314:
#line 2348 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetLogged;
(yyval.node) = (Node *)n;
}
#line 27268 "gram.c" /* yacc.c:1652 */
break;
case 315:
#line 2355 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetUnLogged;
(yyval.node) = (Node *)n;
}
#line 27278 "gram.c" /* yacc.c:1652 */
break;
case 316:
#line 2362 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableTrig;
n->name = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 27289 "gram.c" /* yacc.c:1652 */
break;
case 317:
#line 2370 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableAlwaysTrig;
n->name = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 27300 "gram.c" /* yacc.c:1652 */
break;
case 318:
#line 2378 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableReplicaTrig;
n->name = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 27311 "gram.c" /* yacc.c:1652 */
break;
case 319:
#line 2386 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableTrigAll;
(yyval.node) = (Node *)n;
}
#line 27321 "gram.c" /* yacc.c:1652 */
break;
case 320:
#line 2393 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableTrigUser;
(yyval.node) = (Node *)n;
}
#line 27331 "gram.c" /* yacc.c:1652 */
break;
case 321:
#line 2400 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DisableTrig;
n->name = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 27342 "gram.c" /* yacc.c:1652 */
break;
case 322:
#line 2408 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DisableTrigAll;
(yyval.node) = (Node *)n;
}
#line 27352 "gram.c" /* yacc.c:1652 */
break;
case 323:
#line 2415 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DisableTrigUser;
(yyval.node) = (Node *)n;
}
#line 27362 "gram.c" /* yacc.c:1652 */
break;
case 324:
#line 2422 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableRule;
n->name = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 27373 "gram.c" /* yacc.c:1652 */
break;
case 325:
#line 2430 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableAlwaysRule;
n->name = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 27384 "gram.c" /* yacc.c:1652 */
break;
case 326:
#line 2438 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableReplicaRule;
n->name = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 27395 "gram.c" /* yacc.c:1652 */
break;
case 327:
#line 2446 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DisableRule;
n->name = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 27406 "gram.c" /* yacc.c:1652 */
break;
case 328:
#line 2454 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_AddInherit;
n->def = (Node *) (yyvsp[0].range);
(yyval.node) = (Node *)n;
}
#line 27417 "gram.c" /* yacc.c:1652 */
break;
case 329:
#line 2462 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropInherit;
n->def = (Node *) (yyvsp[0].range);
(yyval.node) = (Node *)n;
}
#line 27428 "gram.c" /* yacc.c:1652 */
break;
case 330:
#line 2470 "gram.y" /* yacc.c:1652 */
{
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 27441 "gram.c" /* yacc.c:1652 */
break;
case 331:
#line 2480 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropOf;
(yyval.node) = (Node *)n;
}
#line 27451 "gram.c" /* yacc.c:1652 */
break;
case 332:
#line 2487 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_ChangeOwner;
n->newowner = (yyvsp[0].rolespec);
(yyval.node) = (Node *)n;
}
#line 27462 "gram.c" /* yacc.c:1652 */
break;
case 333:
#line 2495 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetTableSpace;
n->name = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 27473 "gram.c" /* yacc.c:1652 */
break;
case 334:
#line 2503 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetRelOptions;
n->def = (Node *)(yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 27484 "gram.c" /* yacc.c:1652 */
break;
case 335:
#line 2511 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_ResetRelOptions;
n->def = (Node *)(yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 27495 "gram.c" /* yacc.c:1652 */
break;
case 336:
#line 2519 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_ReplicaIdentity;
n->def = (yyvsp[0].node);
(yyval.node) = (Node *)n;
}
#line 27506 "gram.c" /* yacc.c:1652 */
break;
case 337:
#line 2527 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableRowSecurity;
(yyval.node) = (Node *)n;
}
#line 27516 "gram.c" /* yacc.c:1652 */
break;
case 338:
#line 2534 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DisableRowSecurity;
(yyval.node) = (Node *)n;
}
#line 27526 "gram.c" /* yacc.c:1652 */
break;
case 339:
#line 2541 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_ForceRowSecurity;
(yyval.node) = (Node *)n;
}
#line 27536 "gram.c" /* yacc.c:1652 */
break;
case 340:
#line 2548 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_NoForceRowSecurity;
(yyval.node) = (Node *)n;
}
#line 27546 "gram.c" /* yacc.c:1652 */
break;
case 341:
#line 2554 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_GenericOptions;
n->def = (Node *)(yyvsp[0].list);
(yyval.node) = (Node *) n;
}
#line 27557 "gram.c" /* yacc.c:1652 */
break;
case 342:
#line 2563 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 27563 "gram.c" /* yacc.c:1652 */
break;
case 343:
#line 2564 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = NULL; }
#line 27569 "gram.c" /* yacc.c:1652 */
break;
case 344:
#line 2568 "gram.y" /* yacc.c:1652 */
{ (yyval.dbehavior) = DROP_CASCADE; }
#line 27575 "gram.c" /* yacc.c:1652 */
break;
case 345:
#line 2569 "gram.y" /* yacc.c:1652 */
{ (yyval.dbehavior) = DROP_RESTRICT; }
#line 27581 "gram.c" /* yacc.c:1652 */
break;
case 346:
#line 2570 "gram.y" /* yacc.c:1652 */
{ (yyval.dbehavior) = DROP_RESTRICT; /* default */ }
#line 27587 "gram.c" /* yacc.c:1652 */
break;
case 347:
#line 2575 "gram.y" /* yacc.c:1652 */
{
CollateClause *n = makeNode(CollateClause);
n->arg = NULL;
n->collname = (yyvsp[0].list);
n->location = (yylsp[-1]);
(yyval.node) = (Node *) n;
}
#line 27599 "gram.c" /* yacc.c:1652 */
break;
case 348:
#line 2582 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = NULL; }
#line 27605 "gram.c" /* yacc.c:1652 */
break;
case 349:
#line 2586 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 27611 "gram.c" /* yacc.c:1652 */
break;
case 350:
#line 2587 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = NULL; }
#line 27617 "gram.c" /* yacc.c:1652 */
break;
case 351:
#line 2592 "gram.y" /* yacc.c:1652 */
{
ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
n->identity_type = REPLICA_IDENTITY_NOTHING;
n->name = NULL;
(yyval.node) = (Node *) n;
}
#line 27628 "gram.c" /* yacc.c:1652 */
break;
case 352:
#line 2599 "gram.y" /* yacc.c:1652 */
{
ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
n->identity_type = REPLICA_IDENTITY_FULL;
n->name = NULL;
(yyval.node) = (Node *) n;
}
#line 27639 "gram.c" /* yacc.c:1652 */
break;
case 353:
#line 2606 "gram.y" /* yacc.c:1652 */
{
ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
n->identity_type = REPLICA_IDENTITY_DEFAULT;
n->name = NULL;
(yyval.node) = (Node *) n;
}
#line 27650 "gram.c" /* yacc.c:1652 */
break;
case 354:
#line 2613 "gram.y" /* yacc.c:1652 */
{
ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
n->identity_type = REPLICA_IDENTITY_INDEX;
n->name = (yyvsp[0].str);
(yyval.node) = (Node *) n;
}
#line 27661 "gram.c" /* yacc.c:1652 */
break;
case 355:
#line 2622 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 27667 "gram.c" /* yacc.c:1652 */
break;
case 356:
#line 2625 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 27673 "gram.c" /* yacc.c:1652 */
break;
case 357:
#line 2626 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 27679 "gram.c" /* yacc.c:1652 */
break;
case 358:
#line 2630 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].defelt)); }
#line 27685 "gram.c" /* yacc.c:1652 */
break;
case 359:
#line 2631 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
#line 27691 "gram.c" /* yacc.c:1652 */
break;
case 360:
#line 2637 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *) (yyvsp[0].node), (yylsp[-2]));
}
#line 27699 "gram.c" /* yacc.c:1652 */
break;
case 361:
#line 2641 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem((yyvsp[0].str), NULL, (yylsp[0]));
}
#line 27707 "gram.c" /* yacc.c:1652 */
break;
case 362:
#line 2645 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElemExtended((yyvsp[-4].str), (yyvsp[-2].str), (Node *) (yyvsp[0].node),
DEFELEM_UNSPEC, (yylsp[-4]));
}
#line 27716 "gram.c" /* yacc.c:1652 */
break;
case 363:
#line 2650 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElemExtended((yyvsp[-2].str), (yyvsp[0].str), NULL, DEFELEM_UNSPEC, (yylsp[-2]));
}
#line 27724 "gram.c" /* yacc.c:1652 */
break;
case 364:
#line 2657 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].defelt)); }
#line 27730 "gram.c" /* yacc.c:1652 */
break;
case 365:
#line 2659 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
#line 27736 "gram.c" /* yacc.c:1652 */
break;
case 366:
#line 2664 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("restart", NULL, (yylsp[0]));
}
#line 27744 "gram.c" /* yacc.c:1652 */
break;
case 367:
#line 2668 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("restart", (Node *)(yyvsp[0].value), (yylsp[-2]));
}
#line 27752 "gram.c" /* yacc.c:1652 */
break;
case 368:
#line 2672 "gram.y" /* yacc.c:1652 */
{
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 27767 "gram.c" /* yacc.c:1652 */
break;
case 369:
#line 2683 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("generated", (Node *) makeInteger((yyvsp[0].ival)), (yylsp[-2]));
}
#line 27775 "gram.c" /* yacc.c:1652 */
break;
case 370:
#line 2691 "gram.y" /* yacc.c:1652 */
{
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 27830 "gram.c" /* yacc.c:1652 */
break;
case 371:
#line 2744 "gram.y" /* yacc.c:1652 */
{
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 27845 "gram.c" /* yacc.c:1652 */
break;
case 372:
#line 2757 "gram.y" /* yacc.c:1652 */
{
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 27861 "gram.c" /* yacc.c:1652 */
break;
case 373:
#line 2771 "gram.y" /* yacc.c:1652 */
{
PartitionBoundSpec *n = makeNode(PartitionBoundSpec);
n->is_default = true;
n->location = (yylsp[0]);
(yyval.partboundspec) = n;
}
#line 27874 "gram.c" /* yacc.c:1652 */
break;
case 374:
#line 2783 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem((yyvsp[-1].str), (Node *)makeInteger((yyvsp[0].ival)), (yylsp[-1]));
}
#line 27882 "gram.c" /* yacc.c:1652 */
break;
case 375:
#line 2790 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make1((yyvsp[0].defelt));
}
#line 27890 "gram.c" /* yacc.c:1652 */
break;
case 376:
#line 2794 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
}
#line 27898 "gram.c" /* yacc.c:1652 */
break;
case 377:
#line 2800 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0])); }
#line 27904 "gram.c" /* yacc.c:1652 */
break;
case 378:
#line 2801 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = makeAConst((yyvsp[0].value), (yylsp[0])); }
#line 27910 "gram.c" /* yacc.c:1652 */
break;
case 379:
#line 2802 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = makeStringConst(pstrdup("true"), (yylsp[0])); }
#line 27916 "gram.c" /* yacc.c:1652 */
break;
case 380:
#line 2803 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = makeStringConst(pstrdup("false"), (yylsp[0])); }
#line 27922 "gram.c" /* yacc.c:1652 */
break;
case 381:
#line 2804 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = makeNullAConst((yylsp[0])); }
#line 27928 "gram.c" /* yacc.c:1652 */
break;
case 382:
#line 2808 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].node)); }
#line 27934 "gram.c" /* yacc.c:1652 */
break;
case 383:
#line 2810 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
#line 27940 "gram.c" /* yacc.c:1652 */
break;
case 384:
#line 2814 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].node)); }
#line 27946 "gram.c" /* yacc.c:1652 */
break;
case 385:
#line 2816 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
#line 27952 "gram.c" /* yacc.c:1652 */
break;
case 386:
#line 2821 "gram.y" /* yacc.c:1652 */
{
PartitionRangeDatum *n = makeNode(PartitionRangeDatum);
n->kind = PARTITION_RANGE_DATUM_MINVALUE;
n->value = NULL;
n->location = (yylsp[0]);
(yyval.node) = (Node *) n;
}
#line 27966 "gram.c" /* yacc.c:1652 */
break;
case 387:
#line 2831 "gram.y" /* yacc.c:1652 */
{
PartitionRangeDatum *n = makeNode(PartitionRangeDatum);
n->kind = PARTITION_RANGE_DATUM_MAXVALUE;
n->value = NULL;
n->location = (yylsp[0]);
(yyval.node) = (Node *) n;
}
#line 27980 "gram.c" /* yacc.c:1652 */
break;
case 388:
#line 2841 "gram.y" /* yacc.c:1652 */
{
PartitionRangeDatum *n = makeNode(PartitionRangeDatum);
n->kind = PARTITION_RANGE_DATUM_VALUE;
n->value = (yyvsp[0].node);
n->location = (yylsp[0]);
(yyval.node) = (Node *) n;
}
#line 27994 "gram.c" /* yacc.c:1652 */
break;
case 389:
#line 2861 "gram.y" /* yacc.c:1652 */
{
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 28008 "gram.c" /* yacc.c:1652 */
break;
case 390:
#line 2873 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].node)); }
#line 28014 "gram.c" /* yacc.c:1652 */
break;
case 391:
#line 2874 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
#line 28020 "gram.c" /* yacc.c:1652 */
break;
case 392:
#line 2880 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_AddColumn;
n->def = (yyvsp[-1].node);
n->behavior = (yyvsp[0].dbehavior);
(yyval.node) = (Node *)n;
}
#line 28032 "gram.c" /* yacc.c:1652 */
break;
case 393:
#line 2889 "gram.y" /* yacc.c:1652 */
{
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 28045 "gram.c" /* yacc.c:1652 */
break;
case 394:
#line 2899 "gram.y" /* yacc.c:1652 */
{
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 28058 "gram.c" /* yacc.c:1652 */
break;
case 395:
#line 2909 "gram.y" /* yacc.c:1652 */
{
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 28077 "gram.c" /* yacc.c:1652 */
break;
case 396:
#line 2935 "gram.y" /* yacc.c:1652 */
{
ClosePortalStmt *n = makeNode(ClosePortalStmt);
n->portalname = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 28087 "gram.c" /* yacc.c:1652 */
break;
case 397:
#line 2941 "gram.y" /* yacc.c:1652 */
{
ClosePortalStmt *n = makeNode(ClosePortalStmt);
n->portalname = NULL;
(yyval.node) = (Node *)n;
}
#line 28097 "gram.c" /* yacc.c:1652 */
break;
case 398:
#line 2975 "gram.y" /* yacc.c:1652 */
{
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 28129 "gram.c" /* yacc.c:1652 */
break;
case 399:
#line 3003 "gram.y" /* yacc.c:1652 */
{
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 28152 "gram.c" /* yacc.c:1652 */
break;
case 400:
#line 3024 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = true; }
#line 28158 "gram.c" /* yacc.c:1652 */
break;
case 401:
#line 3025 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 28164 "gram.c" /* yacc.c:1652 */
break;
case 402:
#line 3029 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = true; }
#line 28170 "gram.c" /* yacc.c:1652 */
break;
case 403:
#line 3030 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 28176 "gram.c" /* yacc.c:1652 */
break;
case 404:
#line 3039 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 28182 "gram.c" /* yacc.c:1652 */
break;
case 405:
#line 3040 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = NULL; }
#line 28188 "gram.c" /* yacc.c:1652 */
break;
case 406:
#line 3041 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = NULL; }
#line 28194 "gram.c" /* yacc.c:1652 */
break;
case 407:
#line 3044 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 28200 "gram.c" /* yacc.c:1652 */
break;
case 408:
#line 3045 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 28206 "gram.c" /* yacc.c:1652 */
break;
case 409:
#line 3050 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
#line 28212 "gram.c" /* yacc.c:1652 */
break;
case 410:
#line 3051 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 28218 "gram.c" /* yacc.c:1652 */
break;
case 411:
#line 3056 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("format", (Node *)makeString("binary"), (yylsp[0]));
}
#line 28226 "gram.c" /* yacc.c:1652 */
break;
case 412:
#line 3060 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("oids", (Node *)makeInteger(true), (yylsp[0]));
}
#line 28234 "gram.c" /* yacc.c:1652 */
break;
case 413:
#line 3064 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("freeze", (Node *)makeInteger(true), (yylsp[0]));
}
#line 28242 "gram.c" /* yacc.c:1652 */
break;
case 414:
#line 3068 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("delimiter", (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
}
#line 28250 "gram.c" /* yacc.c:1652 */
break;
case 415:
#line 3072 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("null", (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
}
#line 28258 "gram.c" /* yacc.c:1652 */
break;
case 416:
#line 3076 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("format", (Node *)makeString("csv"), (yylsp[0]));
}
#line 28266 "gram.c" /* yacc.c:1652 */
break;
case 417:
#line 3080 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("header", (Node *)makeInteger(true), (yylsp[0]));
}
#line 28274 "gram.c" /* yacc.c:1652 */
break;
case 418:
#line 3084 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("quote", (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
}
#line 28282 "gram.c" /* yacc.c:1652 */
break;
case 419:
#line 3088 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("escape", (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
}
#line 28290 "gram.c" /* yacc.c:1652 */
break;
case 420:
#line 3092 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("force_quote", (Node *)(yyvsp[0].list), (yylsp[-2]));
}
#line 28298 "gram.c" /* yacc.c:1652 */
break;
case 421:
#line 3096 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("force_quote", (Node *)makeNode(A_Star), (yylsp[-2]));
}
#line 28306 "gram.c" /* yacc.c:1652 */
break;
case 422:
#line 3100 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("force_not_null", (Node *)(yyvsp[0].list), (yylsp[-3]));
}
#line 28314 "gram.c" /* yacc.c:1652 */
break;
case 423:
#line 3104 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("force_null", (Node *)(yyvsp[0].list), (yylsp[-2]));
}
#line 28322 "gram.c" /* yacc.c:1652 */
break;
case 424:
#line 3108 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("encoding", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
}
#line 28330 "gram.c" /* yacc.c:1652 */
break;
case 425:
#line 3117 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("format", (Node *)makeString("binary"), (yylsp[0]));
}
#line 28338 "gram.c" /* yacc.c:1652 */
break;
case 426:
#line 3120 "gram.y" /* yacc.c:1652 */
{ (yyval.defelt) = NULL; }
#line 28344 "gram.c" /* yacc.c:1652 */
break;
case 427:
#line 3125 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("oids", (Node *)makeInteger(true), (yylsp[-1]));
}
#line 28352 "gram.c" /* yacc.c:1652 */
break;
case 428:
#line 3128 "gram.y" /* yacc.c:1652 */
{ (yyval.defelt) = NULL; }
#line 28358 "gram.c" /* yacc.c:1652 */
break;
case 429:
#line 3133 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("delimiter", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
}
#line 28366 "gram.c" /* yacc.c:1652 */
break;
case 430:
#line 3136 "gram.y" /* yacc.c:1652 */
{ (yyval.defelt) = NULL; }
#line 28372 "gram.c" /* yacc.c:1652 */
break;
case 431:
#line 3140 "gram.y" /* yacc.c:1652 */
{}
#line 28378 "gram.c" /* yacc.c:1652 */
break;
case 432:
#line 3141 "gram.y" /* yacc.c:1652 */
{}
#line 28384 "gram.c" /* yacc.c:1652 */
break;
case 433:
#line 3147 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make1((yyvsp[0].defelt));
}
#line 28392 "gram.c" /* yacc.c:1652 */
break;
case 434:
#line 3151 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
}
#line 28400 "gram.c" /* yacc.c:1652 */
break;
case 435:
#line 3158 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1]));
}
#line 28408 "gram.c" /* yacc.c:1652 */
break;
case 436:
#line 3164 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
#line 28414 "gram.c" /* yacc.c:1652 */
break;
case 437:
#line 3165 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) (yyvsp[0].value); }
#line 28420 "gram.c" /* yacc.c:1652 */
break;
case 438:
#line 3166 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeNode(A_Star); }
#line 28426 "gram.c" /* yacc.c:1652 */
break;
case 439:
#line 3167 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) (yyvsp[-1].list); }
#line 28432 "gram.c" /* yacc.c:1652 */
break;
case 440:
#line 3168 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = NULL; }
#line 28438 "gram.c" /* yacc.c:1652 */
break;
case 441:
#line 3173 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make1((yyvsp[0].node));
}
#line 28446 "gram.c" /* yacc.c:1652 */
break;
case 442:
#line 3177 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
}
#line 28454 "gram.c" /* yacc.c:1652 */
break;
case 443:
#line 3184 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
#line 28460 "gram.c" /* yacc.c:1652 */
break;
case 444:
#line 3197 "gram.y" /* yacc.c:1652 */
{
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 28480 "gram.c" /* yacc.c:1652 */
break;
case 445:
#line 3215 "gram.y" /* yacc.c:1652 */
{
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 28500 "gram.c" /* yacc.c:1652 */
break;
case 446:
#line 3233 "gram.y" /* yacc.c:1652 */
{
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 28521 "gram.c" /* yacc.c:1652 */
break;
case 447:
#line 3252 "gram.y" /* yacc.c:1652 */
{
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 28542 "gram.c" /* yacc.c:1652 */
break;
case 448:
#line 3271 "gram.y" /* yacc.c:1652 */
{
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 28563 "gram.c" /* yacc.c:1652 */
break;
case 449:
#line 3290 "gram.y" /* yacc.c:1652 */
{
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 28584 "gram.c" /* yacc.c:1652 */
break;
case 450:
#line 3319 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = RELPERSISTENCE_TEMP; }
#line 28590 "gram.c" /* yacc.c:1652 */
break;
case 451:
#line 3320 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = RELPERSISTENCE_TEMP; }
#line 28596 "gram.c" /* yacc.c:1652 */
break;
case 452:
#line 3321 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = RELPERSISTENCE_TEMP; }
#line 28602 "gram.c" /* yacc.c:1652 */
break;
case 453:
#line 3322 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = RELPERSISTENCE_TEMP; }
#line 28608 "gram.c" /* yacc.c:1652 */
break;
case 454:
#line 3324 "gram.y" /* yacc.c:1652 */
{
ereport(WARNING,
(errmsg("GLOBAL is deprecated in temporary table creation"),
parser_errposition((yylsp[-1]))));
(yyval.ival) = RELPERSISTENCE_TEMP;
}
#line 28619 "gram.c" /* yacc.c:1652 */
break;
case 455:
#line 3331 "gram.y" /* yacc.c:1652 */
{
ereport(WARNING,
(errmsg("GLOBAL is deprecated in temporary table creation"),
parser_errposition((yylsp[-1]))));
(yyval.ival) = RELPERSISTENCE_TEMP;
}
#line 28630 "gram.c" /* yacc.c:1652 */
break;
case 456:
#line 3337 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = RELPERSISTENCE_UNLOGGED; }
#line 28636 "gram.c" /* yacc.c:1652 */
break;
case 457:
#line 3338 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = RELPERSISTENCE_PERMANENT; }
#line 28642 "gram.c" /* yacc.c:1652 */
break;
case 458:
#line 3342 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 28648 "gram.c" /* yacc.c:1652 */
break;
case 459:
#line 3343 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 28654 "gram.c" /* yacc.c:1652 */
break;
case 460:
#line 3347 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 28660 "gram.c" /* yacc.c:1652 */
break;
case 461:
#line 3348 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 28666 "gram.c" /* yacc.c:1652 */
break;
case 462:
#line 3353 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make1((yyvsp[0].node));
}
#line 28674 "gram.c" /* yacc.c:1652 */
break;
case 463:
#line 3357 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
}
#line 28682 "gram.c" /* yacc.c:1652 */
break;
case 464:
#line 3364 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make1((yyvsp[0].node));
}
#line 28690 "gram.c" /* yacc.c:1652 */
break;
case 465:
#line 3368 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
}
#line 28698 "gram.c" /* yacc.c:1652 */
break;
case 466:
#line 3374 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 28704 "gram.c" /* yacc.c:1652 */
break;
case 467:
#line 3375 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 28710 "gram.c" /* yacc.c:1652 */
break;
case 468:
#line 3376 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 28716 "gram.c" /* yacc.c:1652 */
break;
case 469:
#line 3380 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 28722 "gram.c" /* yacc.c:1652 */
break;
case 470:
#line 3381 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 28728 "gram.c" /* yacc.c:1652 */
break;
case 471:
#line 3385 "gram.y" /* yacc.c:1652 */
{
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 28751 "gram.c" /* yacc.c:1652 */
break;
case 472:
#line 3406 "gram.y" /* yacc.c:1652 */
{
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 28773 "gram.c" /* yacc.c:1652 */
break;
case 473:
#line 3424 "gram.y" /* yacc.c:1652 */
{
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 28795 "gram.c" /* yacc.c:1652 */
break;
case 474:
#line 3444 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
#line 28801 "gram.c" /* yacc.c:1652 */
break;
case 475:
#line 3445 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 28807 "gram.c" /* yacc.c:1652 */
break;
case 476:
#line 3450 "gram.y" /* yacc.c:1652 */
{
Constraint *n = castNode(Constraint, (yyvsp[0].node));
n->conname = (yyvsp[-1].str);
n->location = (yylsp[-2]);
(yyval.node) = (Node *) n;
}
#line 28818 "gram.c" /* yacc.c:1652 */
break;
case 477:
#line 3456 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 28824 "gram.c" /* yacc.c:1652 */
break;
case 478:
#line 3457 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 28830 "gram.c" /* yacc.c:1652 */
break;
case 479:
#line 3459 "gram.y" /* yacc.c:1652 */
{
/*
* 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 28847 "gram.c" /* yacc.c:1652 */
break;
case 480:
#line 3490 "gram.y" /* yacc.c:1652 */
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_NOTNULL;
n->location = (yylsp[-1]);
(yyval.node) = (Node *)n;
}
#line 28858 "gram.c" /* yacc.c:1652 */
break;
case 481:
#line 3497 "gram.y" /* yacc.c:1652 */
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_NULL;
n->location = (yylsp[0]);
(yyval.node) = (Node *)n;
}
#line 28869 "gram.c" /* yacc.c:1652 */
break;
case 482:
#line 3504 "gram.y" /* yacc.c:1652 */
{
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 28884 "gram.c" /* yacc.c:1652 */
break;
case 483:
#line 3515 "gram.y" /* yacc.c:1652 */
{
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 28899 "gram.c" /* yacc.c:1652 */
break;
case 484:
#line 3526 "gram.y" /* yacc.c:1652 */
{
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 28915 "gram.c" /* yacc.c:1652 */
break;
case 485:
#line 3538 "gram.y" /* yacc.c:1652 */
{
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 28928 "gram.c" /* yacc.c:1652 */
break;
case 486:
#line 3547 "gram.y" /* yacc.c:1652 */
{
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 28941 "gram.c" /* yacc.c:1652 */
break;
case 487:
#line 3556 "gram.y" /* yacc.c:1652 */
{
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 28960 "gram.c" /* yacc.c:1652 */
break;
case 488:
#line 3573 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = ATTRIBUTE_IDENTITY_ALWAYS; }
#line 28966 "gram.c" /* yacc.c:1652 */
break;
case 489:
#line 3574 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = ATTRIBUTE_IDENTITY_BY_DEFAULT; }
#line 28972 "gram.c" /* yacc.c:1652 */
break;
case 490:
#line 3594 "gram.y" /* yacc.c:1652 */
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_ATTR_DEFERRABLE;
n->location = (yylsp[0]);
(yyval.node) = (Node *)n;
}
#line 28983 "gram.c" /* yacc.c:1652 */
break;
case 491:
#line 3601 "gram.y" /* yacc.c:1652 */
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_ATTR_NOT_DEFERRABLE;
n->location = (yylsp[-1]);
(yyval.node) = (Node *)n;
}
#line 28994 "gram.c" /* yacc.c:1652 */
break;
case 492:
#line 3608 "gram.y" /* yacc.c:1652 */
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_ATTR_DEFERRED;
n->location = (yylsp[-1]);
(yyval.node) = (Node *)n;
}
#line 29005 "gram.c" /* yacc.c:1652 */
break;
case 493:
#line 3615 "gram.y" /* yacc.c:1652 */
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_ATTR_IMMEDIATE;
n->location = (yylsp[-1]);
(yyval.node) = (Node *)n;
}
#line 29016 "gram.c" /* yacc.c:1652 */
break;
case 494:
#line 3626 "gram.y" /* yacc.c:1652 */
{
TableLikeClause *n = makeNode(TableLikeClause);
n->relation = (yyvsp[-1].range);
n->options = (yyvsp[0].ival);
n->relationOid = InvalidOid;
(yyval.node) = (Node *)n;
}
#line 29028 "gram.c" /* yacc.c:1652 */
break;
case 495:
#line 3636 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = (yyvsp[-2].ival) | (yyvsp[0].ival); }
#line 29034 "gram.c" /* yacc.c:1652 */
break;
case 496:
#line 3637 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = (yyvsp[-2].ival) & ~(yyvsp[0].ival); }
#line 29040 "gram.c" /* yacc.c:1652 */
break;
case 497:
#line 3638 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = 0; }
#line 29046 "gram.c" /* yacc.c:1652 */
break;
case 498:
#line 3642 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = CREATE_TABLE_LIKE_COMMENTS; }
#line 29052 "gram.c" /* yacc.c:1652 */
break;
case 499:
#line 3643 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = CREATE_TABLE_LIKE_CONSTRAINTS; }
#line 29058 "gram.c" /* yacc.c:1652 */
break;
case 500:
#line 3644 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = CREATE_TABLE_LIKE_DEFAULTS; }
#line 29064 "gram.c" /* yacc.c:1652 */
break;
case 501:
#line 3645 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = CREATE_TABLE_LIKE_IDENTITY; }
#line 29070 "gram.c" /* yacc.c:1652 */
break;
case 502:
#line 3646 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = CREATE_TABLE_LIKE_INDEXES; }
#line 29076 "gram.c" /* yacc.c:1652 */
break;
case 503:
#line 3647 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = CREATE_TABLE_LIKE_STATISTICS; }
#line 29082 "gram.c" /* yacc.c:1652 */
break;
case 504:
#line 3648 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = CREATE_TABLE_LIKE_STORAGE; }
#line 29088 "gram.c" /* yacc.c:1652 */
break;
case 505:
#line 3649 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = CREATE_TABLE_LIKE_ALL; }
#line 29094 "gram.c" /* yacc.c:1652 */
break;
case 506:
#line 3659 "gram.y" /* yacc.c:1652 */
{
Constraint *n = castNode(Constraint, (yyvsp[0].node));
n->conname = (yyvsp[-1].str);
n->location = (yylsp[-2]);
(yyval.node) = (Node *) n;
}
#line 29105 "gram.c" /* yacc.c:1652 */
break;
case 507:
#line 3665 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 29111 "gram.c" /* yacc.c:1652 */
break;
case 508:
#line 3670 "gram.y" /* yacc.c:1652 */
{
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 29128 "gram.c" /* yacc.c:1652 */
break;
case 509:
#line 3684 "gram.y" /* yacc.c:1652 */
{
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 29147 "gram.c" /* yacc.c:1652 */
break;
case 510:
#line 3699 "gram.y" /* yacc.c:1652 */
{
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 29166 "gram.c" /* yacc.c:1652 */
break;
case 511:
#line 3715 "gram.y" /* yacc.c:1652 */
{
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 29185 "gram.c" /* yacc.c:1652 */
break;
case 512:
#line 3730 "gram.y" /* yacc.c:1652 */
{
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 29204 "gram.c" /* yacc.c:1652 */
break;
case 513:
#line 3747 "gram.y" /* yacc.c:1652 */
{
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 29225 "gram.c" /* yacc.c:1652 */
break;
case 514:
#line 3765 "gram.y" /* yacc.c:1652 */
{
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 29247 "gram.c" /* yacc.c:1652 */
break;
case 515:
#line 3784 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = true; }
#line 29253 "gram.c" /* yacc.c:1652 */
break;
case 516:
#line 3785 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 29259 "gram.c" /* yacc.c:1652 */
break;
case 517:
#line 3789 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 29265 "gram.c" /* yacc.c:1652 */
break;
case 518:
#line 3790 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 29271 "gram.c" /* yacc.c:1652 */
break;
case 519:
#line 3794 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].node)); }
#line 29277 "gram.c" /* yacc.c:1652 */
break;
case 520:
#line 3795 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
#line 29283 "gram.c" /* yacc.c:1652 */
break;
case 521:
#line 3799 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (Node *) makeString((yyvsp[0].str));
}
#line 29291 "gram.c" /* yacc.c:1652 */
break;
case 522:
#line 3804 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 29297 "gram.c" /* yacc.c:1652 */
break;
case 523:
#line 3805 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 29303 "gram.c" /* yacc.c:1652 */
break;
case 524:
#line 3809 "gram.y" /* yacc.c:1652 */
{
(yyval.ival) = FKCONSTR_MATCH_FULL;
}
#line 29311 "gram.c" /* yacc.c:1652 */
break;
case 525:
#line 3813 "gram.y" /* yacc.c:1652 */
{
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("MATCH PARTIAL not yet implemented"),
parser_errposition((yylsp[-1]))));
(yyval.ival) = FKCONSTR_MATCH_PARTIAL;
}
#line 29323 "gram.c" /* yacc.c:1652 */
break;
case 526:
#line 3821 "gram.y" /* yacc.c:1652 */
{
(yyval.ival) = FKCONSTR_MATCH_SIMPLE;
}
#line 29331 "gram.c" /* yacc.c:1652 */
break;
case 527:
#line 3825 "gram.y" /* yacc.c:1652 */
{
(yyval.ival) = FKCONSTR_MATCH_SIMPLE;
}
#line 29339 "gram.c" /* yacc.c:1652 */
break;
case 528:
#line 3831 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].list)); }
#line 29345 "gram.c" /* yacc.c:1652 */
break;
case 529:
#line 3833 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].list)); }
#line 29351 "gram.c" /* yacc.c:1652 */
break;
case 530:
#line 3837 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make2((yyvsp[-2].ielem), (yyvsp[0].list));
}
#line 29359 "gram.c" /* yacc.c:1652 */
break;
case 531:
#line 3842 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make2((yyvsp[-5].ielem), (yyvsp[-1].list));
}
#line 29367 "gram.c" /* yacc.c:1652 */
break;
case 532:
#line 3848 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[-1].node); }
#line 29373 "gram.c" /* yacc.c:1652 */
break;
case 533:
#line 3849 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = NULL; }
#line 29379 "gram.c" /* yacc.c:1652 */
break;
case 534:
#line 3860 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = ((yyvsp[0].ival) << 8) | (FKCONSTR_ACTION_NOACTION & 0xFF); }
#line 29385 "gram.c" /* yacc.c:1652 */
break;
case 535:
#line 3862 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = (FKCONSTR_ACTION_NOACTION << 8) | ((yyvsp[0].ival) & 0xFF); }
#line 29391 "gram.c" /* yacc.c:1652 */
break;
case 536:
#line 3864 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = ((yyvsp[-1].ival) << 8) | ((yyvsp[0].ival) & 0xFF); }
#line 29397 "gram.c" /* yacc.c:1652 */
break;
case 537:
#line 3866 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = ((yyvsp[0].ival) << 8) | ((yyvsp[-1].ival) & 0xFF); }
#line 29403 "gram.c" /* yacc.c:1652 */
break;
case 538:
#line 3868 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = (FKCONSTR_ACTION_NOACTION << 8) | (FKCONSTR_ACTION_NOACTION & 0xFF); }
#line 29409 "gram.c" /* yacc.c:1652 */
break;
case 539:
#line 3871 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = (yyvsp[0].ival); }
#line 29415 "gram.c" /* yacc.c:1652 */
break;
case 540:
#line 3874 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = (yyvsp[0].ival); }
#line 29421 "gram.c" /* yacc.c:1652 */
break;
case 541:
#line 3878 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = FKCONSTR_ACTION_NOACTION; }
#line 29427 "gram.c" /* yacc.c:1652 */
break;
case 542:
#line 3879 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = FKCONSTR_ACTION_RESTRICT; }
#line 29433 "gram.c" /* yacc.c:1652 */
break;
case 543:
#line 3880 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = FKCONSTR_ACTION_CASCADE; }
#line 29439 "gram.c" /* yacc.c:1652 */
break;
case 544:
#line 3881 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = FKCONSTR_ACTION_SETNULL; }
#line 29445 "gram.c" /* yacc.c:1652 */
break;
case 545:
#line 3882 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = FKCONSTR_ACTION_SETDEFAULT; }
#line 29451 "gram.c" /* yacc.c:1652 */
break;
case 546:
#line 3885 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 29457 "gram.c" /* yacc.c:1652 */
break;
case 547:
#line 3886 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 29463 "gram.c" /* yacc.c:1652 */
break;
case 548:
#line 3890 "gram.y" /* yacc.c:1652 */
{ (yyval.partspec) = (yyvsp[0].partspec); }
#line 29469 "gram.c" /* yacc.c:1652 */
break;
case 549:
#line 3891 "gram.y" /* yacc.c:1652 */
{ (yyval.partspec) = NULL; }
#line 29475 "gram.c" /* yacc.c:1652 */
break;
case 550:
#line 3895 "gram.y" /* yacc.c:1652 */
{
PartitionSpec *n = makeNode(PartitionSpec);
n->strategy = (yyvsp[-3].str);
n->partParams = (yyvsp[-1].list);
n->location = (yylsp[-5]);
(yyval.partspec) = n;
}
#line 29489 "gram.c" /* yacc.c:1652 */
break;
case 551:
#line 3906 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 29495 "gram.c" /* yacc.c:1652 */
break;
case 552:
#line 3907 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = pstrdup((yyvsp[0].keyword)); }
#line 29501 "gram.c" /* yacc.c:1652 */
break;
case 553:
#line 3910 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].partelem)); }
#line 29507 "gram.c" /* yacc.c:1652 */
break;
case 554:
#line 3911 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].partelem)); }
#line 29513 "gram.c" /* yacc.c:1652 */
break;
case 555:
#line 3915 "gram.y" /* yacc.c:1652 */
{
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 29528 "gram.c" /* yacc.c:1652 */
break;
case 556:
#line 3926 "gram.y" /* yacc.c:1652 */
{
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 29543 "gram.c" /* yacc.c:1652 */
break;
case 557:
#line 3937 "gram.y" /* yacc.c:1652 */
{
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 29558 "gram.c" /* yacc.c:1652 */
break;
case 558:
#line 3950 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 29564 "gram.c" /* yacc.c:1652 */
break;
case 559:
#line 3951 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1(makeDefElem("oids", (Node *) makeInteger(true), (yylsp[-1]))); }
#line 29570 "gram.c" /* yacc.c:1652 */
break;
case 560:
#line 3952 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1(makeDefElem("oids", (Node *) makeInteger(false), (yylsp[-1]))); }
#line 29576 "gram.c" /* yacc.c:1652 */
break;
case 561:
#line 3953 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 29582 "gram.c" /* yacc.c:1652 */
break;
case 562:
#line 3956 "gram.y" /* yacc.c:1652 */
{ (yyval.oncommit) = ONCOMMIT_DROP; }
#line 29588 "gram.c" /* yacc.c:1652 */
break;
case 563:
#line 3957 "gram.y" /* yacc.c:1652 */
{ (yyval.oncommit) = ONCOMMIT_DELETE_ROWS; }
#line 29594 "gram.c" /* yacc.c:1652 */
break;
case 564:
#line 3958 "gram.y" /* yacc.c:1652 */
{ (yyval.oncommit) = ONCOMMIT_PRESERVE_ROWS; }
#line 29600 "gram.c" /* yacc.c:1652 */
break;
case 565:
#line 3959 "gram.y" /* yacc.c:1652 */
{ (yyval.oncommit) = ONCOMMIT_NOOP; }
#line 29606 "gram.c" /* yacc.c:1652 */
break;
case 566:
#line 3962 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 29612 "gram.c" /* yacc.c:1652 */
break;
case 567:
#line 3963 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = NULL; }
#line 29618 "gram.c" /* yacc.c:1652 */
break;
case 568:
#line 3966 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 29624 "gram.c" /* yacc.c:1652 */
break;
case 569:
#line 3967 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = NULL; }
#line 29630 "gram.c" /* yacc.c:1652 */
break;
case 570:
#line 3970 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 29636 "gram.c" /* yacc.c:1652 */
break;
case 571:
#line 3990 "gram.y" /* yacc.c:1652 */
{
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 29651 "gram.c" /* yacc.c:1652 */
break;
case 572:
#line 4002 "gram.y" /* yacc.c:1652 */
{
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 29666 "gram.c" /* yacc.c:1652 */
break;
case 573:
#line 4026 "gram.y" /* yacc.c:1652 */
{
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 29683 "gram.c" /* yacc.c:1652 */
break;
case 574:
#line 4039 "gram.y" /* yacc.c:1652 */
{
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 29700 "gram.c" /* yacc.c:1652 */
break;
case 575:
#line 4055 "gram.y" /* yacc.c:1652 */
{
(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 29715 "gram.c" /* yacc.c:1652 */
break;
case 576:
#line 4068 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = true; }
#line 29721 "gram.c" /* yacc.c:1652 */
break;
case 577:
#line 4069 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 29727 "gram.c" /* yacc.c:1652 */
break;
case 578:
#line 4070 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = true; }
#line 29733 "gram.c" /* yacc.c:1652 */
break;
case 579:
#line 4083 "gram.y" /* yacc.c:1652 */
{
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 29750 "gram.c" /* yacc.c:1652 */
break;
case 580:
#line 4096 "gram.y" /* yacc.c:1652 */
{
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 29767 "gram.c" /* yacc.c:1652 */
break;
case 581:
#line 4112 "gram.y" /* yacc.c:1652 */
{
(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 29782 "gram.c" /* yacc.c:1652 */
break;
case 582:
#line 4124 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = RELPERSISTENCE_UNLOGGED; }
#line 29788 "gram.c" /* yacc.c:1652 */
break;
case 583:
#line 4125 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = RELPERSISTENCE_PERMANENT; }
#line 29794 "gram.c" /* yacc.c:1652 */
break;
case 584:
#line 4138 "gram.y" /* yacc.c:1652 */
{
RefreshMatViewStmt *n = makeNode(RefreshMatViewStmt);
n->concurrent = (yyvsp[-2].boolean);
n->relation = (yyvsp[-1].range);
n->skipData = !((yyvsp[0].boolean));
(yyval.node) = (Node *) n;
}
#line 29806 "gram.c" /* yacc.c:1652 */
break;
case 585:
#line 4158 "gram.y" /* yacc.c:1652 */
{
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 29820 "gram.c" /* yacc.c:1652 */
break;
case 586:
#line 4168 "gram.y" /* yacc.c:1652 */
{
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 29834 "gram.c" /* yacc.c:1652 */
break;
case 587:
#line 4181 "gram.y" /* yacc.c:1652 */
{
AlterSeqStmt *n = makeNode(AlterSeqStmt);
n->sequence = (yyvsp[-1].range);
n->options = (yyvsp[0].list);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 29846 "gram.c" /* yacc.c:1652 */
break;
case 588:
#line 4189 "gram.y" /* yacc.c:1652 */
{
AlterSeqStmt *n = makeNode(AlterSeqStmt);
n->sequence = (yyvsp[-1].range);
n->options = (yyvsp[0].list);
n->missing_ok = true;
(yyval.node) = (Node *)n;
}
#line 29858 "gram.c" /* yacc.c:1652 */
break;
case 589:
#line 4199 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 29864 "gram.c" /* yacc.c:1652 */
break;
case 590:
#line 4200 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 29870 "gram.c" /* yacc.c:1652 */
break;
case 591:
#line 4203 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 29876 "gram.c" /* yacc.c:1652 */
break;
case 592:
#line 4204 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 29882 "gram.c" /* yacc.c:1652 */
break;
case 593:
#line 4207 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].defelt)); }
#line 29888 "gram.c" /* yacc.c:1652 */
break;
case 594:
#line 4208 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
#line 29894 "gram.c" /* yacc.c:1652 */
break;
case 595:
#line 4212 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("as", (Node *)(yyvsp[0].typnam), (yylsp[-1]));
}
#line 29902 "gram.c" /* yacc.c:1652 */
break;
case 596:
#line 4216 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("cache", (Node *)(yyvsp[0].value), (yylsp[-1]));
}
#line 29910 "gram.c" /* yacc.c:1652 */
break;
case 597:
#line 4220 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("cycle", (Node *)makeInteger(true), (yylsp[0]));
}
#line 29918 "gram.c" /* yacc.c:1652 */
break;
case 598:
#line 4224 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("cycle", (Node *)makeInteger(false), (yylsp[-1]));
}
#line 29926 "gram.c" /* yacc.c:1652 */
break;
case 599:
#line 4228 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("increment", (Node *)(yyvsp[0].value), (yylsp[-2]));
}
#line 29934 "gram.c" /* yacc.c:1652 */
break;
case 600:
#line 4232 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("maxvalue", (Node *)(yyvsp[0].value), (yylsp[-1]));
}
#line 29942 "gram.c" /* yacc.c:1652 */
break;
case 601:
#line 4236 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("minvalue", (Node *)(yyvsp[0].value), (yylsp[-1]));
}
#line 29950 "gram.c" /* yacc.c:1652 */
break;
case 602:
#line 4240 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("maxvalue", NULL, (yylsp[-1]));
}
#line 29958 "gram.c" /* yacc.c:1652 */
break;
case 603:
#line 4244 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("minvalue", NULL, (yylsp[-1]));
}
#line 29966 "gram.c" /* yacc.c:1652 */
break;
case 604:
#line 4248 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("owned_by", (Node *)(yyvsp[0].list), (yylsp[-2]));
}
#line 29974 "gram.c" /* yacc.c:1652 */
break;
case 605:
#line 4252 "gram.y" /* yacc.c:1652 */
{
/* not documented, only used by pg_dump */
(yyval.defelt) = makeDefElem("sequence_name", (Node *)(yyvsp[0].list), (yylsp[-2]));
}
#line 29983 "gram.c" /* yacc.c:1652 */
break;
case 606:
#line 4257 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("start", (Node *)(yyvsp[0].value), (yylsp[-2]));
}
#line 29991 "gram.c" /* yacc.c:1652 */
break;
case 607:
#line 4261 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("restart", NULL, (yylsp[0]));
}
#line 29999 "gram.c" /* yacc.c:1652 */
break;
case 608:
#line 4265 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("restart", (Node *)(yyvsp[0].value), (yylsp[-2]));
}
#line 30007 "gram.c" /* yacc.c:1652 */
break;
case 609:
#line 4270 "gram.y" /* yacc.c:1652 */
{}
#line 30013 "gram.c" /* yacc.c:1652 */
break;
case 610:
#line 4271 "gram.y" /* yacc.c:1652 */
{}
#line 30019 "gram.c" /* yacc.c:1652 */
break;
case 611:
#line 4275 "gram.y" /* yacc.c:1652 */
{ (yyval.value) = makeFloat((yyvsp[0].str)); }
#line 30025 "gram.c" /* yacc.c:1652 */
break;
case 612:
#line 4276 "gram.y" /* yacc.c:1652 */
{ (yyval.value) = makeFloat((yyvsp[0].str)); }
#line 30031 "gram.c" /* yacc.c:1652 */
break;
case 613:
#line 4278 "gram.y" /* yacc.c:1652 */
{
(yyval.value) = makeFloat((yyvsp[0].str));
doNegateFloat((yyval.value));
}
#line 30040 "gram.c" /* yacc.c:1652 */
break;
case 614:
#line 4282 "gram.y" /* yacc.c:1652 */
{ (yyval.value) = makeInteger((yyvsp[0].ival)); }
#line 30046 "gram.c" /* yacc.c:1652 */
break;
case 615:
#line 4285 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].value)); }
#line 30052 "gram.c" /* yacc.c:1652 */
break;
case 616:
#line 4286 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].value)); }
#line 30058 "gram.c" /* yacc.c:1652 */
break;
case 617:
#line 4299 "gram.y" /* yacc.c:1652 */
{
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 30074 "gram.c" /* yacc.c:1652 */
break;
case 618:
#line 4312 "gram.y" /* yacc.c:1652 */
{
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 30089 "gram.c" /* yacc.c:1652 */
break;
case 619:
#line 4325 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = true; }
#line 30095 "gram.c" /* yacc.c:1652 */
break;
case 620:
#line 4326 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 30101 "gram.c" /* yacc.c:1652 */
break;
case 621:
#line 4334 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
#line 30107 "gram.c" /* yacc.c:1652 */
break;
case 622:
#line 4335 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)); }
#line 30113 "gram.c" /* yacc.c:1652 */
break;
case 623:
#line 4339 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 30119 "gram.c" /* yacc.c:1652 */
break;
case 624:
#line 4340 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 30125 "gram.c" /* yacc.c:1652 */
break;
case 625:
#line 4344 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 30131 "gram.c" /* yacc.c:1652 */
break;
case 626:
#line 4345 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 30137 "gram.c" /* yacc.c:1652 */
break;
case 627:
#line 4349 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 30143 "gram.c" /* yacc.c:1652 */
break;
case 628:
#line 4350 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 30149 "gram.c" /* yacc.c:1652 */
break;
case 629:
#line 4355 "gram.y" /* yacc.c:1652 */
{
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 30163 "gram.c" /* yacc.c:1652 */
break;
case 630:
#line 4365 "gram.y" /* yacc.c:1652 */
{
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 30177 "gram.c" /* yacc.c:1652 */
break;
case 631:
#line 4377 "gram.y" /* yacc.c:1652 */
{}
#line 30183 "gram.c" /* yacc.c:1652 */
break;
case 632:
#line 4378 "gram.y" /* yacc.c:1652 */
{}
#line 30189 "gram.c" /* yacc.c:1652 */
break;
case 633:
#line 4389 "gram.y" /* yacc.c:1652 */
{
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 30202 "gram.c" /* yacc.c:1652 */
break;
case 634:
#line 4399 "gram.y" /* yacc.c:1652 */
{ (yyval.rolespec) = (yyvsp[0].rolespec); }
#line 30208 "gram.c" /* yacc.c:1652 */
break;
case 635:
#line 4400 "gram.y" /* yacc.c:1652 */
{ (yyval.rolespec) = NULL; }
#line 30214 "gram.c" /* yacc.c:1652 */
break;
case 636:
#line 4414 "gram.y" /* yacc.c:1652 */
{
DropTableSpaceStmt *n = makeNode(DropTableSpaceStmt);
n->tablespacename = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *) n;
}
#line 30225 "gram.c" /* yacc.c:1652 */
break;
case 637:
#line 4421 "gram.y" /* yacc.c:1652 */
{
DropTableSpaceStmt *n = makeNode(DropTableSpaceStmt);
n->tablespacename = (yyvsp[0].str);
n->missing_ok = true;
(yyval.node) = (Node *) n;
}
#line 30236 "gram.c" /* yacc.c:1652 */
break;
case 638:
#line 4438 "gram.y" /* yacc.c:1652 */
{
CreateExtensionStmt *n = makeNode(CreateExtensionStmt);
n->extname = (yyvsp[-2].str);
n->if_not_exists = false;
n->options = (yyvsp[0].list);
(yyval.node) = (Node *) n;
}
#line 30248 "gram.c" /* yacc.c:1652 */
break;
case 639:
#line 4446 "gram.y" /* yacc.c:1652 */
{
CreateExtensionStmt *n = makeNode(CreateExtensionStmt);
n->extname = (yyvsp[-2].str);
n->if_not_exists = true;
n->options = (yyvsp[0].list);
(yyval.node) = (Node *) n;
}
#line 30260 "gram.c" /* yacc.c:1652 */
break;
case 640:
#line 4457 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
#line 30266 "gram.c" /* yacc.c:1652 */
break;
case 641:
#line 4459 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 30272 "gram.c" /* yacc.c:1652 */
break;
case 642:
#line 4464 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("schema", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
}
#line 30280 "gram.c" /* yacc.c:1652 */
break;
case 643:
#line 4468 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("new_version", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
}
#line 30288 "gram.c" /* yacc.c:1652 */
break;
case 644:
#line 4472 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("old_version", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
}
#line 30296 "gram.c" /* yacc.c:1652 */
break;
case 645:
#line 4476 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("cascade", (Node *)makeInteger(true), (yylsp[0]));
}
#line 30304 "gram.c" /* yacc.c:1652 */
break;
case 646:
#line 4488 "gram.y" /* yacc.c:1652 */
{
AlterExtensionStmt *n = makeNode(AlterExtensionStmt);
n->extname = (yyvsp[-2].str);
n->options = (yyvsp[0].list);
(yyval.node) = (Node *) n;
}
#line 30315 "gram.c" /* yacc.c:1652 */
break;
case 647:
#line 4498 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
#line 30321 "gram.c" /* yacc.c:1652 */
break;
case 648:
#line 4500 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 30327 "gram.c" /* yacc.c:1652 */
break;
case 649:
#line 4505 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("new_version", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
}
#line 30335 "gram.c" /* yacc.c:1652 */
break;
case 650:
#line 4518 "gram.y" /* yacc.c:1652 */
{
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 30348 "gram.c" /* yacc.c:1652 */
break;
case 651:
#line 4527 "gram.y" /* yacc.c:1652 */
{
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 30361 "gram.c" /* yacc.c:1652 */
break;
case 652:
#line 4536 "gram.y" /* yacc.c:1652 */
{
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 30374 "gram.c" /* yacc.c:1652 */
break;
case 653:
#line 4545 "gram.y" /* yacc.c:1652 */
{
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 30387 "gram.c" /* yacc.c:1652 */
break;
case 654:
#line 4554 "gram.y" /* yacc.c:1652 */
{
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 30400 "gram.c" /* yacc.c:1652 */
break;
case 655:
#line 4563 "gram.y" /* yacc.c:1652 */
{
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 30413 "gram.c" /* yacc.c:1652 */
break;
case 656:
#line 4572 "gram.y" /* yacc.c:1652 */
{
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 30426 "gram.c" /* yacc.c:1652 */
break;
case 657:
#line 4581 "gram.y" /* yacc.c:1652 */
{
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 30439 "gram.c" /* yacc.c:1652 */
break;
case 658:
#line 4590 "gram.y" /* yacc.c:1652 */
{
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 30452 "gram.c" /* yacc.c:1652 */
break;
case 659:
#line 4599 "gram.y" /* yacc.c:1652 */
{
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 30465 "gram.c" /* yacc.c:1652 */
break;
case 660:
#line 4608 "gram.y" /* yacc.c:1652 */
{
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 30478 "gram.c" /* yacc.c:1652 */
break;
case 661:
#line 4617 "gram.y" /* yacc.c:1652 */
{
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 30491 "gram.c" /* yacc.c:1652 */
break;
case 662:
#line 4626 "gram.y" /* yacc.c:1652 */
{
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 30504 "gram.c" /* yacc.c:1652 */
break;
case 663:
#line 4635 "gram.y" /* yacc.c:1652 */
{
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 30517 "gram.c" /* yacc.c:1652 */
break;
case 664:
#line 4644 "gram.y" /* yacc.c:1652 */
{
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 30530 "gram.c" /* yacc.c:1652 */
break;
case 665:
#line 4653 "gram.y" /* yacc.c:1652 */
{
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 30543 "gram.c" /* yacc.c:1652 */
break;
case 666:
#line 4662 "gram.y" /* yacc.c:1652 */
{
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 30556 "gram.c" /* yacc.c:1652 */
break;
case 667:
#line 4671 "gram.y" /* yacc.c:1652 */
{
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 30569 "gram.c" /* yacc.c:1652 */
break;
case 668:
#line 4680 "gram.y" /* yacc.c:1652 */
{
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 30582 "gram.c" /* yacc.c:1652 */
break;
case 669:
#line 4689 "gram.y" /* yacc.c:1652 */
{
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 30595 "gram.c" /* yacc.c:1652 */
break;
case 670:
#line 4698 "gram.y" /* yacc.c:1652 */
{
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 30608 "gram.c" /* yacc.c:1652 */
break;
case 671:
#line 4707 "gram.y" /* yacc.c:1652 */
{
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 30621 "gram.c" /* yacc.c:1652 */
break;
case 672:
#line 4716 "gram.y" /* yacc.c:1652 */
{
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 30634 "gram.c" /* yacc.c:1652 */
break;
case 673:
#line 4725 "gram.y" /* yacc.c:1652 */
{
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 30647 "gram.c" /* yacc.c:1652 */
break;
case 674:
#line 4734 "gram.y" /* yacc.c:1652 */
{
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 30660 "gram.c" /* yacc.c:1652 */
break;
case 675:
#line 4743 "gram.y" /* yacc.c:1652 */
{
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 30673 "gram.c" /* yacc.c:1652 */
break;
case 676:
#line 4752 "gram.y" /* yacc.c:1652 */
{
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 30686 "gram.c" /* yacc.c:1652 */
break;
case 677:
#line 4761 "gram.y" /* yacc.c:1652 */
{
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 30699 "gram.c" /* yacc.c:1652 */
break;
case 678:
#line 4779 "gram.y" /* yacc.c:1652 */
{
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 30711 "gram.c" /* yacc.c:1652 */
break;
case 679:
#line 4789 "gram.y" /* yacc.c:1652 */
{ (yyval.defelt) = makeDefElem("handler", (Node *)(yyvsp[0].list), (yylsp[-1])); }
#line 30717 "gram.c" /* yacc.c:1652 */
break;
case 680:
#line 4790 "gram.y" /* yacc.c:1652 */
{ (yyval.defelt) = makeDefElem("handler", NULL, (yylsp[-1])); }
#line 30723 "gram.c" /* yacc.c:1652 */
break;
case 681:
#line 4791 "gram.y" /* yacc.c:1652 */
{ (yyval.defelt) = makeDefElem("validator", (Node *)(yyvsp[0].list), (yylsp[-1])); }
#line 30729 "gram.c" /* yacc.c:1652 */
break;
case 682:
#line 4792 "gram.y" /* yacc.c:1652 */
{ (yyval.defelt) = makeDefElem("validator", NULL, (yylsp[-1])); }
#line 30735 "gram.c" /* yacc.c:1652 */
break;
case 683:
#line 4796 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].defelt)); }
#line 30741 "gram.c" /* yacc.c:1652 */
break;
case 684:
#line 4797 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
#line 30747 "gram.c" /* yacc.c:1652 */
break;
case 685:
#line 4801 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 30753 "gram.c" /* yacc.c:1652 */
break;
case 686:
#line 4802 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 30759 "gram.c" /* yacc.c:1652 */
break;
case 687:
#line 4813 "gram.y" /* yacc.c:1652 */
{
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 30771 "gram.c" /* yacc.c:1652 */
break;
case 688:
#line 4821 "gram.y" /* yacc.c:1652 */
{
AlterFdwStmt *n = makeNode(AlterFdwStmt);
n->fdwname = (yyvsp[-1].str);
n->func_options = (yyvsp[0].list);
n->options = NIL;
(yyval.node) = (Node *) n;
}
#line 30783 "gram.c" /* yacc.c:1652 */
break;
case 689:
#line 4832 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 30789 "gram.c" /* yacc.c:1652 */
break;
case 690:
#line 4833 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 30795 "gram.c" /* yacc.c:1652 */
break;
case 691:
#line 4838 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make1((yyvsp[0].defelt));
}
#line 30803 "gram.c" /* yacc.c:1652 */
break;
case 692:
#line 4842 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
}
#line 30811 "gram.c" /* yacc.c:1652 */
break;
case 693:
#line 4849 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 30817 "gram.c" /* yacc.c:1652 */
break;
case 694:
#line 4854 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make1((yyvsp[0].defelt));
}
#line 30825 "gram.c" /* yacc.c:1652 */
break;
case 695:
#line 4858 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
}
#line 30833 "gram.c" /* yacc.c:1652 */
break;
case 696:
#line 4865 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = (yyvsp[0].defelt);
}
#line 30841 "gram.c" /* yacc.c:1652 */
break;
case 697:
#line 4869 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = (yyvsp[0].defelt);
(yyval.defelt)->defaction = DEFELEM_SET;
}
#line 30850 "gram.c" /* yacc.c:1652 */
break;
case 698:
#line 4874 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = (yyvsp[0].defelt);
(yyval.defelt)->defaction = DEFELEM_ADD;
}
#line 30859 "gram.c" /* yacc.c:1652 */
break;
case 699:
#line 4879 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElemExtended(NULL, (yyvsp[0].str), NULL, DEFELEM_DROP, (yylsp[0]));
}
#line 30867 "gram.c" /* yacc.c:1652 */
break;
case 700:
#line 4886 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1]));
}
#line 30875 "gram.c" /* yacc.c:1652 */
break;
case 701:
#line 4892 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 30881 "gram.c" /* yacc.c:1652 */
break;
case 702:
#line 4897 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
#line 30887 "gram.c" /* yacc.c:1652 */
break;
case 703:
#line 4909 "gram.y" /* yacc.c:1652 */
{
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 30902 "gram.c" /* yacc.c:1652 */
break;
case 704:
#line 4921 "gram.y" /* yacc.c:1652 */
{
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 30917 "gram.c" /* yacc.c:1652 */
break;
case 705:
#line 4934 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 30923 "gram.c" /* yacc.c:1652 */
break;
case 706:
#line 4935 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = NULL; }
#line 30929 "gram.c" /* yacc.c:1652 */
break;
case 707:
#line 4940 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 30935 "gram.c" /* yacc.c:1652 */
break;
case 708:
#line 4941 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = NULL; }
#line 30941 "gram.c" /* yacc.c:1652 */
break;
case 709:
#line 4945 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 30947 "gram.c" /* yacc.c:1652 */
break;
case 710:
#line 4946 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = NULL; }
#line 30953 "gram.c" /* yacc.c:1652 */
break;
case 711:
#line 4957 "gram.y" /* yacc.c:1652 */
{
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 30966 "gram.c" /* yacc.c:1652 */
break;
case 712:
#line 4966 "gram.y" /* yacc.c:1652 */
{
AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
n->servername = (yyvsp[-1].str);
n->version = (yyvsp[0].str);
n->has_version = true;
(yyval.node) = (Node *) n;
}
#line 30978 "gram.c" /* yacc.c:1652 */
break;
case 713:
#line 4974 "gram.y" /* yacc.c:1652 */
{
AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
n->servername = (yyvsp[-1].str);
n->options = (yyvsp[0].list);
(yyval.node) = (Node *) n;
}
#line 30989 "gram.c" /* yacc.c:1652 */
break;
case 714:
#line 4993 "gram.y" /* yacc.c:1652 */
{
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 31011 "gram.c" /* yacc.c:1652 */
break;
case 715:
#line 5013 "gram.y" /* yacc.c:1652 */
{
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 31033 "gram.c" /* yacc.c:1652 */
break;
case 716:
#line 5033 "gram.y" /* yacc.c:1652 */
{
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 31056 "gram.c" /* yacc.c:1652 */
break;
case 717:
#line 5054 "gram.y" /* yacc.c:1652 */
{
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 31079 "gram.c" /* yacc.c:1652 */
break;
case 718:
#line 5083 "gram.y" /* yacc.c:1652 */
{
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 31092 "gram.c" /* yacc.c:1652 */
break;
case 719:
#line 5092 "gram.y" /* yacc.c:1652 */
{
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 31105 "gram.c" /* yacc.c:1652 */
break;
case 720:
#line 5114 "gram.y" /* yacc.c:1652 */
{
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 31120 "gram.c" /* yacc.c:1652 */
break;
case 721:
#line 5127 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = FDW_IMPORT_SCHEMA_LIMIT_TO; }
#line 31126 "gram.c" /* yacc.c:1652 */
break;
case 722:
#line 5128 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = FDW_IMPORT_SCHEMA_EXCEPT; }
#line 31132 "gram.c" /* yacc.c:1652 */
break;
case 723:
#line 5133 "gram.y" /* yacc.c:1652 */
{
ImportQual *n = (ImportQual *) palloc(sizeof(ImportQual));
n->type = (yyvsp[-3].ival);
n->table_names = (yyvsp[-1].list);
(yyval.importqual) = n;
}
#line 31143 "gram.c" /* yacc.c:1652 */
break;
case 724:
#line 5140 "gram.y" /* yacc.c:1652 */
{
ImportQual *n = (ImportQual *) palloc(sizeof(ImportQual));
n->type = FDW_IMPORT_SCHEMA_ALL;
n->table_names = NIL;
(yyval.importqual) = n;
}
#line 31154 "gram.c" /* yacc.c:1652 */
break;
case 725:
#line 5156 "gram.y" /* yacc.c:1652 */
{
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 31167 "gram.c" /* yacc.c:1652 */
break;
case 726:
#line 5165 "gram.y" /* yacc.c:1652 */
{
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 31180 "gram.c" /* yacc.c:1652 */
break;
case 727:
#line 5176 "gram.y" /* yacc.c:1652 */
{ (yyval.rolespec) = (yyvsp[0].rolespec); }
#line 31186 "gram.c" /* yacc.c:1652 */
break;
case 728:
#line 5177 "gram.y" /* yacc.c:1652 */
{ (yyval.rolespec) = makeRoleSpec(ROLESPEC_CURRENT_USER, (yylsp[0])); }
#line 31192 "gram.c" /* yacc.c:1652 */
break;
case 729:
#line 5190 "gram.y" /* yacc.c:1652 */
{
DropUserMappingStmt *n = makeNode(DropUserMappingStmt);
n->user = (yyvsp[-2].rolespec);
n->servername = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *) n;
}
#line 31204 "gram.c" /* yacc.c:1652 */
break;
case 730:
#line 5198 "gram.y" /* yacc.c:1652 */
{
DropUserMappingStmt *n = makeNode(DropUserMappingStmt);
n->user = (yyvsp[-2].rolespec);
n->servername = (yyvsp[0].str);
n->missing_ok = true;
(yyval.node) = (Node *) n;
}
#line 31216 "gram.c" /* yacc.c:1652 */
break;
case 731:
#line 5215 "gram.y" /* yacc.c:1652 */
{
AlterUserMappingStmt *n = makeNode(AlterUserMappingStmt);
n->user = (yyvsp[-3].rolespec);
n->servername = (yyvsp[-1].str);
n->options = (yyvsp[0].list);
(yyval.node) = (Node *) n;
}
#line 31228 "gram.c" /* yacc.c:1652 */
break;
case 732:
#line 5241 "gram.y" /* yacc.c:1652 */
{
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 31244 "gram.c" /* yacc.c:1652 */
break;
case 733:
#line 5257 "gram.y" /* yacc.c:1652 */
{
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 31258 "gram.c" /* yacc.c:1652 */
break;
case 734:
#line 5269 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[-1].node); }
#line 31264 "gram.c" /* yacc.c:1652 */
break;
case 735:
#line 5270 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = NULL; }
#line 31270 "gram.c" /* yacc.c:1652 */
break;
case 736:
#line 5274 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[-1].node); }
#line 31276 "gram.c" /* yacc.c:1652 */
break;
case 737:
#line 5275 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = NULL; }
#line 31282 "gram.c" /* yacc.c:1652 */
break;
case 738:
#line 5279 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 31288 "gram.c" /* yacc.c:1652 */
break;
case 739:
#line 5280 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1(makeRoleSpec(ROLESPEC_PUBLIC, -1)); }
#line 31294 "gram.c" /* yacc.c:1652 */
break;
case 740:
#line 5284 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 31300 "gram.c" /* yacc.c:1652 */
break;
case 741:
#line 5285 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NULL; }
#line 31306 "gram.c" /* yacc.c:1652 */
break;
case 742:
#line 5290 "gram.y" /* yacc.c:1652 */
{
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 31324 "gram.c" /* yacc.c:1652 */
break;
case 743:
#line 5303 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = true; }
#line 31330 "gram.c" /* yacc.c:1652 */
break;
case 744:
#line 5307 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 31336 "gram.c" /* yacc.c:1652 */
break;
case 745:
#line 5308 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = "all"; }
#line 31342 "gram.c" /* yacc.c:1652 */
break;
case 746:
#line 5312 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = "all"; }
#line 31348 "gram.c" /* yacc.c:1652 */
break;
case 747:
#line 5313 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = "select"; }
#line 31354 "gram.c" /* yacc.c:1652 */
break;
case 748:
#line 5314 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = "insert"; }
#line 31360 "gram.c" /* yacc.c:1652 */
break;
case 749:
#line 5315 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = "update"; }
#line 31366 "gram.c" /* yacc.c:1652 */
break;
case 750:
#line 5316 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = "delete"; }
#line 31372 "gram.c" /* yacc.c:1652 */
break;
case 751:
#line 5327 "gram.y" /* yacc.c:1652 */
{
CreateAmStmt *n = makeNode(CreateAmStmt);
n->amname = (yyvsp[-4].str);
n->handler_name = (yyvsp[0].list);
n->amtype = AMTYPE_INDEX;
(yyval.node) = (Node *) n;
}
#line 31384 "gram.c" /* yacc.c:1652 */
break;
case 752:
#line 5347 "gram.y" /* yacc.c:1652 */
{
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 31407 "gram.c" /* yacc.c:1652 */
break;
case 753:
#line 5369 "gram.y" /* yacc.c:1652 */
{
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 31431 "gram.c" /* yacc.c:1652 */
break;
case 754:
#line 5391 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = TRIGGER_TYPE_BEFORE; }
#line 31437 "gram.c" /* yacc.c:1652 */
break;
case 755:
#line 5392 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = TRIGGER_TYPE_AFTER; }
#line 31443 "gram.c" /* yacc.c:1652 */
break;
case 756:
#line 5393 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = TRIGGER_TYPE_INSTEAD; }
#line 31449 "gram.c" /* yacc.c:1652 */
break;
case 757:
#line 5398 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 31455 "gram.c" /* yacc.c:1652 */
break;
case 758:
#line 5400 "gram.y" /* yacc.c:1652 */
{
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 31478 "gram.c" /* yacc.c:1652 */
break;
case 759:
#line 5422 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_INSERT), NIL); }
#line 31484 "gram.c" /* yacc.c:1652 */
break;
case 760:
#line 5424 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_DELETE), NIL); }
#line 31490 "gram.c" /* yacc.c:1652 */
break;
case 761:
#line 5426 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_UPDATE), NIL); }
#line 31496 "gram.c" /* yacc.c:1652 */
break;
case 762:
#line 5428 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_UPDATE), (yyvsp[0].list)); }
#line 31502 "gram.c" /* yacc.c:1652 */
break;
case 763:
#line 5430 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_TRUNCATE), NIL); }
#line 31508 "gram.c" /* yacc.c:1652 */
break;
case 764:
#line 5434 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 31514 "gram.c" /* yacc.c:1652 */
break;
case 765:
#line 5435 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 31520 "gram.c" /* yacc.c:1652 */
break;
case 766:
#line 5439 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].node)); }
#line 31526 "gram.c" /* yacc.c:1652 */
break;
case 767:
#line 5440 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
#line 31532 "gram.c" /* yacc.c:1652 */
break;
case 768:
#line 5445 "gram.y" /* yacc.c:1652 */
{
TriggerTransition *n = makeNode(TriggerTransition);
n->name = (yyvsp[0].str);
n->isNew = (yyvsp[-3].boolean);
n->isTable = (yyvsp[-2].boolean);
(yyval.node) = (Node *)n;
}
#line 31544 "gram.c" /* yacc.c:1652 */
break;
case 769:
#line 5455 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = true; }
#line 31550 "gram.c" /* yacc.c:1652 */
break;
case 770:
#line 5456 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 31556 "gram.c" /* yacc.c:1652 */
break;
case 771:
#line 5460 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = true; }
#line 31562 "gram.c" /* yacc.c:1652 */
break;
case 772:
#line 5469 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 31568 "gram.c" /* yacc.c:1652 */
break;
case 773:
#line 5473 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 31574 "gram.c" /* yacc.c:1652 */
break;
case 774:
#line 5478 "gram.y" /* yacc.c:1652 */
{
(yyval.boolean) = (yyvsp[0].boolean);
}
#line 31582 "gram.c" /* yacc.c:1652 */
break;
case 775:
#line 5482 "gram.y" /* yacc.c:1652 */
{
/*
* If ROW/STATEMENT not specified, default to
* STATEMENT, per SQL
*/
(yyval.boolean) = false;
}
#line 31594 "gram.c" /* yacc.c:1652 */
break;
case 776:
#line 5492 "gram.y" /* yacc.c:1652 */
{}
#line 31600 "gram.c" /* yacc.c:1652 */
break;
case 777:
#line 5493 "gram.y" /* yacc.c:1652 */
{}
#line 31606 "gram.c" /* yacc.c:1652 */
break;
case 778:
#line 5497 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = true; }
#line 31612 "gram.c" /* yacc.c:1652 */
break;
case 779:
#line 5498 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 31618 "gram.c" /* yacc.c:1652 */
break;
case 780:
#line 5502 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[-1].node); }
#line 31624 "gram.c" /* yacc.c:1652 */
break;
case 781:
#line 5503 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = NULL; }
#line 31630 "gram.c" /* yacc.c:1652 */
break;
case 784:
#line 5512 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].value)); }
#line 31636 "gram.c" /* yacc.c:1652 */
break;
case 785:
#line 5513 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].value)); }
#line 31642 "gram.c" /* yacc.c:1652 */
break;
case 786:
#line 5514 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 31648 "gram.c" /* yacc.c:1652 */
break;
case 787:
#line 5519 "gram.y" /* yacc.c:1652 */
{
(yyval.value) = makeString(psprintf("%d", (yyvsp[0].ival)));
}
#line 31656 "gram.c" /* yacc.c:1652 */
break;
case 788:
#line 5522 "gram.y" /* yacc.c:1652 */
{ (yyval.value) = makeString((yyvsp[0].str)); }
#line 31662 "gram.c" /* yacc.c:1652 */
break;
case 789:
#line 5523 "gram.y" /* yacc.c:1652 */
{ (yyval.value) = makeString((yyvsp[0].str)); }
#line 31668 "gram.c" /* yacc.c:1652 */
break;
case 790:
#line 5524 "gram.y" /* yacc.c:1652 */
{ (yyval.value) = makeString((yyvsp[0].str)); }
#line 31674 "gram.c" /* yacc.c:1652 */
break;
case 791:
#line 5528 "gram.y" /* yacc.c:1652 */
{ (yyval.range) = (yyvsp[0].range); }
#line 31680 "gram.c" /* yacc.c:1652 */
break;
case 792:
#line 5529 "gram.y" /* yacc.c:1652 */
{ (yyval.range) = NULL; }
#line 31686 "gram.c" /* yacc.c:1652 */
break;
case 793:
#line 5534 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = 0; }
#line 31692 "gram.c" /* yacc.c:1652 */
break;
case 794:
#line 5536 "gram.y" /* yacc.c:1652 */
{
/*
* 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 31720 "gram.c" /* yacc.c:1652 */
break;
case 795:
#line 5562 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = CAS_NOT_DEFERRABLE; }
#line 31726 "gram.c" /* yacc.c:1652 */
break;
case 796:
#line 5563 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = CAS_DEFERRABLE; }
#line 31732 "gram.c" /* yacc.c:1652 */
break;
case 797:
#line 5564 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = CAS_INITIALLY_IMMEDIATE; }
#line 31738 "gram.c" /* yacc.c:1652 */
break;
case 798:
#line 5565 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = CAS_INITIALLY_DEFERRED; }
#line 31744 "gram.c" /* yacc.c:1652 */
break;
case 799:
#line 5566 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = CAS_NOT_VALID; }
#line 31750 "gram.c" /* yacc.c:1652 */
break;
case 800:
#line 5567 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = CAS_NO_INHERIT; }
#line 31756 "gram.c" /* yacc.c:1652 */
break;
case 801:
#line 5582 "gram.y" /* yacc.c:1652 */
{
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 31769 "gram.c" /* yacc.c:1652 */
break;
case 802:
#line 5593 "gram.y" /* yacc.c:1652 */
{
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 31782 "gram.c" /* yacc.c:1652 */
break;
case 803:
#line 5605 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].defelt)); }
#line 31788 "gram.c" /* yacc.c:1652 */
break;
case 804:
#line 5607 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
#line 31794 "gram.c" /* yacc.c:1652 */
break;
case 805:
#line 5612 "gram.y" /* yacc.c:1652 */
{ (yyval.defelt) = makeDefElem((yyvsp[-4].str), (Node *) (yyvsp[-1].list), (yylsp[-4])); }
#line 31800 "gram.c" /* yacc.c:1652 */
break;
case 806:
#line 5617 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
#line 31806 "gram.c" /* yacc.c:1652 */
break;
case 807:
#line 5619 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
#line 31812 "gram.c" /* yacc.c:1652 */
break;
case 808:
#line 5624 "gram.y" /* yacc.c:1652 */
{
AlterEventTrigStmt *n = makeNode(AlterEventTrigStmt);
n->trigname = (yyvsp[-1].str);
n->tgenabled = (yyvsp[0].chr);
(yyval.node) = (Node *) n;
}
#line 31823 "gram.c" /* yacc.c:1652 */
break;
case 809:
#line 5633 "gram.y" /* yacc.c:1652 */
{ (yyval.chr) = TRIGGER_FIRES_ON_ORIGIN; }
#line 31829 "gram.c" /* yacc.c:1652 */
break;
case 810:
#line 5634 "gram.y" /* yacc.c:1652 */
{ (yyval.chr) = TRIGGER_FIRES_ON_REPLICA; }
#line 31835 "gram.c" /* yacc.c:1652 */
break;
case 811:
#line 5635 "gram.y" /* yacc.c:1652 */
{ (yyval.chr) = TRIGGER_FIRES_ALWAYS; }
#line 31841 "gram.c" /* yacc.c:1652 */
break;
case 812:
#line 5636 "gram.y" /* yacc.c:1652 */
{ (yyval.chr) = TRIGGER_DISABLED; }
#line 31847 "gram.c" /* yacc.c:1652 */
break;
case 813:
#line 5650 "gram.y" /* yacc.c:1652 */
{
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 31867 "gram.c" /* yacc.c:1652 */
break;
case 814:
#line 5669 "gram.y" /* yacc.c:1652 */
{
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 31882 "gram.c" /* yacc.c:1652 */
break;
case 815:
#line 5691 "gram.y" /* yacc.c:1652 */
{
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 31896 "gram.c" /* yacc.c:1652 */
break;
case 816:
#line 5701 "gram.y" /* yacc.c:1652 */
{
/* 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 31911 "gram.c" /* yacc.c:1652 */
break;
case 817:
#line 5712 "gram.y" /* yacc.c:1652 */
{
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 31925 "gram.c" /* yacc.c:1652 */
break;
case 818:
#line 5722 "gram.y" /* yacc.c:1652 */
{
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 31939 "gram.c" /* yacc.c:1652 */
break;
case 819:
#line 5732 "gram.y" /* yacc.c:1652 */
{
/* 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 31954 "gram.c" /* yacc.c:1652 */
break;
case 820:
#line 5743 "gram.y" /* yacc.c:1652 */
{
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 31967 "gram.c" /* yacc.c:1652 */
break;
case 821:
#line 5752 "gram.y" /* yacc.c:1652 */
{
CreateEnumStmt *n = makeNode(CreateEnumStmt);
n->typeName = (yyvsp[-5].list);
n->vals = (yyvsp[-1].list);
(yyval.node) = (Node *)n;
}
#line 31978 "gram.c" /* yacc.c:1652 */
break;
case 822:
#line 5759 "gram.y" /* yacc.c:1652 */
{
CreateRangeStmt *n = makeNode(CreateRangeStmt);
n->typeName = (yyvsp[-3].list);
n->params = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 31989 "gram.c" /* yacc.c:1652 */
break;
case 823:
#line 5766 "gram.y" /* yacc.c:1652 */
{
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 32002 "gram.c" /* yacc.c:1652 */
break;
case 824:
#line 5775 "gram.y" /* yacc.c:1652 */
{
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 32015 "gram.c" /* yacc.c:1652 */
break;
case 825:
#line 5784 "gram.y" /* yacc.c:1652 */
{
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 32028 "gram.c" /* yacc.c:1652 */
break;
case 826:
#line 5793 "gram.y" /* yacc.c:1652 */
{
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 32041 "gram.c" /* yacc.c:1652 */
break;
case 827:
#line 5802 "gram.y" /* yacc.c:1652 */
{
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 32054 "gram.c" /* yacc.c:1652 */
break;
case 828:
#line 5811 "gram.y" /* yacc.c:1652 */
{
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 32068 "gram.c" /* yacc.c:1652 */
break;
case 829:
#line 5821 "gram.y" /* yacc.c:1652 */
{
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 32081 "gram.c" /* yacc.c:1652 */
break;
case 830:
#line 5830 "gram.y" /* yacc.c:1652 */
{
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 32095 "gram.c" /* yacc.c:1652 */
break;
case 831:
#line 5841 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 32101 "gram.c" /* yacc.c:1652 */
break;
case 832:
#line 5844 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].defelt)); }
#line 32107 "gram.c" /* yacc.c:1652 */
break;
case 833:
#line 5845 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
#line 32113 "gram.c" /* yacc.c:1652 */
break;
case 834:
#line 5849 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *) (yyvsp[0].node), (yylsp[-2]));
}
#line 32121 "gram.c" /* yacc.c:1652 */
break;
case 835:
#line 5853 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem((yyvsp[0].str), NULL, (yylsp[0]));
}
#line 32129 "gram.c" /* yacc.c:1652 */
break;
case 836:
#line 5859 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *)(yyvsp[0].typnam); }
#line 32135 "gram.c" /* yacc.c:1652 */
break;
case 837:
#line 5860 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *)makeString(pstrdup((yyvsp[0].keyword))); }
#line 32141 "gram.c" /* yacc.c:1652 */
break;
case 838:
#line 5861 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *)(yyvsp[0].list); }
#line 32147 "gram.c" /* yacc.c:1652 */
break;
case 839:
#line 5862 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *)(yyvsp[0].value); }
#line 32153 "gram.c" /* yacc.c:1652 */
break;
case 840:
#line 5863 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *)makeString((yyvsp[0].str)); }
#line 32159 "gram.c" /* yacc.c:1652 */
break;
case 841:
#line 5864 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *)makeString(pstrdup((yyvsp[0].keyword))); }
#line 32165 "gram.c" /* yacc.c:1652 */
break;
case 842:
#line 5867 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 32171 "gram.c" /* yacc.c:1652 */
break;
case 843:
#line 5870 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].defelt)); }
#line 32177 "gram.c" /* yacc.c:1652 */
break;
case 844:
#line 5871 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
#line 32183 "gram.c" /* yacc.c:1652 */
break;
case 845:
#line 5880 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *)(yyvsp[0].node), (yylsp[-2]));
}
#line 32191 "gram.c" /* yacc.c:1652 */
break;
case 846:
#line 5886 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 32197 "gram.c" /* yacc.c:1652 */
break;
case 847:
#line 5887 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 32203 "gram.c" /* yacc.c:1652 */
break;
case 848:
#line 5891 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
#line 32209 "gram.c" /* yacc.c:1652 */
break;
case 849:
#line 5893 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
#line 32215 "gram.c" /* yacc.c:1652 */
break;
case 850:
#line 5904 "gram.y" /* yacc.c:1652 */
{
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 32230 "gram.c" /* yacc.c:1652 */
break;
case 851:
#line 5915 "gram.y" /* yacc.c:1652 */
{
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 32245 "gram.c" /* yacc.c:1652 */
break;
case 852:
#line 5926 "gram.y" /* yacc.c:1652 */
{
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 32260 "gram.c" /* yacc.c:1652 */
break;
case 853:
#line 5937 "gram.y" /* yacc.c:1652 */
{
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 32275 "gram.c" /* yacc.c:1652 */
break;
case 854:
#line 5949 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = true; }
#line 32281 "gram.c" /* yacc.c:1652 */
break;
case 855:
#line 5950 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 32287 "gram.c" /* yacc.c:1652 */
break;
case 856:
#line 5968 "gram.y" /* yacc.c:1652 */
{
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 32302 "gram.c" /* yacc.c:1652 */
break;
case 857:
#line 5981 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].node)); }
#line 32308 "gram.c" /* yacc.c:1652 */
break;
case 858:
#line 5982 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
#line 32314 "gram.c" /* yacc.c:1652 */
break;
case 859:
#line 5987 "gram.y" /* yacc.c:1652 */
{
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 32330 "gram.c" /* yacc.c:1652 */
break;
case 860:
#line 6000 "gram.y" /* yacc.c:1652 */
{
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 32343 "gram.c" /* yacc.c:1652 */
break;
case 861:
#line 6009 "gram.y" /* yacc.c:1652 */
{
CreateOpClassItem *n = makeNode(CreateOpClassItem);
n->itemtype = OPCLASS_ITEM_FUNCTION;
n->name = (yyvsp[0].objwithargs);
n->number = (yyvsp[-1].ival);
(yyval.node) = (Node *) n;
}
#line 32355 "gram.c" /* yacc.c:1652 */
break;
case 862:
#line 6017 "gram.y" /* yacc.c:1652 */
{
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 32368 "gram.c" /* yacc.c:1652 */
break;
case 863:
#line 6026 "gram.y" /* yacc.c:1652 */
{
CreateOpClassItem *n = makeNode(CreateOpClassItem);
n->itemtype = OPCLASS_ITEM_STORAGETYPE;
n->storedtype = (yyvsp[0].typnam);
(yyval.node) = (Node *) n;
}
#line 32379 "gram.c" /* yacc.c:1652 */
break;
case 864:
#line 6034 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = true; }
#line 32385 "gram.c" /* yacc.c:1652 */
break;
case 865:
#line 6035 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 32391 "gram.c" /* yacc.c:1652 */
break;
case 866:
#line 6038 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 32397 "gram.c" /* yacc.c:1652 */
break;
case 867:
#line 6039 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 32403 "gram.c" /* yacc.c:1652 */
break;
case 868:
#line 6042 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 32409 "gram.c" /* yacc.c:1652 */
break;
case 869:
#line 6043 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 32415 "gram.c" /* yacc.c:1652 */
break;
case 870:
#line 6044 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 32421 "gram.c" /* yacc.c:1652 */
break;
case 871:
#line 6048 "gram.y" /* yacc.c:1652 */
{
/*
* 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 32439 "gram.c" /* yacc.c:1652 */
break;
case 872:
#line 6061 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 32445 "gram.c" /* yacc.c:1652 */
break;
case 873:
#line 6067 "gram.y" /* yacc.c:1652 */
{
CreateOpFamilyStmt *n = makeNode(CreateOpFamilyStmt);
n->opfamilyname = (yyvsp[-2].list);
n->amname = (yyvsp[0].str);
(yyval.node) = (Node *) n;
}
#line 32456 "gram.c" /* yacc.c:1652 */
break;
case 874:
#line 6077 "gram.y" /* yacc.c:1652 */
{
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 32469 "gram.c" /* yacc.c:1652 */
break;
case 875:
#line 6086 "gram.y" /* yacc.c:1652 */
{
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 32482 "gram.c" /* yacc.c:1652 */
break;
case 876:
#line 6097 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].node)); }
#line 32488 "gram.c" /* yacc.c:1652 */
break;
case 877:
#line 6098 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
#line 32494 "gram.c" /* yacc.c:1652 */
break;
case 878:
#line 6103 "gram.y" /* yacc.c:1652 */
{
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 32506 "gram.c" /* yacc.c:1652 */
break;
case 879:
#line 6111 "gram.y" /* yacc.c:1652 */
{
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 32518 "gram.c" /* yacc.c:1652 */
break;
case 880:
#line 6123 "gram.y" /* yacc.c:1652 */
{
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 32532 "gram.c" /* yacc.c:1652 */
break;
case 881:
#line 6133 "gram.y" /* yacc.c:1652 */
{
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 32546 "gram.c" /* yacc.c:1652 */
break;
case 882:
#line 6146 "gram.y" /* yacc.c:1652 */
{
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 32560 "gram.c" /* yacc.c:1652 */
break;
case 883:
#line 6156 "gram.y" /* yacc.c:1652 */
{
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 32574 "gram.c" /* yacc.c:1652 */
break;
case 884:
#line 6178 "gram.y" /* yacc.c:1652 */
{
DropOwnedStmt *n = makeNode(DropOwnedStmt);
n->roles = (yyvsp[-1].list);
n->behavior = (yyvsp[0].dbehavior);
(yyval.node) = (Node *)n;
}
#line 32585 "gram.c" /* yacc.c:1652 */
break;
case 885:
#line 6188 "gram.y" /* yacc.c:1652 */
{
ReassignOwnedStmt *n = makeNode(ReassignOwnedStmt);
n->roles = (yyvsp[-2].list);
n->newrole = (yyvsp[0].rolespec);
(yyval.node) = (Node *)n;
}
#line 32596 "gram.c" /* yacc.c:1652 */
break;
case 886:
#line 6206 "gram.y" /* yacc.c:1652 */
{
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 32610 "gram.c" /* yacc.c:1652 */
break;
case 887:
#line 6216 "gram.y" /* yacc.c:1652 */
{
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 32624 "gram.c" /* yacc.c:1652 */
break;
case 888:
#line 6226 "gram.y" /* yacc.c:1652 */
{
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 32638 "gram.c" /* yacc.c:1652 */
break;
case 889:
#line 6236 "gram.y" /* yacc.c:1652 */
{
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 32652 "gram.c" /* yacc.c:1652 */
break;
case 890:
#line 6246 "gram.y" /* yacc.c:1652 */
{
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 32666 "gram.c" /* yacc.c:1652 */
break;
case 891:
#line 6256 "gram.y" /* yacc.c:1652 */
{
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 32680 "gram.c" /* yacc.c:1652 */
break;
case 892:
#line 6266 "gram.y" /* yacc.c:1652 */
{
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 32694 "gram.c" /* yacc.c:1652 */
break;
case 893:
#line 6276 "gram.y" /* yacc.c:1652 */
{
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 32708 "gram.c" /* yacc.c:1652 */
break;
case 894:
#line 6286 "gram.y" /* yacc.c:1652 */
{
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 32722 "gram.c" /* yacc.c:1652 */
break;
case 895:
#line 6296 "gram.y" /* yacc.c:1652 */
{
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 32736 "gram.c" /* yacc.c:1652 */
break;
case 896:
#line 6306 "gram.y" /* yacc.c:1652 */
{
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 32750 "gram.c" /* yacc.c:1652 */
break;
case 897:
#line 6316 "gram.y" /* yacc.c:1652 */
{
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 32764 "gram.c" /* yacc.c:1652 */
break;
case 898:
#line 6329 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_TABLE; }
#line 32770 "gram.c" /* yacc.c:1652 */
break;
case 899:
#line 6330 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_SEQUENCE; }
#line 32776 "gram.c" /* yacc.c:1652 */
break;
case 900:
#line 6331 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_VIEW; }
#line 32782 "gram.c" /* yacc.c:1652 */
break;
case 901:
#line 6332 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_MATVIEW; }
#line 32788 "gram.c" /* yacc.c:1652 */
break;
case 902:
#line 6333 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_INDEX; }
#line 32794 "gram.c" /* yacc.c:1652 */
break;
case 903:
#line 6334 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_FOREIGN_TABLE; }
#line 32800 "gram.c" /* yacc.c:1652 */
break;
case 904:
#line 6335 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_COLLATION; }
#line 32806 "gram.c" /* yacc.c:1652 */
break;
case 905:
#line 6336 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_CONVERSION; }
#line 32812 "gram.c" /* yacc.c:1652 */
break;
case 906:
#line 6337 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_STATISTIC_EXT; }
#line 32818 "gram.c" /* yacc.c:1652 */
break;
case 907:
#line 6338 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_TSPARSER; }
#line 32824 "gram.c" /* yacc.c:1652 */
break;
case 908:
#line 6339 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_TSDICTIONARY; }
#line 32830 "gram.c" /* yacc.c:1652 */
break;
case 909:
#line 6340 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_TSTEMPLATE; }
#line 32836 "gram.c" /* yacc.c:1652 */
break;
case 910:
#line 6341 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_TSCONFIGURATION; }
#line 32842 "gram.c" /* yacc.c:1652 */
break;
case 911:
#line 6346 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_ACCESS_METHOD; }
#line 32848 "gram.c" /* yacc.c:1652 */
break;
case 912:
#line 6347 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_EVENT_TRIGGER; }
#line 32854 "gram.c" /* yacc.c:1652 */
break;
case 913:
#line 6348 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_EXTENSION; }
#line 32860 "gram.c" /* yacc.c:1652 */
break;
case 914:
#line 6349 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_FDW; }
#line 32866 "gram.c" /* yacc.c:1652 */
break;
case 915:
#line 6350 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_PUBLICATION; }
#line 32872 "gram.c" /* yacc.c:1652 */
break;
case 916:
#line 6351 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_SCHEMA; }
#line 32878 "gram.c" /* yacc.c:1652 */
break;
case 917:
#line 6352 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_FOREIGN_SERVER; }
#line 32884 "gram.c" /* yacc.c:1652 */
break;
case 918:
#line 6357 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_POLICY; }
#line 32890 "gram.c" /* yacc.c:1652 */
break;
case 919:
#line 6358 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_RULE; }
#line 32896 "gram.c" /* yacc.c:1652 */
break;
case 920:
#line 6359 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_TRIGGER; }
#line 32902 "gram.c" /* yacc.c:1652 */
break;
case 921:
#line 6363 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].list)); }
#line 32908 "gram.c" /* yacc.c:1652 */
break;
case 922:
#line 6364 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].list)); }
#line 32914 "gram.c" /* yacc.c:1652 */
break;
case 923:
#line 6367 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
#line 32920 "gram.c" /* yacc.c:1652 */
break;
case 924:
#line 6368 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)); }
#line 32926 "gram.c" /* yacc.c:1652 */
break;
case 925:
#line 6372 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
#line 32932 "gram.c" /* yacc.c:1652 */
break;
case 926:
#line 6374 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
#line 32938 "gram.c" /* yacc.c:1652 */
break;
case 927:
#line 6378 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].typnam)); }
#line 32944 "gram.c" /* yacc.c:1652 */
break;
case 928:
#line 6379 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].typnam)); }
#line 32950 "gram.c" /* yacc.c:1652 */
break;
case 929:
#line 6391 "gram.y" /* yacc.c:1652 */
{
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 32962 "gram.c" /* yacc.c:1652 */
break;
case 930:
#line 6401 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 32968 "gram.c" /* yacc.c:1652 */
break;
case 931:
#line 6402 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = true; }
#line 32974 "gram.c" /* yacc.c:1652 */
break;
case 932:
#line 6403 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 32980 "gram.c" /* yacc.c:1652 */
break;
case 933:
#line 6438 "gram.y" /* yacc.c:1652 */
{
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 32992 "gram.c" /* yacc.c:1652 */
break;
case 934:
#line 6446 "gram.y" /* yacc.c:1652 */
{
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 33004 "gram.c" /* yacc.c:1652 */
break;
case 935:
#line 6454 "gram.y" /* yacc.c:1652 */
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_TYPE;
n->object = (Node *) (yyvsp[-2].typnam);
n->comment = (yyvsp[0].str);
(yyval.node) = (Node *) n;
}
#line 33016 "gram.c" /* yacc.c:1652 */
break;
case 936:
#line 6462 "gram.y" /* yacc.c:1652 */
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_DOMAIN;
n->object = (Node *) (yyvsp[-2].typnam);
n->comment = (yyvsp[0].str);
(yyval.node) = (Node *) n;
}
#line 33028 "gram.c" /* yacc.c:1652 */
break;
case 937:
#line 6470 "gram.y" /* yacc.c:1652 */
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_AGGREGATE;
n->object = (Node *) (yyvsp[-2].objwithargs);
n->comment = (yyvsp[0].str);
(yyval.node) = (Node *) n;
}
#line 33040 "gram.c" /* yacc.c:1652 */
break;
case 938:
#line 6478 "gram.y" /* yacc.c:1652 */
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_FUNCTION;
n->object = (Node *) (yyvsp[-2].objwithargs);
n->comment = (yyvsp[0].str);
(yyval.node) = (Node *) n;
}
#line 33052 "gram.c" /* yacc.c:1652 */
break;
case 939:
#line 6486 "gram.y" /* yacc.c:1652 */
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_OPERATOR;
n->object = (Node *) (yyvsp[-2].objwithargs);
n->comment = (yyvsp[0].str);
(yyval.node) = (Node *) n;
}
#line 33064 "gram.c" /* yacc.c:1652 */
break;
case 940:
#line 6494 "gram.y" /* yacc.c:1652 */
{
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 33076 "gram.c" /* yacc.c:1652 */
break;
case 941:
#line 6502 "gram.y" /* yacc.c:1652 */
{
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 33093 "gram.c" /* yacc.c:1652 */
break;
case 942:
#line 6515 "gram.y" /* yacc.c:1652 */
{
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 33105 "gram.c" /* yacc.c:1652 */
break;
case 943:
#line 6523 "gram.y" /* yacc.c:1652 */
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_PROCEDURE;
n->object = (Node *) (yyvsp[-2].objwithargs);
n->comment = (yyvsp[0].str);
(yyval.node) = (Node *) n;
}
#line 33117 "gram.c" /* yacc.c:1652 */
break;
case 944:
#line 6531 "gram.y" /* yacc.c:1652 */
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_ROUTINE;
n->object = (Node *) (yyvsp[-2].objwithargs);
n->comment = (yyvsp[0].str);
(yyval.node) = (Node *) n;
}
#line 33129 "gram.c" /* yacc.c:1652 */
break;
case 945:
#line 6539 "gram.y" /* yacc.c:1652 */
{
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 33141 "gram.c" /* yacc.c:1652 */
break;
case 946:
#line 6547 "gram.y" /* yacc.c:1652 */
{
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 33153 "gram.c" /* yacc.c:1652 */
break;
case 947:
#line 6555 "gram.y" /* yacc.c:1652 */
{
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 33165 "gram.c" /* yacc.c:1652 */
break;
case 948:
#line 6563 "gram.y" /* yacc.c:1652 */
{
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 33177 "gram.c" /* yacc.c:1652 */
break;
case 949:
#line 6571 "gram.y" /* yacc.c:1652 */
{
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 33189 "gram.c" /* yacc.c:1652 */
break;
case 950:
#line 6579 "gram.y" /* yacc.c:1652 */
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_LARGEOBJECT;
n->object = (Node *) (yyvsp[-2].value);
n->comment = (yyvsp[0].str);
(yyval.node) = (Node *) n;
}
#line 33201 "gram.c" /* yacc.c:1652 */
break;
case 951:
#line 6587 "gram.y" /* yacc.c:1652 */
{
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 33213 "gram.c" /* yacc.c:1652 */
break;
case 952:
#line 6598 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_COLUMN; }
#line 33219 "gram.c" /* yacc.c:1652 */
break;
case 953:
#line 6599 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_INDEX; }
#line 33225 "gram.c" /* yacc.c:1652 */
break;
case 954:
#line 6600 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_SEQUENCE; }
#line 33231 "gram.c" /* yacc.c:1652 */
break;
case 955:
#line 6601 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_STATISTIC_EXT; }
#line 33237 "gram.c" /* yacc.c:1652 */
break;
case 956:
#line 6602 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_TABLE; }
#line 33243 "gram.c" /* yacc.c:1652 */
break;
case 957:
#line 6603 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_VIEW; }
#line 33249 "gram.c" /* yacc.c:1652 */
break;
case 958:
#line 6604 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_MATVIEW; }
#line 33255 "gram.c" /* yacc.c:1652 */
break;
case 959:
#line 6605 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_COLLATION; }
#line 33261 "gram.c" /* yacc.c:1652 */
break;
case 960:
#line 6606 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_CONVERSION; }
#line 33267 "gram.c" /* yacc.c:1652 */
break;
case 961:
#line 6607 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_FOREIGN_TABLE; }
#line 33273 "gram.c" /* yacc.c:1652 */
break;
case 962:
#line 6608 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_TSCONFIGURATION; }
#line 33279 "gram.c" /* yacc.c:1652 */
break;
case 963:
#line 6609 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_TSDICTIONARY; }
#line 33285 "gram.c" /* yacc.c:1652 */
break;
case 964:
#line 6610 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_TSPARSER; }
#line 33291 "gram.c" /* yacc.c:1652 */
break;
case 965:
#line 6611 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_TSTEMPLATE; }
#line 33297 "gram.c" /* yacc.c:1652 */
break;
case 966:
#line 6616 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_ACCESS_METHOD; }
#line 33303 "gram.c" /* yacc.c:1652 */
break;
case 967:
#line 6617 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_DATABASE; }
#line 33309 "gram.c" /* yacc.c:1652 */
break;
case 968:
#line 6618 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_EVENT_TRIGGER; }
#line 33315 "gram.c" /* yacc.c:1652 */
break;
case 969:
#line 6619 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_EXTENSION; }
#line 33321 "gram.c" /* yacc.c:1652 */
break;
case 970:
#line 6620 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_FDW; }
#line 33327 "gram.c" /* yacc.c:1652 */
break;
case 971:
#line 6621 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_LANGUAGE; }
#line 33333 "gram.c" /* yacc.c:1652 */
break;
case 972:
#line 6622 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_PUBLICATION; }
#line 33339 "gram.c" /* yacc.c:1652 */
break;
case 973:
#line 6623 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_ROLE; }
#line 33345 "gram.c" /* yacc.c:1652 */
break;
case 974:
#line 6624 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_SCHEMA; }
#line 33351 "gram.c" /* yacc.c:1652 */
break;
case 975:
#line 6625 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_FOREIGN_SERVER; }
#line 33357 "gram.c" /* yacc.c:1652 */
break;
case 976:
#line 6626 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_SUBSCRIPTION; }
#line 33363 "gram.c" /* yacc.c:1652 */
break;
case 977:
#line 6627 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_TABLESPACE; }
#line 33369 "gram.c" /* yacc.c:1652 */
break;
case 978:
#line 6631 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 33375 "gram.c" /* yacc.c:1652 */
break;
case 979:
#line 6632 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = NULL; }
#line 33381 "gram.c" /* yacc.c:1652 */
break;
case 980:
#line 6648 "gram.y" /* yacc.c:1652 */
{
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 33394 "gram.c" /* yacc.c:1652 */
break;
case 981:
#line 6658 "gram.y" /* yacc.c:1652 */
{
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 33407 "gram.c" /* yacc.c:1652 */
break;
case 982:
#line 6668 "gram.y" /* yacc.c:1652 */
{
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 33420 "gram.c" /* yacc.c:1652 */
break;
case 983:
#line 6678 "gram.y" /* yacc.c:1652 */
{
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 33433 "gram.c" /* yacc.c:1652 */
break;
case 984:
#line 6688 "gram.y" /* yacc.c:1652 */
{
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 33446 "gram.c" /* yacc.c:1652 */
break;
case 985:
#line 6698 "gram.y" /* yacc.c:1652 */
{
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 33459 "gram.c" /* yacc.c:1652 */
break;
case 986:
#line 6708 "gram.y" /* yacc.c:1652 */
{
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 33472 "gram.c" /* yacc.c:1652 */
break;
case 987:
#line 6718 "gram.y" /* yacc.c:1652 */
{
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 33485 "gram.c" /* yacc.c:1652 */
break;
case 988:
#line 6728 "gram.y" /* yacc.c:1652 */
{
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 33498 "gram.c" /* yacc.c:1652 */
break;
case 989:
#line 6738 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 33504 "gram.c" /* yacc.c:1652 */
break;
case 990:
#line 6739 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = NULL; }
#line 33510 "gram.c" /* yacc.c:1652 */
break;
case 991:
#line 6744 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_COLUMN; }
#line 33516 "gram.c" /* yacc.c:1652 */
break;
case 992:
#line 6745 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_FOREIGN_TABLE; }
#line 33522 "gram.c" /* yacc.c:1652 */
break;
case 993:
#line 6746 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_SEQUENCE; }
#line 33528 "gram.c" /* yacc.c:1652 */
break;
case 994:
#line 6747 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_TABLE; }
#line 33534 "gram.c" /* yacc.c:1652 */
break;
case 995:
#line 6748 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_VIEW; }
#line 33540 "gram.c" /* yacc.c:1652 */
break;
case 996:
#line 6749 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_MATVIEW; }
#line 33546 "gram.c" /* yacc.c:1652 */
break;
case 997:
#line 6754 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_DATABASE; }
#line 33552 "gram.c" /* yacc.c:1652 */
break;
case 998:
#line 6755 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_EVENT_TRIGGER; }
#line 33558 "gram.c" /* yacc.c:1652 */
break;
case 999:
#line 6756 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_LANGUAGE; }
#line 33564 "gram.c" /* yacc.c:1652 */
break;
case 1000:
#line 6757 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_PUBLICATION; }
#line 33570 "gram.c" /* yacc.c:1652 */
break;
case 1001:
#line 6758 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_ROLE; }
#line 33576 "gram.c" /* yacc.c:1652 */
break;
case 1002:
#line 6759 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_SCHEMA; }
#line 33582 "gram.c" /* yacc.c:1652 */
break;
case 1003:
#line 6760 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_SUBSCRIPTION; }
#line 33588 "gram.c" /* yacc.c:1652 */
break;
case 1004:
#line 6761 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_TABLESPACE; }
#line 33594 "gram.c" /* yacc.c:1652 */
break;
case 1005:
#line 6764 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 33600 "gram.c" /* yacc.c:1652 */
break;
case 1006:
#line 6765 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = NULL; }
#line 33606 "gram.c" /* yacc.c:1652 */
break;
case 1007:
#line 6776 "gram.y" /* yacc.c:1652 */
{
FetchStmt *n = (FetchStmt *) (yyvsp[0].node);
n->ismove = false;
(yyval.node) = (Node *)n;
}
#line 33616 "gram.c" /* yacc.c:1652 */
break;
case 1008:
#line 6782 "gram.y" /* yacc.c:1652 */
{
FetchStmt *n = (FetchStmt *) (yyvsp[0].node);
n->ismove = true;
(yyval.node) = (Node *)n;
}
#line 33626 "gram.c" /* yacc.c:1652 */
break;
case 1009:
#line 6790 "gram.y" /* yacc.c:1652 */
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[0].str);
n->direction = FETCH_FORWARD;
n->howMany = 1;
(yyval.node) = (Node *)n;
}
#line 33638 "gram.c" /* yacc.c:1652 */
break;
case 1010:
#line 6798 "gram.y" /* yacc.c:1652 */
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[0].str);
n->direction = FETCH_FORWARD;
n->howMany = 1;
(yyval.node) = (Node *)n;
}
#line 33650 "gram.c" /* yacc.c:1652 */
break;
case 1011:
#line 6806 "gram.y" /* yacc.c:1652 */
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[0].str);
n->direction = FETCH_FORWARD;
n->howMany = 1;
(yyval.node) = (Node *)n;
}
#line 33662 "gram.c" /* yacc.c:1652 */
break;
case 1012:
#line 6814 "gram.y" /* yacc.c:1652 */
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[0].str);
n->direction = FETCH_BACKWARD;
n->howMany = 1;
(yyval.node) = (Node *)n;
}
#line 33674 "gram.c" /* yacc.c:1652 */
break;
case 1013:
#line 6822 "gram.y" /* yacc.c:1652 */
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[0].str);
n->direction = FETCH_ABSOLUTE;
n->howMany = 1;
(yyval.node) = (Node *)n;
}
#line 33686 "gram.c" /* yacc.c:1652 */
break;
case 1014:
#line 6830 "gram.y" /* yacc.c:1652 */
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[0].str);
n->direction = FETCH_ABSOLUTE;
n->howMany = -1;
(yyval.node) = (Node *)n;
}
#line 33698 "gram.c" /* yacc.c:1652 */
break;
case 1015:
#line 6838 "gram.y" /* yacc.c:1652 */
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[0].str);
n->direction = FETCH_ABSOLUTE;
n->howMany = (yyvsp[-2].ival);
(yyval.node) = (Node *)n;
}
#line 33710 "gram.c" /* yacc.c:1652 */
break;
case 1016:
#line 6846 "gram.y" /* yacc.c:1652 */
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[0].str);
n->direction = FETCH_RELATIVE;
n->howMany = (yyvsp[-2].ival);
(yyval.node) = (Node *)n;
}
#line 33722 "gram.c" /* yacc.c:1652 */
break;
case 1017:
#line 6854 "gram.y" /* yacc.c:1652 */
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[0].str);
n->direction = FETCH_FORWARD;
n->howMany = (yyvsp[-2].ival);
(yyval.node) = (Node *)n;
}
#line 33734 "gram.c" /* yacc.c:1652 */
break;
case 1018:
#line 6862 "gram.y" /* yacc.c:1652 */
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[0].str);
n->direction = FETCH_FORWARD;
n->howMany = FETCH_ALL;
(yyval.node) = (Node *)n;
}
#line 33746 "gram.c" /* yacc.c:1652 */
break;
case 1019:
#line 6870 "gram.y" /* yacc.c:1652 */
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[0].str);
n->direction = FETCH_FORWARD;
n->howMany = 1;
(yyval.node) = (Node *)n;
}
#line 33758 "gram.c" /* yacc.c:1652 */
break;
case 1020:
#line 6878 "gram.y" /* yacc.c:1652 */
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[0].str);
n->direction = FETCH_FORWARD;
n->howMany = (yyvsp[-2].ival);
(yyval.node) = (Node *)n;
}
#line 33770 "gram.c" /* yacc.c:1652 */
break;
case 1021:
#line 6886 "gram.y" /* yacc.c:1652 */
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[0].str);
n->direction = FETCH_FORWARD;
n->howMany = FETCH_ALL;
(yyval.node) = (Node *)n;
}
#line 33782 "gram.c" /* yacc.c:1652 */
break;
case 1022:
#line 6894 "gram.y" /* yacc.c:1652 */
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[0].str);
n->direction = FETCH_BACKWARD;
n->howMany = 1;
(yyval.node) = (Node *)n;
}
#line 33794 "gram.c" /* yacc.c:1652 */
break;
case 1023:
#line 6902 "gram.y" /* yacc.c:1652 */
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[0].str);
n->direction = FETCH_BACKWARD;
n->howMany = (yyvsp[-2].ival);
(yyval.node) = (Node *)n;
}
#line 33806 "gram.c" /* yacc.c:1652 */
break;
case 1024:
#line 6910 "gram.y" /* yacc.c:1652 */
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[0].str);
n->direction = FETCH_BACKWARD;
n->howMany = FETCH_ALL;
(yyval.node) = (Node *)n;
}
#line 33818 "gram.c" /* yacc.c:1652 */
break;
case 1025:
#line 6919 "gram.y" /* yacc.c:1652 */
{}
#line 33824 "gram.c" /* yacc.c:1652 */
break;
case 1026:
#line 6920 "gram.y" /* yacc.c:1652 */
{}
#line 33830 "gram.c" /* yacc.c:1652 */
break;
case 1027:
#line 6923 "gram.y" /* yacc.c:1652 */
{}
#line 33836 "gram.c" /* yacc.c:1652 */
break;
case 1028:
#line 6924 "gram.y" /* yacc.c:1652 */
{}
#line 33842 "gram.c" /* yacc.c:1652 */
break;
case 1029:
#line 6936 "gram.y" /* yacc.c:1652 */
{
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 33858 "gram.c" /* yacc.c:1652 */
break;
case 1030:
#line 6952 "gram.y" /* yacc.c:1652 */
{
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 33875 "gram.c" /* yacc.c:1652 */
break;
case 1031:
#line 6966 "gram.y" /* yacc.c:1652 */
{
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 33892 "gram.c" /* yacc.c:1652 */
break;
case 1032:
#line 6991 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 33898 "gram.c" /* yacc.c:1652 */
break;
case 1033:
#line 6993 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 33904 "gram.c" /* yacc.c:1652 */
break;
case 1034:
#line 6995 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 33910 "gram.c" /* yacc.c:1652 */
break;
case 1035:
#line 6997 "gram.y" /* yacc.c:1652 */
{
AccessPriv *n = makeNode(AccessPriv);
n->priv_name = NULL;
n->cols = (yyvsp[-1].list);
(yyval.list) = list_make1(n);
}
#line 33921 "gram.c" /* yacc.c:1652 */
break;
case 1036:
#line 7004 "gram.y" /* yacc.c:1652 */
{
AccessPriv *n = makeNode(AccessPriv);
n->priv_name = NULL;
n->cols = (yyvsp[-1].list);
(yyval.list) = list_make1(n);
}
#line 33932 "gram.c" /* yacc.c:1652 */
break;
case 1037:
#line 7012 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].accesspriv)); }
#line 33938 "gram.c" /* yacc.c:1652 */
break;
case 1038:
#line 7013 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].accesspriv)); }
#line 33944 "gram.c" /* yacc.c:1652 */
break;
case 1039:
#line 7017 "gram.y" /* yacc.c:1652 */
{
AccessPriv *n = makeNode(AccessPriv);
n->priv_name = pstrdup((yyvsp[-1].keyword));
n->cols = (yyvsp[0].list);
(yyval.accesspriv) = n;
}
#line 33955 "gram.c" /* yacc.c:1652 */
break;
case 1040:
#line 7024 "gram.y" /* yacc.c:1652 */
{
AccessPriv *n = makeNode(AccessPriv);
n->priv_name = pstrdup((yyvsp[-1].keyword));
n->cols = (yyvsp[0].list);
(yyval.accesspriv) = n;
}
#line 33966 "gram.c" /* yacc.c:1652 */
break;
case 1041:
#line 7031 "gram.y" /* yacc.c:1652 */
{
AccessPriv *n = makeNode(AccessPriv);
n->priv_name = pstrdup((yyvsp[-1].keyword));
n->cols = (yyvsp[0].list);
(yyval.accesspriv) = n;
}
#line 33977 "gram.c" /* yacc.c:1652 */
break;
case 1042:
#line 7038 "gram.y" /* yacc.c:1652 */
{
AccessPriv *n = makeNode(AccessPriv);
n->priv_name = (yyvsp[-1].str);
n->cols = (yyvsp[0].list);
(yyval.accesspriv) = n;
}
#line 33988 "gram.c" /* yacc.c:1652 */
break;
case 1043:
#line 7052 "gram.y" /* yacc.c:1652 */
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
n->objtype = OBJECT_TABLE;
n->objs = (yyvsp[0].list);
(yyval.privtarget) = n;
}
#line 34000 "gram.c" /* yacc.c:1652 */
break;
case 1044:
#line 7060 "gram.y" /* yacc.c:1652 */
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
n->objtype = OBJECT_TABLE;
n->objs = (yyvsp[0].list);
(yyval.privtarget) = n;
}
#line 34012 "gram.c" /* yacc.c:1652 */
break;
case 1045:
#line 7068 "gram.y" /* yacc.c:1652 */
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
n->objtype = OBJECT_SEQUENCE;
n->objs = (yyvsp[0].list);
(yyval.privtarget) = n;
}
#line 34024 "gram.c" /* yacc.c:1652 */
break;
case 1046:
#line 7076 "gram.y" /* yacc.c:1652 */
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
n->objtype = OBJECT_FDW;
n->objs = (yyvsp[0].list);
(yyval.privtarget) = n;
}
#line 34036 "gram.c" /* yacc.c:1652 */
break;
case 1047:
#line 7084 "gram.y" /* yacc.c:1652 */
{
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 34048 "gram.c" /* yacc.c:1652 */
break;
case 1048:
#line 7092 "gram.y" /* yacc.c:1652 */
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
n->objtype = OBJECT_FUNCTION;
n->objs = (yyvsp[0].list);
(yyval.privtarget) = n;
}
#line 34060 "gram.c" /* yacc.c:1652 */
break;
case 1049:
#line 7100 "gram.y" /* yacc.c:1652 */
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
n->objtype = OBJECT_PROCEDURE;
n->objs = (yyvsp[0].list);
(yyval.privtarget) = n;
}
#line 34072 "gram.c" /* yacc.c:1652 */
break;
case 1050:
#line 7108 "gram.y" /* yacc.c:1652 */
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
n->objtype = OBJECT_ROUTINE;
n->objs = (yyvsp[0].list);
(yyval.privtarget) = n;
}
#line 34084 "gram.c" /* yacc.c:1652 */
break;
case 1051:
#line 7116 "gram.y" /* yacc.c:1652 */
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
n->objtype = OBJECT_DATABASE;
n->objs = (yyvsp[0].list);
(yyval.privtarget) = n;
}
#line 34096 "gram.c" /* yacc.c:1652 */
break;
case 1052:
#line 7124 "gram.y" /* yacc.c:1652 */
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
n->objtype = OBJECT_DOMAIN;
n->objs = (yyvsp[0].list);
(yyval.privtarget) = n;
}
#line 34108 "gram.c" /* yacc.c:1652 */
break;
case 1053:
#line 7132 "gram.y" /* yacc.c:1652 */
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
n->objtype = OBJECT_LANGUAGE;
n->objs = (yyvsp[0].list);
(yyval.privtarget) = n;
}
#line 34120 "gram.c" /* yacc.c:1652 */
break;
case 1054:
#line 7140 "gram.y" /* yacc.c:1652 */
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
n->objtype = OBJECT_LARGEOBJECT;
n->objs = (yyvsp[0].list);
(yyval.privtarget) = n;
}
#line 34132 "gram.c" /* yacc.c:1652 */
break;
case 1055:
#line 7148 "gram.y" /* yacc.c:1652 */
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
n->objtype = OBJECT_SCHEMA;
n->objs = (yyvsp[0].list);
(yyval.privtarget) = n;
}
#line 34144 "gram.c" /* yacc.c:1652 */
break;
case 1056:
#line 7156 "gram.y" /* yacc.c:1652 */
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
n->objtype = OBJECT_TABLESPACE;
n->objs = (yyvsp[0].list);
(yyval.privtarget) = n;
}
#line 34156 "gram.c" /* yacc.c:1652 */
break;
case 1057:
#line 7164 "gram.y" /* yacc.c:1652 */
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
n->objtype = OBJECT_TYPE;
n->objs = (yyvsp[0].list);
(yyval.privtarget) = n;
}
#line 34168 "gram.c" /* yacc.c:1652 */
break;
case 1058:
#line 7172 "gram.y" /* yacc.c:1652 */
{
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 34180 "gram.c" /* yacc.c:1652 */
break;
case 1059:
#line 7180 "gram.y" /* yacc.c:1652 */
{
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 34192 "gram.c" /* yacc.c:1652 */
break;
case 1060:
#line 7188 "gram.y" /* yacc.c:1652 */
{
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 34204 "gram.c" /* yacc.c:1652 */
break;
case 1061:
#line 7196 "gram.y" /* yacc.c:1652 */
{
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 34216 "gram.c" /* yacc.c:1652 */
break;
case 1062:
#line 7204 "gram.y" /* yacc.c:1652 */
{
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 34228 "gram.c" /* yacc.c:1652 */
break;
case 1063:
#line 7215 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].rolespec)); }
#line 34234 "gram.c" /* yacc.c:1652 */
break;
case 1064:
#line 7216 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].rolespec)); }
#line 34240 "gram.c" /* yacc.c:1652 */
break;
case 1065:
#line 7220 "gram.y" /* yacc.c:1652 */
{ (yyval.rolespec) = (yyvsp[0].rolespec); }
#line 34246 "gram.c" /* yacc.c:1652 */
break;
case 1066:
#line 7221 "gram.y" /* yacc.c:1652 */
{ (yyval.rolespec) = (yyvsp[0].rolespec); }
#line 34252 "gram.c" /* yacc.c:1652 */
break;
case 1067:
#line 7226 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = true; }
#line 34258 "gram.c" /* yacc.c:1652 */
break;
case 1068:
#line 7227 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 34264 "gram.c" /* yacc.c:1652 */
break;
case 1069:
#line 7238 "gram.y" /* yacc.c:1652 */
{
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 34278 "gram.c" /* yacc.c:1652 */
break;
case 1070:
#line 7251 "gram.y" /* yacc.c:1652 */
{
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 34292 "gram.c" /* yacc.c:1652 */
break;
case 1071:
#line 7261 "gram.y" /* yacc.c:1652 */
{
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 34306 "gram.c" /* yacc.c:1652 */
break;
case 1072:
#line 7272 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = true; }
#line 34312 "gram.c" /* yacc.c:1652 */
break;
case 1073:
#line 7273 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 34318 "gram.c" /* yacc.c:1652 */
break;
case 1074:
#line 7276 "gram.y" /* yacc.c:1652 */
{ (yyval.rolespec) = (yyvsp[0].rolespec); }
#line 34324 "gram.c" /* yacc.c:1652 */
break;
case 1075:
#line 7277 "gram.y" /* yacc.c:1652 */
{ (yyval.rolespec) = NULL; }
#line 34330 "gram.c" /* yacc.c:1652 */
break;
case 1076:
#line 7288 "gram.y" /* yacc.c:1652 */
{
AlterDefaultPrivilegesStmt *n = makeNode(AlterDefaultPrivilegesStmt);
n->options = (yyvsp[-1].list);
n->action = (GrantStmt *) (yyvsp[0].node);
(yyval.node) = (Node*)n;
}
#line 34341 "gram.c" /* yacc.c:1652 */
break;
case 1077:
#line 7297 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
#line 34347 "gram.c" /* yacc.c:1652 */
break;
case 1078:
#line 7298 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 34353 "gram.c" /* yacc.c:1652 */
break;
case 1079:
#line 7303 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("schemas", (Node *)(yyvsp[0].list), (yylsp[-2]));
}
#line 34361 "gram.c" /* yacc.c:1652 */
break;
case 1080:
#line 7307 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("roles", (Node *)(yyvsp[0].list), (yylsp[-2]));
}
#line 34369 "gram.c" /* yacc.c:1652 */
break;
case 1081:
#line 7311 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("roles", (Node *)(yyvsp[0].list), (yylsp[-2]));
}
#line 34377 "gram.c" /* yacc.c:1652 */
break;
case 1082:
#line 7323 "gram.y" /* yacc.c:1652 */
{
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 34393 "gram.c" /* yacc.c:1652 */
break;
case 1083:
#line 7336 "gram.y" /* yacc.c:1652 */
{
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 34410 "gram.c" /* yacc.c:1652 */
break;
case 1084:
#line 7350 "gram.y" /* yacc.c:1652 */
{
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 34427 "gram.c" /* yacc.c:1652 */
break;
case 1085:
#line 7365 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = OBJECT_TABLE; }
#line 34433 "gram.c" /* yacc.c:1652 */
break;
case 1086:
#line 7366 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = OBJECT_FUNCTION; }
#line 34439 "gram.c" /* yacc.c:1652 */
break;
case 1087:
#line 7367 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = OBJECT_FUNCTION; }
#line 34445 "gram.c" /* yacc.c:1652 */
break;
case 1088:
#line 7368 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = OBJECT_SEQUENCE; }
#line 34451 "gram.c" /* yacc.c:1652 */
break;
case 1089:
#line 7369 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = OBJECT_TYPE; }
#line 34457 "gram.c" /* yacc.c:1652 */
break;
case 1090:
#line 7370 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = OBJECT_SCHEMA; }
#line 34463 "gram.c" /* yacc.c:1652 */
break;
case 1091:
#line 7385 "gram.y" /* yacc.c:1652 */
{
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 34493 "gram.c" /* yacc.c:1652 */
break;
case 1092:
#line 7413 "gram.y" /* yacc.c:1652 */
{
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 34523 "gram.c" /* yacc.c:1652 */
break;
case 1093:
#line 7441 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = true; }
#line 34529 "gram.c" /* yacc.c:1652 */
break;
case 1094:
#line 7442 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 34535 "gram.c" /* yacc.c:1652 */
break;
case 1095:
#line 7446 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = true; }
#line 34541 "gram.c" /* yacc.c:1652 */
break;
case 1096:
#line 7447 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 34547 "gram.c" /* yacc.c:1652 */
break;
case 1097:
#line 7451 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 34553 "gram.c" /* yacc.c:1652 */
break;
case 1098:
#line 7452 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = NULL; }
#line 34559 "gram.c" /* yacc.c:1652 */
break;
case 1099:
#line 7456 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 34565 "gram.c" /* yacc.c:1652 */
break;
case 1100:
#line 7457 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = DEFAULT_INDEX_TYPE; }
#line 34571 "gram.c" /* yacc.c:1652 */
break;
case 1101:
#line 7460 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].ielem)); }
#line 34577 "gram.c" /* yacc.c:1652 */
break;
case 1102:
#line 7461 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].ielem)); }
#line 34583 "gram.c" /* yacc.c:1652 */
break;
case 1103:
#line 7470 "gram.y" /* yacc.c:1652 */
{
(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 34598 "gram.c" /* yacc.c:1652 */
break;
case 1104:
#line 7481 "gram.y" /* yacc.c:1652 */
{
(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 34613 "gram.c" /* yacc.c:1652 */
break;
case 1105:
#line 7492 "gram.y" /* yacc.c:1652 */
{
(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 34628 "gram.c" /* yacc.c:1652 */
break;
case 1106:
#line 7504 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 34634 "gram.c" /* yacc.c:1652 */
break;
case 1107:
#line 7505 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 34640 "gram.c" /* yacc.c:1652 */
break;
case 1108:
#line 7508 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].ielem)); }
#line 34646 "gram.c" /* yacc.c:1652 */
break;
case 1109:
#line 7509 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].ielem)); }
#line 34652 "gram.c" /* yacc.c:1652 */
break;
case 1110:
#line 7512 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 34658 "gram.c" /* yacc.c:1652 */
break;
case 1111:
#line 7513 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 34664 "gram.c" /* yacc.c:1652 */
break;
case 1112:
#line 7516 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 34670 "gram.c" /* yacc.c:1652 */
break;
case 1113:
#line 7517 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 34676 "gram.c" /* yacc.c:1652 */
break;
case 1114:
#line 7520 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = SORTBY_ASC; }
#line 34682 "gram.c" /* yacc.c:1652 */
break;
case 1115:
#line 7521 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = SORTBY_DESC; }
#line 34688 "gram.c" /* yacc.c:1652 */
break;
case 1116:
#line 7522 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = SORTBY_DEFAULT; }
#line 34694 "gram.c" /* yacc.c:1652 */
break;
case 1117:
#line 7525 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = SORTBY_NULLS_FIRST; }
#line 34700 "gram.c" /* yacc.c:1652 */
break;
case 1118:
#line 7526 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = SORTBY_NULLS_LAST; }
#line 34706 "gram.c" /* yacc.c:1652 */
break;
case 1119:
#line 7527 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = SORTBY_NULLS_DEFAULT; }
#line 34712 "gram.c" /* yacc.c:1652 */
break;
case 1120:
#line 7545 "gram.y" /* yacc.c:1652 */
{
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 34727 "gram.c" /* yacc.c:1652 */
break;
case 1121:
#line 7557 "gram.y" /* yacc.c:1652 */
{
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 34743 "gram.c" /* yacc.c:1652 */
break;
case 1122:
#line 7570 "gram.y" /* yacc.c:1652 */
{
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 34758 "gram.c" /* yacc.c:1652 */
break;
case 1123:
#line 7582 "gram.y" /* yacc.c:1652 */
{
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 34773 "gram.c" /* yacc.c:1652 */
break;
case 1124:
#line 7595 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = true; }
#line 34779 "gram.c" /* yacc.c:1652 */
break;
case 1125:
#line 7596 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 34785 "gram.c" /* yacc.c:1652 */
break;
case 1126:
#line 7599 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 34791 "gram.c" /* yacc.c:1652 */
break;
case 1127:
#line 7600 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 34797 "gram.c" /* yacc.c:1652 */
break;
case 1128:
#line 7604 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].fun_param)); }
#line 34803 "gram.c" /* yacc.c:1652 */
break;
case 1129:
#line 7605 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param)); }
#line 34809 "gram.c" /* yacc.c:1652 */
break;
case 1130:
#line 7609 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].objwithargs)); }
#line 34815 "gram.c" /* yacc.c:1652 */
break;
case 1131:
#line 7611 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].objwithargs)); }
#line 34821 "gram.c" /* yacc.c:1652 */
break;
case 1132:
#line 7616 "gram.y" /* yacc.c:1652 */
{
ObjectWithArgs *n = makeNode(ObjectWithArgs);
n->objname = (yyvsp[-1].list);
n->objargs = extractArgTypes((yyvsp[0].list));
(yyval.objwithargs) = n;
}
#line 34832 "gram.c" /* yacc.c:1652 */
break;
case 1133:
#line 7628 "gram.y" /* yacc.c:1652 */
{
ObjectWithArgs *n = makeNode(ObjectWithArgs);
n->objname = list_make1(makeString(pstrdup((yyvsp[0].keyword))));
n->args_unspecified = true;
(yyval.objwithargs) = n;
}
#line 34843 "gram.c" /* yacc.c:1652 */
break;
case 1134:
#line 7635 "gram.y" /* yacc.c:1652 */
{
ObjectWithArgs *n = makeNode(ObjectWithArgs);
n->objname = list_make1(makeString((yyvsp[0].str)));
n->args_unspecified = true;
(yyval.objwithargs) = n;
}
#line 34854 "gram.c" /* yacc.c:1652 */
break;
case 1135:
#line 7642 "gram.y" /* yacc.c:1652 */
{
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 34866 "gram.c" /* yacc.c:1652 */
break;
case 1136:
#line 7656 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 34872 "gram.c" /* yacc.c:1652 */
break;
case 1137:
#line 7657 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 34878 "gram.c" /* yacc.c:1652 */
break;
case 1138:
#line 7661 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].fun_param)); }
#line 34884 "gram.c" /* yacc.c:1652 */
break;
case 1139:
#line 7663 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param)); }
#line 34890 "gram.c" /* yacc.c:1652 */
break;
case 1140:
#line 7678 "gram.y" /* yacc.c:1652 */
{
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 34903 "gram.c" /* yacc.c:1652 */
break;
case 1141:
#line 7687 "gram.y" /* yacc.c:1652 */
{
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 34916 "gram.c" /* yacc.c:1652 */
break;
case 1142:
#line 7696 "gram.y" /* yacc.c:1652 */
{
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 34929 "gram.c" /* yacc.c:1652 */
break;
case 1143:
#line 7705 "gram.y" /* yacc.c:1652 */
{
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 34942 "gram.c" /* yacc.c:1652 */
break;
case 1144:
#line 7714 "gram.y" /* yacc.c:1652 */
{
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 34955 "gram.c" /* yacc.c:1652 */
break;
case 1145:
#line 7725 "gram.y" /* yacc.c:1652 */
{ (yyval.fun_param_mode) = FUNC_PARAM_IN; }
#line 34961 "gram.c" /* yacc.c:1652 */
break;
case 1146:
#line 7726 "gram.y" /* yacc.c:1652 */
{ (yyval.fun_param_mode) = FUNC_PARAM_OUT; }
#line 34967 "gram.c" /* yacc.c:1652 */
break;
case 1147:
#line 7727 "gram.y" /* yacc.c:1652 */
{ (yyval.fun_param_mode) = FUNC_PARAM_INOUT; }
#line 34973 "gram.c" /* yacc.c:1652 */
break;
case 1148:
#line 7728 "gram.y" /* yacc.c:1652 */
{ (yyval.fun_param_mode) = FUNC_PARAM_INOUT; }
#line 34979 "gram.c" /* yacc.c:1652 */
break;
case 1149:
#line 7729 "gram.y" /* yacc.c:1652 */
{ (yyval.fun_param_mode) = FUNC_PARAM_VARIADIC; }
#line 34985 "gram.c" /* yacc.c:1652 */
break;
case 1151:
#line 7740 "gram.y" /* yacc.c:1652 */
{
/* 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 34997 "gram.c" /* yacc.c:1652 */
break;
case 1152:
#line 7754 "gram.y" /* yacc.c:1652 */
{ (yyval.typnam) = (yyvsp[0].typnam); }
#line 35003 "gram.c" /* yacc.c:1652 */
break;
case 1153:
#line 7756 "gram.y" /* yacc.c:1652 */
{
(yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[-3].str)), (yyvsp[-2].list)));
(yyval.typnam)->pct_type = true;
(yyval.typnam)->location = (yylsp[-3]);
}
#line 35013 "gram.c" /* yacc.c:1652 */
break;
case 1154:
#line 7762 "gram.y" /* yacc.c:1652 */
{
(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 35024 "gram.c" /* yacc.c:1652 */
break;
case 1155:
#line 7772 "gram.y" /* yacc.c:1652 */
{
(yyval.fun_param) = (yyvsp[0].fun_param);
}
#line 35032 "gram.c" /* yacc.c:1652 */
break;
case 1156:
#line 7776 "gram.y" /* yacc.c:1652 */
{
(yyval.fun_param) = (yyvsp[-2].fun_param);
(yyval.fun_param)->defexpr = (yyvsp[0].node);
}
#line 35041 "gram.c" /* yacc.c:1652 */
break;
case 1157:
#line 7781 "gram.y" /* yacc.c:1652 */
{
(yyval.fun_param) = (yyvsp[-2].fun_param);
(yyval.fun_param)->defexpr = (yyvsp[0].node);
}
#line 35050 "gram.c" /* yacc.c:1652 */
break;
case 1158:
#line 7789 "gram.y" /* yacc.c:1652 */
{
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 35064 "gram.c" /* yacc.c:1652 */
break;
case 1159:
#line 7830 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make2(NIL, makeInteger(-1));
}
#line 35072 "gram.c" /* yacc.c:1652 */
break;
case 1160:
#line 7834 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make2((yyvsp[-1].list), makeInteger(-1));
}
#line 35080 "gram.c" /* yacc.c:1652 */
break;
case 1161:
#line 7838 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make2((yyvsp[-1].list), makeInteger(0));
}
#line 35088 "gram.c" /* yacc.c:1652 */
break;
case 1162:
#line 7842 "gram.y" /* yacc.c:1652 */
{
/* this is the only case requiring consistency checking */
(yyval.list) = makeOrderedSetArgs((yyvsp[-4].list), (yyvsp[-1].list), yyscanner);
}
#line 35097 "gram.c" /* yacc.c:1652 */
break;
case 1163:
#line 7849 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].fun_param)); }
#line 35103 "gram.c" /* yacc.c:1652 */
break;
case 1164:
#line 7850 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param)); }
#line 35109 "gram.c" /* yacc.c:1652 */
break;
case 1165:
#line 7855 "gram.y" /* yacc.c:1652 */
{
ObjectWithArgs *n = makeNode(ObjectWithArgs);
n->objname = (yyvsp[-1].list);
n->objargs = extractAggrArgTypes((yyvsp[0].list));
(yyval.objwithargs) = n;
}
#line 35120 "gram.c" /* yacc.c:1652 */
break;
case 1166:
#line 7864 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].objwithargs)); }
#line 35126 "gram.c" /* yacc.c:1652 */
break;
case 1167:
#line 7866 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].objwithargs)); }
#line 35132 "gram.c" /* yacc.c:1652 */
break;
case 1168:
#line 7871 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].defelt)); }
#line 35138 "gram.c" /* yacc.c:1652 */
break;
case 1169:
#line 7872 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
#line 35144 "gram.c" /* yacc.c:1652 */
break;
case 1170:
#line 7880 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("strict", (Node *)makeInteger(false), (yylsp[-3]));
}
#line 35152 "gram.c" /* yacc.c:1652 */
break;
case 1171:
#line 7884 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("strict", (Node *)makeInteger(true), (yylsp[-4]));
}
#line 35160 "gram.c" /* yacc.c:1652 */
break;
case 1172:
#line 7888 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("strict", (Node *)makeInteger(true), (yylsp[0]));
}
#line 35168 "gram.c" /* yacc.c:1652 */
break;
case 1173:
#line 7892 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("volatility", (Node *)makeString("immutable"), (yylsp[0]));
}
#line 35176 "gram.c" /* yacc.c:1652 */
break;
case 1174:
#line 7896 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("volatility", (Node *)makeString("stable"), (yylsp[0]));
}
#line 35184 "gram.c" /* yacc.c:1652 */
break;
case 1175:
#line 7900 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("volatility", (Node *)makeString("volatile"), (yylsp[0]));
}
#line 35192 "gram.c" /* yacc.c:1652 */
break;
case 1176:
#line 7904 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("security", (Node *)makeInteger(true), (yylsp[-2]));
}
#line 35200 "gram.c" /* yacc.c:1652 */
break;
case 1177:
#line 7908 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("security", (Node *)makeInteger(false), (yylsp[-2]));
}
#line 35208 "gram.c" /* yacc.c:1652 */
break;
case 1178:
#line 7912 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("security", (Node *)makeInteger(true), (yylsp[-1]));
}
#line 35216 "gram.c" /* yacc.c:1652 */
break;
case 1179:
#line 7916 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("security", (Node *)makeInteger(false), (yylsp[-1]));
}
#line 35224 "gram.c" /* yacc.c:1652 */
break;
case 1180:
#line 7920 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("leakproof", (Node *)makeInteger(true), (yylsp[0]));
}
#line 35232 "gram.c" /* yacc.c:1652 */
break;
case 1181:
#line 7924 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("leakproof", (Node *)makeInteger(false), (yylsp[-1]));
}
#line 35240 "gram.c" /* yacc.c:1652 */
break;
case 1182:
#line 7928 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("cost", (Node *)(yyvsp[0].value), (yylsp[-1]));
}
#line 35248 "gram.c" /* yacc.c:1652 */
break;
case 1183:
#line 7932 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("rows", (Node *)(yyvsp[0].value), (yylsp[-1]));
}
#line 35256 "gram.c" /* yacc.c:1652 */
break;
case 1184:
#line 7936 "gram.y" /* yacc.c:1652 */
{
/* we abuse the normal content of a DefElem here */
(yyval.defelt) = makeDefElem("set", (Node *)(yyvsp[0].vsetstmt), (yylsp[0]));
}
#line 35265 "gram.c" /* yacc.c:1652 */
break;
case 1185:
#line 7941 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("parallel", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
}
#line 35273 "gram.c" /* yacc.c:1652 */
break;
case 1186:
#line 7948 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("as", (Node *)(yyvsp[0].list), (yylsp[-1]));
}
#line 35281 "gram.c" /* yacc.c:1652 */
break;
case 1187:
#line 7952 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("language", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
}
#line 35289 "gram.c" /* yacc.c:1652 */
break;
case 1188:
#line 7956 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("transform", (Node *)(yyvsp[0].list), (yylsp[-1]));
}
#line 35297 "gram.c" /* yacc.c:1652 */
break;
case 1189:
#line 7960 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("window", (Node *)makeInteger(true), (yylsp[0]));
}
#line 35305 "gram.c" /* yacc.c:1652 */
break;
case 1190:
#line 7964 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = (yyvsp[0].defelt);
}
#line 35313 "gram.c" /* yacc.c:1652 */
break;
case 1191:
#line 7969 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
#line 35319 "gram.c" /* yacc.c:1652 */
break;
case 1192:
#line 7971 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make2(makeString((yyvsp[-2].str)), makeString((yyvsp[0].str)));
}
#line 35327 "gram.c" /* yacc.c:1652 */
break;
case 1193:
#line 7977 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].typnam)); }
#line 35333 "gram.c" /* yacc.c:1652 */
break;
case 1194:
#line 7978 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-4].list), (yyvsp[0].typnam)); }
#line 35339 "gram.c" /* yacc.c:1652 */
break;
case 1195:
#line 7982 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 35345 "gram.c" /* yacc.c:1652 */
break;
case 1196:
#line 7983 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 35351 "gram.c" /* yacc.c:1652 */
break;
case 1197:
#line 7987 "gram.y" /* yacc.c:1652 */
{
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 35364 "gram.c" /* yacc.c:1652 */
break;
case 1198:
#line 7999 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make1((yyvsp[0].fun_param));
}
#line 35372 "gram.c" /* yacc.c:1652 */
break;
case 1199:
#line 8003 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param));
}
#line 35380 "gram.c" /* yacc.c:1652 */
break;
case 1200:
#line 8018 "gram.y" /* yacc.c:1652 */
{
AlterFunctionStmt *n = makeNode(AlterFunctionStmt);
n->objtype = OBJECT_FUNCTION;
n->func = (yyvsp[-2].objwithargs);
n->actions = (yyvsp[-1].list);
(yyval.node) = (Node *) n;
}
#line 35392 "gram.c" /* yacc.c:1652 */
break;
case 1201:
#line 8026 "gram.y" /* yacc.c:1652 */
{
AlterFunctionStmt *n = makeNode(AlterFunctionStmt);
n->objtype = OBJECT_PROCEDURE;
n->func = (yyvsp[-2].objwithargs);
n->actions = (yyvsp[-1].list);
(yyval.node) = (Node *) n;
}
#line 35404 "gram.c" /* yacc.c:1652 */
break;
case 1202:
#line 8034 "gram.y" /* yacc.c:1652 */
{
AlterFunctionStmt *n = makeNode(AlterFunctionStmt);
n->objtype = OBJECT_ROUTINE;
n->func = (yyvsp[-2].objwithargs);
n->actions = (yyvsp[-1].list);
(yyval.node) = (Node *) n;
}
#line 35416 "gram.c" /* yacc.c:1652 */
break;
case 1203:
#line 8045 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].defelt)); }
#line 35422 "gram.c" /* yacc.c:1652 */
break;
case 1204:
#line 8046 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
#line 35428 "gram.c" /* yacc.c:1652 */
break;
case 1207:
#line 8070 "gram.y" /* yacc.c:1652 */
{
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 35442 "gram.c" /* yacc.c:1652 */
break;
case 1208:
#line 8080 "gram.y" /* yacc.c:1652 */
{
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 35456 "gram.c" /* yacc.c:1652 */
break;
case 1209:
#line 8090 "gram.y" /* yacc.c:1652 */
{
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 35470 "gram.c" /* yacc.c:1652 */
break;
case 1210:
#line 8100 "gram.y" /* yacc.c:1652 */
{
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 35484 "gram.c" /* yacc.c:1652 */
break;
case 1211:
#line 8110 "gram.y" /* yacc.c:1652 */
{
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 35498 "gram.c" /* yacc.c:1652 */
break;
case 1212:
#line 8120 "gram.y" /* yacc.c:1652 */
{
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 35512 "gram.c" /* yacc.c:1652 */
break;
case 1213:
#line 8133 "gram.y" /* yacc.c:1652 */
{
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 35526 "gram.c" /* yacc.c:1652 */
break;
case 1214:
#line 8143 "gram.y" /* yacc.c:1652 */
{
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 35540 "gram.c" /* yacc.c:1652 */
break;
case 1215:
#line 8156 "gram.y" /* yacc.c:1652 */
{
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 35554 "gram.c" /* yacc.c:1652 */
break;
case 1216:
#line 8166 "gram.y" /* yacc.c:1652 */
{
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 35568 "gram.c" /* yacc.c:1652 */
break;
case 1217:
#line 8179 "gram.y" /* yacc.c:1652 */
{
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 35580 "gram.c" /* yacc.c:1652 */
break;
case 1218:
#line 8187 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make2((yyvsp[-3].typnam), (yyvsp[-1].typnam)); }
#line 35586 "gram.c" /* yacc.c:1652 */
break;
case 1219:
#line 8189 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make2(NULL, (yyvsp[-1].typnam)); }
#line 35592 "gram.c" /* yacc.c:1652 */
break;
case 1220:
#line 8191 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make2((yyvsp[-3].typnam), NULL); }
#line 35598 "gram.c" /* yacc.c:1652 */
break;
case 1221:
#line 8196 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
#line 35604 "gram.c" /* yacc.c:1652 */
break;
case 1222:
#line 8198 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lcons(makeString((yyvsp[-2].str)), (yyvsp[0].list)); }
#line 35610 "gram.c" /* yacc.c:1652 */
break;
case 1223:
#line 8202 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].objwithargs)); }
#line 35616 "gram.c" /* yacc.c:1652 */
break;
case 1224:
#line 8204 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].objwithargs)); }
#line 35622 "gram.c" /* yacc.c:1652 */
break;
case 1225:
#line 8209 "gram.y" /* yacc.c:1652 */
{
ObjectWithArgs *n = makeNode(ObjectWithArgs);
n->objname = (yyvsp[-1].list);
n->objargs = (yyvsp[0].list);
(yyval.objwithargs) = n;
}
#line 35633 "gram.c" /* yacc.c:1652 */
break;
case 1226:
#line 8227 "gram.y" /* yacc.c:1652 */
{
DoStmt *n = makeNode(DoStmt);
n->args = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 35643 "gram.c" /* yacc.c:1652 */
break;
case 1227:
#line 8235 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].defelt)); }
#line 35649 "gram.c" /* yacc.c:1652 */
break;
case 1228:
#line 8236 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
#line 35655 "gram.c" /* yacc.c:1652 */
break;
case 1229:
#line 8241 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("as", (Node *)makeString((yyvsp[0].str)), (yylsp[0]));
}
#line 35663 "gram.c" /* yacc.c:1652 */
break;
case 1230:
#line 8245 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("language", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
}
#line 35671 "gram.c" /* yacc.c:1652 */
break;
case 1231:
#line 8258 "gram.y" /* yacc.c:1652 */
{
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 35685 "gram.c" /* yacc.c:1652 */
break;
case 1232:
#line 8269 "gram.y" /* yacc.c:1652 */
{
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 35699 "gram.c" /* yacc.c:1652 */
break;
case 1233:
#line 8280 "gram.y" /* yacc.c:1652 */
{
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 35713 "gram.c" /* yacc.c:1652 */
break;
case 1234:
#line 8291 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = COERCION_IMPLICIT; }
#line 35719 "gram.c" /* yacc.c:1652 */
break;
case 1235:
#line 8292 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = COERCION_ASSIGNMENT; }
#line 35725 "gram.c" /* yacc.c:1652 */
break;
case 1236:
#line 8293 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = COERCION_EXPLICIT; }
#line 35731 "gram.c" /* yacc.c:1652 */
break;
case 1237:
#line 8298 "gram.y" /* yacc.c:1652 */
{
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 35745 "gram.c" /* yacc.c:1652 */
break;
case 1238:
#line 8309 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = true; }
#line 35751 "gram.c" /* yacc.c:1652 */
break;
case 1239:
#line 8310 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 35757 "gram.c" /* yacc.c:1652 */
break;
case 1240:
#line 8321 "gram.y" /* yacc.c:1652 */
{
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 35771 "gram.c" /* yacc.c:1652 */
break;
case 1241:
#line 8333 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make2((yyvsp[-6].objwithargs), (yyvsp[0].objwithargs));
}
#line 35779 "gram.c" /* yacc.c:1652 */
break;
case 1242:
#line 8337 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make2((yyvsp[0].objwithargs), (yyvsp[-6].objwithargs));
}
#line 35787 "gram.c" /* yacc.c:1652 */
break;
case 1243:
#line 8341 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make2((yyvsp[0].objwithargs), NULL);
}
#line 35795 "gram.c" /* yacc.c:1652 */
break;
case 1244:
#line 8345 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make2(NULL, (yyvsp[0].objwithargs));
}
#line 35803 "gram.c" /* yacc.c:1652 */
break;
case 1245:
#line 8352 "gram.y" /* yacc.c:1652 */
{
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 35816 "gram.c" /* yacc.c:1652 */
break;
case 1246:
#line 8372 "gram.y" /* yacc.c:1652 */
{
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 35829 "gram.c" /* yacc.c:1652 */
break;
case 1247:
#line 8381 "gram.y" /* yacc.c:1652 */
{
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 35842 "gram.c" /* yacc.c:1652 */
break;
case 1248:
#line 8390 "gram.y" /* yacc.c:1652 */
{
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 35855 "gram.c" /* yacc.c:1652 */
break;
case 1249:
#line 8399 "gram.y" /* yacc.c:1652 */
{
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 35868 "gram.c" /* yacc.c:1652 */
break;
case 1250:
#line 8409 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = REINDEX_OBJECT_INDEX; }
#line 35874 "gram.c" /* yacc.c:1652 */
break;
case 1251:
#line 8410 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = REINDEX_OBJECT_TABLE; }
#line 35880 "gram.c" /* yacc.c:1652 */
break;
case 1252:
#line 8413 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = REINDEX_OBJECT_SCHEMA; }
#line 35886 "gram.c" /* yacc.c:1652 */
break;
case 1253:
#line 8414 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = REINDEX_OBJECT_SYSTEM; }
#line 35892 "gram.c" /* yacc.c:1652 */
break;
case 1254:
#line 8415 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = REINDEX_OBJECT_DATABASE; }
#line 35898 "gram.c" /* yacc.c:1652 */
break;
case 1255:
#line 8418 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = (yyvsp[0].ival); }
#line 35904 "gram.c" /* yacc.c:1652 */
break;
case 1256:
#line 8419 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = (yyvsp[-2].ival) | (yyvsp[0].ival); }
#line 35910 "gram.c" /* yacc.c:1652 */
break;
case 1257:
#line 8422 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = REINDEXOPT_VERBOSE; }
#line 35916 "gram.c" /* yacc.c:1652 */
break;
case 1258:
#line 8433 "gram.y" /* yacc.c:1652 */
{
AlterTableSpaceOptionsStmt *n =
makeNode(AlterTableSpaceOptionsStmt);
n->tablespacename = (yyvsp[-2].str);
n->options = (yyvsp[0].list);
n->isReset = false;
(yyval.node) = (Node *)n;
}
#line 35929 "gram.c" /* yacc.c:1652 */
break;
case 1259:
#line 8442 "gram.y" /* yacc.c:1652 */
{
AlterTableSpaceOptionsStmt *n =
makeNode(AlterTableSpaceOptionsStmt);
n->tablespacename = (yyvsp[-2].str);
n->options = (yyvsp[0].list);
n->isReset = true;
(yyval.node) = (Node *)n;
}
#line 35942 "gram.c" /* yacc.c:1652 */
break;
case 1260:
#line 8459 "gram.y" /* yacc.c:1652 */
{
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 35955 "gram.c" /* yacc.c:1652 */
break;
case 1261:
#line 8468 "gram.y" /* yacc.c:1652 */
{
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 35968 "gram.c" /* yacc.c:1652 */
break;
case 1262:
#line 8477 "gram.y" /* yacc.c:1652 */
{
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 35981 "gram.c" /* yacc.c:1652 */
break;
case 1263:
#line 8486 "gram.y" /* yacc.c:1652 */
{
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 35994 "gram.c" /* yacc.c:1652 */
break;
case 1264:
#line 8495 "gram.y" /* yacc.c:1652 */
{
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 36007 "gram.c" /* yacc.c:1652 */
break;
case 1265:
#line 8504 "gram.y" /* yacc.c:1652 */
{
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 36020 "gram.c" /* yacc.c:1652 */
break;
case 1266:
#line 8513 "gram.y" /* yacc.c:1652 */
{
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 36033 "gram.c" /* yacc.c:1652 */
break;
case 1267:
#line 8522 "gram.y" /* yacc.c:1652 */
{
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 36046 "gram.c" /* yacc.c:1652 */
break;
case 1268:
#line 8531 "gram.y" /* yacc.c:1652 */
{
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 36059 "gram.c" /* yacc.c:1652 */
break;
case 1269:
#line 8540 "gram.y" /* yacc.c:1652 */
{
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 36072 "gram.c" /* yacc.c:1652 */
break;
case 1270:
#line 8549 "gram.y" /* yacc.c:1652 */
{
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 36085 "gram.c" /* yacc.c:1652 */
break;
case 1271:
#line 8558 "gram.y" /* yacc.c:1652 */
{
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 36098 "gram.c" /* yacc.c:1652 */
break;
case 1272:
#line 8567 "gram.y" /* yacc.c:1652 */
{
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 36112 "gram.c" /* yacc.c:1652 */
break;
case 1273:
#line 8577 "gram.y" /* yacc.c:1652 */
{
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 36126 "gram.c" /* yacc.c:1652 */
break;
case 1274:
#line 8587 "gram.y" /* yacc.c:1652 */
{
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 36139 "gram.c" /* yacc.c:1652 */
break;
case 1275:
#line 8596 "gram.y" /* yacc.c:1652 */
{
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 36152 "gram.c" /* yacc.c:1652 */
break;
case 1276:
#line 8605 "gram.y" /* yacc.c:1652 */
{
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 36165 "gram.c" /* yacc.c:1652 */
break;
case 1277:
#line 8614 "gram.y" /* yacc.c:1652 */
{
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 36178 "gram.c" /* yacc.c:1652 */
break;
case 1278:
#line 8623 "gram.y" /* yacc.c:1652 */
{
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 36191 "gram.c" /* yacc.c:1652 */
break;
case 1279:
#line 8632 "gram.y" /* yacc.c:1652 */
{
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 36204 "gram.c" /* yacc.c:1652 */
break;
case 1280:
#line 8641 "gram.y" /* yacc.c:1652 */
{
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 36218 "gram.c" /* yacc.c:1652 */
break;
case 1281:
#line 8651 "gram.y" /* yacc.c:1652 */
{
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 36232 "gram.c" /* yacc.c:1652 */
break;
case 1282:
#line 8661 "gram.y" /* yacc.c:1652 */
{
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 36246 "gram.c" /* yacc.c:1652 */
break;
case 1283:
#line 8671 "gram.y" /* yacc.c:1652 */
{
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 36260 "gram.c" /* yacc.c:1652 */
break;
case 1284:
#line 8681 "gram.y" /* yacc.c:1652 */
{
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 36274 "gram.c" /* yacc.c:1652 */
break;
case 1285:
#line 8691 "gram.y" /* yacc.c:1652 */
{
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 36288 "gram.c" /* yacc.c:1652 */
break;
case 1286:
#line 8701 "gram.y" /* yacc.c:1652 */
{
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 36302 "gram.c" /* yacc.c:1652 */
break;
case 1287:
#line 8711 "gram.y" /* yacc.c:1652 */
{
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 36316 "gram.c" /* yacc.c:1652 */
break;
case 1288:
#line 8721 "gram.y" /* yacc.c:1652 */
{
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 36330 "gram.c" /* yacc.c:1652 */
break;
case 1289:
#line 8731 "gram.y" /* yacc.c:1652 */
{
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 36344 "gram.c" /* yacc.c:1652 */
break;
case 1290:
#line 8741 "gram.y" /* yacc.c:1652 */
{
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 36358 "gram.c" /* yacc.c:1652 */
break;
case 1291:
#line 8751 "gram.y" /* yacc.c:1652 */
{
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 36372 "gram.c" /* yacc.c:1652 */
break;
case 1292:
#line 8761 "gram.y" /* yacc.c:1652 */
{
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 36387 "gram.c" /* yacc.c:1652 */
break;
case 1293:
#line 8772 "gram.y" /* yacc.c:1652 */
{
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 36402 "gram.c" /* yacc.c:1652 */
break;
case 1294:
#line 8783 "gram.y" /* yacc.c:1652 */
{
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 36417 "gram.c" /* yacc.c:1652 */
break;
case 1295:
#line 8794 "gram.y" /* yacc.c:1652 */
{
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 36432 "gram.c" /* yacc.c:1652 */
break;
case 1296:
#line 8805 "gram.y" /* yacc.c:1652 */
{
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 36446 "gram.c" /* yacc.c:1652 */
break;
case 1297:
#line 8815 "gram.y" /* yacc.c:1652 */
{
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 36460 "gram.c" /* yacc.c:1652 */
break;
case 1298:
#line 8825 "gram.y" /* yacc.c:1652 */
{
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 36475 "gram.c" /* yacc.c:1652 */
break;
case 1299:
#line 8836 "gram.y" /* yacc.c:1652 */
{
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 36490 "gram.c" /* yacc.c:1652 */
break;
case 1300:
#line 8847 "gram.y" /* yacc.c:1652 */
{
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 36504 "gram.c" /* yacc.c:1652 */
break;
case 1301:
#line 8857 "gram.y" /* yacc.c:1652 */
{
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 36518 "gram.c" /* yacc.c:1652 */
break;
case 1302:
#line 8867 "gram.y" /* yacc.c:1652 */
{
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 36530 "gram.c" /* yacc.c:1652 */
break;
case 1303:
#line 8875 "gram.y" /* yacc.c:1652 */
{
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 36543 "gram.c" /* yacc.c:1652 */
break;
case 1304:
#line 8884 "gram.y" /* yacc.c:1652 */
{
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 36556 "gram.c" /* yacc.c:1652 */
break;
case 1305:
#line 8893 "gram.y" /* yacc.c:1652 */
{
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 36569 "gram.c" /* yacc.c:1652 */
break;
case 1306:
#line 8902 "gram.y" /* yacc.c:1652 */
{
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 36582 "gram.c" /* yacc.c:1652 */
break;
case 1307:
#line 8911 "gram.y" /* yacc.c:1652 */
{
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 36595 "gram.c" /* yacc.c:1652 */
break;
case 1308:
#line 8920 "gram.y" /* yacc.c:1652 */
{
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 36608 "gram.c" /* yacc.c:1652 */
break;
case 1309:
#line 8929 "gram.y" /* yacc.c:1652 */
{
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 36621 "gram.c" /* yacc.c:1652 */
break;
case 1310:
#line 8938 "gram.y" /* yacc.c:1652 */
{
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 36634 "gram.c" /* yacc.c:1652 */
break;
case 1311:
#line 8947 "gram.y" /* yacc.c:1652 */
{
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 36647 "gram.c" /* yacc.c:1652 */
break;
case 1312:
#line 8956 "gram.y" /* yacc.c:1652 */
{
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 36663 "gram.c" /* yacc.c:1652 */
break;
case 1313:
#line 8969 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = COLUMN; }
#line 36669 "gram.c" /* yacc.c:1652 */
break;
case 1314:
#line 8970 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = 0; }
#line 36675 "gram.c" /* yacc.c:1652 */
break;
case 1315:
#line 8973 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = 1; }
#line 36681 "gram.c" /* yacc.c:1652 */
break;
case 1316:
#line 8974 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = 0; }
#line 36687 "gram.c" /* yacc.c:1652 */
break;
case 1317:
#line 8985 "gram.y" /* yacc.c:1652 */
{
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 36699 "gram.c" /* yacc.c:1652 */
break;
case 1318:
#line 8993 "gram.y" /* yacc.c:1652 */
{
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 36711 "gram.c" /* yacc.c:1652 */
break;
case 1319:
#line 9001 "gram.y" /* yacc.c:1652 */
{
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 36723 "gram.c" /* yacc.c:1652 */
break;
case 1320:
#line 9009 "gram.y" /* yacc.c:1652 */
{
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 36736 "gram.c" /* yacc.c:1652 */
break;
case 1321:
#line 9018 "gram.y" /* yacc.c:1652 */
{
AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
n->objectType = OBJECT_MATVIEW;
n->relation = (yyvsp[-4].range);
n->extname = makeString((yyvsp[0].str));
(yyval.node) = (Node *)n;
}
#line 36748 "gram.c" /* yacc.c:1652 */
break;
case 1322:
#line 9026 "gram.y" /* yacc.c:1652 */
{
AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
n->objectType = OBJECT_INDEX;
n->relation = (yyvsp[-4].range);
n->extname = makeString((yyvsp[0].str));
(yyval.node) = (Node *)n;
}
#line 36760 "gram.c" /* yacc.c:1652 */
break;
case 1323:
#line 9043 "gram.y" /* yacc.c:1652 */
{
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 36773 "gram.c" /* yacc.c:1652 */
break;
case 1324:
#line 9052 "gram.y" /* yacc.c:1652 */
{
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 36786 "gram.c" /* yacc.c:1652 */
break;
case 1325:
#line 9061 "gram.y" /* yacc.c:1652 */
{
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 36799 "gram.c" /* yacc.c:1652 */
break;
case 1326:
#line 9070 "gram.y" /* yacc.c:1652 */
{
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 36812 "gram.c" /* yacc.c:1652 */
break;
case 1327:
#line 9079 "gram.y" /* yacc.c:1652 */
{
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 36825 "gram.c" /* yacc.c:1652 */
break;
case 1328:
#line 9088 "gram.y" /* yacc.c:1652 */
{
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 36838 "gram.c" /* yacc.c:1652 */
break;
case 1329:
#line 9097 "gram.y" /* yacc.c:1652 */
{
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 36851 "gram.c" /* yacc.c:1652 */
break;
case 1330:
#line 9106 "gram.y" /* yacc.c:1652 */
{
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 36864 "gram.c" /* yacc.c:1652 */
break;
case 1331:
#line 9115 "gram.y" /* yacc.c:1652 */
{
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 36877 "gram.c" /* yacc.c:1652 */
break;
case 1332:
#line 9124 "gram.y" /* yacc.c:1652 */
{
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 36890 "gram.c" /* yacc.c:1652 */
break;
case 1333:
#line 9133 "gram.y" /* yacc.c:1652 */
{
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 36903 "gram.c" /* yacc.c:1652 */
break;
case 1334:
#line 9142 "gram.y" /* yacc.c:1652 */
{
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 36916 "gram.c" /* yacc.c:1652 */
break;
case 1335:
#line 9151 "gram.y" /* yacc.c:1652 */
{
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 36929 "gram.c" /* yacc.c:1652 */
break;
case 1336:
#line 9160 "gram.y" /* yacc.c:1652 */
{
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 36942 "gram.c" /* yacc.c:1652 */
break;
case 1337:
#line 9169 "gram.y" /* yacc.c:1652 */
{
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 36955 "gram.c" /* yacc.c:1652 */
break;
case 1338:
#line 9178 "gram.y" /* yacc.c:1652 */
{
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 36968 "gram.c" /* yacc.c:1652 */
break;
case 1339:
#line 9187 "gram.y" /* yacc.c:1652 */
{
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 36981 "gram.c" /* yacc.c:1652 */
break;
case 1340:
#line 9196 "gram.y" /* yacc.c:1652 */
{
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 36994 "gram.c" /* yacc.c:1652 */
break;
case 1341:
#line 9205 "gram.y" /* yacc.c:1652 */
{
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 37007 "gram.c" /* yacc.c:1652 */
break;
case 1342:
#line 9214 "gram.y" /* yacc.c:1652 */
{
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 37020 "gram.c" /* yacc.c:1652 */
break;
case 1343:
#line 9223 "gram.y" /* yacc.c:1652 */
{
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 37033 "gram.c" /* yacc.c:1652 */
break;
case 1344:
#line 9232 "gram.y" /* yacc.c:1652 */
{
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 37046 "gram.c" /* yacc.c:1652 */
break;
case 1345:
#line 9241 "gram.y" /* yacc.c:1652 */
{
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 37059 "gram.c" /* yacc.c:1652 */
break;
case 1346:
#line 9250 "gram.y" /* yacc.c:1652 */
{
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 37072 "gram.c" /* yacc.c:1652 */
break;
case 1347:
#line 9259 "gram.y" /* yacc.c:1652 */
{
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 37085 "gram.c" /* yacc.c:1652 */
break;
case 1348:
#line 9268 "gram.y" /* yacc.c:1652 */
{
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 37098 "gram.c" /* yacc.c:1652 */
break;
case 1349:
#line 9277 "gram.y" /* yacc.c:1652 */
{
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 37111 "gram.c" /* yacc.c:1652 */
break;
case 1350:
#line 9295 "gram.y" /* yacc.c:1652 */
{
AlterOperatorStmt *n = makeNode(AlterOperatorStmt);
n->opername = (yyvsp[-4].objwithargs);
n->options = (yyvsp[-1].list);
(yyval.node) = (Node *)n;
}
#line 37122 "gram.c" /* yacc.c:1652 */
break;
case 1351:
#line 9303 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].defelt)); }
#line 37128 "gram.c" /* yacc.c:1652 */
break;
case 1352:
#line 9304 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
#line 37134 "gram.c" /* yacc.c:1652 */
break;
case 1353:
#line 9308 "gram.y" /* yacc.c:1652 */
{ (yyval.defelt) = makeDefElem((yyvsp[-2].str), NULL, (yylsp[-2])); }
#line 37140 "gram.c" /* yacc.c:1652 */
break;
case 1354:
#line 9310 "gram.y" /* yacc.c:1652 */
{ (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *) (yyvsp[0].node), (yylsp[-2])); }
#line 37146 "gram.c" /* yacc.c:1652 */
break;
case 1355:
#line 9315 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *)(yyvsp[0].typnam); }
#line 37152 "gram.c" /* yacc.c:1652 */
break;
case 1356:
#line 9316 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *)makeString(pstrdup((yyvsp[0].keyword))); }
#line 37158 "gram.c" /* yacc.c:1652 */
break;
case 1357:
#line 9317 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *)(yyvsp[0].list); }
#line 37164 "gram.c" /* yacc.c:1652 */
break;
case 1358:
#line 9318 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *)(yyvsp[0].value); }
#line 37170 "gram.c" /* yacc.c:1652 */
break;
case 1359:
#line 9319 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *)makeString((yyvsp[0].str)); }
#line 37176 "gram.c" /* yacc.c:1652 */
break;
case 1360:
#line 9329 "gram.y" /* yacc.c:1652 */
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_AGGREGATE;
n->object = (Node *) (yyvsp[-3].objwithargs);
n->newowner = (yyvsp[0].rolespec);
(yyval.node) = (Node *)n;
}
#line 37188 "gram.c" /* yacc.c:1652 */
break;
case 1361:
#line 9337 "gram.y" /* yacc.c:1652 */
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_COLLATION;
n->object = (Node *) (yyvsp[-3].list);
n->newowner = (yyvsp[0].rolespec);
(yyval.node) = (Node *)n;
}
#line 37200 "gram.c" /* yacc.c:1652 */
break;
case 1362:
#line 9345 "gram.y" /* yacc.c:1652 */
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_CONVERSION;
n->object = (Node *) (yyvsp[-3].list);
n->newowner = (yyvsp[0].rolespec);
(yyval.node) = (Node *)n;
}
#line 37212 "gram.c" /* yacc.c:1652 */
break;
case 1363:
#line 9353 "gram.y" /* yacc.c:1652 */
{
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 37224 "gram.c" /* yacc.c:1652 */
break;
case 1364:
#line 9361 "gram.y" /* yacc.c:1652 */
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_DOMAIN;
n->object = (Node *) (yyvsp[-3].list);
n->newowner = (yyvsp[0].rolespec);
(yyval.node) = (Node *)n;
}
#line 37236 "gram.c" /* yacc.c:1652 */
break;
case 1365:
#line 9369 "gram.y" /* yacc.c:1652 */
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_FUNCTION;
n->object = (Node *) (yyvsp[-3].objwithargs);
n->newowner = (yyvsp[0].rolespec);
(yyval.node) = (Node *)n;
}
#line 37248 "gram.c" /* yacc.c:1652 */
break;
case 1366:
#line 9377 "gram.y" /* yacc.c:1652 */
{
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 37260 "gram.c" /* yacc.c:1652 */
break;
case 1367:
#line 9385 "gram.y" /* yacc.c:1652 */
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_LARGEOBJECT;
n->object = (Node *) (yyvsp[-3].value);
n->newowner = (yyvsp[0].rolespec);
(yyval.node) = (Node *)n;
}
#line 37272 "gram.c" /* yacc.c:1652 */
break;
case 1368:
#line 9393 "gram.y" /* yacc.c:1652 */
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_OPERATOR;
n->object = (Node *) (yyvsp[-3].objwithargs);
n->newowner = (yyvsp[0].rolespec);
(yyval.node) = (Node *)n;
}
#line 37284 "gram.c" /* yacc.c:1652 */
break;
case 1369:
#line 9401 "gram.y" /* yacc.c:1652 */
{
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 37296 "gram.c" /* yacc.c:1652 */
break;
case 1370:
#line 9409 "gram.y" /* yacc.c:1652 */
{
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 37308 "gram.c" /* yacc.c:1652 */
break;
case 1371:
#line 9417 "gram.y" /* yacc.c:1652 */
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_PROCEDURE;
n->object = (Node *) (yyvsp[-3].objwithargs);
n->newowner = (yyvsp[0].rolespec);
(yyval.node) = (Node *)n;
}
#line 37320 "gram.c" /* yacc.c:1652 */
break;
case 1372:
#line 9425 "gram.y" /* yacc.c:1652 */
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_ROUTINE;
n->object = (Node *) (yyvsp[-3].objwithargs);
n->newowner = (yyvsp[0].rolespec);
(yyval.node) = (Node *)n;
}
#line 37332 "gram.c" /* yacc.c:1652 */
break;
case 1373:
#line 9433 "gram.y" /* yacc.c:1652 */
{
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 37344 "gram.c" /* yacc.c:1652 */
break;
case 1374:
#line 9441 "gram.y" /* yacc.c:1652 */
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_TYPE;
n->object = (Node *) (yyvsp[-3].list);
n->newowner = (yyvsp[0].rolespec);
(yyval.node) = (Node *)n;
}
#line 37356 "gram.c" /* yacc.c:1652 */
break;
case 1375:
#line 9449 "gram.y" /* yacc.c:1652 */
{
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 37368 "gram.c" /* yacc.c:1652 */
break;
case 1376:
#line 9457 "gram.y" /* yacc.c:1652 */
{
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 37380 "gram.c" /* yacc.c:1652 */
break;
case 1377:
#line 9465 "gram.y" /* yacc.c:1652 */
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_TSDICTIONARY;
n->object = (Node *) (yyvsp[-3].list);
n->newowner = (yyvsp[0].rolespec);
(yyval.node) = (Node *)n;
}
#line 37392 "gram.c" /* yacc.c:1652 */
break;
case 1378:
#line 9473 "gram.y" /* yacc.c:1652 */
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_TSCONFIGURATION;
n->object = (Node *) (yyvsp[-3].list);
n->newowner = (yyvsp[0].rolespec);
(yyval.node) = (Node *)n;
}
#line 37404 "gram.c" /* yacc.c:1652 */
break;
case 1379:
#line 9481 "gram.y" /* yacc.c:1652 */
{
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 37416 "gram.c" /* yacc.c:1652 */
break;
case 1380:
#line 9489 "gram.y" /* yacc.c:1652 */
{
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 37428 "gram.c" /* yacc.c:1652 */
break;
case 1381:
#line 9497 "gram.y" /* yacc.c:1652 */
{
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 37440 "gram.c" /* yacc.c:1652 */
break;
case 1382:
#line 9505 "gram.y" /* yacc.c:1652 */
{
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 37452 "gram.c" /* yacc.c:1652 */
break;
case 1383:
#line 9513 "gram.y" /* yacc.c:1652 */
{
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 37464 "gram.c" /* yacc.c:1652 */
break;
case 1384:
#line 9531 "gram.y" /* yacc.c:1652 */
{
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 37484 "gram.c" /* yacc.c:1652 */
break;
case 1385:
#line 9549 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 37490 "gram.c" /* yacc.c:1652 */
break;
case 1386:
#line 9550 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = NULL; }
#line 37496 "gram.c" /* yacc.c:1652 */
break;
case 1387:
#line 9555 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (Node *) (yyvsp[0].list);
}
#line 37504 "gram.c" /* yacc.c:1652 */
break;
case 1388:
#line 9559 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (Node *) makeInteger(true);
}
#line 37512 "gram.c" /* yacc.c:1652 */
break;
case 1389:
#line 9579 "gram.y" /* yacc.c:1652 */
{
AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
n->pubname = (yyvsp[-2].str);
n->options = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 37523 "gram.c" /* yacc.c:1652 */
break;
case 1390:
#line 9586 "gram.y" /* yacc.c:1652 */
{
AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
n->pubname = (yyvsp[-3].str);
n->tables = (yyvsp[0].list);
n->tableAction = DEFELEM_ADD;
(yyval.node) = (Node *)n;
}
#line 37535 "gram.c" /* yacc.c:1652 */
break;
case 1391:
#line 9594 "gram.y" /* yacc.c:1652 */
{
AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
n->pubname = (yyvsp[-3].str);
n->tables = (yyvsp[0].list);
n->tableAction = DEFELEM_SET;
(yyval.node) = (Node *)n;
}
#line 37547 "gram.c" /* yacc.c:1652 */
break;
case 1392:
#line 9602 "gram.y" /* yacc.c:1652 */
{
AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
n->pubname = (yyvsp[-3].str);
n->tables = (yyvsp[0].list);
n->tableAction = DEFELEM_DROP;
(yyval.node) = (Node *)n;
}
#line 37559 "gram.c" /* yacc.c:1652 */
break;
case 1393:
#line 9619 "gram.y" /* yacc.c:1652 */
{
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 37573 "gram.c" /* yacc.c:1652 */
break;
case 1394:
#line 9632 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make1((yyvsp[0].value));
}
#line 37581 "gram.c" /* yacc.c:1652 */
break;
case 1395:
#line 9636 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].value));
}
#line 37589 "gram.c" /* yacc.c:1652 */
break;
case 1396:
#line 9642 "gram.y" /* yacc.c:1652 */
{ (yyval.value) = makeString((yyvsp[0].str)); }
#line 37595 "gram.c" /* yacc.c:1652 */
break;
case 1397:
#line 9652 "gram.y" /* yacc.c:1652 */
{
AlterSubscriptionStmt *n =
makeNode(AlterSubscriptionStmt);
n->kind = ALTER_SUBSCRIPTION_OPTIONS;
n->subname = (yyvsp[-2].str);
n->options = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 37608 "gram.c" /* yacc.c:1652 */
break;
case 1398:
#line 9661 "gram.y" /* yacc.c:1652 */
{
AlterSubscriptionStmt *n =
makeNode(AlterSubscriptionStmt);
n->kind = ALTER_SUBSCRIPTION_CONNECTION;
n->subname = (yyvsp[-2].str);
n->conninfo = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 37621 "gram.c" /* yacc.c:1652 */
break;
case 1399:
#line 9670 "gram.y" /* yacc.c:1652 */
{
AlterSubscriptionStmt *n =
makeNode(AlterSubscriptionStmt);
n->kind = ALTER_SUBSCRIPTION_REFRESH;
n->subname = (yyvsp[-3].str);
n->options = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 37634 "gram.c" /* yacc.c:1652 */
break;
case 1400:
#line 9679 "gram.y" /* yacc.c:1652 */
{
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 37648 "gram.c" /* yacc.c:1652 */
break;
case 1401:
#line 9689 "gram.y" /* yacc.c:1652 */
{
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 37662 "gram.c" /* yacc.c:1652 */
break;
case 1402:
#line 9699 "gram.y" /* yacc.c:1652 */
{
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 37676 "gram.c" /* yacc.c:1652 */
break;
case 1403:
#line 9717 "gram.y" /* yacc.c:1652 */
{
DropSubscriptionStmt *n = makeNode(DropSubscriptionStmt);
n->subname = (yyvsp[-1].str);
n->missing_ok = false;
n->behavior = (yyvsp[0].dbehavior);
(yyval.node) = (Node *) n;
}
#line 37688 "gram.c" /* yacc.c:1652 */
break;
case 1404:
#line 9725 "gram.y" /* yacc.c:1652 */
{
DropSubscriptionStmt *n = makeNode(DropSubscriptionStmt);
n->subname = (yyvsp[-1].str);
n->missing_ok = true;
n->behavior = (yyvsp[0].dbehavior);
(yyval.node) = (Node *) n;
}
#line 37700 "gram.c" /* yacc.c:1652 */
break;
case 1405:
#line 9743 "gram.y" /* yacc.c:1652 */
{
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 37716 "gram.c" /* yacc.c:1652 */
break;
case 1406:
#line 9757 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 37722 "gram.c" /* yacc.c:1652 */
break;
case 1407:
#line 9758 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].node)); }
#line 37728 "gram.c" /* yacc.c:1652 */
break;
case 1408:
#line 9759 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 37734 "gram.c" /* yacc.c:1652 */
break;
case 1409:
#line 9765 "gram.y" /* yacc.c:1652 */
{ if ((yyvsp[0].node) != NULL)
(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
else
(yyval.list) = (yyvsp[-2].list);
}
#line 37744 "gram.c" /* yacc.c:1652 */
break;
case 1410:
#line 9771 "gram.y" /* yacc.c:1652 */
{ if ((yyvsp[0].node) != NULL)
(yyval.list) = list_make1((yyvsp[0].node));
else
(yyval.list) = NIL;
}
#line 37754 "gram.c" /* yacc.c:1652 */
break;
case 1416:
#line 9787 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 37760 "gram.c" /* yacc.c:1652 */
break;
case 1417:
#line 9788 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = NULL; }
#line 37766 "gram.c" /* yacc.c:1652 */
break;
case 1418:
#line 9791 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = CMD_SELECT; }
#line 37772 "gram.c" /* yacc.c:1652 */
break;
case 1419:
#line 9792 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = CMD_UPDATE; }
#line 37778 "gram.c" /* yacc.c:1652 */
break;
case 1420:
#line 9793 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = CMD_DELETE; }
#line 37784 "gram.c" /* yacc.c:1652 */
break;
case 1421:
#line 9794 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = CMD_INSERT; }
#line 37790 "gram.c" /* yacc.c:1652 */
break;
case 1422:
#line 9798 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = true; }
#line 37796 "gram.c" /* yacc.c:1652 */
break;
case 1423:
#line 9799 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 37802 "gram.c" /* yacc.c:1652 */
break;
case 1424:
#line 9800 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 37808 "gram.c" /* yacc.c:1652 */
break;
case 1425:
#line 9813 "gram.y" /* yacc.c:1652 */
{
NotifyStmt *n = makeNode(NotifyStmt);
n->conditionname = (yyvsp[-1].str);
n->payload = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 37819 "gram.c" /* yacc.c:1652 */
break;
case 1426:
#line 9822 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 37825 "gram.c" /* yacc.c:1652 */
break;
case 1427:
#line 9823 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = NULL; }
#line 37831 "gram.c" /* yacc.c:1652 */
break;
case 1428:
#line 9827 "gram.y" /* yacc.c:1652 */
{
ListenStmt *n = makeNode(ListenStmt);
n->conditionname = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 37841 "gram.c" /* yacc.c:1652 */
break;
case 1429:
#line 9836 "gram.y" /* yacc.c:1652 */
{
UnlistenStmt *n = makeNode(UnlistenStmt);
n->conditionname = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 37851 "gram.c" /* yacc.c:1652 */
break;
case 1430:
#line 9842 "gram.y" /* yacc.c:1652 */
{
UnlistenStmt *n = makeNode(UnlistenStmt);
n->conditionname = NULL;
(yyval.node) = (Node *)n;
}
#line 37861 "gram.c" /* yacc.c:1652 */
break;
case 1431:
#line 9861 "gram.y" /* yacc.c:1652 */
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_ROLLBACK;
n->options = NIL;
(yyval.node) = (Node *)n;
}
#line 37872 "gram.c" /* yacc.c:1652 */
break;
case 1432:
#line 9868 "gram.y" /* yacc.c:1652 */
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_BEGIN;
n->options = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 37883 "gram.c" /* yacc.c:1652 */
break;
case 1433:
#line 9875 "gram.y" /* yacc.c:1652 */
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_START;
n->options = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 37894 "gram.c" /* yacc.c:1652 */
break;
case 1434:
#line 9882 "gram.y" /* yacc.c:1652 */
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_COMMIT;
n->options = NIL;
(yyval.node) = (Node *)n;
}
#line 37905 "gram.c" /* yacc.c:1652 */
break;
case 1435:
#line 9889 "gram.y" /* yacc.c:1652 */
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_COMMIT;
n->options = NIL;
(yyval.node) = (Node *)n;
}
#line 37916 "gram.c" /* yacc.c:1652 */
break;
case 1436:
#line 9896 "gram.y" /* yacc.c:1652 */
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_ROLLBACK;
n->options = NIL;
(yyval.node) = (Node *)n;
}
#line 37927 "gram.c" /* yacc.c:1652 */
break;
case 1437:
#line 9903 "gram.y" /* yacc.c:1652 */
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_SAVEPOINT;
n->savepoint_name = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 37938 "gram.c" /* yacc.c:1652 */
break;
case 1438:
#line 9910 "gram.y" /* yacc.c:1652 */
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_RELEASE;
n->savepoint_name = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 37949 "gram.c" /* yacc.c:1652 */
break;
case 1439:
#line 9917 "gram.y" /* yacc.c:1652 */
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_RELEASE;
n->savepoint_name = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 37960 "gram.c" /* yacc.c:1652 */
break;
case 1440:
#line 9924 "gram.y" /* yacc.c:1652 */
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_ROLLBACK_TO;
n->savepoint_name = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 37971 "gram.c" /* yacc.c:1652 */
break;
case 1441:
#line 9931 "gram.y" /* yacc.c:1652 */
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_ROLLBACK_TO;
n->savepoint_name = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 37982 "gram.c" /* yacc.c:1652 */
break;
case 1442:
#line 9938 "gram.y" /* yacc.c:1652 */
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_PREPARE;
n->gid = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 37993 "gram.c" /* yacc.c:1652 */
break;
case 1443:
#line 9945 "gram.y" /* yacc.c:1652 */
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_COMMIT_PREPARED;
n->gid = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 38004 "gram.c" /* yacc.c:1652 */
break;
case 1444:
#line 9952 "gram.y" /* yacc.c:1652 */
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_ROLLBACK_PREPARED;
n->gid = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 38015 "gram.c" /* yacc.c:1652 */
break;
case 1445:
#line 9960 "gram.y" /* yacc.c:1652 */
{}
#line 38021 "gram.c" /* yacc.c:1652 */
break;
case 1446:
#line 9961 "gram.y" /* yacc.c:1652 */
{}
#line 38027 "gram.c" /* yacc.c:1652 */
break;
case 1447:
#line 9962 "gram.y" /* yacc.c:1652 */
{}
#line 38033 "gram.c" /* yacc.c:1652 */
break;
case 1448:
#line 9967 "gram.y" /* yacc.c:1652 */
{ (yyval.defelt) = makeDefElem("transaction_isolation",
makeStringConst((yyvsp[0].str), (yylsp[0])), (yylsp[-2])); }
#line 38040 "gram.c" /* yacc.c:1652 */
break;
case 1449:
#line 9970 "gram.y" /* yacc.c:1652 */
{ (yyval.defelt) = makeDefElem("transaction_read_only",
makeIntConst(true, (yylsp[-1])), (yylsp[-1])); }
#line 38047 "gram.c" /* yacc.c:1652 */
break;
case 1450:
#line 9973 "gram.y" /* yacc.c:1652 */
{ (yyval.defelt) = makeDefElem("transaction_read_only",
makeIntConst(false, (yylsp[-1])), (yylsp[-1])); }
#line 38054 "gram.c" /* yacc.c:1652 */
break;
case 1451:
#line 9976 "gram.y" /* yacc.c:1652 */
{ (yyval.defelt) = makeDefElem("transaction_deferrable",
makeIntConst(true, (yylsp[0])), (yylsp[0])); }
#line 38061 "gram.c" /* yacc.c:1652 */
break;
case 1452:
#line 9979 "gram.y" /* yacc.c:1652 */
{ (yyval.defelt) = makeDefElem("transaction_deferrable",
makeIntConst(false, (yylsp[-1])), (yylsp[-1])); }
#line 38068 "gram.c" /* yacc.c:1652 */
break;
case 1453:
#line 9986 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].defelt)); }
#line 38074 "gram.c" /* yacc.c:1652 */
break;
case 1454:
#line 9988 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
#line 38080 "gram.c" /* yacc.c:1652 */
break;
case 1455:
#line 9990 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
#line 38086 "gram.c" /* yacc.c:1652 */
break;
case 1457:
#line 9996 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 38092 "gram.c" /* yacc.c:1652 */
break;
case 1458:
#line 10010 "gram.y" /* yacc.c:1652 */
{
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 38108 "gram.c" /* yacc.c:1652 */
break;
case 1459:
#line 10023 "gram.y" /* yacc.c:1652 */
{
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 38124 "gram.c" /* yacc.c:1652 */
break;
case 1460:
#line 10036 "gram.y" /* yacc.c:1652 */
{
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 38145 "gram.c" /* yacc.c:1652 */
break;
case 1461:
#line 10054 "gram.y" /* yacc.c:1652 */
{
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 38166 "gram.c" /* yacc.c:1652 */
break;
case 1462:
#line 10073 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = CASCADED_CHECK_OPTION; }
#line 38172 "gram.c" /* yacc.c:1652 */
break;
case 1463:
#line 10074 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = CASCADED_CHECK_OPTION; }
#line 38178 "gram.c" /* yacc.c:1652 */
break;
case 1464:
#line 10075 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = LOCAL_CHECK_OPTION; }
#line 38184 "gram.c" /* yacc.c:1652 */
break;
case 1465:
#line 10076 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = NO_CHECK_OPTION; }
#line 38190 "gram.c" /* yacc.c:1652 */
break;
case 1466:
#line 10087 "gram.y" /* yacc.c:1652 */
{
LoadStmt *n = makeNode(LoadStmt);
n->filename = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 38200 "gram.c" /* yacc.c:1652 */
break;
case 1467:
#line 10103 "gram.y" /* yacc.c:1652 */
{
CreatedbStmt *n = makeNode(CreatedbStmt);
n->dbname = (yyvsp[-2].str);
n->options = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 38211 "gram.c" /* yacc.c:1652 */
break;
case 1468:
#line 10112 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 38217 "gram.c" /* yacc.c:1652 */
break;
case 1469:
#line 10113 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 38223 "gram.c" /* yacc.c:1652 */
break;
case 1470:
#line 10117 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].defelt)); }
#line 38229 "gram.c" /* yacc.c:1652 */
break;
case 1471:
#line 10118 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
#line 38235 "gram.c" /* yacc.c:1652 */
break;
case 1472:
#line 10123 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *)makeInteger((yyvsp[0].ival)), (yylsp[-2]));
}
#line 38243 "gram.c" /* yacc.c:1652 */
break;
case 1473:
#line 10127 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
}
#line 38251 "gram.c" /* yacc.c:1652 */
break;
case 1474:
#line 10131 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem((yyvsp[-2].str), NULL, (yylsp[-2]));
}
#line 38259 "gram.c" /* yacc.c:1652 */
break;
case 1475:
#line 10148 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 38265 "gram.c" /* yacc.c:1652 */
break;
case 1476:
#line 10149 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = pstrdup("connection_limit"); }
#line 38271 "gram.c" /* yacc.c:1652 */
break;
case 1477:
#line 10150 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = pstrdup((yyvsp[0].keyword)); }
#line 38277 "gram.c" /* yacc.c:1652 */
break;
case 1478:
#line 10151 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = pstrdup((yyvsp[0].keyword)); }
#line 38283 "gram.c" /* yacc.c:1652 */
break;
case 1479:
#line 10152 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = pstrdup((yyvsp[0].keyword)); }
#line 38289 "gram.c" /* yacc.c:1652 */
break;
case 1480:
#line 10153 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = pstrdup((yyvsp[0].keyword)); }
#line 38295 "gram.c" /* yacc.c:1652 */
break;
case 1481:
#line 10154 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = pstrdup((yyvsp[0].keyword)); }
#line 38301 "gram.c" /* yacc.c:1652 */
break;
case 1482:
#line 10161 "gram.y" /* yacc.c:1652 */
{}
#line 38307 "gram.c" /* yacc.c:1652 */
break;
case 1483:
#line 10162 "gram.y" /* yacc.c:1652 */
{}
#line 38313 "gram.c" /* yacc.c:1652 */
break;
case 1484:
#line 10174 "gram.y" /* yacc.c:1652 */
{
AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
n->dbname = (yyvsp[-2].str);
n->options = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 38324 "gram.c" /* yacc.c:1652 */
break;
case 1485:
#line 10181 "gram.y" /* yacc.c:1652 */
{
AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
n->dbname = (yyvsp[-1].str);
n->options = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 38335 "gram.c" /* yacc.c:1652 */
break;
case 1486:
#line 10188 "gram.y" /* yacc.c:1652 */
{
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 38347 "gram.c" /* yacc.c:1652 */
break;
case 1487:
#line 10199 "gram.y" /* yacc.c:1652 */
{
AlterDatabaseSetStmt *n = makeNode(AlterDatabaseSetStmt);
n->dbname = (yyvsp[-1].str);
n->setstmt = (yyvsp[0].vsetstmt);
(yyval.node) = (Node *)n;
}
#line 38358 "gram.c" /* yacc.c:1652 */
break;
case 1488:
#line 10216 "gram.y" /* yacc.c:1652 */
{
DropdbStmt *n = makeNode(DropdbStmt);
n->dbname = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 38369 "gram.c" /* yacc.c:1652 */
break;
case 1489:
#line 10223 "gram.y" /* yacc.c:1652 */
{
DropdbStmt *n = makeNode(DropdbStmt);
n->dbname = (yyvsp[0].str);
n->missing_ok = true;
(yyval.node) = (Node *)n;
}
#line 38380 "gram.c" /* yacc.c:1652 */
break;
case 1490:
#line 10239 "gram.y" /* yacc.c:1652 */
{
AlterCollationStmt *n = makeNode(AlterCollationStmt);
n->collname = (yyvsp[-2].list);
(yyval.node) = (Node *)n;
}
#line 38390 "gram.c" /* yacc.c:1652 */
break;
case 1491:
#line 10256 "gram.y" /* yacc.c:1652 */
{
AlterSystemStmt *n = makeNode(AlterSystemStmt);
n->setstmt = (yyvsp[0].vsetstmt);
(yyval.node) = (Node *)n;
}
#line 38400 "gram.c" /* yacc.c:1652 */
break;
case 1492:
#line 10262 "gram.y" /* yacc.c:1652 */
{
AlterSystemStmt *n = makeNode(AlterSystemStmt);
n->setstmt = (yyvsp[0].vsetstmt);
(yyval.node) = (Node *)n;
}
#line 38410 "gram.c" /* yacc.c:1652 */
break;
case 1493:
#line 10278 "gram.y" /* yacc.c:1652 */
{
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 38423 "gram.c" /* yacc.c:1652 */
break;
case 1494:
#line 10291 "gram.y" /* yacc.c:1652 */
{
AlterDomainStmt *n = makeNode(AlterDomainStmt);
n->subtype = 'T';
n->typeName = (yyvsp[-1].list);
n->def = (yyvsp[0].node);
(yyval.node) = (Node *)n;
}
#line 38435 "gram.c" /* yacc.c:1652 */
break;
case 1495:
#line 10300 "gram.y" /* yacc.c:1652 */
{
AlterDomainStmt *n = makeNode(AlterDomainStmt);
n->subtype = 'N';
n->typeName = (yyvsp[-3].list);
(yyval.node) = (Node *)n;
}
#line 38446 "gram.c" /* yacc.c:1652 */
break;
case 1496:
#line 10308 "gram.y" /* yacc.c:1652 */
{
AlterDomainStmt *n = makeNode(AlterDomainStmt);
n->subtype = 'O';
n->typeName = (yyvsp[-3].list);
(yyval.node) = (Node *)n;
}
#line 38457 "gram.c" /* yacc.c:1652 */
break;
case 1497:
#line 10316 "gram.y" /* yacc.c:1652 */
{
AlterDomainStmt *n = makeNode(AlterDomainStmt);
n->subtype = 'C';
n->typeName = (yyvsp[-2].list);
n->def = (yyvsp[0].node);
(yyval.node) = (Node *)n;
}
#line 38469 "gram.c" /* yacc.c:1652 */
break;
case 1498:
#line 10325 "gram.y" /* yacc.c:1652 */
{
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 38483 "gram.c" /* yacc.c:1652 */
break;
case 1499:
#line 10336 "gram.y" /* yacc.c:1652 */
{
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 38497 "gram.c" /* yacc.c:1652 */
break;
case 1500:
#line 10347 "gram.y" /* yacc.c:1652 */
{
AlterDomainStmt *n = makeNode(AlterDomainStmt);
n->subtype = 'V';
n->typeName = (yyvsp[-3].list);
n->name = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 38509 "gram.c" /* yacc.c:1652 */
break;
case 1501:
#line 10356 "gram.y" /* yacc.c:1652 */
{}
#line 38515 "gram.c" /* yacc.c:1652 */
break;
case 1502:
#line 10357 "gram.y" /* yacc.c:1652 */
{}
#line 38521 "gram.c" /* yacc.c:1652 */
break;
case 1503:
#line 10369 "gram.y" /* yacc.c:1652 */
{
AlterTSDictionaryStmt *n = makeNode(AlterTSDictionaryStmt);
n->dictname = (yyvsp[-1].list);
n->options = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 38532 "gram.c" /* yacc.c:1652 */
break;
case 1504:
#line 10379 "gram.y" /* yacc.c:1652 */
{
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 38547 "gram.c" /* yacc.c:1652 */
break;
case 1505:
#line 10390 "gram.y" /* yacc.c:1652 */
{
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 38562 "gram.c" /* yacc.c:1652 */
break;
case 1506:
#line 10401 "gram.y" /* yacc.c:1652 */
{
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 38577 "gram.c" /* yacc.c:1652 */
break;
case 1507:
#line 10412 "gram.y" /* yacc.c:1652 */
{
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 38592 "gram.c" /* yacc.c:1652 */
break;
case 1508:
#line 10423 "gram.y" /* yacc.c:1652 */
{
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 38605 "gram.c" /* yacc.c:1652 */
break;
case 1509:
#line 10432 "gram.y" /* yacc.c:1652 */
{
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 38618 "gram.c" /* yacc.c:1652 */
break;
case 1510:
#line 10443 "gram.y" /* yacc.c:1652 */
{}
#line 38624 "gram.c" /* yacc.c:1652 */
break;
case 1511:
#line 10444 "gram.y" /* yacc.c:1652 */
{}
#line 38630 "gram.c" /* yacc.c:1652 */
break;
case 1512:
#line 10460 "gram.y" /* yacc.c:1652 */
{
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 38644 "gram.c" /* yacc.c:1652 */
break;
case 1513:
#line 10482 "gram.y" /* yacc.c:1652 */
{
ClusterStmt *n = makeNode(ClusterStmt);
n->relation = (yyvsp[-1].range);
n->indexname = (yyvsp[0].str);
n->verbose = (yyvsp[-2].boolean);
(yyval.node) = (Node*)n;
}
#line 38656 "gram.c" /* yacc.c:1652 */
break;
case 1514:
#line 10490 "gram.y" /* yacc.c:1652 */
{
ClusterStmt *n = makeNode(ClusterStmt);
n->relation = NULL;
n->indexname = NULL;
n->verbose = (yyvsp[0].boolean);
(yyval.node) = (Node*)n;
}
#line 38668 "gram.c" /* yacc.c:1652 */
break;
case 1515:
#line 10499 "gram.y" /* yacc.c:1652 */
{
ClusterStmt *n = makeNode(ClusterStmt);
n->relation = (yyvsp[0].range);
n->indexname = (yyvsp[-2].str);
n->verbose = (yyvsp[-3].boolean);
(yyval.node) = (Node*)n;
}
#line 38680 "gram.c" /* yacc.c:1652 */
break;
case 1516:
#line 10509 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 38686 "gram.c" /* yacc.c:1652 */
break;
case 1517:
#line 10510 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = NULL; }
#line 38692 "gram.c" /* yacc.c:1652 */
break;
case 1518:
#line 10523 "gram.y" /* yacc.c:1652 */
{
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 38711 "gram.c" /* yacc.c:1652 */
break;
case 1519:
#line 10538 "gram.y" /* yacc.c:1652 */
{
VacuumStmt *n = makeNode(VacuumStmt);
n->options = VACOPT_VACUUM | (yyvsp[-2].ival);
n->rels = (yyvsp[0].list);
(yyval.node) = (Node *) n;
}
#line 38722 "gram.c" /* yacc.c:1652 */
break;
case 1520:
#line 10547 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = (yyvsp[0].ival); }
#line 38728 "gram.c" /* yacc.c:1652 */
break;
case 1521:
#line 10548 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = (yyvsp[-2].ival) | (yyvsp[0].ival); }
#line 38734 "gram.c" /* yacc.c:1652 */
break;
case 1522:
#line 10552 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = VACOPT_ANALYZE; }
#line 38740 "gram.c" /* yacc.c:1652 */
break;
case 1523:
#line 10553 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = VACOPT_VERBOSE; }
#line 38746 "gram.c" /* yacc.c:1652 */
break;
case 1524:
#line 10554 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = VACOPT_FREEZE; }
#line 38752 "gram.c" /* yacc.c:1652 */
break;
case 1525:
#line 10555 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = VACOPT_FULL; }
#line 38758 "gram.c" /* yacc.c:1652 */
break;
case 1526:
#line 10557 "gram.y" /* yacc.c:1652 */
{
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 38772 "gram.c" /* yacc.c:1652 */
break;
case 1527:
#line 10569 "gram.y" /* yacc.c:1652 */
{
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 38785 "gram.c" /* yacc.c:1652 */
break;
case 1528:
#line 10578 "gram.y" /* yacc.c:1652 */
{
VacuumStmt *n = makeNode(VacuumStmt);
n->options = VACOPT_ANALYZE | (yyvsp[-2].ival);
n->rels = (yyvsp[0].list);
(yyval.node) = (Node *) n;
}
#line 38796 "gram.c" /* yacc.c:1652 */
break;
case 1529:
#line 10587 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = (yyvsp[0].ival); }
#line 38802 "gram.c" /* yacc.c:1652 */
break;
case 1530:
#line 10588 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = (yyvsp[-2].ival) | (yyvsp[0].ival); }
#line 38808 "gram.c" /* yacc.c:1652 */
break;
case 1531:
#line 10592 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = VACOPT_VERBOSE; }
#line 38814 "gram.c" /* yacc.c:1652 */
break;
case 1532:
#line 10596 "gram.y" /* yacc.c:1652 */
{}
#line 38820 "gram.c" /* yacc.c:1652 */
break;
case 1533:
#line 10597 "gram.y" /* yacc.c:1652 */
{}
#line 38826 "gram.c" /* yacc.c:1652 */
break;
case 1534:
#line 10601 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = true; }
#line 38832 "gram.c" /* yacc.c:1652 */
break;
case 1535:
#line 10602 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 38838 "gram.c" /* yacc.c:1652 */
break;
case 1536:
#line 10606 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = true; }
#line 38844 "gram.c" /* yacc.c:1652 */
break;
case 1537:
#line 10607 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 38850 "gram.c" /* yacc.c:1652 */
break;
case 1538:
#line 10610 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = true; }
#line 38856 "gram.c" /* yacc.c:1652 */
break;
case 1539:
#line 10611 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 38862 "gram.c" /* yacc.c:1652 */
break;
case 1540:
#line 10614 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = true; }
#line 38868 "gram.c" /* yacc.c:1652 */
break;
case 1541:
#line 10615 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 38874 "gram.c" /* yacc.c:1652 */
break;
case 1542:
#line 10619 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 38880 "gram.c" /* yacc.c:1652 */
break;
case 1543:
#line 10620 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 38886 "gram.c" /* yacc.c:1652 */
break;
case 1544:
#line 10625 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (Node *) makeVacuumRelation((yyvsp[-1].range), InvalidOid, (yyvsp[0].list));
}
#line 38894 "gram.c" /* yacc.c:1652 */
break;
case 1545:
#line 10632 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].node)); }
#line 38900 "gram.c" /* yacc.c:1652 */
break;
case 1546:
#line 10634 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
#line 38906 "gram.c" /* yacc.c:1652 */
break;
case 1547:
#line 10638 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 38912 "gram.c" /* yacc.c:1652 */
break;
case 1548:
#line 10639 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 38918 "gram.c" /* yacc.c:1652 */
break;
case 1549:
#line 10653 "gram.y" /* yacc.c:1652 */
{
ExplainStmt *n = makeNode(ExplainStmt);
n->query = (yyvsp[0].node);
n->options = NIL;
(yyval.node) = (Node *) n;
}
#line 38929 "gram.c" /* yacc.c:1652 */
break;
case 1550:
#line 10660 "gram.y" /* yacc.c:1652 */
{
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 38943 "gram.c" /* yacc.c:1652 */
break;
case 1551:
#line 10670 "gram.y" /* yacc.c:1652 */
{
ExplainStmt *n = makeNode(ExplainStmt);
n->query = (yyvsp[0].node);
n->options = list_make1(makeDefElem("verbose", NULL, (yylsp[-1])));
(yyval.node) = (Node *) n;
}
#line 38954 "gram.c" /* yacc.c:1652 */
break;
case 1552:
#line 10677 "gram.y" /* yacc.c:1652 */
{
ExplainStmt *n = makeNode(ExplainStmt);
n->query = (yyvsp[0].node);
n->options = (yyvsp[-2].list);
(yyval.node) = (Node *) n;
}
#line 38965 "gram.c" /* yacc.c:1652 */
break;
case 1562:
#line 10699 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make1((yyvsp[0].defelt));
}
#line 38973 "gram.c" /* yacc.c:1652 */
break;
case 1563:
#line 10703 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
}
#line 38981 "gram.c" /* yacc.c:1652 */
break;
case 1564:
#line 10710 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1]));
}
#line 38989 "gram.c" /* yacc.c:1652 */
break;
case 1565:
#line 10716 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 38995 "gram.c" /* yacc.c:1652 */
break;
case 1566:
#line 10717 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = "analyze"; }
#line 39001 "gram.c" /* yacc.c:1652 */
break;
case 1567:
#line 10721 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
#line 39007 "gram.c" /* yacc.c:1652 */
break;
case 1568:
#line 10722 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) (yyvsp[0].value); }
#line 39013 "gram.c" /* yacc.c:1652 */
break;
case 1569:
#line 10723 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = NULL; }
#line 39019 "gram.c" /* yacc.c:1652 */
break;
case 1570:
#line 10734 "gram.y" /* yacc.c:1652 */
{
PrepareStmt *n = makeNode(PrepareStmt);
n->name = (yyvsp[-3].str);
n->argtypes = (yyvsp[-2].list);
n->query = (yyvsp[0].node);
(yyval.node) = (Node *) n;
}
#line 39031 "gram.c" /* yacc.c:1652 */
break;
case 1571:
#line 10743 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 39037 "gram.c" /* yacc.c:1652 */
break;
case 1572:
#line 10744 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 39043 "gram.c" /* yacc.c:1652 */
break;
case 1577:
#line 10762 "gram.y" /* yacc.c:1652 */
{
ExecuteStmt *n = makeNode(ExecuteStmt);
n->name = (yyvsp[-1].str);
n->params = (yyvsp[0].list);
(yyval.node) = (Node *) n;
}
#line 39054 "gram.c" /* yacc.c:1652 */
break;
case 1578:
#line 10770 "gram.y" /* yacc.c:1652 */
{
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;
ctas->if_not_exists = 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 39074 "gram.c" /* yacc.c:1652 */
break;
case 1579:
#line 10787 "gram.y" /* yacc.c:1652 */
{
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;
ctas->if_not_exists = true;
/* cram additional flags into the IntoClause */
(yyvsp[-5].into)->rel->relpersistence = (yyvsp[-10].ival);
(yyvsp[-5].into)->skipData = !((yyvsp[0].boolean));
(yyval.node) = (Node *) ctas;
}
#line 39094 "gram.c" /* yacc.c:1652 */
break;
case 1580:
#line 10804 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 39100 "gram.c" /* yacc.c:1652 */
break;
case 1581:
#line 10805 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 39106 "gram.c" /* yacc.c:1652 */
break;
case 1582:
#line 10816 "gram.y" /* yacc.c:1652 */
{
DeallocateStmt *n = makeNode(DeallocateStmt);
n->name = (yyvsp[0].str);
(yyval.node) = (Node *) n;
}
#line 39116 "gram.c" /* yacc.c:1652 */
break;
case 1583:
#line 10822 "gram.y" /* yacc.c:1652 */
{
DeallocateStmt *n = makeNode(DeallocateStmt);
n->name = (yyvsp[0].str);
(yyval.node) = (Node *) n;
}
#line 39126 "gram.c" /* yacc.c:1652 */
break;
case 1584:
#line 10828 "gram.y" /* yacc.c:1652 */
{
DeallocateStmt *n = makeNode(DeallocateStmt);
n->name = NULL;
(yyval.node) = (Node *) n;
}
#line 39136 "gram.c" /* yacc.c:1652 */
break;
case 1585:
#line 10834 "gram.y" /* yacc.c:1652 */
{
DeallocateStmt *n = makeNode(DeallocateStmt);
n->name = NULL;
(yyval.node) = (Node *) n;
}
#line 39146 "gram.c" /* yacc.c:1652 */
break;
case 1586:
#line 10851 "gram.y" /* yacc.c:1652 */
{
(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 39158 "gram.c" /* yacc.c:1652 */
break;
case 1587:
#line 10868 "gram.y" /* yacc.c:1652 */
{
(yyval.range) = (yyvsp[0].range);
}
#line 39166 "gram.c" /* yacc.c:1652 */
break;
case 1588:
#line 10872 "gram.y" /* yacc.c:1652 */
{
(yyvsp[-2].range)->alias = makeAlias((yyvsp[0].str), NIL);
(yyval.range) = (yyvsp[-2].range);
}
#line 39175 "gram.c" /* yacc.c:1652 */
break;
case 1589:
#line 10880 "gram.y" /* yacc.c:1652 */
{
(yyval.istmt) = makeNode(InsertStmt);
(yyval.istmt)->cols = NIL;
(yyval.istmt)->selectStmt = (yyvsp[0].node);
}
#line 39185 "gram.c" /* yacc.c:1652 */
break;
case 1590:
#line 10886 "gram.y" /* yacc.c:1652 */
{
(yyval.istmt) = makeNode(InsertStmt);
(yyval.istmt)->cols = NIL;
(yyval.istmt)->override = (yyvsp[-2].ival);
(yyval.istmt)->selectStmt = (yyvsp[0].node);
}
#line 39196 "gram.c" /* yacc.c:1652 */
break;
case 1591:
#line 10893 "gram.y" /* yacc.c:1652 */
{
(yyval.istmt) = makeNode(InsertStmt);
(yyval.istmt)->cols = (yyvsp[-2].list);
(yyval.istmt)->selectStmt = (yyvsp[0].node);
}
#line 39206 "gram.c" /* yacc.c:1652 */
break;
case 1592:
#line 10899 "gram.y" /* yacc.c:1652 */
{
(yyval.istmt) = makeNode(InsertStmt);
(yyval.istmt)->cols = (yyvsp[-5].list);
(yyval.istmt)->override = (yyvsp[-2].ival);
(yyval.istmt)->selectStmt = (yyvsp[0].node);
}
#line 39217 "gram.c" /* yacc.c:1652 */
break;
case 1593:
#line 10906 "gram.y" /* yacc.c:1652 */
{
(yyval.istmt) = makeNode(InsertStmt);
(yyval.istmt)->cols = NIL;
(yyval.istmt)->selectStmt = NULL;
}
#line 39227 "gram.c" /* yacc.c:1652 */
break;
case 1594:
#line 10914 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = OVERRIDING_USER_VALUE; }
#line 39233 "gram.c" /* yacc.c:1652 */
break;
case 1595:
#line 10915 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = OVERRIDING_SYSTEM_VALUE; }
#line 39239 "gram.c" /* yacc.c:1652 */
break;
case 1596:
#line 10920 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].target)); }
#line 39245 "gram.c" /* yacc.c:1652 */
break;
case 1597:
#line 10922 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
#line 39251 "gram.c" /* yacc.c:1652 */
break;
case 1598:
#line 10927 "gram.y" /* yacc.c:1652 */
{
(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 39263 "gram.c" /* yacc.c:1652 */
break;
case 1599:
#line 10938 "gram.y" /* yacc.c:1652 */
{
(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 39276 "gram.c" /* yacc.c:1652 */
break;
case 1600:
#line 10948 "gram.y" /* yacc.c:1652 */
{
(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 39289 "gram.c" /* yacc.c:1652 */
break;
case 1601:
#line 10957 "gram.y" /* yacc.c:1652 */
{
(yyval.onconflict) = NULL;
}
#line 39297 "gram.c" /* yacc.c:1652 */
break;
case 1602:
#line 10964 "gram.y" /* yacc.c:1652 */
{
(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 39309 "gram.c" /* yacc.c:1652 */
break;
case 1603:
#line 10973 "gram.y" /* yacc.c:1652 */
{
(yyval.infer) = makeNode(InferClause);
(yyval.infer)->indexElems = NIL;
(yyval.infer)->whereClause = NULL;
(yyval.infer)->conname = (yyvsp[0].str);
(yyval.infer)->location = (yylsp[-2]);
}
#line 39321 "gram.c" /* yacc.c:1652 */
break;
case 1604:
#line 10981 "gram.y" /* yacc.c:1652 */
{
(yyval.infer) = NULL;
}
#line 39329 "gram.c" /* yacc.c:1652 */
break;
case 1605:
#line 10987 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 39335 "gram.c" /* yacc.c:1652 */
break;
case 1606:
#line 10988 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 39341 "gram.c" /* yacc.c:1652 */
break;
case 1607:
#line 11001 "gram.y" /* yacc.c:1652 */
{
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 39355 "gram.c" /* yacc.c:1652 */
break;
case 1608:
#line 11013 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 39361 "gram.c" /* yacc.c:1652 */
break;
case 1609:
#line 11014 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 39367 "gram.c" /* yacc.c:1652 */
break;
case 1610:
#line 11026 "gram.y" /* yacc.c:1652 */
{
LockStmt *n = makeNode(LockStmt);
n->relations = (yyvsp[-2].list);
n->mode = (yyvsp[-1].ival);
n->nowait = (yyvsp[0].boolean);
(yyval.node) = (Node *)n;
}
#line 39380 "gram.c" /* yacc.c:1652 */
break;
case 1611:
#line 11036 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = (yyvsp[-1].ival); }
#line 39386 "gram.c" /* yacc.c:1652 */
break;
case 1612:
#line 11037 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = AccessExclusiveLock; }
#line 39392 "gram.c" /* yacc.c:1652 */
break;
case 1613:
#line 11040 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = AccessShareLock; }
#line 39398 "gram.c" /* yacc.c:1652 */
break;
case 1614:
#line 11041 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = RowShareLock; }
#line 39404 "gram.c" /* yacc.c:1652 */
break;
case 1615:
#line 11042 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = RowExclusiveLock; }
#line 39410 "gram.c" /* yacc.c:1652 */
break;
case 1616:
#line 11043 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = ShareUpdateExclusiveLock; }
#line 39416 "gram.c" /* yacc.c:1652 */
break;
case 1617:
#line 11044 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = ShareLock; }
#line 39422 "gram.c" /* yacc.c:1652 */
break;
case 1618:
#line 11045 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = ShareRowExclusiveLock; }
#line 39428 "gram.c" /* yacc.c:1652 */
break;
case 1619:
#line 11046 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = ExclusiveLock; }
#line 39434 "gram.c" /* yacc.c:1652 */
break;
case 1620:
#line 11047 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = AccessExclusiveLock; }
#line 39440 "gram.c" /* yacc.c:1652 */
break;
case 1621:
#line 11050 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = true; }
#line 39446 "gram.c" /* yacc.c:1652 */
break;
case 1622:
#line 11051 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 39452 "gram.c" /* yacc.c:1652 */
break;
case 1623:
#line 11055 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = LockWaitError; }
#line 39458 "gram.c" /* yacc.c:1652 */
break;
case 1624:
#line 11056 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = LockWaitSkip; }
#line 39464 "gram.c" /* yacc.c:1652 */
break;
case 1625:
#line 11057 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = LockWaitBlock; }
#line 39470 "gram.c" /* yacc.c:1652 */
break;
case 1626:
#line 11073 "gram.y" /* yacc.c:1652 */
{
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 39485 "gram.c" /* yacc.c:1652 */
break;
case 1627:
#line 11086 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 39491 "gram.c" /* yacc.c:1652 */
break;
case 1628:
#line 11087 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_concat((yyvsp[-2].list),(yyvsp[0].list)); }
#line 39497 "gram.c" /* yacc.c:1652 */
break;
case 1629:
#line 11092 "gram.y" /* yacc.c:1652 */
{
(yyvsp[-2].target)->val = (Node *) (yyvsp[0].node);
(yyval.list) = list_make1((yyvsp[-2].target));
}
#line 39506 "gram.c" /* yacc.c:1652 */
break;
case 1630:
#line 11097 "gram.y" /* yacc.c:1652 */
{
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 39531 "gram.c" /* yacc.c:1652 */
break;
case 1631:
#line 11121 "gram.y" /* yacc.c:1652 */
{
(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 39543 "gram.c" /* yacc.c:1652 */
break;
case 1632:
#line 11131 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].target)); }
#line 39549 "gram.c" /* yacc.c:1652 */
break;
case 1633:
#line 11132 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list),(yyvsp[0].target)); }
#line 39555 "gram.c" /* yacc.c:1652 */
break;
case 1634:
#line 11143 "gram.y" /* yacc.c:1652 */
{
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 39568 "gram.c" /* yacc.c:1652 */
break;
case 1635:
#line 11153 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 39574 "gram.c" /* yacc.c:1652 */
break;
case 1636:
#line 11156 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = 0; }
#line 39580 "gram.c" /* yacc.c:1652 */
break;
case 1637:
#line 11157 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = (yyvsp[-2].ival) | CURSOR_OPT_NO_SCROLL; }
#line 39586 "gram.c" /* yacc.c:1652 */
break;
case 1638:
#line 11158 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = (yyvsp[-1].ival) | CURSOR_OPT_SCROLL; }
#line 39592 "gram.c" /* yacc.c:1652 */
break;
case 1639:
#line 11159 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = (yyvsp[-1].ival) | CURSOR_OPT_BINARY; }
#line 39598 "gram.c" /* yacc.c:1652 */
break;
case 1640:
#line 11160 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = (yyvsp[-1].ival) | CURSOR_OPT_INSENSITIVE; }
#line 39604 "gram.c" /* yacc.c:1652 */
break;
case 1641:
#line 11163 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = 0; }
#line 39610 "gram.c" /* yacc.c:1652 */
break;
case 1642:
#line 11164 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = CURSOR_OPT_HOLD; }
#line 39616 "gram.c" /* yacc.c:1652 */
break;
case 1643:
#line 11165 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = 0; }
#line 39622 "gram.c" /* yacc.c:1652 */
break;
case 1646:
#line 11218 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[-1].node); }
#line 39628 "gram.c" /* yacc.c:1652 */
break;
case 1647:
#line 11219 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[-1].node); }
#line 39634 "gram.c" /* yacc.c:1652 */
break;
case 1648:
#line 11234 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 39640 "gram.c" /* yacc.c:1652 */
break;
case 1649:
#line 11236 "gram.y" /* yacc.c:1652 */
{
insertSelectOptions((SelectStmt *) (yyvsp[-1].node), (yyvsp[0].list), NIL,
NULL, NULL, NULL,
yyscanner);
(yyval.node) = (yyvsp[-1].node);
}
#line 39651 "gram.c" /* yacc.c:1652 */
break;
case 1650:
#line 11243 "gram.y" /* yacc.c:1652 */
{
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 39663 "gram.c" /* yacc.c:1652 */
break;
case 1651:
#line 11251 "gram.y" /* yacc.c:1652 */
{
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 39675 "gram.c" /* yacc.c:1652 */
break;
case 1652:
#line 11259 "gram.y" /* yacc.c:1652 */
{
insertSelectOptions((SelectStmt *) (yyvsp[0].node), NULL, NIL,
NULL, NULL,
(yyvsp[-1].with),
yyscanner);
(yyval.node) = (yyvsp[0].node);
}
#line 39687 "gram.c" /* yacc.c:1652 */
break;
case 1653:
#line 11267 "gram.y" /* yacc.c:1652 */
{
insertSelectOptions((SelectStmt *) (yyvsp[-1].node), (yyvsp[0].list), NIL,
NULL, NULL,
(yyvsp[-2].with),
yyscanner);
(yyval.node) = (yyvsp[-1].node);
}
#line 39699 "gram.c" /* yacc.c:1652 */
break;
case 1654:
#line 11275 "gram.y" /* yacc.c:1652 */
{
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 39711 "gram.c" /* yacc.c:1652 */
break;
case 1655:
#line 11283 "gram.y" /* yacc.c:1652 */
{
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 39723 "gram.c" /* yacc.c:1652 */
break;
case 1656:
#line 11293 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 39729 "gram.c" /* yacc.c:1652 */
break;
case 1657:
#line 11294 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 39735 "gram.c" /* yacc.c:1652 */
break;
case 1658:
#line 11324 "gram.y" /* yacc.c:1652 */
{
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 39751 "gram.c" /* yacc.c:1652 */
break;
case 1659:
#line 11338 "gram.y" /* yacc.c:1652 */
{
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 39768 "gram.c" /* yacc.c:1652 */
break;
case 1660:
#line 11350 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 39774 "gram.c" /* yacc.c:1652 */
break;
case 1661:
#line 11352 "gram.y" /* yacc.c:1652 */
{
/* 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 39797 "gram.c" /* yacc.c:1652 */
break;
case 1662:
#line 11371 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeSetOp(SETOP_UNION, (yyvsp[-1].boolean), (yyvsp[-3].node), (yyvsp[0].node));
}
#line 39805 "gram.c" /* yacc.c:1652 */
break;
case 1663:
#line 11375 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeSetOp(SETOP_INTERSECT, (yyvsp[-1].boolean), (yyvsp[-3].node), (yyvsp[0].node));
}
#line 39813 "gram.c" /* yacc.c:1652 */
break;
case 1664:
#line 11379 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeSetOp(SETOP_EXCEPT, (yyvsp[-1].boolean), (yyvsp[-3].node), (yyvsp[0].node));
}
#line 39821 "gram.c" /* yacc.c:1652 */
break;
case 1665:
#line 11396 "gram.y" /* yacc.c:1652 */
{
(yyval.with) = makeNode(WithClause);
(yyval.with)->ctes = (yyvsp[0].list);
(yyval.with)->recursive = false;
(yyval.with)->location = (yylsp[-1]);
}
#line 39832 "gram.c" /* yacc.c:1652 */
break;
case 1666:
#line 11403 "gram.y" /* yacc.c:1652 */
{
(yyval.with) = makeNode(WithClause);
(yyval.with)->ctes = (yyvsp[0].list);
(yyval.with)->recursive = false;
(yyval.with)->location = (yylsp[-1]);
}
#line 39843 "gram.c" /* yacc.c:1652 */
break;
case 1667:
#line 11410 "gram.y" /* yacc.c:1652 */
{
(yyval.with) = makeNode(WithClause);
(yyval.with)->ctes = (yyvsp[0].list);
(yyval.with)->recursive = true;
(yyval.with)->location = (yylsp[-2]);
}
#line 39854 "gram.c" /* yacc.c:1652 */
break;
case 1668:
#line 11419 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].node)); }
#line 39860 "gram.c" /* yacc.c:1652 */
break;
case 1669:
#line 11420 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
#line 39866 "gram.c" /* yacc.c:1652 */
break;
case 1670:
#line 11424 "gram.y" /* yacc.c:1652 */
{
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 39879 "gram.c" /* yacc.c:1652 */
break;
case 1671:
#line 11435 "gram.y" /* yacc.c:1652 */
{ (yyval.with) = (yyvsp[0].with); }
#line 39885 "gram.c" /* yacc.c:1652 */
break;
case 1672:
#line 11436 "gram.y" /* yacc.c:1652 */
{ (yyval.with) = NULL; }
#line 39891 "gram.c" /* yacc.c:1652 */
break;
case 1673:
#line 11441 "gram.y" /* yacc.c:1652 */
{
(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 39906 "gram.c" /* yacc.c:1652 */
break;
case 1674:
#line 11452 "gram.y" /* yacc.c:1652 */
{ (yyval.into) = NULL; }
#line 39912 "gram.c" /* yacc.c:1652 */
break;
case 1675:
#line 11461 "gram.y" /* yacc.c:1652 */
{
(yyval.range) = (yyvsp[0].range);
(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
}
#line 39921 "gram.c" /* yacc.c:1652 */
break;
case 1676:
#line 11466 "gram.y" /* yacc.c:1652 */
{
(yyval.range) = (yyvsp[0].range);
(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
}
#line 39930 "gram.c" /* yacc.c:1652 */
break;
case 1677:
#line 11471 "gram.y" /* yacc.c:1652 */
{
(yyval.range) = (yyvsp[0].range);
(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
}
#line 39939 "gram.c" /* yacc.c:1652 */
break;
case 1678:
#line 11476 "gram.y" /* yacc.c:1652 */
{
(yyval.range) = (yyvsp[0].range);
(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
}
#line 39948 "gram.c" /* yacc.c:1652 */
break;
case 1679:
#line 11481 "gram.y" /* yacc.c:1652 */
{
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 39960 "gram.c" /* yacc.c:1652 */
break;
case 1680:
#line 11489 "gram.y" /* yacc.c:1652 */
{
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 39972 "gram.c" /* yacc.c:1652 */
break;
case 1681:
#line 11497 "gram.y" /* yacc.c:1652 */
{
(yyval.range) = (yyvsp[0].range);
(yyval.range)->relpersistence = RELPERSISTENCE_UNLOGGED;
}
#line 39981 "gram.c" /* yacc.c:1652 */
break;
case 1682:
#line 11502 "gram.y" /* yacc.c:1652 */
{
(yyval.range) = (yyvsp[0].range);
(yyval.range)->relpersistence = RELPERSISTENCE_PERMANENT;
}
#line 39990 "gram.c" /* yacc.c:1652 */
break;
case 1683:
#line 11507 "gram.y" /* yacc.c:1652 */
{
(yyval.range) = (yyvsp[0].range);
(yyval.range)->relpersistence = RELPERSISTENCE_PERMANENT;
}
#line 39999 "gram.c" /* yacc.c:1652 */
break;
case 1684:
#line 11513 "gram.y" /* yacc.c:1652 */
{}
#line 40005 "gram.c" /* yacc.c:1652 */
break;
case 1685:
#line 11514 "gram.y" /* yacc.c:1652 */
{}
#line 40011 "gram.c" /* yacc.c:1652 */
break;
case 1686:
#line 11518 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = true; }
#line 40017 "gram.c" /* yacc.c:1652 */
break;
case 1687:
#line 11519 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 40023 "gram.c" /* yacc.c:1652 */
break;
case 1688:
#line 11520 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 40029 "gram.c" /* yacc.c:1652 */
break;
case 1689:
#line 11527 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1(NIL); }
#line 40035 "gram.c" /* yacc.c:1652 */
break;
case 1690:
#line 11528 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 40041 "gram.c" /* yacc.c:1652 */
break;
case 1691:
#line 11532 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL;}
#line 40047 "gram.c" /* yacc.c:1652 */
break;
case 1692:
#line 11533 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 40053 "gram.c" /* yacc.c:1652 */
break;
case 1693:
#line 11537 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list);}
#line 40059 "gram.c" /* yacc.c:1652 */
break;
case 1694:
#line 11538 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 40065 "gram.c" /* yacc.c:1652 */
break;
case 1695:
#line 11542 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 40071 "gram.c" /* yacc.c:1652 */
break;
case 1696:
#line 11546 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].sortby)); }
#line 40077 "gram.c" /* yacc.c:1652 */
break;
case 1697:
#line 11547 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].sortby)); }
#line 40083 "gram.c" /* yacc.c:1652 */
break;
case 1698:
#line 11551 "gram.y" /* yacc.c:1652 */
{
(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 40096 "gram.c" /* yacc.c:1652 */
break;
case 1699:
#line 11560 "gram.y" /* yacc.c:1652 */
{
(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 40109 "gram.c" /* yacc.c:1652 */
break;
case 1700:
#line 11572 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make2((yyvsp[0].node), (yyvsp[-1].node)); }
#line 40115 "gram.c" /* yacc.c:1652 */
break;
case 1701:
#line 11573 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make2((yyvsp[-1].node), (yyvsp[0].node)); }
#line 40121 "gram.c" /* yacc.c:1652 */
break;
case 1702:
#line 11574 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make2(NULL, (yyvsp[0].node)); }
#line 40127 "gram.c" /* yacc.c:1652 */
break;
case 1703:
#line 11575 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make2((yyvsp[0].node), NULL); }
#line 40133 "gram.c" /* yacc.c:1652 */
break;
case 1704:
#line 11579 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 40139 "gram.c" /* yacc.c:1652 */
break;
case 1705:
#line 11580 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make2(NULL,NULL); }
#line 40145 "gram.c" /* yacc.c:1652 */
break;
case 1706:
#line 11585 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 40151 "gram.c" /* yacc.c:1652 */
break;
case 1707:
#line 11587 "gram.y" /* yacc.c:1652 */
{
/* 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 40164 "gram.c" /* yacc.c:1652 */
break;
case 1708:
#line 11603 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[-2].node); }
#line 40170 "gram.c" /* yacc.c:1652 */
break;
case 1709:
#line 11605 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = makeIntConst(1, -1); }
#line 40176 "gram.c" /* yacc.c:1652 */
break;
case 1710:
#line 11610 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 40182 "gram.c" /* yacc.c:1652 */
break;
case 1711:
#line 11613 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[-1].node); }
#line 40188 "gram.c" /* yacc.c:1652 */
break;
case 1712:
#line 11617 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 40194 "gram.c" /* yacc.c:1652 */
break;
case 1713:
#line 11619 "gram.y" /* yacc.c:1652 */
{
/* LIMIT ALL is represented as a NULL constant */
(yyval.node) = makeNullAConst((yylsp[0]));
}
#line 40203 "gram.c" /* yacc.c:1652 */
break;
case 1714:
#line 11626 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 40209 "gram.c" /* yacc.c:1652 */
break;
case 1715:
#line 11646 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 40215 "gram.c" /* yacc.c:1652 */
break;
case 1716:
#line 11648 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[0].node), (yylsp[-1])); }
#line 40221 "gram.c" /* yacc.c:1652 */
break;
case 1717:
#line 11650 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = doNegate((yyvsp[0].node), (yylsp[-1])); }
#line 40227 "gram.c" /* yacc.c:1652 */
break;
case 1718:
#line 11654 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = makeIntConst((yyvsp[0].ival),(yylsp[0])); }
#line 40233 "gram.c" /* yacc.c:1652 */
break;
case 1719:
#line 11655 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = makeFloatConst((yyvsp[0].str),(yylsp[0])); }
#line 40239 "gram.c" /* yacc.c:1652 */
break;
case 1720:
#line 11659 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = 0; }
#line 40245 "gram.c" /* yacc.c:1652 */
break;
case 1721:
#line 11660 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = 0; }
#line 40251 "gram.c" /* yacc.c:1652 */
break;
case 1722:
#line 11663 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = 0; }
#line 40257 "gram.c" /* yacc.c:1652 */
break;
case 1723:
#line 11664 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = 0; }
#line 40263 "gram.c" /* yacc.c:1652 */
break;
case 1724:
#line 11689 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 40269 "gram.c" /* yacc.c:1652 */
break;
case 1725:
#line 11690 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 40275 "gram.c" /* yacc.c:1652 */
break;
case 1726:
#line 11694 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].node)); }
#line 40281 "gram.c" /* yacc.c:1652 */
break;
case 1727:
#line 11695 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list),(yyvsp[0].node)); }
#line 40287 "gram.c" /* yacc.c:1652 */
break;
case 1728:
#line 11699 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 40293 "gram.c" /* yacc.c:1652 */
break;
case 1729:
#line 11700 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 40299 "gram.c" /* yacc.c:1652 */
break;
case 1730:
#line 11701 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 40305 "gram.c" /* yacc.c:1652 */
break;
case 1731:
#line 11702 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 40311 "gram.c" /* yacc.c:1652 */
break;
case 1732:
#line 11703 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 40317 "gram.c" /* yacc.c:1652 */
break;
case 1733:
#line 11708 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_EMPTY, NIL, (yylsp[-1]));
}
#line 40325 "gram.c" /* yacc.c:1652 */
break;
case 1734:
#line 11721 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_ROLLUP, (yyvsp[-1].list), (yylsp[-3]));
}
#line 40333 "gram.c" /* yacc.c:1652 */
break;
case 1735:
#line 11728 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_CUBE, (yyvsp[-1].list), (yylsp[-3]));
}
#line 40341 "gram.c" /* yacc.c:1652 */
break;
case 1736:
#line 11735 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_SETS, (yyvsp[-1].list), (yylsp[-4]));
}
#line 40349 "gram.c" /* yacc.c:1652 */
break;
case 1737:
#line 11741 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 40355 "gram.c" /* yacc.c:1652 */
break;
case 1738:
#line 11742 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = NULL; }
#line 40361 "gram.c" /* yacc.c:1652 */
break;
case 1739:
#line 11746 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 40367 "gram.c" /* yacc.c:1652 */
break;
case 1740:
#line 11747 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 40373 "gram.c" /* yacc.c:1652 */
break;
case 1741:
#line 11751 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 40379 "gram.c" /* yacc.c:1652 */
break;
case 1742:
#line 11752 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 40385 "gram.c" /* yacc.c:1652 */
break;
case 1743:
#line 11756 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].node)); }
#line 40391 "gram.c" /* yacc.c:1652 */
break;
case 1744:
#line 11757 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
#line 40397 "gram.c" /* yacc.c:1652 */
break;
case 1745:
#line 11762 "gram.y" /* yacc.c:1652 */
{
LockingClause *n = makeNode(LockingClause);
n->lockedRels = (yyvsp[-1].list);
n->strength = (yyvsp[-2].ival);
n->waitPolicy = (yyvsp[0].ival);
(yyval.node) = (Node *) n;
}
#line 40409 "gram.c" /* yacc.c:1652 */
break;
case 1746:
#line 11772 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = LCS_FORUPDATE; }
#line 40415 "gram.c" /* yacc.c:1652 */
break;
case 1747:
#line 11773 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = LCS_FORNOKEYUPDATE; }
#line 40421 "gram.c" /* yacc.c:1652 */
break;
case 1748:
#line 11774 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = LCS_FORSHARE; }
#line 40427 "gram.c" /* yacc.c:1652 */
break;
case 1749:
#line 11775 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = LCS_FORKEYSHARE; }
#line 40433 "gram.c" /* yacc.c:1652 */
break;
case 1750:
#line 11779 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 40439 "gram.c" /* yacc.c:1652 */
break;
case 1751:
#line 11780 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 40445 "gram.c" /* yacc.c:1652 */
break;
case 1752:
#line 11791 "gram.y" /* yacc.c:1652 */
{
SelectStmt *n = makeNode(SelectStmt);
n->valuesLists = list_make1((yyvsp[-1].list));
(yyval.node) = (Node *) n;
}
#line 40455 "gram.c" /* yacc.c:1652 */
break;
case 1753:
#line 11797 "gram.y" /* yacc.c:1652 */
{
SelectStmt *n = (SelectStmt *) (yyvsp[-4].node);
n->valuesLists = lappend(n->valuesLists, (yyvsp[-1].list));
(yyval.node) = (Node *) n;
}
#line 40465 "gram.c" /* yacc.c:1652 */
break;
case 1754:
#line 11814 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 40471 "gram.c" /* yacc.c:1652 */
break;
case 1755:
#line 11815 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 40477 "gram.c" /* yacc.c:1652 */
break;
case 1756:
#line 11819 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].node)); }
#line 40483 "gram.c" /* yacc.c:1652 */
break;
case 1757:
#line 11820 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
#line 40489 "gram.c" /* yacc.c:1652 */
break;
case 1758:
#line 11827 "gram.y" /* yacc.c:1652 */
{
(yyvsp[-1].range)->alias = (yyvsp[0].alias);
(yyval.node) = (Node *) (yyvsp[-1].range);
}
#line 40498 "gram.c" /* yacc.c:1652 */
break;
case 1759:
#line 11832 "gram.y" /* yacc.c:1652 */
{
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 40510 "gram.c" /* yacc.c:1652 */
break;
case 1760:
#line 11840 "gram.y" /* yacc.c:1652 */
{
RangeFunction *n = (RangeFunction *) (yyvsp[-1].node);
n->alias = linitial((yyvsp[0].list));
n->coldeflist = lsecond((yyvsp[0].list));
(yyval.node) = (Node *) n;
}
#line 40521 "gram.c" /* yacc.c:1652 */
break;
case 1761:
#line 11847 "gram.y" /* yacc.c:1652 */
{
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 40533 "gram.c" /* yacc.c:1652 */
break;
case 1762:
#line 11855 "gram.y" /* yacc.c:1652 */
{
RangeTableFunc *n = (RangeTableFunc *) (yyvsp[-1].node);
n->alias = (yyvsp[0].alias);
(yyval.node) = (Node *) n;
}
#line 40543 "gram.c" /* yacc.c:1652 */
break;
case 1763:
#line 11861 "gram.y" /* yacc.c:1652 */
{
RangeTableFunc *n = (RangeTableFunc *) (yyvsp[-1].node);
n->lateral = true;
n->alias = (yyvsp[0].alias);
(yyval.node) = (Node *) n;
}
#line 40554 "gram.c" /* yacc.c:1652 */
break;
case 1764:
#line 11868 "gram.y" /* yacc.c:1652 */
{
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 40593 "gram.c" /* yacc.c:1652 */
break;
case 1765:
#line 11903 "gram.y" /* yacc.c:1652 */
{
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 40622 "gram.c" /* yacc.c:1652 */
break;
case 1766:
#line 11928 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (Node *) (yyvsp[0].jexpr);
}
#line 40630 "gram.c" /* yacc.c:1652 */
break;
case 1767:
#line 11932 "gram.y" /* yacc.c:1652 */
{
(yyvsp[-2].jexpr)->alias = (yyvsp[0].alias);
(yyval.node) = (Node *) (yyvsp[-2].jexpr);
}
#line 40639 "gram.c" /* yacc.c:1652 */
break;
case 1768:
#line 11958 "gram.y" /* yacc.c:1652 */
{
(yyval.jexpr) = (yyvsp[-1].jexpr);
}
#line 40647 "gram.c" /* yacc.c:1652 */
break;
case 1769:
#line 11962 "gram.y" /* yacc.c:1652 */
{
/* 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 40663 "gram.c" /* yacc.c:1652 */
break;
case 1770:
#line 11974 "gram.y" /* yacc.c:1652 */
{
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 40680 "gram.c" /* yacc.c:1652 */
break;
case 1771:
#line 11987 "gram.y" /* yacc.c:1652 */
{
/* 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 40698 "gram.c" /* yacc.c:1652 */
break;
case 1772:
#line 12001 "gram.y" /* yacc.c:1652 */
{
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 40713 "gram.c" /* yacc.c:1652 */
break;
case 1773:
#line 12012 "gram.y" /* yacc.c:1652 */
{
/* 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 40729 "gram.c" /* yacc.c:1652 */
break;
case 1774:
#line 12027 "gram.y" /* yacc.c:1652 */
{
(yyval.alias) = makeNode(Alias);
(yyval.alias)->aliasname = (yyvsp[-3].str);
(yyval.alias)->colnames = (yyvsp[-1].list);
}
#line 40739 "gram.c" /* yacc.c:1652 */
break;
case 1775:
#line 12033 "gram.y" /* yacc.c:1652 */
{
(yyval.alias) = makeNode(Alias);
(yyval.alias)->aliasname = (yyvsp[0].str);
}
#line 40748 "gram.c" /* yacc.c:1652 */
break;
case 1776:
#line 12038 "gram.y" /* yacc.c:1652 */
{
(yyval.alias) = makeNode(Alias);
(yyval.alias)->aliasname = (yyvsp[-3].str);
(yyval.alias)->colnames = (yyvsp[-1].list);
}
#line 40758 "gram.c" /* yacc.c:1652 */
break;
case 1777:
#line 12044 "gram.y" /* yacc.c:1652 */
{
(yyval.alias) = makeNode(Alias);
(yyval.alias)->aliasname = (yyvsp[0].str);
}
#line 40767 "gram.c" /* yacc.c:1652 */
break;
case 1778:
#line 12050 "gram.y" /* yacc.c:1652 */
{ (yyval.alias) = (yyvsp[0].alias); }
#line 40773 "gram.c" /* yacc.c:1652 */
break;
case 1779:
#line 12051 "gram.y" /* yacc.c:1652 */
{ (yyval.alias) = NULL; }
#line 40779 "gram.c" /* yacc.c:1652 */
break;
case 1780:
#line 12060 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make2((yyvsp[0].alias), NIL);
}
#line 40787 "gram.c" /* yacc.c:1652 */
break;
case 1781:
#line 12064 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make2(NULL, (yyvsp[-1].list));
}
#line 40795 "gram.c" /* yacc.c:1652 */
break;
case 1782:
#line 12068 "gram.y" /* yacc.c:1652 */
{
Alias *a = makeNode(Alias);
a->aliasname = (yyvsp[-3].str);
(yyval.list) = list_make2(a, (yyvsp[-1].list));
}
#line 40805 "gram.c" /* yacc.c:1652 */
break;
case 1783:
#line 12074 "gram.y" /* yacc.c:1652 */
{
Alias *a = makeNode(Alias);
a->aliasname = (yyvsp[-3].str);
(yyval.list) = list_make2(a, (yyvsp[-1].list));
}
#line 40815 "gram.c" /* yacc.c:1652 */
break;
case 1784:
#line 12080 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make2(NULL, NIL);
}
#line 40823 "gram.c" /* yacc.c:1652 */
break;
case 1785:
#line 12085 "gram.y" /* yacc.c:1652 */
{ (yyval.jtype) = JOIN_FULL; }
#line 40829 "gram.c" /* yacc.c:1652 */
break;
case 1786:
#line 12086 "gram.y" /* yacc.c:1652 */
{ (yyval.jtype) = JOIN_LEFT; }
#line 40835 "gram.c" /* yacc.c:1652 */
break;
case 1787:
#line 12087 "gram.y" /* yacc.c:1652 */
{ (yyval.jtype) = JOIN_RIGHT; }
#line 40841 "gram.c" /* yacc.c:1652 */
break;
case 1788:
#line 12088 "gram.y" /* yacc.c:1652 */
{ (yyval.jtype) = JOIN_INNER; }
#line 40847 "gram.c" /* yacc.c:1652 */
break;
case 1789:
#line 12092 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = NULL; }
#line 40853 "gram.c" /* yacc.c:1652 */
break;
case 1790:
#line 12093 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = NULL; }
#line 40859 "gram.c" /* yacc.c:1652 */
break;
case 1791:
#line 12105 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) (yyvsp[-1].list); }
#line 40865 "gram.c" /* yacc.c:1652 */
break;
case 1792:
#line 12106 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 40871 "gram.c" /* yacc.c:1652 */
break;
case 1793:
#line 12112 "gram.y" /* yacc.c:1652 */
{
/* inheritance query, implicitly */
(yyval.range) = (yyvsp[0].range);
(yyval.range)->inh = true;
(yyval.range)->alias = NULL;
}
#line 40882 "gram.c" /* yacc.c:1652 */
break;
case 1794:
#line 12119 "gram.y" /* yacc.c:1652 */
{
/* inheritance query, explicitly */
(yyval.range) = (yyvsp[-1].range);
(yyval.range)->inh = true;
(yyval.range)->alias = NULL;
}
#line 40893 "gram.c" /* yacc.c:1652 */
break;
case 1795:
#line 12126 "gram.y" /* yacc.c:1652 */
{
/* no inheritance */
(yyval.range) = (yyvsp[0].range);
(yyval.range)->inh = false;
(yyval.range)->alias = NULL;
}
#line 40904 "gram.c" /* yacc.c:1652 */
break;
case 1796:
#line 12133 "gram.y" /* yacc.c:1652 */
{
/* no inheritance, SQL99-style syntax */
(yyval.range) = (yyvsp[-1].range);
(yyval.range)->inh = false;
(yyval.range)->alias = NULL;
}
#line 40915 "gram.c" /* yacc.c:1652 */
break;
case 1797:
#line 12143 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].range)); }
#line 40921 "gram.c" /* yacc.c:1652 */
break;
case 1798:
#line 12144 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].range)); }
#line 40927 "gram.c" /* yacc.c:1652 */
break;
case 1799:
#line 12158 "gram.y" /* yacc.c:1652 */
{
(yyval.range) = (yyvsp[0].range);
}
#line 40935 "gram.c" /* yacc.c:1652 */
break;
case 1800:
#line 12162 "gram.y" /* yacc.c:1652 */
{
Alias *alias = makeNode(Alias);
alias->aliasname = (yyvsp[0].str);
(yyvsp[-1].range)->alias = alias;
(yyval.range) = (yyvsp[-1].range);
}
#line 40946 "gram.c" /* yacc.c:1652 */
break;
case 1801:
#line 12169 "gram.y" /* yacc.c:1652 */
{
Alias *alias = makeNode(Alias);
alias->aliasname = (yyvsp[0].str);
(yyvsp[-2].range)->alias = alias;
(yyval.range) = (yyvsp[-2].range);
}
#line 40957 "gram.c" /* yacc.c:1652 */
break;
case 1802:
#line 12182 "gram.y" /* yacc.c:1652 */
{
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 40971 "gram.c" /* yacc.c:1652 */
break;
case 1803:
#line 12194 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) (yyvsp[-1].node); }
#line 40977 "gram.c" /* yacc.c:1652 */
break;
case 1804:
#line 12195 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = NULL; }
#line 40983 "gram.c" /* yacc.c:1652 */
break;
case 1805:
#line 12211 "gram.y" /* yacc.c:1652 */
{
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 40997 "gram.c" /* yacc.c:1652 */
break;
case 1806:
#line 12221 "gram.y" /* yacc.c:1652 */
{
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 41011 "gram.c" /* yacc.c:1652 */
break;
case 1807:
#line 12233 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make2((yyvsp[-1].node), (yyvsp[0].list)); }
#line 41017 "gram.c" /* yacc.c:1652 */
break;
case 1808:
#line 12237 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].list)); }
#line 41023 "gram.c" /* yacc.c:1652 */
break;
case 1809:
#line 12238 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].list)); }
#line 41029 "gram.c" /* yacc.c:1652 */
break;
case 1810:
#line 12241 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 41035 "gram.c" /* yacc.c:1652 */
break;
case 1811:
#line 12242 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 41041 "gram.c" /* yacc.c:1652 */
break;
case 1812:
#line 12245 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = true; }
#line 41047 "gram.c" /* yacc.c:1652 */
break;
case 1813:
#line 12246 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 41053 "gram.c" /* yacc.c:1652 */
break;
case 1814:
#line 12251 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 41059 "gram.c" /* yacc.c:1652 */
break;
case 1815:
#line 12252 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = NULL; }
#line 41065 "gram.c" /* yacc.c:1652 */
break;
case 1816:
#line 12257 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 41071 "gram.c" /* yacc.c:1652 */
break;
case 1817:
#line 12259 "gram.y" /* yacc.c:1652 */
{
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 41083 "gram.c" /* yacc.c:1652 */
break;
case 1818:
#line 12266 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = NULL; }
#line 41089 "gram.c" /* yacc.c:1652 */
break;
case 1819:
#line 12271 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 41095 "gram.c" /* yacc.c:1652 */
break;
case 1820:
#line 12272 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 41101 "gram.c" /* yacc.c:1652 */
break;
case 1821:
#line 12277 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make1((yyvsp[0].node));
}
#line 41109 "gram.c" /* yacc.c:1652 */
break;
case 1822:
#line 12281 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
}
#line 41117 "gram.c" /* yacc.c:1652 */
break;
case 1823:
#line 12287 "gram.y" /* yacc.c:1652 */
{
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 41139 "gram.c" /* yacc.c:1652 */
break;
case 1824:
#line 12311 "gram.y" /* yacc.c:1652 */
{
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 41153 "gram.c" /* yacc.c:1652 */
break;
case 1825:
#line 12322 "gram.y" /* yacc.c:1652 */
{
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 41167 "gram.c" /* yacc.c:1652 */
break;
case 1826:
#line 12333 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].node)); }
#line 41173 "gram.c" /* yacc.c:1652 */
break;
case 1827:
#line 12334 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
#line 41179 "gram.c" /* yacc.c:1652 */
break;
case 1828:
#line 12339 "gram.y" /* yacc.c:1652 */
{
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 41197 "gram.c" /* yacc.c:1652 */
break;
case 1829:
#line 12353 "gram.y" /* yacc.c:1652 */
{
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 41258 "gram.c" /* yacc.c:1652 */
break;
case 1830:
#line 12410 "gram.y" /* yacc.c:1652 */
{
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 41273 "gram.c" /* yacc.c:1652 */
break;
case 1831:
#line 12424 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].defelt)); }
#line 41279 "gram.c" /* yacc.c:1652 */
break;
case 1832:
#line 12426 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
#line 41285 "gram.c" /* yacc.c:1652 */
break;
case 1833:
#line 12431 "gram.y" /* yacc.c:1652 */
{ (yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1])); }
#line 41291 "gram.c" /* yacc.c:1652 */
break;
case 1834:
#line 12433 "gram.y" /* yacc.c:1652 */
{ (yyval.defelt) = makeDefElem("default", (yyvsp[0].node), (yylsp[-1])); }
#line 41297 "gram.c" /* yacc.c:1652 */
break;
case 1835:
#line 12435 "gram.y" /* yacc.c:1652 */
{ (yyval.defelt) = makeDefElem("is_not_null", (Node *) makeInteger(true), (yylsp[-1])); }
#line 41303 "gram.c" /* yacc.c:1652 */
break;
case 1836:
#line 12437 "gram.y" /* yacc.c:1652 */
{ (yyval.defelt) = makeDefElem("is_not_null", (Node *) makeInteger(false), (yylsp[0])); }
#line 41309 "gram.c" /* yacc.c:1652 */
break;
case 1837:
#line 12442 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].target)); }
#line 41315 "gram.c" /* yacc.c:1652 */
break;
case 1838:
#line 12444 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
#line 41321 "gram.c" /* yacc.c:1652 */
break;
case 1839:
#line 12449 "gram.y" /* yacc.c:1652 */
{
(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 41333 "gram.c" /* yacc.c:1652 */
break;
case 1840:
#line 12457 "gram.y" /* yacc.c:1652 */
{
(yyval.target) = makeNode(ResTarget);
(yyval.target)->name = NULL;
(yyval.target)->indirection = NIL;
(yyval.target)->val = (yyvsp[0].node);
(yyval.target)->location = (yylsp[-1]);
}
#line 41345 "gram.c" /* yacc.c:1652 */
break;
case 1841:
#line 12477 "gram.y" /* yacc.c:1652 */
{
(yyval.typnam) = (yyvsp[-1].typnam);
(yyval.typnam)->arrayBounds = (yyvsp[0].list);
}
#line 41354 "gram.c" /* yacc.c:1652 */
break;
case 1842:
#line 12482 "gram.y" /* yacc.c:1652 */
{
(yyval.typnam) = (yyvsp[-1].typnam);
(yyval.typnam)->arrayBounds = (yyvsp[0].list);
(yyval.typnam)->setof = true;
}
#line 41364 "gram.c" /* yacc.c:1652 */
break;
case 1843:
#line 12489 "gram.y" /* yacc.c:1652 */
{
(yyval.typnam) = (yyvsp[-4].typnam);
(yyval.typnam)->arrayBounds = list_make1(makeInteger((yyvsp[-1].ival)));
}
#line 41373 "gram.c" /* yacc.c:1652 */
break;
case 1844:
#line 12494 "gram.y" /* yacc.c:1652 */
{
(yyval.typnam) = (yyvsp[-4].typnam);
(yyval.typnam)->arrayBounds = list_make1(makeInteger((yyvsp[-1].ival)));
(yyval.typnam)->setof = true;
}
#line 41383 "gram.c" /* yacc.c:1652 */
break;
case 1845:
#line 12500 "gram.y" /* yacc.c:1652 */
{
(yyval.typnam) = (yyvsp[-1].typnam);
(yyval.typnam)->arrayBounds = list_make1(makeInteger(-1));
}
#line 41392 "gram.c" /* yacc.c:1652 */
break;
case 1846:
#line 12505 "gram.y" /* yacc.c:1652 */
{
(yyval.typnam) = (yyvsp[-1].typnam);
(yyval.typnam)->arrayBounds = list_make1(makeInteger(-1));
(yyval.typnam)->setof = true;
}
#line 41402 "gram.c" /* yacc.c:1652 */
break;
case 1847:
#line 12514 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), makeInteger(-1)); }
#line 41408 "gram.c" /* yacc.c:1652 */
break;
case 1848:
#line 12516 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-3].list), makeInteger((yyvsp[-1].ival))); }
#line 41414 "gram.c" /* yacc.c:1652 */
break;
case 1849:
#line 12518 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 41420 "gram.c" /* yacc.c:1652 */
break;
case 1850:
#line 12522 "gram.y" /* yacc.c:1652 */
{ (yyval.typnam) = (yyvsp[0].typnam); }
#line 41426 "gram.c" /* yacc.c:1652 */
break;
case 1851:
#line 12523 "gram.y" /* yacc.c:1652 */
{ (yyval.typnam) = (yyvsp[0].typnam); }
#line 41432 "gram.c" /* yacc.c:1652 */
break;
case 1852:
#line 12524 "gram.y" /* yacc.c:1652 */
{ (yyval.typnam) = (yyvsp[0].typnam); }
#line 41438 "gram.c" /* yacc.c:1652 */
break;
case 1853:
#line 12525 "gram.y" /* yacc.c:1652 */
{ (yyval.typnam) = (yyvsp[0].typnam); }
#line 41444 "gram.c" /* yacc.c:1652 */
break;
case 1854:
#line 12526 "gram.y" /* yacc.c:1652 */
{ (yyval.typnam) = (yyvsp[0].typnam); }
#line 41450 "gram.c" /* yacc.c:1652 */
break;
case 1855:
#line 12528 "gram.y" /* yacc.c:1652 */
{
(yyval.typnam) = (yyvsp[-1].typnam);
(yyval.typnam)->typmods = (yyvsp[0].list);
}
#line 41459 "gram.c" /* yacc.c:1652 */
break;
case 1856:
#line 12533 "gram.y" /* yacc.c:1652 */
{
(yyval.typnam) = (yyvsp[-3].typnam);
(yyval.typnam)->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1),
makeIntConst((yyvsp[-1].ival), (yylsp[-1])));
}
#line 41469 "gram.c" /* yacc.c:1652 */
break;
case 1857:
#line 12552 "gram.y" /* yacc.c:1652 */
{ (yyval.typnam) = (yyvsp[0].typnam); }
#line 41475 "gram.c" /* yacc.c:1652 */
break;
case 1858:
#line 12553 "gram.y" /* yacc.c:1652 */
{ (yyval.typnam) = (yyvsp[0].typnam); }
#line 41481 "gram.c" /* yacc.c:1652 */
break;
case 1859:
#line 12554 "gram.y" /* yacc.c:1652 */
{ (yyval.typnam) = (yyvsp[0].typnam); }
#line 41487 "gram.c" /* yacc.c:1652 */
break;
case 1860:
#line 12555 "gram.y" /* yacc.c:1652 */
{ (yyval.typnam) = (yyvsp[0].typnam); }
#line 41493 "gram.c" /* yacc.c:1652 */
break;
case 1861:
#line 12567 "gram.y" /* yacc.c:1652 */
{
(yyval.typnam) = makeTypeName((yyvsp[-1].str));
(yyval.typnam)->typmods = (yyvsp[0].list);
(yyval.typnam)->location = (yylsp[-1]);
}
#line 41503 "gram.c" /* yacc.c:1652 */
break;
case 1862:
#line 12573 "gram.y" /* yacc.c:1652 */
{
(yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[-2].str)), (yyvsp[-1].list)));
(yyval.typnam)->typmods = (yyvsp[0].list);
(yyval.typnam)->location = (yylsp[-2]);
}
#line 41513 "gram.c" /* yacc.c:1652 */
break;
case 1863:
#line 12580 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 41519 "gram.c" /* yacc.c:1652 */
break;
case 1864:
#line 12581 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 41525 "gram.c" /* yacc.c:1652 */
break;
case 1865:
#line 12588 "gram.y" /* yacc.c:1652 */
{
(yyval.typnam) = SystemTypeName("int4");
(yyval.typnam)->location = (yylsp[0]);
}
#line 41534 "gram.c" /* yacc.c:1652 */
break;
case 1866:
#line 12593 "gram.y" /* yacc.c:1652 */
{
(yyval.typnam) = SystemTypeName("int4");
(yyval.typnam)->location = (yylsp[0]);
}
#line 41543 "gram.c" /* yacc.c:1652 */
break;
case 1867:
#line 12598 "gram.y" /* yacc.c:1652 */
{
(yyval.typnam) = SystemTypeName("int2");
(yyval.typnam)->location = (yylsp[0]);
}
#line 41552 "gram.c" /* yacc.c:1652 */
break;
case 1868:
#line 12603 "gram.y" /* yacc.c:1652 */
{
(yyval.typnam) = SystemTypeName("int8");
(yyval.typnam)->location = (yylsp[0]);
}
#line 41561 "gram.c" /* yacc.c:1652 */
break;
case 1869:
#line 12608 "gram.y" /* yacc.c:1652 */
{
(yyval.typnam) = SystemTypeName("float4");
(yyval.typnam)->location = (yylsp[0]);
}
#line 41570 "gram.c" /* yacc.c:1652 */
break;
case 1870:
#line 12613 "gram.y" /* yacc.c:1652 */
{
(yyval.typnam) = (yyvsp[0].typnam);
(yyval.typnam)->location = (yylsp[-1]);
}
#line 41579 "gram.c" /* yacc.c:1652 */
break;
case 1871:
#line 12618 "gram.y" /* yacc.c:1652 */
{
(yyval.typnam) = SystemTypeName("float8");
(yyval.typnam)->location = (yylsp[-1]);
}
#line 41588 "gram.c" /* yacc.c:1652 */
break;
case 1872:
#line 12623 "gram.y" /* yacc.c:1652 */
{
(yyval.typnam) = SystemTypeName("numeric");
(yyval.typnam)->typmods = (yyvsp[0].list);
(yyval.typnam)->location = (yylsp[-1]);
}
#line 41598 "gram.c" /* yacc.c:1652 */
break;
case 1873:
#line 12629 "gram.y" /* yacc.c:1652 */
{
(yyval.typnam) = SystemTypeName("numeric");
(yyval.typnam)->typmods = (yyvsp[0].list);
(yyval.typnam)->location = (yylsp[-1]);
}
#line 41608 "gram.c" /* yacc.c:1652 */
break;
case 1874:
#line 12635 "gram.y" /* yacc.c:1652 */
{
(yyval.typnam) = SystemTypeName("numeric");
(yyval.typnam)->typmods = (yyvsp[0].list);
(yyval.typnam)->location = (yylsp[-1]);
}
#line 41618 "gram.c" /* yacc.c:1652 */
break;
case 1875:
#line 12641 "gram.y" /* yacc.c:1652 */
{
(yyval.typnam) = SystemTypeName("bool");
(yyval.typnam)->location = (yylsp[0]);
}
#line 41627 "gram.c" /* yacc.c:1652 */
break;
case 1876:
#line 12648 "gram.y" /* yacc.c:1652 */
{
/*
* 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 41652 "gram.c" /* yacc.c:1652 */
break;
case 1877:
#line 12669 "gram.y" /* yacc.c:1652 */
{
(yyval.typnam) = SystemTypeName("float8");
}
#line 41660 "gram.c" /* yacc.c:1652 */
break;
case 1878:
#line 12679 "gram.y" /* yacc.c:1652 */
{
(yyval.typnam) = (yyvsp[0].typnam);
}
#line 41668 "gram.c" /* yacc.c:1652 */
break;
case 1879:
#line 12683 "gram.y" /* yacc.c:1652 */
{
(yyval.typnam) = (yyvsp[0].typnam);
}
#line 41676 "gram.c" /* yacc.c:1652 */
break;
case 1880:
#line 12691 "gram.y" /* yacc.c:1652 */
{
(yyval.typnam) = (yyvsp[0].typnam);
}
#line 41684 "gram.c" /* yacc.c:1652 */
break;
case 1881:
#line 12695 "gram.y" /* yacc.c:1652 */
{
(yyval.typnam) = (yyvsp[0].typnam);
(yyval.typnam)->typmods = NIL;
}
#line 41693 "gram.c" /* yacc.c:1652 */
break;
case 1882:
#line 12703 "gram.y" /* yacc.c:1652 */
{
char *typname;
typname = (yyvsp[-3].boolean) ? "varbit" : "bit";
(yyval.typnam) = SystemTypeName(typname);
(yyval.typnam)->typmods = (yyvsp[-1].list);
(yyval.typnam)->location = (yylsp[-4]);
}
#line 41706 "gram.c" /* yacc.c:1652 */
break;
case 1883:
#line 12715 "gram.y" /* yacc.c:1652 */
{
/* 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 41724 "gram.c" /* yacc.c:1652 */
break;
case 1884:
#line 12736 "gram.y" /* yacc.c:1652 */
{
(yyval.typnam) = (yyvsp[0].typnam);
}
#line 41732 "gram.c" /* yacc.c:1652 */
break;
case 1885:
#line 12740 "gram.y" /* yacc.c:1652 */
{
(yyval.typnam) = (yyvsp[0].typnam);
}
#line 41740 "gram.c" /* yacc.c:1652 */
break;
case 1886:
#line 12746 "gram.y" /* yacc.c:1652 */
{
(yyval.typnam) = (yyvsp[0].typnam);
}
#line 41748 "gram.c" /* yacc.c:1652 */
break;
case 1887:
#line 12750 "gram.y" /* yacc.c:1652 */
{
/* 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 41763 "gram.c" /* yacc.c:1652 */
break;
case 1888:
#line 12763 "gram.y" /* yacc.c:1652 */
{
(yyval.typnam) = SystemTypeName((yyvsp[-3].str));
(yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[-1].ival), (yylsp[-1])));
(yyval.typnam)->location = (yylsp[-3]);
}
#line 41773 "gram.c" /* yacc.c:1652 */
break;
case 1889:
#line 12771 "gram.y" /* yacc.c:1652 */
{
(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 41785 "gram.c" /* yacc.c:1652 */
break;
case 1890:
#line 12781 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
#line 41791 "gram.c" /* yacc.c:1652 */
break;
case 1891:
#line 12783 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
#line 41797 "gram.c" /* yacc.c:1652 */
break;
case 1892:
#line 12785 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = "varchar"; }
#line 41803 "gram.c" /* yacc.c:1652 */
break;
case 1893:
#line 12787 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
#line 41809 "gram.c" /* yacc.c:1652 */
break;
case 1894:
#line 12789 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
#line 41815 "gram.c" /* yacc.c:1652 */
break;
case 1895:
#line 12791 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
#line 41821 "gram.c" /* yacc.c:1652 */
break;
case 1896:
#line 12795 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = true; }
#line 41827 "gram.c" /* yacc.c:1652 */
break;
case 1897:
#line 12796 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 41833 "gram.c" /* yacc.c:1652 */
break;
case 1898:
#line 12804 "gram.y" /* yacc.c:1652 */
{
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 41846 "gram.c" /* yacc.c:1652 */
break;
case 1899:
#line 12813 "gram.y" /* yacc.c:1652 */
{
if ((yyvsp[0].boolean))
(yyval.typnam) = SystemTypeName("timestamptz");
else
(yyval.typnam) = SystemTypeName("timestamp");
(yyval.typnam)->location = (yylsp[-1]);
}
#line 41858 "gram.c" /* yacc.c:1652 */
break;
case 1900:
#line 12821 "gram.y" /* yacc.c:1652 */
{
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 41871 "gram.c" /* yacc.c:1652 */
break;
case 1901:
#line 12830 "gram.y" /* yacc.c:1652 */
{
if ((yyvsp[0].boolean))
(yyval.typnam) = SystemTypeName("timetz");
else
(yyval.typnam) = SystemTypeName("time");
(yyval.typnam)->location = (yylsp[-1]);
}
#line 41883 "gram.c" /* yacc.c:1652 */
break;
case 1902:
#line 12841 "gram.y" /* yacc.c:1652 */
{
(yyval.typnam) = SystemTypeName("interval");
(yyval.typnam)->location = (yylsp[0]);
}
#line 41892 "gram.c" /* yacc.c:1652 */
break;
case 1903:
#line 12848 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = true; }
#line 41898 "gram.c" /* yacc.c:1652 */
break;
case 1904:
#line 12849 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 41904 "gram.c" /* yacc.c:1652 */
break;
case 1905:
#line 12850 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 41910 "gram.c" /* yacc.c:1652 */
break;
case 1906:
#line 12855 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(YEAR), (yylsp[0]))); }
#line 41916 "gram.c" /* yacc.c:1652 */
break;
case 1907:
#line 12857 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MONTH), (yylsp[0]))); }
#line 41922 "gram.c" /* yacc.c:1652 */
break;
case 1908:
#line 12859 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY), (yylsp[0]))); }
#line 41928 "gram.c" /* yacc.c:1652 */
break;
case 1909:
#line 12861 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(HOUR), (yylsp[0]))); }
#line 41934 "gram.c" /* yacc.c:1652 */
break;
case 1910:
#line 12863 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MINUTE), (yylsp[0]))); }
#line 41940 "gram.c" /* yacc.c:1652 */
break;
case 1911:
#line 12865 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 41946 "gram.c" /* yacc.c:1652 */
break;
case 1912:
#line 12867 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(YEAR) |
INTERVAL_MASK(MONTH), (yylsp[-2])));
}
#line 41955 "gram.c" /* yacc.c:1652 */
break;
case 1913:
#line 12872 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY) |
INTERVAL_MASK(HOUR), (yylsp[-2])));
}
#line 41964 "gram.c" /* yacc.c:1652 */
break;
case 1914:
#line 12877 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY) |
INTERVAL_MASK(HOUR) |
INTERVAL_MASK(MINUTE), (yylsp[-2])));
}
#line 41974 "gram.c" /* yacc.c:1652 */
break;
case 1915:
#line 12883 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = (yyvsp[0].list);
linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(DAY) |
INTERVAL_MASK(HOUR) |
INTERVAL_MASK(MINUTE) |
INTERVAL_MASK(SECOND), (yylsp[-2]));
}
#line 41986 "gram.c" /* yacc.c:1652 */
break;
case 1916:
#line 12891 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(HOUR) |
INTERVAL_MASK(MINUTE), (yylsp[-2])));
}
#line 41995 "gram.c" /* yacc.c:1652 */
break;
case 1917:
#line 12896 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = (yyvsp[0].list);
linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(HOUR) |
INTERVAL_MASK(MINUTE) |
INTERVAL_MASK(SECOND), (yylsp[-2]));
}
#line 42006 "gram.c" /* yacc.c:1652 */
break;
case 1918:
#line 12903 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = (yyvsp[0].list);
linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(MINUTE) |
INTERVAL_MASK(SECOND), (yylsp[-2]));
}
#line 42016 "gram.c" /* yacc.c:1652 */
break;
case 1919:
#line 12909 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 42022 "gram.c" /* yacc.c:1652 */
break;
case 1920:
#line 12914 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(SECOND), (yylsp[0])));
}
#line 42030 "gram.c" /* yacc.c:1652 */
break;
case 1921:
#line 12918 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make2(makeIntConst(INTERVAL_MASK(SECOND), (yylsp[-3])),
makeIntConst((yyvsp[-1].ival), (yylsp[-1])));
}
#line 42039 "gram.c" /* yacc.c:1652 */
break;
case 1922:
#line 12953 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 42045 "gram.c" /* yacc.c:1652 */
break;
case 1923:
#line 12955 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = makeTypeCast((yyvsp[-2].node), (yyvsp[0].typnam), (yylsp[-1])); }
#line 42051 "gram.c" /* yacc.c:1652 */
break;
case 1924:
#line 12957 "gram.y" /* yacc.c:1652 */
{
CollateClause *n = makeNode(CollateClause);
n->arg = (yyvsp[-2].node);
n->collname = (yyvsp[0].list);
n->location = (yylsp[-1]);
(yyval.node) = (Node *) n;
}
#line 42063 "gram.c" /* yacc.c:1652 */
break;
case 1925:
#line 12965 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("timezone"),
list_make2((yyvsp[0].node), (yyvsp[-4].node)),
(yylsp[-3]));
}
#line 42073 "gram.c" /* yacc.c:1652 */
break;
case 1926:
#line 12980 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[0].node), (yylsp[-1])); }
#line 42079 "gram.c" /* yacc.c:1652 */
break;
case 1927:
#line 12982 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = doNegate((yyvsp[0].node), (yylsp[-1])); }
#line 42085 "gram.c" /* yacc.c:1652 */
break;
case 1928:
#line 12984 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 42091 "gram.c" /* yacc.c:1652 */
break;
case 1929:
#line 12986 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "-", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 42097 "gram.c" /* yacc.c:1652 */
break;
case 1930:
#line 12988 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "*", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 42103 "gram.c" /* yacc.c:1652 */
break;
case 1931:
#line 12990 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "/", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 42109 "gram.c" /* yacc.c:1652 */
break;
case 1932:
#line 12992 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 42115 "gram.c" /* yacc.c:1652 */
break;
case 1933:
#line 12994 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 42121 "gram.c" /* yacc.c:1652 */
break;
case 1934:
#line 12996 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 42127 "gram.c" /* yacc.c:1652 */
break;
case 1935:
#line 12998 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 42133 "gram.c" /* yacc.c:1652 */
break;
case 1936:
#line 13000 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 42139 "gram.c" /* yacc.c:1652 */
break;
case 1937:
#line 13002 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 42145 "gram.c" /* yacc.c:1652 */
break;
case 1938:
#line 13004 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 42151 "gram.c" /* yacc.c:1652 */
break;
case 1939:
#line 13006 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<>", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 42157 "gram.c" /* yacc.c:1652 */
break;
case 1940:
#line 13009 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 42163 "gram.c" /* yacc.c:1652 */
break;
case 1941:
#line 13011 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), NULL, (yyvsp[0].node), (yylsp[-1])); }
#line 42169 "gram.c" /* yacc.c:1652 */
break;
case 1942:
#line 13013 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[0].list), (yyvsp[-1].node), NULL, (yylsp[0])); }
#line 42175 "gram.c" /* yacc.c:1652 */
break;
case 1943:
#line 13016 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = makeAndExpr((yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 42181 "gram.c" /* yacc.c:1652 */
break;
case 1944:
#line 13018 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = makeOrExpr((yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 42187 "gram.c" /* yacc.c:1652 */
break;
case 1945:
#line 13020 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = makeNotExpr((yyvsp[0].node), (yylsp[-1])); }
#line 42193 "gram.c" /* yacc.c:1652 */
break;
case 1946:
#line 13022 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = makeNotExpr((yyvsp[0].node), (yylsp[-1])); }
#line 42199 "gram.c" /* yacc.c:1652 */
break;
case 1947:
#line 13025 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "~~",
(yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1]));
}
#line 42208 "gram.c" /* yacc.c:1652 */
break;
case 1948:
#line 13030 "gram.y" /* yacc.c:1652 */
{
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 42220 "gram.c" /* yacc.c:1652 */
break;
case 1949:
#line 13038 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "!~~",
(yyvsp[-3].node), (yyvsp[0].node), (yylsp[-2]));
}
#line 42229 "gram.c" /* yacc.c:1652 */
break;
case 1950:
#line 13043 "gram.y" /* yacc.c:1652 */
{
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 42241 "gram.c" /* yacc.c:1652 */
break;
case 1951:
#line 13051 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "~~*",
(yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1]));
}
#line 42250 "gram.c" /* yacc.c:1652 */
break;
case 1952:
#line 13056 "gram.y" /* yacc.c:1652 */
{
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 42262 "gram.c" /* yacc.c:1652 */
break;
case 1953:
#line 13064 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "!~~*",
(yyvsp[-3].node), (yyvsp[0].node), (yylsp[-2]));
}
#line 42271 "gram.c" /* yacc.c:1652 */
break;
case 1954:
#line 13069 "gram.y" /* yacc.c:1652 */
{
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 42283 "gram.c" /* yacc.c:1652 */
break;
case 1955:
#line 13078 "gram.y" /* yacc.c:1652 */
{
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 42295 "gram.c" /* yacc.c:1652 */
break;
case 1956:
#line 13086 "gram.y" /* yacc.c:1652 */
{
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 42307 "gram.c" /* yacc.c:1652 */
break;
case 1957:
#line 13094 "gram.y" /* yacc.c:1652 */
{
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 42319 "gram.c" /* yacc.c:1652 */
break;
case 1958:
#line 13102 "gram.y" /* yacc.c:1652 */
{
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 42331 "gram.c" /* yacc.c:1652 */
break;
case 1959:
#line 13120 "gram.y" /* yacc.c:1652 */
{
NullTest *n = makeNode(NullTest);
n->arg = (Expr *) (yyvsp[-2].node);
n->nulltesttype = IS_NULL;
n->location = (yylsp[-1]);
(yyval.node) = (Node *)n;
}
#line 42343 "gram.c" /* yacc.c:1652 */
break;
case 1960:
#line 13128 "gram.y" /* yacc.c:1652 */
{
NullTest *n = makeNode(NullTest);
n->arg = (Expr *) (yyvsp[-1].node);
n->nulltesttype = IS_NULL;
n->location = (yylsp[0]);
(yyval.node) = (Node *)n;
}
#line 42355 "gram.c" /* yacc.c:1652 */
break;
case 1961:
#line 13136 "gram.y" /* yacc.c:1652 */
{
NullTest *n = makeNode(NullTest);
n->arg = (Expr *) (yyvsp[-3].node);
n->nulltesttype = IS_NOT_NULL;
n->location = (yylsp[-2]);
(yyval.node) = (Node *)n;
}
#line 42367 "gram.c" /* yacc.c:1652 */
break;
case 1962:
#line 13144 "gram.y" /* yacc.c:1652 */
{
NullTest *n = makeNode(NullTest);
n->arg = (Expr *) (yyvsp[-1].node);
n->nulltesttype = IS_NOT_NULL;
n->location = (yylsp[0]);
(yyval.node) = (Node *)n;
}
#line 42379 "gram.c" /* yacc.c:1652 */
break;
case 1963:
#line 13152 "gram.y" /* yacc.c:1652 */
{
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 42399 "gram.c" /* yacc.c:1652 */
break;
case 1964:
#line 13168 "gram.y" /* yacc.c:1652 */
{
BooleanTest *b = makeNode(BooleanTest);
b->arg = (Expr *) (yyvsp[-2].node);
b->booltesttype = IS_TRUE;
b->location = (yylsp[-1]);
(yyval.node) = (Node *)b;
}
#line 42411 "gram.c" /* yacc.c:1652 */
break;
case 1965:
#line 13176 "gram.y" /* yacc.c:1652 */
{
BooleanTest *b = makeNode(BooleanTest);
b->arg = (Expr *) (yyvsp[-3].node);
b->booltesttype = IS_NOT_TRUE;
b->location = (yylsp[-2]);
(yyval.node) = (Node *)b;
}
#line 42423 "gram.c" /* yacc.c:1652 */
break;
case 1966:
#line 13184 "gram.y" /* yacc.c:1652 */
{
BooleanTest *b = makeNode(BooleanTest);
b->arg = (Expr *) (yyvsp[-2].node);
b->booltesttype = IS_FALSE;
b->location = (yylsp[-1]);
(yyval.node) = (Node *)b;
}
#line 42435 "gram.c" /* yacc.c:1652 */
break;
case 1967:
#line 13192 "gram.y" /* yacc.c:1652 */
{
BooleanTest *b = makeNode(BooleanTest);
b->arg = (Expr *) (yyvsp[-3].node);
b->booltesttype = IS_NOT_FALSE;
b->location = (yylsp[-2]);
(yyval.node) = (Node *)b;
}
#line 42447 "gram.c" /* yacc.c:1652 */
break;
case 1968:
#line 13200 "gram.y" /* yacc.c:1652 */
{
BooleanTest *b = makeNode(BooleanTest);
b->arg = (Expr *) (yyvsp[-2].node);
b->booltesttype = IS_UNKNOWN;
b->location = (yylsp[-1]);
(yyval.node) = (Node *)b;
}
#line 42459 "gram.c" /* yacc.c:1652 */
break;
case 1969:
#line 13208 "gram.y" /* yacc.c:1652 */
{
BooleanTest *b = makeNode(BooleanTest);
b->arg = (Expr *) (yyvsp[-3].node);
b->booltesttype = IS_NOT_UNKNOWN;
b->location = (yylsp[-2]);
(yyval.node) = (Node *)b;
}
#line 42471 "gram.c" /* yacc.c:1652 */
break;
case 1970:
#line 13216 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", (yyvsp[-4].node), (yyvsp[0].node), (yylsp[-3]));
}
#line 42479 "gram.c" /* yacc.c:1652 */
break;
case 1971:
#line 13220 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_DISTINCT, "=", (yyvsp[-5].node), (yyvsp[0].node), (yylsp[-4]));
}
#line 42487 "gram.c" /* yacc.c:1652 */
break;
case 1972:
#line 13224 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "=", (yyvsp[-5].node), (Node *) (yyvsp[-1].list), (yylsp[-4]));
}
#line 42495 "gram.c" /* yacc.c:1652 */
break;
case 1973:
#line 13228 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "<>", (yyvsp[-6].node), (Node *) (yyvsp[-1].list), (yylsp[-5]));
}
#line 42503 "gram.c" /* yacc.c:1652 */
break;
case 1974:
#line 13232 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_BETWEEN,
"BETWEEN",
(yyvsp[-5].node),
(Node *) list_make2((yyvsp[-2].node), (yyvsp[0].node)),
(yylsp[-4]));
}
#line 42515 "gram.c" /* yacc.c:1652 */
break;
case 1975:
#line 13240 "gram.y" /* yacc.c:1652 */
{
(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 42527 "gram.c" /* yacc.c:1652 */
break;
case 1976:
#line 13248 "gram.y" /* yacc.c:1652 */
{
(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 42539 "gram.c" /* yacc.c:1652 */
break;
case 1977:
#line 13256 "gram.y" /* yacc.c:1652 */
{
(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 42551 "gram.c" /* yacc.c:1652 */
break;
case 1978:
#line 13264 "gram.y" /* yacc.c:1652 */
{
/* 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 42575 "gram.c" /* yacc.c:1652 */
break;
case 1979:
#line 13284 "gram.y" /* yacc.c:1652 */
{
/* 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 42601 "gram.c" /* yacc.c:1652 */
break;
case 1980:
#line 13306 "gram.y" /* yacc.c:1652 */
{
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 42616 "gram.c" /* yacc.c:1652 */
break;
case 1981:
#line 13317 "gram.y" /* yacc.c:1652 */
{
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 42627 "gram.c" /* yacc.c:1652 */
break;
case 1982:
#line 13324 "gram.y" /* yacc.c:1652 */
{
/* 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 42647 "gram.c" /* yacc.c:1652 */
break;
case 1983:
#line 13340 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeXmlExpr(IS_DOCUMENT, NULL, NIL,
list_make1((yyvsp[-2].node)), (yylsp[-1]));
}
#line 42656 "gram.c" /* yacc.c:1652 */
break;
case 1984:
#line 13345 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeNotExpr(makeXmlExpr(IS_DOCUMENT, NULL, NIL,
list_make1((yyvsp[-3].node)), (yylsp[-2])),
(yylsp[-2]));
}
#line 42666 "gram.c" /* yacc.c:1652 */
break;
case 1985:
#line 13351 "gram.y" /* yacc.c:1652 */
{
/*
* 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 42684 "gram.c" /* yacc.c:1652 */
break;
case 1986:
#line 13376 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 42690 "gram.c" /* yacc.c:1652 */
break;
case 1987:
#line 13378 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = makeTypeCast((yyvsp[-2].node), (yyvsp[0].typnam), (yylsp[-1])); }
#line 42696 "gram.c" /* yacc.c:1652 */
break;
case 1988:
#line 13380 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[0].node), (yylsp[-1])); }
#line 42702 "gram.c" /* yacc.c:1652 */
break;
case 1989:
#line 13382 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = doNegate((yyvsp[0].node), (yylsp[-1])); }
#line 42708 "gram.c" /* yacc.c:1652 */
break;
case 1990:
#line 13384 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 42714 "gram.c" /* yacc.c:1652 */
break;
case 1991:
#line 13386 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "-", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 42720 "gram.c" /* yacc.c:1652 */
break;
case 1992:
#line 13388 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "*", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 42726 "gram.c" /* yacc.c:1652 */
break;
case 1993:
#line 13390 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "/", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 42732 "gram.c" /* yacc.c:1652 */
break;
case 1994:
#line 13392 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 42738 "gram.c" /* yacc.c:1652 */
break;
case 1995:
#line 13394 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 42744 "gram.c" /* yacc.c:1652 */
break;
case 1996:
#line 13396 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 42750 "gram.c" /* yacc.c:1652 */
break;
case 1997:
#line 13398 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 42756 "gram.c" /* yacc.c:1652 */
break;
case 1998:
#line 13400 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 42762 "gram.c" /* yacc.c:1652 */
break;
case 1999:
#line 13402 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 42768 "gram.c" /* yacc.c:1652 */
break;
case 2000:
#line 13404 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 42774 "gram.c" /* yacc.c:1652 */
break;
case 2001:
#line 13406 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<>", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 42780 "gram.c" /* yacc.c:1652 */
break;
case 2002:
#line 13408 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 42786 "gram.c" /* yacc.c:1652 */
break;
case 2003:
#line 13410 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), NULL, (yyvsp[0].node), (yylsp[-1])); }
#line 42792 "gram.c" /* yacc.c:1652 */
break;
case 2004:
#line 13412 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[0].list), (yyvsp[-1].node), NULL, (yylsp[0])); }
#line 42798 "gram.c" /* yacc.c:1652 */
break;
case 2005:
#line 13414 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", (yyvsp[-4].node), (yyvsp[0].node), (yylsp[-3]));
}
#line 42806 "gram.c" /* yacc.c:1652 */
break;
case 2006:
#line 13418 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_DISTINCT, "=", (yyvsp[-5].node), (yyvsp[0].node), (yylsp[-4]));
}
#line 42814 "gram.c" /* yacc.c:1652 */
break;
case 2007:
#line 13422 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "=", (yyvsp[-5].node), (Node *) (yyvsp[-1].list), (yylsp[-4]));
}
#line 42822 "gram.c" /* yacc.c:1652 */
break;
case 2008:
#line 13426 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "<>", (yyvsp[-6].node), (Node *) (yyvsp[-1].list), (yylsp[-5]));
}
#line 42830 "gram.c" /* yacc.c:1652 */
break;
case 2009:
#line 13430 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeXmlExpr(IS_DOCUMENT, NULL, NIL,
list_make1((yyvsp[-2].node)), (yylsp[-1]));
}
#line 42839 "gram.c" /* yacc.c:1652 */
break;
case 2010:
#line 13435 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeNotExpr(makeXmlExpr(IS_DOCUMENT, NULL, NIL,
list_make1((yyvsp[-3].node)), (yylsp[-2])),
(yylsp[-2]));
}
#line 42849 "gram.c" /* yacc.c:1652 */
break;
case 2011:
#line 13450 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 42855 "gram.c" /* yacc.c:1652 */
break;
case 2012:
#line 13451 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 42861 "gram.c" /* yacc.c:1652 */
break;
case 2013:
#line 13453 "gram.y" /* yacc.c:1652 */
{
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 42880 "gram.c" /* yacc.c:1652 */
break;
case 2014:
#line 13468 "gram.y" /* yacc.c:1652 */
{
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 42918 "gram.c" /* yacc.c:1652 */
break;
case 2015:
#line 13502 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 42924 "gram.c" /* yacc.c:1652 */
break;
case 2016:
#line 13504 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 42930 "gram.c" /* yacc.c:1652 */
break;
case 2017:
#line 13506 "gram.y" /* yacc.c:1652 */
{
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 42945 "gram.c" /* yacc.c:1652 */
break;
case 2018:
#line 13517 "gram.y" /* yacc.c:1652 */
{
/*
* 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 42973 "gram.c" /* yacc.c:1652 */
break;
case 2019:
#line 13541 "gram.y" /* yacc.c:1652 */
{
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 42988 "gram.c" /* yacc.c:1652 */
break;
case 2020:
#line 13552 "gram.y" /* yacc.c:1652 */
{
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 43003 "gram.c" /* yacc.c:1652 */
break;
case 2021:
#line 13563 "gram.y" /* yacc.c:1652 */
{
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 43014 "gram.c" /* yacc.c:1652 */
break;
case 2022:
#line 13570 "gram.y" /* yacc.c:1652 */
{
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 43028 "gram.c" /* yacc.c:1652 */
break;
case 2023:
#line 13580 "gram.y" /* yacc.c:1652 */
{
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 43042 "gram.c" /* yacc.c:1652 */
break;
case 2024:
#line 13590 "gram.y" /* yacc.c:1652 */
{
GroupingFunc *g = makeNode(GroupingFunc);
g->args = (yyvsp[-1].list);
g->location = (yylsp[-3]);
(yyval.node) = (Node *)g;
}
#line 43053 "gram.c" /* yacc.c:1652 */
break;
case 2025:
#line 13599 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (Node *) makeFuncCall((yyvsp[-2].list), NIL, (yylsp[-2]));
}
#line 43061 "gram.c" /* yacc.c:1652 */
break;
case 2026:
#line 13603 "gram.y" /* yacc.c:1652 */
{
FuncCall *n = makeFuncCall((yyvsp[-4].list), (yyvsp[-2].list), (yylsp[-4]));
n->agg_order = (yyvsp[-1].list);
(yyval.node) = (Node *)n;
}
#line 43071 "gram.c" /* yacc.c:1652 */
break;
case 2027:
#line 13609 "gram.y" /* yacc.c:1652 */
{
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 43082 "gram.c" /* yacc.c:1652 */
break;
case 2028:
#line 13616 "gram.y" /* yacc.c:1652 */
{
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 43093 "gram.c" /* yacc.c:1652 */
break;
case 2029:
#line 13623 "gram.y" /* yacc.c:1652 */
{
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 43107 "gram.c" /* yacc.c:1652 */
break;
case 2030:
#line 13633 "gram.y" /* yacc.c:1652 */
{
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 43118 "gram.c" /* yacc.c:1652 */
break;
case 2031:
#line 13640 "gram.y" /* yacc.c:1652 */
{
/*
* 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 43138 "gram.c" /* yacc.c:1652 */
break;
case 2032:
#line 13668 "gram.y" /* yacc.c:1652 */
{
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 43177 "gram.c" /* yacc.c:1652 */
break;
case 2033:
#line 13703 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 43183 "gram.c" /* yacc.c:1652 */
break;
case 2034:
#line 13713 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 43189 "gram.c" /* yacc.c:1652 */
break;
case 2035:
#line 13714 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 43195 "gram.c" /* yacc.c:1652 */
break;
case 2036:
#line 13722 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("pg_collation_for"),
list_make1((yyvsp[-1].node)),
(yylsp[-4]));
}
#line 43205 "gram.c" /* yacc.c:1652 */
break;
case 2037:
#line 13728 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_DATE, -1, (yylsp[0]));
}
#line 43213 "gram.c" /* yacc.c:1652 */
break;
case 2038:
#line 13732 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIME, -1, (yylsp[0]));
}
#line 43221 "gram.c" /* yacc.c:1652 */
break;
case 2039:
#line 13736 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIME_N, (yyvsp[-1].ival), (yylsp[-3]));
}
#line 43229 "gram.c" /* yacc.c:1652 */
break;
case 2040:
#line 13740 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIMESTAMP, -1, (yylsp[0]));
}
#line 43237 "gram.c" /* yacc.c:1652 */
break;
case 2041:
#line 13744 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIMESTAMP_N, (yyvsp[-1].ival), (yylsp[-3]));
}
#line 43245 "gram.c" /* yacc.c:1652 */
break;
case 2042:
#line 13748 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIME, -1, (yylsp[0]));
}
#line 43253 "gram.c" /* yacc.c:1652 */
break;
case 2043:
#line 13752 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIME_N, (yyvsp[-1].ival), (yylsp[-3]));
}
#line 43261 "gram.c" /* yacc.c:1652 */
break;
case 2044:
#line 13756 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIMESTAMP, -1, (yylsp[0]));
}
#line 43269 "gram.c" /* yacc.c:1652 */
break;
case 2045:
#line 13760 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIMESTAMP_N, (yyvsp[-1].ival), (yylsp[-3]));
}
#line 43277 "gram.c" /* yacc.c:1652 */
break;
case 2046:
#line 13764 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_ROLE, -1, (yylsp[0]));
}
#line 43285 "gram.c" /* yacc.c:1652 */
break;
case 2047:
#line 13768 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_USER, -1, (yylsp[0]));
}
#line 43293 "gram.c" /* yacc.c:1652 */
break;
case 2048:
#line 13772 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeSQLValueFunction(SVFOP_SESSION_USER, -1, (yylsp[0]));
}
#line 43301 "gram.c" /* yacc.c:1652 */
break;
case 2049:
#line 13776 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeSQLValueFunction(SVFOP_USER, -1, (yylsp[0]));
}
#line 43309 "gram.c" /* yacc.c:1652 */
break;
case 2050:
#line 13780 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_CATALOG, -1, (yylsp[0]));
}
#line 43317 "gram.c" /* yacc.c:1652 */
break;
case 2051:
#line 13784 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_SCHEMA, -1, (yylsp[0]));
}
#line 43325 "gram.c" /* yacc.c:1652 */
break;
case 2052:
#line 13788 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = makeTypeCast((yyvsp[-3].node), (yyvsp[-1].typnam), (yylsp[-5])); }
#line 43331 "gram.c" /* yacc.c:1652 */
break;
case 2053:
#line 13790 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("date_part"), (yyvsp[-1].list), (yylsp[-3]));
}
#line 43339 "gram.c" /* yacc.c:1652 */
break;
case 2054:
#line 13794 "gram.y" /* yacc.c:1652 */
{
/* 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 43352 "gram.c" /* yacc.c:1652 */
break;
case 2055:
#line 13803 "gram.y" /* yacc.c:1652 */
{
/* position(A in B) is converted to position(B, A) */
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("position"), (yyvsp[-1].list), (yylsp[-3]));
}
#line 43361 "gram.c" /* yacc.c:1652 */
break;
case 2056:
#line 13808 "gram.y" /* yacc.c:1652 */
{
/* 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 43372 "gram.c" /* yacc.c:1652 */
break;
case 2057:
#line 13815 "gram.y" /* yacc.c:1652 */
{
/* 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 43391 "gram.c" /* yacc.c:1652 */
break;
case 2058:
#line 13830 "gram.y" /* yacc.c:1652 */
{
/* various trim expressions are defined in SQL
* - thomas 1997-07-19
*/
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("btrim"), (yyvsp[-1].list), (yylsp[-4]));
}
#line 43402 "gram.c" /* yacc.c:1652 */
break;
case 2059:
#line 13837 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("ltrim"), (yyvsp[-1].list), (yylsp[-4]));
}
#line 43410 "gram.c" /* yacc.c:1652 */
break;
case 2060:
#line 13841 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("rtrim"), (yyvsp[-1].list), (yylsp[-4]));
}
#line 43418 "gram.c" /* yacc.c:1652 */
break;
case 2061:
#line 13845 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("btrim"), (yyvsp[-1].list), (yylsp[-3]));
}
#line 43426 "gram.c" /* yacc.c:1652 */
break;
case 2062:
#line 13849 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NULLIF, "=", (yyvsp[-3].node), (yyvsp[-1].node), (yylsp[-5]));
}
#line 43434 "gram.c" /* yacc.c:1652 */
break;
case 2063:
#line 13853 "gram.y" /* yacc.c:1652 */
{
CoalesceExpr *c = makeNode(CoalesceExpr);
c->args = (yyvsp[-1].list);
c->location = (yylsp[-3]);
(yyval.node) = (Node *)c;
}
#line 43445 "gram.c" /* yacc.c:1652 */
break;
case 2064:
#line 13860 "gram.y" /* yacc.c:1652 */
{
MinMaxExpr *v = makeNode(MinMaxExpr);
v->args = (yyvsp[-1].list);
v->op = IS_GREATEST;
v->location = (yylsp[-3]);
(yyval.node) = (Node *)v;
}
#line 43457 "gram.c" /* yacc.c:1652 */
break;
case 2065:
#line 13868 "gram.y" /* yacc.c:1652 */
{
MinMaxExpr *v = makeNode(MinMaxExpr);
v->args = (yyvsp[-1].list);
v->op = IS_LEAST;
v->location = (yylsp[-3]);
(yyval.node) = (Node *)v;
}
#line 43469 "gram.c" /* yacc.c:1652 */
break;
case 2066:
#line 13876 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeXmlExpr(IS_XMLCONCAT, NULL, NIL, (yyvsp[-1].list), (yylsp[-3]));
}
#line 43477 "gram.c" /* yacc.c:1652 */
break;
case 2067:
#line 13880 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-1].str), NIL, NIL, (yylsp[-4]));
}
#line 43485 "gram.c" /* yacc.c:1652 */
break;
case 2068:
#line 13884 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-3].str), (yyvsp[-1].list), NIL, (yylsp[-6]));
}
#line 43493 "gram.c" /* yacc.c:1652 */
break;
case 2069:
#line 13888 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-3].str), NIL, (yyvsp[-1].list), (yylsp[-6]));
}
#line 43501 "gram.c" /* yacc.c:1652 */
break;
case 2070:
#line 13892 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-5].str), (yyvsp[-3].list), (yyvsp[-1].list), (yylsp[-8]));
}
#line 43509 "gram.c" /* yacc.c:1652 */
break;
case 2071:
#line 13896 "gram.y" /* yacc.c:1652 */
{
/* 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 43519 "gram.c" /* yacc.c:1652 */
break;
case 2072:
#line 13902 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeXmlExpr(IS_XMLFOREST, NULL, (yyvsp[-1].list), NIL, (yylsp[-3]));
}
#line 43527 "gram.c" /* yacc.c:1652 */
break;
case 2073:
#line 13906 "gram.y" /* yacc.c:1652 */
{
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 43540 "gram.c" /* yacc.c:1652 */
break;
case 2074:
#line 13915 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeXmlExpr(IS_XMLPI, (yyvsp[-1].str), NULL, NIL, (yylsp[-4]));
}
#line 43548 "gram.c" /* yacc.c:1652 */
break;
case 2075:
#line 13919 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeXmlExpr(IS_XMLPI, (yyvsp[-3].str), NULL, list_make1((yyvsp[-1].node)), (yylsp[-6]));
}
#line 43556 "gram.c" /* yacc.c:1652 */
break;
case 2076:
#line 13923 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeXmlExpr(IS_XMLROOT, NULL, NIL,
list_make3((yyvsp[-4].node), (yyvsp[-2].node), (yyvsp[-1].node)), (yylsp[-6]));
}
#line 43565 "gram.c" /* yacc.c:1652 */
break;
case 2077:
#line 13928 "gram.y" /* yacc.c:1652 */
{
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 43578 "gram.c" /* yacc.c:1652 */
break;
case 2078:
#line 13942 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 43584 "gram.c" /* yacc.c:1652 */
break;
case 2079:
#line 13944 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = makeNullAConst(-1); }
#line 43590 "gram.c" /* yacc.c:1652 */
break;
case 2080:
#line 13948 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = makeIntConst(XML_STANDALONE_YES, -1); }
#line 43596 "gram.c" /* yacc.c:1652 */
break;
case 2081:
#line 13950 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = makeIntConst(XML_STANDALONE_NO, -1); }
#line 43602 "gram.c" /* yacc.c:1652 */
break;
case 2082:
#line 13952 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = makeIntConst(XML_STANDALONE_NO_VALUE, -1); }
#line 43608 "gram.c" /* yacc.c:1652 */
break;
case 2083:
#line 13954 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = makeIntConst(XML_STANDALONE_OMITTED, -1); }
#line 43614 "gram.c" /* yacc.c:1652 */
break;
case 2084:
#line 13957 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 43620 "gram.c" /* yacc.c:1652 */
break;
case 2085:
#line 13960 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].target)); }
#line 43626 "gram.c" /* yacc.c:1652 */
break;
case 2086:
#line 13961 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
#line 43632 "gram.c" /* yacc.c:1652 */
break;
case 2087:
#line 13965 "gram.y" /* yacc.c:1652 */
{
(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 43644 "gram.c" /* yacc.c:1652 */
break;
case 2088:
#line 13973 "gram.y" /* yacc.c:1652 */
{
(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 43656 "gram.c" /* yacc.c:1652 */
break;
case 2089:
#line 13982 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = XMLOPTION_DOCUMENT; }
#line 43662 "gram.c" /* yacc.c:1652 */
break;
case 2090:
#line 13983 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = XMLOPTION_CONTENT; }
#line 43668 "gram.c" /* yacc.c:1652 */
break;
case 2091:
#line 13986 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = true; }
#line 43674 "gram.c" /* yacc.c:1652 */
break;
case 2092:
#line 13987 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 43680 "gram.c" /* yacc.c:1652 */
break;
case 2093:
#line 13988 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 43686 "gram.c" /* yacc.c:1652 */
break;
case 2094:
#line 13994 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (yyvsp[0].node);
}
#line 43694 "gram.c" /* yacc.c:1652 */
break;
case 2095:
#line 13998 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (yyvsp[-2].node);
}
#line 43702 "gram.c" /* yacc.c:1652 */
break;
case 2096:
#line 14002 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (yyvsp[0].node);
}
#line 43710 "gram.c" /* yacc.c:1652 */
break;
case 2097:
#line 14006 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (yyvsp[-2].node);
}
#line 43718 "gram.c" /* yacc.c:1652 */
break;
case 2098:
#line 14016 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 43724 "gram.c" /* yacc.c:1652 */
break;
case 2099:
#line 14017 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 43730 "gram.c" /* yacc.c:1652 */
break;
case 2100:
#line 14021 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[-1].node); }
#line 43736 "gram.c" /* yacc.c:1652 */
break;
case 2101:
#line 14022 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = NULL; }
#line 43742 "gram.c" /* yacc.c:1652 */
break;
case 2102:
#line 14030 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 43748 "gram.c" /* yacc.c:1652 */
break;
case 2103:
#line 14031 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 43754 "gram.c" /* yacc.c:1652 */
break;
case 2104:
#line 14035 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].windef)); }
#line 43760 "gram.c" /* yacc.c:1652 */
break;
case 2105:
#line 14037 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].windef)); }
#line 43766 "gram.c" /* yacc.c:1652 */
break;
case 2106:
#line 14042 "gram.y" /* yacc.c:1652 */
{
WindowDef *n = (yyvsp[0].windef);
n->name = (yyvsp[-2].str);
(yyval.windef) = n;
}
#line 43776 "gram.c" /* yacc.c:1652 */
break;
case 2107:
#line 14050 "gram.y" /* yacc.c:1652 */
{ (yyval.windef) = (yyvsp[0].windef); }
#line 43782 "gram.c" /* yacc.c:1652 */
break;
case 2108:
#line 14052 "gram.y" /* yacc.c:1652 */
{
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 43799 "gram.c" /* yacc.c:1652 */
break;
case 2109:
#line 14065 "gram.y" /* yacc.c:1652 */
{ (yyval.windef) = NULL; }
#line 43805 "gram.c" /* yacc.c:1652 */
break;
case 2110:
#line 14070 "gram.y" /* yacc.c:1652 */
{
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 43823 "gram.c" /* yacc.c:1652 */
break;
case 2111:
#line 14095 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 43829 "gram.c" /* yacc.c:1652 */
break;
case 2112:
#line 14096 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = NULL; }
#line 43835 "gram.c" /* yacc.c:1652 */
break;
case 2113:
#line 14099 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 43841 "gram.c" /* yacc.c:1652 */
break;
case 2114:
#line 14100 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 43847 "gram.c" /* yacc.c:1652 */
break;
case 2115:
#line 14109 "gram.y" /* yacc.c:1652 */
{
WindowDef *n = (yyvsp[-1].windef);
n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_RANGE;
n->frameOptions |= (yyvsp[0].ival);
(yyval.windef) = n;
}
#line 43858 "gram.c" /* yacc.c:1652 */
break;
case 2116:
#line 14116 "gram.y" /* yacc.c:1652 */
{
WindowDef *n = (yyvsp[-1].windef);
n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_ROWS;
n->frameOptions |= (yyvsp[0].ival);
(yyval.windef) = n;
}
#line 43869 "gram.c" /* yacc.c:1652 */
break;
case 2117:
#line 14123 "gram.y" /* yacc.c:1652 */
{
WindowDef *n = (yyvsp[-1].windef);
n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_GROUPS;
n->frameOptions |= (yyvsp[0].ival);
(yyval.windef) = n;
}
#line 43880 "gram.c" /* yacc.c:1652 */
break;
case 2118:
#line 14130 "gram.y" /* yacc.c:1652 */
{
WindowDef *n = makeNode(WindowDef);
n->frameOptions = FRAMEOPTION_DEFAULTS;
n->startOffset = NULL;
n->endOffset = NULL;
(yyval.windef) = n;
}
#line 43892 "gram.c" /* yacc.c:1652 */
break;
case 2119:
#line 14140 "gram.y" /* yacc.c:1652 */
{
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 43913 "gram.c" /* yacc.c:1652 */
break;
case 2120:
#line 14157 "gram.y" /* yacc.c:1652 */
{
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 43954 "gram.c" /* yacc.c:1652 */
break;
case 2121:
#line 14202 "gram.y" /* yacc.c:1652 */
{
WindowDef *n = makeNode(WindowDef);
n->frameOptions = FRAMEOPTION_START_UNBOUNDED_PRECEDING;
n->startOffset = NULL;
n->endOffset = NULL;
(yyval.windef) = n;
}
#line 43966 "gram.c" /* yacc.c:1652 */
break;
case 2122:
#line 14210 "gram.y" /* yacc.c:1652 */
{
WindowDef *n = makeNode(WindowDef);
n->frameOptions = FRAMEOPTION_START_UNBOUNDED_FOLLOWING;
n->startOffset = NULL;
n->endOffset = NULL;
(yyval.windef) = n;
}
#line 43978 "gram.c" /* yacc.c:1652 */
break;
case 2123:
#line 14218 "gram.y" /* yacc.c:1652 */
{
WindowDef *n = makeNode(WindowDef);
n->frameOptions = FRAMEOPTION_START_CURRENT_ROW;
n->startOffset = NULL;
n->endOffset = NULL;
(yyval.windef) = n;
}
#line 43990 "gram.c" /* yacc.c:1652 */
break;
case 2124:
#line 14226 "gram.y" /* yacc.c:1652 */
{
WindowDef *n = makeNode(WindowDef);
n->frameOptions = FRAMEOPTION_START_OFFSET_PRECEDING;
n->startOffset = (yyvsp[-1].node);
n->endOffset = NULL;
(yyval.windef) = n;
}
#line 44002 "gram.c" /* yacc.c:1652 */
break;
case 2125:
#line 14234 "gram.y" /* yacc.c:1652 */
{
WindowDef *n = makeNode(WindowDef);
n->frameOptions = FRAMEOPTION_START_OFFSET_FOLLOWING;
n->startOffset = (yyvsp[-1].node);
n->endOffset = NULL;
(yyval.windef) = n;
}
#line 44014 "gram.c" /* yacc.c:1652 */
break;
case 2126:
#line 14244 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = FRAMEOPTION_EXCLUDE_CURRENT_ROW; }
#line 44020 "gram.c" /* yacc.c:1652 */
break;
case 2127:
#line 14245 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = FRAMEOPTION_EXCLUDE_GROUP; }
#line 44026 "gram.c" /* yacc.c:1652 */
break;
case 2128:
#line 14246 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = FRAMEOPTION_EXCLUDE_TIES; }
#line 44032 "gram.c" /* yacc.c:1652 */
break;
case 2129:
#line 14247 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = 0; }
#line 44038 "gram.c" /* yacc.c:1652 */
break;
case 2130:
#line 14248 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = 0; }
#line 44044 "gram.c" /* yacc.c:1652 */
break;
case 2131:
#line 14262 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 44050 "gram.c" /* yacc.c:1652 */
break;
case 2132:
#line 14263 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 44056 "gram.c" /* yacc.c:1652 */
break;
case 2133:
#line 14264 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-3].list), (yyvsp[-1].node)); }
#line 44062 "gram.c" /* yacc.c:1652 */
break;
case 2134:
#line 14267 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 44068 "gram.c" /* yacc.c:1652 */
break;
case 2135:
#line 14268 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 44074 "gram.c" /* yacc.c:1652 */
break;
case 2136:
#line 14271 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-3].list), (yyvsp[-1].node)); }
#line 44080 "gram.c" /* yacc.c:1652 */
break;
case 2137:
#line 14274 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = ANY_SUBLINK; }
#line 44086 "gram.c" /* yacc.c:1652 */
break;
case 2138:
#line 14275 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = ANY_SUBLINK; }
#line 44092 "gram.c" /* yacc.c:1652 */
break;
case 2139:
#line 14276 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = ALL_SUBLINK; }
#line 44098 "gram.c" /* yacc.c:1652 */
break;
case 2140:
#line 14279 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 44104 "gram.c" /* yacc.c:1652 */
break;
case 2141:
#line 14280 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 44110 "gram.c" /* yacc.c:1652 */
break;
case 2142:
#line 14283 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = "+"; }
#line 44116 "gram.c" /* yacc.c:1652 */
break;
case 2143:
#line 14284 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = "-"; }
#line 44122 "gram.c" /* yacc.c:1652 */
break;
case 2144:
#line 14285 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = "*"; }
#line 44128 "gram.c" /* yacc.c:1652 */
break;
case 2145:
#line 14286 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = "/"; }
#line 44134 "gram.c" /* yacc.c:1652 */
break;
case 2146:
#line 14287 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = "%"; }
#line 44140 "gram.c" /* yacc.c:1652 */
break;
case 2147:
#line 14288 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = "^"; }
#line 44146 "gram.c" /* yacc.c:1652 */
break;
case 2148:
#line 14289 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = "<"; }
#line 44152 "gram.c" /* yacc.c:1652 */
break;
case 2149:
#line 14290 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = ">"; }
#line 44158 "gram.c" /* yacc.c:1652 */
break;
case 2150:
#line 14291 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = "="; }
#line 44164 "gram.c" /* yacc.c:1652 */
break;
case 2151:
#line 14292 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = "<="; }
#line 44170 "gram.c" /* yacc.c:1652 */
break;
case 2152:
#line 14293 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = ">="; }
#line 44176 "gram.c" /* yacc.c:1652 */
break;
case 2153:
#line 14294 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = "<>"; }
#line 44182 "gram.c" /* yacc.c:1652 */
break;
case 2154:
#line 14298 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
#line 44188 "gram.c" /* yacc.c:1652 */
break;
case 2155:
#line 14300 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 44194 "gram.c" /* yacc.c:1652 */
break;
case 2156:
#line 14305 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
#line 44200 "gram.c" /* yacc.c:1652 */
break;
case 2157:
#line 14307 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 44206 "gram.c" /* yacc.c:1652 */
break;
case 2158:
#line 14312 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
#line 44212 "gram.c" /* yacc.c:1652 */
break;
case 2159:
#line 14314 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 44218 "gram.c" /* yacc.c:1652 */
break;
case 2160:
#line 14316 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1(makeString("~~")); }
#line 44224 "gram.c" /* yacc.c:1652 */
break;
case 2161:
#line 14318 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1(makeString("!~~")); }
#line 44230 "gram.c" /* yacc.c:1652 */
break;
case 2162:
#line 14320 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1(makeString("~~*")); }
#line 44236 "gram.c" /* yacc.c:1652 */
break;
case 2163:
#line 14322 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1(makeString("!~~*")); }
#line 44242 "gram.c" /* yacc.c:1652 */
break;
case 2164:
#line 14334 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make1((yyvsp[0].node));
}
#line 44250 "gram.c" /* yacc.c:1652 */
break;
case 2165:
#line 14338 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
}
#line 44258 "gram.c" /* yacc.c:1652 */
break;
case 2166:
#line 14345 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make1((yyvsp[0].node));
}
#line 44266 "gram.c" /* yacc.c:1652 */
break;
case 2167:
#line 14349 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
}
#line 44274 "gram.c" /* yacc.c:1652 */
break;
case 2168:
#line 14355 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (yyvsp[0].node);
}
#line 44282 "gram.c" /* yacc.c:1652 */
break;
case 2169:
#line 14359 "gram.y" /* yacc.c:1652 */
{
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 44295 "gram.c" /* yacc.c:1652 */
break;
case 2170:
#line 14368 "gram.y" /* yacc.c:1652 */
{
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 44308 "gram.c" /* yacc.c:1652 */
break;
case 2171:
#line 14378 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].typnam)); }
#line 44314 "gram.c" /* yacc.c:1652 */
break;
case 2172:
#line 14379 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].typnam)); }
#line 44320 "gram.c" /* yacc.c:1652 */
break;
case 2173:
#line 14383 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeAArrayExpr((yyvsp[-1].list), (yylsp[-2]));
}
#line 44328 "gram.c" /* yacc.c:1652 */
break;
case 2174:
#line 14387 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeAArrayExpr((yyvsp[-1].list), (yylsp[-2]));
}
#line 44336 "gram.c" /* yacc.c:1652 */
break;
case 2175:
#line 14391 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeAArrayExpr(NIL, (yylsp[-1]));
}
#line 44344 "gram.c" /* yacc.c:1652 */
break;
case 2176:
#line 14396 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].node)); }
#line 44350 "gram.c" /* yacc.c:1652 */
break;
case 2177:
#line 14397 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
#line 44356 "gram.c" /* yacc.c:1652 */
break;
case 2178:
#line 14403 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make2(makeStringConst((yyvsp[-2].str), (yylsp[-2])), (yyvsp[0].node));
}
#line 44364 "gram.c" /* yacc.c:1652 */
break;
case 2179:
#line 14406 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 44370 "gram.c" /* yacc.c:1652 */
break;
case 2180:
#line 14413 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 44376 "gram.c" /* yacc.c:1652 */
break;
case 2181:
#line 14414 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = "year"; }
#line 44382 "gram.c" /* yacc.c:1652 */
break;
case 2182:
#line 14415 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = "month"; }
#line 44388 "gram.c" /* yacc.c:1652 */
break;
case 2183:
#line 14416 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = "day"; }
#line 44394 "gram.c" /* yacc.c:1652 */
break;
case 2184:
#line 14417 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = "hour"; }
#line 44400 "gram.c" /* yacc.c:1652 */
break;
case 2185:
#line 14418 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = "minute"; }
#line 44406 "gram.c" /* yacc.c:1652 */
break;
case 2186:
#line 14419 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = "second"; }
#line 44412 "gram.c" /* yacc.c:1652 */
break;
case 2187:
#line 14420 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 44418 "gram.c" /* yacc.c:1652 */
break;
case 2188:
#line 14431 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make4((yyvsp[-3].node), (yyvsp[-2].node), (yyvsp[-1].node), (yyvsp[0].node));
}
#line 44426 "gram.c" /* yacc.c:1652 */
break;
case 2189:
#line 14435 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make3((yyvsp[-2].node), (yyvsp[-1].node), (yyvsp[0].node));
}
#line 44434 "gram.c" /* yacc.c:1652 */
break;
case 2190:
#line 14442 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 44440 "gram.c" /* yacc.c:1652 */
break;
case 2191:
#line 14448 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make2((yyvsp[0].node), (yyvsp[-2].node)); }
#line 44446 "gram.c" /* yacc.c:1652 */
break;
case 2192:
#line 14449 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 44452 "gram.c" /* yacc.c:1652 */
break;
case 2193:
#line 14466 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make3((yyvsp[-2].node), (yyvsp[-1].node), (yyvsp[0].node));
}
#line 44460 "gram.c" /* yacc.c:1652 */
break;
case 2194:
#line 14470 "gram.y" /* yacc.c:1652 */
{
/* not legal per SQL99, but might as well allow it */
(yyval.list) = list_make3((yyvsp[-2].node), (yyvsp[0].node), (yyvsp[-1].node));
}
#line 44469 "gram.c" /* yacc.c:1652 */
break;
case 2195:
#line 14475 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make2((yyvsp[-1].node), (yyvsp[0].node));
}
#line 44477 "gram.c" /* yacc.c:1652 */
break;
case 2196:
#line 14479 "gram.y" /* yacc.c:1652 */
{
/*
* 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 44496 "gram.c" /* yacc.c:1652 */
break;
case 2197:
#line 14494 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = (yyvsp[0].list);
}
#line 44504 "gram.c" /* yacc.c:1652 */
break;
case 2198:
#line 14498 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 44510 "gram.c" /* yacc.c:1652 */
break;
case 2199:
#line 14502 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 44516 "gram.c" /* yacc.c:1652 */
break;
case 2200:
#line 14505 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 44522 "gram.c" /* yacc.c:1652 */
break;
case 2201:
#line 14508 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[0].list), (yyvsp[-2].node)); }
#line 44528 "gram.c" /* yacc.c:1652 */
break;
case 2202:
#line 14509 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 44534 "gram.c" /* yacc.c:1652 */
break;
case 2203:
#line 14510 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 44540 "gram.c" /* yacc.c:1652 */
break;
case 2204:
#line 14514 "gram.y" /* yacc.c:1652 */
{
SubLink *n = makeNode(SubLink);
n->subselect = (yyvsp[0].node);
/* other fields will be filled later */
(yyval.node) = (Node *)n;
}
#line 44551 "gram.c" /* yacc.c:1652 */
break;
case 2205:
#line 14520 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *)(yyvsp[-1].list); }
#line 44557 "gram.c" /* yacc.c:1652 */
break;
case 2206:
#line 14531 "gram.y" /* yacc.c:1652 */
{
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 44571 "gram.c" /* yacc.c:1652 */
break;
case 2207:
#line 14544 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].node)); }
#line 44577 "gram.c" /* yacc.c:1652 */
break;
case 2208:
#line 14545 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
#line 44583 "gram.c" /* yacc.c:1652 */
break;
case 2209:
#line 14550 "gram.y" /* yacc.c:1652 */
{
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 44595 "gram.c" /* yacc.c:1652 */
break;
case 2210:
#line 14560 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 44601 "gram.c" /* yacc.c:1652 */
break;
case 2211:
#line 14561 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = NULL; }
#line 44607 "gram.c" /* yacc.c:1652 */
break;
case 2212:
#line 14564 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 44613 "gram.c" /* yacc.c:1652 */
break;
case 2213:
#line 14565 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = NULL; }
#line 44619 "gram.c" /* yacc.c:1652 */
break;
case 2214:
#line 14569 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeColumnRef((yyvsp[0].str), NIL, (yylsp[0]), yyscanner);
}
#line 44627 "gram.c" /* yacc.c:1652 */
break;
case 2215:
#line 14573 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeColumnRef((yyvsp[-1].str), (yyvsp[0].list), (yylsp[-1]), yyscanner);
}
#line 44635 "gram.c" /* yacc.c:1652 */
break;
case 2216:
#line 14580 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (Node *) makeString((yyvsp[0].str));
}
#line 44643 "gram.c" /* yacc.c:1652 */
break;
case 2217:
#line 14584 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (Node *) makeNode(A_Star);
}
#line 44651 "gram.c" /* yacc.c:1652 */
break;
case 2218:
#line 14588 "gram.y" /* yacc.c:1652 */
{
A_Indices *ai = makeNode(A_Indices);
ai->is_slice = false;
ai->lidx = NULL;
ai->uidx = (yyvsp[-1].node);
(yyval.node) = (Node *) ai;
}
#line 44663 "gram.c" /* yacc.c:1652 */
break;
case 2219:
#line 14596 "gram.y" /* yacc.c:1652 */
{
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 44675 "gram.c" /* yacc.c:1652 */
break;
case 2220:
#line 14606 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 44681 "gram.c" /* yacc.c:1652 */
break;
case 2221:
#line 14607 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = NULL; }
#line 44687 "gram.c" /* yacc.c:1652 */
break;
case 2222:
#line 14611 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].node)); }
#line 44693 "gram.c" /* yacc.c:1652 */
break;
case 2223:
#line 14612 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
#line 44699 "gram.c" /* yacc.c:1652 */
break;
case 2224:
#line 14616 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 44705 "gram.c" /* yacc.c:1652 */
break;
case 2225:
#line 14617 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
#line 44711 "gram.c" /* yacc.c:1652 */
break;
case 2228:
#line 14631 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 44717 "gram.c" /* yacc.c:1652 */
break;
case 2229:
#line 14632 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 44723 "gram.c" /* yacc.c:1652 */
break;
case 2230:
#line 14636 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].target)); }
#line 44729 "gram.c" /* yacc.c:1652 */
break;
case 2231:
#line 14637 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
#line 44735 "gram.c" /* yacc.c:1652 */
break;
case 2232:
#line 14641 "gram.y" /* yacc.c:1652 */
{
(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 44747 "gram.c" /* yacc.c:1652 */
break;
case 2233:
#line 14657 "gram.y" /* yacc.c:1652 */
{
(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 44759 "gram.c" /* yacc.c:1652 */
break;
case 2234:
#line 14665 "gram.y" /* yacc.c:1652 */
{
(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 44771 "gram.c" /* yacc.c:1652 */
break;
case 2235:
#line 14673 "gram.y" /* yacc.c:1652 */
{
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 44787 "gram.c" /* yacc.c:1652 */
break;
case 2236:
#line 14694 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].range)); }
#line 44793 "gram.c" /* yacc.c:1652 */
break;
case 2237:
#line 14695 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].range)); }
#line 44799 "gram.c" /* yacc.c:1652 */
break;
case 2238:
#line 14707 "gram.y" /* yacc.c:1652 */
{
(yyval.range) = makeRangeVar(NULL, (yyvsp[0].str), (yylsp[0]));
}
#line 44807 "gram.c" /* yacc.c:1652 */
break;
case 2239:
#line 14711 "gram.y" /* yacc.c:1652 */
{
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 44836 "gram.c" /* yacc.c:1652 */
break;
case 2240:
#line 14738 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
#line 44842 "gram.c" /* yacc.c:1652 */
break;
case 2241:
#line 14740 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
#line 44848 "gram.c" /* yacc.c:1652 */
break;
case 2242:
#line 14744 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 44854 "gram.c" /* yacc.c:1652 */
break;
case 2243:
#line 14747 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 44860 "gram.c" /* yacc.c:1652 */
break;
case 2244:
#line 14750 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 44866 "gram.c" /* yacc.c:1652 */
break;
case 2245:
#line 14752 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 44872 "gram.c" /* yacc.c:1652 */
break;
case 2246:
#line 14754 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 44878 "gram.c" /* yacc.c:1652 */
break;
case 2247:
#line 14756 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 44884 "gram.c" /* yacc.c:1652 */
break;
case 2248:
#line 14767 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
#line 44890 "gram.c" /* yacc.c:1652 */
break;
case 2249:
#line 14769 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = check_func_name(lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)),
yyscanner);
}
#line 44899 "gram.c" /* yacc.c:1652 */
break;
case 2250:
#line 14780 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeIntConst((yyvsp[0].ival), (yylsp[0]));
}
#line 44907 "gram.c" /* yacc.c:1652 */
break;
case 2251:
#line 14784 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeFloatConst((yyvsp[0].str), (yylsp[0]));
}
#line 44915 "gram.c" /* yacc.c:1652 */
break;
case 2252:
#line 14788 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0]));
}
#line 44923 "gram.c" /* yacc.c:1652 */
break;
case 2253:
#line 14792 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeBitStringConst((yyvsp[0].str), (yylsp[0]));
}
#line 44931 "gram.c" /* yacc.c:1652 */
break;
case 2254:
#line 14796 "gram.y" /* yacc.c:1652 */
{
/* 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 44944 "gram.c" /* yacc.c:1652 */
break;
case 2255:
#line 14805 "gram.y" /* yacc.c:1652 */
{
/* generic type 'literal' syntax */
TypeName *t = makeTypeNameFromNameList((yyvsp[-1].list));
t->location = (yylsp[-1]);
(yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t);
}
#line 44955 "gram.c" /* yacc.c:1652 */
break;
case 2256:
#line 14812 "gram.y" /* yacc.c:1652 */
{
/* 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 44991 "gram.c" /* yacc.c:1652 */
break;
case 2257:
#line 14844 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), (yyvsp[-1].typnam));
}
#line 44999 "gram.c" /* yacc.c:1652 */
break;
case 2258:
#line 14848 "gram.y" /* yacc.c:1652 */
{
TypeName *t = (yyvsp[-2].typnam);
t->typmods = (yyvsp[0].list);
(yyval.node) = makeStringConstCast((yyvsp[-1].str), (yylsp[-1]), t);
}
#line 45009 "gram.c" /* yacc.c:1652 */
break;
case 2259:
#line 14854 "gram.y" /* yacc.c:1652 */
{
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 45020 "gram.c" /* yacc.c:1652 */
break;
case 2260:
#line 14861 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeBoolAConst(true, (yylsp[0]));
}
#line 45028 "gram.c" /* yacc.c:1652 */
break;
case 2261:
#line 14865 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeBoolAConst(false, (yylsp[0]));
}
#line 45036 "gram.c" /* yacc.c:1652 */
break;
case 2262:
#line 14869 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeNullAConst((yylsp[0]));
}
#line 45044 "gram.c" /* yacc.c:1652 */
break;
case 2263:
#line 14874 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = (yyvsp[0].ival); }
#line 45050 "gram.c" /* yacc.c:1652 */
break;
case 2264:
#line 14875 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 45056 "gram.c" /* yacc.c:1652 */
break;
case 2265:
#line 14877 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = (yyvsp[0].ival); }
#line 45062 "gram.c" /* yacc.c:1652 */
break;
case 2266:
#line 14878 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = + (yyvsp[0].ival); }
#line 45068 "gram.c" /* yacc.c:1652 */
break;
case 2267:
#line 14879 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = - (yyvsp[0].ival); }
#line 45074 "gram.c" /* yacc.c:1652 */
break;
case 2268:
#line 14884 "gram.y" /* yacc.c:1652 */
{
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 45109 "gram.c" /* yacc.c:1652 */
break;
case 2269:
#line 14917 "gram.y" /* yacc.c:1652 */
{
/*
* "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 45140 "gram.c" /* yacc.c:1652 */
break;
case 2270:
#line 14944 "gram.y" /* yacc.c:1652 */
{
(yyval.rolespec) = makeRoleSpec(ROLESPEC_CURRENT_USER, (yylsp[0]));
}
#line 45148 "gram.c" /* yacc.c:1652 */
break;
case 2271:
#line 14948 "gram.y" /* yacc.c:1652 */
{
(yyval.rolespec) = makeRoleSpec(ROLESPEC_SESSION_USER, (yylsp[0]));
}
#line 45156 "gram.c" /* yacc.c:1652 */
break;
case 2272:
#line 14954 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].rolespec)); }
#line 45162 "gram.c" /* yacc.c:1652 */
break;
case 2273:
#line 14956 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].rolespec)); }
#line 45168 "gram.c" /* yacc.c:1652 */
break;
case 2274:
#line 14972 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 45174 "gram.c" /* yacc.c:1652 */
break;
case 2275:
#line 14973 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = pstrdup((yyvsp[0].keyword)); }
#line 45180 "gram.c" /* yacc.c:1652 */
break;
case 2276:
#line 14974 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = pstrdup((yyvsp[0].keyword)); }
#line 45186 "gram.c" /* yacc.c:1652 */
break;
case 2277:
#line 14979 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 45192 "gram.c" /* yacc.c:1652 */
break;
case 2278:
#line 14980 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = pstrdup((yyvsp[0].keyword)); }
#line 45198 "gram.c" /* yacc.c:1652 */
break;
case 2279:
#line 14981 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = pstrdup((yyvsp[0].keyword)); }
#line 45204 "gram.c" /* yacc.c:1652 */
break;
case 2280:
#line 14986 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 45210 "gram.c" /* yacc.c:1652 */
break;
case 2281:
#line 14987 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = pstrdup((yyvsp[0].keyword)); }
#line 45216 "gram.c" /* yacc.c:1652 */
break;
case 2282:
#line 14988 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = pstrdup((yyvsp[0].keyword)); }
#line 45222 "gram.c" /* yacc.c:1652 */
break;
case 2283:
#line 14989 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = pstrdup((yyvsp[0].keyword)); }
#line 45228 "gram.c" /* yacc.c:1652 */
break;
case 2284:
#line 14995 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 45234 "gram.c" /* yacc.c:1652 */
break;
case 2285:
#line 14996 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = pstrdup((yyvsp[0].keyword)); }
#line 45240 "gram.c" /* yacc.c:1652 */
break;
case 2286:
#line 14997 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = pstrdup((yyvsp[0].keyword)); }
#line 45246 "gram.c" /* yacc.c:1652 */
break;
case 2287:
#line 14998 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = pstrdup((yyvsp[0].keyword)); }
#line 45252 "gram.c" /* yacc.c:1652 */
break;
case 2288:
#line 14999 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = pstrdup((yyvsp[0].keyword)); }
#line 45258 "gram.c" /* yacc.c:1652 */
break;
#line 45262 "gram.c" /* yacc.c:1652 */
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. */
{
const int yylhs = yyr1[yyn] - YYNTOKENS;
const int yyi = yypgoto[yylhs] + *yyssp;
yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp
? yytable[yyi]
: yydefgoto[yylhs]);
}
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 when the user code never invokes YYERROR and the
label yyerrorlab therefore never appears in user code. */
if (0)
YYERROR;
/* 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 -- parsing is finished, return the result. |
`-----------------------------------------------------*/
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 15496 "gram.y" /* yacc.c:1918 */
/*
* 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);
Value *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 = makeInteger(list_length(directargs));
return list_make2(list_concat(directargs, orderedargs),
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 */
}