/* 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-2019, 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 "access/tableam.h"
#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 269 "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,
STORED = 631,
STRICT_P = 632,
STRIP_P = 633,
SUBSCRIPTION = 634,
SUBSTRING = 635,
SUPPORT = 636,
SYMMETRIC = 637,
SYSID = 638,
SYSTEM_P = 639,
TABLE = 640,
TABLES = 641,
TABLESAMPLE = 642,
TABLESPACE = 643,
TEMP = 644,
TEMPLATE = 645,
TEMPORARY = 646,
TEXT_P = 647,
THEN = 648,
TIES = 649,
TIME = 650,
TIMESTAMP = 651,
TO = 652,
TRAILING = 653,
TRANSACTION = 654,
TRANSFORM = 655,
TREAT = 656,
TRIGGER = 657,
TRIM = 658,
TRUE_P = 659,
TRUNCATE = 660,
TRUSTED = 661,
TYPE_P = 662,
TYPES_P = 663,
UNBOUNDED = 664,
UNCOMMITTED = 665,
UNENCRYPTED = 666,
UNION = 667,
UNIQUE = 668,
UNKNOWN = 669,
UNLISTEN = 670,
UNLOGGED = 671,
UNTIL = 672,
UPDATE = 673,
USER = 674,
USING = 675,
VACUUM = 676,
VALID = 677,
VALIDATE = 678,
VALIDATOR = 679,
VALUE_P = 680,
VALUES = 681,
VARCHAR = 682,
VARIADIC = 683,
VARYING = 684,
VERBOSE = 685,
VERSION_P = 686,
VIEW = 687,
VIEWS = 688,
VOLATILE = 689,
WHEN = 690,
WHERE = 691,
WHITESPACE_P = 692,
WINDOW = 693,
WITH = 694,
WITHIN = 695,
WITHOUT = 696,
WORK = 697,
WRAPPER = 698,
WRITE = 699,
XML_P = 700,
XMLATTRIBUTES = 701,
XMLCONCAT = 702,
XMLELEMENT = 703,
XMLEXISTS = 704,
XMLFOREST = 705,
XMLNAMESPACES = 706,
XMLPARSE = 707,
XMLPI = 708,
XMLROOT = 709,
XMLSERIALIZE = 710,
XMLTABLE = 711,
YEAR_P = 712,
YES_P = 713,
ZONE = 714,
NOT_LA = 715,
NULLS_LA = 716,
WITH_LA = 717,
POSTFIXOP = 718,
UMINUS = 719
};
#endif
/* Value type. */
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
union YYSTYPE
{
#line 203 "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 821 "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 827
/* YYLAST -- Last index in YYTABLE. */
#define YYLAST 103948
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 482
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 667
/* YYNRULES -- Number of rules. */
#define YYNRULES 2724
/* YYNSTATES -- Number of states. */
#define YYNSTATES 5488
#define YYUNDEFTOK 2
#define YYMAXUTOK 719
/* 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, 471, 2, 2,
476, 477, 469, 467, 480, 468, 478, 470, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 481, 479,
463, 465, 464, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 474, 2, 475, 472, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 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, 461, 462, 466, 473
};
#if YYDEBUG
/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
0, 789, 789, 805, 817, 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, 946, 947, 948, 949, 951, 960,
975, 986, 987, 988, 997, 998, 1002, 1003, 1007, 1012,
1016, 1026, 1034, 1038, 1042, 1047, 1051, 1099, 1101, 1105,
1109, 1113, 1117, 1131, 1149, 1157, 1168, 1169, 1173, 1181,
1189, 1197, 1218, 1225, 1232, 1239, 1246, 1253, 1270, 1288,
1299, 1300, 1311, 1321, 1331, 1346, 1364, 1365, 1369, 1376,
1384, 1385, 1386, 1387, 1388, 1389, 1403, 1409, 1415, 1424,
1432, 1440, 1444, 1452, 1460, 1467, 1477, 1478, 1486, 1497,
1505, 1513, 1524, 1532, 1540, 1547, 1556, 1566, 1567, 1571,
1572, 1575, 1577, 1581, 1582, 1583, 1584, 1588, 1589, 1590,
1596, 1608, 1612, 1616, 1631, 1638, 1639, 1640, 1644, 1645,
1646, 1650, 1651, 1655, 1659, 1660, 1667, 1674, 1684, 1691,
1701, 1702, 1707, 1708, 1713, 1719, 1725, 1731, 1737, 1747,
1757, 1758, 1762, 1763, 1771, 1786, 1792, 1798, 1804, 1810,
1829, 1838, 1847, 1856, 1865, 1876, 1887, 1896, 1905, 1914,
1925, 1936, 1945, 1954, 1963, 1972, 1981, 1990, 2001, 2015,
2016, 2021, 2034, 2050, 2066, 2075, 2084, 2093, 2102, 2111,
2119, 2127, 2136, 2152, 2161, 2170, 2179, 2196, 2205, 2214,
2223, 2233, 2246, 2261, 2270, 2278, 2293, 2301, 2311, 2321,
2328, 2336, 2344, 2351, 2358, 2366, 2374, 2382, 2389, 2396,
2404, 2411, 2418, 2426, 2434, 2442, 2450, 2458, 2466, 2476,
2483, 2491, 2499, 2507, 2515, 2523, 2530, 2537, 2544, 2550,
2560, 2561, 2565, 2566, 2567, 2571, 2579, 2583, 2584, 2588,
2595, 2602, 2609, 2619, 2622, 2623, 2627, 2628, 2633, 2637,
2641, 2646, 2653, 2655, 2660, 2664, 2668, 2679, 2687, 2740,
2753, 2767, 2779, 2786, 2790, 2804, 2817, 2818, 2823, 2832,
2842, 2852, 2878, 2884, 2917, 2952, 2974, 2975, 2979, 2980,
2989, 2990, 2991, 2994, 2995, 3000, 3001, 3005, 3009, 3013,
3017, 3021, 3025, 3029, 3033, 3037, 3041, 3045, 3049, 3053,
3062, 3066, 3070, 3074, 3078, 3079, 3084, 3088, 3095, 3102,
3103, 3104, 3105, 3106, 3110, 3114, 3122, 3133, 3152, 3171,
3191, 3211, 3231, 3264, 3265, 3266, 3267, 3268, 3275, 3282,
3283, 3287, 3288, 3292, 3293, 3297, 3301, 3308, 3312, 3319,
3320, 3321, 3325, 3326, 3329, 3350, 3368, 3389, 3390, 3394,
3401, 3402, 3403, 3434, 3441, 3448, 3459, 3470, 3482, 3491,
3500, 3523, 3541, 3542, 3561, 3568, 3575, 3582, 3593, 3604,
3605, 3606, 3610, 3611, 3612, 3613, 3614, 3615, 3616, 3617,
3618, 3627, 3634, 3638, 3651, 3667, 3682, 3698, 3713, 3732,
3753, 3754, 3758, 3759, 3763, 3764, 3767, 3773, 3774, 3777,
3781, 3789, 3794, 3800, 3801, 3805, 3810, 3817, 3818, 3828,
3830, 3832, 3834, 3837, 3840, 3843, 3847, 3848, 3849, 3850,
3851, 3854, 3855, 3859, 3860, 3863, 3875, 3876, 3879, 3880,
3883, 3894, 3905, 3919, 3920, 3925, 3926, 3927, 3930, 3931,
3932, 3933, 3936, 3937, 3940, 3941, 3944, 3962, 3974, 3999,
4012, 4028, 4044, 4045, 4046, 4058, 4071, 4087, 4101, 4102,
4114, 4134, 4144, 4157, 4165, 4176, 4177, 4180, 4181, 4184,
4185, 4188, 4192, 4196, 4200, 4204, 4208, 4212, 4216, 4220,
4224, 4228, 4233, 4237, 4241, 4247, 4248, 4252, 4253, 4254,
4259, 4262, 4263, 4275, 4287, 4302, 4303, 4311, 4312, 4316,
4317, 4321, 4322, 4326, 4327, 4331, 4341, 4354, 4355, 4365,
4376, 4377, 4390, 4397, 4414, 4422, 4433, 4436, 4440, 4444,
4448, 4452, 4464, 4474, 4477, 4481, 4494, 4503, 4512, 4521,
4530, 4539, 4548, 4557, 4566, 4575, 4584, 4593, 4602, 4611,
4620, 4629, 4638, 4647, 4656, 4665, 4674, 4683, 4692, 4701,
4710, 4719, 4728, 4737, 4755, 4766, 4767, 4768, 4769, 4773,
4774, 4778, 4779, 4789, 4797, 4809, 4810, 4814, 4818, 4826,
4830, 4834, 4841, 4845, 4850, 4855, 4862, 4869, 4874, 4884,
4896, 4911, 4912, 4917, 4918, 4922, 4923, 4933, 4942, 4950,
4967, 4987, 5007, 5028, 5059, 5068, 5089, 5104, 5105, 5109,
5117, 5132, 5141, 5153, 5154, 5166, 5174, 5191, 5215, 5232,
5246, 5247, 5251, 5252, 5256, 5257, 5261, 5262, 5266, 5280,
5284, 5285, 5289, 5290, 5291, 5292, 5293, 5303, 5314, 5315,
5326, 5347, 5373, 5374, 5375, 5379, 5381, 5403, 5405, 5407,
5409, 5411, 5416, 5417, 5421, 5422, 5426, 5437, 5438, 5442,
5451, 5455, 5459, 5464, 5474, 5475, 5479, 5480, 5484, 5485,
5489, 5490, 5494, 5495, 5496, 5500, 5504, 5505, 5506, 5510,
5511, 5516, 5517, 5544, 5545, 5546, 5547, 5548, 5549, 5562,
5572, 5586, 5588, 5593, 5598, 5600, 5605, 5615, 5616, 5617,
5618, 5629, 5648, 5659, 5671, 5681, 5691, 5702, 5711, 5718,
5725, 5734, 5743, 5752, 5761, 5770, 5780, 5789, 5801, 5804,
5805, 5808, 5812, 5819, 5820, 5821, 5822, 5823, 5824, 5827,
5830, 5831, 5839, 5846, 5847, 5850, 5852, 5863, 5874, 5885,
5896, 5909, 5910, 5926, 5941, 5942, 5946, 5958, 5968, 5976,
5985, 5994, 5995, 5998, 5999, 6002, 6003, 6004, 6007, 6021,
6026, 6036, 6045, 6057, 6058, 6062, 6070, 6082, 6092, 6105,
6115, 6137, 6147, 6165, 6175, 6185, 6195, 6205, 6215, 6225,
6235, 6245, 6255, 6265, 6275, 6289, 6290, 6291, 6292, 6293,
6294, 6295, 6296, 6297, 6298, 6299, 6300, 6301, 6306, 6307,
6308, 6309, 6310, 6311, 6312, 6317, 6318, 6319, 6323, 6324,
6327, 6328, 6331, 6333, 6338, 6339, 6350, 6361, 6362, 6363,
6397, 6405, 6413, 6421, 6429, 6437, 6445, 6453, 6461, 6474,
6482, 6490, 6498, 6506, 6514, 6522, 6530, 6538, 6546, 6558,
6559, 6560, 6561, 6562, 6563, 6564, 6565, 6566, 6567, 6568,
6569, 6570, 6571, 6576, 6577, 6578, 6579, 6580, 6581, 6582,
6583, 6584, 6585, 6586, 6587, 6591, 6592, 6606, 6616, 6626,
6636, 6646, 6656, 6666, 6676, 6686, 6698, 6699, 6704, 6705,
6706, 6707, 6708, 6709, 6714, 6715, 6716, 6717, 6718, 6719,
6720, 6721, 6724, 6725, 6735, 6741, 6749, 6757, 6765, 6773,
6781, 6789, 6797, 6805, 6813, 6821, 6829, 6837, 6845, 6853,
6861, 6869, 6879, 6880, 6883, 6884, 6894, 6910, 6924, 6950,
6952, 6954, 6956, 6963, 6972, 6973, 6976, 6983, 6990, 6997,
7011, 7019, 7027, 7035, 7043, 7051, 7059, 7067, 7075, 7083,
7091, 7099, 7107, 7115, 7123, 7131, 7139, 7147, 7155, 7163,
7175, 7176, 7180, 7181, 7186, 7187, 7197, 7210, 7220, 7232,
7233, 7236, 7237, 7247, 7257, 7258, 7262, 7266, 7270, 7281,
7294, 7308, 7325, 7326, 7327, 7328, 7329, 7330, 7342, 7370,
7401, 7402, 7406, 7407, 7411, 7412, 7416, 7417, 7420, 7421,
7429, 7440, 7451, 7464, 7465, 7468, 7469, 7472, 7473, 7476,
7477, 7480, 7481, 7482, 7485, 7486, 7487, 7503, 7515, 7528,
7540, 7555, 7556, 7559, 7560, 7564, 7565, 7569, 7570, 7575,
7587, 7594, 7601, 7616, 7617, 7621, 7622, 7637, 7646, 7655,
7664, 7673, 7685, 7686, 7687, 7688, 7689, 7695, 7699, 7714,
7715, 7721, 7731, 7735, 7740, 7748, 7789, 7793, 7797, 7801,
7809, 7810, 7814, 7824, 7825, 7831, 7832, 7839, 7843, 7847,
7851, 7855, 7859, 7863, 7867, 7871, 7875, 7879, 7883, 7887,
7891, 7895, 7899, 7904, 7911, 7915, 7919, 7923, 7927, 7933,
7934, 7941, 7942, 7946, 7947, 7950, 7962, 7966, 7981, 7989,
7997, 8009, 8010, 8015, 8016, 8033, 8043, 8053, 8063, 8073,
8083, 8096, 8106, 8119, 8129, 8142, 8150, 8152, 8154, 8159,
8161, 8166, 8167, 8172, 8190, 8199, 8200, 8204, 8208, 8220,
8231, 8242, 8255, 8256, 8257, 8261, 8273, 8274, 8284, 8296,
8300, 8304, 8308, 8315, 8335, 8345, 8355, 8365, 8377, 8378,
8381, 8382, 8383, 8386, 8387, 8390, 8400, 8409, 8426, 8435,
8444, 8453, 8462, 8471, 8480, 8489, 8498, 8507, 8516, 8525,
8534, 8544, 8554, 8563, 8572, 8581, 8590, 8599, 8608, 8618,
8628, 8638, 8648, 8658, 8668, 8678, 8688, 8698, 8708, 8718,
8728, 8739, 8750, 8761, 8772, 8782, 8792, 8803, 8814, 8824,
8834, 8842, 8851, 8860, 8869, 8878, 8887, 8896, 8905, 8914,
8923, 8937, 8938, 8941, 8942, 8952, 8960, 8968, 8976, 8985,
8993, 9010, 9019, 9028, 9037, 9046, 9055, 9064, 9073, 9082,
9091, 9100, 9109, 9118, 9127, 9136, 9145, 9154, 9163, 9172,
9181, 9190, 9199, 9208, 9217, 9226, 9235, 9244, 9262, 9271,
9272, 9275, 9277, 9283, 9284, 9285, 9286, 9287, 9296, 9304,
9312, 9320, 9328, 9336, 9344, 9352, 9360, 9368, 9376, 9384,
9392, 9400, 9408, 9416, 9424, 9432, 9440, 9448, 9456, 9464,
9472, 9480, 9498, 9517, 9518, 9522, 9526, 9546, 9553, 9561,
9569, 9586, 9599, 9603, 9610, 9619, 9628, 9637, 9646, 9656,
9666, 9684, 9692, 9708, 9725, 9726, 9727, 9732, 9738, 9747,
9748, 9749, 9750, 9751, 9755, 9756, 9759, 9760, 9761, 9762,
9766, 9767, 9768, 9780, 9790, 9791, 9794, 9803, 9809, 9828,
9836, 9843, 9850, 9858, 9866, 9874, 9881, 9888, 9895, 9902,
9909, 9916, 9923, 9932, 9933, 9934, 9938, 9941, 9944, 9947,
9950, 9957, 9959, 9961, 9966, 9968, 9972, 9973, 9974, 9986,
9999, 10012, 10030, 10051, 10052, 10053, 10054, 10064, 10080, 10090,
10091, 10095, 10096, 10100, 10104, 10108, 10126, 10127, 10128, 10129,
10130, 10131, 10132, 10139, 10140, 10151, 10158, 10165, 10176, 10193,
10200, 10216, 10233, 10239, 10255, 10268, 10277, 10285, 10293, 10302,
10313, 10324, 10334, 10335, 10346, 10356, 10367, 10378, 10389, 10400,
10409, 10421, 10422, 10436, 10459, 10469, 10480, 10493, 10494, 10506,
10526, 10536, 10547, 10558, 10562, 10569, 10570, 10574, 10581, 10582,
10586, 10587, 10588, 10592, 10593, 10597, 10598, 10601, 10602, 10605,
10606, 10610, 10611, 10615, 10622, 10624, 10629, 10630, 10643, 10650,
10660, 10667, 10677, 10678, 10679, 10680, 10681, 10682, 10683, 10684,
10685, 10689, 10693, 10700, 10707, 10708, 10712, 10713, 10714, 10724,
10734, 10735, 10739, 10740, 10741, 10742, 10752, 10759, 10776, 10795,
10796, 10806, 10812, 10818, 10824, 10840, 10858, 10862, 10870, 10876,
10883, 10889, 10896, 10905, 10906, 10910, 10912, 10917, 10928, 10938,
10948, 10954, 10963, 10972, 10978, 10979, 10990, 11004, 11005, 11016,
11027, 11028, 11031, 11032, 11033, 11034, 11035, 11036, 11037, 11038,
11041, 11042, 11046, 11047, 11048, 11059, 11077, 11078, 11082, 11087,
11111, 11122, 11123, 11133, 11144, 11147, 11148, 11149, 11150, 11151,
11154, 11155, 11156, 11204, 11205, 11209, 11210, 11225, 11226, 11233,
11241, 11249, 11257, 11265, 11273, 11284, 11285, 11312, 11326, 11341,
11342, 11361, 11365, 11369, 11386, 11393, 11400, 11410, 11411, 11414,
11427, 11428, 11429, 11433, 11434, 11438, 11450, 11458, 11463, 11468,
11473, 11478, 11486, 11494, 11499, 11504, 11511, 11512, 11516, 11517,
11518, 11525, 11526, 11530, 11531, 11535, 11536, 11540, 11544, 11545,
11548, 11557, 11570, 11571, 11572, 11573, 11577, 11578, 11582, 11584,
11600, 11602, 11607, 11610, 11615, 11616, 11624, 11644, 11645, 11647,
11652, 11653, 11657, 11658, 11661, 11662, 11687, 11688, 11692, 11693,
11697, 11698, 11699, 11700, 11701, 11705, 11718, 11725, 11732, 11739,
11740, 11744, 11745, 11749, 11750, 11754, 11755, 11759, 11770, 11771,
11772, 11773, 11777, 11778, 11788, 11794, 11812, 11813, 11817, 11818,
11824, 11829, 11837, 11844, 11852, 11858, 11865, 11900, 11925, 11929,
11955, 11959, 11971, 11984, 11998, 12009, 12024, 12030, 12035, 12041,
12048, 12049, 12057, 12061, 12065, 12071, 12078, 12083, 12084, 12085,
12086, 12090, 12091, 12103, 12104, 12109, 12116, 12123, 12130, 12141,
12142, 12155, 12159, 12166, 12179, 12192, 12193, 12208, 12218, 12230,
12235, 12236, 12239, 12240, 12243, 12244, 12249, 12250, 12255, 12256,
12264, 12269, 12270, 12274, 12278, 12284, 12308, 12318, 12331, 12332,
12336, 12350, 12407, 12421, 12423, 12428, 12430, 12432, 12434, 12439,
12441, 12446, 12454, 12474, 12479, 12486, 12491, 12497, 12502, 12511,
12513, 12516, 12520, 12521, 12522, 12523, 12524, 12525, 12530, 12550,
12551, 12552, 12553, 12564, 12570, 12578, 12579, 12585, 12590, 12595,
12600, 12605, 12610, 12615, 12620, 12626, 12632, 12638, 12645, 12667,
12676, 12680, 12688, 12692, 12700, 12712, 12733, 12737, 12743, 12747,
12760, 12768, 12778, 12780, 12782, 12784, 12786, 12788, 12793, 12794,
12801, 12810, 12818, 12827, 12838, 12846, 12847, 12848, 12852, 12854,
12856, 12858, 12860, 12862, 12864, 12869, 12874, 12880, 12888, 12893,
12900, 12907, 12911, 12915, 12951, 12952, 12954, 12962, 12977, 12979,
12981, 12983, 12985, 12987, 12989, 12991, 12993, 12995, 12997, 12999,
13001, 13003, 13006, 13008, 13010, 13013, 13015, 13017, 13019, 13022,
13027, 13035, 13040, 13048, 13053, 13061, 13066, 13075, 13083, 13091,
13099, 13117, 13125, 13133, 13141, 13149, 13165, 13173, 13181, 13189,
13197, 13205, 13213, 13217, 13221, 13225, 13229, 13237, 13245, 13253,
13261, 13281, 13303, 13314, 13321, 13337, 13342, 13348, 13373, 13375,
13377, 13379, 13381, 13383, 13385, 13387, 13389, 13391, 13393, 13395,
13397, 13399, 13401, 13403, 13405, 13407, 13409, 13411, 13415, 13419,
13423, 13427, 13432, 13448, 13449, 13450, 13465, 13499, 13501, 13503,
13514, 13538, 13549, 13560, 13567, 13577, 13587, 13596, 13600, 13606,
13613, 13620, 13630, 13637, 13665, 13700, 13711, 13712, 13719, 13725,
13729, 13733, 13737, 13741, 13745, 13749, 13753, 13757, 13761, 13765,
13769, 13773, 13777, 13781, 13785, 13787, 13791, 13800, 13805, 13812,
13827, 13834, 13838, 13842, 13846, 13850, 13857, 13865, 13873, 13877,
13881, 13885, 13889, 13893, 13899, 13903, 13912, 13916, 13920, 13925,
13939, 13941, 13945, 13947, 13949, 13952, 13955, 13958, 13959, 13962,
13970, 13980, 13981, 13984, 13985, 13986, 13991, 13995, 13999, 14003,
14010, 14011, 14019, 14020, 14024, 14025, 14033, 14034, 14038, 14039,
14044, 14052, 14054, 14068, 14071, 14098, 14099, 14102, 14103, 14111,
14118, 14125, 14133, 14142, 14159, 14204, 14212, 14220, 14228, 14236,
14247, 14248, 14249, 14250, 14251, 14265, 14266, 14267, 14270, 14271,
14274, 14277, 14278, 14279, 14282, 14283, 14286, 14287, 14288, 14289,
14290, 14291, 14292, 14293, 14294, 14295, 14296, 14297, 14300, 14302,
14307, 14309, 14314, 14316, 14318, 14320, 14322, 14324, 14336, 14340,
14347, 14351, 14357, 14361, 14370, 14381, 14382, 14385, 14389, 14393,
14399, 14400, 14405, 14409, 14416, 14417, 14418, 14419, 14420, 14421,
14422, 14423, 14433, 14437, 14444, 14451, 14452, 14468, 14472, 14477,
14481, 14496, 14501, 14505, 14508, 14511, 14512, 14513, 14516, 14523,
14533, 14547, 14548, 14552, 14563, 14564, 14567, 14568, 14571, 14575,
14582, 14586, 14590, 14598, 14609, 14610, 14614, 14615, 14619, 14620,
14623, 14624, 14634, 14635, 14639, 14640, 14643, 14659, 14667, 14675,
14697, 14698, 14709, 14713, 14740, 14742, 14747, 14750, 14753, 14755,
14757, 14759, 14769, 14771, 14782, 14786, 14790, 14794, 14798, 14807,
14814, 14846, 14850, 14856, 14863, 14867, 14871, 14877, 14878, 14880,
14881, 14882, 14886, 14919, 14946, 14950, 14956, 14958, 14975, 14976,
14977, 14982, 14983, 14984, 14989, 14990, 14991, 14992, 14998, 14999,
15000, 15001, 15002, 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,
15309, 15310, 15311, 15312, 15313, 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,
15372, 15373, 15374, 15375, 15376, 15390, 15391, 15392, 15393, 15394,
15395, 15396, 15397, 15398, 15399, 15400, 15401, 15402, 15403, 15404,
15405, 15406, 15407, 15408, 15409, 15410, 15411, 15412, 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,
15494, 15495, 15496, 15497, 15498
};
#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", "STORED", "STRICT_P", "STRIP_P", "SUBSCRIPTION",
"SUBSTRING", "SUPPORT", "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", "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", "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",
"table_access_method_clause", "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",
"am_type", "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", "CreateAssertionStmt",
"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", "opt_transaction_chain", "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",
"AnalyzeStmt", "vac_analyze_option_list", "analyze_keyword",
"vac_analyze_option_elem", "vac_analyze_option_name",
"vac_analyze_option_arg", "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_materialized", "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", "xml_passing_mech", "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, 716, 717, 60, 62, 61, 718, 43, 45, 42,
47, 37, 94, 719, 91, 93, 40, 41, 46, 59,
44, 58
};
# endif
#define YYPACT_NINF -4879
#define yypact_value_is_default(Yystate) \
(!!((Yystate) == (-4879)))
#define YYTABLE_NINF -2631
#define yytable_value_is_error(Yytable_value) \
(!!((Yytable_value) == (-2631)))
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
static const int yypact[] =
{
5549, 45, 15180, -4879, -4879, 45, 62970, -4879, 70739, 542,
746, 80, 194, 14038, 71196, 78508, 761, 330, 14376, 45,
78508, 2227, 54287, 67997, 914, 78508, 1288, 985, 54287, 78508,
78965, 1104, 1236, 234, 79422, 71653, 66626, 90, 78508, 1386,
1010, 79879, 72110, 1261, 72567, 985, 50659, 148, 1219, 80336,
78508, 1790, 1707, 1244, -4879, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, 19, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, 2207,
-4879, 1179, 2370, 1501, 769, 1341, -4879, -4879, 1825, 62970,
78508, 78508, 78508, 1597, 78508, 1502, 78508, 212, 62970, 58857,
73024, 1650, 1517, 46997, 80793, -4879, 62970, 78508, 57029, 62970,
78508, 78508, 81250, 78508, 78508, 78508, 663, 69368, 78508, 1586,
78508, 78508, 57486, 81707, 1742, 1538, 241, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, -4879, 1539, 1015, -4879, 245, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, 78508, 13355, 1288, 1825,
-4879, 1790, 78508, 1831, 78508, 1619, 82164, 1714, 78508, -4879,
78508, 1736, 82621, 218, 1613, 58857, 1810, 47455, 1819, 78508,
78508, 58857, 83078, 83535, 83992, 78508, 78508, -4879, -4879, 1813,
78508, 78508, -4879, 1939, 59314, 1486, 1986, 2159, 2040, 658,
-4879, 73481, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
62056, 330, -4879, -4879, 2015, 63427, 2082, -4879, -4879, 84449,
100831, 1865, -4879, 810, 63884, 59771, 2202, 1866, 47913, 2233,
-4879, 64341, -4879, 60228, 64798, -4879, -4879, -4879, -4879, -4879,
84906, -4879, 85363, 1958, 2082, -4879,101274, 60685, -4879, 2100,
85820, 86277, 86734, 1825, 1843, 1388, 981, 42851, -4879, -4879,
-4879, 542, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
252, 1523, 273, 207, 275, -4879, -4879, 223, 224, 236,
252, 2315, 2315, -4879, 78508, -4879, -4879, 1523, 88, 1869,
1869, 1869, 2087, 1051, -4879, 1869, 2008, -4879, -4879, -4879,
-4879, 72567, -4879, 1883, 1288, 1901, 2335, 1984, -4879, -4879,
-4879, -4879, -4879, 1980, 2347, 2347, 78508, -4879, -4879, 2392,
2004, 2278, 1997, -4879, -4879, -4879, 2197, 2231, 2230, 178,
1288, 260, -4879, 2356, -4879, 2274, 29740, 29740, 1288, 73938,
87191, 235, 62056, 1288, 74395, 2061, 1400, 2283, -4879, -4879,
-4879, 711, -4879, 2507, 2101, 2362, 1997, 1538, 44230, -4879,
2098, 1015, 72567, -4879, -4879, -4879, 61142, 2420, 31636, 78508,
2120, -4879, 2133, 2120, 2146, 2156, 1501, -4879, 5549, 61142,
78508, 1424, 1424, 2585, 1424, 1943, 1993, -4879, 2403, -4879,
2480, 2441, 72567, 2178, 306, -4879, 1267, 2183, 1359, 2190,
1316, 1412, -4879, -4879, 805, 78508, 304, 2238, 74852, 6714,
2198, 1015, 2244, -4879, -4879, -4879, 2401, 385, -4879, -4879,
-4879, -4879, 2497, 2550, 2931, 340, 75309, -4879, -4879, -4879,
-4879, 78508, 78508, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, 2271, 709, -4879, -4879, 2270, 2615, 2514, 6733,
1195, 2600, 2470, 1460, 8014, 2535, 1511, 2670, 8270, 1525,
1334, 1336, 75766, 78508, 2625, 2672, 7454, 1888, 1008, 2555,
1082, 2600, 2688, 2505, 1460, 2701, 8450, 78508, -4879, 2643,
2758, 109, -4879, 163, -4879, 24611, 31636, 50202, -4879, 1015,
2453, 2617, 809, 2645, 62970, 2416, -4879, -4879, 78508, -4879,
-4879,101717, 2492, -4879, 813, 62970, -4879, 2644, 2481, 48371,
78508, 62970, -4879, -4879, 62970, 78508, -4879, -4879, -4879, -4879,
-4879, -4879, -4879, 2575, 2798, 78508,101717, -4879, 2745, 78508,
78508, -4879, -4879, 2490, -4879, -4879, -4879, -4879, 1869, 78508,
2907,101717, 2724, 146, 78508, 1367, 2963, 78508, 2748, 1367,
2564, 87648, -4879, -4879, 1367, -4879, -4879, -4879, 78508, 78508,
2540, 1692, 2761, 2878, 1367, 2778, 2994, 2995, 2785, 2633,
2788, 2133, 2960, 2760, 1078, 1200, 177, 1745, 1367, 2614,
88105, 88562, 78508, 2621, 78508, 2347, 62970, 62970, 62970, 78508,
2889, -4879, 2752, -4879, -4879, 1229, -4879, -4879, -4879, -4879,
-4879, 2903, -4879, 169, 2914, 2587, 2921, -4879, -4879, -4879,
2639, -4879, 2639, 2639, 2593, 2593, 2774, 2599, 2930, -4879,
-4879, -4879, 405, 2639, 2593, -4879,102603, -4879, 1664, 1719,
-4879, 270, -4879, 3045, -4879, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, 2604, -4879, 1027, 1759, -4879, -4879, 2638, -4879,
2938, 286, -4879, 2939, -4879, 2607, 89019, -4879, 89476, 89933,
2942, 315, -4879, 58857, 2943, 286, 2945, 2607, 2946, 286,
2947, 263, 2949, -4879, 1220, 2944, 2950, 270, 2954, 1820,
2607, 62513, 2959, 321, -4879, 2962, 433, -4879, 2964, 2837,
-4879, 31636, -4879, 2728, -4879, 1219, -4879, 1536, -4879, 53373,
-4879, 981, 1523, -4879, 78508, 1523, 78508, 1523, 78508, 1523,
78508, 1523, 78508, 78508, 78508, 1523, -4879, -4879, -4879, 78508,
2651, 78508, 78508, -4879, -4879, -4879, 68454, 58857, 68911, -4879,
78508, -4879, 415, 1288, -4879, -4879,101717, 3085, 58857, 2347,
-4879, 1690, -4879, -4879, 78508, 78508, -4879, -4879, -4879, 2900,
78508, 2970, 2971, 68454, 58857, -4879, 90390, -4879, 62056, 2861,
2656, -4879, -4879, -4879, -4879, -4879, 1907, 3128, 204, 3129,
31636, 2659, 204, 204, 2660, 2983, -4879, -4879, -4879, 282,
2671, 2673, -4879, 255, 255, -4879, 2674, 2675, -4879, 261,
2677, 2681, 3137, 3141, 271, 2689, 2690, 2692, 405, 204,
31636, -4879, 2693, 255, 2696, 2698, 2704, 3162, 2705, -4879,
3172, 2706, 220, 324, 2708, 2710, -4879, 2674, -4879, 292,
2711, 2712, 2713, 2715, 2716, 2721, 2722, 2725, 31636, 31636,
31636, -4879, 28318, 1015, 1288, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, -4879, 297, 4670, -4879, 2762, -4879, -4879, 2919,
-4879, -4879, 31636, -4879, -4879, 106, -4879, 299, -4879, -4879,
-4879, 1015, 2999, 2729, -4879, -4879, 1443, 2730, -4879, 1882,
-4879, -4879, -4879, -4879, -4879, -4879, 61599, 3173, -4879, 329,
1288, 163, 369, 3117, 52459, 52916, -4879, -4879, 2990, -4879,
78508, -4879, -4879, 1015, 187, 1705, -4879, -4879, 53373, -4879,
-4879, 542, 12775, 1867, 2120, 78508, 78508, 3180, -4879, -4879,
-4879, 1894, -4879, 2741, -4879, 2133, -4879, -4879, 1501, 1501,
31636, 1501, 1321, 1190, 30214, 32110, 3064, 2957, 826, 1346,
3066, -4879, 2965, 1943, 1993, 72567, 78508, 90847, 2872, 31636,
-4879, 3170, 2836, 2839, 2895, 51573, -4879, 2842, 2811, 2847,
2902, 55201, 2768, 2852, 2853, 2908, -4879, 3027, -4879, -4879,
2856, 2858, 91304, -4879, -4879, 842, -4879, -4879, -4879, 842,
-4879, 2799, 1282, 983, 1344, 2866, 332, 240, 3181, -4879,
1132, -4879, -4879, 2923, -4879, 8026, 78508, 3121, 9588, 3000,
340, 3001, 2920, -4879, -4879, 3052, 2876, 78508, 2877, 3019,
340, 302, 91761, -4879, -4879, 78508, -4879, -4879, -4879, -4879,
3313, 27431, -4879, 1925, 2882, 2862, 2892, 78508, 65712, 1976,
2993, 3014, 3016, 1409, 2090, 559, 2952, 78508, 293, 3022,
78508, 2813, 2896, 2897, 3112, 2821, 678, 3218, 2823, -4879,
-4879, -4879, -4879, 2194, 2204, 3020, -4879, 3119, 3158, 9232,
2888, 2894, 99502, -4879, 2915, 42, 48829, 78508, 78508, 3047,
2922, 2926, 92218, 3313, 2932, 2940, 2933, 2935, 37, 3223,
1331, 2936, -4879, -4879, -4879, 1331, 3065, 2951, 2953, 92675,
3313, 78508, 2955, 2958, 78508,102603, 340, -4879, 3282, 340,
340, 1776, 3287, 2966, 209, 3102, 2210, 1367, 2823, 2820,
-4879, 2967, 2969, 314, -4879, 3076, 2974, 2975, 3008, 1288,
-4879, -4879, 2976, 3048, 2977, 666, -4879, -4879, 31, 2972,
72567, 3068, 3070, 356, 2219, 2823, -4879, 2978, 2980, 2821,
2821, 78508, 78508, 78508, 78508, 78508, 331, 3319, 3320, 2981,
265, 3024, 2899, -4879, 1331, 57943, 2984, -4879, 1331, 78508,
2992, 2329, 2823, 1627, 1313, -4879, -4879, -4879, 1538, -4879,
31636, 31636, 31636, 2891, -4879, 1973, 12775, 667, -4879, 301,
11074, 2909, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, 78508, -4879,
78508, -4879, 3184,101717, 3125, 3186, -4879, 2956, -4879, 3187,
340, -4879, 78508, 78508, 3188, 3131, 3192, 3193, 3136, 1223,
101717, 3139, 3200, -4879, 3201, 3202, 3017, 174, 3010, 2961,
3380, 3272, 78508, 55201, -4879, 3396, 842, -4879,101717, 3152,
3276, -4879, 78508, 3174, 804, -4879, 3315, 3011, -4879, -4879,
698, 78508, 289, 2997, -4879, -4879, 3286, 58857, 1353, 3288,
1288, 3002, 3292, 3175, 1288, 58857, 3208, 78508, 78508, 78508,
78508, -4879, -4879, 3177, 191, 717, -4879, 57943, 3189, -4879,
78508, 3195, 2820, 3196, 3417, 78, 1869, 93132, 3296, 93589,
2985, 2987, 2987, 3421,101717, 3242, -4879, 1923, -4879, 3114,
-4879, 62970, -4879, -4879, 62970, -4879, -4879,101717, 78508, -4879,
2988, -4879, -4879, 31636, -4879, -4879, -4879, 2315, -4879,101717,
2639, 2639, -4879, -4879, 3431, 3072, 3074, 2315, -4879, 2315,
-4879,101717, -4879, 2996, 3007, 2315, 3077, 3078, 3095, -4879,
3018, 3096, 2315, -4879, -4879, 1924, -4879, -4879, 62970, 62970,
-4879, 58857, 58857, 3327, 321, 3352, 3079, 3354, 3081, 48829,
48829, -4879, 443, 62970, -4879, 58857, 62970, -4879, 78508, -4879,
78508, -4879, -4879, -4879, -4879,101717,101717, -4879, 58857, 57943,
3356, 3357, 263, 78508, 78508, -4879, 78508, 78508, -4879, 78508,
78508, 1896, 94046, 981, 61142, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, -4879, 78508, -4879, 78508, -4879, 78508, -4879, 78508,
-4879, 78508, -4879, -4879, -4879, 78508, -4879, 78508, 1912, -4879,
-4879, 1946, 1452, 78508, 78508, 226, 62970, 78508, 3241, 62970,
62970, 78508, 78508, 78508, 78508, 78508, 3109, 2730, 1402, -4879,
296, 872, 72567, 3252, -4879, -4879, 1948, 1790, 1114, 78508,
1442, 1980, -4879, -4879, -4879, -4879, 68911, 67997, 3348, 151,
78508, -4879, -4879, 5942, 31636, 1015, 29266, -4879, -4879, 12775,
3080, 31636, 31636, 3038, 2315, 2315, -4879, 943, 31636, 31636,
31636, 2315, 2315, 5738, 31636, 48829, 31636, 36850, 25561, 31636,
31636, 28792, -4879, 31636, 3271, 38260, 31636, 369, 3273, 31636,
369, 5738, 3506, 3506, 2092, 4758, 3040, 1015, -4879, 2315,
1039, -4879, 432,101717, 31636, 31636, 31636, 31636, 55201, 3127,
325, 78508, 31636, 3049, 2242, -4879, 31636, -4879, 3053, 31636,
3126, 931, 31636, 31636, 31636, 31636, 31636, 31636, 31636, 31636,
31636, -4879, 39637, 455, 3358, 3377, 58, 410, 76223, 29740,
3369, 24611, -4879, 217, 3369, -4879, -4879, -4879, 78508, 3173,
-4879, -4879, 3135, -4879, -4879, -4879, -4879, -4879, 309, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, 3056, -4879, -4879, -4879,
-4879, 3056, -4879, 3060, 3360, 3361, 263, 78508, 61142, -4879,
-4879, -4879, 2161, -4879, 31636, -4879, 1954, 1677, 78508, 78508,
-4879, 3337, -4879, 3067, -4879, 11112, 3337, -4879, -4879, 37318,
3190, 3332, 3281, -4879, -4879, -4879, 3073, 12775, 32584, 32584,
-4879, 1989, 12775, 2056, -4879, -4879, -4879, -4879, -4879, -4879,
739, -4879, 78508, 1067, 3064, 1346, 3134, 799, 3511, 78508,
-4879, 44689, 1963, -4879, 58857, 78508, 78508, 3277, -4879, 3503,
-4879,102603, -4879, 3084, -4879,102160, 98159, -4879, -4879, 634,
-4879, 934, 58857, -4879, 78508, 78508, -4879, 55201, 58857, 78508,
78508, -4879, 58857, 78508, 78508, -4879, -4879, -4879, -4879, -4879,
53830, 85, 67997, 3219, 67083, -4879, -4879, 3089, 78508, 3156,
3364, 3365, 25, -4879, -4879, 94503, -4879, 3322, 58857, 78508,
78508, 31636, 3323, 78508, 78508, -4879, 541, 3182, 3191, -4879,
78508, 3194, 3344, 62970, 3108, 78508, 78508,101717, 3183, 834,
62970, 3154, 49287, 62970, 62970, 78508, 78508, 78508, 78508, 3243,
3429,101717, 78508, 3379, 141, 72567, 250, 2386, 2823, 3333,
-4879, 3450, 1215, -4879, 58857, -4879, 78508, 3334, -4879, -4879,
-4879, 76680, 3558, 3237, -4879, -4879, -4879, 94960, -4879, -4879,
-4879, 1970, -4879, 58857, 58857, 78508, 10134, 95417, 1333, 3350,
-4879, -4879,101717, -4879, 78508, 77137, 78508, 78508, 3458, 3385,
78508, 69825, 95874, 96331, 1418, 1420, 3389, 78508, 70282, 3390,
-4879, 3280, 78508, -4879, -4879, 55658, 58857, 78508, 1122, 55201,
-4879, -4879, 78508, -4879, 269, -4879, 78508, 4151, -4879, -4879,
3224, 3227, 78508, 3351, 469, 2499, 2823, 78508, 78508, 3142,
1978, 58857, 78508, 55201, -4879, 3355, 110, 3475, 58857, 78508,
76680, -4879, 72567, 72567, 58857, 78508, 72567, -4879, 78508, 87191,
-4879, 58857, 1056, -4879, 3477, 58857, 78508, 76680, -4879, 3304,
58857, 78508, 12446, -4879, -4879, -4879, 340, -4879, -4879, -4879,
-4879, -4879, 78508, 78508, 340, 78508, 78508, 340, 1379, -4879,
58857, 78508, -4879, -4879, -4879, 58857, 78508, 78508, -4879, 58857,
2997, 78508, 55201, -4879, 78508, 9351, 78508, 78508, 78508, 78508,
78508, 78508, 58857, 78508, -4879, -4879, 1174, 92, 1156, 1484,
800, 78508, 3447, 78508, 96788, 58857, 78508, 78508, 1288, 78508,
1263, -4879, -4879, 3284, -4879, 58857, 1056, -4879, 11735, 78508,
78508, 3233, 3236, 232, 3328, -4879, -4879, -4879, 700, 700,
3366, -4879, 31636, 31636, 30688, 3168, -4879, -4879, 31636, -4879,
-4879, -4879, 345, 3611, 97245, 345, -4879, 345, 3438, 3228,
3229, 345, 78508, 345, 345, 78508, -4879, -4879, -4879, -4879,
3436, 78508, 345, 345, 345, 3345, -4879, -4879, 3345, 760,
31636,101717, 78508, -4879, 1991, -4879, 3197, 191, -4879, -4879,
55201, 78508, 208, 958, 3513, 3399, 66169, 2166, 3502, 78508,
3232, 78508, 3631, 3289, 72567, 2540, -4879, 2166, 78508, -4879,
1477, 67997, -4879, -4879, -4879, -4879, -4879, -4879, -4879, 78508,
-4879, -4879, 3507, 78508, 31636, 3362, -4879, 1288, 2540, 2540,
2540, 2540, -4879, -4879, -4879, -4879, 3404, 203, -4879, 3204,
2540, 78508, 3324, 3526, 2166, 3207, 3527, -4879, 2820, 3530,
1318, 78508, 3414, 66169, 3265, 3247, 3434, 3654, 1869, 1288,
3437, 3423, -4879, 52016, -4879, 2540, 27874, 6877, 7081, 3424,
3480, 62056, 3518, 3519, 3540, -4879, 169, -4879, 3664, -4879,
31636, 2000, 3230, 270, -4879, -4879, 3231, 3007, 3250, 3251,
3234, 3244, -4879, 2315, 229, 3245, 1057, 843, 3367, 2315,
3470, 3246, -4879, 286, -4879, 2607, -4879, 78508, -4879, 78508,
78508, 78508, 78508, 315, -4879, -4879, 286, 2607, 286, 263,
-4879, 3509, 270, 2607, 3372, 3568, 62056, -4879, 321, -4879,
433, -4879, 3459, 263, -4879, 3473, 1869, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, 2014, -4879, 78508, -4879, 3542,
3544, 3545, 3546, 3547, 3255, 3256, 3294, 78508, 3258, 3255,
340, 3258, 3258, 3255, 2730, 2730, 3255, 3256, 58400, 3716,
3571, -4879, 3347, 3266, 3582, 221, -4879, 225, 122, 3504,
-4879, -4879, -4879, -4879,101717, -4879, 58857, 3309, 2347, 2347,
-4879, 349, 3481, 3269, 58400, 3698, 263, -4879, 62970, -4879,
-4879,101717, 3353, 3368, 62970, 3489, 3326, 62970, -4879, -4879,
62970, -4879, -4879, -4879, -4879, -4879,101717, -4879, 3539, 78508,
78508, 2030, -4879, -4879, 1632, -4879, 1766, 31636, 195, -4879,
11604, 2036, 31636, 3283, 3290, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, 3293, 3596, -4879, 2050, 2071, 2091, 3297, 3299,
3408, 3300, 12069, 3301, 3285, 36850, 36850, 28318, 2523, -4879,
36850, 3306, 3482, 2104, 11195, 3291, 3310, 12132, 31162, 31636,
31162, 31162, 12546, 3291, 3311, 2112, 55201, 3476, 12618, 2113,
-4879, 31636, 55201, 4251, 31636, -4879, 31636, 3314, -4879, -4879,
3764, 3764, 3764, 5738, -4879, 3331, -4879, 36850, 36850, -4879,
1405, 28318, -4879, -4879, 3602, -4879, -4879, 1429, -4879, 3317,
-4879, -4879, 2647, 48829, 6328, 31636, 407, 31636, 3049, 31636,
3376, 3764, 3764, 3764, 391, 391, 246, 246, 246, 431,
410, -4879, -4879, -4879, 3318, 3321, 3325, 3515, 3329, 31636,
-4879, 2020, 2096, 78508, 2740, 2968, 3768, -4879, -4879, -4879,
40556, 3363, 667, 3363, -4879, 1538, 2315, 1039, 53373, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, 78508, 12775, -4879, -4879,
3559, 3330, -4879, -4879, 31636, -4879, -4879, 1950, 3339, 84,
3532, 2247, 2247, 1989, 3533, -4879, -4879, 3391, -4879, 31636,
2169, -4879, 2277, -4879, -4879, -4879, -4879, 2730, -4879, 3574,
-4879, -4879, -4879, 40556, 3374, 3382, 83, 43770, 3543, -4879,
78508, -4879, 78508, 357, -4879, 3349, -4879, -4879, -4879, -4879,
-4879, -4879, 98159, 1759, -4879,102160, -4879,102160, -4879, 1759,
3760, -4879, 98159, 1835, -4879, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, -4879, 58857, 58857, 3548,
78508, 3550, 3549, 31636, 1018, 78508, 3340, 3359, 1426, 3624,
78508, -4879, 3674, 263, -4879, -4879, 3426, -4879, 12775, -4879,
-4879, -4879, -4879, -4879, 58857, 78508, -4879, 62056, -4879, 78508,
-4879,101717, -4879, -4879, -4879, 78508, 3381, 78508, -4879, 78508,
78508, 78508, -4879, -4879, -4879, -4879, -4879, -4879, -4879, 1295,
101717, -4879, -4879, 78508, 78508, 747, 3428, 3430, 78508, -4879,
833, 3076, 12129, 78508, 78508, 78508, 3627, 78508, -4879, -4879,
-4879, -4879, 3570, -4879, -4879, 98159, -4879, 2607, 1091, 3435,
2823, 3577, -4879, 3687, 3561, -4879, 3483, 1240, -4879, -4879,
78508, 3490, -4879, -4879, -4879, -4879, 3691, 263, 3694, 263,
78508, 78508, 78508, 78508, 3493, -4879, -4879, -4879, -4879, 3496,
3623, -4879, 55201, 55201, 55201, 2117, -4879, -4879, 1288, -4879,
-4879, -4879, -4879, -4879, -4879, 3657, -4879, 2119, -4879, 1350,
-4879, -4879, -4879, -4879, -4879, 58857, 78508, 13277, 3701, 78508,
78508, 78508, 1771, -4879, 1230,101717, -4879, 99945, -4879, -4879,
2134, -4879, 3386, 78508, 3453, 58857, 3432, 78508, -4879, -4879,
-4879, 3375, 3375, -4879, -4879, 3375, -4879, -4879, -4879, 3632,
3565, -4879, 348, 3572, 58857, 3445, -4879, 78508, -4879, -4879,
-4879, 3467, -4879, -4879, 3472, 2588, 2823, 2820, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, -4879, 1471, -4879, -4879, 1149, 468, 2662, 2823,
-4879, 341, -4879, 3484, -4879, 3486, -4879, -4879, -4879, 3639,
3649, 3656, 3495, 3497, 3552, 3499, 3500, 3555, -4879, 3505,
3557, 3508, 3564, 3618, 3514, 263,101717, 3647, 1288, 3554,
3766, 263, -4879, 3516, -4879, 3517, -4879, 3875, -4879, 78508,
-4879, 3531, 2723, 2823, -4879, -4879, 58857, 78508, -4879, -4879,
-4879, 31636, 3446, 3456, 3457, 12775, 12775, 31636, -4879, -4879,
12775, 3449, -4879, -4879, -4879,101717, 78508, 3718, -4879, -4879,
345, 78508, 78508, -4879, 3729, -4879, -4879, 3730, 78508, 3732,
-4879, -4879, -4879, -4879, 419, 419, -4879, -4879, 3767, 5513,
3466, 411, -4879, 55201, 46069, 1995, 2128, 756, 1367, -4879,
62056, 78508, 62056, -4879, 958, 3561, 78508, 78508, 78508, 3468,
3469, -4879, -4879, -4879, -4879, 58857, 935, 58857, 2315, -4879,
-4879, 3541, -4879, 78508, 1869, 3944, 3794, -4879, 3375, -4879,
3910, 2995, 1353, 3629, 1765, 2633, 3851, 2133, 404, 55201,
3247, -4879, -4879, -4879, -4879, 78508, 78508, 191, 1288, -4879,
3485, 3478, -4879, 78508, 3802, 78508, 78508, 78508, 78508, 3309,
3488, 78508, 3492,101717, 78508, 2273, 2821, 3926, 3819, 1790,
3265, 3573, 3821, 72567, 3512, 2138, -4879, -4879, -4879, 2145,
155, -4879, 1288, 62056, 99059, 3813, -4879, 7081, -4879, -4879,
7081, 1004, 78508, 3797, -4879, -4879, 1790, -4879,101717, 2150,
-4879, -4879, -4879, 2315, -4879, -4879, 1544, 1544, 3501, -4879,
3510, -4879, -4879, -4879, -4879, -4879, -4879, -4879, 3520, -4879,
-4879, -4879, 321, 3563, 263, 3566, 263, -4879, -4879, -4879,
-4879, 78508, -4879, 78508, 57943, 263, -4879, -4879, 78508, -4879,
3828, -4879, -4879, 3635, 3636, 3641, 3644, 3648, 78508, 3255,
-4879, 3524, 58857, 1592, -4879, -4879, 3720, -4879, -4879, 72567,
3637, -4879, -4879, -4879, -4879, 3852, 3854, -4879, -4879, -4879,
277, -4879, 78508, 78508, 58857, 68454, 480, 58857, -4879, 3785,
3786, -4879, -4879, 3790, 340, -4879, 3798, 3799, 3800, -4879,
3805, 3806, -4879, -4879, -4879, 3537, 12706, 31636, -4879, 3869,
101717, -4879, 5592, -4879, -4879, -4879, 31636, -4879, -4879, -4879,
-4879, -4879, 31636, -4879, 31636, 3853, -4879, 26036, 4009, 4009,
3551,101717, 36850, 36850, 36850, 36850, 1437, 2696, 36850, 36850,
36850, 36850, 36850, 36850, 36850, 36850, 36850, 37792, 571, -4879,
3740, 31636, 31636, 3865, 3853, -4879,101717, 3553, 3291, 3556,
3562, 31636, -4879, -4879, 2152, 38719, 3567, 55201, -4879, 31636,
11416, 2154, 3594, 12935, 1015, 6034, 1288, 31636, 3850, 4354,
31636, 2167, 31636, 3863, -4879, -4879, -4879, 3560, -4879, -4879,
101717, 31636, 3569, 3781, 36850, 36850, 4374, -4879, 4877, 31636,
28318, -4879, 3366, 3592, 45148, -4879, 26511, 3575, 985, 985,
985, 985, -4879, 78508, 78508, 78508, 41015, 3877, 3581, 40096,
77594, 3578, 2666, -4879, 77594, 78051, 77594, -4879, 3576, -4879,
1015, 31636, 3860, 3585, 3860, 163, 3586, -4879, -4879, -4879,
-4879, 1790, -4879, 3588, -4879, 3339, 1382, -4879, -4879, -4879,
3771, -4879, -4879, -4879, -4879, 3578, 33058, 3717, -4879, -4879,
-4879, 3625, 2172, -4879, -4879, 3966, 3717, -4879, -4879, 2187,
44689, 3374, 31636, 1015, 2193, 1854, -4879, -4879, 98159, -4879,
3659, 2607, 2607, 1749, 3255, 3893, 1749, 6256, -4879, -4879,
41474, 78508, 78508, -4879, 78508, 2199, 1489, 78508, -4879, 78508,
-4879, -4879, -4879, -4879, 4032, -4879, 78508, -4879, -4879, 3651,
3655, 78508, 78508, 78508, 78508, 3857, -4879, -4879, 2190, -4879,
-4879, 58857, 78508, -4879, -4879, -4879, 472, 2755, 2823, -4879,
3672, -4879, -4879, -4879, 3881, -4879, 4023, 3693, 78508, 3936,
78508, 3607, -4879, 1489, 3723, 3922, 1285, 2821, 209, 3652,
-4879, 1180, -4879, -4879, 3683, -4879, -4879, 78508, -4879, 78508,
-4879, -4879, -4879, -4879, -4879, -4879, -4879, 3751, -4879, -4879,
-4879, -4879, 55658, -4879, -4879, 78508, -4879, 55201, 46069, 55201,
-4879, 1251, 474, 2860, 2823, 78508, -4879, 3705, -4879, 3708,
3709, 3769, 186, 806, 3710, 3713, 3770, 3634, 3638, 3640,
-4879, 55201, 46539, 3793, 78508, 2607, 3642, 3680, -4879, 252,
1288, -4879, -4879, 1288, 2607, 1288, -4879, 78508, 78508, 78508,
55201, -4879, 4067, 3734, 78508, 78508, 78508, 78508, -4879, 3697,
-4879, 78508, 78508, 3968, 887, 1847, 58857, 78508, 78508, 58857,
78508, 78508, 78508, 78508, 78508, 78508, 3976, 78508, -4879, 4055,
3984, 2041, 4026, 3728, 78508, -4879, 78508, 1288, 3076, 78508,
78508, -4879, -4879, -4879, -4879, -4879, 3366, -4879, 3661, 3930,
345, -4879, 3932, 3934, 345, 345, 3935, 345, -4879, -4879,
1367, -4879, 470, 78508, -4879, 2328, 78508, -4879, -4879, -4879,
3588, 2194, 2204, -4879, -4879, -4879, -4879, -4879, -4879, 78508,
3673, 78508, 78508, 36850, -4879, 430, 1494, 1134, -4879, 3937,
78508, 2997, -4879, -4879, -4879, 219, 78508, -4879, -4879, -4879,
-4879, -4879, 862, 3488, -4879, 3954, 66169, 2607, 58857, 58857,
2607, -4879,101717, 3675, 3247, -4879, 523, 3755, 58857, 1353,
1607, 97702, 3002, 3711, 3886, 40556, 1471, -4879, 3676, 3839,
-4879, 3681, 3679, -4879, -4879, 78508, 3561, 57943, 2203, 2820,
4126, 99, 1843, -4879, 67540, 3873, 3488, 3954, -4879, 2821,
3897, 3896, -4879, 1790, 78508, 3309, 3247, 1288, 78508, 3156,
46069, -4879, 4163, -4879, 98159, 31636, 31636, -4879, 3688, -4879,
3695, 7081, -4879, 3762, 3692, -4879, -4879, -4879, -4879, -4879,
3778, 3700, 78508, -4879, 3690, -4879, 3703, -4879, -4879, -4879,
-4879, -4879, -4879, 78508, -4879, 78508, -4879, 263, -4879, 3829,
-4879, 263, 78508, 78508, 78508, 78508, 78508, 78508, 3255, 340,
-4879, 4012, 58400, -4879, -4879, 2205, 78508, -4879, -4879, -4879,
4080, -4879, -4879, 151, 4024, -4879, -4879, 923, 923, 923,
3977, 923, 923, 923, 923, 923, -4879, 31636, 12775, -4879,
3712, -4879, 12775, 6963, 12775, 3865, -4879, 2211, 31636, -4879,
4002, 4002, 4002, 2691, 4025, -4879, 969, 3714, 4002, 4002,
4002, 378, 378, 233, 233, 233, 4009, 571, 12775, 12775,
-4879, -4879, 3715, -4879, -4879, -4879, 3291, -4879, 33532, 113,
4141, 38260, -4879, -4879, -4879, 3758, 3759, 3721, -4879, 31636,
34006, 3719,102603, 3919, -4879, 1752, 31636, 31636, 3248, -4879,
13209, 31636,101717, 2213, 3248, 459, 31636, 4733, 5025, 31636,
31636, 6553, 7287, 3725, 31636, 98602, -4879, -4879, -4879, 2220,
31636, 78508, 78508, 78508, 78508, -4879, -4879, -4879, 77594, 78051,
77594, 3727, 39178, 26971, 2666, 3733, 78508, -4879, -4879, 3735,
40556, 3993, 3933, -4879, 40556, 3933, 1548, 3933, 3997, 3826,
45607, -4879, -4879, 3741, -4879, 3940, -4879, 1925, 12775, 4165,
4043, 1288, 4043, 1288, 3743, 48829, -4879, -4879, -4879, -4879,
3958, 12775, 29740, -4879, 1790, 2103, 78508, 1015, 79, -4879,
3761, 78508, -4879, 3717, 12775, -4879, 3818, 2245, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, 3833, 67997, 4074, -4879, 31636,
2250, -4879, 3801, 4166, 342, 2251, 2257, 1489, -4879, 4051,
-4879, 1541, 4050, 471, -4879, 263, -4879,101717, -4879, 78508,
78508, -4879, -4879, -4879, -4879, 78508, 2768, -4879, -4879, 78508,
78508, 78508, 78508, -4879, 58857, 78508, -4879, 78508, -4879, 55201,
2128, 252, 430, 4063, 3995, -4879, 340, -4879, 430, 3996,
252, 78508, -4879, -4879, 2208, -4879,101717, 263, 263, -4879,
-4879, -4879, -4879, -4879, 3791, 4205, 3872, 78508, 78508, 78508,
-4879, 78508, 58857, 78508, 78508, 2315, 2315,101717, 3783, -4879,
2315, 2315, 3789, -4879, 58857, 78508, 78508, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879, 3864, -4879,
31636, 4199, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
-4879, 58857, 78508, 3874, -4879, 3879, -4879, 159, -4879, -4879,
78508, 78508, 78508, 78508, 4124, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, 78508, -4879, 78508, -4879, -4879,
1288, 1288,101717, 263, 263, -4879, -4879, -4879, -4879, 3795,
4068, 345, -4879, 345, 345, -4879, -4879, 345, -4879, 3803,
-4879, 1367, 4162, -4879, 1489, 1718, 4119, -4879, 4129, 31636,
-4879, 1228, 2691, -4879, 4177, 4258, -4879, -4879, -4879, -4879,
2997, 1869, 3876, -4879, -4879, 62970, 388, -4879, 4107, 208,
4031, 66169, 341, 1624, 3823, 3947, -4879, 2607, 2607, 3882,
78508, 4262, -4879, -4879, -4879, -4879, -4879, -4879, 58857, 3432,
-4879, 4049, 119, 4144, 78508, 31636, 3578, -4879, 216, 4147,
-4879, 1288, -4879, -4879, 3953, 3247, -4879, 1393, 78508, 4044,
66169, 3309, 2258, -4879, -4879, -4879, 3868, 4256, 3265, -4879,
341, 3873, -4879, -4879, 4233, 3928, 3885, 4291, -4879, 3928,
4164, 4059, 3855, -4879, 3512, -4879, -4879, 12775, 12775, 1288,
103046, 7081,101717, 4171, 78508, 782, 4134, 263, -4879, 263,
263, -4879, 78508, -4879, 3255, 3255, 3255, 3255, 3255, -4879,
4060, -4879, -4879, 4127, -4879, 263, 58400, -4879, -4879, -4879,
-4879, -4879, 923, -4879, -4879, -4879, -4879, -4879, 12775, -4879,
-4879, -4879, -4879, 7322, 36850, 4172, -4879, 3866,101717, -4879,
3867, 2259, 2264, -4879, -4879, 113, -4879, 4141, -4879, -4879,
-4879, 7551, 3911, 12775, 3970, 3870, 3871, 3248, 3248, 13209,
2266, -4879, 3248, 31636, 31636, 3248, 3248, 31636, -4879, -4879,
8101, 4052, -4879, -4879, 8700, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, 56115, 3878, 3476, 77594, 3880, 78508, 2666, 40556,
-4879, -4879, 2182, -4879, 40556, 4128, -4879, 40556, 62970, -4879,
78508, 3883, 78508, -4879, 34480, 31636, 3907, -4879, 3907, -4879,
-4879, 3884, 78508, 2729, -4879, 83, -4879, -4879, 4266, 41474,
4219, 31636, -4879, -4879, -4879, -4879, 58400, 4082, 58400, 1489,
8993, 4051, 41474, 49745, 78508, 78508, 78508, 4035, 4051, 3887,
2997, -4879, -4879, -4879, -4879, -4879, -4879, 3889, -4879, -4879,
-4879, -4879, 3956, -4879, -4879, 600, 3252, -4879, 2275, -4879,
-4879, 4322, 4212, -4879, -4879, -4879, -4879, -4879, -4879, 4055,
-4879, -4879, 46069, 58857, 78508, -4879, 3963, -4879, -4879, -4879,
-4879, -4879, 43311, 48829, -4879, 186, 3891, 3898, 806, -4879,
-4879, -4879, 78508, 9656, 3899, 749, 3252, 78508, 78508, 3900,
3901, 3902, 1667, 629, 1675, 3255, 4214, -4879, -4879, -4879,
-4879, 4055, -4879, -4879, -4879, 345, -4879, -4879, -4879, -4879,
55201, -4879, 2048, 3803, 1288, 62970, 4345, 4345, 78508, -4879,
9774, 4122, -4879, -4879, 421, 3876, 4148, 4192, -4879, 3912,
78508, 219, 3913, 78508, 3914, 4034, 1324, 1324, 78508, 78508,
78508, 2276, 1790, 2607, 3680, 1353, 4244, 66169, 4288, 3561,
409, -4879, -4879, 216, -4879, 1500, 4263, 3961, -4879, 78508,
4362, 78508, 3309, 3488, 78508, 3921, -4879, -4879, 67540, 4131,
2128,103489, 2273, 3873, 3265, 264, 78508, -4879, 901, -4879,
1790, -4879, 78508, 72567, 41474, -4879,102160, -4879, 2280, -4879,
-4879, 3994, 3363, 4033, 4039, 3925, 78508, 811, -4879, -4879,
-4879, -4879, -4879, 78508, -4879, 480, -4879, -4879, 2874, 36850,
101717, 2304, 31636, -4879, 31636, -4879, -4879, -4879, -4879, 662,
-4879, -4879, -4879, 3248, 3248, 3248, -4879, 4355, 3366, -4879,
-4879, 2308, 4372, 35902, 4335, -4879, 78508, 2320, -4879, 31636,
3942, -4879, -4879, 40556, 2182, 3943, 2321, 78508, 2326,101717,
3946, 43, 3949, 25086, 3931, -4879, -4879, -4879, -4879, -4879,
12775, 12775, 78508, -4879, -4879, -4879, -4879, 3988, 78508, 2337,
-4879, 798, 12775, 1592, 1749, 480, 4166, 2997, -4879, 3951,
-4879, -4879, -4879, 396, 396, 78508, 2997, 78508, 3876, -4879,
78508, 4028, -4879, -4879, 55201, 4240, -4879, 4010, -4879, 909,
3252, 78508,101717, -4879, 147, 4271, -4879,101717,101717, -4879,
-4879, -4879, 31636, 4046, -4879, -4879, -4879, 31636, 31636, 65255,
-4879, -4879, 78508, 78508, 78508, 78508, 78508, 263, -4879, 2346,
-4879, 42392, -4879, -4879, 2963, 1288, 2963, 1583, -4879, -4879,
2963, 2963, -4879, 3363, -4879, 4345, 338, -4879, -4879, -4879,
1700, 4180, 3959, 31636, -4879, 853, 4170, 4053, 3967, -4879,
62970, 4435, 3488, 3954, 78508, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, 2355, 3561, 4293, 3247,
3885, -4879, 78508, 4000, -4879, 40556, -4879, -4879, -4879, 2963,
-4879, 950, 3971, 4303, 3561, 1790, 1843, -4879, 3873, 3488,
3954, -4879, -4879, -4879, 3973, -4879, 3896, 3265, 2273, 4110,
-4879, 4111, -4879, 4386, 4181, 4388, 3309, -4879, 3156, 2359,
-4879, 7081,103046,101717, 4328, 4017, 4018, -4879, -4879, 4038,
78508, -4879, -4879, 3561, -4879, 2874, 2361, -4879, 2363, 2368,
4054, -4879, 31636, 1052, 3576, 56115, 3982, -4879, 36850, 2373,
-4879, 5650, 78508, 2384, -4879, 12775, 78508, -4879, -4879, 31636,
-4879, 2390, -4879, 31636, 3983, 31636, -4879, 34480, 4001, -4879,
4428, 1790, -4879, 3363, 41474, -4879, 4108, -4879, 4313, -4879,
78508, 3876, 48829, 3339, 3339, 1869, 3876, 2400, -4879, -4879,
78508, -4879, 3959, 31636, -4879, 4094, -4879, -4879, 2422, 1284,
4173, 4173, 2431, 2440, 9961, 78508, 2442, 2446, -4879, 2448,
2315, 3256, 1675, 3256, -4879, 3255, -4879, -4879, 55201, -4879,
56572, -4879, -4879, -4879, 1288, -4879, 1288, 4225, 78508, 51116,
1288, 1288, -4879, -4879, -4879, -4879, 4353, 4295, -4879, 2820,
-4879, 10012, -4879, -4879, -4879, 193, -4879, 4220, 4221, 78508,
-4879, 4016, -4879, 2450, 341, 4140, 3561, -4879, -4879, 78508,
4459, 4460, -4879, 673, 78508, 3578, 78508, -4879, -4879, -4879,
31636, 219, -4879, 3885, 3309, 3265, 341, 3873, 2128, 41933,
3928, 2273, 3896, -4879, -4879, 4224, -4879, 4227, -4879, 4027,
4312, 7081, -4879, -4879, 894, 4337, 4339, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, 3291, 34954, 34954, 34954, 4029, -4879,
-4879, 78508, 2691, 4030, 35902, 55201, 2452, -4879,100388, -4879,
2456, 2457, -4879, 2458, 34480, 2462, -4879, 78508, 4036, -4879,
-4879, -4879, 44689, 58400, 396, 4069, 4037, -4879, -4879, 4148,
-4879, -4879, 1489, 3252, -4879, 12775, 78508, 62970, 4456, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, 3252, 4118, -4879, -4879,
65255, -4879, 78508, -4879, -4879, 2464, -4879, -4879, -4879, 78508,
3676, -4879, 3676, -4879, -4879, 4178, -4879, 1920, 4142, 1029,
1029, 4403, -4879, 4103, -4879, -4879, 4056, -4879, 4524, 4182,
78508, -4879, -4879, 186, 1790, 66169, 3561, -4879, -4879, 10304,
62970, -4879, -4879, 2273, 3873, 3265, 31636, 2466, -4879, 4166,
342, -4879, 3896, 3928, -4879, -4879, 41474, 4061, 3247, -4879,
-4879, 1829, 62970, 62970, 36376, 4191, 1176, 11738, 4398, -4879,
4398, 4398, -4879, 2478, 38260, -4879, -4879, -4879, 78508, 4265,
322, -4879, 4222, -4879, 2484, -4879, -4879, -4879, 11, 480,
3339, 4071, -4879, -4879, 4170, 1489, -4879, 3252, -4879, 78508,
-4879, 4072, -4879, -4879, -4879, 56572, 3676, 3961, -4879, -4879,
-4879, 4522, -4879, 1165, -4879, -4879, -4879, -4879, 78508, 3561,
3783, 3885, -4879, -4879, 4073, 3896, 3265, 2273, 10376, -4879,
41933, 78508, 78508, 3928, -4879, 2489, 41474, 3928, -4879, 2845,
-4879, -4879, -4879, -4879, -4879, -4879, -4879, 4064, 4065, 4518,
-4879, -4879, -4879, -4879, -4879, 1126, -4879, -4879, -4879, -4879,
3476, -4879, -4879, 36850, 36850, 4292, -4879, 322, -4879, 4076,
-4879, -4879, -4879, -4879, -4879, 31636, 1489, -4879, -4879, -4879,
31636, -4879, 4409, -4879, -4879, -4879, 3561, -4879, -4879, 54744,
3928, 2273, 3896, 4166, -4879, -4879, -4879, -4879, 4312, -4879,
2494, 3363, 1962, -4879, -4879, 2294, 2156, 4161, 4396, 35428,
4223, -4879, 4283, -4879, 4489, 2691, 2691, -4879, -4879, 31636,
10604, 1489, 2500, 219, -4879, -4879, 2502, -4879, -4879, -4879,
-4879, -4879, 3896, 3928, 78508, 3247, -4879, 41474, -4879, -4879,
2845, 4198, 4204, -4879, -4879, -4879, 78508, 10931, -4879, -4879,
62970, -4879, 54744, 3928, -4879, -4879, 3928, -4879, -4879, 4133,
4136, 2520, -4879, 4097, -4879, -4879, 3363, 4411, 4412, -4879,
54744, -4879, 62970, 62970, 2554, -4879, -4879, -4879
};
/* 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[] =
{
1664, 1435, 618, 1516, 1515, 1435, 0, 254, 0, 1526,
0, 1435, 411, 1112, 0, 0, 0, 0, 618, 1435,
0, 1664, 0, 0, 0, 0, 0, 1677, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1435, 0, 0,
1684, 0, 0, 0, 0, 1677, 0, 1528, 0, 0,
0, 0, 0, 2, 4, 37, 72, 73, 31, 30,
91, 55, 18, 63, 125, 124, 126, 42, 38, 80,
26, 28, 39, 43, 65, 67, 45, 56, 103, 64,
24, 62, 86, 68, 89, 50, 12, 13, 51, 14,
52, 15, 53, 16, 99, 74, 92, 35, 61, 23,
44, 70, 71, 5, 46, 78, 11, 57, 58, 60,
83, 84, 85, 108, 87, 120, 41, 117, 96, 97,
114, 98, 115, 9, 100, 54, 17, 111, 110, 112,
81, 47, 82, 69, 90, 109, 27, 113, 19, 20,
22, 21, 59, 29, 66, 32, 88, 116, 106, 102,
121, 119, 127, 104, 75, 7, 8, 93, 6, 25,
49, 10, 34, 33, 48, 40, 123, 36, 1526, 95,
107, 94, 76, 101, 79, 105, 122, 77, 118, 1634,
1633, 1686, 1637, 1663, 0, 1649, 1434, 1433, 1448, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 617, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1445, 2268, 2283, 2284, 2285,
2286, 2287, 2288, 2289, 2290, 2291, 2292, 2293, 2294, 2295,
2296, 2297, 2298, 2625, 2299, 2300, 2301, 2575, 2576, 2626,
2577, 2578, 2302, 2303, 2304, 2305, 2306, 2307, 2308, 2309,
2579, 2580, 2310, 2311, 2312, 2313, 2314, 2581, 2627, 2315,
2316, 2317, 2318, 2319, 2628, 2320, 2321, 2322, 2323, 2324,
2325, 2326, 2327, 2328, 2629, 2329, 2330, 2331, 2630, 2332,
2333, 2334, 2335, 2336, 2337, 2582, 2583, 2338, 2339, 2340,
2341, 2342, 2343, 2344, 2345, 2346, 2347, 2348, 2349, 2350,
2351, 2352, 2353, 2354, 2355, 2356, 2357, 2358, 2359, 2360,
2361, 2362, 2363, 2364, 2584, 2365, 2366, 2367, 2585, 2368,
2369, 2370, 2586, 2371, 2372, 2373, 2631, 2632, 2374, 2375,
2376, 2377, 2378, 2587, 2588, 2379, 2380, 2381, 2382, 2383,
2384, 2385, 2633, 2386, 2387, 2388, 2389, 2390, 2391, 2392,
2393, 2394, 2395, 2396, 2397, 2634, 2589, 2398, 2399, 2400,
2401, 2590, 2591, 2592, 2402, 2635, 2636, 2403, 2637, 2404,
2405, 2406, 2407, 2408, 2409, 2593, 2638, 2410, 2639, 2411,
2412, 2413, 2414, 2415, 2416, 2417, 2418, 2419, 2420, 2421,
2422, 2423, 2424, 2425, 2426, 2427, 2428, 2429, 2594, 2640,
2595, 2430, 2431, 2432, 2596, 2433, 2434, 2641, 2435, 2597,
2436, 2598, 2437, 2438, 2439, 2440, 2441, 2442, 2443, 2444,
2445, 2446, 2599, 2642, 2447, 2643, 2600, 2448, 2449, 2450,
2451, 2452, 2453, 2454, 2455, 2456, 2457, 2458, 2601, 2459,
2602, 2462, 2460, 2461, 2463, 2464, 2465, 2466, 2467, 2468,
2469, 2470, 2471, 2472, 2603, 2473, 2474, 2475, 2476, 2477,
2478, 2479, 2480, 2481, 2482, 2483, 2484, 2485, 2486, 2487,
2488, 2489, 2490, 2644, 2491, 2492, 2493, 2494, 2495, 2604,
2496, 2497, 2498, 2499, 2500, 2501, 2502, 2503, 2504, 2505,
2506, 2507, 2508, 2509, 2510, 2511, 2605, 2512, 2513, 2645,
2514, 2515, 2606, 2516, 2517, 2518, 2519, 2520, 2521, 2522,
2523, 2524, 2525, 2526, 2527, 2528, 2529, 2607, 2530, 2531,
2532, 2533, 2646, 2534, 2535, 2536, 2537, 2538, 2539, 2608,
2609, 2540, 2541, 2610, 2542, 2611, 2543, 2544, 2545, 2546,
2547, 2548, 2549, 2550, 2551, 2552, 2553, 2554, 2555, 2556,
2557, 2558, 2559, 2612, 2613, 2560, 2647, 2561, 2562, 2563,
2564, 2565, 2566, 2567, 2568, 2569, 2570, 2571, 2614, 2615,
2616, 2617, 2618, 2619, 2620, 2621, 2622, 2623, 2624, 2572,
2573, 2574, 129, 0, 0, 2242, 2269, 2270, 2273, 2268,
383, 382, 1624, 2236, 2269, 1525, 1505, 618, 0, 1448,
410, 1664, 0, 0, 0, 0, 0, 0, 0, 851,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 177, 0, 0, 0, 0, 434, 433, 0,
0, 0, 1080, 439, 0, 0, 0, 0, 0, 606,
1573, 2460, 1571, 1625, 255, 258, 259, 256, 257, 2258,
0, 1214, 1215, 1217, 0, 0, 1227, 891, 892, 0,
0, 0, 900, 0, 0, 0, 889, 0, 0, 0,
905, 0, 902, 0, 0, 906, 903, 886, 904, 893,
0, 885, 0, 0, 1227, 907, 0, 0, 887, 0,
0, 0, 0, 1448, 1570, 440, 1664, 0, 1547, 1548,
1549, 1526, 1538, 1550, 1543, 1545, 1544, 1546, 1542, 2257,
2284, 1015, 1015, 1015, 1015, 1012, 1013, 1015, 1015, 1015,
2480, 0, 0, 994, 0, 996, 2259, 1015, 1020, 503,
503, 503, 0, 1019, 1024, 503, 0, 1416, 1457, 2241,
1676, 0, 995, 1415, 2540, 1561, 0, 0, 1242, 1238,
1240, 1241, 1239, 0, 1083, 1083, 2498, 1427, 239, 2509,
2608, 2540, 238, 233, 234, 207, 2288, 0, 0, 1019,
0, 1448, 1425, 977, 1683, 1681, 0, 2223, 2308, 2323,
2413, 230, 2491, 2499, 2509, 2608, 2540, 2571, 186, 196,
191, 0, 248, 2509, 2608, 2540, 244, 1445, 0, 1650,
1785, 2232, 0, 1418, 1417, 1527, 0, 1530, 0, 2475,
1654, 1657, 1532, 1655, 1646, 0, 0, 1, 1664, 0,
1537, 1680, 1680, 0, 1680, 0, 1638, 1646, 1641, 1645,
0, 0, 0, 0, 0, 1419, 0, 0, 0, 910,
0, 1460, 2237, 1065, 0, 0, 0, 0, 0, 0,
0, 1121, 1120, 2274, 2264, 2265, 0, 2262, 2263, 2275,
2276, 2277, 0, 2385, 0, 0, 0, 2134, 2145, 2146,
2147, 2312, 2368, 2142, 2143, 2144, 2136, 2137, 2138, 2139,
2140, 2141, 0, 0, 1209, 2135, 0, 2385, 0, 0,
0, 156, 0, 133, 0, 0, 0, 2385, 0, 0,
0, 0, 0, 0, 0, 2385, 0, 0, 0, 0,
0, 156, 2418, 0, 133, 2385, 0, 0, 1439, 0,
0, 0, 1441, 1444, 1420, 0, 2215, 0, 2216, 2243,
1508, 0, 2232, 0, 0, 0, 946, 939, 0, 947,
954, 0, 0, 956, 0, 0, 940, 0, 0, 0,
0, 0, 959, 960, 0, 0, 961, 941, 962, 942,
963, 943, 964, 0, 0, 0, 0, 944, 0, 0,
0, 1431, 1422, 0, 1563, 1565, 1564, 1562, 503, 0,
0, 0, 2385, 0, 0, 133, 1493, 0, 2385, 133,
0, 0, 438, 437, 133, 2262, 436, 435, 2312, 2368,
0, 1111, 0, 1374, 133, 2385, 0, 179, 2385, 692,
2385, 1532, 0, 621, 0, 0, 806, 2418, 133, 0,
0, 0, 0, 0, 0, 1083, 0, 0, 0, 0,
0, 605, 618, 1574, 1572, 0, 1218, 232, 231, 1216,
898, 2385, 1153, 344, 0, 0, 2385, 1479, 2271, 1860,
1889, 1867, 1889, 1889, 1856, 1856, 2352, 1869, 2385, 1857,
1858, 1894, 0, 1889, 1856, 1861, 0, 1859, 1897, 1897,
1884, 344, 914, 1841, 1842, 1843, 1844, 1870, 1871, 1845,
1876, 1877, 1881, 1846, 1911, 1856, 2272, 899, 0, 890,
2385, 344, 1117, 2385, 2266, 166, 0, 888, 2312, 2368,
2385, 344, 1211, 0, 2385, 344, 2385, 162, 2385, 344,
2385, 344, 2385, 622, 0, 0, 2385, 344, 2385, 2418,
164, 0, 2385, 344, 908, 2385, 344, 2234, 2385, 0,
1423, 0, 1566, 0, 1540, 2612, 1555, 0, 1551, 1558,
1554, 1664, 1015, 1014, 0, 1015, 0, 1015, 0, 1015,
0, 1015, 0, 0, 0, 1015, 2260, 2261, 997, 0,
1021, 0, 0, 1028, 1027, 1026, 0, 0, 0, 1029,
0, 1789, 1601, 0, 1413, 1430, 0, 0, 0, 1083,
1245, 0, 1243, 1082, 0, 0, 1426, 237, 235, 0,
0, 0, 0, 0, 0, 1432, 0, 1424, 0, 0,
0, 2245, 2247, 2248, 2148, 2218, 0, 2576, 2577, 2578,
2207, 0, 2579, 2580, 2581, 2627, 2042, 2029, 2038, 2043,
2030, 2032, 2039, 2582, 2583, 1977, 2584, 2585, 2255, 2586,
2587, 2588, 2590, 2591, 2592, 2593, 2034, 2036, 2594, 2595,
0, 2256, 2597, 2598, 2442, 2600, 2601, 2603, 2604, 2040,
2606, 2607, 2608, 2609, 2610, 2611, 2254, 0, 2041, 2613,
2615, 2616, 2617, 2618, 2620, 2621, 2622, 2623, 0, 0,
0, 2229, 0, 2009, 0, 1849, 1850, 1872, 1873, 1851,
1878, 1879, 1852, 0, 2228, 1914, 2093, 2008, 2025, 0,
2014, 2015, 0, 2007, 2003, 1666, 2224, 0, 2004, 2244,
2246, 2208, 1666, 2222, 199, 250, 0, 251, 2230, 2509,
187, 229, 201, 228, 202, 200, 0, 2310, 188, 0,
0, 189, 0, 0, 0, 0, 247, 245, 0, 1421,
0, 1787, 1786, 2233, 919, 0, 1519, 1513, 1522, 1518,
1529, 1526, 2158, 0, 1656, 0, 0, 0, 1636, 1635,
3, 0, 1534, 1536, 1511, 1532, 1678, 1679, 0, 0,
0, 0, 0, 0, 0, 0, 1734, 1694, 1695, 1697,
1731, 1735, 1743, 0, 1642, 0, 0, 1791, 0, 0,
1446, 0, 0, 0, 0, 0, 1152, 0, 0, 0,
0, 0, 911, 0, 0, 0, 1466, 0, 1468, 1469,
1470, 0, 0, 1471, 1472, 1460, 241, 1478, 1476, 1459,
1461, 1474, 0, 0, 0, 0, 0, 0, 0, 1485,
0, 170, 171, 0, 634, 618, 0, 2385, 0, 0,
0, 0, 0, 1160, 1167, 0, 0, 0, 0, 0,
0, 0, 0, 1161, 1159, 0, 1162, 243, 1172, 1191,
1194, 0, 1119, 1122, 0, 0, 0, 0, 0, 1302,
0, 0, 0, 0, 1302, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 266, 268,
279, 339, 597, 0, 0, 0, 600, 0, 2385, 0,
0, 0, 0, 1213, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1194, 0, 0, 0, 0, 0, 0,
0, 0, 131, 132, 137, 0, 0, 0, 0, 0,
1194, 0, 0, 0, 0, 0, 0, 583, 596, 0,
0, 0, 0, 0, 593, 0, 0, 133, 271, 573,
579, 0, 0, 0, 699, 698, 0, 0, 0, 0,
1390, 1389, 0, 0, 0, 0, 1483, 1482, 0, 0,
0, 0, 0, 1302, 0, 260, 262, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 375, 376, 0, 0, 0, 137, 0, 0,
0, 0, 273, 0, 0, 1440, 1437, 1438, 0, 1443,
0, 0, 0, 0, 2017, 0, 2162, 1686, 2160, 1137,
2214, 0, 2278, 2648, 2649, 2650, 2651, 2652, 2653, 2654,
2655, 2656, 2657, 2658, 2659, 2660, 2661, 2662, 2663, 2664,
2665, 2666, 2667, 2668, 2669, 2670, 2671, 2672, 2673, 2674,
2675, 2676, 2677, 2678, 2679, 2680, 2681, 2682, 2683, 2684,
2685, 2686, 2687, 2688, 2689, 2690, 2691, 2692, 2693, 2694,
2695, 2696, 2697, 2698, 2699, 2700, 2701, 2702, 2703, 2704,
2705, 2706, 2707, 2708, 2709, 2710, 2711, 2712, 2713, 2714,
2715, 2716, 2717, 2718, 2719, 2720, 2721, 2722, 2723, 2724,
2211, 2210, 2239, 2279, 2280, 2281, 2282, 2217, 0, 1504,
0, 953, 0, 0, 0, 0, 955, 0, 948, 0,
0, 945, 2312, 2368, 0, 0, 0, 0, 0, 0,
0, 0, 0, 958, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 814, 0, 1460, 1492, 0, 0,
0, 627, 0, 2385, 0, 135, 852, 0, 804, 439,
0, 0, 0, 1184, 1373, 135, 0, 0, 173, 0,
0, 696, 0, 0, 0, 0, 0, 0, 0, 0,
0, 743, 742, 0, 0, 0, 805, 0, 0, 135,
0, 2385, 576, 2385, 0, 503, 503, 0, 0, 1085,
0, 0, 0, 0, 0, 0, 1628, 1630, 1629, 0,
1627, 0, 342, 343, 0, 1201, 1226, 0, 0, 1888,
1875, 1883, 1882, 0, 1865, 1864, 1863, 0, 1862, 0,
1889, 1889, 1887, 1866, 1841, 0, 0, 0, 1893, 0,
1891, 0, 881, 1837, 1833, 0, 1900, 1901, 1902, 1899,
1912, 1898, 0, 1847, 1903, 1856, 1853, 901, 0, 0,
1195, 0, 0, 2385, 344, 2385, 0, 2385, 0, 0,
0, 1203, 344, 0, 1197, 0, 0, 1199, 0, 1391,
0, 897, 895, 894, 896, 0, 0, 879, 0, 0,
0, 2385, 344, 0, 0, 874, 0, 0, 876, 0,
0, 0, 0, 1664, 0, 218, 219, 217, 1556, 220,
1557, 1553, 1539, 0, 1005, 0, 1009, 0, 1000, 0,
1006, 0, 1001, 998, 999, 0, 1004, 0, 0, 504,
506, 0, 0, 2335, 2351, 0, 2374, 2406, 2407, 2466,
2494, 2499, 2505, 0, 2534, 2545, 0, 1030, 1060, 1025,
710, 0, 0, 1611, 1414, 2165, 0, 1664, 0, 0,
0, 0, 1234, 1235, 236, 208, 0, 0, 0, 1062,
2498, 1429, 976, 618, 0, 2005, 0, 2012, 2013, 2206,
0, 0, 0, 0, 0, 0, 2011, 2173, 0, 0,
0, 0, 0, 1937, 0, 0, 0, 2186, 0, 2192,
0, 0, 1974, 0, 0, 0, 0, 0, 0, 0,
0, 1938, 1918, 1919, 2009, 2158, 0, 2010, 2251, 0,
1911, 2227, 2148, 0, 2145, 2146, 2147, 0, 0, 0,
2221, 0, 2156, 0, 0, 1952, 2154, 1954, 0, 0,
0, 0, 2142, 2143, 2144, 2136, 2137, 2138, 2139, 2140,
2141, 2152, 1934, 0, 0, 2095, 0, 1933, 0, 0,
1747, 0, 2249, 2209, 1747, 252, 253, 249, 0, 0,
204, 203, 0, 222, 226, 227, 198, 225, 0, 221,
206, 2082, 2081, 205, 197, 194, 192, 209, 211, 212,
195, 193, 246, 0, 0, 0, 344, 1537, 0, 1520,
1521, 1517, 1524, 1744, 0, 1658, 0, 1662, 1537, 0,
1533, 1653, 1652, 1687, 1688, 1103, 1651, 1714, 1715, 0,
0, 0, 0, 1740, 1738, 1705, 1698, 1704, 0, 0,
1702, 0, 1706, 1914, 1733, 1640, 1692, 1693, 1696, 1639,
0, 1736, 0, 1614, 1734, 1697, 1598, 0, 1576, 0,
1792, 0, 0, 1447, 0, 0, 0, 1132, 1134, 0,
1133, 0, 1136, 0, 1145, 0, 0, 1131, 1150, 0,
1139, 1137, 0, 1481, 0, 0, 912, 0, 0, 0,
0, 1467, 0, 0, 2534, 240, 1470, 1475, 1462, 1473,
0, 0, 0, 0, 0, 1064, 1063, 0, 0, 1087,
0, 0, 0, 1488, 492, 0, 341, 0, 0, 0,
0, 0, 0, 0, 0, 800, 797, 0, 0, 796,
0, 632, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 672, 0, 1302, 0, 704, 0,
1169, 0, 0, 1168, 0, 1173, 0, 0, 1170, 1165,
1166, 2499, 2509, 2540, 242, 1171, 1193, 0, 1192, 1188,
1114, 0, 1115, 0, 0, 0, 0, 0, 2361, 2385,
284, 304, 0, 1301, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
326, 0, 0, 329, 328, 0, 0, 0, 0, 0,
333, 312, 0, 313, 0, 332, 0, 0, 598, 599,
0, 0, 0, 0, 1302, 0, 275, 0, 0, 0,
0, 0, 0, 0, 1210, 0, 727, 0, 0, 0,
2499, 1189, 0, 0, 0, 0, 0, 1377, 0, 0,
159, 0, 154, 158, 0, 0, 0, 2499, 1190, 0,
0, 0, 0, 581, 582, 595, 0, 586, 587, 584,
588, 589, 0, 0, 0, 0, 0, 0, 0, 580,
0, 0, 694, 693, 697, 0, 0, 0, 1386, 0,
1184, 0, 0, 1385, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1247, 1246, 0, 0, 0, 0,
0, 0, 842, 0, 0, 0, 0, 0, 0, 0,
0, 161, 714, 0, 713, 0, 155, 160, 0, 0,
0, 0, 0, 0, 0, 216, 1436, 1442, 1686, 1686,
1686, 2023, 0, 0, 0, 0, 1685, 2212, 2215, 1507,
2240, 1506, 0, 0, 0, 0, 957, 0, 0, 0,
0, 0, 0, 0, 0, 0, 949, 950, 951, 952,
0, 0, 0, 0, 0, 389, 386, 387, 389, 0,
0, 0, 0, 816, 0, 819, 822, 0, 1458, 458,
0, 0, 624, 672, 0, 0, 442, 168, 0, 0,
0, 0, 729, 0, 0, 0, 1372, 130, 177, 179,
440, 0, 178, 180, 182, 183, 184, 181, 185, 0,
691, 695, 0, 0, 0, 0, 620, 0, 0, 0,
0, 0, 744, 748, 747, 751, 749, 0, 745, 0,
0, 1812, 0, 0, 153, 0, 0, 571, 575, 0,
0, 0, 0, 442, 544, 355, 2385, 0, 503, 0,
2385, 0, 1084, 0, 803, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1626, 344, 1154, 0, 1480,
0, 0, 0, 344, 1886, 1885, 1838, 1834, 0, 0,
0, 0, 915, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1854, 344, 1118, 167, 2267, 0, 883, 0,
0, 0, 0, 344, 1212, 871, 344, 163, 344, 344,
623, 0, 344, 165, 0, 0, 0, 615, 344, 909,
344, 2235, 0, 344, 1569, 2385, 503, 1541, 1552, 1002,
1011, 1010, 1008, 1007, 1003, 0, 1022, 0, 502, 0,
0, 0, 0, 0, 1038, 1039, 0, 0, 1035, 1040,
0, 1036, 1037, 1042, 1032, 1031, 1043, 1044, 0, 0,
1062, 708, 0, 0, 0, 0, 1608, 0, 1606, 0,
1790, 1610, 1599, 1560, 0, 1559, 0, 564, 1083, 1083,
1244, 0, 0, 1019, 0, 0, 344, 1428, 0, 978,
984, 0, 0, 0, 0, 0, 0, 0, 987, 988,
0, 989, 980, 990, 981, 991, 0, 982, 0, 0,
0, 0, 2219, 2169, 0, 2170, 0, 0, 2205, 2201,
0, 0, 0, 0, 0, 2174, 2177, 2178, 2179, 2176,
2180, 2175, 0, 0, 2181, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2604, 0, 0, 0, 0, 1978,
0, 0, 2129, 0, 2158, 2191, 0, 0, 0, 0,
0, 0, 2158, 2197, 0, 0, 0, 0, 2080, 0,
2077, 0, 0, 0, 0, 2218, 0, 0, 2252, 1915,
1929, 1930, 1931, 1935, 2226, 0, 2220, 0, 0, 1916,
1943, 0, 2198, 1970, 0, 1975, 1958, 0, 1951, 0,
1956, 1960, 1939, 0, 1936, 0, 2221, 2157, 0, 2155,
0, 1926, 1927, 1928, 1920, 1921, 1922, 1923, 1924, 1925,
1932, 2133, 2131, 2132, 0, 0, 0, 2103, 0, 0,
1955, 2377, 2413, 0, 1677, 1677, 1677, 1665, 1675, 2225,
0, 1807, 1686, 1807, 2231, 0, 0, 1911, 0, 1788,
917, 918, 916, 1510, 1514, 1523, 1537, 2159, 1531, 1660,
0, 0, 1512, 1535, 0, 1101, 1102, 0, 1106, 2604,
2496, 0, 0, 0, 0, 1707, 1741, 0, 1732, 0,
2245, 1708, 2244, 1709, 1712, 1713, 1703, 1742, 1612, 0,
1737, 1644, 1643, 0, 1810, 0, 0, 0, 1590, 1578,
0, 1793, 0, 1747, 1616, 0, 2218, 1745, 1348, 1248,
1311, 1135, 0, 1856, 1146, 0, 1130, 0, 1129, 1856,
0, 1147, 0, 1856, 1349, 1249, 1312, 913, 1350, 1250,
1313, 1351, 1251, 1477, 1465, 1464, 1463, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 781, 2385, 344, 1486, 1352, 0, 1252, 340, 1487,
1314, 1491, 799, 798, 0, 0, 1315, 0, 633, 0,
637, 0, 639, 640, 641, 0, 0, 0, 642, 0,
2312, 2368, 644, 647, 648, 649, 656, 661, 651, 0,
0, 663, 657, 0, 0, 0, 0, 0, 0, 669,
674, 0, 0, 0, 0, 0, 0, 0, 1163, 1164,
1353, 1255, 0, 1316, 1113, 0, 1256, 169, 0, 0,
267, 2385, 286, 0, 676, 781, 0, 1304, 283, 310,
0, 0, 325, 320, 321, 319, 2385, 344, 2385, 344,
0, 0, 0, 0, 0, 322, 317, 318, 314, 0,
0, 327, 2287, 2353, 2510, 0, 680, 682, 0, 687,
330, 1276, 351, 350, 349, 0, 334, 0, 356, 359,
331, 311, 309, 306, 280, 0, 0, 0, 0, 0,
0, 0, 0, 2238, 0, 0, 1205, 0, 1356, 1317,
0, 1339, 0, 0, 0, 0, 721, 0, 1359, 1262,
1320, 1378, 1380, 1370, 1263, 1379, 157, 1291, 146, 0,
0, 142, 0, 0, 0, 0, 136, 0, 1360, 1264,
1321, 0, 1361, 1265, 0, 0, 272, 574, 585, 590,
1270, 594, 591, 1329, 592, 1368, 1266, 1364, 1294, 1324,
1371, 1387, 1267, 1184, 1382, 1384, 0, 1302, 0, 261,
263, 0, 282, 0, 1268, 0, 1322, 1363, 1293, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1494, 0,
0, 0, 0, 0, 0, 344, 0, 0, 0, 1304,
2385, 344, 1362, 0, 1299, 0, 1337, 0, 377, 0,
1292, 0, 0, 274, 1272, 1331, 0, 0, 214, 213,
215, 0, 0, 0, 0, 2163, 2164, 0, 2161, 2018,
2214, 0, 966, 924, 965, 0, 2351, 0, 923, 925,
0, 0, 0, 926, 0, 930, 931, 0, 0, 0,
922, 920, 921, 388, 0, 0, 738, 739, 0, 0,
0, 0, 818, 0, 0, 0, 1484, 0, 133, 631,
0, 0, 0, 626, 671, 676, 0, 0, 0, 0,
441, 445, 449, 450, 451, 0, 0, 0, 0, 147,
134, 0, 860, 0, 503, 0, 731, 1376, 1375, 1183,
0, 179, 172, 0, 0, 692, 0, 1532, 0, 0,
355, 813, 811, 810, 812, 0, 0, 0, 834, 809,
0, 1811, 1813, 0, 0, 0, 0, 0, 0, 564,
444, 0, 0, 506, 0, 547, 0, 0, 0, 0,
544, 0, 0, 0, 2271, 0, 830, 802, 1124, 0,
1142, 1125, 0, 0, 0, 0, 1177, 1109, 1178, 1155,
1110, 0, 0, 603, 1631, 1632, 0, 1202, 0, 0,
1855, 1868, 882, 0, 1896, 1895, 1897, 1897, 0, 1839,
0, 1880, 1905, 1906, 1907, 1908, 1909, 1910, 0, 1904,
1848, 1196, 344, 0, 344, 0, 344, 1204, 1198, 1200,
1392, 0, 880, 0, 0, 344, 873, 875, 0, 877,
0, 1023, 505, 0, 0, 0, 0, 0, 0, 1034,
601, 1041, 0, 1055, 1050, 1052, 0, 1056, 707, 0,
0, 1609, 1602, 1604, 1603, 0, 0, 1600, 2166, 872,
0, 570, 0, 0, 0, 0, 344, 0, 1057, 0,
0, 985, 979, 0, 0, 983, 0, 0, 0, 986,
0, 0, 1682, 2167, 2168, 0, 0, 0, 2202, 0,
0, 2055, 0, 2031, 2033, 2045, 0, 2056, 2016, 2057,
2035, 2037, 0, 2149, 0, 0, 2046, 0, 1980, 1981,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1996, 1995, 2047,
2128, 0, 0, 2189, 2190, 2048, 0, 0, 2196, 0,
0, 0, 2053, 2058, 0, 0, 0, 0, 2064, 0,
2085, 0, 0, 0, 2006, 2159, 0, 0, 0, 0,
0, 0, 0, 0, 1976, 1959, 1953, 0, 1957, 1961,
0, 0, 0, 1947, 0, 0, 1945, 1971, 1941, 0,
0, 1972, 0, 0, 0, 2024, 0, 0, 1677, 1677,
1677, 1677, 1674, 0, 0, 0, 0, 2496, 2624, 0,
1771, 1746, 1748, 1758, 1771, 1776, 1771, 2026, 1805, 2027,
2232, 0, 1717, 0, 1717, 190, 0, 223, 210, 1509,
1661, 1664, 1689, 0, 2150, 1106, 0, 1691, 1711, 1710,
0, 1701, 1739, 1699, 1613, 1597, 0, 1595, 1582, 1584,
1583, 0, 0, 1585, 2218, 0, 1595, 1577, 1621, 0,
0, 1810, 0, 1620, 0, 1856, 1127, 1128, 0, 1151,
0, 1067, 1068, 0, 1066, 0, 0, 0, 491, 1086,
0, 0, 0, 781, 0, 0, 495, 0, 1489, 0,
1369, 1290, 635, 636, 0, 650, 0, 659, 658, 0,
0, 0, 0, 0, 0, 0, 643, 665, 607, 666,
668, 0, 0, 667, 670, 673, 1302, 0, 705, 1278,
0, 1335, 1157, 1305, 0, 1116, 0, 0, 0, 0,
0, 0, 458, 305, 0, 0, 0, 0, 364, 0,
288, 297, 362, 303, 0, 1310, 336, 0, 308, 0,
301, 323, 315, 324, 316, 335, 337, 0, 684, 685,
683, 679, 0, 686, 688, 0, 353, 0, 0, 0,
1355, 0, 1302, 0, 276, 0, 1274, 0, 1333, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1338, 0, 0, 0, 0, 726, 0, 723, 1306, 0,
0, 139, 138, 0, 145, 0, 1307, 0, 0, 0,
0, 1388, 0, 0, 0, 0, 0, 0, 371, 0,
281, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 378, 346,
0, 837, 0, 0, 0, 380, 0, 0, 0, 0,
0, 1354, 1257, 2021, 2022, 2019, 1686, 2213, 0, 0,
0, 937, 0, 0, 0, 0, 0, 0, 391, 392,
133, 390, 413, 0, 781, 0, 0, 815, 820, 828,
2442, 2136, 2137, 826, 821, 823, 825, 827, 824, 0,
0, 0, 0, 0, 474, 0, 0, 0, 464, 0,
0, 1184, 457, 460, 461, 0, 0, 627, 630, 628,
629, 664, 0, 444, 481, 532, 0, 149, 0, 0,
150, 148, 0, 0, 355, 728, 0, 725, 0, 175,
440, 0, 696, 0, 0, 0, 1184, 619, 750, 753,
746, 0, 833, 835, 807, 0, 676, 0, 0, 576,
0, 503, 1570, 559, 0, 534, 444, 532, 543, 0,
0, 551, 354, 0, 0, 564, 355, 0, 0, 1087,
0, 829, 0, 1123, 0, 0, 0, 1174, 1179, 1175,
0, 0, 1138, 0, 1176, 1156, 1408, 1409, 1406, 1407,
0, 0, 0, 1623, 0, 1874, 0, 1892, 1890, 1835,
1840, 1913, 884, 0, 867, 0, 869, 344, 715, 0,
616, 344, 0, 0, 0, 0, 0, 0, 1033, 0,
1053, 0, 0, 1016, 1059, 0, 0, 1607, 1605, 562,
0, 1236, 1237, 1062, 0, 1017, 1061, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2171, 0, 2204, 2200,
0, 2028, 2172, 0, 2184, 2183, 2129, 0, 0, 1979,
1991, 1992, 1993, 2185, 0, 2001, 0, 0, 1988, 1989,
1990, 1982, 1983, 1984, 1985, 1986, 1987, 1994, 2194, 2193,
2187, 2188, 0, 2050, 2051, 2052, 2195, 2059, 0, 2302,
2086, 0, 2063, 2079, 2078, 0, 0, 0, 2066, 0,
0, 2075, 0, 2130, 2253, 1917, 0, 0, 1944, 2199,
1962, 0, 0, 0, 1940, 2149, 0, 0, 0, 0,
0, 1949, 0, 0, 0, 2106, 2101, 2102, 2126, 0,
0, 0, 0, 0, 0, 1668, 1667, 1673, 1771, 1776,
1771, 0, 0, 1646, 0, 1758, 0, 1770, 1756, 1769,
0, 0, 1782, 1780, 0, 1782, 0, 1782, 0, 1750,
0, 1772, 1752, 1769, 1754, 0, 1797, 2233, 1806, 0,
1730, 2018, 1730, 0, 0, 0, 1690, 1104, 1105, 1700,
2331, 1808, 0, 1596, 0, 0, 0, 1587, 1593, 1575,
0, 0, 1617, 1595, 1618, 1148, 0, 0, 1140, 1073,
1074, 1077, 1075, 1072, 1076, 0, 0, 0, 781, 0,
0, 513, 0, 1098, 1098, 0, 0, 497, 556, 508,
784, 0, 0, 0, 782, 344, 1253, 0, 660, 0,
0, 655, 653, 652, 654, 0, 608, 1367, 1254, 0,
0, 0, 0, 1158, 0, 0, 1277, 0, 285, 0,
454, 0, 0, 298, 0, 294, 0, 1303, 0, 0,
0, 0, 293, 366, 0, 363, 0, 344, 344, 338,
681, 352, 357, 358, 361, 0, 0, 0, 0, 0,
1309, 0, 0, 0, 0, 0, 0, 0, 861, 844,
0, 0, 862, 863, 0, 0, 0, 1207, 1208, 1206,
1340, 1341, 1346, 1343, 1342, 1345, 1347, 1344, 0, 1260,
0, 0, 719, 143, 140, 141, 144, 1288, 1271, 1330,
1383, 0, 0, 0, 1269, 0, 1323, 0, 1284, 1280,
0, 0, 0, 0, 0, 1366, 1298, 1328, 1365, 1296,
1326, 1295, 1325, 1297, 1327, 0, 1289, 0, 1815, 841,
0, 0, 0, 344, 344, 840, 717, 1273, 1332, 0,
0, 0, 927, 0, 0, 929, 932, 0, 934, 396,
414, 133, 0, 737, 801, 0, 0, 817, 780, 0,
462, 0, 468, 472, 0, 0, 476, 477, 475, 463,
1184, 503, 555, 770, 771, 0, 0, 791, 0, 625,
0, 442, 0, 478, 0, 0, 446, 152, 151, 0,
0, 0, 732, 736, 734, 733, 735, 730, 0, 721,
179, 2385, 0, 0, 0, 0, 557, 1381, 0, 763,
808, 0, 1814, 711, 0, 355, 572, 0, 0, 0,
442, 564, 0, 447, 452, 453, 458, 0, 544, 533,
0, 534, 545, 546, 0, 553, 1456, 0, 565, 553,
0, 0, 0, 832, 0, 831, 1126, 1143, 1144, 0,
0, 1107, 0, 0, 0, 0, 610, 344, 1836, 344,
344, 1233, 0, 878, 1047, 1048, 1049, 1046, 1045, 602,
0, 1051, 709, 0, 563, 344, 0, 993, 971, 992,
970, 972, 0, 974, 975, 969, 967, 968, 2203, 2044,
2054, 2182, 2128, 2159, 0, 0, 2002, 0, 0, 2049,
2614, 0, 0, 2090, 2091, 0, 2087, 2088, 2083, 2084,
2065, 0, 2432, 2070, 0, 0, 0, 1968, 1966, 1963,
0, 1964, 1948, 0, 0, 1946, 1942, 0, 1973, 2092,
0, 2108, 2105, 2125, 2159, 1672, 1671, 1670, 1669, 1757,
1753, 1755, 0, 2619, 0, 1760, 1767, 0, 1749, 0,
1781, 1777, 0, 1778, 0, 0, 1779, 0, 0, 1751,
0, 1767, 0, 1804, 0, 0, 2097, 2250, 2097, 224,
1659, 0, 0, 1594, 1579, 0, 1580, 1586, 0, 0,
0, 0, 1622, 1615, 1141, 1149, 0, 0, 0, 493,
0, 508, 0, 0, 0, 1100, 1100, 0, 508, 0,
1184, 786, 785, 788, 783, 787, 1490, 0, 645, 646,
662, 1279, 0, 1336, 1286, 0, 1611, 287, 0, 677,
292, 0, 0, 289, 365, 367, 290, 291, 295, 346,
307, 300, 0, 0, 0, 1275, 0, 1334, 1282, 1357,
1258, 1318, 0, 0, 850, 0, 0, 0, 0, 1358,
1259, 1319, 0, 0, 0, 0, 1611, 0, 0, 0,
0, 0, 0, 0, 0, 1499, 0, 1308, 345, 839,
838, 346, 379, 1300, 2020, 0, 928, 935, 936, 933,
0, 385, 393, 396, 0, 0, 1224, 1224, 0, 781,
0, 0, 459, 473, 0, 555, 512, 0, 465, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 724, 723, 174, 0, 442, 0, 676,
0, 757, 758, 752, 754, 0, 765, 769, 836, 0,
0, 0, 564, 444, 0, 0, 1567, 443, 0, 0,
455, 0, 547, 534, 544, 0, 0, 561, 0, 1449,
0, 567, 0, 0, 0, 1180, 0, 1186, 0, 1137,
1181, 0, 1807, 0, 0, 0, 0, 614, 1225, 868,
870, 716, 1054, 0, 1058, 344, 973, 2130, 1997, 0,
0, 0, 0, 2060, 0, 2061, 2089, 2067, 2071, 0,
2068, 2069, 1965, 1969, 1967, 1950, 2094, 0, 1686, 2127,
1800, 0, 1803, 0, 0, 1759, 0, 0, 1761, 0,
0, 1763, 1765, 0, 0, 0, 0, 0, 0, 2236,
2330, 2588, 2493, 0, 1716, 1718, 1721, 1723, 1722, 1724,
1720, 1729, 0, 1648, 1647, 2151, 1809, 0, 0, 0,
1088, 0, 1619, 1055, 0, 344, 1098, 1184, 514, 2442,
515, 1097, 1099, 1103, 1103, 0, 1184, 0, 555, 638,
0, 0, 269, 675, 0, 0, 299, 348, 360, 0,
1611, 0, 0, 848, 857, 857, 845, 0, 0, 864,
1261, 720, 0, 0, 264, 1285, 1281, 0, 0, 0,
1501, 1502, 0, 0, 0, 0, 0, 344, 938, 0,
416, 423, 397, 401, 1493, 0, 1493, 0, 398, 402,
1493, 1493, 395, 1807, 412, 1224, 0, 1221, 1220, 779,
0, 501, 578, 0, 466, 0, 523, 0, 0, 792,
0, 0, 444, 532, 0, 490, 482, 483, 484, 486,
485, 487, 488, 489, 480, 479, 0, 676, 854, 355,
1456, 718, 0, 0, 689, 0, 755, 760, 759, 1493,
764, 0, 0, 0, 676, 0, 1570, 560, 534, 444,
532, 448, 458, 536, 0, 537, 551, 544, 547, 0,
548, 0, 552, 0, 0, 0, 564, 1503, 1087, 0,
1185, 0, 0, 0, 0, 0, 0, 1228, 609, 0,
0, 613, 604, 676, 1018, 1998, 0, 1999, 0, 0,
2073, 2072, 0, 2112, 1805, 0, 0, 1799, 0, 0,
1829, 0, 0, 0, 1768, 1784, 0, 1764, 1762, 0,
1773, 0, 1775, 0, 0, 0, 1725, 0, 2096, 2098,
0, 0, 1592, 1807, 0, 1589, 0, 1069, 0, 1070,
1100, 555, 0, 1106, 1106, 503, 555, 0, 781, 1287,
0, 678, 578, 0, 302, 0, 277, 1283, 0, 0,
859, 859, 0, 0, 0, 0, 0, 0, 373, 0,
0, 1495, 0, 1496, 1497, 1500, 381, 394, 0, 421,
0, 419, 418, 420, 0, 409, 0, 0, 0, 0,
0, 0, 384, 1219, 1223, 1222, 0, 0, 467, 0,
469, 0, 509, 510, 511, 0, 471, 519, 520, 0,
789, 0, 794, 0, 0, 0, 676, 531, 700, 0,
0, 0, 1450, 0, 0, 558, 0, 766, 767, 762,
0, 0, 712, 1456, 564, 544, 0, 534, 456, 0,
553, 547, 551, 549, 550, 0, 1453, 0, 566, 0,
1094, 1108, 1187, 1182, 1412, 0, 0, 612, 611, 706,
2000, 2076, 2062, 2074, 2107, 0, 0, 0, 0, 1798,
1801, 0, 1832, 0, 0, 0, 0, 1818, 0, 1766,
0, 0, 1774, 0, 0, 0, 1719, 0, 0, 1581,
1591, 1089, 0, 0, 1103, 518, 0, 1091, 1090, 512,
781, 507, 494, 1611, 296, 347, 0, 0, 0, 855,
858, 846, 847, 866, 865, 722, 1611, 0, 369, 368,
0, 372, 0, 417, 426, 0, 424, 399, 404, 0,
408, 406, 405, 400, 403, 0, 500, 0, 0, 0,
0, 0, 521, 0, 522, 554, 0, 793, 0, 0,
0, 702, 853, 0, 0, 442, 676, 756, 761, 0,
0, 1451, 1568, 547, 534, 544, 0, 0, 538, 1098,
1098, 429, 551, 553, 1454, 1455, 0, 0, 355, 1411,
1410, 1664, 0, 0, 2575, 2331, 2547, 0, 2124, 2113,
2124, 2124, 2104, 0, 0, 1830, 1831, 1816, 0, 0,
1820, 1783, 1796, 1727, 0, 1726, 2099, 2100, 1807, 344,
1106, 0, 781, 516, 523, 496, 270, 1611, 849, 0,
265, 0, 374, 1498, 422, 0, 407, 769, 577, 470,
528, 0, 527, 0, 525, 524, 790, 795, 0, 676,
843, 1456, 690, 768, 0, 551, 544, 547, 0, 535,
0, 1100, 1100, 553, 427, 0, 0, 553, 1394, 1664,
1393, 1395, 1403, 1400, 1402, 1401, 1399, 1231, 1232, 0,
2117, 2116, 2115, 2119, 2118, 0, 2111, 2109, 2110, 1802,
0, 1819, 1822, 0, 0, 0, 1828, 1821, 1823, 0,
1794, 1728, 1588, 1071, 1092, 0, 498, 781, 278, 856,
0, 425, 0, 526, 530, 529, 676, 701, 1452, 774,
553, 547, 551, 1098, 539, 541, 540, 431, 1094, 1095,
0, 1807, 0, 1404, 1398, 1646, 1633, 0, 0, 0,
0, 2121, 0, 2122, 0, 1825, 1826, 1827, 1824, 0,
0, 499, 0, 0, 703, 776, 0, 772, 775, 777,
778, 430, 551, 553, 1100, 355, 1093, 0, 1078, 1396,
1664, 0, 0, 2114, 2120, 2123, 0, 0, 517, 370,
0, 740, 0, 553, 428, 542, 553, 1096, 1397, 0,
0, 0, 1795, 0, 773, 432, 1807, 0, 0, 1817,
774, 1079, 0, 0, 0, 1229, 1230, 741
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
-4879, -4879, -4879, 3750, -4879, -4879, -878, -27, 2982, -1081,
-4879, -4879, -4879, 1196, -4879, -4879, -4879, -4879, 3724, -4879,
2072, -2437, -4879, -4879, 150, 3668, -1298, 98, 3249, 1725,
-4879, -1138, -4879, -4879, -494, 115, -4879, 3678, 77, -4879,
-4879, -4879, -4879, -4879, -4879, -4879, -4879, -681, 2191, -4879,
2279, 1551, 5837, -3085, -4879, -4879, -1347, -3192, -4879, 865,
-4879, 892, -4169, -615, -4879, -4879, -4879, 2179, -4879, -4879,
-4879, 2122, 1356, -61, -4879, -4879, -4879, -4879, -4879, -4879,
-465, -4879, -4879, -709, 152, 44, -2455, -3727, -4879, -4879,
731, -110, -1418, -4879, -3589, -4879, 268, -2154, -4879, -4879,
-4879, -77, -1390, 1657, -4879, -697, -1163, 1966, -4098, -574,
-4879, 46, -4879, -684, -477, -475, -604, -3773, -4269, -4879,
-4879, -4879, -713, -3181, -4502, -4757, -4299, -3832, 1670, -4879,
153, -3150, -3226, 156, 705, -4879, 160, 161, -4879, 721,
-407, -898, -1515, -4879, -804, -4879, -4879, -4879, -2923, -4879,
-4879, -4879, -4879, 74, -4879, -4879, -4879, -4879, 770, -4879,
-4879, -4879, -4879, -4879, -4879, -2674, 2147, 2148, -4879, -3158,
-4879, -858, -4879, 916, -2966, 1573, -4879, -4879, 1347, 3739,
757, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -1711, -4879,
-4879, -4879, -4879, 272, -55, -4879, -4879, -4879, -4879, -4879,
-4879, -4879, 168, -4879, 2163, 1345, -4879, -4879, -50, -4879,
-4879, -4879, -4879, -4879, -4879, -663, -4483, -824, -805, -4879,
-2917, -4879, -4879, -4879, -22, -4879, -4879, -4879, -4879, -4879,
-867, -4879, 1407, -3600, -4879, -4879, 729, -4879, -4879, -4879,
-4879, -4879, -580, 39, 2911, -4879, -190, -383, -4879, -4879,
-4879, 41, -4879, -4879, -4879, -4879, -4879, -4879, -4879, -4879,
-1088, 10317, -812, -583, -4879, -4879, -4879, -4879, -4879, -2193,
-4879, -4879, -4879, -4879, -3643, -4879, 4642, 2097, 333, 170,
-4879, -29, 63, 3494, -1134, -2626, 689, -148, -4879, -4879,
-4879, -2568, -4879, -4879, -4879, -4879, -3509, 172, -4879, -678,
-4879, -3806, -4557, -3558, -732, -4879, -4052, -4439, -4429, -3501,
-4879, -4879, -4879, -4879, -549, -185, 2881, -4879, -1397, 2522,
-923, -4879, -2086, 755, 1748, 2898, -2764, -134, 2884, -2505,
-657, -3250, -4879, -4879, -2315, -280, -4879, -4879, 1377, 548,
-4879, -4879, -4879, -4879, -623, 2827, -181, -4879, -4879, 4040,
-4879, -4301, -4879, 4003, -4879, -4879, -4879, -4879, 2739, 2743,
-4879, 2746, -4879, -4879, -1393, 1515, -4879, -4879, -4879, -4879,
949, -4879, -4879, -4879, -4879, -4879, -4879, -4879, 1410, 954,
-4879, -4879, -4879, -4879, -4879, -546, -721, -4879, -4879, 173,
-4879, -4879, -4879, -4879, 2143, -880, -722, 3923, 651, 179,
-4630, -4879, -4879, -1112, -4879, 3335, -4879, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, -4879, -2967, -4879, -4879, -4350, -4879,
-4879, -4879, -4879, -4879, 3904, 104, 2636, -4879, -4879, -4879,
-38, -4879, -4879, -956, 2627, -4879, -1932, -4879, -592, -4879,
2833, -4879, -4879, -4879, -4879, -1873, 181, -3788, -4879, 6,
-4879, -4879, 183, -4879, 593, -4879, -4879, -3415, 14, -4879,
-4879, -4879, -4879, -4380, -4879, 16, -442, 1123, -2802, -4879,
190, 154, -4879, -4879, 2, 3275, -42, -32, -12, 5,
107, 3392, -4879, -4879, 3433, -4879, 13, 1945, -4879, -4879,
-789, -154, -4879, 1872, -653, 2606, 3384, 3378, -4879, 1863,
2640, -1974, -1936, -4879, 1173, -414, -254, -4879, -4879, -4879,
-4879, 632, -639, 2623, -4879, 3388, -4879, -4879, -4879, -1930,
-2826, -3458, 1201, -3444, -3337, 677, 656, -1307, -16, -43,
-758, 3394, -4879, -4879, 1214, -214, -4879, -4879, -212, -2801,
1163, -4879, -4321, -2322, 1222, -671, -502, -4879, -588, -4879,
-372, 6869, 2973, -1029, -4879, -4879, -1004, 15354, -4879, -4879,
-4879, 15643, 16678, -4879, -4879, 17397, 17630, -4879, -810, 18022,
15009, -1012, -1875, -263, 14141, -1763, -471, 60, -4879, -3435,
-2675, -4879, -4879, -4879, 33, 1274, 573, -4879, -4383, -3781,
-4879, -4879, 248, -4879, -378, -4879, -377, -4879, -4879, -4879,
-2624, -4878, -2618, 2744, -4879, -4879, -4879, -200, -4879, 19171,
-2748, -4879, -735, -1322, -1511, -3431, -1886, -4879, -4879, -4879,
-4879, -4879, -4879, -4879, -1796, -3299, -493, 1985, -4879, -4879,
2074, -4879, -4879, -4879, -900, 2360, -755, -2638, 1988, -4879,
-772, 2750, -769, 8044, -589, 10060, -530, -2209, -1253, -1635,
-4879, 4707, -4879, 7349, 6853, 3, -117, 697, -638, -6,
14340, -544, -875, 4425, 12957, 12179, -3159
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
-1, 52, 53, 54, 55, 56, 1524, 2497, 2352, 3279,
3280, 57, 58, 1520, 59, 60, 61, 62, 1435, 63,
1016, 1768, 2512, 64, 2185, 799, 800, 801, 2086, 2087,
2436, 2088, 2076, 1322, 1909, 1457, 773, 774, 1417, 1458,
66, 67, 1316, 2067, 68, 69, 70, 1488, 1576, 1489,
1490, 1429, 1815, 4308, 5044, 3076, 2315, 3327, 3077, 3078,
3701, 3702, 3780, 5058, 5059, 71, 1592, 1593, 72, 73,
2478, 3244, 3830, 4661, 4662, 4892, 612, 4331, 4332, 4879,
4880, 5072, 5215, 5216, 2513, 1760, 3322, 3915, 3270, 4402,
3271, 4403, 3272, 4404, 3256, 3862, 3863, 4345, 3864, 3273,
4363, 4924, 3274, 2204, 5088, 2554, 1931, 1929, 4580, 4906,
4170, 4171, 5302, 5096, 5097, 5098, 5324, 4365, 4408, 4409,
4954, 5257, 5258, 3325, 3921, 4415, 4727, 4678, 2961, 75,
708, 1794, 3431, 709, 2557, 646, 710, 2514, 80, 2547,
5090, 2548, 1550, 2366, 3843, 3411, 81, 1042, 3667, 4747,
4981, 4982, 82, 224, 83, 1776, 84, 85, 2492, 3263,
86, 2221, 2978, 87, 88, 3009, 3010, 3011, 89, 3692,
4598, 1491, 3065, 3066, 3067, 3068, 3723, 90, 1771, 2521,
2522, 91, 92, 93, 94, 2673, 2674, 95, 2423, 96,
97, 98, 99, 3757, 4272, 4379, 3106, 3286, 3887, 4377,
100, 3248, 2515, 1784, 2537, 2538, 4389, 4703, 4704, 4705,
4939, 5247, 4707, 4941, 5119, 4943, 4355, 5436, 5437, 4669,
3646, 4184, 102, 4356, 4357, 5103, 103, 2219, 104, 105,
1744, 2484, 2485, 3844, 2564, 3335, 3336, 3901, 3902, 106,
3188, 107, 4248, 4249, 647, 5110, 5050, 5201, 108, 109,
4252, 4253, 110, 111, 112, 113, 114, 700, 701, 702,
1133, 1134, 2933, 1081, 115, 2096, 116, 979, 980, 3223,
117, 1209, 2719, 2720, 4458, 118, 733, 1153, 1154, 2516,
120, 742, 2693, 744, 1946, 3413, 3414, 3983, 121, 122,
2670, 2696, 123, 1422, 2195, 2196, 4165, 2517, 648, 1194,
2561, 2956, 4819, 4820, 5268, 5410, 4575, 4833, 2878, 3597,
125, 649, 1462, 2271, 1101, 1102, 2567, 3339, 2164, 2165,
2166, 3941, 2167, 3341, 2168, 1396, 2169, 1052, 1053, 3347,
3348, 3349, 3937, 3944, 2506, 4737, 4738, 126, 1460, 2269,
127, 128, 129, 1503, 892, 1111, 1112, 130, 661, 662,
131, 4897, 132, 1055, 133, 4745, 134, 135, 764, 765,
1191, 1192, 136, 137, 2285, 3704, 138, 139, 140, 3100,
3101, 4264, 141, 142, 1763, 1764, 143, 144, 3153, 3154,
145, 146, 147, 5350, 5412, 5413, 5414, 3950, 5271, 5352,
1184, 149, 150, 151, 188, 932, 933, 934, 845, 2518,
4729, 153, 154, 1418, 1419, 1420, 1421, 2190, 155, 156,
157, 158, 159, 160, 161, 1748, 162, 163, 4872, 164,
165, 1709, 166, 167, 1345, 1346, 1347, 1348, 2101, 2866,
606, 817, 1351, 1357, 1362, 1363, 1364, 169, 712, 1147,
1148, 1149, 1911, 170, 1187, 983, 713, 1142, 172, 714,
2147, 2908, 3611, 3612, 3613, 3616, 4560, 4143, 715, 2904,
175, 1953, 2679, 2682, 2900, 716, 2913, 2914, 2915, 3619,
717, 735, 1045, 2574, 718, 1283, 180, 181, 182, 826,
820, 821, 2871, 184, 2060, 2847, 751, 1368, 786, 787,
835, 2446, 2113, 2114, 2138, 2139, 1377, 1378, 2126, 2130,
2131, 2891, 2884, 2119, 4130, 4804, 4805, 4806, 4807, 4808,
4809, 4546, 2134, 2135, 1380, 1381, 1382, 2143, 185, 2851,
3571, 3572, 3573, 4107, 4108, 4122, 4118, 4531, 4791, 3574,
1182, 1388, 4539, 5380, 3575, 4780, 4781, 4997, 4126, 3582,
3607, 3310, 3311, 3312, 3576, 5166, 5167, 5377, 5378, 4999,
5000, 2170, 1844, 1083, 1284, 1084, 1856, 1285, 1828, 1086,
1286, 1287, 1288, 1089, 1289, 1290, 1291, 1092, 1820, 1292,
1293, 1838, 1853, 1854, 1352, 5001, 1295, 1296, 1297, 3578,
1298, 4061, 4495, 4481, 2779, 2780, 2083, 4057, 3516, 4051,
2055, 2837, 4813, 5018, 5019, 3555, 4086, 4511, 4778, 5158,
5278, 5279, 5366, 1299, 1300, 1301, 2834, 2051, 895, 1302,
3846, 2053, 2773, 1617, 1618, 1956, 1978, 2726, 2742, 2743,
2753, 3475, 2761, 2766, 3503, 3504, 2774, 2803, 1303, 2728,
2729, 3459, 1980, 1304, 938, 1621, 939, 1975, 2798, 1312,
1305, 1306, 1947, 810, 4787, 1137, 851, 3092, 1701, 941,
748, 1307, 1308, 1309, 1310, 1496, 866, 1104, 1105, 603,
595, 868, 3069, 604, 597, 598, 1706
};
/* 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[] =
{
594, 809, 178, 894, 1010, 183, 173, 778, 1928, 825,
1549, 1908, 1615, 859, 174, 1313, 176, 745, 1864, 747,
1317, 899, 893, 753, 904, 737, 183, 836, 767, 775,
745, 737, 782, 2203, 2379, 775, 775, 1402, 811, 1707,
814, 3269, 1173, 1174, 1175, 1117, 1597, 1834, 1179, 1383,
2280, 1554, 3584, 1609, 1344, 846, 1343, 645, 812, 1130,
1824, 1825, 1702, 3350, 2272, 1773, 592, 1840, 3436, 1968,
1833, 1495, 3292, 2449, 1331, 3151, 2542, 3605, 2281, 2926,
2928, 2293, 4172, 1353, 2685, 3673, 743, 1195, 995, 3185,
2725, 902, 699, 3913, 4136, 3848, 3718, 3945, 3720, 779,
3945, 2440, 3417, 4210, 168, 923, 1463, 3871, 3897, 4073,
3618, 4104, 1136, 1127, 1144, 65, 1048, 1746, 3693, 3094,
4731, 1751, 4576, 4422, 4401, 711, 1755, 4167, 4233, 3595,
830, 4121, 1115, 772, 2853, 1119, 1765, 4834, 2310, 1057,
806, 4784, 4724, 1758, 4411, 2788, 4362, 3524, 2176, 3926,
1789, 838, 74, 76, 2264, 2893, 77, 823, 3624, 1786,
78, 79, 601, 1150, 2562, 2863, 1046, 3910, 101, 653,
119, 839, 124, 148, 916, 3579, 2872, 4969, 2624, 152,
2400, 171, 1376, 594, 849, 849, 852, 1343, 849, 4410,
177, 798, 861, 4685, 811, 2896, 1379, 896, 4910, 5130,
861, 4149, 1459, 861, 4040, 4173, 811, -2370, 849, -1889,
2099, 811, 1785, -133, 2264, 849, 4842, 811, -133, 4796,
4956, 4798, -2243, -2408, -2431, -1897, 1812, 1548, 3579, 1824,
1825, 2264, 2404, 2405, 2758, 1575, -2463, 4119, 719, 4124,
659, 4723, 1459, 610, 3481, 1602, -2271, 1459, 1048, 1833,
-2272, 1840, 1821, 1822, -2271, -2271, 4864, 2023, -2272, -2272,
-1856, 719, 3228, 1832, 3229, 3259, -1869, 3935, 3233, 4486,
3235, 3236, 1349, -2299, 2094, -2373, -1894, 928, 3623, 3240,
3241, 3242, 719, 1855, 719, 1349, 2029, -2630, 2438, 2439,
3282, 1737, 844, 4874, 4875, -2630, -2630, -1884, 1324, 1155,
5112, 1159, 659, 2187, 659, 5049, -2242, 2416, 2533, 1742,
5229, 3208, 815, 2058, 659, 2503, 3004, 857, 2031, 659,
1812, 2695, 4639, 1000, 2283, 5373, 1431, 1812, 3457, -1897,
4423, 2656, 2073, 1492, 659, 659, 3674, 2476, 719, 3081,
758, 1204, 2551, 1812, 1492, 1910, 4640, 1321, 4558, 719,
659, 4245, 2211, 659, -1712, 4460, 4461, 1799, 4463, 4464,
4465, 4466, 4467, 4398, 2796, 3421, 4898, 2552, 1390, 3423,
725, 3260, 1812, 2411, 929, 5263, 5084, 3175, 1812, 1606,
608, 4959, 3989, 2551, 4353, 2332, 725, 725, 4399, 3481,
780, 1170, 2534, 3005, 726, 4960, 5359, 2838, -2429, 725,
5014, 3384, 2023, 3386, 5033, 5034, 1901, 1431, 2552, 2110,
726, 726, 1821, 1822, 4574, 3176, 2209, 930, 2259, 2947,
4680, 2023, 2346, 726, 659, 759, 3006, 894, 1334, 4483,
2283, 2029, 2875, 3104, 5374, 1432, 725, 2671, 725, 1832,
2398, 2074, 2023, 1707, 186, 2959, 2796, 3581, 3177, 605,
2029, 1609, 2301, 3778, 4957, 2081, 5132, 4246, -2134, 4343,
726, 3425, 726, 2031, 3007, -2134, 4701, 3609, 1830, 1831,
5046, 2029, 3306, 4827, 931, 1872, 5011, 3307, 894, 186,
4836, 2831, 2031, 4344, 4702, -2153, 2302, 187, 2832, 186,
1812, 3620, -2153, 5251, 2212, 829, 1335, 2082, 1813, 3779,
1812, 2960, 3610, 2031, 2948, 5343, 2363, 3105, 1004, 1200,
2260, 1959, 3434, 1743, 1014, 2095, 1432, 2876, 2333, 1989,
2850, 2672, 187, 5085, 4354, 2077, 1702, 1028, 2017, 3990,
2089, 2089, 187, 4681, 2839, 1071, 3082, 1812, 4484, 1948,
3426, 5453, 2283, 2283, 2100, 660, 2283, 2016, 2283, 4372,
1958, 3261, 3774, 1607, 2553, 4559, 2063, 2075, 1391, 1912,
3477, 4247, 4961, 1707, 1171, 3008, 1969, 3895, 1743, 3848,
2972, 2477, 4935, 2382, 3836, 4400, 5375, 760, 5400, 2657,
3422, 5376, 3481, 2213, 3424, 4584, 2059, 1048, 2294, -415,
3674, 5184, 1813, 4267, 5083, 4697, 2535, 858, 4641, 1813,
942, 4902, 1951, 1001, 3222, 1048, 811, 3761, 849, 2536,
849, 5230, 852, 987, 849, 1813, 183, 984, 761, 762,
3936, 896, 1743, 1502, 816, 985, 1017, 986, 849, 5262,
2727, 1862, -2429, 1819, 2488, 849, 2250, 1892, 5250, 3262,
4373, 4500, 3209, 1608, 1813, 5443, 2258, 3013, 1522, 1814,
1813, 2347, 4528, 1743, 2152, 4121, 4532, 1206, 1178, 594,
1433, 1835, 2417, 852, 1048, 825, 2374, 1952, 861, 2377,
611, 1523, 896, 1151, 2504, 861, -133, -133, 861, 5125,
-1889, 978, 1836, 1036, 1384, 5463, -2370, 1615, 1615, 1615,
2418, 936, 4371, -2243, 849, 937, 1837, 2384, 2393, 4418,
-2429, 5398, -2408, -2431, 3369, 3496, 4766, 2797, 1181, 5345,
763, 183, 5212, -2429, 1972, -2463, 4471, -2271, 2050, 731,
732, -2272, 1434, 1152, 4374, 1157, 4177, 1161, 2437, 2210,
2144, 1823, 2364, 1165, 4419, 2367, 2368, 1827, 4563, 2852,
731, 732, 731, 732, 2145, 811, 3639, -1894, 4393, 1143,
1841, 5335, -2299, 2399, -2373, 5300, 2412, 2248, -2630, 894,
1196, 4519, 1813, 4521, 2645, 1835, 1859, 2106, -1884, 1181,
1719, 3848, 1813, 2019, 5030, 2061, 1726, -2242, 1724, 1727,
1311, 1311, 1048, 811, 775, 2856, 1836, 654, 775, 3544,
1048, 1048, 3828, 3829, 838, 1870, 1493, 1494, -2134, 1387,
1839, 1894, 811, 2268, 1048, 2628, 811, 1493, 1494, 1813,
1712, 1146, 1311, 5306, 839, 1438, 936, 4720, 2326, 4756,
937, 2833, 3910, 1037, 811, -2153, 5310, 1423, 2445, 1178,
178, 5261, 2071, 183, 173, 5402, 811, 3620, 3771, 3626,
5283, 3627, 174, 4904, 176, 1406, 2655, 3493, 3494, 3495,
3496, 2602, 811, 3014, 3889, 2539, 2268, 2667, 5255, 3032,
2047, 2048, 2049, 2050, 4157, 3775, 3089, 2973, 2486, 4199,
811, 4237, 4375, 2268, 1333, 849, 849, 2045, 2046, 2047,
2048, 2049, 2050, 2334, 2104, 2295, 840, 1743, 1168, 2104,
4330, 3579, 2675, 4585, 3579, 1952, 867, 4903, 2296, 5442,
2297, 3865, 5405, 5406, 2133, 903, 775, 775, 2893, 2930,
4333, 2905, 2311, 1897, 4990, 1098, 2458, 4334, 1717, 924,
3183, 5269, 3669, 1862, 2937, 1407, 1354, 5388, 659, 1311,
1311, 3090, 168, 3218, 3589, 5239, 1424, 4398, 594, 2986,
1320, 4376, 833, 65, 1328, 4743, 2735, 3600, 659, 861,
5460, 3246, 2120, 896, 4873, 861, 4841, 5254, 861, 4963,
3982, 2298, 4399, 1038, 5344, 3579, 1416, 4964, -1856, 2264,
841, 4250, 605, 849, 2392, 833, 4147, 1408, 2816, 1372,
74, 76, 3587, 3621, 77, 5336, 4948, 5424, 78, 79,
912, 2121, 3478, 3479, 1504, 811, 101, 3498, 119, 1039,
124, 148, 849, 849, 4265, 5465, 5038, 152, 3004, 171,
772, 1568, 4848, 2500, 4172, 607, 2676, 5092, 177, 913,
2584, 2585, 3822, 3823, 811, 811, 811, 2540, 849, 4436,
594, 594, 594, 2379, 3528, 3529, 784, 3821, 3491, 3492,
3493, 3494, 3495, 3496, 5407, 4291, -1856, 4761, 5411, 2197,
2736, 1374, 2945, 5025, 655, 1156, 1158, 1160, 1040, 3118,
1162, 1163, 1164, 4979, 1041, 1505, 2312, 2198, 4870, 4386,
1169, 4788, 705, 1409, 746, 2722, 4792, 4251, -2240, 4794,
1862, 4785, 2906, 3375, 2197, 3005, 5320, 4782, 2581, 1581,
1425, 4871, 15, 2495, 2313, 4475, 5270, 4476, 2123, 2555,
849, 5441, 849, 849, 1586, 4863, -671, 3878, 1334, 1897,
1587, 2931, 656, 2817, 2932, 3918, 1805, 1707, 2818, 2314,
4991, 3946, 2737, 3184, 4173, 2199, 20, 2186, 1426, 4965,
2501, 1582, 1834, 3004, 1846, 1311, 785, 4173, 1615, 3119,
5105, 5093, 1743, 2200, 5464, 3247, 1846, 2444, 40, 5245,
657, 4360, 658, 2794, 2309, 2819, 183, 2124, 5124, 1777,
2199, 1427, 5139, 1707, 5475, 1930, 1930, 5476, 3845, 3340,
811, 3670, 745, 2664, 2665, 4716, 1335, 5127, 2200, 4744,
3211, 3945, 4457, 2738, 44, 5104, 2739, 842, 811, 1200,
1850, 3866, 3120, 2541, 1965, 1099, 3169, 811, 1718, 5185,
1971, 1778, 3170, 4710, 5190, 3947, 1847, 5341, 5342, -1856,
3005, 2677, 4292, 1588, 1311, 5094, 5026, 1514, 1847, 2987,
3579, 5420, 5126, 2605, 1781, 48, 5155, 4722, 1428, 1862,
1413, 2678, 1414, 4477, 3072, 4980, 3372, 2617, 49, 2721,
825, 2724, 2925, 4599, 1311, 1782, 2583, 2731, 4348, 3121,
2623, 4569, 3742, 2745, 2746, 2747, 2215, 3008, 3942, 2017,
982, 50, 3695, 2763, 2765, 5045, 2216, 1848, 2775, 3879,
1849, 3126, 1311, 1311, 1311, 2907, 1311, 5394, 1806, 1848,
2496, 5321, 1849, 936, 2201, 3197, 3073, 937, 2579, 5117,
2740, 1587, 2820, 659, 3850, 1583, 1311, 3373, 5421, 4173,
32, 1881, 1702, 2622, 2466, 3171, 894, 2630, 1914, 2603,
1916, 2637, 1918, 2102, 1920, 5028, 1922, 1923, 1924, 2201,
831, 5118, 1005, 1926, 2616, 2898, 1515, 2618, 1005, 4986,
40, 3018, 1807, 5361, 811, 5007, 2111, 2112, 4361, 2116,
3853, 1005, 1387, 1882, 2654, 3126, 2467, 3122, 2659, 4562,
4915, 5444, 2663, 3948, 1140, 2666, 839, 839, 5322, 839,
1150, 3743, 5156, 5128, 1311, 1779, 44, 1589, 1311, 1311,
750, 3696, 2751, 2897, 1850, 3686, 3661, 3074, 5422, 811,
811, 2150, 3008, 1311, 832, 5323, 1850, 2658, 756, 1862,
2661, 2662, 5157, 4349, 1588, 3855, 2202, 2206, 1584, -1856,
2741, 4916, 1783, 2120, 1850, 1590, 775, 48, -1856, 4917,
1823, -1856, 1401, 2022, -1856, 1406, 2023, 2217, 3662, 1559,
49, 5048, 3949, 3019, 5395, 4455, 5052, 5053, 2205, 1808,
2899, 2202, 1207, 3772, 3079, 3579, 4431, 4918, 1591, 3579,
2191, 2255, 2121, 50, 2510, 2029, 775, 3687, 1177, 849,
1366, 2192, -2631, 3848, 833, 2218, 2206, 51, 3102, 3172,
1560, 811, 2282, 3318, 3137, 4213, 5181, 3123, 1780, 2193,
1561, 811, 5362, 757, 849, 3124, 2117, 2031, 3125, 3179,
1516, 1809, 4671, 2369, 1851, 1913, 4947, 3858, 1915, 936,
1917, 4919, 1919, 937, 1921, 1407, 1851, 3173, 1925, 1372,
896, 2122, 811, 1852, 4920, 3773, 775, 1883, 3698, 2243,
2468, 2686, 3180, 1481, 928, 3744, 4921, 3155, 1517, 3382,
5423, 1615, 2511, 775, 4847, 811, 2759, 2395, 811, 3859,
3174, 1178, 5187, 5188, 2777, 4235, 4224, 4137, 4711, 4214,
3178, 4934, 3075, 4958, 3530, 3860, 4352, 1408, 758, 2123,
1367, 1518, 1392, 3745, 1349, 3533, 624, 3534, 2065, 5198,
4782, 617, 3138, 4024, 811, 4025, 4877, 3697, 3698, 4006,
3141, 1374, 2118, 3144, 1810, 849, 849, 849, 849, 811,
3535, 4387, 3663, 4392, 3111, 3112, 3746, -2631, 3115, 4173,
1393, 834, -2631, 811, 1862, 3030, 3699, 2350, 2207, 4138,
783, 1403, 2353, 4180, 1311, 1311, 1311, 4236, 2124, 4346,
1884, 929, 1375, 2469, 2194, 3257, 626, 2370, 2649, 1556,
2371, 1562, 2379, 1394, 2433, -569, 2066, 4322, 3685, -2631,
5199, 4325, 4326, 759, 4328, 1416, 3027, 2434, 3289, 1404,
1416, 3861, 3845, 1409, 1397, 624, 1048, 1519, 2885, 3212,
3213, 3214, 928, 2942, 930, 1563, 4581, 1557, 35, 1564,
807, 3301, 3302, 3303, 3304, 2435, 4263, 40, -1081, 894,
894, 2421, 1405, 3309, 2604, 2427, 2038, 4347, 1398, 4015,
2577, 3136, 1399, 3969, 4181, 3664, 725, 2349, 3536, 2614,
1558, 4026, 1565, 3537, 5259, 818, 4922, 1410, 3337, 4923,
3218, 4027, 2450, 44, 811, 626, 3816, 827, 4041, 1416,
726, 931, 4112, 1416, 3159, 1400, 849, 849, 4134, 4020,
4021, 4022, 4023, 828, 4582, 4028, 4029, 4030, 4031, 4032,
4033, 4034, 4035, 4036, 4037, 1411, 849, 5111, 2507, 35,
5138, 4182, 40, 4183, 48, 4113, 3288, 3203, 2289, 929,
2290, 3293, 4900, 2955, 4439, 811, 4440, 49, 2650, 3050,
4534, 3052, 2544, 2023, 3776, 1330, -2631, 4686, 1412, 5108,
4115, 849, 849, 849, 849, 624, 5131, 637, 44, 638,
50, 4077, 4078, -2262, 811, 760, 5122, -156, 5409, 3298,
2651, 811, 930, 2450, 51, 894, 1532, 3645, 1481, 5384,
1413, 1029, 1414, 2652, 643, 594, 1522, 3181, 594, -1087,
1551, 2291, 852, 4687, 4180, 3728, -156, 1311, 3116, 48,
3051, 843, 3053, 4978, 2031, 5149, 761, 762, 3729, 1523,
4755, 4173, 49, 3538, 1533, 626, 1030, 5077, 2653, 4937,
3182, 2669, 5078, 3539, 3845, 3359, 2959, 3579, 1552, 931,
40, 1415, 861, 861, 3579, 50, 3410, 844, 5086, 3579,
624, 3330, 3579, 896, 896, -2631, 637, 861, 638, 51,
861, 1031, 2045, 2046, 2047, 2048, 2049, 2050, 5041, 640,
2369, 4117, 1862, 4665, 3579, 4938, 44, 849, 849, 5467,
642, 3945, 5079, 1759, 849, 4181, 811, 3579, 5252, 1522,
853, 3514, 3642, 1787, 855, 5259, 4684, 3521, 183, 2680,
2505, 4173, 2431, 875, 2869, 4159, 4666, 5074, 1032, 5076,
626, 1930, 1523, 5080, 5081, 1326, 1788, 48, 849, 2602,
861, 2870, 918, 861, 861, 2301, 811, 811, 2692, 849,
4823, 4974, 4825, 4695, 5253, 4715, 811, 2069, 5241, 876,
2432, 3770, 4182, 811, 4183, 1535, 1553, 927, 877, 987,
745, 745, 183, 984, 2697, 878, 879, 880, 1311, 2302,
1311, 985, 5116, 986, 1536, 1311, 1311, 51, 1889, 3922,
4588, 4589, 1311, 1311, 1311, 1835, 2442, 2443, 1311, 896,
1311, 1311, 1311, 1311, 1311, 1311, 637, 1311, 638, 1311,
1311, 1890, 1002, 1311, 1003, 4293, 1836, -440, 1146, 4178,
3432, 3433, 4173, 1903, 2370, 935, 1904, 2371, 1311, 1311,
1311, 1311, 3480, 1759, 1537, 849, 1311, 1048, 4294, 2691,
1311, 3981, 894, 1311, 3508, 4675, 1311, 1311, 1311, 1311,
1311, 1311, 1311, 1311, 1311, 2988, 1311, 2718, 2993, 2994,
2283, 2992, 811, 1311, 2089, 1311, 3739, 5148, 4601, 3579,
2284, 2341, 811, 3583, 4605, 4310, 3531, 2639, 3409, 2640,
989, 2641, 3982, 2642, 5337, 2643, 5347, 3353, 2358, 2644,
1029, 637, 1048, 638, 5348, 29, 4311, 4160, 5332, 2980,
4342, 811, 5082, 4161, 3740, 991, 1372, 4882, 1311, 1525,
4162, 1373, 811, 811, 3557, 1835, 4870, 3453, 1759, 5115,
1538, 3625, 2104, 1311, 4870, 1030, 994, 1594, 3579, 734,
1598, 5192, 1311, 1311, -440, 734, 1836, 3741, 4656, 4871,
4657, 4658, 3395, 3585, 4659, 4163, 811, 4871, 997, 40,
1837, 4883, 3898, 2911, 1011, 2916, -1685, 1897, 225, 2909,
3891, -1685, 3908, 3675, 609, 5401, 3026, 4164, 1539, 1024,
1835, 1540, 703, 2949, 2283, 2952, 4884, 1960, 1374, 3118,
1961, 5397, 2378, 1577, 2292, 44, -568, 852, 40, 3703,
781, 1836, 2097, 4885, 4223, 2098, 745, 4886, 745, 3275,
3542, 3, 4, 2946, 3850, 1839, 4394, 1032, 2318, 1006,
3851, 1007, 3012, 719, 1542, 1311, 2865, 4887, 2319, 1375,
4888, 1578, 3852, 719, 44, 1579, 48, 594, -1685, 849,
849, 3593, 5180, 1033, 861, 4889, 896, 861, 861, 49,
849, 1035, 849, -1646, 3117, 1823, 849, 1401, 5434, 811,
3853, 3454, 3854, 1535, 1580, -1646, 3455, 1034, 1544, 3119,
-1646, 3598, 50, 5466, 1050, 48, 719, 3, 4, -1685,
3579, 775, 1536, 1054, 3849, 4838, 51, 1097, 49, 3307,
1545, 2282, 4208, 5305, 4111, 3507, 1513, 3509, 3510, 3037,
811, 1530, 1106, 4200, 2759, 2759, 1113, 3049, 1615, 2759,
1547, 50, 2424, 4421, 1615, 3855, 811, -1646, 1107, 1181,
1181, 3994, 3120, 1181, 1124, 5349, 3630, 4890, 3200, 3631,
3632, 1823, 1537, 2177, 1048, 1131, 811, -1646, 705, 1141,
3579, 3093, 3093, 3856, 719, 4156, 2759, 2759, 2894, 2895,
1823, 3678, 2177, 3374, 3376, 3377, 811, 811, 15, 4238,
811, 3894, 852, 775, 2103, 1172, 4112, 2104, -1646, 3579,
4215, 1180, 4222, 3276, 3957, 3958, 1176, 4891, -1646, 3121,
-1646, 3634, 2572, 1183, 2573, -1646, 849, -1646, 2804, 849,
2805, 2108, 20, 2634, 2098, 4218, 2104, 1186, 2486, 4113,
3867, 1976, 3857, 51, 3837, 5386, 4555, 3858, 1188, 2646,
811, 811, 2647, 2806, 4114, -1707, -1707, 5318, 1538, 936,
1823, -2243, 2177, 937, 4115, 3186, 3734, 3189, 3191, 3558,
1190, 3559, -1646, 883, 884, 885, 1189, 886, 887, 888,
889, 890, 891, 2648, 3155, 2683, 2647, 1193, 2684, 3859,
4116, 2868, -1646, 1048, 1897, 1197, 1311, 1311, 1311, 5449,
2917, 5450, 1311, 2104, 2311, 3860, 1539, 3024, 849, 1540,
3025, 4789, 40, 2311, 3579, 3096, 849, 3122, 3097, 849,
2378, 1181, 4878, 1198, 2509, 849, 5141, 3755, 3252, 1201,
5431, 3253, 2526, -1646, 1311, 1200, 849, 3360, 4175, 4176,
2104, 4928, -1646, 3652, 2424, 3560, 3764, 3561, 44, 1199,
2282, 3401, 1542, 3093, 2647, 811, 2807, 5382, 811, 1203,
3277, 2808, 3291, 1202, -1646, 745, 2809, 3452, -1711, -1711,
2104, -1645, 5031, 3461, 1208, 4117, 2104, 849, 1311, 3443,
1329, 5036, 3446, -1645, 4405, 3447, 3845, 3467, -1645, 48,
2104, 1214, 5280, 5281, 3481, 3186, 1544, 3340, 3482, 3483,
3484, 3861, 49, 1210, 831, 849, 32, 3323, 3468, 3278,
1336, 2104, 3319, 2376, 3294, 1332, -1686, 5299, 1545, 2606,
1337, -1686, 2401, 2311, 3439, 50, 936, 1342, 3469, 1358,
937, 2104, 4412, 1338, 1311, -1645, 40, 3123, 1547, 51,
2781, 3500, 1350, 2784, 2104, 3124, 2424, 3884, 3125, 3513,
3518, 3579, 2104, 3519, 3721, -1645, 3726, 3722, 2312, 3727,
1355, 849, 4790, 849, 3093, 849, 3093, 2312, 832, 1356,
5448, 3750, 44, 894, 3751, 3931, -1710, -1710, 3932, -1646,
2311, 2602, 3933, 1358, 2722, 3934, 2313, 3955, -1686, 4047,
2104, 4058, 4048, 1359, 4059, 2313, -1645, 3877, 1370, 3880,
4000, 1930, 4053, 1385, 4069, -1645, 2810, 2104, 1386, 4145,
4970, 2314, 4146, 48, 1389, 2022, 2811, 706, 2023, 1395,
2314, 3985, 5367, 5368, 4150, 3579, 49, 4151, 1401, -1686,
4155, 3579, 2430, 2932, 1461, 5481, 4179, 3594, 833, 2647,
4395, 1436, 4452, 2647, 1466, 1952, 2309, 2029, 4472, 50,
4501, 2104, 594, 2684, -2631, 2309, 1467, 4513, 861, 1214,
2104, 861, 3481, 707, 861, 1609, 3482, 3483, 3484, 4223,
3485, 4758, 3919, 849, 3920, 825, 1048, 2312, 1048, 2031,
-2273, 1311, 4565, 2722, 1464, 2932, 1311, 4571, 4577, 3015,
4572, 2647, 3486, 2311, 4578, 4717, 4763, 2647, 4718, 4764,
-2535, 4765, 4017, 4772, 2104, 2313, 2684, 1502, 1506, 1311,
1311, 1311, 4843, 4929, 1311, 4844, 2647, 4971, 4111, 825,
4972, 1507, 1311, 1311, 1311, 1311, 3868, 4335, 3870, 4336,
2314, 1358, 3579, -1634, 2312, 1311, 4046, 1369, 1311, 1371,
1311, 4987, -1645, 1508, 2684, 4994, 3541, 1519, 4995, 4597,
4715, 1311, 1311, 1521, 3487, 1311, 3993, 5004, 5010, 1048,
1897, 3905, 2313, 5012, 1531, 2309, 3905, 896, 4533, 1311,
4536, 1311, 1569, 1311, 5023, 834, 1534, 5024, 1570, 3978,
4216, 4089, 2311, 5067, 1585, 4127, 5068, 2314, 1596, -2631,
4112, -2535, 5107, 1311, -2631, 2068, 5140, 811, 5150, 5024,
5151, 2684, 3091, 3519, 3580, 5152, 1595, 1599, 2104, 3939,
5163, 2918, 3079, 5164, 4234, 1535, 4196, 3563, 3564, 3565,
811, 5169, 2309, 4113, 1897, 825, 1604, 5172, 1311, 2934,
3905, -2631, 1605, 1708, 1536, 2938, 3102, 5191, 4114, 2941,
2647, -2535, 1214, 1311, 1711, 3481, 1710, 2312, 4115, 3482,
3483, 3484, 1713, -2535, 1716, 3155, 2311, 3580, -2535, 5197,
3486, 3614, 2684, -2535, 3617, 2965, 2916, 1720, 5203, -2535,
3577, 2684, -2535, 1721, 4116, 2313, -2535, 5204, 2038, 5207,
2684, 1729, 2104, 5208, 1537, 5209, 2104, 5237, 5210, 5287,
5238, 3769, 5288, 5291, 5292, 5293, 1897, 2104, 2104, 5295,
2314, 5314, 2104, 5339, 5315, -2535, 5340, 1311, 4262, 3093,
4316, 3020, 4329, 1468, 1930, 5369, 1730, 2311, 3905, 1469,
1733, 5381, 3487, 3577, 5017, -2535, 5408, 1736, -2537, 5024,
1005, 5446, 1470, 1739, 5447, 2309, 2312, 5459, 1741, 5461,
2104, 849, 5462, 849, 849, 849, 3488, 3489, 3490, 2311,
3491, 3492, 3493, 3494, 3495, 3496, 4985, 5479, 1747, 4117,
5288, 1471, 1750, 3070, 2313, 3777, -2535, 1752, -2631, -2535,
1538, 2759, 2759, 2759, 2759, -2535, 1743, 2759, 2759, 2759,
2759, 2759, 2759, 2759, 2759, 2759, 2759, 4319, 3098, 2314,
1761, 5487, 1766, 4496, 5462, 3108, 1762, 1767, -176, 1769,
1770, 3113, 1772, 1774, 4050, 1775, 1790, 1804, 1005, 1811,
2312, 1472, 3128, 1797, 3594, 1473, 205, 3132, 1539, -2537,
1816, 1540, 1474, 1817, 2309, 1475, 3810, 1818, 1819, 1823,
-2535, 1826, 2378, 2759, 2759, 1827, 1829, 3145, 2313, 1843,
1845, 1857, 3147, -2631, 1858, 1861, 3150, 1862, 1869, 1873,
1476, 1875, 1876, 1878, 2311, 1880, 1886, 811, 4201, 3167,
1888, 29, 1885, 2314, 1542, 1893, 1900, -2631, 1896, -2537,
1899, 2312, 3192, 1902, 2045, 2046, 2047, 2048, 2049, 2050,
1957, -2537, 1005, 1964, 1477, 750, -2537, 1927, 1966, 1967,
1973, -2537, 1974, -1860, -1867, 1981, 1982, -2537, 2309, 2313,
-2537, 1983, -1857, 2312, -2537, 3487, -1858, 1984, 1544, 1985,
51, 1987, -2535, 1988, 3488, 3489, 3490, 1989, 3491, 3492,
3493, 3494, 3495, 3496, 2314, 1990, 1991, -1861, 1992, 1994,
1545, 2313, 1995, -2537, 1996, 4449, -2535, -1859, -2535, -2535,
1997, 1998, 1999, 1478, 2000, 1479, 2001, 2003, 2004, 2005,
1547, 2006, 2007, -2537, 40, 1480, 2314, 2008, 2009, 2309,
2056, 2010, 2054, 4239, 1481, 1311, 2058, 4691, 2072, 2059,
2068, 1311, 2084, 2092, -2535, 2107, 1482, -2535, -2535, -2535,
849, 2109, 1373, 1375, 2140, 3093, 3093, 1707, 2151, 2142,
44, 2309, 2153, 2154, -2537, 5162, 2155, -2537, 2156, 2172,
4367, 4368, 2173, -2537, 2174, 2175, 2177, 2722, 2312, 2178,
2179, 2180, 2181, 2182, 1483, 2183, 2022, 1484, 1485, 2023,
811, 811, 811, 2208, 2189, 2214, 2220, 2245, 2252, 2249,
2251, 48, 2253, 2254, 2256, 179, 2313, 811, 2257, 2273,
2275, 2274, 2286, 2287, 49, 2288, 2303, 1486, 2029, 2305,
3929, 2299, 2308, 2306, 2307, -2631, 179, 2309, -2537, 1930,
811, 2314, 2316, 2317, 2322, 2320, 2321, 50, 2327, 1930,
811, 811, 2331, 4482, 2328, 811, 2337, 2342, 3093, 2338,
2031, 51, -1405, 2339, -1405, 2343, 824, 811, 4405, 2348,
2344, 3925, 2345, 2351, 2354, 2365, 2309, 3488, 3489, 3490,
2372, 3491, 3492, 3493, 3494, 3495, 3496, 2375, 2355, 1481,
2356, 2387, 2360, 750, 1487, 2361, 2390, 2396, 3953, 2397,
2394, 2413, 2414, 2373, 2380, 3415, 2381, 2419, 2441, 1439,
4553, 2385, 2386, 2389, 2391, 2402, 1181, 2403, 2415, 2420,
-2537, 2425, 2759, 3429, 4444, 4445, 4446, 4447, 4448, 2429,
2448, 3415, 849, 2452, 2454, 2455, 2457, 2461, 4083, 2456,
2462, 2463, 2464, 1440, -2537, 2465, -2537, -2537, 2471, 2472,
2473, 2474, 4604, 811, 2475, 2481, 2022, 2479, 2482, 2023,
2487, 2490, 2491, 2024, 2025, 2026, 811, 619, 2494, 811,
-2631, 2499, 2508, 1553, 2519, -2631, 2505, 2480, 2523, 2527,
2027, 2532, -2537, 2543, 2524, -2537, -2537, -2537, 2029, 2546,
2549, 1311, 2550, 4663, 2559, 2030, 2569, 2571, 837, 2575,
1311, 2563, 1442, 2566, 2580, 2586, 1311, 2588, 1311, 2589,
2593, 1311, -2631, 2607, 2596, 2597, 1311, 1311, 1311, 1311,
2031, 2594, 1311, 1311, 1311, 1311, 1311, 1311, 1311, 1311,
1311, 1311, 2598, 2600, 2599, 1311, 1311, 1443, 2609, 2610,
2611, 2612, 2625, 2626, 2660, 1311, 2668, 4736, 825, 1311,
2681, 2694, 4551, 1311, 2732, 2727, 2776, 2023, 2782, 2038,
2786, 1311, 2795, 2815, 1311, 2801, 1311, 825, 3594, 2813,
2835, 2836, 2850, 1444, 2855, 1311, 2858, 2859, 1311, 1311,
2860, 2861, 832, 1311, 1311, 2887, 2910, 2874, 4087, 2886,
1311, 2888, 3594, 2889, 2903, 2921, 2922, 811, 811, 811,
594, 2924, 2950, 3580, 4109, 2953, 4595, 1445, 4109, 4123,
4109, 4091, 4092, 4093, 4094, 1311, 2955, 2957, 2958, 2974,
4487, 2964, 2969, 2979, 2981, 2985, 2989, 3000, 2975, 2999,
2032, 2977, 3016, 987, 3003, 2033, 183, 984, 3017, 1447,
1311, 1326, 1330, 3022, 3033, 985, 3040, 986, 3041, -2631,
5425, 5426, 3054, 3059, 2916, 3086, 1311, 2034, 2035, 3060,
3088, 3085, 3095, 3107, 3103, 3127, 3577, 3131, 3187, 3577,
3206, 4524, 2036, 3207, 4174, 1930, 1930, 3199, 2450, 3210,
35, 833, 2266, 4635, 1449, 3219, 3225, 3230, 3231, 3232,
4700, 3238, 3243, 1450, 4676, 849, 849, 849, 849, 3266,
3281, 1451, 3254, 3267, 3283, 2037, 3285, 3296, 3305, 2267,
3299, 3650, 3314, 3316, 5037, 3287, 3317, 3313, 3321, 2038,
3308, 1453, 2039, 3315, 2282, 3324, 3326, 1535, 3328, 3329,
1454, 3332, 3333, 3351, 1455, 3352, 3354, 3355, 3356, 3358,
3577, 4642, 4643, 4228, 4645, 3363, 1536, 3361, -2631, 3364,
3365, 3366, 2379, 3379, 1850, 2045, 2046, 2047, 2048, 2049,
2050, 3367, 3371, 3380, 3391, 3393, 3394, 3400, 3398, 3403,
3594, 3404, 3405, 3406, 3407, 1897, 1894, 3408, 1859, 3416,
4693, 2695, 3419, 5071, 3418, 3420, 3427, 1456, 3430, 1178,
3435, 3437, 3444, 3442, 3449, 3441, 1537, 4217, 3445, 3466,
3463, 3477, 4273, -2126, 2211, 3532, 3515, 3464, -2552, 2040,
3465, 2104, 2022, 3549, 3470, 2023, 3471, 3473, 3476, -2631,
-2631, -2631, 3730, 3499, 5061, 4881, 5063, 3505, 3512, 2022,
3527, 3526, 2023, 3540, 3550, 3554, 3590, 3552, 4313, 3581,
3596, 3553, -1713, 3601, 2029, 3556, 3591, 3604, 3608, 3602,
3606, 2030, 3615, 3628, 3622, 3644, 3640, 3633, 3636, 4218,
3647, 2029, 3635, 3649, 3656, 3671, 3682, 3672, -2631, 3684,
849, 3689, 3688, 3690, 3691, 3641, 2031, 3707, 3706, 3694,
3709, 3715, 1538, 811, 3716, 849, 3717, 1311, 3725, 3735,
3754, 3752, 3756, 2031, 811, 1952, 3760, 3759, 1214, -2552,
4358, 3481, 3765, 3763, 3767, 3482, 3483, 3484, 2041, 3768,
2282, 2042, 2043, 2044, 3783, 2045, 2046, 2047, 2048, 2049,
2050, 3781, 4066, 3782, 3784, 811, 179, 3796, 3472, 3580,
1539, 3785, 3786, 1540, 3787, 3788, 3789, 3790, 3791, 3186,
3793, 3800, 3792, 3811, 2378, 3794, 4219, 3795, 4406, -2552,
3802, 3797, 3804, 3806, 3807, 5220, 5222, 2411, 811, 4926,
4076, -2552, 2450, 3813, 3817, 4416, -2552, 3820, 3809, 1311,
1311, -2552, 5214, 3814, 3815, 894, 1542, -2552, 3824, 3825,
-2552, 3827, 3833, 3835, -2552, 3875, 2032, 3885, 3882, 3876,
4830, 2033, 3886, 3888, 3890, 3577, 3893, 3093, 3905, 3093,
3907, 3923, 3904, -2631, 3914, 3924, 811, 3928, -2631, 3917,
3927, 3943, 3952, -2552, 3972, 4849, 3959, 3930, 3973, 3974,
1544, 179, 824, 3963, 3975, 3960, 3965, 3976, 2036, 4993,
3986, 3977, 3984, -2552, 3997, 3998, 3987, 3961, 3988, 3999,
4854, 1311, 1545, 2759, 3979, -2631, 4009, 4001, 4002, 4003,
1214, 1976, 1311, 3481, 4004, 4005, 3502, -2631, -2631, -2631,
3481, -2125, 1547, 3501, 4220, 4060, 4071, 4221, 4084, 4989,
4043, 4018, 4129, 4044, -2552, 2038, 4072, -2552, 4125, 4045,
4101, 4139, 1311, -2552, 4052, 1311, 4075, 4142, 4148, 4736,
4144, 4166, 2038, 1311, 1311, 4090, 5316, 4102, 4110, 3486,
1311, 1311, 4131, 4133, 4135, 1311, 4158, 4187, 2016, 4202,
1311, 4189, 4195, 1311, 1311, 4190, 4204, 5073, 1311, 4512,
4203, 4205, 4207, 4209, 1311, 811, 811, 811, 811, 4212,
4226, 2424, 4109, 4123, 4109, 4211, 1311, 4109, -2552, 4229,
4526, 837, 4241, 179, 3580, 4242, 4243, 4254, 3580, 3980,
4255, 4257, 4244, 4256, 4541, 4258, 4268, 4259, 4270, 4271,
4281, 3487, 4282, 4287, 4305, 2040, 4290, 4307, 2309, 896,
4309, 4217, 5056, 5057, 3996, 4312, 1311, 4567, 4320, 4321,
3614, 4323, -2631, 4324, 4327, 2916, 4554, 4556, 4364, 4339,
4350, 4370, 4378, 750, 4384, 4385, 2647, 4388, 4390, 4391,
745, 4397, 4407, 1311, 4413, 4414, 4424, 4437, 4429, 4432,
3577, 4430, 4433, 1468, 3577, 4434, 4435, 5214, 4438, 1469,
-2552, 4450, 4442, 3093, 3093, 4454, 4462, 4456, 4474, 4469,
4478, 5227, 4479, 4881, 4485, 4488, 4489, 5003, 4490, 4494,
-2127, 2282, 4509, 4522, -2552, 4529, -2552, -2552, 5003, 4537,
4525, 4527, 4530, 4538, 4600, 4608, 4543, 4542, 4544, 4545,
4550, 1471, 4552, 4607, 2041, 4564, 4561, -2631, -2631, -2631,
4566, 2045, 2046, 2047, 2048, 2049, 2050, 4568, 4574, 4579,
4573, -2631, -2552, 4583, 4602, -2552, -2552, -2552, 2045, 2046,
2047, 2048, 2049, 2050, 4603, 4606, 4612, 5154, 4613, 2022,
4614, 4632, 2023, 4625, 1311, 4634, 2024, 2025, 2026, 4628,
4646, 4637, 4654, 3487, 5171, 1473, 4638, 4655, 5173, 4660,
5175, 4664, 1474, 2027, 4667, 1475, 849, 5065, 2759, 4673,
5286, 2029, 4668, 4674, 4682, 4683, 4677, 4692, 2030, 4688,
4689, 849, 4690, 4696, 4698, 4706, 4709, 4719, 4714, 4721,
1476, 4725, 2759, 3488, 3489, 3490, 4726, 3491, 3492, 3493,
3494, 3495, 3496, 2031, 4728, 5060, 4730, 4732, 4733, 4741,
4746, 4734, 4752, 1311, 4753, 4759, 4768, 1048, 5189, 4769,
4793, 4777, 4760, 4762, 1477, 4812, 4821, 4770, 4771, 594,
4818, 4824, 4835, 4840, 4783, 2282, 4786, 4845, 4846, 4797,
4851, 4815, 1214, 4837, 1930, 3481, 4839, 4857, 4197, 3482,
3483, 3484, 4876, 894, 4858, 4862, 4867, 4868, 4869, 1311,
4896, 4349, 2022, 4907, 4905, 2023, 4067, 4914, 4908, 4911,
4932, 4913, 849, 4933, 3323, 4940, 4942, 4945, 4950, 4712,
4975, 4973, 4977, 1478, 4952, 1479, 4976, 4996, 4992, 5186,
5002, 5017, 3594, 5021, 2029, 1480, 5040, 5170, 5006, 5009,
5042, -2631, 5013, 894, 1481, 5015, 179, 5032, 811, 5049,
5043, 596, 5087, 2032, 5055, 5089, 1482, 4853, 2033, 5095,
5102, 5099, 4855, 5114, 5100, 5109, 2031, 5120, 5121, 5129,
5133, 5134, 5135, 5136, 5137, 5144, 5145, 5146, 5161, 5174,
2034, 2035, 5147, 5178, 5182, -2631, -2631, -2631, 1311, 3491,
3492, 3493, 3494, 3495, 3496, 2036, 5183, 1484, 1485, 5153,
4895, 5177, 5196, 4295, 5219, 5225, 4298, 5200, 5226, 5231,
5233, 1977, 5236, 5240, 5243, 5244, 5264, 1311, 1311, 5265,
5267, 1311, 5272, 5266, 5273, 5301, 5282, 1486, 2037, 5309,
5284, 1986, 4085, 4079, 5303, 5311, 594, 5317, 5319, 4109,
5229, 5230, 2038, 3580, 5440, 2039, 1048, 2759, 3580, 5327,
5360, 3580, 594, 5326, 3186, 5328, 4799, 5346, 1311, 1311,
5365, 5372, 2002, 5393, 5417, 5418, 5379, 5385, 5390, 5399,
5419, 5427, 5429, 4174, 5433, 1311, -2631, 2014, 5451, 5452,
5455, -2631, 5454, 3486, 5456, 5469, 4174, 896, 849, 849,
849, 5470, 5477, 5480, 1487, 5478, 5482, 5483, 1360, 2426,
3290, 1567, 3577, 3588, 2091, 4380, 3160, 5440, 3700, 3577,
1566, 1465, 4232, 4225, 3577, 5312, 3084, 3577, -2631, 3198,
3245, 3832, 4893, 5213, 2424, 5440, 5391, 4366, 4951, 4672,
4925, 3638, 2040, 3402, 596, 5304, 861, 896, 4828, 3577,
5387, 5234, 5232, 596, 869, 3487, 5325, 5404, 3643, 4417,
4396, 596, 3577, 869, 596, 5194, 3719, 4359, 4230, 4931,
3264, 3265, 3892, 837, 837, 2038, 837, 869, 1555, 4383,
3255, 4694, 3900, 4936, 5392, 5432, 5484, 5474, 4909, 861,
3838, 4425, 811, 5330, 4856, 5051, 5060, 2498, 5202, 4859,
752, 4451, 1949, 2021, 4358, 5027, 5445, 811, 2022, 3415,
3629, 2023, 811, 2568, 3093, 2024, 2025, 2026, 2927, 4426,
4968, 2282, 5142, 2759, 4930, 2576, 2613, 1125, 2565, 2688,
4260, 1049, 2027, 2689, 3803, 2028, 4816, 2690, 811, 3896,
2029, 2041, 4406, 593, 2042, 2043, 2044, 2030, 2045, 2046,
2047, 2048, 2049, 2050, 4280, 5351, 849, 811, 4174, 5468,
1339, 3522, 4966, 1361, 2864, -2631, 2873, 2638, 4817, 4557,
5298, 1214, 2031, 4152, 3481, 2064, 3592, 2105, 3482, 3483,
3484, 2902, 3603, 1311, 2188, 2136, 1311, 4132, 1311, 2883,
5294, 825, 2137, 5176, 4548, 4503, 2022, 2901, 2141, 2023,
4105, 1048, 4535, 2024, 2025, 2026, 4520, 1311, 5008, 2146,
4099, 5160, 5159, 1311, 4153, 5471, 5371, 3580, 4100, 5428,
2027, 4799, 5285, 4054, 3577, 4988, 4814, 1311, 2029, 5296,
2840, 5297, 3458, 3547, 3545, 2030, 5020, 2587, 3221, 2849,
0, 0, 0, 5370, 0, 0, 0, 3488, 3489, 3490,
0, 3491, 3492, 3493, 3494, 3495, 3496, 0, 0, 811,
2031, 1930, 894, 0, -2631, 0, 0, 0, 0, 0,
0, 2045, 2046, 2047, 2048, 2049, 2050, 0, 0, 0,
0, 0, 2032, 3577, 0, 0, 1311, 2033, 0, 0,
0, 1311, 1311, 0, 0, 0, 849, 849, 849, 849,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2034,
2035, 0, 0, 0, 0, 2022, 0, 0, 2023, 0,
0, 0, 0, 0, 2036, 0, 847, 1311, 0, 0,
0, 0, 2759, 2759, 594, 860, 0, 0, 0, 0,
0, 0, 0, 860, 0, 0, 860, 2029, 0, 0,
0, 0, 0, 0, -2631, 0, 811, 2037, 0, 3580,
0, 0, 0, 0, 0, 0, 0, 0, 0, 4619,
2032, 2038, 3486, 0, 2039, 2033, 0, 5123, 0, 2031,
0, 4629, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 2034, 2035, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2036, 0, 0, 0, 1311, 0, 0, 594,
0, 0, 1311, 0, 0, 3577, 5168, 0, 0, 0,
0, 0, 0, 1311, 3487, 0, 0, 1311, 0, 1311,
0, 1311, 5308, 0, 0, 2037, 4080, 0, 4174, 0,
0, 0, 0, 5179, 849, 0, 896, 0, 0, 2038,
0, 2040, 2039, 1214, 0, 0, 3481, 1311, 0, 0,
3482, 3483, 3484, 0, 0, 0, 0, 0, 0, 0,
869, 0, 0, 0, 0, 3577, 869, 4504, 0, -2631,
0, 0, 0, 0, -2631, 0, 0, 0, 0, 869,
0, 0, 1930, 1930, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 3577, 869, 0, 5357, 5358, 0,
596, 0, 0, 0, 0, 1096, 0, 0, 0, 596,
869, -2631, 0, 849, 0, 0, 596, 0, 869, 596,
5248, 0, 0, 0, 1311, 0, 0, 0, 0, 2040,
0, 1096, 869, 5260, 0, 0, 0, 0, 0, 0,
2041, 0, 869, 2042, 2043, 2044, 0, 2045, 2046, 2047,
2048, 2049, 2050, 0, 0, 0, 0, 0, 2038, 1311,
1311, 1311, 0, 3415, 0, 3186, 0, 0, 1311, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1311, 0,
0, 5020, 0, 0, 0, 0, 2916, 0, 179, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 3577,
0, 861, 0, 0, 0, 0, 3488, 3489, 3490, 0,
3491, 3492, 3493, 3494, 3495, 3496, 849, 0, 0, 0,
0, 596, 596, 1930, 0, 0, 0, 869, 2041, 0,
0, 2042, 2043, 2044, 0, 2045, 2046, 2047, 2048, 2049,
2050, 0, 179, 0, 3486, 2785, 0, 0, -2631, 2282,
0, 869, 0, 596, 594, 0, 5331, 0, 0, 0,
1311, 0, 0, 0, 869, 0, 0, 0, 0, 0,
4174, 0, 0, 3415, 0, 3415, 861, 861, 1311, 0,
0, 0, 0, 5356, 0, 0, 183, 5353, 1311, 0,
0, 0, 5168, 0, 0, 5354, 0, 5355, 0, 0,
0, 0, 0, 0, 0, 0, 3487, 5485, 5486, 0,
0, 0, 0, 849, 0, 0, 0, 5416, 2802, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 3577, 0, 0, 0,
0, 0, 0, 0, 5260, 849, 849, -2631, 0, 0,
4174, 0, 0, 0, 2045, 2046, 2047, 2048, 2049, 2050,
0, 5356, 0, 0, 183, 5353, 0, 0, 0, 0,
596, 596, 1703, 5354, 0, 5355, 0, 1311, 1311, 596,
0, 0, 847, 0, 0, 0, 1096, 0, 0, 1311,
596, 860, 0, 0, 1311, 0, 596, 0, 860, 596,
0, 860, 0, 0, 0, 0, 0, 0, 0, 0,
3577, 1096, 0, 0, 0, 0, 3577, 0, 0, 0,
0, 0, 0, 1311, 0, 0, 1096, 0, 0, 0,
0, 0, 179, 1311, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 849, 0,
0, 4174, 0, 0, 0, 0, 0, 0, 0, 0,
5168, 0, 5356, 0, 594, 183, 5353, 0, 0, 0,
0, 596, 596, 596, 5354, 0, 5355, 0, 0, 0,
0, 0, 0, 0, 0, 0, 861, 861, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 3488, 3489,
3490, 0, 3491, 3492, 3493, 3494, 3495, 3496, 0, 0,
0, 1096, 0, 0, 0, 0, 0, 3577, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2022, 0, 0, 2023, 0, 0, 0, 2024, 2025,
2026, 0, 0, 0, 0, 0, 0, 0, 869, 0,
0, 0, 0, 0, 0, 2027, 0, 0, 0, -128,
0, 0, 0, 2029, 0, 0, 869, 0, 0, 0,
2030, 0, 0, 0, 0, 0, 596, 1, 0, 0,
0, 0, 0, 0, 869, 0, 0, 2, 0, 3,
4, 0, 0, 0, 0, 2031, 0, 0, 0, 0,
0, 0, 0, 0, 0, 5, 0, 0, 0, 0,
2022, 0, 869, 2023, 6, 0, 0, 2024, 2025, 2026,
0, 1096, 0, 869, 0, 0, 7, 0, 8, 9,
0, 0, 0, 0, 2027, 10, 0, 11, 0, 869,
0, 0, 2029, 869, 0, 0, 0, 0, 12, 2030,
13, 0, 0, 0, 0, 596, 0, 0, 0, 0,
0, 847, 0, 0, 0, 0, 0, 14, 1214, 0,
15, 3481, 860, 0, 2031, 3482, 3483, 3484, 860, 0,
0, 860, 0, 0, 16, 596, 17, 0, 0, 0,
18, 0, 0, 0, 0, 5165, 19, 0, 0, 0,
0, 0, 0, 0, 20, 2032, 21, 0, 0, 0,
2033, 0, 22, 596, 596, 596, 0, 596, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 23, 0,
0, 0, 2034, 2035, 0, 0, 0, 596, 0, 0,
0, 0, 0, 0, 0, 24, 0, 2036, 0, 0,
0, 0, 0, 1800, 1801, 1802, 2022, 0, 0, 2023,
0, 869, 0, 2024, 2025, 2026, 0, 0, 0, 869,
869, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2037, 0, 0, 869, 2032, 25, 26, 0, 2029, 2033,
0, 27, 0, 0, 2038, 2030, 0, 2039, 0, 0,
0, 0, 0, 28, 0, 596, 0, 0, 0, 596,
596, 2034, 2035, 0, 0, 29, 0, 0, 0, 0,
2031, 0, 0, 0, 596, 0, 2036, 0, 0, 0,
1096, 0, 0, 0, 0, 179, 1703, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 30, 2037,
0, 0, 0, 0, 0, 0, 0, 0, 0, 3486,
0, 0, 31, 2038, 0, 0, 2039, 0, 32, 33,
0, 34, 0, 0, 2040, 0, 35, 0, 0, 0,
3415, 36, 0, 0, 37, 0, 1096, 0, 0, 0,
0, 38, 0, 0, 0, 0, 0, 39, 40, 0,
0, 0, 0, 0, 0, 41, 0, 0, 0, 42,
0, 0, 0, 0, 0, 0, 0, 0, 0, 43,
2032, 3487, 0, 0, 0, 2033, 0, 1096, 0, 0,
0, 0, 0, 0, 44, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 2034, 2035, 0,
0, 0, 0, 2040, 45, 0, 0, 0, 0, 0,
1096, 0, 2036, 0, 46, 0, 0, 2698, 0, 0,
47, 0, 0, 2041, 0, 48, 2042, 2043, 2044, 0,
2045, 2046, 2047, 2048, 2049, 2050, 0, 0, 49, 0,
3834, 0, 0, 0, 0, 2037, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2038,
0, 50, 0, 0, 0, 0, 2699, 0, 0, 0,
869, 0, 0, 0, 0, 51, 0, 0, -128, 0,
0, 0, 2014, 0, 0, 596, 596, 596, 0, 0,
0, 0, 2022, 0, 0, 2023, 0, 0, 2700, 2024,
2025, 2026, 2041, 0, 0, 2042, 2043, 2044, 0, 2045,
2046, 2047, 2048, 2049, 2050, 0, 2027, 0, 0, 4011,
0, 2701, 0, 0, 2029, 0, 2014, 0, 0, 0,
0, 2030, 2702, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2802, 0, 0, 0, 0, 0, 2040,
0, 0, 2703, 0, 0, 0, 2031, 2704, 0, 3551,
0, 0, 0, 3488, 3489, 3490, 0, 3491, 3492, 3493,
3494, 3495, 3496, 0, 0, 3570, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1096, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1096, 0, 0, 2705, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1703, 0,
0, 0, 0, 1096, 0, 0, 0, 0, 3570, 2706,
0, 0, 824, 0, 0, 0, 0, 0, 0, 0,
0, 0, 869, 0, 0, 0, 0, 0, 2041, 0,
869, 2042, 2043, 2044, 0, 2045, 2046, 2047, 2048, 2049,
2050, 0, 869, 0, 0, 0, 2032, 0, 0, 0,
0, 2033, 0, 0, 0, 0, 0, 0, 0, 1096,
0, 0, 0, 0, 0, 0, 596, 0, 0, 596,
0, 0, 1096, 2034, 2035, 0, 205, 2707, 596, 0,
2708, 0, 0, 0, 1096, 0, 0, 0, 2036, 0,
0, 0, 0, 0, 2022, 0, 1096, 2023, 0, 0,
0, 2024, 2025, 2026, 0, 0, 2709, 0, 0, 2710,
0, 0, 0, 596, 596, 2711, 869, 869, 2027, 0,
0, 2037, 2712, 0, 0, 0, 2029, 0, 596, 0,
869, 596, 0, 2030, 0, 2038, 0, 0, 2039, 0,
1096, 1096, 0, 869, 869, 0, 0, 0, 0, 0,
0, 2713, 0, 0, 0, 0, 0, 2714, 2031, 869,
2715, 0, 0, 0, 0, 0, 2022, 0, 0, 2023,
0, 0, 0, 2024, 2025, 2026, 0, 0, 0, 2716,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2027, 596, 0, 0, 596, 596, 0, 0, 2029, 0,
0, 0, 0, 0, 2717, 2030, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2040, 0, 0, 0, 596,
2031, 596, 0, 0, 0, 0, 596, 596, 0, 0,
0, 0, 0, 596, 596, 596, 0, 0, 0, 596,
0, 596, 596, 596, 596, 596, 596, 0, 596, 0,
596, 596, 0, 0, 596, 0, 0, 0, 2032, 0,
0, 0, 0, 2033, 0, 0, 0, 0, 1096, 596,
596, 596, 596, 1703, 0, 0, 0, 596, 0, 0,
0, 596, 0, 0, 596, 2034, 2035, 596, 596, 596,
596, 596, 596, 596, 596, 596, 0, 596, 0, 0,
2036, 0, 0, 0, 596, 0, 596, 0, 0, 0,
0, 0, 0, 0, 2041, 0, 0, 2042, 2043, 2044,
0, 2045, 2046, 2047, 2048, 2049, 2050, 0, 0, 0,
2032, 4063, 0, 2037, 0, 2033, 0, 0, 847, 0,
0, 847, 0, 869, 0, 0, 0, 2038, 0, 596,
2039, 0, 0, 0, 0, 0, 0, 2034, 2035, 0,
0, 0, 0, 0, 596, 0, 0, 0, 0, 0,
0, 0, 2036, 596, 596, 0, 0, 0, 0, 0,
0, 2022, 0, 0, 2023, 860, 860, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 869,
860, 0, 0, 860, 0, 2037, 1096, 0, 0, 0,
1096, 1096, 0, 2029, 0, 0, 0, 869, 0, 2038,
-2631, 0, 1703, 869, 179, 0, 0, 869, 0, 0,
0, 0, 0, 0, 0, 869, 0, 2040, 0, 0,
0, 0, 0, 0, 0, 2031, 0, 0, 0, 0,
0, 179, 0, 869, 0, 0, 596, 0, 0, 0,
0, 0, 0, 860, 0, 0, 860, 860, 596, 0,
0, 0, 1096, 0, 0, 596, 0, 0, 596, 596,
0, 0, 0, 0, 0, 0, 1096, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 869,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2040,
0, 0, 4507, 0, 0, 0, 0, 0, 869, 869,
0, 0, 0, 0, 0, 0, 0, 1096, 0, 0,
0, 0, 0, 0, 0, 0, 2041, 0, 0, 2042,
2043, 2044, 0, 2045, 2046, 2047, 2048, 2049, 2050, 0,
1703, 869, 0, 4168, 1703, -2631, 0, 0, 0, 0,
-2631, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 869, 0, 1703, 0,
0, 0, 0, 869, 0, 0, 0, 0, 0, 869,
1439, 0, 0, 0, 0, 0, 869, -2631, 0, 0,
869, 0, 0, 0, 0, 869, 0, 0, 2041, 1439,
0, 2042, 2043, 2044, 0, 2045, 2046, 2047, 2048, 2049,
2050, 0, 0, 0, 1440, 869, 0, 0, 0, 0,
869, 0, 0, 0, 869, 0, 0, 1703, 0, 0,
0, 0, 0, 1440, 2038, 2014, 0, 869, 0, 0,
0, 0, 0, 0, 1441, 0, 0, 0, 0, 0,
869, 4098, 0, 0, 4103, 0, 0, 0, 0, 0,
869, 0, 0, 1509, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1442, 0, 0, 179, 596, 596, 596,
663, 0, 0, 596, 0, 0, 0, 0, 0, 749,
0, 0, 1442, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1443, 0,
0, 0, 0, 0, 0, 596, 1096, 0, 0, 0,
0, 0, 3342, 0, -2631, 1703, 0, 1443, 1842, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
847, 0, 0, 1439, 1444, 0, 0, 860, 1860, 0,
860, 860, 0, 0, 0, 0, 0, 0, 1871, 596,
0, 0, 1874, 1444, 0, 0, 1877, 0, 1879, 0,
0, 0, 0, 0, 1887, 0, 0, 1440, 1445, 0,
1895, 2022, 0, 1898, 2023, 0, 0, 0, 2024, 2025,
2026, 0, 0, 0, 0, 0, 0, 1445, 1096, 0,
0, 1096, 0, 0, 0, 2027, 869, 0, 0, 1446,
1447, 0, 0, 2029, 0, 596, 0, 0, 0, 0,
2030, 0, 0, -2631, 0, 0, 0, 0, 1510, 1447,
2045, 2046, 2047, 2048, 2049, 2050, 1442, 0, 0, 0,
0, 0, 0, 0, 0, 2031, 0, 1448, 0, 0,
0, 35, 0, 0, 0, 1449, 0, 0, 0, 0,
0, 869, 0, 0, 1450, 0, 1511, 0, 0, 0,
35, 1443, 1451, 0, 1449, 0, 0, 0, 0, 0,
1452, 0, 0, 1450, 0, 0, 0, 0, 0, 0,
0, 1451, 1453, 0, 0, 0, 0, 0, 0, 1512,
0, 1454, 3343, 869, 0, 1455, 0, 1444, 0, 0,
0, 1453, 0, 0, 0, 0, 0, 0, 0, 1096,
1454, 869, 0, 0, 1455, 0, 3342, 0, 0, 869,
0, 0, 0, 596, 0, 0, 1096, 0, 0, 596,
0, 1445, 596, 0, 0, 596, 0, 1439, 0, 0,
0, 1096, 0, 0, 0, 2032, 0, 0, 1456, 0,
2033, 0, 596, 0, 0, 0, 0, 596, 0, 0,
0, 0, 0, 1447, 0, 0, 0, 1456, 0, 0,
3570, 1440, 2034, 2035, 0, 0, 0, 0, 0, 0,
596, 596, 596, 0, 0, 596, 0, 2036, 0, 0,
0, 0, 0, 596, 596, 596, 596, 0, 179, 0,
0, 1703, 0, 0, 35, 0, 596, 1703, 3344, 596,
0, 596, 0, 0, 0, 0, 0, 1450, 0, 0,
2037, 0, 596, 596, 0, 1451, 596, 0, 0, 0,
1442, 0, 0, 2267, 2038, 0, 0, 2039, 0, 0,
596, 0, 596, 0, 596, 1453, 0, 0, 0, 0,
0, 0, 0, 0, 1454, 0, 0, 0, 1455, 0,
0, 0, 0, 0, 596, 1443, 0, 0, 0, 0,
0, 0, 0, 0, 0, 596, 0, 3345, 0, 0,
0, 0, 0, 869, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2022, 3343, 0, 2023, 596,
0, 1444, 2024, 2025, 2026, 0, 0, 0, 0, 0,
0, 1456, 0, 0, 596, 3346, 0, 0, 0, 2027,
0, 0, 0, 0, 2040, 0, 0, 2029, 596, 0,
2022, 0, 0, 2023, 2030, 1445, 0, 2024, 2025, 2026,
0, 0, 0, 0, 0, 0, 0, 1096, 0, 0,
1096, 0, 1096, 0, 2027, 0, 0, 1096, 0, 2031,
0, 0, 2029, 0, 0, 0, 0, 1447, 0, 2030,
0, 736, 869, 869, 0, 0, 0, 736, 596, 0,
0, 0, 0, 0, 0, 3570, 0, 0, 0, 3570,
0, 0, 0, 0, 2031, 0, 0, 0, 0, 869,
0, 0, 869, 0, 0, 847, 1096, 0, 35, 0,
0, 860, 1449, 0, 860, 0, 0, 860, 0, 179,
179, 1450, 0, 2041, 0, 1096, 2042, 2043, 2044, 1451,
2045, 2046, 2047, 2048, 2049, 2050, 0, 2267, 0, 0,
4470, 0, 0, 0, 0, 0, 0, 0, 0, 1453,
1096, 0, 0, 0, 0, 0, 0, 0, 1454, 0,
0, 981, 1455, 0, 0, 0, 0, 0, 0, 2032,
0, 0, 0, 0, 2033, 0, 1468, 0, 0, 0,
0, 3345, 1469, 0, 0, 0, 0, 1703, 1703, 1703,
0, 0, 0, 0, 0, 1571, 2034, 2035, 0, 0,
0, 0, 0, 0, 2032, 0, 0, 0, 0, 2033,
869, 2036, 0, 1047, 663, 1456, 0, 0, 0, 3346,
1096, 0, 1096, 0, 1471, 0, 0, 0, 0, 0,
869, 2034, 2035, 0, 0, 0, 0, 0, 0, 1082,
0, 0, 0, 0, 2037, 0, 2036, 0, 0, 869,
0, 0, 0, 0, 0, 0, 0, 593, 2038, 2022,
0, 2039, 2023, 0, 0, 1082, 2024, 2025, 2026, 0,
0, 0, 0, 0, 0, 0, 1572, 0, 1473, 2037,
0, 0, 0, 2027, 0, 1474, 0, 0, 1475, 0,
0, 2029, 0, 2038, 0, 0, 2039, 0, 2030, 0,
0, 0, 0, 0, 0, 0, 0, 1185, 0, 0,
593, 1096, 0, 1476, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2031, 0, 0, 0, 0, 0, 0,
0, 869, 0, 1205, 0, 0, 596, 0, 0, 0,
0, 1314, 596, 0, 1323, 1047, 1325, 1477, 2040, 0,
1096, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 179, 0, 0, 0, 0, 0, 1703, 1096,
0, 0, 0, 2040, 0, 869, 0, 869, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
869, 2608, 869, 0, 0, 0, 1478, 0, 1479, 2615,
0, 0, 0, 0, 0, 0, 0, 0, 1480, 0,
0, 0, 0, 0, 1703, 0, 0, 1481, 0, 2627,
0, 0, 0, 2032, 0, 0, 0, 0, 2033, 1482,
0, 0, 0, 0, 0, 0, 0, 2041, 1096, 0,
2042, 2043, 2044, 0, 2045, 2046, 2047, 2048, 2049, 2050,
2034, 2035, 0, 0, 4508, 0, 0, 0, 869, 1096,
0, 0, 0, 0, 0, 2036, 0, 1573, 0, 0,
1484, 1485, 2041, 1096, 0, 2042, 2043, 2044, 0, 2045,
2046, 2047, 2048, 2049, 2050, 0, 0, 0, 0, 4757,
0, 0, 0, 0, 3570, 0, 0, 0, 2037, 3570,
1574, 0, 3570, 0, 0, 0, 0, 0, 0, 869,
1715, 0, 2038, 0, 0, 2039, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 869, 0, 0,
0, 0, 0, 0, 0, 1732, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 869,
1740, 0, 869, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1487, 0, 0,
0, 0, 596, 0, 0, 1096, 0, 0, 0, 0,
0, 596, 0, 0, 0, 0, 0, 596, 0, 596,
0, 0, 596, 0, 0, 0, 1096, 596, 596, 596,
596, 0, 2040, 596, 596, 596, 596, 596, 596, 596,
596, 596, 596, 0, 0, 0, 596, 596, 0, 0,
0, 1096, 0, 2862, 0, 0, 596, 0, 0, 0,
596, 0, 1703, 0, 596, 0, 0, 0, 0, 0,
0, 0, 596, 0, 0, 596, 0, 596, 0, 0,
0, 0, 0, 0, 0, 1096, 596, 179, 0, 596,
596, 0, 0, 0, 596, 596, 0, 0, 0, 0,
0, 596, 0, 0, 1047, 0, 0, 0, 0, 0,
0, 596, 0, 0, 596, 0, 0, 0, 0, 0,
0, 0, 1047, 0, 0, 179, 596, 0, 0, 0,
0, 2041, 0, 0, 2042, 2043, 2044, 0, 2045, 2046,
2047, 2048, 2049, 2050, 0, 0, 0, 0, 4767, 0,
0, 596, 0, 0, 0, 0, 1954, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2222, 596, 0, 0,
0, 2223, 0, 1096, 0, 1955, 0, 0, 0, 0,
0, 1047, 0, 0, 0, 596, 0, 0, 3570, 736,
1439, 736, 0, 736, 0, 0, 0, 0, 2014, 736,
1166, 1167, 0, 0, 0, 0, 2224, 0, 0, 0,
0, 0, 0, 0, 0, 0, 869, 0, 0, 2225,
0, 0, 0, 0, 1440, 0, 0, 0, 0, 2022,
0, 0, 2023, 0, 2226, 0, 2024, 2025, 2026, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2027, 1526, 0, 0, 2018, 0, 0,
0, 2029, 0, 0, 0, 0, 2020, 1703, 2030, 0,
0, 0, 1703, 1096, 1703, 2227, 0, 0, 0, 0,
2062, 0, 0, 1442, 0, 0, 2228, 0, 0, 0,
0, 0, 0, 2031, 0, 0, 1703, 1096, 0, 1047,
0, 0, 2079, 2080, 0, 0, 2229, 1047, 1047, 0,
0, 2230, 0, 0, 0, 1703, 0, 0, 1443, 0,
0, 1047, 0, 0, 0, 0, 0, 0, 0, 0,
3570, 869, 0, 0, 869, 0, 0, 0, 0, 0,
179, 0, 0, 0, 736, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1444, 0, 0, 0, 0, 0,
0, 0, 0, 0, 874, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 908, 0, 0, 0,
0, 0, 0, 2231, 0, 0, 0, 926, 1445, 0,
0, 0, 0, 593, 0, 0, 593, 0, 596, 0,
0, 0, 0, 2032, 0, 0, 0, 0, 2033, 0,
0, 0, 1468, 0, 0, 0, 179, 2232, 1469, 1527,
1447, 0, 0, 869, 869, 1535, 0, 1096, 0, 0,
2034, 2035, 0, 869, 0, 0, 0, 0, 0, 0,
596, 0, 0, 0, 1536, 2036, 0, 0, 0, 0,
205, 2233, 869, 0, 0, 0, 0, 1528, 0, 0,
1471, 35, 0, 0, 0, 1449, 0, 593, 0, 0,
0, 0, 0, 0, 1450, 1096, 0, 0, 2037, 1096,
596, 596, 1451, 2234, 0, 0, 0, 0, 0, 2235,
1529, 2330, 2038, 0, 1537, 2039, 2236, 0, 0, 2237,
0, 0, 1453, 0, 0, 0, 0, 0, 0, 0,
0, 1454, 0, 0, 1473, 1455, 0, 0, 0, 0,
0, 1474, 0, 0, 1475, 0, 2383, 869, 0, 0,
0, 2238, 2388, 3357, 0, 0, 0, 0, 2239, 0,
3362, 0, 0, 0, 0, 0, 2240, 0, 0, 1476,
0, 0, 596, 2241, 0, 0, 0, 0, 0, 0,
3381, 0, 0, 596, 0, 0, 0, 0, 1456, 0,
3387, 0, 0, 3388, 0, 3389, 3390, 0, 2242, 3392,
1538, 0, 2040, 1477, 0, 3396, 0, 3397, 0, 0,
3399, 0, 1468, 596, 0, 0, 596, 0, 1469, 0,
0, 0, 0, 0, 596, 596, 0, 1096, 0, 0,
0, 596, 596, 0, 0, 0, 596, 1096, 736, 0,
0, 596, 0, 0, 596, 596, 0, 0, 1539, 596,
0, 1540, 0, 0, 0, 596, 0, 0, 0, 179,
1471, 0, 1541, 0, 1479, 0, 0, 596, 0, 0,
0, 0, 0, 3438, 1480, 596, 0, 0, 0, 596,
0, 0, 0, 1481, 0, 0, 179, 0, 0, 0,
0, 0, 0, 0, 1542, 1482, 0, 0, 0, 0,
0, 2041, 0, 0, 2042, 2043, 2044, 596, 2045, 2046,
2047, 2048, 2049, 2050, 1473, 0, 0, 0, 4776, 0,
0, 1474, 2453, 0, 1475, 0, 0, 0, 0, 0,
0, 0, 0, 1543, 596, 0, 1484, 1485, 1544, 2470,
0, 0, 593, 0, 0, 0, 0, 0, 0, 1476,
0, 0, 1096, 0, 0, 0, 0, 2489, 0, 0,
1545, 0, 0, 2520, 5415, 0, 1546, 2525, 0, 869,
0, 0, 0, 0, 1703, 0, 0, 0, 0, 0,
1547, 0, 0, 1477, 0, 0, 0, 0, 0, 0,
940, 1096, 0, 0, 0, 0, 988, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 869, 0, 0,
0, 0, 1096, 2570, 0, 0, 0, 0, 736, 869,
0, 0, 0, 736, 736, 0, 2578, 0, 0, 0,
0, 0, 0, 1487, 0, 596, 0, 736, 1082, 0,
0, 0, 1478, 0, 1479, 0, 869, 0, 2022, 0,
2592, 2023, 0, 0, 1480, 2024, 2025, 2026, 0, 0,
0, 0, 0, 1481, 0, 179, 0, 0, 0, 0,
0, 0, 2027, 0, 0, 1482, 0, 1096, 0, 0,
2029, 0, 0, 0, 0, 0, 0, 2030, 0, 0,
0, 0, 0, 0, 2621, 1082, 0, 0, 0, 0,
0, 0, 0, 0, 596, 0, 0, 0, 0, 0,
0, 0, 2031, 1600, 0, 0, 1484, 1485, 0, 0,
596, 0, 0, 0, 0, 0, 0, 0, 0, 736,
0, 0, 0, 0, 0, 0, 0, 0, 0, 736,
3648, 0, 0, 869, 0, 0, 1601, 0, 0, 0,
596, 0, 0, 0, 0, 0, 0, 593, 0, 0,
0, 593, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1318, 0, 0, 0, 0, 0, 0,
2744, 0, 1166, 1167, 0, 0, 0, 0, 0, 0,
0, 0, 1341, 0, 0, 1096, 0, 1096, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1487, 1365, 0, 0, 0, 0, 0,
0, 869, 2032, 0, 3708, 736, 3710, 2033, 736, 736,
0, 0, 2789, 0, 0, 0, 0, 0, 0, 596,
0, 0, 0, 1096, 0, 0, 0, 0, 0, 2034,
2035, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1499, 0, 0, 0, 2036, 0, 0, 0, 596, 596,
0, 2857, 596, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 596, 0, 0,
0, 0, 0, 0, 596, 0, 0, 2037, 0, 596,
0, 0, 596, 596, 0, 0, 0, 0, 0, 596,
596, 2038, 0, 0, 2039, 0, 0, 0, 0, 0,
0, 0, 0, 0, 596, 0, 596, 0, 0, 0,
0, 869, 0, 869, 0, 0, 0, 596, 0, 0,
0, 2022, 0, 0, 2023, 0, 0, 0, 2024, 2025,
2026, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 3798, 0, 0, 2027, 0, 0, 3805, 0,
0, 0, 0, 2029, 0, 0, 0, 1096, 869, 0,
2030, 0, 0, 1047, 0, 1754, 0, 596, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2040, 4679, 0, 0, 2031, 0, 0, 0, 736,
0, 0, 0, 0, 1792, 1795, 1796, 0, 0, 0,
0, 0, 0, 0, 0, 1703, 0, 0, 0, 0,
596, 0, 0, 0, 0, 0, 2984, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3001, 0, 0, 0, 1325, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 4955, 0, 0, 0,
0, 3034, 0, 0, 0, 0, 0, 0, 0, 596,
2041, 1096, 0, 2042, 2043, 2044, 0, 2045, 2046, 2047,
2048, 2049, 2050, 0, 0, 2032, 2582, 4779, 0, 0,
2033, 0, 0, 0, 596, 1096, 2590, 596, 2591, 596,
0, 0, 0, 1325, 2595, 0, 0, 0, 0, 0,
0, 2601, 2034, 2035, 0, 0, 0, 0, 596, 0,
1325, 0, 0, 0, 596, 0, 0, 2036, 596, 3962,
1318, 3964, 0, 3966, 1096, 0, 0, 0, 596, 593,
0, 0, 3970, 0, 0, 0, 593, 0, 1962, 0,
0, 593, 0, 0, 593, 4795, 0, 1318, 0, 0,
2037, 0, 0, 0, 1468, 0, 0, 0, 0, 0,
1469, 0, 0, 0, 2038, 0, 593, 2039, 0, 1703,
0, 3195, 0, 3995, 0, 0, 0, 1096, 0, 593,
0, 0, 1096, 1096, 0, 0, 0, 596, 0, 0,
0, 0, 596, 596, 869, 0, 0, 0, 0, 0,
0, 0, 1471, 0, 0, 3224, 869, 0, 3224, 0,
3224, 0, 0, 0, 3224, 0, 3224, 3224, 0, 0,
0, 0, 0, 0, 0, 3224, 3224, 3224, 596, 860,
0, 0, 0, 2733, 2734, 596, 0, 0, 0, 0,
2748, 2749, 0, 0, 0, 0, 0, 0, 0, 0,
3250, 0, 2323, 0, 2040, 0, 1473, 0, 0, 0,
596, 0, 0, 1474, 0, 0, 1475, 0, 2787, 0,
0, 0, 860, 1468, 0, 0, 0, 0, 0, 1469,
3300, 0, 0, 0, 2093, 0, 0, 0, 0, 0,
0, 1476, 1571, 0, 0, 0, 0, 1096, 1096, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 3331, 0, 0, 0, 0, 596, 0, 0,
596, 1471, 0, 596, 1047, 1477, 0, 0, 0, 0,
2148, 0, 0, 0, 596, 0, 0, 0, 596, 0,
596, 593, 596, 0, 0, 0, 0, 0, 0, 596,
0, 0, 0, 2041, 0, 0, 2042, 2043, 2044, 0,
2045, 2046, 2047, 2048, 2049, 2050, 0, 0, 596, 0,
4826, 0, 0, 1572, 0, 1473, 0, 2892, 2892, 1047,
0, 0, 1474, 0, 1478, 1475, 1479, 0, 0, 0,
0, 0, 0, 1703, 0, 869, 1480, 0, 0, 0,
593, 0, 0, 0, 0, 1481, 0, 0, 0, 0,
1476, 2276, 0, 0, 0, 0, 0, 1482, 0, 0,
0, 2300, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 736,
0, 0, 0, 0, 1477, 596, 0, 0, 0, 0,
0, 0, 2336, 3428, 596, 2324, 0, 0, 1484, 1485,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3440, 0, 0, 0, 0, 2359, 0, 0, 2362, 0,
596, 596, 596, 0, 0, 3448, 0, 0, 2325, 596,
1703, 0, 0, 1096, 0, 0, 0, 0, 0, 596,
0, 0, 0, 1478, 0, 1479, 0, 0, 869, 0,
1468, 0, 0, 0, 0, 1480, 1469, 5101, 0, 0,
0, 0, 596, 0, 1481, 0, 0, 0, 0, 2410,
0, 0, 0, 0, 3036, 869, 1482, 0, 0, 0,
0, 0, 593, 2428, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1487, 0, 0, 1471, 0,
0, 0, 0, 0, 2022, 0, 0, 2023, 0, 0,
0, 2024, 2025, 2026, 3157, 596, 0, 1484, 1485, 0,
0, 596, 0, 0, 0, 0, 0, 0, 2027, 0,
0, 596, 0, 0, 0, 0, 2029, 596, 596, 596,
0, 0, 593, 2030, 0, 0, 0, 3158, 0, 596,
0, 1047, 1473, 0, 0, 736, 0, 0, 0, 1474,
0, 0, 1475, 736, 0, 0, 736, 0, 2031, 0,
0, 593, 0, 0, 0, 0, 0, 0, 0, 0,
869, 0, 0, 0, 0, 0, 0, 1476, 0, 0,
0, 0, 0, 0, 2451, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 596, 0, 0, 0, 0,
0, 596, 0, 0, 1487, 0, 0, 0, 0, 0,
0, 1477, 2022, 0, 0, 2023, 0, 0, 0, 2024,
2025, 2026, 0, 0, 0, 0, 0, 0, 596, 596,
0, 0, 0, 0, 4441, 2502, 2027, 0, 4443, 0,
596, 0, 0, 0, 2029, 596, 0, 0, 0, 0,
0, 2030, 0, 0, 1703, 0, 0, 0, 0, 0,
1047, 0, 0, 0, 2545, 0, 593, 0, 2032, 0,
1478, 2558, 1479, 2033, 596, 0, 2031, 0, 0, 0,
3654, 0, 1480, 0, 596, 0, 0, 0, 0, 0,
0, 1481, 0, 0, 0, 2034, 2035, 0, 0, 3665,
0, 0, 596, 1482, 0, 0, 0, 0, 0, 0,
2036, 0, 0, 0, 0, 596, 0, 1703, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 860, 1703, 0, 596, 596, 0,
0, 2246, 0, 2037, 1484, 1485, 0, 0, 0, 0,
0, 3724, 0, 0, 0, 0, 0, 2038, 0, 0,
2039, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 3368, 3370, 2247, 0, 2636, 0, 3378, 0,
0, 0, 0, 0, 0, 0, 2032, 5334, 0, 0,
0, 2033, 0, 0, 3747, 0, 3749, 0, 0, 2022,
0, 0, 2023, 593, 0, 3762, 2024, 2025, 2026, 860,
860, 0, 0, 2034, 2035, 0, 1318, 1318, 0, 0,
0, 0, 0, 2027, 0, 0, 0, 0, 2036, 0,
0, 2029, 0, 2687, 0, 0, 0, 0, 2030, 736,
0, 1487, 0, 0, 0, 0, 0, 2040, 0, 0,
2022, 0, 4586, 2023, 0, 0, 0, 2024, 2025, 2026,
0, 2037, 0, 2031, 0, 0, 0, 0, 0, 0,
0, 3801, 0, 0, 2027, 2038, 0, 593, 2039, 0,
0, 0, 2029, 593, 0, 3799, 0, 0, 0, 2030,
0, 0, 0, 0, 4610, 4611, 0, 0, 602, 0,
0, 0, 0, 0, 652, 602, 0, 0, 0, 0,
704, 0, 602, 3224, 2031, 0, 0, 0, 602, 0,
755, 0, 0, 0, 3818, 0, 0, 3831, 3831, 0,
0, 0, 2848, 0, 0, 0, 0, 3847, 0, 822,
822, 0, 2854, 1047, 0, 1047, 2041, 0, 0, 2042,
2043, 2044, 0, 2045, 2046, 2047, 2048, 2049, 2050, 0,
0, 0, 0, 4861, 0, 2040, 0, 0, 0, 0,
0, 1365, 0, 2032, 0, 0, 0, 0, 2033, 0,
4652, 4653, 1365, 1365, 593, 0, 1468, 0, 0, 0,
0, 3903, 1469, 0, 0, 0, 0, 5473, 0, 0,
2034, 2035, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2036, 1318, 0, 0, 860,
860, 0, 3034, 0, 2032, 3938, 1047, 0, 0, 2033,
0, 0, 0, 0, 1471, 3586, 0, 736, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2037, 0,
0, 2034, 2035, 0, 0, 0, 0, 3954, 0, 0,
3599, 3599, 2038, 0, 2041, 2039, 2036, 2042, 2043, 2044,
0, 2045, 2046, 2047, 2048, 2049, 2050, 0, 0, 0,
0, 4901, 0, 0, 0, 0, 856, 0, 1473, 0,
0, 0, 0, 0, 898, 1474, 0, 900, 1475, 2037,
905, 906, 0, 909, 4748, 911, 4749, 4750, 917, 0,
919, 0, 0, 2038, 0, 0, 2039, 0, 0, 0,
0, 0, 4754, 1476, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2022, 0, 0, 2023, 0, 0, 0, 2024,
2025, 2026, 2040, 0, 0, 0, 0, 1477, 0, 4010,
3038, 0, 0, 0, 0, 0, 2027, 0, 0, 0,
0, 0, 0, 0, 2029, 0, 3061, 0, 0, 0,
4019, 2030, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 3087, 0, 0, 0,
0, 0, 0, 2040, 0, 4042, 2031, 0, 0, 4064,
0, 0, 0, 0, 2022, 0, 1478, 2023, 1479, 0,
0, 2024, 2025, 2026, 0, 0, 0, 0, 1480, 0,
0, 0, 0, 0, 0, 0, 0, 1481, 2027, 1955,
0, 0, 0, 0, 0, 0, 2029, 0, 0, 1482,
0, 2041, 0, 2030, 2042, 2043, 2044, 0, 2045, 2046,
2047, 2048, 2049, 2050, 0, 0, 0, 0, 5205, 0,
3161, 3162, 0, 0, 0, 0, 0, 0, 2031, 0,
0, 0, 0, 0, 0, 0, 0, 3029, 0, 0,
1484, 1485, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2041, 0, 0, 2042, 2043, 2044, 0, 2045,
2046, 2047, 2048, 2049, 2050, 0, 2032, 0, 0, 5228,
1486, 2033, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 848, 850, 0,
0, 854, 0, 2034, 2035, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2036, 0,
0, 910, 0, 0, 0, 0, 0, 0, 920, 0,
0, 0, 0, 0, 0, 3284, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1487, 2032, 0,
0, 2037, 0, 2033, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2038, 0, 0, 2039, 0,
0, 3847, 0, 0, 0, 2034, 2035, 0, 0, 0,
0, 0, 4984, 0, 0, 0, 0, 0, 0, 0,
2036, 0, 0, 736, 0, 4266, 0, 0, 0, 0,
0, 0, 2022, 4274, 0, 2023, 4275, 0, 4276, 2024,
2025, 2026, 0, 0, 0, 0, 0, 3881, 0, 0,
0, 0, 0, 2037, 0, 0, 2027, 0, 0, 0,
0, 0, 0, 0, 2029, 0, 0, 2038, 0, 0,
2039, 2030, 0, 0, 0, 0, 0, 0, 0, 0,
4315, 0, 5029, 0, 0, 2040, 0, 0, 0, 0,
0, 0, 0, 3224, 0, 0, 2031, 3224, 3224, 0,
3224, 0, 999, 0, 0, 0, 0, 0, 0, 1012,
1013, 0, 0, 1019, 0, 1022, 1023, 0, 0, 0,
1025, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1044, 3956, 0, 5066, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 2040, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1121, 4369, 1123, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1139, 0, 2041, 0, 0, 2042, 2043, 2044,
0, 2045, 2046, 2047, 2048, 2049, 2050, 0, 0, 0,
4420, 5333, 0, 3847, 0, 0, 2032, 0, 0, 0,
0, 2033, 0, 736, 602, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2034, 2035, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2036, 0,
0, 0, 0, 0, 0, 0, 2041, 0, 0, 2042,
2043, 2044, 0, 2045, 2046, 2047, 2048, 2049, 2050, 0,
4459, 4459, 4459, 5403, 4459, 4459, 4459, 4459, 4459, 0,
0, 2037, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2038, 0, 0, 2039, 822,
0, 0, 0, 0, 0, 0, 0, 3562, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1365, 0, 0, 0, 0, 1430, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 990, 0, 993, 0, 0, 0, 996, 0, 2022,
0, 1955, 2023, 0, 0, 0, 2024, 2025, 2026, 0,
0, 1021, 0, 0, 0, 0, 0, 0, 1026, 0,
0, 0, 0, 2027, 0, 2040, 0, 0, 0, 0,
0, 2029, 0, 0, 0, 0, 0, 0, 2030, 0,
0, 0, 0, 0, 4547, 0, 4549, 1603, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2031, 0, 0, 0, 0, 1714, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1725, 0, 0, 0, 0, 1728, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1731, 0, 0, 0, 0,
1735, 0, 0, 0, 0, 0, 0, 0, 0, 1738,
0, 0, 0, 0, 1745, 0, 4587, 1749, 0, 0,
0, 0, 0, 0, 2041, 0, 0, 2042, 2043, 2044,
0, 2045, 2046, 2047, 2048, 2049, 2050, 736, 0, 0,
0, 5458, 2022, 0, 0, 2023, 0, 0, 0, 2024,
2025, 2026, 0, 0, 0, 4609, 0, 0, 0, 1803,
0, 736, 0, 0, 0, 0, 2027, 0, 736, 0,
0, 0, 0, 2032, 2029, 0, 4624, 0, 2033, 0,
2022, 2030, 0, 2023, 0, 0, 0, 2024, 2025, 2026,
0, 0, 0, 0, 0, 0, 5383, 0, 0, 0,
2034, 2035, 0, 0, 2027, 0, 2031, 3753, 2875, 0,
0, 0, 2029, 0, 0, 2036, 0, 0, 0, 2030,
0, 0, 0, 4649, 4650, 0, 0, 0, 0, 0,
0, 0, 0, 0, 3224, 0, 3224, 3224, 0, 0,
3224, 4651, 0, 0, 2031, 0, 0, 0, 2037, 0,
1166, 1167, 0, 0, 0, 0, 0, 0, 1500, 1501,
0, 0, 2038, 2022, 0, 2039, 2023, 0, 0, 0,
2024, 2025, 2026, 0, 602, 0, 602, 0, 602, 0,
602, 0, 602, 602, 602, 0, 0, 2027, 0, 602,
0, 0, 0, 2876, 0, 2029, 0, 0, 0, 0,
1950, 0, 2030, 0, 4708, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1963, 2032, 0, 0, 0,
0, 2033, 0, 0, 0, 0, 0, 2031, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 736,
0, 0, 4735, 2034, 2035, 0, 0, 0, 0, 0,
0, 0, 2040, 0, 2032, 0, 1734, 0, 2036, 2033,
0, 4740, 0, 0, 0, 0, 0, 0, 0, 0,
3872, 3873, 3874, 0, 0, 4459, 0, 0, 0, 0,
0, 2034, 2035, 0, 0, 1756, 1757, 3883, 736, 0,
0, 2037, 0, 0, 0, 0, 2036, 0, 0, 0,
0, 0, 0, 0, 0, 2038, 0, 1955, 2039, 0,
3899, 1798, 0, 3501, 0, 0, 0, 0, 3502, 0,
3909, 3911, 0, 0, 0, 3916, 0, 0, 0, 2037,
0, 0, 0, 0, 0, 0, 0, 2032, 0, 0,
0, 0, 2033, 2038, 0, 0, 2039, 0, 0, 0,
0, 2041, 0, 0, 2042, 2043, 2044, 0, 2045, 2046,
2047, 2048, 2049, 2050, 2034, 2035, 0, 0, 5472, 0,
0, 0, 0, 0, 0, 822, 0, 0, 0, 2036,
0, 0, 0, 0, 2022, 1866, 1868, 2023, 0, 0,
0, 2024, 2025, 2026, 0, 2040, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2027, 0,
0, 0, 2037, 0, 0, 0, 2029, 0, 0, 0,
0, 0, 0, 2030, 0, 3847, 2038, 0, 0, 2039,
0, 0, 0, 2040, 0, 0, 3991, 0, 0, 1318,
0, 0, 0, 0, 0, 0, 0, 0, 2031, 0,
0, 0, 0, 0, 0, 0, 2244, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 3224, 0,
0, 0, 0, 0, 0, 0, 0, 4894, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2877, 0, 2041, 0, 0, 2042, 2043, 2044,
0, 2045, 2046, 2047, 2048, 2049, 2050, 0, 0, 2447,
0, 0, 0, 0, 0, 0, 2040, 0, 0, 0,
736, 0, 0, 0, 0, 736, 0, 2335, 0, 736,
0, 0, 2041, 0, 0, 2042, 2043, 2044, 0, 2045,
2046, 2047, 2048, 2049, 2050, 0, 0, 0, 0, 0,
0, 0, 0, 0, 4622, 4623, 0, 0, 2032, 4626,
4627, 0, 0, 2033, 0, 0, 0, 4095, 4096, 4097,
0, 0, 2022, 0, 0, 2023, 0, 0, 0, 2024,
2025, 2026, 0, 0, 0, 2034, 2035, 0, 0, 1955,
0, 0, 0, 0, 0, 0, 2027, 0, 0, 3460,
2036, 0, 0, 0, 2029, 0, 0, 0, 0, 0,
0, 2030, 0, 0, 0, 2041, 0, 0, 2042, 2043,
2044, 0, 2045, 2046, 2047, 2048, 2049, 2050, 3799, 0,
0, 0, 0, 2037, 0, 0, 2031, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 2038, 0, 0,
2039, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 4055, 0, 0, 0, 0, 0,
0, 1955, 0, 0, 0, 0, 1955, 1955, 0, 0,
0, 0, 0, 0, 1047, 0, 0, 0, 5075, 0,
0, 0, 0, 0, 0, 0, 2022, 0, 0, 2023,
0, 0, 0, 2024, 2025, 2026, 0, 1468, 0, 0,
0, 0, 0, 1469, 0, 0, 0, 0, 0, 0,
2027, 0, 2265, 0, 0, 0, 0, 2040, 2029, 0,
0, 0, 0, 0, 0, 2030, 2032, 0, 0, 0,
0, 2033, 0, 0, 4056, 0, 0, 2304, 0, 0,
0, 0, 0, 0, 0, 1471, 0, 0, 0, 0,
2031, 0, 2493, 2034, 2035, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2036, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 5143, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1473,
0, 2037, 0, 0, 0, 0, 1474, 0, 0, 1475,
0, 0, 0, 0, 0, 2038, 2041, 0, 2039, 2042,
2043, 2044, 0, 2045, 2046, 2047, 2048, 2049, 2050, 0,
0, 0, 0, 4338, 1476, 5363, 0, 0, 2406, 2407,
2408, 2409, 0, 0, 4351, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2032, 0, 0, 1047, 0, 2033, 0, 5217, 1477, 5218,
0, 0, 0, 5223, 5224, 4382, 0, 0, 2619, 0,
2620, 0, 0, 0, 0, 0, 0, 2034, 2035, 0,
0, 0, 0, 0, 0, 0, 0, 2631, 0, 2632,
0, 736, 2036, 0, 0, 2040, 0, 0, 2558, 0,
0, 0, 0, 602, 0, 602, 0, 602, 0, 602,
0, 602, 0, 0, 0, 602, 0, 1478, 0, 1479,
0, 0, 0, 0, 0, 2037, 0, 0, 0, 1480,
0, 0, 0, 0, 0, 0, 0, 0, 1481, 2038,
0, 0, 2039, 0, 0, 0, 2636, 0, 0, 0,
1482, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 5364, 0, 0, 5290, 0, 2459,
2460, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 3201, 2483,
0, 1484, 1485, 0, 2041, 0, 0, 2042, 2043, 2044,
0, 2045, 2046, 2047, 2048, 2049, 2050, 2022, 0, 0,
2023, 0, 0, 0, 2024, 2025, 2026, 0, 0, 0,
0, 3202, 0, 0, 2528, 2529, 2530, 2531, 0, 2040,
0, 2027, 0, 0, 0, 0, 0, 0, 0, 2029,
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, 4515, 4516, 4517, 4518, 0,
2022, 2031, 0, 2023, 0, 0, 0, 2024, 2025, 2026,
0, 1468, 0, 0, 0, 0, 0, 1469, 1487, 0,
0, 0, 0, 0, 2027, 0, 0, 3506, 1047, 0,
0, 0, 2029, 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, 2041, 1471,
0, 2042, 2043, 2044, 2031, 2045, 2046, 2047, 2048, 2049,
2050, 2629, 0, 0, 0, 2919, 2920, 2633, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
736, 0, 0, 0, 2935, 2936, 0, 0, 0, 2939,
2940, 0, 0, 0, 2943, 0, 0, 0, 0, 0,
0, 2032, 5439, 1473, 0, 0, 2033, 0, 2954, 0,
1474, 0, 0, 1475, 0, 2963, 0, 0, 0, 2966,
2967, 0, 0, 2970, 2971, 0, 0, 0, 2034, 2035,
2976, 0, 0, 0, 0, 0, 0, 0, 1476, 0,
0, 0, 0, 2036, 0, 2995, 0, 2997, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2032, 5439, 3021, 0, 0, 2033,
0, 3023, 1477, 0, 0, 0, 2037, 0, 0, 0,
0, 0, 0, 5439, 0, 3028, 0, 0, 0, 0,
2038, 2034, 2035, 2039, 3035, 0, 0, 3039, 2799, 0,
3042, 3045, 3047, 0, 0, 0, 2036, 3055, 3058, 0,
0, 3474, 0, 0, 0, 0, 0, 3071, 0, 0,
0, 0, 3080, 0, 0, 0, 3083, 862, 871, 0,
0, 1478, 0, 1479, 0, 862, 0, 871, 862, 2037,
0, 0, 3099, 1480, 0, 0, 0, 0, 0, 3109,
3110, 871, 1481, 2038, 0, 3114, 2039, 0, 0, 5211,
0, 0, 0, 0, 1482, 0, 3129, 3130, 0, 0,
0, 3133, 0, 0, 0, 0, 0, 0, 0, 0,
2040, 0, 0, 3140, 0, 0, 3143, 0, 0, 0,
0, 3146, 0, 0, 0, 0, 3148, 3149, 0, 0,
0, 3152, 3676, 0, 3156, 1484, 1485, 0, 3163, 3164,
3165, 3166, 0, 3168, 0, 0, 0, 0, 1468, 0,
0, 0, 0, 0, 1469, 0, 3193, 3194, 4742, 3196,
0, 1535, 0, 0, 0, 3677, 0, 0, 0, 3204,
3205, 0, 0, 2040, 0, 0, 0, 0, 0, 0,
1536, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1471, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2041,
0, 0, 2042, 2043, 2044, 0, 2045, 2046, 2047, 2048,
2049, 2050, 2982, 2983, 0, 0, 0, 0, 0, 0,
1537, 3258, 1487, 2996, 2022, 2998, 0, 2023, 0, 3002,
0, 2024, 2025, 2026, 0, 0, 0, 0, 0, 0,
1473, 0, 0, 0, 0, 0, 0, 1474, 2027, 3295,
1475, 0, 0, 0, 0, 0, 2029, 0, 0, 0,
0, 0, 2041, 2030, 0, 2042, 2043, 2044, 0, 2045,
2046, 2047, 2048, 2049, 2050, 1476, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2031, 0,
0, 0, 0, 0, 0, 0, 2022, 0, 0, 2023,
0, 0, 0, 2024, 2025, 2026, 1538, 0, 0, 1477,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2027, 0, 0, 3517, 0, 0, 0, 0, 2029, 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, 1539, 0, 0, 1540, 0, 3139,
2031, 0, 3142, 0, 0, 0, 0, 0, 1541, 0,
1479, 0, 0, 0, 0, 0, 0, 0, 0, 3511,
1480, 0, 4899, 0, 2022, 0, 0, 2023, 0, 1481,
0, 2024, 2025, 2026, 0, 0, 0, 4912, 2032, 0,
1542, 1482, 1318, 2033, 0, 0, 0, 0, 2027, 0,
0, 0, 0, 0, 0, 0, 2029, 0, 5438, 0,
0, 0, 0, 2030, 0, 2034, 2035, 0, 4949, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 3134,
2036, 3227, 1484, 1485, 1544, 0, 0, 0, 2031, 3234,
3451, 0, 3237, 2022, 0, 0, 2023, 0, 3239, 0,
2024, 2025, 2026, 0, 0, 0, 1545, 0, 0, 3251,
2032, 0, 3135, 2037, 871, 2033, 0, 2027, 0, 0,
871, 5438, 0, 0, 0, 2029, 1547, 2038, 0, 0,
2039, 0, 2030, 871, 0, 0, 0, 2034, 2035, 5438,
0, 0, 0, 0, 0, 0, 0, 0, 0, 871,
3297, 0, 2036, 0, 0, 0, 0, 2031, 0, 0,
0, 0, 0, 862, 871, 0, 0, 0, 0, 0,
862, 0, 871, 862, 0, 0, 0, 0, 3320, 1487,
0, 0, 0, 0, 0, 2037, 871, 0, 0, 5035,
0, 0, 0, 0, 0, 0, 871, 0, 2032, 2038,
0, 0, 2039, 2033, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 2040, 0, 0,
0, 0, 0, 0, 0, 2034, 2035, 0, 0, 0,
0, 0, 0, 0, 0, 0, 3383, 0, 3385, 0,
2036, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2022, 0, 0, 2023, 0, 0, 0,
2024, 2025, 2026, 0, 0, 0, 0, 2032, 0, 0,
0, 0, 2033, 2037, 0, 0, 0, 2027, 0, 0,
4062, 871, 0, 0, 0, 2029, 5113, 2038, 0, 2040,
2039, 0, 2030, 0, 2034, 2035, 0, 0, 0, 0,
0, 0, 0, 0, 0, 871, 0, 0, 0, 2036,
0, 0, 0, 0, 0, 0, 2041, 2031, 871, 2042,
2043, 2044, 0, 2045, 2046, 2047, 2048, 2049, 2050, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2037, 0, 0, 3651, 3450, 0, 0, 3653,
0, 0, 0, 0, 0, 3655, 2038, 0, 0, 2039,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 3666, 3668, 0, 0, 2040, 3668, 0,
0, 0, 0, 3679, 3680, 3681, 0, 3683, 2041, 0,
0, 2042, 2043, 2044, 0, 2045, 2046, 2047, 2048, 2049,
2050, 0, 0, 0, 0, 0, 0, 0, 0, 4007,
3705, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3711, 3712, 3713, 3714, 0, 0, 1705, 2032, 0, 0,
0, 0, 2033, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 862, 0, 2040, 0, 0, 0,
862, 0, 0, 862, 2034, 2035, 3731, 0, 0, 3736,
3737, 3738, 0, 0, 0, 0, 870, 0, 0, 2036,
0, 0, 0, 0, 0, 870, 2041, 3758, 0, 2042,
2043, 2044, 0, 2045, 2046, 2047, 2048, 2049, 2050, 870,
0, 0, 0, 0, 0, 0, 0, 3766, 0, 0,
0, 0, 2037, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2038, 0, 0, 2039,
0, 0, 0, 0, 0, 0, 0, 2022, 0, 0,
2023, 0, 0, 0, 2024, 2025, 2026, 0, 0, 0,
0, 0, 0, 0, 0, 2041, 0, 0, 2042, 2043,
2044, 0, 2045, 2046, 2047, 2048, 2049, 2050, 0, 2029,
0, 0, 0, 0, 0, 0, 2030, 0, 0, 3808,
0, 0, 0, 0, 0, 0, 0, 3812, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2031, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 871, 0, 0, 0, 2040, 0, 3826, 1468,
0, 0, 0, 0, 3657, 1469, 3658, 3659, 3660, 0,
871, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 3869, 0, 0, 0, 0, 0, 0, 871, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1471, 0, 0,
0, 0, 0, 0, 0, 0, 871, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 871, 0, 0,
0, 0, 0, 3906, 0, 943, 0, 0, 3912, 0,
944, 0, 0, 871, 0, 0, 0, 871, 0, 0,
0, 2032, 0, 0, 0, 2041, 2033, 0, 2042, 2043,
2044, 1473, 2045, 2046, 2047, 2048, 2049, 2050, 1474, 0,
0, 1475, 3951, 0, 0, 945, 0, 0, -2631, -2631,
0, 0, 0, 0, 0, 0, 0, 0, 946, 947,
0, 0, 0, 2036, 0, 0, 1476, 0, 0, 948,
0, 0, 0, 949, 0, 0, 0, 0, 0, 0,
0, 3967, 0, 3968, 0, 0, 0, 0, 0, 0,
0, 950, 0, 0, 0, 0, -2631, 0, 0, 0,
1477, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2038, 0, 0, 0, 951, 0, 0, 0, 0, 0,
0, 0, 0, 3992, 0, 952, 0, 0, 0, 0,
0, 0, 0, 953, 0, 871, 0, 0, 0, 0,
0, 0, 0, 871, 871, 954, 0, 0, 0, 0,
955, 0, 0, 0, 0, 0, 0, 871, 0, 1478,
0, 1479, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1480, 0, 3819, 0, 0, 956, 0, 0, 0,
1481, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1482, 0, 0, 0, 0, 0, 0, 0,
2040, 957, 0, 0, 0, 0, 0, 0, 0, 0,
1705, 0, 870, 0, 0, 0, 0, 0, 870, 0,
0, 0, 958, 0, 0, 0, 0, 0, 0, 0,
3732, 870, 0, 1484, 1485, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 870, 0, 0,
0, 0, 0, 0, 0, 0, 959, 0, 0, 0,
0, 0, 870, 3733, 0, 0, 0, 0, 0, 0,
870, 0, 0, 0, 0, 0, 0, 0, 0, 960,
0, 0, 0, 0, 870, 0, 0, 0, 0, 205,
961, 0, 0, 962, 870, 0, 0, 0, 0, 2041,
0, 0, 2042, 2043, 2044, 0, 2045, 2046, 2047, 2048,
2049, 2050, 0, 0, 0, 0, 0, 0, 0, 963,
0, 0, 964, 0, 0, 0, 965, 0, 966, 0,
1487, 0, 0, 0, 0, 967, 0, 4185, 968, 4186,
0, 0, 0, 0, 0, 3971, 4188, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 969, 0, 0,
0, 0, 4198, 0, 970, 0, 0, 0, 0, 0,
971, 0, 0, 972, 0, 0, 0, 973, 4206, 870,
0, 0, 0, 0, 0, 974, 0, 975, 0, 0,
0, 0, 976, 0, 0, 0, 0, 4227, 0, 0,
0, 0, 0, 870, 871, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 4231, 870, 977, 0, 0,
0, 0, 0, 0, 0, 4240, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 4269, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 4277, 4278, 4279,
0, 0, 0, 0, 4283, 4284, 4285, 4286, 0, 0,
0, 4288, 4289, 0, 0, 0, 0, 4296, 4297, 0,
4299, 4300, 4301, 4302, 4303, 4304, 0, 4306, 0, 0,
0, 0, 0, 0, 0, 0, 4314, 0, 0, 4317,
4318, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 3668, 1704, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 4341, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1705, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 871, 0, 0, 0,
0, 0, 0, 0, 871, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 871, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 4191, 4192,
4193, 4194, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 3668, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 862, 862, 0,
871, 871, 0, 0, 0, 0, 4453, 0, 0, 0,
0, 0, 862, 0, 871, 862, 0, 0, 613, 0,
0, 0, 0, 0, 0, 0, 0, 871, 871, 0,
870, 0, 0, 0, 0, 614, 0, 0, 0, 0,
0, 0, 0, 871, 0, 0, 0, 0, 870, 0,
0, 0, 0, 0, 0, 0, 0, 0, 615, 0,
0, 0, 0, 0, 0, 0, 870, 0, 0, 0,
0, 616, 0, 0, 0, 862, 0, 0, 862, 862,
0, 0, 617, 0, 0, 0, -852, 0, 0, 0,
0, 0, 0, 0, 870, 0, 0, 0, 0, 0,
0, 0, 0, 0, 618, 870, 0, 0, 0, 0,
619, 0, 0, 4337, 0, 0, 0, 0, 0, 0,
0, 870, 0, 0, 0, 870, 0, 620, 4340, 0,
0, 0, 0, 0, 0, 0, 0, 0, 621, 0,
0, 0, 0, 0, 0, 0, 622, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 623, 0,
0, 0, 0, 0, 0, 0, 624, 1705, 0, 0,
625, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, -1081,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 4590, 0, 0, 0, 4591,
4592, 4593, 4594, 0, 0, 4596, 626, 0, 0, 0,
0, 0, 0, 0, 0, -569, 0, 871, 0, 0,
0, 0, 0, 870, 0, 0, 0, 0, 0, 0,
0, 870, 870, 0, 0, 0, 0, 4615, 4616, 4617,
0, 4618, 0, 4620, 4621, 870, 0, 0, 0, 627,
0, 0, 628, 0, 0, 4630, 4631, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 629, 871, 0, 0, 0, 0, 0, 0,
0, 0, 4636, 0, 0, 0, 630, 0, 0, 0,
0, 871, 0, -440, 0, 0, 1705, 871, 1704, 0,
0, 871, 0, 0, 0, 4647, 0, 0, 0, 871,
0, 0, 631, 0, 0, 0, 0, 0, 0, 0,
0, 632, 0, 0, 0, 0, 0, 871, -440, 0,
0, 633, 0, 0, 0, 0, 664, 0, 0, 0,
0, 665, 0, 0, 0, 0, 0, 0, 0, 862,
634, 0, 862, 862, 0, 0, 0, 635, 0, 0,
0, 0, 0, -440, 0, 0, 636, 637, 0, 638,
639, 0, 0, 871, 0, 0, 666, 0, 0, 0,
640, 0, 0, 0, 4699, 641, 0, 0, 0, 667,
0, 642, 871, 871, 643, 0, 0, 644, 0, 0,
0, 0, 0, 0, 668, 0, 0, 0, 0, 0,
-440, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 669, 0, 1705, 871, 0, 0, 1705, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 4751, 0, 0, 670, 0, 0, 0, 0,
871, 0, 1705, 0, 0, 0, 671, 871, 0, 0,
0, 0, 0, 871, 672, 0, 0, 0, 0, 0,
871, 0, 0, 0, 871, 0, 673, 0, 0, 871,
0, 674, 0, 0, 0, 0, 0, 0, 675, 0,
0, 0, 870, 0, 0, 0, 0, 0, 0, 871,
0, 0, 0, 0, 871, 0, 0, 676, 871, 0,
0, 1705, 0, 0, 0, 0, 0, 0, 0, 0,
0, 871, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 871, 0, 0, 0, 0, 0,
0, 0, 0, 0, 871, 0, 0, 0, 0, 4644,
0, 0, 602, 677, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 4648, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 678, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
679, 0, 0, 0, 0, 0, 0, 0, 0, 1705,
680, 0, 0, 0, 4850, 0, 0, 0, 0, 0,
205, 681, 0, 0, 682, 0, 0, 0, 0, 0,
0, 0, 4860, 0, 0, 0, 0, 4865, 4866, 0,
1704, 0, 0, 0, 0, 0, 0, 0, 0, 0,
683, 0, 0, 684, 0, 4713, 0, 685, 0, 686,
0, 0, 0, 0, 870, 0, 687, 0, 0, 688,
0, 0, 870, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 870, 0, 0, 0, 689, 4927,
871, 0, 0, 0, 0, 690, 0, 0, 0, 0,
0, 691, 0, 0, 692, 0, 0, 0, 693, 4944,
0, 4946, 0, 0, 0, 0, 694, 0, 695, 0,
0, 0, 0, 696, 0, 0, 4962, 0, 0, 0,
0, 0, 0, 0, 0, 697, 0, 0, 0, 0,
0, 0, 0, 0, 0, 871, 3668, 0, 698, 0,
0, 0, 0, 4983, 0, 0, 0, 0, 870, 870,
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, 870, 870, 871, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 870, 0, 0, 0, 871, 0, 0, 0, 0,
0, 0, 0, 871, 0, 0, 0, 0, 5022, 0,
0, 0, 0, 862, 0, 0, 862, 0, 0, 862,
0, 4831, 4832, 4832, 0, 0, 0, 0, 0, 0,
5039, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 5047, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1294, 1294, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1705, 0, 0, 0, 0,
0, 1705, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 5106, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1704, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1095, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1095, 871, 0, 0,
3668, 0, 0, 0, 0, 0, 0, 0, 0, 4967,
0, 0, 0, 0, 0, 870, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1616, 1620, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5193, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 870, 0, 0, 0, 5206, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 871, 871, 0, 870,
0, 0, 0, 0, 1704, 870, 0, 0, 0, 870,
0, 0, 0, 0, 0, 0, 0, 870, 0, 0,
0, 0, 0, 871, 0, 0, 871, 0, 0, 5235,
0, 0, 0, 0, 0, 870, 0, 0, 0, 0,
0, 0, 0, 0, 5246, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5062, 0, 5064, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 189, 0, 0, 0, 0,
0, 870, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
870, 870, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1705, 1705, 1705, 0, 0, 0, 0, 0, 0,
0, 0, 0, 190, 0, 0, 5307, 0, 0, 0,
0, 0, 1704, 870, 871, 0, 1704, 0, 191, 0,
0, 0, 0, 0, 0, 1619, 0, 0, 0, 0,
0, 0, 0, 0, 871, 0, 192, 0, 870, 0,
1704, 1095, 193, 0, 0, 870, 0, 0, 0, 0,
5329, 870, 0, 871, 0, 0, 0, 0, 870, 194,
0, 0, 870, 0, 0, 0, 1095, 870, 0, 0,
195, 0, 0, 0, 0, 0, 0, 0, 196, 0,
0, 1095, 0, 0, 0, 0, 0, 870, 0, 0,
197, 0, 870, 0, 0, 198, 870, 4832, 0, 1704,
0, 0, 199, 0, 0, 0, 0, 0, 0, 870,
0, 1979, 0, 0, 0, 0, 0, 0, 0, 0,
0, 200, 870, 0, 0, 0, 0, 0, 0, 0,
0, 0, 870, 0, 0, 871, 0, 0, 5396, 0,
0, 1993, 0, 0, 0, 0, 201, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1095, 202, 0, 2011,
2012, 2013, 0, 2015, 0, 0, 5242, 0, 0, 0,
0, 0, 1705, 0, 0, 0, 0, 0, 0, 871,
0, 871, 0, 2057, 0, 0, 0, 1704, 0, 0,
0, 203, 0, 0, 871, 0, 871, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 204, 0, 0, 0, 1705, 0,
0, 0, 0, 0, 205, 206, 0, 0, 207, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2115, 0, 0, 208, 2127, 2132, 209, 0, 0,
0, 210, 871, 211, 0, 0, 1095, 0, 870, 5313,
212, 0, 0, 213, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 214, 0, 0, 0, 0, 0, 0, 215,
0, 0, 0, 0, 216, 217, 0, 0, 218, 0,
0, 0, 219, 871, 0, 0, 0, 0, 0, 0,
0, 0, 220, 870, 0, 0, 0, 221, 0, 0,
0, 871, 0, 0, 0, 0, 0, 0, 0, 222,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 223, 871, 0, 0, 871, 0, 0, 0,
0, 0, 0, 0, 0, 870, 5389, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 870, 0, 0, 0, 0, 0, 0,
0, 870, 0, 0, 0, 0, 0, 0, 4832, 4832,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1094,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1705, 0, 0, 0,
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, 0, 0, 0,
0, 0, 0, 1704, 0, 2171, 0, 0, 0, 1704,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1616, 1616, 1616, 0, 0, 0, 0, 0, 0,
0, 4832, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2171, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 870, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1095, 0, 0, 0, 0, 0, 0, 0,
871, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1095, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1705, 0, 0, 870, 870, 1705, 0, 1705, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1705, 870, 0, 0, 870, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1705,
1619, 1619, 1619, 0, 0, 0, 0, 0, 0, 0,
1094, 0, 0, 0, 0, 871, 0, 0, 871, 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, 0, 0,
1094, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1704,
1704, 1704, 0, 0, 1085, 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,
1085, 0, 0, 1095, 0, 0, 0, 871, 871, 0,
0, 0, 870, 0, 0, 0, 0, 871, 0, 0,
1095, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 870, 0, 0, 0, 1094, 871, 0, 1095, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2730, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2750, 0, 2752, 0, 0,
2764, 2767, 2772, 0, 1095, 0, 0, 2778, 0, 0,
2783, 0, 0, 0, 0, 0, 0, 1095, 0, 0,
0, 871, 0, 870, 0, 2790, 2791, 2792, 2793, 1095,
0, 0, 0, 2800, 0, 0, 0, 2812, 0, 0,
2814, 1095, 0, 2821, 2822, 2823, 2824, 2825, 2826, 2827,
2828, 2829, 0, 2830, 0, 1094, 0, 0, 0, 0,
1294, 0, 1616, 0, 0, 0, 0, 0, 0, 0,
1704, 0, 0, 0, 0, 0, 0, 870, 0, 870,
0, 0, 0, 0, 0, 1095, 1095, 0, 0, 0,
0, 0, 870, 0, 870, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2867, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1704, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2012,
2013, 0, 0, 0, 0, 0, 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, 1085, 0, 0, 0, 0,
0, 0, 0, 1087, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1085, 0, 0, 0, 0, 0, 0, 0, 2078, 1087,
0, 0, 0, 0, 0, 1085, 0, 0, 0, 0,
0, 870, 2968, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1095, 0, 0, 0, 0, 0, 870,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 871, 0, 0, 0, 0, 1705, 0,
0, 870, 0, 0, 870, 0, 0, 0, 0, 0,
0, 1619, 0, 0, 1094, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 871, 0, 0, 0, 0, 0, 0, 0, 0,
1085, 0, 0, 871, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
871, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1094, 0, 0, 0, 1704, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2923, 0, 0, 0, 2171, 2929, 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, 0, 0, 0, 0, 0, 0, 0,
1085, 0, 0, 0, 1094, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 871, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1095, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1095, 0, 3215, 3216, 1616, 0, 0, 0, 3220,
0, 0, 0, 0, 1087, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1087,
0, 3249, 1095, 0, 0, 0, 0, 0, 870, 0,
0, 0, 0, 0, 1087, 871, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1704,
0, 0, 0, 0, 1704, 0, 1704, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1704, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1087,
0, 0, 1094, 0, 0, 0, 0, 1704, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1094,
0, 0, 0, 870, 0, 871, 870, 871, 0, 1085,
0, 0, 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, 0,
0, 0, 0, 0, 1619, 0, 0, 0, 0, 0,
0, 0, 871, 0, 0, 0, 0, 0, 0, 0,
0, 862, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1094, 0, 1085, 0, 0, 0, 0,
0, 1095, 0, 0, 0, 0, 1094, 0, 0, 1087,
0, 0, 0, 0, 0, 870, 870, 0, 1094, 1705,
0, 0, 0, 0, 862, 870, 0, 0, 0, 0,
1094, 0, 0, 0, 0, 0, 1085, 0, 0, 0,
0, 0, 0, 0, 870, 0, 0, 0, 3456, 0,
0, 0, 0, 3462, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1085,
0, 0, 0, 0, 1094, 1094, 0, 0, 2015, 0,
0, 0, 0, 2171, 0, 0, 2171, 0, 0, 2772,
0, 2772, 2772, 0, 0, 0, 0, 0, 0, 0,
0, 0, 3520, 0, 0, 3523, 0, 3525, 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, 3543, 0, 3546, 0,
3548, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2115, 0, 0, 0, 0,
0, 0, 0, 1705, 1095, 0, 0, 0, 0, 0,
2132, 0, 1094, 0, 0, 0, 0, 0, 1087, 0,
0, 1095, 0, 0, 0, 0, 0, 0, 871, 0,
0, 0, 0, 0, 0, 0, 1095, 0, 0, 0,
871, 0, 0, 0, 0, 0, 0, 1085, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1085, 0, 0, 0, 0, 0,
0, 0, 0, 0, 3637, 0, 0, 0, 0, 0,
0, 0, 1085, 0, 1087, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1087, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1085, 0,
0, 870, 0, 0, 0, 0, 1704, 0, 0, 0,
1094, 1085, 0, 0, 1094, 1094, 0, 0, 1087, 0,
0, 0, 0, 1085, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1085, 0, 0, 0, 870,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 870, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1094, 0, 870, 1085,
1085, 0, 0, 0, 0, 0, 0, 1705, 0, 871,
1094, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2171, 0, 0, 2929, 0, 2929, 0, 0,
0, 0, 2171, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1094, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1095, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 870, 0, 0, 0, 0,
1095, 0, 0, 0, 1705, 0, 0, 0, 1088, 0,
0, 0, 1616, 0, 0, 0, 1087, 0, 1616, 0,
0, 0, 871, 0, 0, 2171, 0, 0, 0, 0,
0, 0, 0, 1087, 1088, 0, 862, 1085, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 871,
0, 1087, 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, 0, 0, 0, 0, 1095, 0, 1095, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1087, 0, 0,
0, 862, 862, 0, 0, 0, 0, 0, 0, 0,
1087, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1087, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1087, 0, 0, 0, 0, 0,
1094, 0, 0, 0, 871, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1085, 0, 0, 0, 1085,
1085, 0, 0, 870, 0, 870, 1095, 0, 1087, 1087,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1619, 0, 0, 0, 0, 0, 1619, 0, 0,
0, 0, 0, 0, 0, 1095, 0, 0, 0, 0,
870, 0, 1094, 0, 0, 1094, 0, 0, 1705, 0,
0, 1085, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2929, 1085, 0, 0, 4008, 0,
0, 0, 0, 0, 0, 0, 0, 4012, 0, 0,
0, 0, 0, 4013, 0, 4014, 0, 1704, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1088,
0, 0, 0, 0, 0, 0, 1085, 0, 0, 0,
0, 1705, 4038, 4039, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1088, 0, 0, 0, 0, 1705,
2778, 862, 862, 1095, 0, 0, 1087, 0, 4065, 1088,
0, 4068, 0, 4070, 0, 0, 0, 0, 0, 0,
0, 0, 4074, 0, 2929, 0, 0, 0, 0, 0,
4081, 4082, 0, 1094, 0, 0, 0, 0, 1095, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1094, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 4128, 0, 0, 1094, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 4141, 0, 0,
0, 0, 0, 0, 1088, 0, 0, 0, 0, 0,
0, 0, 0, 4154, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1095, 1704, 0, 0, 1087, 0, 0, 0, 1087, 1087,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1095, 0, 0, 0, 0, 870, 0, 0, 0,
0, 0, 0, 0, 0, 1085, 0, 0, 870, 0,
0, 0, 0, 0, 0, 0, 1095, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1088, 0, 0, 0, 0, 0,
1087, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1095, 0, 0, 0, 1087, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1085, 0, 0,
1085, 0, 0, 0, 0, 1087, 0, 0, 0, 0,
0, 1094, 0, 0, 1094, 0, 1094, 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, 0, 0, 0, 0, 0, 2171, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1094, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 1704, 0, 870, 0, 0,
0, 0, 0, 0, 1094, 0, 0, 0, 1085, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1085, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1090, 2929, 0,
1085, 0, 0, 1088, 0, 0, 4427, 4428, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2929, 1090, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1094, 0, 1094, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1704, 0, 1087, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1088,
870, 0, 0, 0, 0, 0, 0, 0, 4468, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 4473,
0, 0, 0, 0, 0, 0, 0, 870, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1088, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1094, 0, 0, 0, 0,
4491, 4493, 0, 0, 0, 0, 1087, 4497, 4498, 1087,
0, 0, 4499, 1088, 0, 0, 0, 4502, 0, 0,
4505, 4506, 1095, 0, 0, 4510, 0, 0, 0, 0,
0, 4514, 0, 0, 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, 1094, 0, 0, 0, 0, 0, 0,
2929, 0, 870, 0, 2171, 0, 1085, 0, 0, 1085,
0, 1085, 0, 1294, 0, 0, 1085, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1091, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4570, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1091, 1087, 0, 0,
0, 0, 1094, 0, 0, 1085, 0, 0, 0, 0,
0, 0, 0, 0, 1087, 0, 0, 0, 1090, 0,
0, 0, 0, 1094, 1085, 0, 1704, 0, 0, 1087,
0, 0, 0, 0, 0, 0, 0, 1094, 0, 0,
0, 0, 0, 1090, 0, 0, 0, 0, 0, 1085,
0, 0, 0, 0, 0, 0, 0, 0, 1090, 0,
0, 1088, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1095, 0, 0, 0, 0, 0, 1088, 0,
0, 4633, 1095, 0, 0, 0, 0, 0, 0, 1704,
0, 0, 0, 0, 0, 0, 1088, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1704, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1085,
0, 1085, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1094,
0, 0, 0, 1090, 0, 0, 0, 0, 0, 0,
4670, 0, 1088, 0, 0, 0, 0, 0, 0, 0,
1094, 0, 0, 0, 0, 1088, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1088, 0, 0,
0, 0, 0, 0, 0, 1094, 0, 0, 0, 1088,
0, 0, 0, 0, 0, 0, 0, 1095, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1085, 0, 0, 0, 0, 0, 0, 0, 0, 1094,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1088, 1088, 1087, 1095, 0, 1087, 0,
1087, 0, 0, 0, 0, 1087, 0, 0, 0, 1085,
0, 1091, 0, 1090, 0, 0, 0, 1095, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1091, 0, 1085, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1091, 0, 0, 1087, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1094, 0, 0,
0, 0, 0, 1087, 4773, 4774, 0, 0, 4775, 0,
0, 0, 1095, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1087, 0,
0, 0, 0, 0, 0, 0, 0, 1085, 0, 0,
0, 0, 0, 0, 0, 4810, 4811, 0, 0, 0,
0, 0, 1093, 0, 0, 0, 0, 0, 1085, 0,
0, 1088, 4822, 0, 0, 0, 1091, 0, 0, 0,
0, 0, 1085, 0, 0, 0, 0, 0, 1093, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1094, 1087, 0,
1087, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1094, 0, 0, 0, 0, 0, 0, 0, 0,
4739, 0, 1095, 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, 1085, 0, 1091, 0, 1095, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1087,
0, 0, 0, 0, 0, 1085, 0, 0, 0, 1088,
0, 0, 0, 1088, 1088, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1090, 0,
1085, 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, 1094, 0, 0, 1085, 0, 0, 1087, 0, 1090,
0, 0, 0, 2778, 0, 1088, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1088,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5005, 0, 1090, 0, 0, 0, 0, 0, 0, 1094,
0, 0, 0, 1094, 2015, 0, 0, 0, 0, 0,
0, 0, 2929, 0, 0, 0, 0, 0, 0, 0,
1088, 0, 0, 0, 0, 0, 1087, 0, 0, 0,
0, 0, 0, 1093, 0, 0, 0, 0, 0, 0,
0, 0, 1085, 0, 0, 0, 0, 1087, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1093, 0,
0, 1087, 0, 5054, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1093, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1091, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 5091, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1094, 0, 0, 0, 0, 2929, 0, 0, 0,
0, 1094, 1085, 0, 0, 0, 0, 0, 0, 0,
0, 1091, 0, 0, 0, 0, 0, 0, 1093, 0,
1095, 0, 0, 1087, 0, 0, 1085, 0, 0, 0,
1090, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1087, 0, 0, 1090, 0, 0,
0, 0, 1091, 0, 0, 0, 0, 0, 0, 1095,
0, 0, 0, 0, 0, 1090, 0, 0, 0, 1087,
0, 0, 0, 0, 0, 0, 0, 0, 4810, 1088,
0, 0, 0, 0, 0, 1091, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1087, 5195, 0, 0, 0, 0, 0,
0, 0, 1095, 0, 0, 0, 1094, 1095, 1095, 0,
0, 1090, 0, 0, 0, 0, 0, 0, 1093, 0,
0, 0, 0, 0, 1090, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1090, 0, 0, 0,
0, 0, 0, 0, 0, 1094, 1085, 0, 1090, 0,
0, 1088, 0, 0, 1088, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1094, 0, 0, 0,
0, 5249, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1087, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1090, 1090, 1085, 0, 0, 0, 1085, 0,
0, 0, 0, 0, 0, 0, 5277, 5277, 5277, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 4739, 1095, 0, 4810, 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, 1091, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1091, 0, 1088, 0, 0, 0, 0, 0, 0, 0,
0, 1087, 0, 0, 0, 0, 0, 0, 1091, 1088,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1088, 1087, 0, 5338, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 5277, 1085, 1093, 0, 0,
1090, 0, 0, 0, 0, 0, 1085, 0, 0, 0,
0, 0, 0, 0, 1091, 0, 0, 0, 0, 0,
0, 1094, 0, 0, 0, 0, 0, 1091, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1091,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1091, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1093, 0, 0, 0, 1094, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1095, 0,
0, 0, 0, 0, 0, 1091, 1091, 0, 0, 0,
0, 0, 0, 0, 1093, 1087, 5430, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1085, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1093, 1090, 0,
5277, 0, 1090, 1090, 0, 0, 0, 0, 0, 0,
5457, 0, 0, 1087, 0, 0, 0, 1087, 0, 0,
1085, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1088, 1085, 0, 1088, 0, 1088, 0, 0, 0, 0,
1088, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1094, 0, 0, 1090, 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, 1091, 0, 0, 0, 0, 0, 1088,
0, 0, 0, 0, 0, 0, 1085, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1088, 1090,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1088, 0, 1087, 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, 1093, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1094, 0, 0, 0, 0,
0, 0, 1093, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1094,
1093, 0, 0, 1088, 0, 1088, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1085, 0, 0, 0,
0, 1091, 0, 0, 0, 1091, 1091, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1094, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1093, 0, 0, 0,
1087, 0, 1085, 0, 0, 0, 0, 0, 0, 1093,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1093, 0, 0, 0, 0, 0, 1091, 0, 0,
0, 1094, 0, 1093, 1088, 0, 1094, 1094, 0, 1087,
0, 1091, 0, 0, 0, 0, 0, 0, 1090, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1087, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1088, 0, 0, 0, 1093, 1093, 0,
0, 0, 1091, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1088, 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,
1090, 0, 0, 1090, 0, 0, 1085, 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, 0, 0, 0, 0, 0,
0, 1088, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1088, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1088, 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,
0, 0, 0, 0, 0, 1087, 0, 0, 0, 0,
0, 1090, 0, 0, 0, 0, 0, 0, 0, 0,
1085, 0, 0, 0, 0, 0, 0, 0, 1090, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1091, 0, 1090, 1085, 0, 0, 0, 0, 0,
0, 1087, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1088, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1085, 0, 0, 0, 0, 0, 1088,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1094, 0, 0,
0, 0, 0, 1093, 1088, 0, 0, 1093, 1093, 0,
0, 0, 0, 1091, 0, 0, 1091, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1085, 0, 0, 0,
0, 1085, 1085, 0, 0, 0, 0, 0, 1088, 0,
0, 0, 0, 0, 0, 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, 1087, 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, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1093, 0, 1088, 0, 0, 0,
0, 0, 0, 0, 1091, 0, 0, 0, 0, 1090,
0, 0, 1090, 0, 1090, 0, 0, 1085, 0, 1090,
0, 1091, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1091, 0, 0, 0,
0, 0, 0, 0, 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, 1087,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1090, 0, 0,
0, 0, 0, 1087, 0, 0, 1088, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1090, 0, 0, 0, 0, 0, 0, 0,
1088, 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, 2052, 0, 0, 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, 1090, 1087, 0, 0, 0, 0,
1087, 1087, 0, 1093, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1085, 2052, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1091, 0, 0, 1091, 0, 1091, 0, 0,
1088, 0, 1091, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1090, 0, 1093, 0, 0, 1093, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1088, 0,
0, 1091, 1088, 0, 0, 0, 1087, 0, 0, 0,
0, 0, 1090, 0, 0, 0, 0, 0, 0, 0,
1091, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1090, 0, 0, 0, 1091, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0,
1090, 0, 0, 1093, 0, 1091, 0, 1091, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1093, 0,
1088, 1090, 0, 0, 0, 0, 0, 0, 0, 0,
1088, 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, 2052, 0, 0,
0, 2052, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1087, 0, 0, 0, 0, 1091, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1091, 0, 1090, 0, 0,
0, 0, 0, 0, 0, 1088, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1090, 0,
0, 0, 0, 0, 1091, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1090, 1088, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1088, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1090, 0, 0,
0, 0, 0, 0, 1093, 0, 0, 1093, 0, 1093,
0, 0, 0, 1091, 1093, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1091, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1091, 0,
1088, 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, 1093, 0, 0, 1090, 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, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1091, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1088, 1091, 0, 0, 0, 0, 0, 1093, 0, 1093,
0, 0, 0, 0, 0, 1090, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1091, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1090,
2052, 0, 0, 0, 0, 0, 1088, 0, 0, 0,
0, 0, 0, 0, 2052, 0, 0, 0, 2760, 0,
1091, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2052, 2052, 2052, 0, 2052, 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, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2052, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1093, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1091, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1093, 0, 0, 1090,
0, 0, 0, 0, 0, 0, 2052, 0, 0, 0,
1088, 0, 0, 0, 0, 0, 0, 0, 2052, 0,
0, 0, 0, 2052, 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, 1090, 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, 1091, 0,
0, 0, 0, 0, 0, 0, 1093, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1093, 0, 1091, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1088, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1088, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1090,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1090,
0, 0, 0, 0, 0, 0, 0, 1088, 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, 1093, 0, 0, 0, 0, 0, 0,
0, 0, 1091, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1093, 0,
1088, 0, 0, 0, 0, 1088, 1088, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1091, 0, 1093, 0, 1091, 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, 1090, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1090, 0, 0, 0, 0, 0,
1093, 1088, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1091, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1091, 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,
1093, 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,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1091, 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, 1088, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1091, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1090, 0, 1091, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2052, 0, 0, 1093, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2052, 0, 2052, 0, 0, 2760, 2760, 0, 3497,
0, 2760, 0, 0, 0, 2052, 0, 0, 2052, 0,
0, 0, 1091, 2052, 0, 0, 0, 0, 0, 2052,
0, 0, 1093, 0, 2052, 0, 1093, 0, 0, 0,
0, 2052, 2052, 2052, 2052, 0, 0, 0, 2760, 2760,
0, 2052, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2052, 0, 2052, 0, 0, 0, 0,
0, 0, 2052, 2052, 2052, 2052, 2052, 2052, 2052, 2052,
2052, 2052, 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, 2052, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1091, 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,
0, 0, 0, 0, 1093, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1091, 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, 2052,
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, 1090, 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, 0, 0, 0, 0, 0, 0,
0, 0, 1091, 0, 0, 0, 0, 0, 1093, 1090,
0, 0, 0, 0, 1090, 1090, 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, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1091, 0, 0, 0,
1090, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2052, 2052, 0, 0,
1091, 2052, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2052, 0, 0, 0, 0, 0, 0, 0, 0, 1091,
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,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1091, 0, 0, 0, 0, 1091, 1091, 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, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1090, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1091, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 2052, 0, 0,
0, 0, 0, 2052, 1093, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 3497,
3497, 0, 0, 2760, 2760, 2760, 2760, 0, 0, 2760,
2760, 2760, 2760, 2760, 2760, 2760, 2760, 2760, 2760, 3497,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2052, 0, 0, 2052, 0, 2052, 0, 0, 3497,
3497, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2052, 2760, 2760, 2052, 0, 2052,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1093, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1091, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2052, 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, 0, 0, 0, 0,
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, 1093,
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, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2760, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2052,
0, 0, 0, 2052, 2052, 2052, 0, 0, 0, 0,
1093, 3497, 3497, 3497, 3497, 0, 0, 0, 0, 3497,
3497, 3497, 3497, 3497, 3497, 3497, 3497, 3497, 3497, 2052,
2052, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2052, 0, 0, 2052,
0, 2052, 0, 0, 0, 2052, 0, 0, 3497, 3497,
0, 0, 2052, 2052, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2052,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2052, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2052, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 3497, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2052, 2052,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2052,
0, 0, 0, 0, 2052, 2760, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2052, 0, 2052, 0, 0, 0, 2052, 2052,
2052, 0, 0, 2052, 0, 0, 2052, 2052, 0, 0,
0, 2052, 0, 0, 0, 2052, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2052, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2052, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2052, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 3497,
2760, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2052, 2052, 2052, 0, 0, 0,
0, 0, 0, 0, 2760, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2052, 2052, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2052, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 3497, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2760,
0, 0, 3497, 0, 0, 0, 2052, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2052, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2052, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 3497, 0, 2760, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2052, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2052, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2052, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2052,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2760, 2760, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 3497, 3497, 0, 0,
0, 2052, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 226, 1211, 659, 1212, 1213, 1214,
719, 1215, 0, 0, 0, 0, 0, 0, 2052, 227,
228, 229, 230, 231, 232, 233, 234, 1610, 235, 236,
237, 0, 0, 0, 0, 1216, 0, 0, 238, 239,
0, 240, 241, 242, 243, 244, 245, 246, 247, 1217,
249, 1218, 1219, 0, 252, 253, 254, 255, 256, 257,
1220, 1221, 258, 259, 1222, 1223, 262, 0, 263, 264,
265, 266, 1224, 0, 1225, 0, 269, 270, 271, 272,
273, 274, 275, 276, 277, 0, 278, 279, 280, 281,
282, 283, 0, 284, 285, 286, 287, 1226, 1227, 1228,
1229, 1230, 1231, 1232, 289, 290, 291, 292, 293, 294,
1233, 1234, 297, 1235, 298, 0, 299, 300, 301, 302,
303, 304, 0, 305, 306, 307, 308, 1611, 0, 309,
310, 1066, 312, 313, 0, 314, 315, 316, 0, 317,
318, 319, 0, 320, 321, 322, 323, 1236, 325, 326,
327, 1237, 1238, 329, 0, 330, 331, 1239, 333, 0,
334, 0, 335, 336, 0, 337, 338, 339, 340, 341,
0, 342, 1240, 0, 1241, 345, 346, 0, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 0, 357,
358, 359, 360, 361, 362, 363, 0, 364, 365, 366,
367, 368, 369, 370, 1242, 1243, 0, 1244, 0, 374,
375, 376, 377, 378, 379, 380, 381, 382, 383, 0,
0, 384, 1245, 386, 387, 388, 0, 389, 390, 391,
1246, 1247, 392, 393, 394, 395, 396, 397, 398, 399,
400, 401, 402, 403, 404, 405, 406, 407, 1248, 409,
1249, 411, 412, 413, 414, 1250, 415, 416, 417, 418,
1251, 1252, 420, 1253, 422, 423, 424, 0, 425, 426,
0, 0, 1254, 428, 429, 0, 0, 430, 431, 432,
433, 434, 435, 1255, 437, 438, 439, 440, 441, 442,
443, 444, 445, 0, 446, 447, 1256, 449, 450, 451,
452, 453, 0, 454, 455, 456, 457, 458, 459, 460,
461, 462, 463, 1257, 465, 466, 467, 468, 0, 469,
470, 471, 472, 473, 474, 475, 476, 477, 478, 479,
480, 0, 481, 482, 483, 484, 485, 486, 487, 488,
1258, 490, 491, 492, 493, 494, 495, 496, 497, 498,
0, 499, 500, 501, 502, 503, 1259, 504, 505, 506,
507, 508, 509, 510, 511, 1260, 513, 0, 514, 515,
516, 517, 518, 519, 520, 521, 522, 523, 524, 525,
526, 1261, 528, 0, 529, 530, 0, 531, 532, 533,
534, 535, 536, 537, 0, 538, 1262, 1263, 0, 0,
541, 542, 1264, 544, 1265, 1266, 546, 547, 548, 549,
550, 551, 552, 0, 1267, 553, 554, 555, 556, 557,
1268, 0, 558, 559, 560, 561, 562, 563, 1269, 1612,
565, 566, 567, 568, 569, 570, 0, 0, 571, 0,
0, 572, 573, 574, 575, 576, 577, 578, 1270, 1271,
1272, 1273, 583, 1274, 1275, 1276, 1277, 588, 589, 590,
591, 1278, 0, 0, 0, 0, 0, 0, 1279, 1280,
1613, 0, 0, 0, 0, 0, 0, 1282, 1614, 226,
1211, 659, 1212, 1213, 1214, 719, 1215, 0, 0, 0,
0, 0, 0, 0, 227, 228, 229, 230, 231, 232,
233, 234, 0, 235, 236, 237, 0, 0, 0, 0,
1216, 0, 0, 238, 239, 0, 240, 241, 242, 243,
244, 245, 246, 247, 1217, 249, 1218, 1219, 0, 252,
253, 254, 255, 256, 257, 1220, 1221, 258, 259, 1222,
1223, 262, 0, 263, 264, 265, 266, 1224, 0, 1225,
0, 269, 270, 271, 272, 273, 274, 275, 276, 277,
0, 278, 279, 280, 281, 282, 283, 0, 284, 285,
286, 287, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 289,
290, 291, 292, 293, 294, 1233, 1234, 297, 1235, 298,
0, 299, 300, 301, 302, 303, 304, 0, 305, 306,
307, 308, 0, 0, 309, 310, 1066, 312, 313, 0,
314, 315, 316, 0, 317, 318, 319, 0, 320, 321,
322, 323, 1236, 325, 326, 327, 1237, 1238, 329, 0,
330, 331, 1239, 333, 0, 334, 0, 335, 336, 0,
337, 338, 339, 340, 341, 0, 342, 1240, 0, 1241,
345, 346, 0, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 0, 357, 358, 359, 360, 361, 362,
363, 0, 364, 365, 366, 367, 368, 369, 370, 1242,
1243, 0, 1244, 0, 374, 375, 376, 377, 378, 379,
380, 381, 382, 383, 0, 0, 384, 1245, 386, 387,
388, 0, 389, 390, 391, 1246, 1247, 392, 393, 394,
395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
405, 406, 407, 1248, 409, 1249, 411, 412, 413, 414,
1250, 415, 416, 417, 418, 1251, 1252, 420, 1253, 422,
423, 424, 0, 425, 426, 0, 0, 1254, 428, 429,
0, 0, 430, 431, 432, 433, 434, 435, 1255, 437,
438, 439, 440, 441, 442, 443, 444, 445, 0, 446,
447, 1256, 449, 450, 451, 452, 453, 0, 454, 455,
456, 457, 458, 459, 460, 461, 462, 463, 1257, 465,
466, 467, 468, 0, 469, 470, 471, 472, 473, 474,
475, 476, 477, 478, 479, 480, 0, 481, 482, 483,
484, 485, 486, 487, 488, 1258, 490, 491, 492, 493,
494, 495, 496, 497, 498, 40, 499, 500, 501, 502,
503, 1259, 504, 505, 506, 507, 508, 509, 510, 511,
1260, 513, 0, 514, 515, 516, 517, 518, 519, 520,
521, 522, 523, 524, 525, 526, 1261, 528, 0, 529,
530, 44, 531, 532, 533, 534, 535, 536, 537, 0,
538, 1262, 1263, 0, 0, 541, 542, 1264, 544, 1265,
1266, 546, 547, 548, 549, 550, 551, 552, 0, 1267,
553, 554, 555, 556, 557, 1268, 0, 558, 559, 560,
561, 562, 1145, 1269, 0, 565, 566, 567, 568, 569,
570, 0, 0, 571, 0, 49, 572, 573, 574, 575,
576, 577, 578, 1270, 1271, 1272, 1273, 583, 1274, 1275,
1276, 1277, 588, 589, 590, 591, 1278, 0, 50, 0,
0, 0, 0, 1279, 1280, 0, 0, 0, 0, 0,
0, 0, 1282, 5016, 226, 1211, 659, 1212, 1213, 1214,
719, 1215, 0, 0, 0, 0, 0, 0, 0, 227,
228, 229, 230, 231, 232, 233, 234, 0, 235, 236,
237, 0, 0, 0, 0, 1216, 0, 0, 238, 239,
0, 240, 241, 242, 243, 244, 245, 246, 247, 1217,
249, 1218, 1219, 0, 252, 253, 254, 255, 256, 257,
1220, 1221, 258, 259, 1222, 1223, 262, 0, 263, 264,
265, 266, 1224, 0, 1225, 0, 269, 270, 271, 272,
273, 274, 275, 276, 277, 0, 278, 279, 280, 281,
282, 283, 0, 284, 285, 286, 287, 1226, 1227, 1228,
1229, 1230, 1231, 1232, 289, 290, 291, 292, 293, 294,
1233, 1234, 297, 1235, 298, 0, 299, 300, 301, 302,
303, 304, 0, 305, 306, 307, 308, 0, 0, 309,
310, 1066, 312, 313, 0, 314, 315, 316, 0, 317,
318, 319, 0, 320, 321, 322, 323, 1236, 325, 326,
327, 1237, 1238, 329, 0, 330, 331, 1239, 333, 0,
334, 0, 335, 336, 0, 337, 338, 339, 340, 341,
0, 342, 1240, 0, 1241, 345, 346, 0, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 0, 357,
358, 359, 360, 361, 362, 363, 0, 364, 365, 366,
367, 368, 369, 370, 1242, 1243, 0, 1244, 0, 374,
375, 376, 377, 378, 379, 380, 381, 382, 383, 0,
0, 384, 1245, 386, 387, 388, 0, 389, 390, 391,
1246, 1247, 392, 393, 394, 395, 396, 397, 398, 399,
400, 401, 402, 403, 404, 405, 406, 407, 1248, 409,
1249, 411, 412, 413, 414, 1250, 415, 416, 417, 418,
1251, 1252, 420, 1253, 422, 423, 424, 0, 425, 426,
0, 0, 1254, 428, 429, 0, 0, 430, 431, 432,
433, 434, 435, 1255, 437, 438, 439, 440, 441, 442,
443, 444, 445, 0, 446, 447, 1256, 449, 450, 451,
452, 453, 0, 454, 455, 456, 457, 458, 459, 460,
461, 462, 463, 1257, 465, 466, 467, 468, 0, 469,
470, 471, 472, 473, 474, 475, 476, 477, 478, 479,
480, 0, 481, 482, 483, 484, 485, 486, 487, 488,
1258, 490, 491, 492, 493, 494, 495, 496, 497, 498,
0, 499, 500, 501, 502, 503, 1259, 504, 505, 506,
507, 508, 509, 510, 511, 1260, 513, 0, 514, 515,
516, 517, 518, 519, 520, 521, 522, 523, 524, 525,
526, 1261, 528, 0, 529, 530, 0, 531, 532, 533,
534, 535, 536, 537, 0, 538, 1262, 1263, 0, 0,
541, 542, 1264, 544, 1265, 1266, 546, 547, 548, 549,
550, 551, 552, 0, 1267, 553, 554, 555, 556, 557,
1268, 0, 558, 559, 560, 561, 562, 563, 1269, 0,
565, 566, 567, 568, 569, 570, 0, 0, 571, 0,
0, 572, 573, 574, 575, 576, 577, 578, 1270, 1271,
1272, 1273, 583, 1274, 1275, 1276, 1277, 588, 589, 590,
591, 1278, 0, 0, 0, 0, 0, 0, 1279, 1280,
0, 0, 0, 0, 0, 0, 0, 1282, 2762, 226,
1211, 659, 1212, 1213, 1214, 719, 1215, 0, 0, 0,
0, 0, 0, 0, 227, 228, 229, 230, 231, 232,
233, 234, 0, 235, 236, 237, 0, 0, 0, 0,
1216, 0, 0, 238, 239, 0, 240, 241, 242, 243,
244, 245, 246, 247, 1217, 249, 1218, 1219, 0, 252,
253, 254, 255, 256, 257, 1220, 1221, 258, 259, 1222,
1223, 262, 0, 263, 264, 265, 266, 1224, 0, 1225,
0, 269, 270, 271, 272, 273, 274, 275, 276, 277,
0, 278, 279, 280, 281, 282, 283, 0, 284, 285,
286, 287, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 289,
290, 291, 292, 293, 294, 1233, 1234, 297, 1235, 298,
0, 299, 300, 301, 302, 303, 304, 0, 305, 306,
307, 308, 0, 0, 309, 310, 1066, 312, 313, 0,
314, 315, 316, 0, 317, 318, 319, 0, 320, 321,
322, 323, 1236, 325, 326, 327, 1237, 1238, 329, 0,
330, 331, 1239, 333, 0, 334, 0, 335, 336, 0,
337, 338, 339, 340, 341, 0, 342, 1240, 0, 1241,
345, 346, 0, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 0, 357, 358, 359, 360, 361, 362,
363, 0, 364, 365, 366, 367, 368, 369, 370, 1242,
1243, 0, 1244, 0, 374, 375, 376, 377, 378, 379,
380, 381, 382, 383, 0, 0, 384, 1245, 386, 387,
388, 0, 389, 390, 391, 1246, 1247, 392, 393, 394,
395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
405, 406, 407, 1248, 409, 1249, 411, 412, 413, 414,
1250, 415, 416, 417, 418, 1251, 1252, 420, 1253, 422,
423, 424, 0, 425, 426, 0, 0, 1254, 428, 429,
0, 0, 430, 431, 432, 433, 434, 435, 1255, 437,
438, 439, 440, 441, 442, 443, 444, 445, 0, 446,
447, 1256, 449, 450, 451, 452, 453, 0, 454, 455,
456, 457, 458, 459, 460, 461, 462, 463, 1257, 465,
466, 467, 468, 0, 469, 470, 471, 472, 473, 474,
475, 476, 477, 478, 479, 480, 0, 481, 482, 483,
484, 485, 486, 487, 488, 1258, 490, 491, 492, 493,
494, 495, 496, 497, 498, 0, 499, 500, 501, 502,
503, 1259, 504, 505, 506, 507, 508, 509, 510, 511,
1260, 513, 0, 514, 515, 516, 517, 518, 519, 520,
521, 522, 523, 524, 525, 526, 1261, 528, 0, 529,
530, 0, 531, 532, 533, 534, 535, 536, 537, 0,
538, 1262, 1263, 0, 0, 541, 542, 1264, 544, 1265,
1266, 546, 547, 548, 549, 550, 551, 552, 0, 1267,
553, 554, 555, 556, 557, 1268, 0, 558, 559, 560,
561, 562, 563, 1269, 0, 565, 566, 567, 568, 569,
570, 0, 0, 571, 0, 0, 572, 573, 574, 575,
576, 577, 578, 1270, 1271, 1272, 1273, 583, 1274, 1275,
1276, 1277, 588, 589, 590, 591, 1278, 0, 0, 0,
0, 0, 0, 1279, 1280, 0, 0, 0, 0, 0,
0, 0, 1282, 4016, 226, 1211, 659, 1212, 1213, 1214,
719, 1215, 0, 0, 0, 0, 0, 0, 0, 227,
228, 229, 230, 231, 232, 233, 234, 0, 235, 236,
237, 0, 0, 0, 0, 1216, 0, 0, 238, 239,
0, 240, 241, 242, 243, 244, 245, 246, 247, 1217,
249, 1218, 1219, 0, 252, 253, 254, 255, 256, 257,
1220, 1221, 258, 259, 1222, 1223, 262, 0, 263, 264,
265, 266, 1224, 0, 1225, 0, 269, 270, 271, 272,
273, 274, 275, 276, 277, 0, 278, 279, 280, 281,
282, 283, 0, 284, 285, 286, 287, 1226, 1227, 1228,
1229, 1230, 1231, 1232, 289, 290, 291, 292, 293, 294,
1233, 1234, 297, 1235, 298, 0, 299, 300, 301, 302,
303, 304, 0, 305, 306, 307, 308, 0, 0, 309,
310, 1066, 312, 313, 0, 314, 315, 316, 0, 317,
318, 319, 0, 320, 321, 322, 323, 1236, 325, 326,
327, 1237, 1238, 329, 0, 330, 331, 1239, 333, 0,
334, 0, 335, 336, 0, 337, 338, 339, 340, 341,
0, 342, 1240, 0, 1241, 345, 346, 0, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 0, 357,
358, 359, 360, 361, 362, 363, 0, 364, 365, 366,
367, 368, 369, 370, 1242, 1243, 0, 1244, 0, 374,
375, 376, 377, 378, 379, 380, 381, 382, 383, 0,
0, 384, 1245, 386, 387, 388, 0, 389, 390, 391,
1246, 1247, 392, 393, 394, 395, 396, 397, 398, 399,
400, 401, 402, 403, 404, 405, 406, 407, 1248, 409,
1249, 411, 412, 413, 414, 1250, 415, 416, 417, 418,
1251, 1252, 420, 1253, 422, 423, 424, 0, 425, 426,
0, 0, 1254, 428, 429, 0, 0, 430, 431, 432,
433, 434, 435, 1255, 437, 438, 439, 440, 441, 442,
443, 444, 445, 0, 446, 447, 1256, 449, 450, 451,
452, 453, 0, 454, 455, 456, 457, 458, 459, 460,
461, 462, 463, 1257, 465, 466, 467, 468, 0, 469,
470, 471, 472, 473, 474, 475, 476, 477, 478, 479,
480, 0, 481, 482, 483, 484, 485, 486, 487, 488,
1258, 490, 491, 492, 493, 494, 495, 496, 497, 498,
0, 499, 500, 501, 502, 503, 1259, 504, 505, 506,
507, 508, 509, 510, 511, 1260, 513, 0, 514, 515,
516, 517, 518, 519, 520, 521, 522, 523, 524, 525,
526, 1261, 528, 0, 529, 530, 0, 531, 532, 533,
534, 535, 536, 537, 0, 538, 1262, 1263, 0, 0,
541, 542, 1264, 544, 1265, 1266, 546, 547, 548, 549,
550, 551, 552, 0, 1267, 553, 554, 555, 556, 557,
1268, 0, 558, 559, 560, 561, 562, 563, 1269, 0,
565, 566, 567, 568, 569, 570, 0, 0, 571, 0,
0, 572, 573, 574, 575, 576, 577, 578, 1270, 1271,
1272, 1273, 583, 1274, 1275, 1276, 1277, 588, 589, 590,
591, 1278, 0, 0, 599, 0, 0, 0, 1279, 1280,
0, 0, 0, 0, 0, 0, 0, 1282, 4088, 227,
228, 229, 230, 231, 232, 233, 234, 0, 235, 236,
237, 0, 0, 0, 0, 0, 4106, 0, 238, 239,
0, 240, 241, 242, 0, 244, 245, 246, 247, 248,
0, 250, 251, 0, 252, 253, 254, 255, 256, 257,
0, 0, 258, 259, 260, 261, 262, 0, 263, 264,
265, 266, 267, 0, 0, 0, 269, 270, 271, 272,
273, 0, 275, 276, 277, 0, 278, 279, 280, 281,
282, 283, 0, -1771, 285, 286, 287, 0, 0, 0,
0, 0, 0, 0, 289, 290, 291, 292, 293, 294,
295, 296, 297, 0, 298, 0, 299, 300, 301, 302,
303, 304, 0, 305, 306, 307, 308, 0, 0, 309,
310, 311, 312, 313, 0, 314, 315, 316, 0, 317,
318, 319, 0, 320, 321, 322, 323, 324, 325, 326,
327, 328, 0, 329, 0, 330, 331, 332, 333, 0,
334, 0, 335, 0, 0, -1771, 338, 339, 340, 341,
0, 342, 343, 0, 344, 345, 346, 0, 347, 348,
349, 350, 351, 0, 353, 354, 355, 356, 0, 357,
358, 359, 360, 361, 362, 363, 0, 364, -1771, 366,
367, 368, 369, 370, 371, 372, 0, 373, 0, 374,
0, 0, 377, -1771, 379, 380, 381, 382, 383, 0,
0, 384, 385, -1771, 387, 0, 0, 389, 390, 391,
0, 0, 392, 393, 394, 395, 396, 397, 398, 399,
400, 401, 402, 403, 404, 405, 406, 407, 408, -1771,
410, 411, 412, 413, 414, 0, 415, 416, 0, 418,
0, 419, 420, 421, 422, 423, 424, 0, 425, 426,
0, 0, 427, 428, 429, 0, 0, 430, 431, 432,
0, 434, 0, 436, 437, 438, 439, 440, 441, 442,
443, 444, 445, 0, 446, 447, 448, 449, 450, 451,
452, 453, 0, 454, 455, 456, 457, 458, 459, 460,
461, 462, 463, 464, 465, 466, 467, 468, 0, 469,
470, 471, 472, 473, 474, 475, 476, 477, 478, 479,
480, 0, 481, 482, -1771, 484, 485, 486, 487, 488,
489, 490, 491, 492, 493, 494, 495, 496, 497, 498,
0, 499, 500, 501, 502, 503, 0, 504, 505, 506,
507, 508, 0, 510, 511, 512, 513, 0, 514, 515,
516, 517, 518, 519, 520, 521, 522, 523, 524, 525,
526, 527, 528, 0, 529, 530, 0, 531, 0, 533,
534, 535, 536, 537, 0, 538, 539, 540, 0, 0,
541, 542, 543, 544, 545, 0, 546, 547, 548, 549,
550, 551, 552, 0, 0, 553, 554, 555, 556, 557,
0, 0, 558, 559, 560, 561, 562, 563, 564, 0,
565, 0, 567, 568, 569, 570, 0, 0, 571, 0,
0, 572, 573, 574, 575, 576, 577, 578, 579, 580,
581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
591, 0, 0, 0, 1058, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1358, 227,
228, 229, 230, 231, 232, 233, 234, 0, 235, 236,
237, 0, 0, 0, 0, 0, 0, 0, 238, 239,
0, 240, 241, 242, 243, 244, 245, 246, 0, 1059,
249, 1060, 1061, 0, 252, 253, 254, 255, 256, 257,
0, 0, 258, 259, 1062, 1063, 262, 0, 263, 264,
265, 266, 0, 0, 268, 0, 269, 270, 271, 272,
273, 274, 275, 276, 277, 0, 278, 279, 280, 281,
282, 283, 0, 284, 285, 286, 287, 0, 0, 0,
288, 0, 0, 0, 289, 290, 291, 292, 293, 294,
1064, 1065, 297, 0, 298, 0, 299, 300, 301, 302,
303, 304, 0, 305, 306, 307, 308, 0, 0, 309,
310, 1066, 312, 313, 0, 314, 315, 316, 0, 317,
318, 319, 0, 320, 321, 322, 323, 0, 325, 326,
327, 0, 0, 329, 0, 330, 331, 1067, 333, 0,
334, 0, 335, 336, 0, 337, 338, 339, 340, 341,
0, 342, 0, 0, 0, 345, 346, 0, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 2157, 357,
358, 359, 360, 361, 362, 363, 0, 364, 365, 2158,
367, 368, 369, 370, 1069, 1070, 0, 1071, 0, 374,
375, 376, 377, 378, 379, 380, 381, 382, 383, 0,
0, 384, 0, 386, 387, 388, 0, 389, 390, 391,
0, 0, 392, 393, 394, 395, 396, 397, 398, 399,
400, 401, 402, 403, 404, 405, 406, 407, 1072, 409,
1073, 411, 412, 413, 0, 0, 415, 416, 417, 418,
0, 0, 420, 1074, 422, 423, 424, 0, 425, 426,
0, 0, 427, 428, 429, 0, 0, 430, 431, 2160,
433, 434, 435, 0, 437, 438, 439, 440, 441, 442,
443, 444, 445, 0, 446, 447, 0, 449, 0, 451,
452, 453, 0, 454, 455, 456, 457, 458, 459, 460,
461, 462, 463, 1075, 465, 466, 467, 468, 0, 469,
470, 471, 472, 473, 474, 475, 476, 477, 478, 479,
480, 0, 481, 482, 483, 484, 485, 486, 487, 488,
0, 490, 491, 492, 493, 494, 495, 496, 497, 498,
0, 499, 500, 501, 502, 503, 0, 504, 505, 2161,
507, 508, 509, 510, 511, 1077, 513, 0, 514, 515,
516, 517, 518, 519, 520, 521, 522, 523, 524, 525,
526, 0, 528, 0, 529, 530, 0, 531, 532, 533,
534, 535, 536, 537, 0, 538, 1078, 1079, 0, 0,
541, 542, 0, 544, 0, 0, 546, 547, 548, 549,
550, 551, 552, 0, 0, 553, 554, 555, 556, 557,
0, 0, 558, 559, 560, 561, 562, 0, 1080, 2162,
565, 566, 567, 568, 569, 570, 0, 0, 571, 0,
0, 572, 573, 574, 575, 576, 577, 1058, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 589, 590,
591, 0, 227, 228, 229, 230, 231, 232, 233, 234,
0, 235, 236, 237, 0, 0, 0, 0, 2270, 0,
0, 238, 239, 0, 240, 241, 242, 243, 244, 245,
246, 0, 1059, 249, 1060, 1061, 0, 252, 253, 254,
255, 256, 257, 0, 0, 258, 259, 1062, 1063, 262,
0, 263, 264, 265, 266, 0, 0, 268, 0, 269,
270, 271, 272, 273, 274, 275, 276, 277, 0, 278,
279, 280, 281, 282, 283, 0, 284, 285, 286, 287,
0, 0, 0, 288, 0, 0, 0, 289, 290, 291,
292, 293, 294, 1064, 1065, 297, 0, 298, 0, 299,
300, 301, 302, 303, 304, 0, 305, 306, 307, 308,
0, 0, 309, 310, 1066, 312, 313, 0, 314, 315,
316, 0, 317, 318, 319, 0, 320, 321, 322, 323,
0, 325, 326, 327, 0, 0, 329, 0, 330, 331,
1067, 333, 0, 334, 0, 335, 336, 0, 337, 338,
339, 340, 341, 0, 342, 0, 0, 0, 345, 346,
0, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, 2157, 357, 358, 359, 360, 361, 362, 363, 0,
364, 365, 2158, 367, 368, 369, 370, 1069, 1070, 0,
1071, 0, 374, 375, 376, 377, 378, 379, 380, 381,
382, 383, 0, 0, 384, 0, 386, 387, 388, 0,
389, 390, 391, 0, 0, 392, 393, 394, 395, 396,
397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
407, 1072, 409, 1073, 411, 412, 413, 0, 0, 415,
416, 417, 418, 0, 0, 420, 1074, 422, 423, 424,
0, 425, 426, 0, 0, 427, 428, 429, 0, 0,
430, 431, 2160, 433, 434, 435, 0, 437, 438, 439,
440, 441, 442, 443, 444, 445, 0, 446, 447, 0,
449, 0, 451, 452, 453, 0, 454, 455, 456, 457,
458, 459, 460, 461, 462, 463, 1075, 465, 466, 467,
468, 0, 469, 470, 471, 472, 473, 474, 475, 476,
477, 478, 479, 480, 0, 481, 482, 483, 484, 485,
486, 487, 488, 0, 490, 491, 492, 493, 494, 495,
496, 497, 498, 0, 499, 500, 501, 502, 503, 0,
504, 505, 2161, 507, 508, 509, 510, 511, 1077, 513,
0, 514, 515, 516, 517, 518, 519, 520, 521, 522,
523, 524, 525, 526, 0, 528, 0, 529, 530, 0,
531, 532, 533, 534, 535, 536, 537, 0, 538, 1078,
1079, 0, 0, 541, 542, 0, 544, 0, 0, 546,
547, 548, 549, 550, 551, 552, 0, 0, 553, 554,
555, 556, 557, 0, 0, 558, 559, 560, 561, 562,
0, 1080, 2162, 565, 566, 567, 568, 569, 570, 0,
0, 571, 0, 0, 572, 573, 574, 575, 576, 577,
0, 226, 1211, 659, 1212, 1213, 1214, 719, 1215, 0,
0, 589, 590, 591, 0, 0, 227, 228, 229, 230,
231, 232, 233, 234, 0, 235, 236, 237, 0, 0,
0, 3338, 1216, 0, 0, 238, 239, 0, 240, 241,
242, 243, 244, 245, 246, 247, 1217, 249, 1218, 1219,
0, 252, 253, 254, 255, 256, 257, 1220, 1221, 258,
259, 1222, 1223, 262, 0, 263, 264, 265, 266, 1224,
0, 1225, 0, 269, 270, 271, 272, 273, 274, 275,
276, 277, 0, 278, 279, 280, 281, 282, 283, 0,
284, 285, 286, 287, 1226, 1227, 1228, 1229, 1230, 1231,
1232, 289, 290, 291, 292, 293, 294, 1233, 1234, 297,
1235, 298, 0, 299, 300, 301, 302, 303, 304, 0,
305, 306, 307, 308, 0, 0, 309, 310, 1066, 312,
313, 0, 314, 315, 316, 0, 317, 318, 319, 0,
320, 321, 322, 323, 1236, 325, 326, 327, 1237, 1238,
329, 0, 330, 331, 1239, 333, 0, 334, 0, 335,
336, 0, 337, 338, 339, 340, 341, 0, 342, 1240,
0, 1241, 345, 346, 0, 347, 348, 349, 350, 351,
352, 353, 354, 355, 356, 0, 357, 358, 359, 360,
361, 362, 363, 0, 364, 365, 366, 367, 368, 369,
370, 1242, 1243, 0, 1244, 0, 374, 375, 376, 377,
378, 379, 380, 381, 382, 383, 0, 0, 384, 1245,
386, 387, 388, 0, 389, 390, 391, 1246, 1247, 392,
393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
403, 404, 405, 406, 407, 1248, 409, 1249, 411, 412,
413, 414, 1250, 415, 416, 417, 418, 1251, 1252, 420,
1253, 422, 423, 424, 0, 425, 426, 0, 0, 1254,
428, 429, 0, 0, 430, 431, 432, 433, 434, 435,
1255, 437, 438, 439, 440, 441, 442, 443, 444, 445,
0, 446, 447, 1256, 449, 450, 451, 452, 453, 0,
454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
1257, 465, 466, 467, 468, 0, 469, 470, 471, 472,
473, 474, 475, 476, 477, 478, 479, 480, 0, 481,
482, 483, 484, 485, 486, 487, 488, 1258, 490, 491,
492, 493, 494, 495, 496, 497, 498, 40, 499, 500,
501, 502, 503, 1259, 504, 505, 506, 507, 508, 509,
510, 511, 1260, 513, 0, 514, 515, 516, 517, 518,
519, 520, 521, 522, 523, 524, 525, 526, 1261, 528,
0, 529, 530, 44, 531, 532, 533, 534, 535, 536,
537, 0, 538, 1262, 1263, 0, 0, 541, 542, 1264,
544, 1265, 1266, 546, 547, 548, 549, 550, 551, 552,
0, 1267, 553, 554, 555, 556, 557, 1268, 0, 558,
559, 560, 561, 562, 1145, 1269, 0, 565, 566, 567,
568, 569, 570, 0, 0, 571, 0, 49, 572, 573,
574, 575, 576, 577, 578, 1270, 1271, 1272, 1273, 583,
1274, 1275, 1276, 1277, 588, 589, 590, 591, 1278, 0,
50, 0, 0, 0, 0, 1279, 1280, 0, 0, 0,
0, 0, 0, 0, 1282, 226, 1211, 659, 1212, 1213,
1214, 719, 1215, 0, 0, 0, 0, 0, 0, 0,
227, 228, 229, 230, 231, 232, 233, 234, 0, 235,
236, 237, 0, 0, 0, 0, 1216, 0, 0, 238,
239, 0, 240, 241, 242, 243, 244, 245, 246, 247,
1217, 249, 1218, 1219, 2768, 252, 253, 254, 255, 256,
257, 1220, 1221, 258, 259, 1222, 1223, 262, 0, 263,
264, 265, 266, 1224, 0, 1225, 0, 269, 270, 271,
272, 273, 274, 275, 276, 277, 0, 278, 279, 280,
281, 282, 283, 0, 284, 285, 286, 287, 1226, 1227,
1228, 1229, 1230, 1231, 1232, 289, 290, 291, 292, 293,
294, 1233, 1234, 297, 1235, 298, 0, 299, 300, 301,
302, 303, 304, 0, 305, 306, 307, 308, 0, 0,
309, 310, 1066, 312, 313, 0, 314, 315, 316, 0,
317, 318, 319, 0, 320, 321, 322, 323, 1236, 325,
326, 327, 1237, 1238, 329, 0, 330, 331, 1239, 333,
0, 334, 0, 335, 336, 2769, 337, 338, 339, 340,
341, 0, 342, 1240, 0, 1241, 345, 346, 0, 347,
348, 349, 350, 351, 352, 353, 354, 355, 356, 0,
357, 358, 359, 360, 361, 362, 363, 0, 364, 365,
366, 367, 368, 369, 370, 1242, 1243, 0, 1244, 0,
374, 375, 376, 377, 378, 379, 380, 381, 382, 383,
0, 2770, 384, 1245, 386, 387, 388, 0, 389, 390,
391, 1246, 1247, 392, 393, 394, 395, 396, 397, 398,
399, 400, 401, 402, 403, 404, 405, 406, 407, 1248,
409, 1249, 411, 412, 413, 414, 1250, 415, 416, 417,
418, 1251, 1252, 420, 1253, 422, 423, 424, 0, 425,
426, 0, 0, 1254, 428, 429, 0, 0, 430, 431,
432, 433, 434, 435, 1255, 437, 438, 439, 440, 441,
442, 443, 444, 445, 0, 446, 447, 1256, 449, 450,
451, 452, 453, 0, 454, 455, 456, 457, 458, 459,
460, 461, 462, 463, 1257, 465, 466, 467, 468, 0,
469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
479, 480, 0, 481, 482, 483, 484, 485, 486, 487,
488, 1258, 490, 491, 492, 493, 494, 495, 496, 497,
498, 0, 499, 500, 501, 502, 503, 1259, 504, 505,
506, 507, 508, 509, 510, 511, 1260, 513, 0, 514,
515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
525, 526, 1261, 528, 0, 529, 530, 0, 531, 532,
533, 534, 535, 536, 537, 0, 538, 1262, 1263, 0,
2771, 541, 542, 1264, 544, 1265, 1266, 546, 547, 548,
549, 550, 551, 552, 0, 1267, 553, 554, 555, 556,
557, 1268, 0, 558, 559, 560, 561, 562, 563, 1269,
0, 565, 566, 567, 568, 569, 570, 0, 0, 571,
0, 0, 572, 573, 574, 575, 576, 577, 578, 1270,
1271, 1272, 1273, 583, 1274, 1275, 1276, 1277, 588, 589,
590, 591, 1278, 0, 0, 0, 0, 0, 0, 1279,
1280, 0, 0, 0, 0, 0, 0, 0, 1282, 226,
1211, 659, 1212, 1213, 1214, 719, 1215, 0, 0, 0,
0, 0, 0, 0, 227, 228, 229, 230, 231, 232,
233, 234, 0, 235, 236, 237, 0, 0, 0, 0,
1216, 0, 0, 238, 239, 0, 240, 241, 242, 243,
244, 245, 246, 247, 1217, 249, 1218, 1219, 0, 252,
253, 254, 255, 256, 257, 1220, 1221, 258, 259, 1222,
1223, 262, 0, 263, 264, 265, 266, 1224, 0, 1225,
0, 269, 270, 271, 272, 273, 274, 275, 276, 277,
0, 278, 279, 280, 281, 282, 283, 0, 284, 285,
286, 287, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 289,
290, 291, 292, 293, 294, 1233, 1234, 297, 1235, 298,
0, 299, 300, 301, 302, 303, 304, 0, 305, 306,
307, 308, 0, 0, 309, 310, 1066, 312, 313, 0,
314, 315, 316, 0, 317, 318, 319, 0, 320, 321,
322, 323, 1236, 325, 326, 327, 1237, 1238, 329, 0,
330, 331, 1239, 333, 0, 334, 0, 335, 336, 0,
337, 338, 339, 340, 341, 0, 342, 1240, 0, 1241,
345, 346, 0, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 0, 357, 358, 359, 360, 361, 362,
363, 0, 364, 365, 366, 367, 368, 369, 370, 1242,
1243, 0, 1244, 0, 374, 375, 376, 377, 378, 379,
380, 381, 382, 383, 0, 0, 384, 1245, 386, 387,
388, 0, 389, 390, 391, 1246, 1247, 392, 393, 394,
395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
405, 406, 407, 1248, 409, 1249, 411, 412, 413, 414,
1250, 415, 416, 417, 418, 1251, 1252, 420, 1253, 422,
423, 424, 0, 425, 426, 0, 0, 1254, 428, 429,
0, 0, 430, 431, 432, 433, 434, 435, 1255, 437,
438, 439, 440, 441, 442, 443, 444, 445, 0, 446,
447, 1256, 449, 450, 451, 452, 453, 0, 454, 455,
456, 457, 458, 459, 460, 461, 462, 463, 1257, 465,
466, 467, 468, 0, 469, 470, 471, 472, 473, 474,
475, 476, 477, 478, 479, 480, 0, 481, 482, 483,
484, 485, 486, 487, 488, 1258, 490, 491, 492, 493,
494, 495, 496, 497, 498, 0, 499, 500, 501, 502,
503, 1259, 504, 505, 506, 507, 508, 509, 510, 511,
1260, 513, 0, 514, 515, 516, 517, 518, 519, 520,
521, 522, 523, 524, 525, 526, 1261, 528, 0, 529,
530, 0, 531, 532, 533, 534, 535, 536, 537, 0,
538, 1262, 1263, 0, 0, 541, 542, 1264, 544, 1265,
1266, 546, 547, 548, 549, 550, 551, 552, 0, 1267,
553, 554, 555, 556, 557, 1268, 0, 558, 559, 560,
561, 562, 563, 1269, 0, 565, 566, 567, 568, 569,
570, 0, 0, 571, 0, 0, 572, 573, 574, 575,
576, 577, 578, 1270, 1271, 1272, 1273, 583, 1274, 1275,
1276, 1277, 588, 589, 590, 591, 1278, 0, 0, 0,
0, 0, 0, 1279, 1280, 0, 0, 0, 0, 0,
1976, 2723, 1282, 226, 1211, 659, 1212, 1213, 1214, 719,
1215, 0, 0, 0, 0, 0, 0, 0, 227, 228,
229, 230, 231, 232, 233, 234, 0, 235, 236, 237,
0, 0, 0, 0, 1216, 0, 0, 238, 239, 0,
240, 241, 242, 243, 244, 245, 246, 247, 1217, 249,
1218, 1219, 0, 252, 253, 254, 255, 256, 257, 1220,
1221, 258, 259, 1222, 1223, 262, 0, 263, 264, 265,
266, 1224, 0, 1225, 0, 269, 270, 271, 272, 273,
274, 275, 276, 277, 0, 278, 279, 280, 281, 282,
283, 0, 284, 285, 286, 287, 1226, 1227, 1228, 1229,
1230, 1231, 1232, 289, 290, 291, 292, 293, 294, 1233,
1234, 297, 1235, 298, 0, 299, 300, 301, 302, 303,
304, 0, 305, 306, 307, 308, 0, 0, 309, 310,
1066, 312, 313, 0, 314, 315, 316, 0, 317, 318,
319, 0, 320, 321, 322, 323, 1236, 325, 326, 327,
1237, 1238, 329, 0, 330, 331, 1239, 333, 0, 334,
0, 335, 336, 0, 337, 338, 339, 340, 341, 0,
342, 1240, 0, 1241, 345, 346, 0, 347, 348, 349,
350, 351, 352, 353, 354, 355, 356, 0, 357, 358,
359, 360, 361, 362, 363, 0, 364, 365, 366, 367,
368, 369, 370, 1242, 1243, 0, 1244, 0, 374, 375,
376, 377, 378, 379, 380, 381, 382, 383, 0, 0,
384, 1245, 386, 387, 388, 0, 389, 390, 391, 1246,
1247, 392, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 1248, 409, 1249,
411, 412, 413, 414, 1250, 415, 416, 417, 418, 1251,
1252, 420, 1253, 422, 423, 424, 0, 425, 426, 0,
0, 1254, 428, 429, 0, 0, 430, 431, 432, 433,
434, 435, 1255, 437, 438, 439, 440, 441, 442, 443,
444, 445, 0, 446, 447, 1256, 449, 450, 451, 452,
453, 0, 454, 455, 456, 457, 458, 459, 460, 461,
462, 463, 1257, 465, 466, 467, 468, 0, 469, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
0, 481, 482, 483, 484, 485, 486, 487, 488, 1258,
490, 491, 492, 493, 494, 495, 496, 497, 498, 0,
499, 500, 501, 502, 503, 1259, 504, 505, 506, 507,
508, 509, 510, 511, 1260, 513, 0, 514, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
1261, 528, 0, 529, 530, 0, 531, 532, 533, 534,
535, 536, 537, 0, 538, 1262, 1263, 0, 0, 541,
542, 1264, 544, 1265, 1266, 546, 547, 548, 549, 550,
551, 552, 0, 1267, 553, 554, 555, 556, 557, 1268,
0, 558, 559, 560, 561, 562, 563, 1269, 0, 565,
566, 567, 568, 569, 570, 0, 0, 571, 0, 0,
572, 573, 574, 575, 576, 577, 578, 1270, 1271, 1272,
1273, 583, 1274, 1275, 1276, 1277, 588, 589, 590, 591,
1278, 0, 0, 0, 0, 0, 0, 1279, 1280, 1281,
0, 0, 0, 0, 0, 0, 1282, 226, 1211, 659,
1212, 1213, 1214, 719, 1215, 0, 0, 0, 0, 0,
0, 0, 227, 228, 229, 230, 231, 232, 233, 234,
2125, 235, 236, 237, 0, 0, 0, 0, 1216, 0,
0, 238, 239, 0, 240, 241, 242, 243, 244, 245,
246, 247, 1217, 249, 1218, 1219, 0, 252, 253, 254,
255, 256, 257, 1220, 1221, 258, 259, 1222, 1223, 262,
0, 263, 264, 265, 266, 1224, 0, 1225, 0, 269,
270, 271, 272, 273, 274, 275, 276, 277, 0, 278,
279, 280, 281, 282, 283, 0, 284, 285, 286, 287,
1226, 1227, 1228, 1229, 1230, 1231, 1232, 289, 290, 291,
292, 293, 294, 1233, 1234, 297, 1235, 298, 0, 299,
300, 301, 302, 303, 304, 0, 305, 306, 307, 308,
0, 0, 309, 310, 1066, 312, 313, 0, 314, 315,
316, 0, 317, 318, 319, 0, 320, 321, 322, 323,
1236, 325, 326, 327, 1237, 1238, 329, 0, 330, 331,
1239, 333, 0, 334, 0, 335, 336, 0, 337, 338,
339, 340, 341, 0, 342, 1240, 0, 1241, 345, 346,
0, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, 0, 357, 358, 359, 360, 361, 362, 363, 0,
364, 365, 366, 367, 368, 369, 370, 1242, 1243, 0,
1244, 0, 374, 375, 376, 377, 378, 379, 380, 381,
382, 383, 0, 0, 384, 1245, 386, 387, 388, 0,
389, 390, 391, 1246, 1247, 392, 393, 394, 395, 396,
397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
407, 1248, 409, 1249, 411, 412, 413, 414, 1250, 415,
416, 417, 418, 1251, 1252, 420, 1253, 422, 423, 424,
0, 425, 426, 0, 0, 1254, 428, 429, 0, 0,
430, 431, 432, 433, 434, 435, 1255, 437, 438, 439,
440, 441, 442, 443, 444, 445, 0, 446, 447, 1256,
449, 450, 451, 452, 453, 0, 454, 455, 456, 457,
458, 459, 460, 461, 462, 463, 1257, 465, 466, 467,
468, 0, 469, 470, 471, 472, 473, 474, 475, 476,
477, 478, 479, 480, 0, 481, 482, 483, 484, 485,
486, 487, 488, 1258, 490, 491, 492, 493, 494, 495,
496, 497, 498, 0, 499, 500, 501, 502, 503, 1259,
504, 505, 506, 507, 508, 509, 510, 511, 1260, 513,
0, 514, 515, 516, 517, 518, 519, 520, 521, 522,
523, 524, 525, 526, 1261, 528, 0, 529, 530, 0,
531, 532, 533, 534, 535, 536, 537, 0, 538, 1262,
1263, 0, 0, 541, 542, 1264, 544, 1265, 1266, 546,
547, 548, 549, 550, 551, 552, 0, 1267, 553, 554,
555, 556, 557, 1268, 0, 558, 559, 560, 561, 562,
563, 1269, 0, 565, 566, 567, 568, 569, 570, 0,
0, 571, 0, 0, 572, 573, 574, 575, 576, 577,
578, 1270, 1271, 1272, 1273, 583, 1274, 1275, 1276, 1277,
588, 589, 590, 591, 1278, 0, 0, 0, 0, 0,
0, 1279, 1280, 0, 0, 0, 0, 0, 0, 0,
1282, 226, 1211, 659, 1212, 1213, 1214, 719, 1215, 0,
0, 0, 0, 0, 0, 0, 227, 228, 229, 230,
231, 232, 233, 234, 0, 235, 236, 237, 0, 0,
0, 0, 1216, 0, 0, 238, 239, 0, 240, 241,
242, 243, 244, 245, 246, 247, 1217, 249, 1218, 1219,
0, 252, 253, 254, 255, 256, 257, 1220, 1221, 258,
259, 1222, 1223, 262, 0, 263, 264, 265, 266, 1224,
0, 1225, 0, 269, 270, 271, 272, 273, 274, 275,
276, 277, 0, 278, 279, 280, 281, 282, 283, 0,
284, 285, 286, 287, 1226, 1227, 1228, 1229, 1230, 1231,
1232, 289, 290, 291, 292, 293, 294, 1233, 1234, 297,
1235, 298, 0, 299, 300, 301, 302, 303, 304, 0,
305, 306, 307, 308, 0, 0, 309, 310, 1066, 312,
313, 0, 314, 315, 316, 0, 317, 318, 319, 0,
320, 321, 322, 323, 1236, 325, 326, 327, 1237, 1238,
329, 0, 330, 331, 1239, 333, 0, 334, 0, 335,
336, 0, 337, 338, 339, 340, 341, 0, 342, 1240,
0, 1241, 345, 346, 0, 347, 348, 349, 350, 351,
352, 353, 354, 355, 356, 0, 357, 358, 359, 360,
361, 362, 363, 0, 364, 365, 366, 367, 368, 369,
370, 1242, 1243, 0, 1244, 0, 374, 375, 376, 377,
378, 379, 380, 381, 382, 383, 0, 0, 384, 1245,
386, 387, 388, 0, 389, 390, 391, 1246, 1247, 392,
393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
403, 404, 405, 406, 407, 1248, 409, 1249, 411, 412,
413, 414, 1250, 415, 416, 417, 418, 1251, 1252, 420,
1253, 422, 423, 424, 0, 425, 426, 0, 0, 1254,
428, 429, 0, 0, 430, 431, 432, 433, 434, 435,
1255, 437, 438, 439, 440, 441, 442, 443, 444, 445,
0, 446, 447, 1256, 449, 450, 451, 452, 453, 0,
454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
1257, 465, 466, 467, 468, 0, 469, 470, 471, 472,
473, 474, 475, 476, 477, 478, 479, 480, 0, 481,
482, 483, 484, 485, 486, 487, 488, 1258, 490, 491,
492, 493, 494, 495, 496, 497, 498, 0, 499, 500,
501, 502, 503, 1259, 504, 505, 506, 507, 508, 509,
510, 511, 1260, 513, 0, 514, 515, 516, 517, 518,
519, 520, 521, 522, 523, 524, 525, 526, 1261, 528,
0, 529, 530, 0, 531, 532, 533, 534, 535, 536,
537, 0, 538, 1262, 1263, 0, 0, 541, 542, 1264,
544, 1265, 1266, 546, 547, 548, 549, 550, 551, 552,
0, 1267, 553, 554, 555, 556, 557, 1268, 0, 558,
559, 560, 561, 562, 563, 1269, 3217, 565, 566, 567,
568, 569, 570, 0, 0, 571, 0, 0, 572, 573,
574, 575, 576, 577, 578, 1270, 1271, 1272, 1273, 583,
1274, 1275, 1276, 1277, 588, 589, 590, 591, 1278, 0,
0, 0, 0, 0, 0, 1279, 1280, 0, 0, 0,
0, 0, 0, 0, 1282, 226, 1211, 659, 1212, 1213,
1214, 719, 1215, 0, 0, 0, 0, 0, 0, 0,
227, 228, 229, 230, 231, 232, 233, 234, 0, 235,
236, 237, 0, 0, 0, 0, 1216, 0, 0, 238,
239, 0, 240, 241, 242, 243, 244, 245, 246, 247,
1217, 249, 1218, 1219, 0, 252, 253, 254, 255, 256,
257, 1220, 1221, 258, 259, 1222, 1223, 262, 0, 263,
264, 265, 266, 1224, 0, 1225, 0, 269, 270, 271,
272, 273, 274, 275, 276, 277, 0, 278, 279, 280,
281, 282, 283, 0, 284, 285, 286, 287, 1226, 1227,
1228, 1229, 1230, 1231, 1232, 289, 290, 291, 292, 293,
294, 1233, 1234, 297, 1235, 298, 0, 299, 300, 301,
302, 303, 304, 0, 305, 306, 307, 308, 0, 0,
309, 310, 1066, 312, 313, 0, 314, 315, 316, 0,
317, 318, 319, 0, 320, 321, 322, 323, 1236, 325,
326, 327, 1237, 1238, 329, 0, 330, 331, 1239, 333,
0, 334, 0, 335, 336, 2769, 337, 338, 339, 340,
341, 0, 342, 1240, 0, 1241, 345, 346, 0, 347,
348, 349, 350, 351, 352, 353, 354, 355, 356, 0,
357, 358, 359, 360, 361, 362, 363, 0, 364, 365,
366, 367, 368, 369, 370, 1242, 1243, 0, 1244, 0,
374, 375, 376, 377, 378, 379, 380, 381, 382, 383,
0, 0, 384, 1245, 386, 387, 388, 0, 389, 390,
391, 1246, 1247, 392, 393, 394, 395, 396, 397, 398,
399, 400, 401, 402, 403, 404, 405, 406, 407, 1248,
409, 1249, 411, 412, 413, 414, 1250, 415, 416, 417,
418, 1251, 1252, 420, 1253, 422, 423, 424, 0, 425,
426, 0, 0, 1254, 428, 429, 0, 0, 430, 431,
432, 433, 434, 435, 1255, 437, 438, 439, 440, 441,
442, 443, 444, 445, 0, 446, 447, 1256, 449, 450,
451, 452, 453, 0, 454, 455, 456, 457, 458, 459,
460, 461, 462, 463, 1257, 465, 466, 467, 468, 0,
469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
479, 480, 0, 481, 482, 483, 484, 485, 486, 487,
488, 1258, 490, 491, 492, 493, 494, 495, 496, 497,
498, 0, 499, 500, 501, 502, 503, 1259, 504, 505,
506, 507, 508, 509, 510, 511, 1260, 513, 0, 514,
515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
525, 526, 1261, 528, 0, 529, 530, 0, 531, 532,
533, 534, 535, 536, 537, 0, 538, 1262, 1263, 0,
0, 541, 542, 1264, 544, 1265, 1266, 546, 547, 548,
549, 550, 551, 552, 0, 1267, 553, 554, 555, 556,
557, 1268, 0, 558, 559, 560, 561, 562, 563, 1269,
0, 565, 566, 567, 568, 569, 570, 0, 0, 571,
0, 0, 572, 573, 574, 575, 576, 577, 578, 1270,
1271, 1272, 1273, 583, 1274, 1275, 1276, 1277, 588, 589,
590, 591, 1278, 0, 0, 0, 0, 0, 0, 1279,
1280, 0, 0, 0, 0, 0, 0, 0, 1282, 226,
1211, 659, 1212, 1213, 1214, 719, 1215, 0, 0, 0,
0, 0, 0, 0, 227, 228, 229, 230, 231, 232,
233, 234, 0, 235, 236, 237, 0, 0, 0, 0,
1216, 0, 0, 238, 239, 0, 240, 241, 242, 243,
244, 245, 246, 247, 1217, 249, 1218, 1219, 0, 252,
253, 254, 255, 256, 257, 1220, 1221, 258, 259, 1222,
1223, 262, 0, 263, 264, 265, 266, 1224, 0, 1225,
0, 269, 270, 271, 272, 273, 274, 275, 276, 277,
0, 278, 279, 280, 281, 282, 283, 0, 284, 285,
286, 287, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 289,
290, 291, 292, 293, 294, 1233, 1234, 297, 1235, 298,
0, 299, 300, 301, 302, 303, 304, 0, 305, 306,
307, 308, 0, 0, 309, 310, 1066, 312, 313, 0,
314, 315, 316, 0, 317, 318, 319, 0, 320, 321,
322, 323, 1236, 325, 326, 327, 1237, 1238, 329, 0,
330, 331, 1239, 333, 0, 334, 0, 335, 336, 0,
337, 338, 339, 340, 341, 0, 342, 1240, 0, 1241,
345, 346, 0, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 0, 357, 358, 359, 360, 361, 362,
363, 0, 364, 365, 366, 367, 368, 369, 370, 1242,
1243, 0, 1244, 0, 374, 375, 376, 377, 378, 379,
380, 381, 382, 383, 0, 0, 384, 1245, 386, 387,
388, 0, 389, 390, 391, 1246, 1247, 392, 393, 394,
395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
405, 406, 407, 1248, 409, 1249, 411, 412, 413, 414,
1250, 415, 416, 417, 418, 1251, 1252, 420, 1253, 422,
423, 424, 0, 425, 426, 0, 0, 1254, 428, 429,
0, 0, 430, 431, 432, 433, 434, 435, 1255, 437,
438, 439, 440, 441, 442, 443, 444, 445, 0, 446,
447, 1256, 449, 450, 451, 452, 453, 0, 454, 455,
456, 457, 458, 459, 460, 461, 462, 463, 1257, 465,
466, 467, 468, 0, 469, 470, 471, 472, 473, 474,
475, 476, 477, 478, 479, 480, 0, 481, 482, 483,
484, 485, 486, 487, 488, 1258, 490, 491, 492, 493,
494, 495, 496, 497, 498, 0, 499, 500, 501, 502,
503, 1259, 504, 505, 506, 507, 508, 509, 510, 511,
1260, 513, 0, 514, 515, 516, 517, 518, 519, 520,
521, 522, 523, 524, 525, 526, 1261, 528, 0, 529,
530, 0, 531, 532, 533, 534, 535, 536, 537, 0,
538, 1262, 1263, 0, 0, 541, 542, 1264, 544, 1265,
1266, 546, 547, 548, 549, 550, 551, 552, 0, 1267,
553, 554, 555, 556, 557, 1268, 0, 558, 559, 560,
561, 562, 563, 1269, 0, 565, 566, 567, 568, 569,
570, 0, 0, 571, 0, 0, 572, 573, 574, 575,
576, 577, 578, 1270, 1271, 1272, 1273, 583, 1274, 1275,
1276, 1277, 588, 589, 590, 591, 1278, 0, 0, 0,
0, 0, 0, 1279, 1280, 0, 0, 0, 0, 0,
0, 0, 1282, 226, 1211, 659, 1212, 1213, 1214, 719,
1215, 0, 0, 0, 0, 0, 0, 0, 227, 228,
229, 230, 231, 232, 233, 234, 0, 235, 236, 237,
0, 0, 0, 0, 1216, 0, 0, 238, 239, 0,
240, 241, 242, 243, 244, 245, 246, 247, 1217, 249,
1218, 1219, 0, 252, 253, 254, 255, 256, 257, 1220,
1221, 258, 259, 1222, 1223, 262, 0, 263, 264, 265,
266, 1224, 0, 1225, 0, 269, 270, 271, 272, 273,
274, 275, 276, 277, 0, 278, 279, 280, 281, 282,
283, 0, 284, 285, 286, 287, 1226, 1227, 1228, 1229,
1230, 1231, 1232, 289, 290, 291, 292, 293, 294, 1233,
1234, 297, 1235, 298, 0, 299, 300, 301, 302, 303,
304, 0, 305, 306, 307, 308, 0, 0, 309, 310,
1066, 312, 313, 0, 314, 315, 316, 0, 317, 318,
319, 0, 320, 321, 322, 323, 1236, 325, 326, 327,
1237, 1238, 329, 0, 330, 331, 1239, 333, 0, 334,
0, 335, 336, 0, 337, 338, 339, 340, 341, 0,
342, 1240, 0, 1241, 345, 346, 0, 347, 348, 349,
350, 351, 352, 353, 354, 355, 356, 0, 357, 358,
359, 360, 361, 362, 363, 0, 364, 365, 366, 367,
368, 369, 370, 1242, 1243, 0, 1244, 0, 374, 375,
376, 377, 378, 379, 380, 381, 382, 383, 0, 0,
384, 1245, 386, 387, 388, 0, 389, 390, 391, 1246,
1247, 392, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 1248, 409, 1249,
411, 412, 413, 414, 1250, 415, 416, 417, 418, 1251,
1252, 420, 1253, 422, 423, 424, 0, 425, 426, 0,
0, 1254, 428, 429, 0, 0, 430, 431, 432, 433,
434, 435, 1255, 437, 438, 439, 440, 441, 442, 443,
444, 445, 0, 446, 447, 1256, 449, 450, 451, 452,
453, 0, 454, 455, 456, 457, 458, 459, 460, 461,
462, 463, 1257, 465, 466, 467, 468, 0, 469, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
0, 481, 482, 483, 484, 485, 486, 487, 488, 1258,
490, 491, 492, 493, 494, 495, 496, 497, 498, 0,
499, 500, 501, 502, 503, 1259, 504, 505, 506, 507,
508, 509, 510, 511, 1260, 513, 0, 514, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
1261, 528, 0, 529, 530, 0, 531, 532, 533, 534,
535, 536, 537, 0, 538, 1262, 1263, 0, 0, 541,
542, 1264, 544, 1265, 1266, 546, 547, 548, 549, 550,
551, 552, 0, 1267, 553, 554, 555, 556, 557, 1268,
0, 558, 559, 560, 561, 562, 563, 1269, 0, 565,
566, 567, 568, 569, 570, 0, 0, 571, 0, 0,
572, 573, 574, 575, 576, 577, 578, 1270, 1271, 1272,
1273, 583, 1274, 1275, 1276, 1277, 588, 589, 590, 591,
1278, 0, 0, 0, 0, 0, 0, 2128, 2129, 0,
0, 0, 0, 0, 0, 0, 1282, 226, 2890, 659,
1212, 1213, 1214, 719, 1215, 0, 0, 0, 0, 0,
0, 0, 227, 228, 229, 230, 231, 232, 233, 234,
0, 235, 236, 237, 0, 0, 0, 0, 1216, 0,
0, 238, 239, 0, 240, 241, 242, 243, 244, 245,
246, 247, 1217, 249, 1218, 1219, 0, 252, 253, 254,
255, 256, 257, 1220, 1221, 258, 259, 1222, 1223, 262,
0, 263, 264, 265, 266, 1224, 0, 1225, 0, 269,
270, 271, 272, 273, 274, 275, 276, 277, 0, 278,
279, 280, 281, 282, 283, 0, 284, 285, 286, 287,
1226, 1227, 1228, 1229, 1230, 1231, 1232, 289, 290, 291,
292, 293, 294, 1233, 1234, 297, 1235, 298, 0, 299,
300, 301, 302, 303, 304, 0, 305, 306, 307, 308,
0, 0, 309, 310, 1066, 312, 313, 0, 314, 315,
316, 0, 317, 318, 319, 0, 320, 321, 322, 323,
1236, 325, 326, 327, 1237, 1238, 329, 0, 330, 331,
1239, 333, 0, 334, 0, 335, 336, 0, 337, 338,
339, 340, 341, 0, 342, 1240, 0, 1241, 345, 346,
0, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, 0, 357, 358, 359, 360, 361, 362, 363, 0,
364, 365, 366, 367, 368, 369, 370, 1242, 1243, 0,
1244, 0, 374, 375, 376, 377, 378, 379, 380, 381,
382, 383, 0, 0, 384, 1245, 386, 387, 388, 0,
389, 390, 391, 1246, 1247, 392, 393, 394, 395, 396,
397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
407, 1248, 409, 1249, 411, 412, 413, 414, 1250, 415,
416, 417, 418, 1251, 1252, 420, 1253, 422, 423, 424,
0, 425, 426, 0, 0, 1254, 428, 429, 0, 0,
430, 431, 432, 433, 434, 435, 1255, 437, 438, 439,
440, 441, 442, 443, 444, 445, 0, 446, 447, 1256,
449, 450, 451, 452, 453, 0, 454, 455, 456, 457,
458, 459, 460, 461, 462, 463, 1257, 465, 466, 467,
468, 0, 469, 470, 471, 472, 473, 474, 475, 476,
477, 478, 479, 480, 0, 481, 482, 483, 484, 485,
486, 487, 488, 1258, 490, 491, 492, 493, 494, 495,
496, 497, 498, 0, 499, 500, 501, 502, 503, 1259,
504, 505, 506, 507, 508, 509, 510, 511, 1260, 513,
0, 514, 515, 516, 517, 518, 519, 520, 521, 522,
523, 524, 525, 526, 1261, 528, 0, 529, 530, 0,
531, 532, 533, 534, 535, 536, 537, 0, 538, 1262,
1263, 0, 0, 541, 542, 1264, 544, 1265, 1266, 546,
547, 548, 549, 550, 551, 552, 0, 1267, 553, 554,
555, 556, 557, 1268, 0, 558, 559, 560, 561, 562,
563, 1269, 0, 565, 566, 567, 568, 569, 570, 0,
0, 571, 0, 0, 572, 573, 574, 575, 576, 577,
578, 1270, 1271, 1272, 1273, 583, 1274, 1275, 1276, 1277,
588, 589, 590, 591, 1278, 0, 0, 0, 0, 0,
0, 1279, 1280, 0, 0, 0, 0, 0, 0, 0,
1282, 226, 1211, 659, 1212, 1213, 1214, 719, 1215, 0,
0, 0, 0, 0, 0, 0, 227, 228, 229, 230,
231, 232, 233, 234, 0, 235, 236, 237, 0, 0,
0, 0, 1216, 0, 0, 238, 239, 0, 240, 241,
242, 243, 244, 245, 246, 247, 1217, 249, 1218, 1219,
0, 252, 253, 254, 255, 256, 257, 1220, 1221, 258,
259, 1222, 1223, 262, 0, 263, 264, 265, 266, 1224,
0, 1225, 0, 269, 270, 271, 272, 273, 274, 275,
276, 277, 0, 278, 279, 280, 281, 282, 283, 0,
284, 285, 286, 4140, 1226, 1227, 1228, 1229, 1230, 1231,
1232, 289, 290, 291, 292, 293, 294, 1233, 1234, 297,
1235, 298, 0, 299, 300, 301, 302, 303, 304, 0,
305, 306, 307, 308, 0, 0, 309, 310, 1066, 312,
313, 0, 314, 315, 316, 0, 317, 318, 319, 0,
320, 321, 322, 323, 1236, 325, 326, 327, 1237, 1238,
329, 0, 330, 331, 1239, 333, 0, 334, 0, 335,
336, 0, 337, 338, 339, 340, 341, 0, 342, 1240,
0, 1241, 345, 346, 0, 347, 348, 349, 350, 351,
352, 353, 354, 355, 356, 0, 357, 358, 359, 360,
361, 362, 363, 0, 364, 365, 366, 367, 368, 369,
370, 1242, 1243, 0, 1244, 0, 374, 375, 376, 377,
378, 379, 380, 381, 382, 383, 0, 0, 384, 1245,
386, 387, 388, 0, 389, 390, 391, 1246, 1247, 392,
393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
403, 404, 405, 406, 407, 1248, 409, 1249, 411, 412,
413, 414, 1250, 415, 416, 417, 418, 1251, 1252, 420,
1253, 422, 423, 424, 0, 425, 426, 0, 0, 1254,
428, 429, 0, 0, 430, 431, 432, 433, 434, 435,
1255, 437, 438, 439, 440, 441, 442, 443, 444, 445,
0, 446, 447, 1256, 449, 450, 451, 452, 453, 0,
454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
1257, 465, 466, 467, 468, 0, 469, 470, 471, 472,
473, 474, 475, 476, 477, 478, 479, 480, 0, 481,
482, 483, 484, 485, 486, 487, 488, 1258, 490, 491,
492, 493, 494, 495, 496, 497, 498, 0, 499, 500,
501, 502, 503, 1259, 504, 505, 506, 507, 508, 509,
510, 511, 1260, 513, 0, 514, 515, 516, 517, 518,
519, 520, 521, 522, 523, 524, 525, 526, 1261, 528,
0, 529, 530, 0, 531, 532, 533, 534, 535, 536,
537, 0, 538, 1262, 1263, 0, 0, 541, 542, 1264,
544, 1265, 1266, 546, 547, 548, 549, 550, 551, 552,
0, 1267, 553, 554, 555, 556, 557, 1268, 0, 558,
559, 560, 561, 562, 563, 1269, 0, 565, 566, 567,
568, 569, 570, 0, 0, 571, 0, 0, 572, 573,
574, 575, 576, 577, 578, 1270, 1271, 1272, 1273, 583,
1274, 1275, 1276, 1277, 588, 589, 590, 591, 1278, 0,
0, 0, 0, 0, 0, 1279, 1280, 0, 0, 0,
0, 0, 0, 0, 1282, 226, 1211, 659, 1212, 1213,
1214, 719, 1215, 0, 0, 0, 0, 0, 0, 0,
227, 228, 229, 230, 231, 232, 233, 234, 0, 235,
236, 237, 0, 0, 0, 0, 1216, 0, 0, 238,
239, 0, 240, 241, 242, 243, 244, 245, 246, 247,
1217, 249, 1218, 1219, 0, 252, 253, 254, 255, 256,
257, 1220, 1221, 258, 259, 1222, 1223, 262, 0, 263,
264, 265, 266, 1224, 0, 1225, 0, 269, 270, 271,
272, 273, 274, 275, 276, 277, 0, 278, 279, 280,
281, 282, 283, 0, 284, 285, 286, 287, 1226, 1227,
1228, 1229, 1230, 1231, 1232, 289, 290, 291, 292, 293,
294, 1233, 1234, 297, 1235, 298, 0, 299, 300, 301,
302, 303, 304, 0, 305, 306, 307, 308, 0, 0,
309, 310, 1066, 312, 313, 0, 314, 315, 316, 0,
317, 318, 319, 0, 320, 321, 322, 323, 1236, 325,
326, 327, 1237, 1238, 329, 0, 330, 331, 1239, 333,
0, 334, 0, 335, 336, 0, 337, 338, 339, 340,
341, 0, 342, 1240, 0, 1241, 345, 346, 0, 347,
348, 349, 350, 351, 352, 353, 354, 355, 356, 0,
357, 358, 359, 360, 361, 362, 363, 0, 364, 365,
366, 367, 368, 369, 370, 1242, 1243, 0, 1244, 0,
374, 375, 376, 377, 378, 379, 380, 381, 382, 383,
0, 0, 384, 1245, 386, 387, 388, 0, 389, 390,
391, 1246, 1247, 392, 393, 394, 395, 396, 397, 398,
399, 400, 401, 402, 403, 404, 405, 406, 407, 1248,
409, 1249, 411, 412, 413, 414, 1250, 415, 416, 417,
418, 1251, 1252, 420, 1253, 422, 423, 424, 0, 425,
426, 0, 0, 1254, 428, 429, 0, 0, 430, 431,
432, 433, 434, 435, 1255, 437, 438, 439, 440, 441,
442, 443, 444, 445, 0, 446, 447, 1256, 449, 450,
451, 452, 453, 0, 454, 455, 456, 457, 458, 459,
460, 461, 462, 463, 1257, 465, 466, 467, 468, 0,
469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
479, 480, 0, 481, 482, 483, 484, 485, 486, 487,
488, 1258, 490, 491, 492, 493, 494, 495, 496, 497,
498, 0, 499, 500, 501, 502, 503, 1259, 504, 505,
506, 507, 508, 509, 510, 511, 1260, 513, 0, 514,
515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
525, 526, 1261, 528, 0, 529, 530, 0, 531, 532,
533, 534, 535, 536, 537, 0, 538, 1262, 1263, 0,
0, 541, 542, 1264, 544, 1265, 1266, 546, 547, 548,
549, 550, 551, 552, 0, 1267, 553, 554, 555, 556,
557, 1268, 0, 558, 559, 560, 561, 562, 563, 1269,
0, 565, 566, 567, 568, 569, 570, 0, 0, 571,
0, 0, 572, 573, 574, 575, 576, 577, 4480, 1270,
1271, 1272, 1273, 583, 1274, 1275, 1276, 1277, 588, 589,
590, 591, 1278, 0, 0, 0, 0, 0, 0, 1279,
1280, 0, 0, 0, 0, 0, 0, 0, 1282, 226,
1211, 659, 1212, 1213, 1214, 719, 1215, 0, 0, 0,
0, 0, 0, 0, 227, 228, 229, 230, 231, 232,
233, 234, 0, 235, 236, 237, 0, 0, 0, 0,
1216, 0, 0, 238, 239, 0, 240, 241, 242, 243,
244, 245, 246, 247, 1217, 249, 1218, 1219, 0, 252,
253, 254, 255, 256, 257, 1220, 1221, 258, 259, 1222,
1223, 262, 0, 263, 264, 265, 266, 1224, 0, 1225,
0, 269, 270, 271, 272, 273, 274, 275, 276, 277,
0, 278, 279, 280, 281, 282, 283, 0, 284, 285,
286, 287, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 289,
290, 291, 292, 293, 294, 1233, 1234, 297, 1235, 298,
0, 299, 300, 301, 302, 303, 304, 0, 305, 306,
307, 308, 0, 0, 309, 310, 1066, 312, 313, 0,
314, 315, 316, 0, 317, 318, 319, 0, 320, 321,
322, 323, 1236, 325, 326, 327, 1237, 1238, 329, 0,
330, 331, 1239, 333, 0, 334, 0, 335, 336, 0,
337, 338, 339, 340, 341, 0, 342, 1240, 0, 1241,
345, 346, 0, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 0, 357, 358, 359, 360, 361, 362,
363, 0, 364, 365, 366, 367, 368, 369, 370, 1242,
1243, 0, 1244, 0, 374, 375, 376, 377, 378, 379,
380, 381, 382, 383, 0, 0, 384, 1245, 386, 387,
388, 0, 389, 390, 391, 1246, 1247, 392, 393, 394,
395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
405, 406, 407, 1248, 409, 1249, 411, 412, 4492, 414,
1250, 415, 416, 417, 418, 1251, 1252, 420, 1253, 422,
423, 424, 0, 425, 426, 0, 0, 1254, 428, 429,
0, 0, 430, 431, 432, 433, 434, 435, 1255, 437,
438, 439, 440, 441, 442, 443, 444, 445, 0, 446,
447, 1256, 449, 450, 451, 452, 453, 0, 454, 455,
456, 457, 458, 459, 460, 461, 462, 463, 1257, 465,
466, 467, 468, 0, 469, 470, 471, 472, 473, 474,
475, 476, 477, 478, 479, 480, 0, 481, 482, 483,
484, 485, 486, 487, 488, 1258, 490, 491, 492, 493,
494, 495, 496, 497, 498, 0, 499, 500, 501, 502,
503, 1259, 504, 505, 506, 507, 508, 509, 510, 511,
1260, 513, 0, 514, 515, 516, 517, 518, 519, 520,
521, 522, 523, 524, 525, 526, 1261, 528, 0, 529,
530, 0, 531, 532, 533, 534, 535, 536, 537, 0,
538, 1262, 1263, 0, 0, 541, 542, 1264, 544, 1265,
1266, 546, 547, 548, 549, 550, 551, 552, 0, 1267,
553, 554, 555, 556, 557, 1268, 0, 558, 559, 560,
561, 562, 563, 1269, 0, 565, 566, 567, 568, 569,
570, 0, 0, 571, 0, 0, 572, 573, 574, 575,
576, 577, 578, 1270, 1271, 1272, 1273, 583, 1274, 1275,
1276, 1277, 588, 589, 590, 591, 1278, 0, 0, 0,
0, 0, 0, 1279, 1280, 0, 0, 0, 0, 0,
0, 0, 1282, 226, 1211, 659, 1212, 1213, 1214, 719,
1215, 0, 0, 0, 0, 0, 0, 0, 227, 228,
229, 230, 231, 232, 233, 234, 0, 235, 236, 237,
0, 0, 0, 0, 1216, 0, 0, 238, 239, 0,
240, 241, 242, 243, 244, 245, 246, 247, 1217, 249,
1218, 1219, 0, 252, 253, 254, 255, 256, 257, 1220,
1221, 258, 259, 1222, 1223, 262, 0, 263, 264, 265,
266, 1224, 0, 1225, 0, 269, 270, 271, 272, 273,
274, 275, 276, 277, 0, 278, 279, 280, 281, 282,
283, 0, 284, 285, 4800, 287, 1226, 1227, 1228, 1229,
1230, 1231, 1232, 289, 290, 291, 292, 293, 294, 1233,
1234, 297, 1235, 298, 0, 299, 300, 301, 302, 303,
304, 0, 305, 306, 307, 308, 0, 0, 309, 310,
1066, 312, 313, 0, 314, 315, 316, 0, 317, 318,
319, 0, 320, 321, 322, 323, 1236, 325, 326, 327,
1237, 1238, 329, 0, 330, 331, 1239, 333, 0, 334,
0, 335, 336, 0, 337, 338, 339, 340, 341, 0,
342, 1240, 0, 4801, 345, 346, 0, 347, 348, 349,
350, 351, 352, 353, 354, 355, 356, 0, 357, 358,
359, 360, 361, 362, 363, 0, 364, 365, 366, 367,
368, 369, 370, 1242, 1243, 0, 1244, 0, 374, 375,
376, 377, 378, 379, 380, 381, 382, 383, 0, 0,
384, 1245, 386, 387, 388, 0, 389, 390, 391, 1246,
1247, 392, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 1248, 409, 1249,
411, 412, 413, 414, 1250, 415, 416, 417, 418, 1251,
1252, 420, 1253, 422, 423, 424, 0, 425, 426, 0,
0, 1254, 428, 429, 0, 0, 430, 431, 432, 433,
434, 435, 1255, 437, 438, 439, 440, 441, 442, 443,
444, 445, 0, 446, 447, 1256, 449, 450, 451, 452,
453, 0, 454, 455, 456, 457, 458, 459, 460, 461,
462, 463, 1257, 465, 466, 467, 468, 0, 469, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
0, 481, 482, 483, 484, 485, 4802, 487, 488, 1258,
490, 491, 492, 493, 494, 495, 496, 497, 498, 0,
499, 500, 501, 502, 503, 1259, 504, 505, 506, 507,
508, 509, 510, 511, 1260, 513, 0, 514, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
1261, 528, 0, 529, 530, 0, 531, 532, 533, 534,
535, 536, 537, 0, 538, 1262, 1263, 0, 0, 541,
542, 1264, 544, 1265, 1266, 546, 547, 548, 549, 550,
551, 552, 0, 1267, 553, 554, 555, 556, 557, 1268,
0, 558, 559, 560, 561, 562, 563, 1269, 0, 565,
566, 567, 568, 569, 570, 0, 0, 571, 0, 0,
572, 573, 574, 575, 576, 577, 578, 1270, 1271, 1272,
1273, 583, 1274, 1275, 1276, 1277, 588, 589, 590, 591,
1278, 0, 0, 0, 0, 0, 0, 1279, 1280, 0,
0, 0, 0, 0, 0, 0, 4803, 226, 1211, 659,
1212, 1213, 1214, 719, 1215, 0, 0, 0, 0, 0,
0, 0, 227, 228, 229, 230, 231, 232, 233, 234,
0, 235, 236, 237, 0, 0, 0, 0, 1216, 0,
0, 238, 239, 0, 240, 241, 242, 243, 244, 245,
246, 5274, 1217, 249, 1218, 1219, 0, 252, 253, 254,
255, 256, 257, 1220, 1221, 258, 259, 1222, 1223, 262,
0, 263, 264, 265, 266, 1224, 0, 1225, 0, 269,
270, 271, 272, 273, 274, 275, 276, 277, 0, 278,
279, 280, 281, 282, 283, 0, 284, 285, 286, 5275,
1226, 1227, 1228, 1229, 1230, 1231, 1232, 289, 290, 291,
292, 293, 294, 1233, 1234, 297, 1235, 298, 0, 299,
300, 301, 302, 303, 304, 0, 305, 306, 307, 308,
0, 0, 309, 310, 1066, 312, 313, 0, 314, 315,
316, 0, 317, 318, 319, 0, 320, 321, 322, 323,
1236, 325, 326, 327, 1237, 1238, 329, 0, 330, 331,
1239, 333, 0, 334, 0, 335, 336, 0, 337, 338,
339, 340, 341, 0, 342, 1240, 0, 1241, 345, 346,
0, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, 0, 357, 358, 359, 360, 361, 362, 363, 0,
364, 365, 366, 367, 368, 369, 370, 1242, 1243, 0,
1244, 0, 374, 375, 376, 377, 378, 379, 380, 381,
382, 383, 0, 0, 384, 1245, 386, 387, 388, 0,
389, 390, 391, 1246, 1247, 392, 393, 394, 395, 396,
397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
407, 1248, 409, 1249, 411, 412, 413, 414, 1250, 415,
416, 417, 418, 1251, 1252, 420, 1253, 422, 423, 424,
0, 425, 426, 0, 0, 1254, 428, 429, 0, 0,
430, 431, 432, 433, 434, 435, 1255, 437, 438, 439,
440, 441, 442, 443, 444, 445, 0, 446, 447, 1256,
449, 450, 451, 452, 453, 0, 454, 455, 456, 457,
458, 459, 460, 461, 462, 463, 1257, 465, 466, 467,
468, 0, 469, 470, 471, 472, 473, 474, 475, 476,
477, 478, 479, 480, 0, 481, 482, 483, 484, 485,
486, 487, 488, 1258, 490, 491, 492, 493, 494, 495,
496, 497, 498, 0, 499, 500, 501, 502, 503, 1259,
504, 505, 506, 507, 508, 509, 510, 511, 1260, 513,
0, 514, 515, 516, 517, 518, 519, 520, 521, 522,
523, 524, 525, 526, 1261, 528, 0, 529, 530, 0,
531, 532, 533, 534, 535, 536, 537, 0, 538, 1262,
1263, 0, 0, 541, 542, 1264, 544, 1265, 1266, 546,
547, 548, 549, 5276, 551, 552, 0, 1267, 553, 554,
555, 556, 557, 1268, 0, 558, 559, 560, 561, 562,
563, 1269, 0, 565, 566, 567, 568, 569, 570, 0,
0, 571, 0, 0, 572, 573, 574, 575, 576, 577,
578, 1270, 1271, 1272, 1273, 583, 1274, 1275, 1276, 1277,
588, 589, 590, 591, 1278, 0, 0, 0, 0, 0,
0, 1279, 1280, 0, 0, 0, 0, 0, 0, 0,
1282, 226, 1211, 659, 1212, 1213, 1214, 719, 1215, 0,
0, 0, 0, 0, 0, 0, 227, 228, 229, 230,
231, 232, 233, 234, 0, 235, 236, 237, 0, 0,
0, 0, 1216, 0, 0, 238, 239, 0, 240, 241,
242, 243, 244, 245, 246, 247, 1217, 249, 1218, 1219,
0, 252, 253, 254, 255, 256, 257, 1220, 1221, 258,
259, 1222, 1223, 262, 0, 263, 264, 265, 266, 1224,
0, 1225, 0, 269, 270, 271, 272, 273, 274, 275,
276, 277, 0, 278, 279, 280, 281, 282, 283, 0,
284, 285, 286, 5275, 1226, 1227, 1228, 1229, 1230, 1231,
1232, 289, 290, 291, 292, 293, 294, 1233, 1234, 297,
1235, 298, 0, 299, 300, 301, 302, 303, 304, 0,
305, 306, 307, 308, 0, 0, 309, 310, 1066, 312,
313, 0, 314, 315, 316, 0, 317, 318, 319, 0,
320, 321, 322, 323, 1236, 325, 326, 327, 1237, 1238,
329, 0, 330, 331, 1239, 333, 0, 334, 0, 335,
336, 0, 337, 338, 339, 340, 341, 0, 342, 1240,
0, 1241, 345, 346, 0, 347, 348, 349, 350, 351,
352, 353, 354, 355, 356, 0, 357, 358, 359, 360,
361, 362, 363, 0, 364, 365, 366, 367, 368, 369,
370, 1242, 1243, 0, 1244, 0, 374, 375, 376, 377,
378, 379, 380, 381, 382, 383, 0, 0, 384, 1245,
386, 387, 388, 0, 389, 390, 391, 1246, 1247, 392,
393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
403, 404, 405, 406, 407, 1248, 409, 1249, 411, 412,
413, 414, 1250, 415, 416, 417, 418, 1251, 1252, 420,
1253, 422, 423, 424, 0, 425, 426, 0, 0, 1254,
428, 429, 0, 0, 430, 431, 432, 433, 434, 435,
1255, 437, 438, 439, 440, 441, 442, 443, 444, 445,
0, 446, 447, 1256, 449, 450, 451, 452, 453, 0,
454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
1257, 465, 466, 467, 468, 0, 469, 470, 471, 472,
473, 474, 475, 476, 477, 478, 479, 480, 0, 481,
482, 483, 484, 485, 486, 487, 488, 1258, 490, 491,
492, 493, 494, 495, 496, 497, 498, 0, 499, 500,
501, 502, 503, 1259, 504, 505, 506, 507, 508, 509,
510, 511, 1260, 513, 0, 514, 515, 516, 517, 518,
519, 520, 521, 522, 523, 524, 525, 526, 1261, 528,
0, 529, 530, 0, 531, 532, 533, 534, 535, 536,
537, 0, 538, 1262, 1263, 0, 0, 541, 542, 1264,
544, 1265, 1266, 546, 547, 548, 549, 5276, 551, 552,
0, 1267, 553, 554, 555, 556, 557, 1268, 0, 558,
559, 560, 561, 562, 563, 1269, 0, 565, 566, 567,
568, 569, 570, 0, 0, 571, 0, 0, 572, 573,
574, 575, 576, 577, 578, 1270, 1271, 1272, 1273, 583,
1274, 1275, 1276, 1277, 588, 589, 590, 591, 1278, 0,
0, 0, 0, 0, 0, 1279, 1280, 0, 0, 0,
0, 0, 0, 0, 1282, 226, 1211, 659, 1212, 1213,
1214, 719, 1215, 0, 0, 0, 0, 0, 0, 0,
227, 228, 229, 230, 231, 232, 233, 234, 0, 235,
236, 237, 0, 0, 0, 0, 1216, 0, 0, 238,
239, 0, 240, 241, 242, 243, 244, 245, 246, 247,
1217, 249, 1218, 1219, 0, 252, 253, 254, 255, 256,
257, 1220, 1221, 258, 259, 1222, 1223, 262, 0, 263,
264, 265, 266, 1224, 0, 1225, 0, 269, 270, 271,
272, 273, 274, 275, 276, 277, 0, 278, 279, 280,
281, 282, 283, 0, 284, 285, 286, 287, 1226, 1227,
1228, 1229, 1230, 1231, 1232, 289, 290, 291, 292, 293,
294, 1233, 1234, 297, 4998, 298, 0, 299, 300, 301,
302, 303, 304, 0, 305, 306, 307, 308, 0, 0,
309, 310, 1066, 312, 313, 0, 314, 315, 316, 0,
317, 318, 319, 0, 320, 321, 322, 323, 1236, 325,
326, 327, 1237, 1238, 329, 0, 330, 331, 1239, 333,
0, 334, 0, 335, 336, 0, 337, 338, 339, 340,
341, 0, 342, 1240, 0, 1241, 345, 346, 0, 347,
348, 349, 350, 351, 352, 353, 354, 355, 356, 0,
357, 358, 359, 360, 361, 362, 363, 0, 364, 365,
366, 367, 368, 369, 370, 1242, 1243, 0, 1244, 0,
374, 375, 376, 377, 378, 379, 380, 381, 382, 383,
0, 0, 384, 1245, 386, 387, 388, 0, 389, 390,
391, 1246, 1247, 392, 393, 394, 395, 396, 397, 398,
399, 400, 401, 402, 403, 404, 405, 406, 407, 1248,
409, 1249, 411, 412, 413, 414, 0, 415, 416, 417,
418, 1251, 1252, 420, 1253, 422, 423, 424, 0, 425,
426, 0, 0, 1254, 428, 429, 0, 0, 430, 431,
432, 433, 434, 435, 1255, 437, 438, 439, 440, 441,
442, 443, 444, 445, 0, 446, 447, 1256, 449, 450,
451, 452, 453, 0, 454, 455, 456, 457, 458, 459,
460, 461, 462, 463, 1257, 465, 466, 467, 468, 0,
469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
479, 480, 0, 481, 482, 483, 484, 485, 486, 487,
488, 2754, 490, 491, 492, 493, 494, 495, 496, 497,
498, 0, 499, 500, 501, 502, 503, 1259, 504, 505,
506, 507, 508, 509, 510, 511, 1260, 513, 0, 514,
515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
525, 526, 1261, 528, 0, 529, 530, 0, 531, 532,
533, 534, 535, 536, 537, 0, 538, 1262, 1263, 0,
0, 541, 542, 1264, 544, 1265, 1266, 546, 547, 548,
549, 550, 551, 552, 0, 0, 553, 554, 555, 556,
557, 1268, 0, 558, 559, 560, 561, 562, 563, 1269,
0, 565, 566, 567, 568, 569, 570, 0, 0, 571,
0, 0, 572, 573, 574, 575, 576, 577, 578, 1270,
1271, 1272, 1273, 583, 1274, 1275, 1276, 1277, 588, 589,
590, 591, 0, 0, 0, 0, 0, 0, 0, 2755,
2756, 0, 0, 0, 0, 0, 0, 0, 2757, 226,
1211, 659, 1212, 1213, 1214, 719, 1215, 0, 0, 0,
0, 0, 0, 0, 227, 228, 229, 230, 231, 232,
233, 234, 0, 235, 236, 237, 0, 0, 0, 0,
1216, 0, 0, 238, 239, 0, 240, 241, 242, 243,
244, 245, 246, -2631, 1217, 249, 1218, 1219, 0, 252,
253, 254, 255, 256, 257, 1220, 1221, 258, 259, 1222,
1223, 262, 0, 263, 264, 265, 266, 1224, 0, 1225,
0, 269, 270, 271, 272, 273, 274, 275, 276, 277,
0, 278, 279, 280, 281, 282, 283, 0, 284, 285,
286, 5275, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 289,
290, 291, 292, 293, 294, 1233, 1234, 297, 1235, 298,
0, 299, 300, 301, 302, 303, 304, 0, 305, 306,
307, 308, 0, 0, 309, 310, 1066, 312, 313, 0,
314, 315, 316, 0, 317, 318, 319, 0, 320, 321,
322, 323, 1236, 325, 326, 327, 1237, 1238, 329, 0,
330, 331, 1239, 333, 0, 334, 0, 335, 336, 0,
337, 338, 339, 340, 341, 0, 342, 1240, 0, 1241,
345, 346, 0, 347, 348, 349, 350, 351, -2631, 353,
354, 355, 356, 0, 357, 358, 359, 360, 361, 362,
363, 0, 364, 365, 366, 367, 368, 369, 370, 1242,
1243, 0, 1244, 0, 374, 0, 0, 377, 378, 379,
380, 381, 382, 383, 0, 0, 384, 1245, 386, 387,
-2631, 0, 389, 390, 391, 1246, 1247, 392, 393, 394,
395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
405, 406, 407, 1248, 409, 1249, 411, 412, 413, 414,
1250, 415, 416, 0, 418, 1251, 1252, 420, 1253, 422,
423, 424, 0, 425, 426, 0, 0, 1254, 428, 429,
0, 0, 430, 431, 432, 433, 434, 435, 1255, 437,
438, 439, 440, 441, 442, 443, 444, 445, 0, 446,
447, 1256, 449, 450, 451, 452, 453, 0, 454, 455,
456, 457, 458, 459, 460, 461, 462, 463, 1257, 465,
466, 467, 468, 0, 469, 470, 471, 472, 473, 474,
475, 476, 477, 478, 479, 480, 0, 481, 482, 483,
484, 485, 486, 487, 488, 1258, 490, 491, 492, 493,
494, 495, 496, 497, 498, 0, 499, 500, 501, 502,
503, 1259, 504, 505, 506, 507, 508, -2631, 510, 511,
1260, 513, 0, 514, 515, 516, 517, 518, 519, 520,
521, 522, 523, 524, 525, 526, 1261, 528, 0, 529,
530, 0, 531, 532, 533, 534, 535, 536, 537, 0,
538, 1262, 1263, 0, 0, 541, 542, 1264, 544, 1265,
1266, 546, 547, 548, 549, 5276, 551, 552, 0, 1267,
553, 554, 555, 556, 557, 1268, 0, 558, 559, 560,
561, 562, 563, 1269, 0, 565, 566, 567, 568, 569,
570, 0, 0, 571, 0, 0, 572, 573, 574, 575,
576, 577, 578, 1270, 1271, 1272, 1273, 583, 1274, 1275,
1276, 1277, 588, 589, 590, 591, -2631, 0, 0, 0,
0, 0, 0, 1279, 1280, 0, 0, 0, 0, 0,
0, 0, 1282, 226, 1211, 659, 1212, 1213, 1214, 719,
1215, 0, 0, 0, 0, 0, 0, 0, 227, 228,
229, 230, 231, 232, 233, 234, 0, 235, 236, 237,
0, 0, 0, 0, 1216, 0, 0, 238, 239, 0,
240, 241, 242, 243, 244, 245, 246, 247, 1217, 249,
1218, 1219, 0, 252, 253, 254, 255, 256, 257, 1220,
1221, 258, 259, 1222, 1223, 262, 0, 263, 264, 265,
266, 1224, 0, 1225, 0, 269, 270, 271, 272, 273,
274, 275, 276, 277, 0, 278, 279, 280, 281, 282,
283, 0, 284, 285, 286, 287, 1226, 1227, 1228, 1229,
1230, 1231, 1232, 289, 290, 291, 292, 293, 294, 1233,
1234, 297, 0, 298, 0, 299, 300, 301, 302, 303,
304, 0, 305, 306, 307, 308, 0, 0, 309, 310,
1066, 312, 313, 0, 314, 315, 316, 0, 317, 318,
319, 0, 320, 321, 322, 323, 1236, 325, 326, 327,
1237, 1238, 329, 0, 330, 331, 1239, 333, 0, 334,
0, 335, 336, 0, 337, 338, 339, 340, 341, 0,
342, 1240, 0, 1241, 345, 346, 0, 347, 348, 349,
350, 351, 352, 353, 354, 355, 356, 0, 357, 358,
359, 360, 361, 362, 363, 0, 364, 365, 366, 367,
368, 369, 370, 1242, 1243, 0, 1244, 0, 374, 375,
376, 377, 378, 379, 380, 381, 382, 383, 0, 0,
384, 1245, 386, 387, 388, 0, 389, 390, 391, 1246,
1247, 392, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 1248, 409, 1249,
411, 412, 413, 414, 0, 415, 416, 417, 418, 1251,
1252, 420, 1253, 422, 423, 424, 0, 425, 426, 0,
0, 1254, 428, 429, 0, 0, 430, 431, 432, 433,
434, 435, 1255, 437, 438, 439, 440, 441, 442, 443,
444, 445, 0, 446, 447, 1256, 449, 450, 451, 452,
453, 0, 454, 455, 456, 457, 458, 459, 460, 461,
462, 463, 1257, 465, 466, 467, 468, 0, 469, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
0, 481, 482, 483, 484, 485, 486, 487, 488, 2754,
490, 491, 492, 493, 494, 495, 496, 497, 498, 0,
499, 500, 501, 502, 503, 1259, 504, 505, 506, 507,
508, 509, 510, 511, 1260, 513, 0, 514, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
1261, 528, 0, 529, 530, 0, 531, 532, 533, 534,
535, 536, 537, 0, 538, 1262, 1263, 0, 0, 541,
542, 1264, 544, 1265, 1266, 546, 547, 548, 549, 550,
551, 552, 0, 0, 553, 554, 555, 556, 557, 1268,
0, 558, 559, 560, 561, 562, 563, 1269, 0, 565,
566, 567, 568, 569, 570, 0, 0, 571, 0, 0,
572, 573, 574, 575, 576, 577, 578, 1270, 1271, 1272,
1273, 583, 1274, 1275, 1276, 1277, 588, 589, 590, 591,
0, 0, 0, 0, 0, 0, 0, 2755, 2756, 0,
0, 226, 1211, 659, 1212, 1213, 2757, 719, 1215, 0,
0, 0, 0, 0, 0, 0, 227, 228, 229, 230,
231, 232, 233, 234, 0, 235, 236, 237, 0, 0,
0, 0, 1216, 0, 0, 238, 239, 0, 240, 241,
242, 243, 244, 245, 246, 247, 1217, 249, 1218, 1219,
0, 252, 253, 254, 255, 256, 257, 1220, 1221, 258,
259, 1222, 1223, 262, 0, 263, 264, 265, 266, 1224,
0, 1225, 0, 269, 270, 271, 272, 273, 274, 275,
276, 277, 0, 278, 279, 280, 281, 282, 283, 0,
284, 285, 286, 287, 1226, 1227, 1228, 1229, 1230, 1231,
1232, 289, 290, 291, 292, 293, 294, 1233, 1234, 297,
0, 298, 0, 299, 300, 301, 302, 303, 304, 0,
305, 306, 307, 308, 0, 0, 309, 310, 1066, 312,
313, 0, 314, 315, 316, 0, 317, 318, 319, 0,
320, 321, 322, 323, 1236, 325, 326, 327, 1237, 1238,
329, 0, 330, 331, 1239, 333, 0, 334, 0, 335,
336, 0, 337, 338, 339, 340, 341, 0, 342, 1240,
0, 1241, 345, 346, 0, 347, 348, 349, 350, 351,
352, 353, 354, 355, 356, 0, 357, 358, 359, 360,
361, 362, 363, 0, 364, 365, 366, 367, 368, 369,
370, 1242, 1243, 0, 1244, 0, 374, 375, 376, 377,
378, 379, 380, 381, 382, 383, 0, 0, 384, 1245,
386, 387, 388, 0, 389, 390, 391, 1246, 1247, 392,
393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
403, 404, 405, 406, 407, 1248, 409, 1249, 411, 412,
413, 414, 0, 415, 416, 417, 418, 1251, 1252, 420,
1253, 422, 423, 424, 0, 425, 426, 0, 0, 427,
428, 429, 0, 0, 430, 431, 432, 433, 434, 435,
1255, 437, 438, 439, 440, 441, 442, 443, 444, 445,
0, 446, 447, 1256, 449, 450, 451, 452, 453, 0,
454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
1257, 465, 466, 467, 468, 0, 469, 470, 471, 472,
473, 474, 475, 476, 477, 478, 479, 480, 0, 481,
482, 483, 484, 485, 486, 487, 488, 2879, 2880, 491,
492, 493, 494, 495, 496, 497, 498, 0, 499, 500,
501, 502, 503, 1259, 504, 505, 506, 507, 508, 509,
510, 511, 1260, 513, 0, 514, 515, 516, 517, 518,
519, 520, 521, 522, 523, 524, 525, 526, 1261, 528,
0, 529, 530, 0, 531, 532, 533, 534, 535, 536,
537, 0, 538, 1262, 1263, 0, 0, 541, 542, 1264,
544, 1265, 1266, 546, 547, 548, 549, 550, 551, 552,
0, 0, 553, 554, 555, 556, 557, 1268, 0, 558,
559, 560, 561, 562, 563, 1269, 0, 565, 566, 567,
568, 569, 570, 0, 0, 571, 0, 0, 572, 573,
574, 575, 576, 577, 578, 1270, 1271, 1272, 1273, 583,
1274, 1275, 1276, 1277, 588, 589, 590, 591, 0, 0,
0, 0, 0, 0, 0, 2881, 2882, 0, 0, 0,
0, 0, 0, 0, 2757, 226, 1211, 659, 1212, 1213,
1214, 719, 1215, 0, 0, 0, 0, 0, 0, 0,
227, 228, 229, 230, 231, 232, 233, 234, 0, 235,
236, 237, 0, 0, 0, 0, 1216, 0, 0, 238,
239, 0, 240, 241, 242, 243, 244, 245, 246, 247,
1217, 249, 1218, 1219, 0, 252, 253, 254, 255, 256,
257, 1220, 1221, 258, 259, 1222, 1223, 262, 0, 263,
264, 265, 266, 1224, 0, 1225, 0, 269, 270, 271,
272, 273, 274, 275, 276, 277, 0, 278, 279, 280,
281, 282, 283, 0, 284, 285, 286, 287, 1226, 1227,
1228, 1229, 1230, 1231, 1232, 289, 290, 291, 292, 293,
294, 1233, 1234, 297, 0, 298, 0, 299, 300, 301,
302, 303, 304, 0, 305, 306, 307, 308, 0, 0,
309, 310, 1066, 312, 313, 0, 314, 315, 316, 0,
317, 318, 319, 0, 320, 321, 322, 323, 1236, 325,
326, 327, 1237, 1238, 329, 0, 330, 331, 1239, 333,
0, 334, 0, 335, 336, 0, 337, 338, 339, 340,
341, 0, 342, 1240, 0, 1241, 345, 346, 0, 347,
348, 349, 350, 351, 352, 353, 354, 355, 356, 0,
357, 358, 359, 360, 361, 362, 363, 0, 364, 365,
366, 367, 368, 369, 370, 1242, 1243, 0, 1244, 0,
374, 0, 376, 377, 378, 379, 380, 381, 382, 383,
0, 0, 384, 1245, 386, 387, 388, 0, 389, 390,
391, 1246, 1247, 392, 393, 394, 395, 396, 397, 398,
399, 400, 401, 402, 403, 404, 405, 406, 407, 1248,
409, 1249, 411, 412, 413, 414, 0, 415, 416, 417,
418, 1251, 1252, 420, 1253, 422, 423, 424, 0, 425,
426, 0, 0, 1254, 428, 429, 0, 0, 430, 431,
432, 433, 434, 435, 1255, 437, 438, 439, 440, 441,
442, 443, 444, 445, 0, 446, 447, 1256, 449, 450,
451, 452, 453, 0, 454, 455, 456, 457, 458, 459,
460, 461, 462, 463, 1257, 465, 466, 467, 468, 0,
469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
479, 480, 0, 481, 482, 483, 484, 485, 486, 487,
488, 2754, 490, 491, 492, 493, 494, 495, 496, 497,
498, 0, 499, 500, 501, 502, 503, 1259, 504, 505,
506, 507, 508, 509, 510, 511, 1260, 513, 0, 514,
515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
525, 526, 1261, 528, 0, 529, 530, 0, 531, 532,
533, 534, 535, 536, 537, 0, 538, 1262, 1263, 0,
0, 541, 542, 1264, 544, 1265, 1266, 546, 547, 548,
549, 550, 551, 552, 0, 0, 553, 554, 555, 556,
557, 1268, 0, 558, 559, 560, 561, 562, 563, 1269,
0, 565, 566, 567, 568, 569, 570, 0, 0, 571,
0, 0, 572, 573, 574, 575, 576, 577, 578, 1270,
1271, 1272, 1273, 583, 1274, 1275, 1276, 1277, 588, 589,
590, 591, 0, 0, 0, 0, 0, 0, 0, 2755,
2756, 0, 0, 226, 1211, 659, 1212, 1213, 2757, 719,
1215, 0, 0, 0, 0, 0, 0, 0, 227, 228,
229, 230, 231, 232, 233, 234, 0, 235, 236, 237,
0, 0, 0, 0, 1216, 0, 0, 238, 239, 0,
240, 241, 242, 243, 244, 245, 246, 247, 1217, 249,
1218, 1219, 0, 252, 253, 254, 255, 256, 257, 1220,
1221, 258, 259, 1222, 1223, 262, 0, 263, 264, 265,
266, 1224, 0, 1225, 0, 269, 270, 271, 272, 273,
274, 275, 276, 277, 0, 278, 279, 280, 281, 282,
283, 0, 284, 285, 286, 287, 1226, 1227, 1228, 1229,
1230, 1231, 1232, 289, 290, 291, 292, 293, 294, 1233,
1234, 297, 0, 298, 0, 299, 300, 301, 302, 303,
304, 0, 305, 306, 307, 308, 0, 0, 309, 310,
1066, 312, 313, 0, 314, 315, 316, 0, 317, 318,
319, 0, 320, 321, 322, 323, 1236, 325, 326, 327,
1237, 1238, 329, 0, 330, 331, 1239, 333, 0, 334,
0, 335, 336, 0, 337, 338, 339, 340, 341, 0,
342, 1240, 0, 1241, 345, 346, 0, 347, 348, 349,
350, 351, 352, 353, 354, 355, 356, 0, 357, 358,
359, 360, 361, 362, 363, 0, 364, 365, 366, 367,
368, 369, 370, 1242, 1243, 0, 1244, 0, 374, 375,
376, 377, 378, 379, 380, 381, 382, 383, 0, 0,
384, 1245, 386, 387, 388, 0, 389, 390, 391, 1246,
1247, 392, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 1248, 409, 1249,
411, 412, 413, 414, 0, 415, 416, 417, 418, 1251,
1252, 420, 1253, 422, 423, 424, 0, 425, 426, 0,
0, 427, 428, 429, 0, 0, 430, 431, 432, 433,
434, 435, 1255, 437, 438, 439, 440, 441, 442, 443,
444, 445, 0, 446, 447, 1256, 449, 450, 451, 452,
453, 0, 454, 455, 456, 457, 458, 459, 460, 461,
462, 463, 1257, 465, 466, 467, 468, 0, 469, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
0, 481, 482, 483, 484, 485, 486, 487, 488, 2754,
490, 491, 492, 493, 494, 495, 496, 497, 498, 0,
499, 500, 501, 502, 503, 1259, 504, 505, 506, 507,
508, 509, 510, 511, 1260, 513, 0, 514, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
1261, 528, 0, 529, 530, 0, 531, 532, 533, 534,
535, 536, 537, 0, 538, 1262, 1263, 0, 0, 541,
542, 1264, 544, 1265, 1266, 546, 547, 548, 549, 550,
551, 552, 0, 0, 553, 554, 555, 556, 557, 1268,
0, 558, 559, 560, 561, 562, 563, 1269, 0, 565,
566, 567, 568, 569, 570, 0, 0, 571, 0, 0,
572, 573, 574, 575, 576, 577, 578, 1270, 1271, 1272,
1273, 583, 1274, 1275, 1276, 1277, 588, 589, 590, 591,
0, 0, 226, 1211, 659, 1212, 1213, 0, 719, 1215,
0, 0, 0, 0, 0, 0, 2757, 227, 228, 229,
230, 231, 232, 233, 234, 0, 235, 236, 237, 0,
0, 0, 0, 1216, 0, 0, 238, 239, 0, 240,
241, 242, 243, 244, 245, 246, 247, 1217, 249, 1218,
1219, 0, 4049, 253, 254, 255, 256, 257, 1220, 1221,
258, 259, 1222, 1223, 262, 0, 263, 264, 265, 266,
1224, 0, 1225, 0, 269, 270, 271, 272, 273, 274,
275, 276, 277, 0, 278, 279, 280, 281, 282, 283,
0, 284, 285, 286, 287, 1226, 1227, 1228, 1229, 1230,
1231, 1232, 289, 290, 291, 292, 293, 294, 1233, 1234,
297, 0, 298, 0, 299, 300, 301, 302, 303, 304,
0, 305, 306, 307, 308, 0, 0, 309, 310, 1066,
312, 313, 0, 314, 315, 316, 0, 317, 318, 319,
0, 320, 321, 322, 323, 1236, 325, 326, 327, 1237,
1238, 329, 0, 330, 331, 1239, 333, 0, 334, 0,
335, 336, 0, 337, 338, 339, 340, 341, 0, 342,
1240, 0, 1241, 345, 346, 0, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 0, 357, 358, 359,
360, 361, 362, 363, 0, 364, 365, 366, 367, 368,
369, 370, 1242, 1243, 0, 1244, 0, 374, 375, 376,
377, 378, 379, 380, 381, 382, 383, 0, 0, 384,
1245, 386, 387, 388, 0, 389, 390, 391, 1246, 1247,
392, 393, 394, 395, 396, 397, 398, 399, 400, 401,
402, 403, 404, 405, 406, 407, 1248, 409, 1249, 411,
412, 413, 414, 0, 415, 416, 417, 418, 1251, 1252,
420, 1253, 422, 423, 424, 0, 425, 426, 0, 0,
427, 428, 429, 0, 0, 430, 431, 432, 433, 434,
435, 1255, 437, 438, 439, 440, 441, 442, 443, 444,
445, 0, 446, 447, 1256, 449, 450, 451, 452, 453,
0, 454, 455, 456, 457, 458, 459, 460, 461, 462,
463, 1257, 465, 466, 467, 468, 0, 469, 470, 471,
472, 473, 474, 475, 476, 477, 478, 479, 480, 0,
481, 482, 483, 484, 485, 486, 487, 488, 2754, 490,
491, 492, 493, 494, 495, 496, 497, 498, 0, 499,
500, 501, 502, 503, 1259, 504, 505, 506, 507, 508,
509, 510, 511, 1260, 513, 0, 514, 515, 516, 517,
518, 519, 520, 521, 522, 523, 524, 525, 526, 1261,
528, 0, 529, 530, 0, 531, 532, 533, 534, 535,
536, 537, 0, 538, 1262, 1263, 0, 0, 541, 542,
1264, 544, 1265, 1266, 546, 547, 548, 549, 550, 551,
552, 0, 0, 553, 554, 555, 556, 557, 1268, 0,
558, 559, 560, 561, 562, 563, 1269, 0, 565, 566,
567, 568, 569, 570, 0, 0, 571, 0, 0, 572,
573, 574, 575, 576, 577, 578, 1270, 1271, 1272, 1273,
583, 1274, 1275, 1276, 1277, 588, 589, 590, 591, 0,
0, 226, 1211, 659, 1212, 1213, 0, 719, 1215, 0,
0, 0, 0, 0, 0, 2757, 227, 228, 229, 230,
231, 232, 233, 234, 0, 235, 236, 237, 0, 0,
0, 0, 1216, 0, 0, 238, 239, 0, 240, 241,
242, 243, 244, 245, 246, 247, 1217, 249, 1218, 1219,
0, 252, 253, 254, 255, 256, 257, 1220, 1221, 258,
259, 1222, 1223, 262, 0, 263, 264, 265, 266, 1224,
0, 1225, 0, 269, 270, 271, 272, 273, 274, 275,
276, 277, 0, 278, 279, 280, 281, 282, 283, 0,
284, 285, 286, 287, 1226, 1227, 1228, 1229, 1230, 1231,
1232, 289, 290, 291, 292, 293, 294, 1233, 1234, 297,
0, 298, 0, 299, 300, 301, 302, 303, 304, 0,
305, 306, 307, 308, 0, 0, 309, 310, 1066, 312,
313, 0, 314, 315, 316, 0, 317, 318, 319, 0,
320, 321, 322, 323, 1236, 325, 326, 327, 1237, 1238,
329, 0, 330, 331, 1239, 333, 0, 334, 0, 335,
336, 0, 337, 338, 339, 340, 341, 0, 342, 1240,
0, 1241, 345, 346, 0, 347, 348, 349, 350, 351,
352, 353, 354, 355, 356, 0, 357, 358, 359, 360,
361, 362, 363, 0, 364, 365, 366, 367, 368, 369,
370, 1242, 1243, 0, 1244, 0, 374, 375, 376, 377,
378, 379, 380, 381, 382, 383, 0, 0, 384, 1245,
386, 387, 388, 0, 389, 390, 391, 1246, 1247, 392,
393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
403, 404, 405, 406, 407, 1248, 409, 1249, 411, 412,
413, 414, 0, 415, 416, 417, 418, 1251, 1252, 420,
1253, 422, 423, 424, 0, 425, 426, 0, 0, 427,
428, 429, 0, 0, 430, 431, 432, 433, 434, 435,
1255, 437, 438, 439, 440, 441, 442, 443, 444, 445,
0, 446, 447, 1256, 449, 450, 451, 452, 453, 0,
454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
1257, 465, 466, 467, 468, 0, 469, 470, 471, 472,
473, 474, 475, 476, 477, 478, 479, 480, 0, 481,
482, 483, 484, 485, 486, 487, 488, 2754, 490, 491,
492, 493, 494, 495, 496, 497, 498, 0, 499, 500,
501, 502, 503, 1259, 504, 505, 506, 507, 508, 509,
510, 511, 1260, 513, 0, 514, 515, 516, 517, 518,
519, 520, 521, 522, 523, 524, 525, 526, 1261, 528,
0, 529, 530, 0, 531, 532, 533, 534, 535, 536,
537, 0, 538, 1262, 1263, 0, 0, 541, 542, 1264,
544, 1265, 1266, 546, 547, 548, 549, 550, 551, 552,
0, 0, 553, 554, 555, 556, 557, 1268, 0, 558,
559, 560, 561, 562, 563, 1269, 0, 565, 566, 567,
568, 569, 570, 0, 0, 571, 0, 0, 572, 573,
574, 575, 576, 577, 578, 1270, 1271, 1272, 1273, 4523,
1274, 1275, 1276, 1277, 588, 589, 590, 591, 0, 0,
226, 1211, 659, 1212, 1213, 1214, 719, 1215, 0, 0,
0, 0, 0, 0, 2757, 227, 228, 229, 230, 231,
232, 233, 234, 0, 235, 236, 237, 0, 0, 0,
0, 1216, 0, 0, 238, 239, 0, 240, 241, 242,
243, 244, 245, 246, 0, 1217, 249, 1218, 1219, 0,
252, 253, 254, 255, 256, 257, 1220, 1221, 258, 259,
1222, 1223, 262, 0, 263, 264, 265, 266, 1224, 0,
1225, 0, 269, 270, 271, 272, 273, 274, 275, 276,
277, 0, 278, 279, 280, 281, 282, 283, 0, 284,
285, 286, 287, 1226, 1227, 1228, 1229, 1230, 1231, 1232,
289, 290, 291, 292, 293, 294, 1233, 1234, 297, 1235,
298, 0, 299, 300, 301, 302, 303, 304, 0, 305,
306, 307, 308, 0, 0, 309, 310, 1066, 312, 313,
0, 314, 315, 316, 0, 317, 0, 319, 0, 320,
321, 322, 323, 1236, 325, 326, 327, 1237, 1238, 329,
0, 330, 331, 1239, 333, 0, 334, 0, 335, 336,
0, 337, 338, 339, 340, 341, 0, 342, 1240, 0,
1241, 345, 346, 0, 347, 348, 349, 350, 351, 0,
353, 354, 355, 356, 0, 357, 358, 359, 360, 361,
362, 363, 0, 364, 365, 366, 367, 368, 369, 370,
1242, 1243, 0, 1244, 0, 374, 0, 0, 377, 378,
379, 380, 381, 382, 383, 0, 0, 384, 1245, 386,
387, 0, 0, 389, 390, 391, 1246, 1247, 392, 393,
394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 1248, 409, 1249, 411, 412, 413,
414, 1250, 415, 416, 0, 418, 1251, 1252, 420, 1253,
422, 423, 424, 0, 425, 426, 0, 0, 1254, 428,
429, 0, 0, 430, 431, 432, 433, 434, 435, 1255,
437, 438, 439, 440, 441, 442, 443, 444, 445, 0,
446, 447, 1256, 449, 450, 451, 452, 453, 0, 454,
455, 456, 457, 458, 459, 460, 461, 462, 463, 1257,
465, 466, 467, 468, 0, 469, 470, 471, 472, 473,
474, 475, 476, 477, 478, 479, 480, 0, 481, 482,
483, 484, 485, 486, 487, 488, 1258, 490, 491, 492,
493, 494, 495, 496, 497, 498, 0, 499, 500, 501,
502, 503, 1259, 504, 505, 506, 507, 508, 0, 510,
511, 1260, 513, 0, 514, 515, 516, 517, 518, 519,
520, 521, 522, 523, 524, 525, 526, 1261, 528, 0,
529, 530, 0, 531, 532, 533, 534, 535, 536, 537,
0, 538, 1262, 1263, 0, 0, 541, 542, 1264, 544,
1265, 1266, 546, 547, 548, 549, 550, 551, 552, 0,
1267, 553, 554, 555, 556, 557, 1268, 0, 558, 559,
560, 561, 562, 563, 1269, 0, 565, 566, 567, 568,
569, 570, 0, 0, 571, 0, 0, 572, 573, 574,
575, 576, 577, 578, 1270, 1271, 1272, 1273, 583, 1274,
1275, 1276, 1277, 588, 589, 590, 591, 0, 0, 226,
0, 0, 0, 0, 1279, 1280, 0, 0, 0, 0,
0, 0, 0, 1282, 227, 228, 229, 230, 231, 232,
233, 234, 0, 235, 236, 237, 0, 0, 0, 0,
0, 0, 0, 238, 239, 0, 240, 241, 242, 243,
244, 245, 246, 247, 248, 249, 250, 251, 0, 252,
253, 254, 255, 256, 257, 0, 1221, 258, 259, 260,
261, 262, 0, 263, 264, 265, 266, 1224, 0, 1225,
0, 269, 270, 271, 272, 273, 274, 275, 276, 277,
0, 278, 279, 280, 281, 282, 283, 0, 284, 285,
286, 287, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 289,
290, 291, 292, 293, 294, 295, 296, 297, 0, 298,
0, 299, 300, 301, 302, 303, 304, 0, 305, 306,
307, 308, 0, 0, 309, 310, 311, 312, 313, 0,
314, 315, 316, 0, 317, 318, 319, 0, 320, 321,
322, 323, 324, 325, 326, 327, 1237, 0, 329, 0,
330, 331, 332, 333, 0, 334, 0, 335, 336, 0,
337, 338, 339, 340, 341, 0, 342, 1240, 0, 344,
345, 346, 0, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 0, 357, 358, 359, 360, 361, 362,
363, 0, 364, 365, 366, 367, 368, 369, 370, 371,
372, 0, 373, 0, 374, 375, 376, 377, 378, 379,
380, 381, 382, 383, 3566, 0, 384, 1245, 386, 387,
388, 0, 389, 390, 391, 1246, 1247, 392, 393, 394,
395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
0, 415, 416, 417, 418, 0, 1252, 420, 421, 422,
423, 424, 0, 425, 426, 0, 808, 427, 428, 429,
0, 0, 430, 431, 432, 433, 434, 435, 1255, 437,
438, 439, 440, 441, 442, 443, 444, 445, 0, 446,
447, 1256, 449, 450, 451, 452, 453, 0, 454, 455,
456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
466, 467, 468, 0, 469, 470, 471, 472, 473, 474,
475, 476, 477, 478, 479, 480, 0, 481, 482, 483,
484, 485, 486, 487, 488, 489, 3567, 491, 492, 493,
494, 495, 496, 497, 498, 40, 499, 500, 501, 502,
503, 1259, 504, 505, 506, 507, 508, 509, 510, 511,
512, 513, 0, 514, 515, 516, 517, 518, 519, 520,
521, 522, 523, 524, 525, 526, 1261, 528, 0, 529,
530, 44, 531, 532, 533, 534, 535, 536, 537, 0,
538, 539, 540, 0, 0, 541, 542, 1264, 544, 1265,
0, 546, 547, 548, 549, 550, 551, 552, 0, 0,
553, 554, 555, 556, 557, 1268, 0, 558, 559, 560,
561, 562, 1145, 564, 0, 565, 566, 567, 568, 569,
570, 0, 0, 571, 0, 49, 572, 573, 574, 575,
576, 577, 578, 1270, 1271, 1272, 1273, 583, 1274, 1275,
1276, 1277, 3568, 589, 590, 591, 0, 0, 50, 226,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 3569, 0, 227, 228, 229, 230, 231, 232,
233, 234, 0, 235, 236, 237, 0, 0, 0, 0,
0, 0, 0, 238, 239, 0, 240, 241, 242, 243,
244, 245, 246, 247, 248, 249, 250, 251, 0, 252,
253, 254, 255, 256, 257, 0, 1221, 258, 259, 260,
261, 262, 0, 263, 264, 265, 266, 1224, 0, 1225,
0, 269, 270, 271, 272, 273, 274, 275, 276, 277,
0, 278, 279, 280, 281, 282, 283, 0, 284, 285,
286, 287, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 289,
290, 291, 292, 293, 294, 295, 296, 297, 0, 298,
0, 299, 300, 301, 302, 303, 304, 0, 305, 306,
307, 308, 0, 0, 309, 310, 311, 312, 313, 0,
314, 315, 316, 0, 317, 318, 319, 0, 320, 321,
322, 323, 324, 325, 326, 327, 1237, 0, 329, 0,
330, 331, 332, 333, 0, 334, 0, 335, 336, 0,
337, 338, 339, 340, 341, 0, 342, 1240, 0, 344,
345, 346, 0, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 0, 357, 358, 359, 360, 361, 362,
363, 0, 364, 365, 366, 367, 368, 369, 370, 371,
372, 0, 373, 0, 374, 375, 376, 377, 378, 379,
380, 381, 382, 383, 3566, 0, 384, 1245, 386, 387,
388, 0, 389, 390, 391, 1246, 1247, 392, 393, 394,
395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
0, 415, 416, 417, 418, 0, 1252, 420, 421, 422,
423, 424, 0, 425, 426, 0, 808, 427, 428, 429,
0, 0, 430, 431, 432, 433, 434, 435, 1255, 437,
438, 439, 440, 441, 442, 443, 444, 445, 0, 446,
447, 1256, 449, 450, 451, 452, 453, 0, 454, 455,
456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
466, 467, 468, 0, 469, 470, 471, 472, 473, 474,
475, 476, 477, 478, 479, 480, 0, 481, 482, 483,
484, 485, 486, 487, 488, 489, 3567, 491, 492, 493,
494, 495, 496, 497, 498, 0, 499, 500, 501, 502,
503, 1259, 504, 505, 506, 507, 508, 509, 510, 511,
512, 513, 0, 514, 515, 516, 517, 518, 519, 520,
521, 522, 523, 524, 525, 526, 1261, 528, 0, 529,
530, 0, 531, 532, 533, 534, 535, 536, 537, 0,
538, 539, 540, 0, 0, 541, 542, 1264, 544, 1265,
0, 546, 547, 548, 549, 550, 551, 552, 0, 0,
553, 554, 555, 556, 557, 1268, 0, 558, 559, 560,
561, 562, 563, 564, 0, 565, 566, 567, 568, 569,
570, 0, 0, 571, 0, 0, 572, 573, 574, 575,
576, 577, 578, 1270, 1271, 1272, 1273, 583, 1274, 1275,
1276, 1277, 3568, 589, 590, 591, 0, 0, 226, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 3569, 227, 228, 229, 230, 231, 232, 233,
234, 0, 235, 236, 237, 0, 0, 0, 0, 0,
0, 0, 238, 239, 0, 240, 241, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 0, 252, 253,
254, 255, 256, 257, 0, 1221, 258, 259, 260, 261,
262, 0, 263, 264, 265, 266, 1224, 0, 1225, 0,
269, 270, 271, 272, 273, 274, 275, 276, 277, 0,
278, 279, 280, 281, 282, 283, 0, 284, 285, 286,
287, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 289, 290,
291, 292, 293, 294, 295, 296, 297, 0, 298, 0,
299, 300, 301, 302, 303, 304, 0, 305, 306, 307,
308, 0, 0, 309, 310, 311, 312, 313, 0, 314,
315, 316, 0, 317, 318, 319, 0, 320, 321, 322,
323, 324, 325, 326, 327, 1237, 0, 329, 0, 330,
331, 332, 333, 0, 334, 0, 335, 336, 0, 337,
338, 339, 340, 341, 0, 342, 1240, 0, 344, 345,
346, 0, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 0, 357, 358, 359, 360, 361, 362, 363,
0, 364, 365, 366, 367, 368, 369, 370, 371, 372,
0, 373, 0, 374, 375, 376, 377, 378, 379, 380,
381, 382, 383, 0, 0, 384, 1245, 386, 387, 388,
0, 389, 390, 391, 1246, 1247, 392, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 410, 411, 412, 413, 414, 0,
415, 416, 417, 418, 0, 1252, 420, 421, 422, 423,
424, 0, 425, 426, 0, 0, 427, 428, 429, 0,
0, 430, 431, 432, 433, 434, 435, 1255, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 446, 447,
1256, 449, 450, 451, 452, 453, 0, 454, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 0, 481, 482, 483, 484,
485, 486, 487, 488, 489, 3567, 491, 492, 493, 494,
495, 496, 497, 498, 0, 499, 500, 501, 502, 503,
1259, 504, 505, 506, 507, 508, 509, 510, 511, 512,
513, 0, 514, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 1261, 528, 0, 529, 530,
0, 531, 532, 533, 534, 535, 536, 537, 0, 538,
539, 540, 0, 0, 541, 542, 1264, 544, 1265, 0,
546, 547, 548, 549, 550, 551, 552, 0, 0, 553,
554, 555, 556, 557, 1268, 0, 558, 559, 560, 561,
562, 563, 564, 0, 565, 566, 567, 568, 569, 570,
0, 0, 571, 0, 0, 572, 573, 574, 575, 576,
577, 578, 1270, 1271, 1272, 1273, 583, 1274, 1275, 1276,
1277, 3568, 589, 590, 591, 0, 0, 226, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 51, 227, 228, 229, 230, 231, 232, 233, 234,
0, 235, 236, 237, 0, 0, 0, 0, 0, 0,
0, 238, 239, 0, 240, 241, 242, 243, 244, 245,
246, 247, 248, 249, 250, 251, 0, 252, 253, 254,
255, 256, 257, 0, 1221, 258, 259, 260, 261, 262,
0, 263, 264, 265, 266, 1224, 0, 1225, 0, 269,
270, 271, 272, 273, 274, 275, 276, 277, 0, 278,
279, 280, 281, 282, 283, 0, 284, 285, 286, 287,
1226, 1227, 1228, 1229, 1230, 1231, 1232, 289, 290, 291,
292, 293, 294, 295, 296, 297, 0, 298, 0, 299,
300, 301, 302, 303, 304, 0, 305, 306, 307, 308,
0, 0, 309, 310, 311, 312, 313, 0, 314, 315,
316, 0, 317, 318, 319, 0, 320, 321, 322, 323,
324, 325, 326, 327, 1237, 0, 329, 0, 330, 331,
332, 333, 0, 334, 0, 335, 336, 0, 337, 338,
339, 340, 341, 0, 342, 1240, 0, 344, 345, 346,
0, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, 0, 357, 358, 359, 360, 361, 362, 363, 0,
364, 365, 366, 367, 368, 369, 370, 371, 372, 0,
373, 0, 374, 375, 376, 377, 378, 379, 380, 381,
382, 383, 0, 0, 384, 1245, 386, 387, 388, 0,
389, 390, 391, 1246, 1247, 392, 393, 394, 395, 396,
397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
407, 408, 409, 410, 411, 412, 413, 414, 0, 415,
416, 417, 418, 0, 1252, 420, 421, 422, 423, 424,
0, 425, 426, 0, 0, 427, 428, 429, 0, 0,
430, 431, 432, 433, 434, 435, 1255, 437, 438, 439,
440, 441, 442, 443, 444, 445, 0, 446, 447, 1256,
449, 450, 451, 452, 453, 0, 454, 455, 456, 457,
458, 459, 460, 461, 462, 463, 464, 465, 466, 467,
468, 0, 469, 470, 471, 472, 473, 474, 475, 476,
477, 478, 479, 480, 0, 481, 482, 483, 484, 485,
486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
496, 497, 498, 0, 499, 500, 501, 502, 503, 1259,
504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
0, 514, 515, 516, 517, 518, 519, 520, 521, 522,
523, 524, 525, 526, 1261, 528, 0, 529, 530, 0,
531, 532, 533, 534, 535, 536, 537, 0, 538, 539,
540, 0, 0, 541, 542, 1264, 544, 1265, 0, 546,
547, 548, 549, 550, 551, 552, 0, 0, 553, 554,
555, 556, 557, 1268, 0, 558, 559, 560, 561, 562,
563, 564, 0, 565, 566, 567, 568, 569, 570, 0,
0, 571, 0, 0, 572, 573, 574, 575, 576, 577,
578, 1270, 1271, 1272, 1273, 583, 1274, 1275, 1276, 1277,
588, 589, 590, 591, 0, 0, 226, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4169, 227, 228, 229, 230, 231, 232, 233, 234, 0,
235, 236, 237, 0, 0, 0, 0, 0, 0, 0,
238, 239, 0, 240, 241, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 0, 252, 253, 254, 255,
256, 257, 0, 1221, 258, 259, 260, 261, 262, 0,
263, 264, 265, 266, 1224, 0, 1225, 0, 269, 270,
271, 272, 273, 274, 275, 276, 277, 0, 278, 279,
280, 281, 282, 283, 0, 284, 285, 286, 287, 1226,
1227, 1228, 1229, 1230, 1231, 1232, 289, 290, 291, 292,
293, 294, 295, 296, 297, 0, 298, 0, 299, 300,
301, 302, 303, 304, 0, 305, 306, 307, 308, 0,
0, 309, 310, 311, 312, 313, 0, 314, 315, 316,
0, 317, 318, 319, 0, 320, 321, 322, 323, 324,
325, 326, 327, 1237, 0, 329, 0, 330, 331, 332,
333, 0, 334, 0, 335, 336, 0, 337, 338, 339,
340, 341, 0, 342, 1240, 0, 344, 345, 346, 0,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
0, 357, 358, 359, 360, 361, 362, 363, 0, 364,
365, 366, 367, 368, 369, 370, 371, 372, 0, 373,
0, 374, 375, 376, 377, 378, 379, 380, 381, 382,
383, 0, 0, 384, 1245, 386, 387, 388, 0, 389,
390, 391, 1246, 1247, 392, 393, 394, 395, 396, 397,
398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
408, 409, 410, 411, 412, 413, 414, 0, 415, 416,
417, 418, 0, 1252, 420, 421, 422, 423, 424, 0,
425, 426, 0, 0, 427, 428, 429, 0, 0, 430,
431, 432, 433, 434, 435, 1255, 437, 438, 439, 440,
441, 442, 443, 444, 445, 0, 446, 447, 1256, 449,
450, 451, 452, 453, 0, 454, 455, 456, 457, 458,
459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
0, 469, 470, 471, 472, 473, 474, 475, 476, 477,
478, 479, 480, 0, 481, 482, 483, 484, 485, 486,
487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
497, 498, 0, 499, 500, 501, 502, 503, 1259, 504,
505, 506, 507, 508, 509, 510, 511, 512, 513, 0,
514, 515, 516, 517, 518, 519, 520, 521, 522, 523,
524, 525, 526, 1261, 528, 0, 529, 530, 0, 531,
532, 533, 534, 535, 536, 537, 0, 538, 539, 540,
0, 0, 541, 542, 1264, 544, 1265, 0, 546, 547,
548, 549, 550, 551, 552, 0, 0, 553, 554, 555,
556, 557, 1268, 0, 558, 559, 560, 561, 562, 563,
564, 0, 565, 566, 567, 568, 569, 570, 0, 0,
571, 0, 0, 572, 573, 574, 575, 576, 577, 578,
1270, 1271, 1272, 1273, 583, 1274, 1275, 1276, 1277, 588,
589, 590, 591, 0, 0, 863, 1492, 659, 0, 0,
0, 719, 0, 0, 0, 0, 0, 0, 0, 5256,
227, 228, 229, 230, 231, 232, 233, 234, 0, 235,
236, 237, 0, 0, 0, 0, 0, 0, 0, 238,
239, 0, 240, 241, 242, 243, 244, 245, 246, 247,
248, 249, 250, 251, 0, 252, 253, 254, 255, 256,
257, 0, 0, 258, 259, 260, 261, 262, 0, 263,
264, 265, 266, 267, 0, 268, 0, 269, 270, 271,
272, 273, 274, 275, 276, 277, 0, 278, 279, 280,
281, 282, 283, 0, 284, 285, 286, 287, 0, 0,
0, 288, 0, 0, 0, 289, 290, 291, 292, 293,
294, 295, 296, 297, 0, 298, 0, 299, 300, 301,
302, 303, 304, 0, 305, 306, 307, 308, 0, 0,
309, 310, 311, 312, 313, 0, 314, 315, 316, 0,
317, 318, 319, 0, 320, 321, 322, 323, 324, 325,
326, 327, 328, 1905, 329, 0, 330, 331, 332, 333,
0, 334, 0, 335, 336, 0, 337, 338, 339, 340,
341, 0, 342, 343, 0, 344, 345, 346, 0, 347,
348, 349, 350, 351, 352, 353, 354, 355, 356, 0,
357, 358, 359, 360, 361, 362, 363, 0, 364, 365,
366, 367, 368, 369, 370, 371, 372, 0, 373, 0,
374, 375, 376, 377, 378, 379, 380, 381, 382, 383,
0, 0, 384, 385, 386, 387, 388, 0, 389, 390,
391, 0, 0, 392, 393, 394, 395, 396, 397, 398,
399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
409, 410, 411, 412, 413, 414, 0, 415, 416, 417,
418, 0, 419, 420, 421, 422, 423, 424, 0, 425,
426, 1906, 0, 427, 428, 429, 0, 0, 430, 431,
432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
442, 443, 444, 445, 0, 446, 447, 448, 449, 450,
451, 452, 453, 0, 454, 455, 456, 457, 458, 459,
460, 461, 462, 463, 464, 465, 466, 467, 468, 0,
469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
479, 480, 0, 481, 482, 483, 484, 485, 486, 487,
488, 489, 490, 491, 492, 493, 494, 495, 496, 497,
498, 0, 499, 500, 501, 502, 503, 0, 504, 505,
506, 507, 508, 509, 510, 511, 512, 513, 0, 514,
515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
525, 526, 527, 528, 0, 529, 530, 0, 531, 532,
533, 534, 535, 536, 537, 0, 538, 539, 540, 0,
0, 541, 542, 543, 544, 545, 1907, 546, 547, 548,
549, 550, 551, 552, 0, 0, 553, 554, 555, 556,
557, 0, 0, 558, 559, 560, 561, 562, 563, 564,
0, 565, 566, 567, 568, 569, 570, 0, 0, 571,
0, 0, 572, 573, 574, 575, 576, 577, 578, 579,
580, 581, 582, 583, 584, 585, 586, 587, 588, 589,
590, 591, 0, 0, 863, 0, 0, 0, 0, 1493,
1494, 5069, 0, 0, 0, 0, 0, 0, 5070, 227,
228, 229, 230, 231, 232, 233, 234, 0, 235, 236,
237, 3, 4, 0, 0, 0, 0, 0, 238, 239,
0, 240, 241, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 0, 252, 253, 254, 255, 256, 257,
0, 0, 258, 259, 260, 261, 262, 0, 263, 264,
265, 266, 267, 0, 268, 0, 269, 270, 271, 272,
273, 274, 275, 276, 277, 0, 278, 279, 280, 281,
282, 283, 0, 284, 285, 286, 287, 0, 0, 0,
288, 0, 0, 0, 289, 290, 291, 292, 293, 294,
295, 296, 297, 0, 298, 0, 299, 300, 301, 302,
303, 304, 0, 305, 306, 307, 308, 0, 0, 309,
310, 311, 312, 313, 0, 314, 315, 316, 0, 317,
318, 319, 0, 320, 321, 322, 323, 324, 325, 326,
327, 328, 0, 329, 0, 330, 331, 332, 333, 0,
334, 0, 335, 336, 0, 337, 338, 339, 340, 341,
0, 342, 343, 0, 344, 345, 346, 0, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 0, 357,
358, 359, 360, 361, 362, 363, 0, 364, 365, 366,
367, 368, 369, 370, 371, 372, 0, 373, 0, 374,
375, 376, 377, 378, 379, 380, 381, 382, 383, 0,
0, 384, 385, 386, 387, 388, 0, 389, 390, 391,
0, 0, 392, 393, 394, 395, 396, 397, 398, 399,
400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
410, 411, 412, 413, 414, 0, 415, 416, 417, 418,
0, 419, 420, 421, 422, 423, 424, 0, 425, 426,
0, 0, 427, 428, 429, 0, 0, 430, 431, 432,
433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
443, 444, 445, 0, 446, 447, 448, 449, 450, 451,
452, 453, 0, 454, 455, 456, 457, 458, 459, 460,
461, 462, 463, 464, 465, 466, 467, 468, 0, 469,
470, 471, 472, 473, 474, 475, 476, 477, 478, 479,
480, 0, 481, 482, 483, 484, 485, 486, 487, 488,
489, 490, 491, 492, 493, 494, 495, 496, 497, 498,
40, 499, 500, 501, 502, 503, 0, 504, 505, 506,
507, 508, 509, 510, 511, 512, 513, 0, 514, 515,
516, 517, 518, 519, 520, 521, 522, 523, 524, 525,
526, 527, 528, 0, 529, 530, 44, 531, 532, 533,
534, 535, 536, 537, 0, 538, 539, 540, 0, 0,
541, 542, 543, 544, 545, 0, 546, 547, 548, 549,
550, 551, 552, 0, 0, 553, 554, 555, 556, 557,
0, 0, 558, 559, 560, 561, 562, 1145, 564, 0,
565, 566, 567, 568, 569, 570, 0, 0, 571, 0,
49, 572, 573, 574, 575, 576, 577, 578, 579, 580,
581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
591, 0, 0, 50, 226, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 51, 0, 227,
228, 229, 230, 231, 232, 233, 234, 0, 235, 236,
237, 0, 0, 0, 0, 0, 0, 0, 238, 239,
0, 240, 241, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 0, 252, 253, 254, 255, 256, 257,
0, 0, 258, 259, 260, 261, 262, 0, 263, 264,
265, 266, 267, 0, 268, 0, 269, 270, 271, 272,
273, 274, 275, 276, 277, 0, 278, 279, 280, 281,
282, 283, 0, 284, 285, 286, 287, 0, 0, 0,
288, 0, 0, 0, 289, 290, 291, 292, 293, 294,
295, 296, 297, 0, 298, 0, 299, 300, 301, 302,
303, 304, 0, 305, 306, 307, 308, 0, 0, 309,
310, 311, 312, 313, 0, 314, 315, 316, 0, 317,
318, 319, 0, 320, 321, 322, 323, 324, 325, 326,
327, 328, 0, 329, 0, 330, 331, 332, 333, 0,
334, 0, 335, 336, 0, 337, 338, 339, 340, 341,
0, 342, 343, 0, 344, 345, 346, 0, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 0, 357,
358, 359, 360, 361, 362, 363, 0, 364, 365, 366,
367, 368, 369, 370, 371, 372, 0, 373, 0, 374,
375, 376, 377, 378, 379, 380, 381, 382, 383, 0,
0, 384, 385, 386, 387, 388, 0, 389, 390, 391,
0, 0, 392, 393, 394, 395, 396, 397, 398, 399,
400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
410, 411, 412, 413, 414, 0, 415, 416, 417, 418,
0, 419, 420, 421, 422, 423, 424, 0, 425, 426,
0, 0, 427, 428, 429, 0, 0, 430, 431, 432,
433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
443, 444, 445, 0, 446, 447, 448, 449, 450, 451,
452, 453, 0, 454, 455, 456, 457, 458, 459, 460,
461, 462, 463, 464, 465, 466, 467, 468, 0, 469,
470, 471, 472, 473, 474, 475, 476, 477, 478, 479,
480, 0, 481, 482, 483, 484, 485, 486, 487, 488,
489, 490, 491, 492, 493, 494, 495, 496, 497, 498,
0, 499, 500, 501, 502, 503, 0, 504, 505, 506,
507, 508, 509, 510, 511, 512, 513, 0, 514, 515,
516, 517, 518, 519, 520, 521, 522, 523, 524, 525,
526, 527, 528, 0, 529, 530, 0, 531, 532, 533,
534, 535, 536, 537, 0, 538, 539, 540, 0, 0,
541, 542, 543, 544, 545, 0, 546, 547, 548, 549,
550, 551, 552, 0, 0, 553, 554, 555, 556, 557,
0, 0, 558, 559, 560, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 0, 0, 571, 0,
0, 572, 573, 574, 575, 576, 577, 578, 579, 580,
581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
591, 0, 0, 599, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 4852, 227, 228,
229, 230, 231, 232, 233, 234, 0, 235, 236, 237,
0, 0, 0, 0, 0, 0, 0, 238, 239, 0,
240, 241, 242, 0, 244, 245, 246, 247, 248, 0,
250, 251, 0, 252, 253, 254, 255, 256, 257, 0,
0, 258, 259, 260, 261, 262, 0, 263, 264, 265,
266, 267, 0, 0, 0, 269, 270, 271, 272, 273,
0, 275, 276, 277, 0, 278, 279, 280, 281, 282,
283, 0, 0, 285, 286, 287, 0, 0, 0, 0,
0, 0, 0, 289, 290, 291, 292, 293, 294, 295,
296, 297, 0, 298, 0, 299, 300, 301, 302, 303,
304, 0, 305, 306, 307, 308, 0, 0, 309, 310,
311, 312, 313, 0, 314, 315, 316, 0, 317, 318,
319, 0, 320, 321, 322, 323, 324, 325, 326, 327,
328, 0, 329, 0, 330, 331, 332, 333, 0, 334,
0, 335, 0, 0, 0, 338, 339, 340, 341, 0,
342, 343, 0, 344, 345, 346, 0, 347, 348, 349,
350, 351, 0, 353, 354, 355, 356, 0, 357, 358,
359, 360, 361, 362, 363, 0, 364, 0, 366, 367,
368, 369, 370, 371, 372, 0, 373, 0, 374, 0,
0, 377, 0, 379, 380, 381, 382, 383, 0, 0,
384, 385, 0, 387, 0, 0, 389, 390, 391, 0,
0, 392, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 0, 410,
411, 412, 413, 414, 0, 415, 416, 0, 418, 0,
419, 420, 421, 422, 423, 424, 0, 425, 426, 0,
0, 427, 428, 429, 0, 0, 430, 431, 432, 0,
434, 0, 436, 437, 438, 439, 440, 441, 442, 443,
444, 445, 0, 446, 447, 448, 449, 450, 451, 452,
453, 0, 454, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 0, 469, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
0, 481, 482, 0, 484, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 496, 497, 498, 40,
499, 500, 501, 502, 503, 0, 504, 505, 506, 507,
508, 0, 510, 511, 512, 513, 0, 514, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 528, 0, 529, 530, 44, 531, 0, 533, 534,
535, 536, 537, 0, 538, 539, 540, 0, 0, 541,
542, 543, 544, 545, 0, 546, 547, 548, 549, 550,
551, 552, 0, 0, 553, 554, 555, 556, 557, 0,
0, 558, 559, 560, 561, 562, 1145, 564, 0, 565,
0, 567, 568, 569, 570, 0, 0, 571, 0, 49,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 584, 585, 586, 587, 588, 589, 590, 591,
0, 0, 50, 599, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 51, 0, 227, 228,
229, 230, 231, 232, 233, 234, 0, 235, 236, 237,
0, 0, 0, 0, 0, 0, 0, 238, 239, 0,
240, 241, 242, 0, 244, 245, 246, 247, 248, 0,
250, 251, 0, 252, 253, 254, 255, 256, 257, 0,
0, 258, 259, 260, 261, 262, 0, 263, 264, 265,
266, 267, 0, 0, 0, 269, 270, 271, 272, 273,
0, 275, 276, 277, 0, 278, 279, 280, 281, 282,
283, 0, 0, 285, 286, 287, 0, 0, 0, 0,
0, 0, 0, 289, 290, 291, 292, 293, 294, 295,
296, 297, 0, 298, 0, 299, 300, 301, 302, 303,
304, 0, 305, 306, 307, 308, 0, 0, 309, 310,
311, 312, 313, 0, 314, 315, 316, 0, 317, 318,
319, 0, 320, 321, 322, 323, 324, 325, 326, 327,
328, 0, 329, 0, 330, 331, 332, 333, 0, 334,
0, 335, 0, 0, 0, 338, 339, 340, 341, 0,
342, 343, 0, 344, 345, 346, 0, 347, 348, 349,
350, 351, 0, 353, 354, 355, 356, 0, 357, 358,
359, 360, 361, 362, 363, 0, 364, 0, 366, 367,
368, 369, 370, 371, 372, 0, 373, 0, 374, 0,
0, 377, 0, 379, 380, 381, 382, 383, 0, 0,
384, 385, 0, 387, 0, 0, 389, 390, 391, 0,
0, 392, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 0, 410,
411, 412, 413, 414, 0, 415, 416, 0, 418, 0,
419, 420, 421, 422, 423, 424, 0, 425, 426, 0,
0, 427, 428, 429, 0, 0, 430, 431, 432, 0,
434, 0, 436, 437, 438, 439, 440, 441, 442, 443,
444, 445, 0, 446, 447, 448, 449, 450, 451, 452,
453, 0, 454, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 0, 469, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
0, 481, 482, 0, 484, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 496, 497, 498, 0,
499, 500, 501, 502, 503, 0, 504, 505, 506, 507,
508, 0, 510, 511, 512, 513, 0, 514, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 528, 0, 529, 530, 0, 531, 0, 533, 534,
535, 536, 537, 0, 538, 539, 540, 0, 0, 541,
542, 543, 544, 545, 0, 546, 547, 548, 549, 550,
551, 552, 0, 0, 553, 554, 555, 556, 557, 0,
0, 558, 559, 560, 561, 562, 563, 564, 0, 565,
0, 567, 568, 569, 570, 0, 0, 571, 0, 0,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 584, 585, 586, 587, 588, 589, 590, 591,
0, 0, 599, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1340, 227, 228, 229,
230, 231, 232, 233, 234, 0, 235, 236, 237, 0,
0, 0, 0, 0, 0, 0, 238, 239, 0, 240,
241, 242, 0, 244, 245, 246, 247, 248, 0, 250,
251, 0, 252, 253, 254, 255, 256, 257, 0, 0,
258, 259, 260, 261, 262, 0, 263, 264, 265, 266,
267, 0, 0, 0, 269, 270, 271, 272, 273, 0,
275, 276, 277, 0, 278, 279, 280, 281, 282, 283,
0, 0, 285, 286, 287, 0, 0, 0, 0, 0,
0, 0, 289, 290, 291, 292, 293, 294, 295, 296,
297, 0, 298, 0, 299, 300, 301, 302, 303, 304,
0, 305, 306, 307, 308, 0, 0, 309, 310, 311,
312, 313, 0, 314, 315, 316, 0, 317, 318, 319,
0, 320, 321, 322, 323, 324, 325, 326, 327, 328,
0, 329, 0, 330, 331, 332, 333, 0, 334, 0,
335, 0, 0, 0, 338, 339, 340, 341, 0, 342,
343, 0, 344, 345, 346, 0, 347, 348, 349, 350,
351, 0, 353, 354, 355, 356, 0, 357, 358, 359,
360, 361, 362, 363, 0, 364, 0, 366, 367, 368,
369, 370, 371, 372, 0, 373, 0, 374, 0, 0,
377, 0, 379, 380, 381, 382, 383, 0, 0, 384,
385, 0, 387, 0, 0, 389, 390, 391, 0, 0,
392, 393, 394, 395, 396, 397, 398, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 0, 410, 411,
412, 413, 414, 0, 415, 416, 0, 418, 0, 419,
420, 421, 422, 423, 424, 0, 425, 426, 0, 0,
427, 428, 429, 0, 0, 430, 431, 432, 0, 434,
0, 436, 437, 438, 439, 440, 441, 442, 443, 444,
445, 0, 446, 447, 448, 449, 450, 451, 452, 453,
0, 454, 455, 456, 457, 458, 459, 460, 461, 462,
463, 464, 465, 466, 467, 468, 0, 469, 470, 471,
472, 473, 474, 475, 476, 477, 478, 479, 480, 0,
481, 482, 0, 484, 485, 486, 487, 488, 489, 490,
491, 492, 493, 494, 495, 496, 497, 498, 0, 499,
500, 501, 502, 503, 0, 504, 505, 506, 507, 508,
0, 510, 511, 512, 513, 0, 514, 515, 516, 517,
518, 519, 520, 521, 522, 523, 524, 525, 526, 527,
528, 0, 529, 530, 0, 531, 0, 533, 534, 535,
536, 537, 0, 538, 539, 540, 0, 0, 541, 542,
543, 544, 545, 0, 546, 547, 548, 549, 550, 551,
552, 0, 0, 553, 554, 555, 556, 557, 0, 0,
558, 559, 560, 561, 562, 563, 564, 0, 565, 0,
567, 568, 569, 570, 0, 0, 571, 0, 0, 572,
573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
583, 584, 585, 586, 587, 588, 589, 590, 591, 0,
0, 599, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2912, 227, 228, 229, 230,
231, 232, 233, 234, 0, 235, 236, 237, 0, 0,
0, 0, 0, 0, 0, 238, 239, 0, 240, 241,
242, 0, 244, 245, 246, 247, 248, 0, 250, 251,
0, 252, 253, 254, 255, 256, 257, 0, 0, 258,
259, 260, 261, 262, 0, 263, 264, 265, 266, 267,
0, 0, 0, 269, 270, 271, 272, 273, 0, 275,
276, 277, 0, 278, 279, 280, 281, 282, 283, 0,
0, 285, 286, 287, 0, 0, 0, 0, 0, 0,
0, 289, 290, 291, 292, 293, 294, 295, 296, 297,
0, 298, 0, 299, 300, 301, 302, 303, 304, 0,
305, 306, 307, 308, 0, 0, 309, 310, 311, 312,
313, 0, 314, 315, 316, 0, 317, 318, 319, 0,
320, 321, 322, 323, 324, 325, 326, 327, 328, 0,
329, 0, 330, 331, 332, 333, 0, 334, 0, 335,
0, 0, 0, 338, 339, 340, 341, 0, 342, 343,
0, 344, 345, 346, 0, 347, 348, 349, 350, 351,
0, 353, 354, 355, 356, 0, 357, 358, 359, 360,
361, 362, 363, 0, 364, 0, 366, 367, 368, 369,
370, 371, 372, 0, 373, 0, 374, 0, 0, 377,
0, 379, 380, 381, 382, 383, 0, 0, 384, 385,
0, 387, 0, 0, 389, 390, 391, 0, 0, 392,
393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
403, 404, 405, 406, 407, 408, 0, 410, 411, 412,
413, 414, 0, 415, 416, 0, 418, 0, 419, 420,
421, 422, 423, 424, 0, 425, 426, 0, 0, 427,
428, 429, 0, 0, 430, 431, 432, 0, 434, 0,
436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
0, 446, 447, 448, 449, 450, 451, 452, 453, 0,
454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
464, 465, 466, 467, 468, 0, 469, 470, 471, 472,
473, 474, 475, 476, 477, 478, 479, 480, 0, 481,
482, 0, 484, 485, 486, 487, 488, 489, 490, 491,
492, 493, 494, 495, 496, 497, 498, 0, 499, 500,
501, 502, 503, 0, 504, 505, 506, 507, 508, 0,
510, 511, 512, 513, 0, 514, 515, 516, 517, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
0, 529, 530, 0, 531, 0, 533, 534, 535, 536,
537, 0, 538, 539, 540, 0, 0, 541, 542, 543,
544, 545, 0, 546, 547, 548, 549, 550, 551, 552,
0, 0, 553, 554, 555, 556, 557, 0, 0, 558,
559, 560, 561, 562, 563, 564, 0, 565, 0, 567,
568, 569, 570, 0, 0, 571, 0, 0, 572, 573,
574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
584, 585, 586, 587, 588, 589, 590, 591, 0, 0,
599, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 4085, 227, 228, 229, 230, 231,
232, 233, 234, 0, 235, 236, 237, 0, 0, 0,
0, 0, 0, 0, 238, 239, 0, 240, 241, 242,
0, 244, 245, 246, 247, 248, 0, 250, 251, 0,
252, 253, 254, 255, 256, 257, 0, 0, 258, 259,
260, 261, 262, 0, 263, 264, 265, 266, 267, 0,
0, 0, 269, 270, 271, 272, 273, 0, 275, 276,
277, 0, 278, 279, 280, 281, 282, 283, 0, 0,
285, 286, 287, 0, 0, 0, 0, 0, 0, 0,
289, 290, 291, 292, 293, 294, 295, 296, 297, 0,
298, 0, 299, 300, 301, 302, 303, 304, 0, 305,
306, 307, 308, 0, 0, 309, 310, 311, 312, 313,
0, 314, 315, 316, 0, 317, 318, 319, 0, 320,
321, 322, 323, 324, 325, 326, 327, 328, 0, 329,
0, 330, 331, 332, 333, 0, 334, 0, 335, 0,
0, 0, 338, 339, 340, 341, 0, 342, 343, 0,
344, 345, 346, 0, 347, 348, 349, 350, 351, 0,
353, 354, 355, 356, 0, 357, 358, 359, 360, 361,
362, 363, 0, 364, 0, 366, 367, 368, 369, 370,
371, 372, 0, 373, 0, 374, 0, 0, 377, 0,
379, 380, 381, 382, 383, 0, 0, 384, 385, 0,
387, 0, 0, 389, 390, 391, 0, 0, 392, 393,
394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 0, 410, 411, 412, 413,
414, 0, 415, 416, 0, 418, 0, 419, 420, 421,
422, 423, 424, 0, 425, 426, 0, 0, 427, 428,
429, 0, 0, 430, 431, 432, 0, 434, 0, 436,
437, 438, 439, 440, 441, 442, 443, 444, 445, 0,
446, 447, 448, 449, 450, 451, 452, 453, 0, 454,
455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
465, 466, 467, 468, 0, 469, 470, 471, 472, 473,
474, 475, 476, 477, 478, 479, 480, 0, 481, 482,
0, 484, 485, 486, 487, 488, 489, 490, 491, 492,
493, 494, 495, 496, 497, 498, 0, 499, 500, 501,
502, 503, 0, 504, 505, 506, 507, 508, 0, 510,
511, 512, 513, 0, 514, 515, 516, 517, 518, 519,
520, 521, 522, 523, 524, 525, 526, 527, 528, 0,
529, 530, 0, 531, 0, 533, 534, 535, 536, 537,
0, 538, 539, 540, 0, 0, 541, 542, 543, 544,
545, 0, 546, 547, 548, 549, 550, 551, 552, 0,
0, 553, 554, 555, 556, 557, 0, 0, 558, 559,
560, 561, 562, 563, 564, 0, 565, 0, 567, 568,
569, 570, 0, 0, 571, 0, 0, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 582, 583, 584,
585, 586, 587, 588, 589, 590, 591, 0, 0, 0,
0, 0, 1058, 1492, 659, 0, 0, 877, 719, 0,
0, 0, 0, 4540, 878, 879, 880, 227, 228, 229,
230, 231, 232, 233, 234, 1623, 235, 236, 237, 1624,
1625, 1626, 1627, 1628, 1629, 1630, 238, 239, 1631, 240,
241, 242, 243, 244, 245, 246, 0, 1059, 249, 1060,
1061, 1632, 252, 253, 254, 255, 256, 257, 1633, 1634,
258, 259, 1062, 1063, 262, 1635, 263, 264, 265, 266,
0, 1636, 268, 1637, 269, 270, 271, 272, 273, 274,
275, 276, 277, 1638, 278, 279, 280, 281, 282, 283,
1639, 284, 285, 286, 287, 1640, 1641, 1642, 288, 1643,
1644, 1645, 289, 290, 291, 292, 293, 294, 1064, 1065,
297, 1646, 298, 1647, 299, 300, 301, 302, 303, 304,
1648, 305, 306, 307, 308, 1649, 1650, 309, 310, 1066,
312, 313, 1651, 314, 315, 316, 1652, 317, 318, 319,
1653, 320, 321, 322, 323, 0, 325, 326, 327, 0,
1654, 329, 1655, 330, 331, 1067, 333, 1656, 334, 1657,
335, 336, 1658, 337, 338, 339, 340, 341, 1659, 342,
0, 1660, 0, 345, 346, 1661, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 1662, 357, 358, 359,
360, 361, 362, 363, 1663, 364, 365, 0, 367, 368,
369, 370, 1069, 1070, 1664, 1071, 1665, 374, 375, 376,
377, 378, 379, 380, 381, 382, 383, 1666, 1667, 384,
0, 386, 387, 388, 1668, 389, 390, 391, 1669, 1670,
392, 393, 394, 395, 396, 397, 398, 399, 400, 401,
402, 403, 404, 405, 406, 407, 1072, 409, 1073, 411,
412, 413, 3839, 1671, 415, 416, 417, 418, 1672, 0,
420, 1074, 422, 423, 424, 1673, 425, 426, 1674, 1675,
3840, 428, 429, 1676, 1677, 430, 431, 0, 433, 434,
435, 0, 437, 438, 439, 440, 441, 442, 443, 444,
445, 1678, 446, 447, 0, 449, 0, 451, 452, 453,
1679, 454, 455, 456, 457, 458, 459, 460, 461, 462,
463, 1075, 465, 466, 467, 468, 1680, 469, 470, 471,
472, 473, 474, 475, 476, 477, 478, 479, 480, 1681,
481, 482, 483, 484, 485, 486, 487, 488, 0, 490,
491, 492, 493, 494, 495, 496, 497, 498, 1682, 499,
500, 501, 502, 503, 1683, 504, 505, 2161, 507, 508,
509, 510, 511, 1077, 513, 1684, 514, 515, 516, 517,
518, 519, 520, 521, 522, 523, 524, 525, 526, 0,
528, 1685, 529, 530, 1686, 531, 532, 533, 534, 535,
536, 537, 1687, 538, 1078, 1079, 1688, 1689, 541, 542,
0, 544, 0, 1690, 546, 547, 548, 549, 550, 551,
552, 1691, 1692, 553, 554, 555, 556, 557, 1693, 1694,
558, 559, 560, 561, 562, 0, 1080, 1695, 565, 566,
567, 568, 569, 570, 1696, 1697, 571, 1698, 1699, 572,
573, 574, 575, 576, 577, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 589, 590, 591, 0,
0, 0, 883, 884, 885, 0, 3841, 3842, 888, 889,
890, 891, 1058, 1492, 659, 0, 0, 877, 719, 0,
0, 0, 0, 0, 878, 879, 880, 227, 228, 229,
230, 231, 232, 233, 234, 1623, 235, 236, 237, 1624,
1625, 1626, 1627, 1628, 1629, 1630, 238, 239, 1631, 240,
241, 242, 243, 244, 245, 246, 0, 1059, 249, 1060,
1061, 1632, 252, 253, 254, 255, 256, 257, 1633, 1634,
258, 259, 1062, 1063, 262, 1635, 263, 264, 265, 266,
0, 1636, 268, 1637, 269, 270, 271, 272, 273, 274,
275, 276, 277, 1638, 278, 279, 280, 281, 282, 283,
1639, 284, 285, 286, 287, 1640, 1641, 1642, 288, 1643,
1644, 1645, 289, 290, 291, 292, 293, 294, 1064, 1065,
297, 1646, 298, 1647, 299, 300, 301, 302, 303, 304,
1648, 305, 306, 307, 308, 1649, 1650, 309, 310, 1066,
312, 313, 1651, 314, 315, 316, 1652, 317, 318, 319,
1653, 320, 321, 322, 323, 0, 325, 326, 327, 0,
1654, 329, 1655, 330, 331, 1067, 333, 1656, 334, 1657,
335, 336, 1658, 337, 338, 339, 340, 341, 1659, 342,
0, 1660, 0, 345, 346, 1661, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 1662, 357, 358, 359,
360, 361, 362, 363, 1663, 364, 365, 0, 367, 368,
369, 370, 1069, 1070, 1664, 1071, 1665, 374, 375, 376,
377, 378, 379, 380, 381, 382, 383, 1666, 1667, 384,
0, 386, 387, 388, 1668, 389, 390, 391, 1669, 1670,
392, 393, 394, 395, 396, 397, 398, 399, 400, 401,
402, 403, 404, 405, 406, 407, 1072, 409, 1073, 411,
412, 413, 4261, 1671, 415, 416, 417, 418, 1672, 0,
420, 1074, 422, 423, 424, 1673, 425, 426, 1674, 1675,
3840, 428, 429, 1676, 1677, 430, 431, 0, 433, 434,
435, 0, 437, 438, 439, 440, 441, 442, 443, 444,
445, 1678, 446, 447, 0, 449, 0, 451, 452, 453,
1679, 454, 455, 456, 457, 458, 459, 460, 461, 462,
463, 1075, 465, 466, 467, 468, 1680, 469, 470, 471,
472, 473, 474, 475, 476, 477, 478, 479, 480, 1681,
481, 482, 483, 484, 485, 486, 487, 488, 0, 490,
491, 492, 493, 494, 495, 496, 497, 498, 1682, 499,
500, 501, 502, 503, 1683, 504, 505, 2161, 507, 508,
509, 510, 511, 1077, 513, 1684, 514, 515, 516, 517,
518, 519, 520, 521, 522, 523, 524, 525, 526, 0,
528, 1685, 529, 530, 1686, 531, 532, 533, 534, 535,
536, 537, 1687, 538, 1078, 1079, 1688, 1689, 541, 542,
0, 544, 0, 1690, 546, 547, 548, 549, 550, 551,
552, 1691, 1692, 553, 554, 555, 556, 557, 1693, 1694,
558, 559, 560, 561, 562, 0, 1080, 1695, 565, 566,
567, 568, 569, 570, 1696, 1697, 571, 1698, 1699, 572,
573, 574, 575, 576, 577, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 589, 590, 591, 0,
599, 0, 883, 884, 885, 877, 3841, 3842, 888, 889,
890, 891, 878, 879, 880, 227, 228, 229, 230, 231,
232, 233, 234, 0, 235, 236, 237, 0, 0, 0,
0, 0, 0, 0, 238, 239, 0, 240, 241, 242,
0, 244, 245, 246, 247, 248, 0, 250, 251, 0,
252, 253, 254, 255, 256, 257, 0, 0, 258, 259,
260, 261, 262, 0, 263, 881, 265, 266, 267, 0,
0, 0, 269, 270, 271, 272, 273, 0, 275, 276,
277, 0, 278, 279, 280, 281, 282, 283, 0, 0,
285, 286, 287, 0, 0, 0, 0, 0, 0, 0,
289, 290, 291, 292, 293, 294, 295, 296, 297, 0,
298, 0, 299, 300, 301, 302, 303, 304, 0, 305,
306, 307, 308, 0, 0, 309, 310, 311, 312, 313,
0, 314, 315, 316, 0, 317, 318, 319, 0, 320,
321, 322, 323, 324, 325, 326, 327, 328, 0, 882,
0, 330, 331, 332, 333, 0, 334, 0, 335, 0,
0, 0, 338, 339, 340, 341, 0, 342, 343, 0,
344, 345, 346, 0, 347, 348, 349, 350, 351, 0,
353, 354, 355, 356, 0, 357, 358, 359, 360, 361,
362, 363, 0, 364, 0, 366, 367, 368, 369, 370,
371, 372, 0, 373, 0, 374, 0, 0, 377, 0,
379, 380, 381, 382, 383, 0, 0, 384, 385, 0,
387, 0, 0, 389, 390, 391, 0, 0, 392, 393,
394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 0, 410, 411, 412, 413,
414, 0, 415, 416, 0, 418, 0, 419, 420, 421,
422, 423, 424, 0, 425, 426, 0, 0, 427, 428,
429, 0, 0, 430, 431, 432, 0, 434, 0, 436,
437, 438, 439, 440, 441, 442, 443, 444, 445, 0,
446, 447, 448, 449, 450, 451, 452, 453, 0, 454,
455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
465, 466, 467, 468, 0, 469, 470, 471, 472, 473,
474, 475, 476, 477, 478, 479, 480, 0, 481, 482,
0, 484, 485, 486, 487, 488, 489, 490, 491, 492,
493, 494, 495, 496, 497, 498, 0, 499, 500, 501,
502, 503, 0, 504, 505, 506, 507, 508, 0, 510,
511, 512, 513, 0, 514, 515, 516, 517, 518, 519,
520, 521, 522, 523, 524, 525, 526, 527, 528, 0,
529, 530, 0, 531, 0, 533, 534, 535, 536, 537,
0, 538, 539, 540, 0, 0, 541, 542, 543, 544,
545, 0, 546, 547, 548, 549, 550, 551, 552, 0,
0, 553, 554, 555, 556, 557, 0, 0, 558, 559,
560, 561, 562, 563, 564, 0, 565, 0, 567, 568,
569, 570, 0, 0, 571, 0, 0, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 582, 583, 584,
585, 586, 587, 588, 589, 590, 591, 0, 599, 0,
883, 884, 885, 877, 886, 887, 888, 889, 890, 891,
878, 879, 880, 227, 228, 229, 230, 231, 232, 233,
234, 0, 235, 236, 237, 0, 0, 0, 0, 0,
0, 0, 238, 239, 0, 240, 241, 242, 0, 244,
245, 246, 247, 248, 0, 250, 251, 0, 252, 253,
254, 255, 256, 257, 0, 0, 258, 259, 260, 261,
262, 0, 263, 1008, 265, 266, 267, 0, 0, 0,
269, 270, 271, 272, 273, 0, 275, 276, 277, 0,
278, 279, 280, 281, 282, 283, 0, 0, 285, 286,
287, 0, 0, 0, 0, 0, 0, 0, 289, 290,
291, 292, 293, 294, 295, 296, 297, 0, 298, 0,
299, 300, 301, 302, 303, 304, 0, 305, 306, 307,
308, 0, 0, 309, 310, 311, 312, 313, 0, 314,
315, 316, 0, 317, 318, 319, 0, 320, 321, 322,
323, 324, 325, 326, 327, 328, 0, 1009, 0, 330,
331, 332, 333, 0, 334, 0, 335, 0, 0, 0,
338, 339, 340, 341, 0, 342, 343, 0, 344, 345,
346, 0, 347, 348, 349, 350, 351, 0, 353, 354,
355, 356, 0, 357, 358, 359, 360, 361, 362, 363,
0, 364, 0, 366, 367, 368, 369, 370, 371, 372,
0, 373, 0, 374, 0, 0, 377, 0, 379, 380,
381, 382, 383, 0, 0, 384, 385, 0, 387, 0,
0, 389, 390, 391, 0, 0, 392, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 0, 410, 411, 412, 413, 414, 0,
415, 416, 0, 418, 0, 419, 420, 421, 422, 423,
424, 0, 425, 426, 0, 0, 427, 428, 429, 0,
0, 430, 431, 432, 0, 434, 0, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 446, 447,
448, 449, 450, 451, 452, 453, 0, 454, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 0, 481, 482, 0, 484,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 496, 497, 498, 0, 499, 500, 501, 502, 503,
0, 504, 505, 506, 507, 508, 0, 510, 511, 512,
513, 0, 514, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 528, 0, 529, 530,
0, 531, 0, 533, 534, 535, 536, 537, 0, 538,
539, 540, 0, 0, 541, 542, 543, 544, 545, 0,
546, 547, 548, 549, 550, 551, 552, 0, 0, 553,
554, 555, 556, 557, 0, 0, 558, 559, 560, 561,
562, 563, 564, 0, 565, 0, 567, 568, 569, 570,
0, 0, 571, 0, 0, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
587, 588, 589, 590, 591, 0, 599, 0, 883, 884,
885, 877, 886, 887, 888, 889, 890, 891, 878, 879,
880, 227, 228, 229, 230, 231, 232, 233, 234, 0,
235, 236, 237, 0, 0, 0, 0, 0, 0, 0,
238, 239, 0, 240, 241, 242, 0, 244, 245, 246,
247, 248, 0, 250, 251, 0, 252, 253, 254, 255,
256, 257, 0, 0, 258, 259, 260, 261, 262, 0,
263, 1108, 265, 266, 267, 0, 0, 0, 269, 270,
271, 272, 273, 0, 275, 276, 277, 0, 278, 279,
280, 281, 282, 283, 0, 0, 285, 286, 287, 0,
0, 0, 0, 0, 0, 0, 289, 290, 291, 292,
293, 294, 295, 296, 297, 0, 298, 0, 299, 300,
301, 302, 303, 304, 0, 305, 306, 307, 308, 0,
0, 309, 310, 311, 312, 313, 0, 314, 315, 316,
0, 317, 318, 319, 0, 320, 321, 322, 323, 324,
325, 326, 327, 328, 0, 1109, 0, 330, 331, 332,
333, 0, 334, 0, 335, 0, 0, 0, 338, 339,
340, 341, 0, 342, 343, 0, 344, 345, 346, 0,
347, 348, 349, 350, 1110, 0, 353, 354, 355, 356,
0, 357, 358, 359, 360, 361, 362, 363, 0, 364,
0, 366, 367, 368, 369, 370, 371, 372, 0, 373,
0, 374, 0, 0, 377, 0, 379, 380, 381, 382,
383, 0, 0, 384, 385, 0, 387, 0, 0, 389,
390, 391, 0, 0, 392, 393, 394, 395, 396, 397,
398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
408, 0, 410, 411, 412, 413, 414, 0, 415, 416,
0, 418, 0, 419, 420, 421, 422, 423, 424, 0,
425, 426, 0, 0, 427, 428, 429, 0, 0, 430,
431, 432, 0, 434, 0, 436, 437, 438, 439, 440,
441, 442, 443, 444, 445, 0, 446, 447, 448, 449,
450, 451, 452, 453, 0, 454, 455, 456, 457, 458,
459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
0, 469, 470, 471, 472, 473, 474, 475, 476, 477,
478, 479, 480, 0, 481, 482, 0, 484, 485, 486,
487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
497, 498, 0, 499, 500, 501, 502, 503, 0, 504,
505, 506, 507, 508, 0, 510, 511, 512, 513, 0,
514, 515, 516, 517, 518, 519, 520, 521, 522, 523,
524, 525, 526, 527, 528, 0, 529, 530, 0, 531,
0, 533, 534, 535, 536, 537, 0, 538, 539, 540,
0, 0, 541, 542, 543, 544, 545, 0, 546, 547,
548, 549, 550, 551, 552, 0, 0, 553, 554, 555,
556, 557, 0, 0, 558, 559, 560, 561, 562, 563,
564, 0, 565, 0, 567, 568, 569, 570, 0, 0,
571, 0, 0, 572, 573, 574, 575, 576, 577, 578,
579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
589, 590, 591, 0, 599, 0, 883, 884, 885, 877,
886, 887, 888, 889, 890, 891, 878, 879, 880, 227,
228, 229, 230, 231, 232, 233, 234, 0, 235, 236,
237, 0, 0, 0, 0, 0, 0, 0, 238, 239,
0, 240, 241, 242, 0, 244, 245, 246, 247, 248,
0, 250, 251, 0, 252, 253, 254, 255, 256, 257,
0, 0, 258, 259, 260, 261, 262, 0, 263, 1722,
265, 266, 267, 0, 0, 0, 269, 270, 271, 272,
273, 0, 275, 276, 277, 0, 278, 279, 280, 281,
282, 283, 0, 0, 285, 286, 287, 0, 0, 0,
0, 0, 0, 0, 289, 290, 291, 292, 293, 294,
295, 296, 297, 0, 298, 0, 299, 300, 301, 302,
303, 304, 0, 305, 306, 307, 308, 0, 0, 309,
310, 311, 312, 313, 0, 314, 315, 316, 0, 317,
318, 319, 0, 320, 321, 322, 323, 324, 325, 326,
327, 328, 0, 1723, 0, 330, 331, 332, 333, 0,
334, 0, 335, 0, 0, 0, 338, 339, 340, 341,
0, 342, 343, 0, 344, 345, 346, 0, 347, 348,
349, 350, 351, 0, 353, 354, 355, 356, 0, 357,
358, 359, 360, 361, 362, 363, 0, 364, 0, 366,
367, 368, 369, 370, 371, 372, 0, 373, 0, 374,
0, 0, 377, 0, 379, 380, 381, 382, 383, 0,
0, 384, 385, 0, 387, 0, 0, 389, 390, 391,
0, 0, 392, 393, 394, 395, 396, 397, 398, 399,
400, 401, 402, 403, 404, 405, 406, 407, 408, 0,
410, 411, 412, 413, 414, 0, 415, 416, 0, 418,
0, 419, 420, 421, 422, 423, 424, 0, 425, 426,
0, 0, 427, 428, 429, 0, 0, 430, 431, 432,
0, 434, 0, 436, 437, 438, 439, 440, 441, 442,
443, 444, 445, 0, 446, 447, 448, 449, 450, 451,
452, 453, 0, 454, 455, 456, 457, 458, 459, 460,
461, 462, 463, 464, 465, 466, 467, 468, 0, 469,
470, 471, 472, 473, 474, 475, 476, 477, 478, 479,
480, 0, 481, 482, 0, 484, 485, 486, 487, 488,
489, 490, 491, 492, 493, 494, 495, 496, 497, 498,
0, 499, 500, 501, 502, 503, 0, 504, 505, 506,
507, 508, 0, 510, 511, 512, 513, 0, 514, 515,
516, 517, 518, 519, 520, 521, 522, 523, 524, 525,
526, 527, 528, 0, 529, 530, 0, 531, 0, 533,
534, 535, 536, 537, 0, 538, 539, 540, 0, 0,
541, 542, 543, 544, 545, 0, 546, 547, 548, 549,
550, 551, 552, 0, 0, 553, 554, 555, 556, 557,
0, 0, 558, 559, 560, 561, 562, 563, 564, 0,
565, 0, 567, 568, 569, 570, 0, 0, 571, 0,
0, 572, 573, 574, 575, 576, 577, 578, 579, 580,
581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
591, 0, 599, 0, 883, 884, 885, 877, 886, 887,
888, 889, 890, 891, 878, 879, 880, 227, 228, 229,
230, 231, 232, 233, 234, 0, 235, 236, 237, 0,
0, 0, 0, 0, 0, 0, 238, 239, 0, 240,
241, 242, 0, 244, 245, 246, 247, 248, 0, 250,
251, 0, 252, 253, 254, 255, 256, 257, 0, 0,
258, 259, 260, 261, 262, 0, 263, 264, 265, 266,
267, 0, 0, 0, 269, 270, 271, 272, 273, 0,
275, 276, 277, 0, 278, 279, 280, 281, 282, 283,
0, 0, 285, 286, 287, 0, 0, 0, 0, 0,
0, 0, 289, 290, 291, 292, 293, 294, 295, 296,
297, 0, 298, 0, 299, 300, 301, 302, 303, 304,
0, 305, 306, 307, 308, 0, 0, 309, 310, 311,
312, 313, 0, 314, 315, 316, 0, 317, 318, 319,
0, 320, 321, 322, 323, 324, 325, 326, 327, 328,
0, 329, 0, 330, 331, 332, 333, 0, 334, 0,
335, 0, 0, 0, 338, 339, 340, 341, 0, 342,
343, 0, 344, 345, 346, 0, 347, 348, 349, 350,
351, 0, 353, 354, 355, 356, 0, 357, 358, 359,
360, 361, 362, 363, 0, 364, 0, 366, 367, 368,
369, 370, 371, 372, 0, 373, 0, 374, 0, 0,
377, 0, 379, 380, 381, 382, 383, 0, 0, 384,
385, 0, 387, 0, 0, 389, 390, 391, 0, 0,
392, 393, 394, 395, 396, 397, 398, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 0, 410, 411,
412, 413, 414, 0, 415, 416, 0, 418, 0, 419,
420, 421, 422, 423, 424, 0, 425, 426, 0, 0,
427, 428, 429, 0, 0, 430, 431, 432, 0, 434,
0, 436, 437, 438, 439, 440, 441, 442, 443, 444,
445, 0, 446, 447, 448, 449, 450, 451, 452, 453,
0, 454, 455, 456, 457, 458, 459, 460, 461, 462,
463, 464, 465, 466, 467, 468, 0, 469, 470, 471,
472, 473, 474, 475, 476, 477, 478, 479, 480, 0,
481, 482, 0, 484, 485, 486, 487, 488, 489, 490,
491, 492, 493, 494, 495, 496, 497, 498, 0, 499,
500, 501, 502, 503, 0, 504, 505, 506, 507, 508,
0, 510, 511, 512, 513, 0, 514, 515, 516, 517,
518, 519, 520, 521, 522, 523, 524, 525, 526, 527,
528, 0, 529, 530, 0, 531, 0, 533, 534, 535,
536, 537, 0, 538, 539, 540, 0, 0, 541, 542,
543, 544, 545, 0, 546, 547, 548, 549, 550, 551,
552, 0, 0, 553, 554, 555, 556, 557, 0, 0,
558, 559, 560, 561, 562, 563, 564, 0, 565, 0,
567, 568, 569, 570, 0, 0, 571, 0, 0, 572,
573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
583, 584, 585, 586, 587, 588, 589, 590, 591, 0,
599, 0, 883, 884, 885, 877, 886, 887, 888, 889,
890, 891, 878, 879, 880, 227, 228, 229, 230, 231,
232, 233, 234, 0, 235, 236, 237, 0, 0, 0,
0, 0, 0, 0, 238, 239, 0, 240, 241, 242,
0, 244, 245, 246, 247, 248, 0, 250, 251, 0,
252, 253, 254, 255, 256, 257, 0, 0, 258, 259,
260, 261, 262, 0, 263, 2990, 265, 266, 267, 0,
0, 0, 269, 270, 271, 272, 273, 0, 275, 276,
277, 0, 278, 279, 280, 281, 282, 283, 0, 0,
285, 286, 287, 0, 0, 0, 0, 0, 0, 0,
289, 290, 291, 292, 293, 294, 295, 296, 297, 0,
298, 0, 299, 300, 301, 302, 303, 304, 0, 305,
306, 307, 308, 0, 0, 309, 310, 311, 312, 313,
0, 314, 315, 316, 0, 317, 318, 319, 0, 320,
321, 322, 323, 324, 325, 326, 327, 328, 0, 2991,
0, 330, 331, 332, 333, 0, 334, 0, 335, 0,
0, 0, 338, 339, 340, 341, 0, 342, 343, 0,
344, 345, 346, 0, 347, 348, 349, 350, 351, 0,
353, 354, 355, 356, 0, 357, 358, 359, 360, 361,
362, 363, 0, 364, 0, 366, 367, 368, 369, 370,
371, 372, 0, 373, 0, 374, 0, 0, 377, 0,
379, 380, 381, 382, 383, 0, 0, 384, 385, 0,
387, 0, 0, 389, 390, 391, 0, 0, 392, 393,
394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 0, 410, 411, 412, 413,
414, 0, 415, 416, 0, 418, 0, 419, 420, 421,
422, 423, 424, 0, 425, 426, 0, 0, 427, 428,
429, 0, 0, 430, 431, 432, 0, 434, 0, 436,
437, 438, 439, 440, 441, 442, 443, 444, 445, 0,
446, 447, 448, 449, 450, 451, 452, 453, 0, 454,
455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
465, 466, 467, 468, 0, 469, 470, 471, 472, 473,
474, 475, 476, 477, 478, 479, 480, 0, 481, 482,
0, 484, 485, 486, 487, 488, 489, 490, 491, 492,
493, 494, 495, 496, 497, 498, 0, 499, 500, 501,
502, 503, 0, 504, 505, 506, 507, 508, 0, 510,
511, 512, 513, 0, 514, 515, 516, 517, 518, 519,
520, 521, 522, 523, 524, 525, 526, 527, 528, 0,
529, 530, 0, 531, 0, 533, 534, 535, 536, 537,
0, 538, 539, 540, 0, 0, 541, 542, 543, 544,
545, 0, 546, 547, 548, 549, 550, 551, 552, 0,
0, 553, 554, 555, 556, 557, 0, 0, 558, 559,
560, 561, 562, 563, 564, 0, 565, 0, 567, 568,
569, 570, 0, 0, 571, 0, 0, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 582, 583, 584,
585, 586, 587, 588, 589, 590, 591, 0, 599, 0,
883, 884, 885, 877, 886, 887, 888, 889, 890, 891,
878, 879, 880, 227, 228, 229, 230, 231, 232, 233,
234, 0, 235, 236, 237, 0, 0, 0, 0, 0,
0, 0, 238, 239, 0, 240, 241, 242, 0, 244,
245, 246, 247, 248, 0, 250, 251, 0, 252, 253,
254, 255, 256, 257, 0, 0, 258, 259, 260, 261,
262, 0, 263, 264, 265, 266, 267, 0, 0, 0,
269, 270, 271, 272, 273, 0, 275, 276, 277, 0,
278, 279, 280, 281, 282, 283, 0, 0, 285, 286,
287, 0, 0, 0, 0, 0, 0, 0, 289, 290,
291, 292, 293, 294, 295, 296, 297, 0, 298, 0,
299, 300, 301, 302, 303, 304, 0, 305, 306, 307,
308, 0, 0, 309, 310, 311, 312, 313, 0, 314,
315, 316, 0, 317, 318, 319, 0, 320, 321, 322,
323, 324, 325, 326, 327, 328, 0, 329, 0, 330,
331, 332, 333, 0, 334, 0, 335, 0, 0, 0,
338, 339, 340, 341, 0, 342, 343, 0, 344, 345,
346, 0, 347, 348, 349, 350, 351, 0, 353, 354,
355, 356, 0, 357, 358, 359, 360, 361, 362, 363,
0, 364, 0, 366, 367, 368, 369, 370, 371, 372,
0, 373, 0, 374, 0, 0, 377, 0, 379, 380,
381, 382, 383, 0, 0, 384, 385, 0, 387, 0,
0, 389, 390, 391, 0, 0, 392, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 0, 410, 411, 412, 413, 414, 0,
415, 416, 0, 418, 0, 419, 420, 421, 422, 423,
424, 0, 425, 426, 0, 0, 4829, 428, 429, 0,
0, 430, 431, 432, 0, 434, 0, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 446, 447,
448, 449, 450, 451, 452, 453, 0, 454, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 0, 481, 482, 0, 484,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 496, 497, 498, 0, 499, 500, 501, 502, 503,
0, 504, 505, 506, 507, 508, 0, 510, 511, 512,
513, 0, 514, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 528, 0, 529, 530,
0, 531, 0, 533, 534, 535, 536, 537, 0, 538,
539, 540, 0, 0, 541, 542, 543, 544, 545, 0,
546, 547, 548, 549, 550, 551, 552, 0, 0, 553,
554, 555, 556, 557, 0, 0, 558, 559, 560, 561,
562, 563, 564, 0, 565, 0, 567, 568, 569, 570,
0, 0, 571, 0, 0, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
587, 588, 589, 590, 591, 1622, 0, 0, 883, 884,
885, 0, 886, 887, 888, 889, 890, 891, 0, 0,
227, 228, 229, 230, 231, 232, 233, 234, 1623, 235,
236, 237, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 238,
239, 1631, 240, 241, 242, 243, 244, 245, 246, 247,
248, 249, 250, 251, 1632, 252, 253, 254, 255, 256,
257, 1633, 1634, 258, 259, 260, 261, 262, 1635, 263,
264, 265, 266, 267, 1636, 268, 1637, 269, 270, 271,
272, 273, 274, 275, 276, 277, 1638, 278, 279, 280,
281, 282, 283, 1639, 284, 285, 286, 287, 1640, 1641,
1642, 288, 1643, 1644, 1645, 289, 290, 291, 292, 293,
294, 295, 296, 297, 1646, 298, 1647, 299, 300, 301,
302, 303, 304, 1648, 305, 306, 307, 308, 1649, 1650,
309, 310, 311, 312, 313, 1651, 314, 315, 316, 1652,
317, 318, 319, 1653, 320, 321, 322, 323, 324, 325,
326, 327, 328, 1654, 329, 1655, 330, 331, 332, 333,
1656, 334, 1657, 335, 336, 1658, 337, 338, 339, 340,
341, 1659, 342, 343, 1660, 344, 345, 346, 1661, 347,
348, 349, 350, 351, 352, 353, 354, 355, 356, 1662,
357, 358, 359, 360, 361, 362, 363, 1663, 364, 365,
366, 367, 368, 369, 370, 371, 372, 1664, 373, 1665,
374, 375, 376, 377, 378, 379, 380, 381, 382, 383,
1666, 1667, 384, 385, 386, 387, 388, 1668, 389, 390,
391, 1669, 1670, 392, 393, 394, 395, 396, 397, 398,
399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
409, 410, 411, 412, 413, 414, 1671, 415, 416, 417,
418, 1672, 419, 420, 421, 422, 423, 424, 1673, 425,
426, 1674, 1675, 427, 428, 429, 1676, 1677, 430, 431,
432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
442, 443, 444, 445, 1678, 446, 447, 448, 449, 450,
451, 452, 453, 1679, 454, 455, 456, 457, 458, 459,
460, 461, 462, 463, 464, 465, 466, 467, 468, 1680,
469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
479, 480, 1681, 481, 482, 483, 484, 485, 486, 487,
488, 489, 490, 491, 492, 493, 494, 495, 496, 497,
498, 1682, 499, 500, 501, 502, 503, 1683, 504, 505,
506, 507, 508, 509, 510, 511, 512, 513, 1684, 514,
515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
525, 526, 527, 528, 1685, 529, 530, 1686, 531, 532,
533, 534, 535, 536, 537, 1687, 538, 539, 540, 1688,
1689, 541, 542, 543, 544, 545, 1690, 546, 547, 548,
549, 550, 551, 552, 1691, 1692, 553, 554, 555, 556,
557, 1693, 1694, 558, 559, 560, 561, 562, 563, 564,
1695, 565, 566, 567, 568, 569, 570, 1696, 1697, 571,
1698, 1699, 572, 573, 574, 575, 576, 577, 578, 579,
580, 581, 582, 583, 584, 585, 586, 587, 588, 589,
590, 591, 599, 0, 0, 0, 0, 0, 0, 0,
0, 1700, 0, 0, 0, 0, 0, 227, 228, 229,
230, 231, 232, 233, 234, 0, 235, 236, 237, 0,
0, 0, 0, 0, 0, 0, 238, 239, 0, 240,
241, 242, 0, 244, 245, 246, 247, 248, 0, 250,
251, 0, 252, 253, 254, 255, 256, 257, 0, 0,
258, 259, 260, 261, 262, 0, 263, 264, 265, 266,
267, 0, 0, 0, 269, 270, 271, 272, 273, 0,
275, 276, 277, 0, 278, 279, 280, 281, 282, 283,
0, 0, 285, 286, 287, 0, 0, 0, 0, 0,
0, 0, 289, 290, 291, 292, 293, 294, 295, 296,
297, 0, 298, 0, 299, 300, 301, 302, 303, 304,
0, 305, 306, 307, 308, 0, 0, 309, 310, 311,
312, 313, 0, 314, 315, 316, 0, 317, 318, 319,
0, 320, 321, 322, 323, 324, 325, 326, 327, 328,
0, 329, 0, 330, 331, 332, 333, 0, 334, 0,
335, 0, 0, 0, 338, 339, 340, 341, 0, 342,
343, 0, 344, 345, 346, 0, 347, 348, 349, 350,
351, 0, 353, 354, 355, 356, 0, 357, 358, 359,
360, 361, 362, 363, 0, 364, 0, 366, 367, 368,
369, 370, 371, 372, 0, 373, 0, 374, 0, 0,
377, 0, 379, 380, 381, 382, 383, 0, 0, 384,
385, 0, 387, 0, 0, 389, 390, 391, 0, 0,
392, 393, 394, 395, 396, 397, 398, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 0, 410, 411,
412, 413, 414, 0, 415, 416, 0, 418, 0, 419,
420, 421, 422, 423, 424, 0, 425, 426, 0, 0,
427, 428, 429, 0, 0, 430, 431, 432, 0, 434,
0, 436, 437, 438, 439, 440, 441, 442, 443, 444,
445, 0, 446, 447, 448, 449, 450, 451, 452, 453,
0, 454, 455, 456, 457, 458, 459, 460, 461, 462,
463, 464, 465, 466, 467, 468, 0, 469, 470, 471,
472, 473, 474, 475, 476, 477, 478, 479, 480, 0,
481, 482, 0, 484, 485, 486, 487, 488, 489, 490,
491, 492, 493, 494, 495, 496, 497, 498, 0, 499,
500, 501, 502, 503, 0, 504, 505, 506, 507, 508,
0, 510, 511, 512, 513, 0, 514, 515, 516, 517,
518, 519, 520, 521, 522, 523, 524, 525, 526, 527,
528, 0, 529, 530, 0, 531, 0, 533, 534, 535,
536, 537, 0, 538, 539, 540, 0, 0, 541, 542,
543, 544, 545, 0, 546, 547, 548, 549, 550, 551,
552, 0, 0, 553, 554, 555, 556, 557, 0, 0,
558, 559, 560, 561, 562, 563, 564, 0, 565, 0,
567, 568, 569, 570, 0, 0, 571, 0, 0, 572,
573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
583, 584, 585, 586, 587, 588, 589, 590, 591, 599,
0, 0, 0, 0, 0, 0, 0, 0, 813, 0,
0, 0, 0, 0, 227, 228, 229, 230, 231, 232,
233, 234, 0, 235, 236, 237, 0, 0, 0, 0,
0, 0, 0, 238, 239, 0, 240, 241, 242, 0,
244, 245, 246, 247, 248, 0, 250, 251, 0, 252,
253, 254, 255, 256, 257, 0, 0, 258, 259, 260,
261, 262, 0, 263, 264, 265, 266, 267, 0, 0,
0, 269, 270, 271, 272, 273, 0, 275, 276, 277,
0, 278, 279, 280, 281, 282, 283, 0, 0, 285,
286, 287, 0, 0, 0, 0, 0, 0, 0, 289,
290, 291, 292, 293, 294, 295, 296, 297, 0, 298,
0, 299, 300, 301, 302, 303, 304, 0, 305, 306,
307, 308, 0, 0, 309, 310, 311, 312, 313, 0,
314, 315, 316, 0, 317, 318, 319, 0, 320, 321,
322, 323, 324, 325, 326, 327, 328, 0, 329, 0,
330, 331, 332, 333, 0, 334, 0, 335, 0, 0,
0, 338, 339, 340, 341, 0, 342, 343, 0, 344,
345, 346, 0, 347, 348, 349, 350, 351, 0, 353,
354, 355, 356, 0, 357, 358, 359, 360, 361, 362,
363, 0, 364, 0, 366, 367, 368, 369, 370, 371,
372, 0, 373, 0, 374, 0, 0, 377, 0, 379,
380, 381, 382, 383, 0, 0, 384, 385, 0, 387,
0, 0, 389, 390, 391, 0, 0, 392, 393, 394,
395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
405, 406, 407, 408, 0, 410, 411, 412, 413, 414,
0, 415, 416, 0, 418, 0, 419, 420, 421, 422,
423, 424, 0, 425, 426, 0, 0, 427, 428, 429,
0, 0, 430, 431, 432, 0, 434, 0, 436, 437,
438, 439, 440, 441, 442, 443, 444, 445, 0, 446,
447, 448, 449, 450, 451, 452, 453, 0, 454, 455,
456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
466, 467, 468, 0, 469, 470, 471, 472, 473, 474,
475, 476, 477, 478, 479, 480, 0, 481, 482, 0,
484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
494, 495, 496, 497, 498, 0, 499, 500, 501, 502,
503, 0, 504, 505, 506, 507, 508, 0, 510, 511,
512, 513, 0, 514, 515, 516, 517, 518, 519, 520,
521, 522, 523, 524, 525, 526, 527, 528, 0, 529,
530, 0, 531, 0, 533, 534, 535, 536, 537, 0,
538, 539, 540, 0, 0, 541, 542, 543, 544, 545,
0, 546, 547, 548, 549, 550, 551, 552, 0, 0,
553, 554, 555, 556, 557, 0, 0, 558, 559, 560,
561, 562, 563, 564, 0, 565, 0, 567, 568, 569,
570, 0, 0, 571, 0, 0, 572, 573, 574, 575,
576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
586, 587, 588, 589, 590, 591, 1058, 0, 0, 0,
0, 0, 0, 0, 0, 5221, 0, 0, 0, 0,
0, 227, 228, 229, 230, 231, 232, 233, 234, 0,
235, 236, 237, 0, 0, 0, 0, 0, 0, 0,
238, 239, 0, 240, 241, 242, 243, 244, 245, 246,
0, 1059, 249, 1060, 1061, 0, 252, 253, 254, 255,
256, 257, 0, 0, 258, 259, 1062, 1063, 262, 0,
263, 264, 265, 266, 0, 0, 268, 0, 269, 270,
271, 272, 273, 274, 275, 276, 277, 0, 278, 279,
280, 281, 282, 283, 0, 284, 285, 286, 287, 0,
0, 0, 288, 0, 0, 0, 289, 290, 291, 292,
293, 294, 1064, 1065, 297, 0, 298, 0, 299, 300,
301, 302, 303, 304, 0, 305, 306, 307, 308, 0,
0, 309, 310, 1066, 312, 313, 0, 314, 315, 316,
0, 317, 318, 319, 0, 320, 321, 322, 323, 0,
325, 326, 327, 0, 0, 329, 0, 330, 331, 1067,
333, 0, 334, 0, 335, 336, 0, 337, 338, 339,
340, 341, 0, 342, 0, 0, 0, 345, 346, 0,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
2157, 357, 358, 359, 360, 361, 362, 363, 0, 364,
365, 2158, 367, 368, 369, 370, 1069, 1070, 0, 1071,
0, 374, 375, 376, 377, 378, 379, 380, 381, 382,
383, 0, 0, 384, 0, 386, 387, 388, 0, 389,
390, 391, 0, 0, 392, 393, 394, 395, 396, 397,
398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
1072, 409, 1073, 411, 412, 413, 0, 0, 415, 416,
417, 418, 0, 0, 420, 1074, 422, 423, 424, 0,
425, 426, 0, 0, 427, 428, 429, 0, 2159, 430,
431, 2160, 433, 434, 435, 0, 437, 438, 439, 440,
441, 442, 443, 444, 445, 0, 446, 447, 0, 449,
0, 451, 452, 453, 0, 454, 455, 456, 457, 458,
459, 460, 461, 462, 463, 1075, 465, 466, 467, 468,
0, 469, 470, 471, 472, 473, 474, 475, 476, 477,
478, 479, 480, 0, 481, 482, 483, 484, 485, 486,
487, 488, 0, 490, 491, 492, 493, 494, 495, 496,
497, 498, 0, 499, 500, 501, 502, 503, 0, 504,
505, 2161, 507, 508, 509, 510, 511, 1077, 513, 0,
514, 515, 516, 517, 518, 519, 520, 521, 522, 523,
524, 525, 526, 0, 528, 0, 529, 530, 0, 531,
532, 533, 534, 535, 536, 537, 0, 538, 1078, 1079,
0, 0, 541, 542, 0, 544, 0, 0, 546, 547,
548, 549, 550, 551, 552, 0, 0, 553, 554, 555,
556, 557, 0, 0, 558, 559, 560, 561, 562, 0,
1080, 2162, 565, 566, 567, 568, 569, 570, 0, 0,
571, 0, 0, 572, 573, 574, 575, 576, 577, 3334,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
589, 590, 591, 0, 227, 228, 229, 230, 231, 232,
233, 234, 2163, 235, 236, 237, 0, 0, 0, 0,
0, 0, 0, 238, 239, 0, 240, 241, 242, 243,
244, 245, 246, 0, 1059, 249, 1060, 1061, 0, 252,
253, 254, 255, 256, 257, 0, 0, 258, 259, 1062,
1063, 262, 0, 263, 264, 265, 266, 0, 0, 268,
0, 269, 270, 271, 272, 273, 274, 275, 276, 277,
0, 278, 279, 280, 281, 282, 283, 0, 284, 285,
286, 287, 0, 0, 0, 288, 0, 0, 0, 289,
290, 291, 292, 293, 294, 1064, 1065, 297, 0, 298,
0, 299, 300, 301, 302, 303, 304, 0, 305, 306,
307, 308, 0, 0, 309, 310, 1066, 312, 313, 0,
314, 315, 316, 0, 317, 318, 319, 0, 320, 321,
322, 323, 0, 325, 326, 327, 0, 0, 329, 0,
330, 331, 1067, 333, 0, 334, 0, 335, 336, 0,
337, 338, 339, 340, 341, 0, 342, 0, 0, 0,
345, 346, 0, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 2157, 357, 358, 359, 360, 361, 362,
363, 0, 364, 365, 2158, 367, 368, 369, 370, 1069,
1070, 0, 1071, 0, 374, 375, 376, 377, 378, 379,
380, 381, 382, 383, 0, 0, 384, 0, 386, 387,
388, 0, 389, 390, 391, 0, 0, 392, 393, 394,
395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
405, 406, 407, 1072, 409, 1073, 411, 412, 413, 0,
0, 415, 416, 417, 418, 0, 0, 420, 1074, 422,
423, 424, 0, 425, 426, 0, 0, 427, 428, 429,
0, 2159, 430, 431, 2160, 433, 434, 435, 0, 437,
438, 439, 440, 441, 442, 443, 444, 445, 0, 446,
447, 0, 449, 0, 451, 452, 453, 0, 454, 455,
456, 457, 458, 459, 460, 461, 462, 463, 1075, 465,
466, 467, 468, 0, 469, 470, 471, 472, 473, 474,
475, 476, 477, 478, 479, 480, 0, 481, 482, 483,
484, 485, 486, 487, 488, 0, 490, 491, 492, 493,
494, 495, 496, 497, 498, 0, 499, 500, 501, 502,
503, 0, 504, 505, 2161, 507, 508, 509, 510, 511,
1077, 513, 0, 514, 515, 516, 517, 518, 519, 520,
521, 522, 523, 524, 525, 526, 0, 528, 0, 529,
530, 0, 531, 532, 533, 534, 535, 536, 537, 0,
538, 1078, 1079, 0, 0, 541, 542, 0, 544, 0,
0, 546, 547, 548, 549, 550, 551, 552, 0, 0,
553, 554, 555, 556, 557, 0, 0, 558, 559, 560,
561, 562, 0, 1080, 2162, 565, 566, 567, 568, 569,
570, 0, 0, 571, 0, 0, 572, 573, 574, 575,
576, 577, 863, 1492, 659, 0, 0, 0, 719, 0,
0, 0, 0, 589, 590, 591, 0, 227, 228, 229,
230, 231, 232, 233, 234, 2163, 235, 236, 237, 0,
0, 0, 0, 0, 0, 0, 238, 239, 0, 240,
241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 0, 252, 253, 254, 255, 256, 257, 0, 0,
258, 259, 260, 261, 262, 0, 263, 264, 265, 266,
267, 0, 268, 0, 269, 270, 271, 272, 273, 274,
275, 276, 277, 0, 278, 279, 280, 281, 282, 283,
0, 284, 285, 286, 287, 0, 0, 0, 288, 0,
0, 0, 289, 290, 291, 292, 293, 294, 295, 296,
297, 2085, 298, 0, 299, 300, 301, 302, 303, 304,
0, 305, 306, 307, 308, 0, 0, 309, 310, 311,
312, 313, 0, 314, 315, 316, 0, 317, 318, 319,
0, 320, 321, 322, 323, 324, 325, 326, 327, 328,
1905, 329, 0, 330, 331, 332, 333, 0, 334, 0,
335, 336, 0, 337, 338, 339, 340, 341, 0, 342,
343, 0, 344, 345, 346, 0, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 0, 357, 358, 359,
360, 361, 362, 363, 0, 364, 365, 366, 367, 368,
369, 370, 371, 372, 0, 373, 0, 374, 375, 376,
377, 378, 379, 380, 381, 382, 383, 0, 0, 384,
385, 386, 387, 388, 0, 389, 390, 391, 0, 0,
392, 393, 394, 395, 396, 397, 398, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
412, 413, 414, 0, 415, 416, 417, 418, 0, 419,
420, 421, 422, 423, 424, 0, 425, 426, 1906, 0,
427, 428, 429, 0, 0, 430, 431, 432, 433, 434,
435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
445, 0, 446, 447, 448, 449, 450, 451, 452, 453,
0, 454, 455, 456, 457, 458, 459, 460, 461, 462,
463, 464, 465, 466, 467, 468, 0, 469, 470, 471,
472, 473, 474, 475, 476, 477, 478, 479, 480, 0,
481, 482, 483, 484, 485, 486, 487, 488, 489, 490,
491, 492, 493, 494, 495, 496, 497, 498, 0, 499,
500, 501, 502, 503, 0, 504, 505, 506, 507, 508,
509, 510, 511, 512, 513, 0, 514, 515, 516, 517,
518, 519, 520, 521, 522, 523, 524, 525, 526, 527,
528, 0, 529, 530, 0, 531, 532, 533, 534, 535,
536, 537, 0, 538, 539, 540, 0, 0, 541, 542,
543, 544, 545, 1907, 546, 547, 548, 549, 550, 551,
552, 0, 0, 553, 554, 555, 556, 557, 0, 0,
558, 559, 560, 561, 562, 563, 564, 0, 565, 566,
567, 568, 569, 570, 0, 0, 571, 0, 0, 572,
573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
583, 584, 585, 586, 587, 588, 589, 590, 591, 863,
1492, 659, 0, 0, 0, 719, 1493, 1494, 0, 0,
0, 0, 0, 0, 227, 228, 229, 230, 231, 232,
233, 234, 0, 235, 236, 237, 0, 0, 0, 0,
0, 0, 0, 238, 239, 0, 240, 241, 242, 243,
244, 245, 246, 247, 248, 249, 250, 251, 0, 252,
253, 254, 255, 256, 257, 0, 0, 258, 259, 260,
261, 262, 0, 263, 264, 265, 266, 267, 0, 268,
0, 269, 270, 271, 272, 273, 274, 275, 276, 277,
0, 278, 279, 280, 281, 282, 283, 0, 284, 285,
286, 287, 0, 0, 0, 288, 0, 0, 0, 289,
290, 291, 292, 293, 294, 295, 296, 297, 2090, 298,
0, 299, 300, 301, 302, 303, 304, 0, 305, 306,
307, 308, 0, 0, 309, 310, 311, 312, 313, 0,
314, 315, 316, 0, 317, 318, 319, 0, 320, 321,
322, 323, 324, 325, 326, 327, 328, 1905, 329, 0,
330, 331, 332, 333, 0, 334, 0, 335, 336, 0,
337, 338, 339, 340, 341, 0, 342, 343, 0, 344,
345, 346, 0, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 0, 357, 358, 359, 360, 361, 362,
363, 0, 364, 365, 366, 367, 368, 369, 370, 371,
372, 0, 373, 0, 374, 375, 376, 377, 378, 379,
380, 381, 382, 383, 0, 0, 384, 385, 386, 387,
388, 0, 389, 390, 391, 0, 0, 392, 393, 394,
395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
0, 415, 416, 417, 418, 0, 419, 420, 421, 422,
423, 424, 0, 425, 426, 1906, 0, 427, 428, 429,
0, 0, 430, 431, 432, 433, 434, 435, 436, 437,
438, 439, 440, 441, 442, 443, 444, 445, 0, 446,
447, 448, 449, 450, 451, 452, 453, 0, 454, 455,
456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
466, 467, 468, 0, 469, 470, 471, 472, 473, 474,
475, 476, 477, 478, 479, 480, 0, 481, 482, 483,
484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
494, 495, 496, 497, 498, 0, 499, 500, 501, 502,
503, 0, 504, 505, 506, 507, 508, 509, 510, 511,
512, 513, 0, 514, 515, 516, 517, 518, 519, 520,
521, 522, 523, 524, 525, 526, 527, 528, 0, 529,
530, 0, 531, 532, 533, 534, 535, 536, 537, 0,
538, 539, 540, 0, 0, 541, 542, 543, 544, 545,
1907, 546, 547, 548, 549, 550, 551, 552, 0, 0,
553, 554, 555, 556, 557, 0, 0, 558, 559, 560,
561, 562, 563, 564, 0, 565, 566, 567, 568, 569,
570, 0, 0, 571, 0, 0, 572, 573, 574, 575,
576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
586, 587, 588, 589, 590, 591, 863, 1492, 659, 0,
0, 0, 719, 1493, 1494, 0, 0, 0, 0, 0,
0, 227, 228, 229, 230, 231, 232, 233, 234, 0,
235, 236, 237, 0, 0, 0, 0, 0, 0, 0,
238, 239, 0, 240, 241, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 0, 252, 253, 254, 255,
256, 257, 0, 0, 258, 259, 260, 261, 262, 0,
263, 264, 265, 266, 267, 0, 268, 0, 269, 270,
271, 272, 273, 274, 275, 276, 277, 0, 278, 279,
280, 281, 282, 283, 0, 284, 285, 286, 287, 0,
0, 0, 288, 0, 0, 0, 289, 290, 291, 292,
293, 294, 295, 296, 297, 0, 298, 0, 299, 300,
301, 302, 303, 304, 0, 305, 306, 307, 308, 0,
0, 309, 310, 311, 312, 313, 0, 314, 315, 316,
0, 317, 318, 319, 0, 320, 321, 322, 323, 324,
325, 326, 327, 328, 1905, 329, 0, 330, 331, 332,
333, 0, 334, 0, 335, 336, 0, 337, 338, 339,
340, 341, 0, 342, 343, 0, 344, 345, 346, 0,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
0, 357, 358, 359, 360, 361, 362, 363, 0, 364,
365, 366, 367, 368, 369, 370, 371, 372, 0, 373,
0, 374, 375, 376, 377, 378, 379, 380, 381, 382,
383, 0, 0, 384, 385, 386, 387, 388, 0, 389,
390, 391, 0, 0, 392, 393, 394, 395, 396, 397,
398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
408, 409, 410, 411, 412, 413, 414, 0, 415, 416,
417, 418, 0, 419, 420, 421, 422, 423, 424, 0,
425, 426, 1906, 0, 427, 428, 429, 0, 0, 430,
431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
441, 442, 443, 444, 445, 0, 446, 447, 448, 449,
450, 451, 452, 453, 0, 454, 455, 456, 457, 458,
459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
0, 469, 470, 471, 472, 473, 474, 475, 476, 477,
478, 479, 480, 0, 481, 482, 483, 484, 485, 486,
487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
497, 498, 0, 499, 500, 501, 502, 503, 0, 504,
505, 506, 507, 508, 509, 510, 511, 512, 513, 0,
514, 515, 516, 517, 518, 519, 520, 521, 522, 523,
524, 525, 526, 527, 528, 0, 529, 530, 0, 531,
532, 533, 534, 535, 536, 537, 0, 538, 539, 540,
0, 0, 541, 542, 543, 544, 545, 1907, 546, 547,
548, 549, 550, 551, 552, 0, 0, 553, 554, 555,
556, 557, 0, 0, 558, 559, 560, 561, 562, 563,
564, 0, 565, 566, 567, 568, 569, 570, 0, 0,
571, 0, 0, 572, 573, 574, 575, 576, 577, 578,
579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
589, 590, 591, 863, 0, 659, 0, 0, 0, 719,
1493, 1494, 0, 0, 0, 0, 0, 0, 227, 228,
229, 230, 231, 232, 233, 234, 0, 235, 236, 237,
0, 0, 0, 0, 0, 0, 0, 238, 239, 0,
240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
250, 251, 0, 252, 253, 254, 255, 256, 257, 0,
0, 258, 259, 260, 261, 262, 0, 263, 264, 265,
266, 267, 0, 268, 0, 269, 270, 271, 272, 273,
274, 275, 276, 277, 0, 278, 279, 280, 281, 282,
283, 0, 284, 285, 286, 287, 0, 0, 0, 288,
0, 0, 0, 289, 290, 291, 292, 293, 294, 295,
296, 297, 2944, 298, 0, 299, 300, 301, 302, 303,
304, 0, 305, 306, 307, 308, 0, 0, 309, 310,
311, 312, 313, 0, 314, 315, 316, 0, 317, 318,
319, 0, 320, 321, 322, 323, 324, 325, 326, 327,
328, 1905, 329, 0, 330, 331, 332, 333, 0, 334,
0, 335, 336, 0, 337, 338, 339, 340, 341, 0,
342, 343, 0, 344, 345, 346, 0, 347, 348, 349,
350, 351, 352, 353, 354, 355, 356, 0, 357, 358,
359, 360, 361, 362, 363, 0, 364, 365, 366, 367,
368, 369, 370, 371, 372, 0, 373, 0, 374, 375,
376, 377, 378, 379, 380, 381, 382, 383, 0, 0,
384, 385, 386, 387, 388, 0, 389, 390, 391, 0,
0, 392, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, 412, 413, 414, 0, 415, 416, 417, 418, 0,
419, 420, 421, 422, 423, 424, 0, 425, 426, 1906,
0, 427, 428, 429, 0, 0, 430, 431, 432, 433,
434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
444, 445, 0, 446, 447, 448, 449, 450, 451, 452,
453, 0, 454, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 0, 469, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
0, 481, 482, 483, 484, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 496, 497, 498, 0,
499, 500, 501, 502, 503, 0, 504, 505, 506, 507,
508, 509, 510, 511, 512, 513, 0, 514, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 528, 0, 529, 530, 0, 531, 532, 533, 534,
535, 536, 537, 0, 538, 539, 540, 0, 0, 541,
542, 543, 544, 545, 1907, 546, 547, 548, 549, 550,
551, 552, 0, 0, 553, 554, 555, 556, 557, 0,
0, 558, 559, 560, 561, 562, 563, 564, 0, 565,
566, 567, 568, 569, 570, 0, 0, 571, 0, 0,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 584, 585, 586, 587, 588, 589, 590, 591,
599, 0, 0, 0, 0, 0, 719, 731, 732, 0,
0, 0, 0, 0, 0, 227, 720, 229, 230, 231,
232, 233, 234, 721, 235, 236, 237, 0, 0, 0,
0, 0, 0, 0, 238, 239, 0, 240, 241, 242,
0, 722, 245, 246, 247, 248, 0, 250, 251, 0,
252, 253, 254, 255, 256, 257, 0, 0, 258, 259,
260, 261, 262, 0, 263, 264, 265, 266, 267, 0,
0, 0, 269, 270, 271, 272, 273, 0, 275, 276,
277, 0, 278, 279, 280, 281, 282, 283, 0, 0,
285, 286, 287, 0, 0, 0, 0, 0, 0, 0,
289, 290, 291, 292, 293, 294, 295, 296, 297, 0,
298, 0, 299, 300, 301, 302, 303, 304, 0, 305,
306, 307, 308, 0, 0, 309, 310, 311, 312, 313,
0, 314, 315, 316, 0, 317, 318, 319, 0, 320,
321, 322, 323, 324, 325, 326, 327, 328, 0, 329,
0, 330, 723, 332, 333, 0, 334, 0, 724, 0,
725, 0, 338, 339, 340, 341, 0, 342, 343, 0,
344, 345, 346, 0, 347, 348, 349, 350, 351, 0,
353, 354, 355, 356, 726, 357, 358, 359, 360, 361,
362, 363, 0, 364, 0, 366, 367, 368, 369, 370,
371, 372, 0, 373, 0, 374, 0, 0, 377, 0,
379, 380, 381, 382, 727, 0, 0, 384, 385, 0,
387, 0, 0, 389, 390, 391, 0, 0, 392, 393,
394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 0, 410, 411, 728, 413,
414, 0, 415, 416, 0, 418, 0, 419, 420, 421,
422, 423, 424, 0, 425, 426, 0, 0, 427, 428,
429, 0, 0, 430, 431, 432, 0, 434, 0, 436,
437, 438, 439, 440, 441, 442, 443, 444, 445, 0,
446, 447, 448, 449, 450, 451, 452, 453, 0, 729,
455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
465, 466, 467, 468, 0, 469, 470, 471, 730, 473,
474, 475, 476, 477, 478, 479, 480, 0, 481, 482,
0, 484, 485, 486, 487, 488, 489, 490, 491, 492,
493, 494, 495, 496, 497, 498, 0, 499, 500, 501,
502, 503, 0, 504, 505, 506, 507, 508, 0, 510,
511, 512, 513, 0, 514, 515, 516, 517, 518, 519,
520, 521, 522, 523, 524, 525, 526, 527, 528, 0,
529, 530, 0, 531, 0, 533, 534, 535, 536, 537,
0, 538, 539, 540, 0, 0, 541, 542, 543, 544,
545, 0, 546, 547, 548, 549, 550, 551, 552, 0,
0, 553, 554, 555, 556, 557, 0, 0, 558, 559,
560, 561, 562, 563, 564, 0, 565, 0, 567, 568,
569, 570, 0, 0, 571, 0, 0, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 582, 583, 584,
585, 586, 587, 588, 589, 590, 591, 1622, 5435, 659,
0, 0, 0, 719, 731, 732, 0, 0, 0, 0,
0, 0, 227, 228, 229, 230, 231, 232, 233, 234,
1623, 235, 236, 237, 1624, 1625, 1626, 1627, 1628, 1629,
1630, 238, 239, 1631, 240, 241, 242, 243, 244, 245,
246, 247, 248, 249, 250, 251, 1632, 252, 253, 254,
255, 256, 257, 1633, 1634, 258, 259, 260, 261, 262,
1635, 263, 264, 265, 266, 267, 1636, 268, 1637, 269,
270, 271, 272, 273, 274, 275, 276, 277, 1638, 278,
279, 280, 281, 282, 283, 1639, 284, 285, 286, 287,
1640, 1641, 1642, 288, 1643, 1644, 1645, 289, 290, 291,
292, 293, 294, 295, 296, 297, 1646, 298, 1647, 299,
300, 301, 302, 303, 304, 1648, 305, 306, 307, 308,
1649, 1650, 309, 310, 311, 312, 313, 1651, 314, 315,
316, 1652, 317, 318, 319, 1653, 320, 321, 322, 323,
324, 325, 326, 327, 328, 1654, 329, 1655, 330, 331,
332, 333, 1656, 334, 1657, 335, 336, 1658, 337, 338,
339, 340, 341, 1659, 342, 343, 1660, 344, 345, 346,
1661, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, 1662, 357, 358, 359, 360, 361, 362, 363, 1663,
364, 365, 366, 367, 368, 369, 370, 371, 372, 1664,
373, 1665, 374, 375, 376, 377, 378, 379, 380, 381,
382, 383, 1666, 1667, 384, 385, 386, 387, 388, 1668,
389, 390, 391, 1669, 1670, 392, 393, 394, 395, 396,
397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
407, 408, 409, 410, 411, 412, 413, 414, 1671, 415,
416, 417, 418, 1672, 419, 420, 421, 422, 423, 424,
1673, 425, 426, 1674, 1675, 427, 428, 429, 1676, 1677,
430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
440, 441, 442, 443, 444, 445, 1678, 446, 447, 448,
449, 450, 451, 452, 453, 1679, 454, 455, 456, 457,
458, 459, 460, 461, 462, 463, 464, 465, 466, 467,
468, 1680, 469, 470, 471, 472, 473, 474, 475, 476,
477, 478, 479, 480, 1681, 481, 482, 483, 484, 485,
486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
496, 497, 498, 1682, 499, 500, 501, 502, 503, 1683,
504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
1684, 514, 515, 516, 517, 518, 519, 520, 521, 522,
523, 524, 525, 526, 527, 528, 1685, 529, 530, 1686,
531, 532, 533, 534, 535, 536, 537, 1687, 538, 539,
540, 1688, 1689, 541, 542, 543, 544, 545, 1690, 546,
547, 548, 549, 550, 551, 552, 1691, 1692, 553, 554,
555, 556, 557, 1693, 1694, 558, 559, 560, 561, 562,
563, 564, 1695, 565, 566, 567, 568, 569, 570, 1696,
1697, 571, 1698, 1699, 572, 573, 574, 575, 576, 577,
578, 579, 580, 581, 582, 583, 584, 585, 586, 587,
588, 589, 590, 591, 1622, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 227,
228, 229, 230, 231, 232, 233, 234, 1623, 235, 236,
237, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 238, 239,
1631, 240, 241, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 1632, 252, 253, 254, 255, 256, 257,
1633, 1634, 258, 259, 260, 261, 262, 1635, 263, 264,
265, 266, 267, 1636, 268, 1637, 269, 270, 271, 272,
273, 274, 275, 276, 277, 1638, 278, 279, 280, 281,
282, 283, 1639, 284, 285, 286, 287, 1640, 1641, 1642,
288, 1643, 1644, 1645, 289, 290, 291, 292, 293, 294,
295, 296, 297, 1646, 298, 1647, 299, 300, 301, 302,
303, 304, 1648, 305, 306, 307, 308, 1649, 1650, 309,
310, 311, 312, 313, 1651, 314, 315, 316, 1652, 317,
318, 319, 1653, 320, 321, 322, 323, 324, 325, 326,
327, 328, 1654, 329, 1655, 330, 331, 332, 333, 1656,
334, 1657, 335, 336, 1658, 337, 338, 339, 340, 341,
1659, 342, 343, 1660, 344, 345, 346, 1661, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 1662, 357,
358, 359, 360, 361, 362, 363, 1663, 364, 365, 366,
367, 368, 369, 370, 371, 372, 1664, 373, 1665, 374,
375, 376, 377, 378, 379, 380, 381, 382, 383, 1666,
1667, 384, 385, 386, 387, 388, 1668, 389, 390, 391,
1669, 1670, 392, 393, 394, 395, 396, 397, 398, 399,
400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
410, 411, 412, 413, 414, 1671, 415, 416, 417, 418,
1672, 419, 420, 421, 422, 423, 424, 1673, 425, 426,
1674, 1675, 427, 428, 429, 1676, 1677, 430, 431, 432,
433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
443, 444, 445, 1678, 446, 447, 448, 449, 450, 451,
452, 453, 1679, 454, 455, 456, 457, 458, 459, 460,
461, 462, 463, 464, 465, 466, 467, 468, 1680, 469,
470, 471, 472, 473, 474, 475, 476, 477, 478, 479,
480, 1681, 481, 482, 483, 484, 485, 486, 487, 488,
489, 490, 491, 492, 493, 494, 495, 496, 497, 498,
1682, 499, 500, 501, 502, 503, 1683, 504, 505, 506,
507, 508, 509, 510, 511, 512, 513, 1684, 514, 515,
516, 517, 518, 519, 520, 521, 522, 523, 524, 525,
526, 527, 528, 1685, 529, 530, 1686, 531, 532, 533,
534, 535, 536, 537, 1687, 538, 539, 540, 1688, 1689,
541, 542, 543, 544, 545, 1690, 546, 547, 548, 549,
550, 551, 552, 1691, 1692, 553, 554, 555, 556, 557,
1693, 1694, 558, 559, 560, 561, 562, 563, 564, 1695,
565, 566, 567, 568, 569, 570, 1696, 1697, 571, 1698,
1699, 572, 573, 574, 575, 576, 577, 578, 579, 580,
581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
591, 1622, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 227, 228, 229, 230,
3062, 232, 233, 234, 1623, 235, 236, 237, 1624, 1625,
1626, 1627, 1628, 1629, 1630, 238, 239, 1631, 240, 241,
242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
1632, 252, 253, 254, 255, 256, 257, 1633, 1634, 258,
259, 260, 261, 262, 1635, 263, 264, 265, 266, 267,
1636, 268, 1637, 269, 270, 271, 272, 273, 274, 275,
276, 277, 1638, 278, 279, 280, 281, 282, 283, 1639,
284, 285, 286, 287, 1640, 1641, 1642, 288, 1643, 1644,
1645, 289, 290, 291, 292, 293, 294, 295, 296, 297,
1646, 298, 1647, 299, 300, 301, 302, 303, 304, 1648,
305, 306, 307, 308, 1649, 1650, 309, 310, 311, 3063,
313, 1651, 314, 315, 316, 1652, 317, 318, 319, 1653,
320, 321, 322, 323, 324, 325, 326, 327, 328, 1654,
329, 1655, 330, 331, 332, 333, 1656, 334, 1657, 335,
336, 1658, 337, 338, 339, 340, 341, 1659, 342, 343,
1660, 344, 345, 346, 1661, 347, 348, 349, 350, 351,
352, 353, 354, 355, 356, 1662, 357, 358, 359, 360,
361, 362, 363, 1663, 364, 365, 366, 367, 368, 369,
370, 371, 372, 1664, 373, 1665, 374, 375, 376, 377,
378, 379, 380, 381, 382, 383, 1666, 1667, 384, 385,
386, 387, 388, 1668, 389, 390, 391, 1669, 1670, 392,
393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
403, 404, 405, 406, 407, 408, 409, 410, 411, 412,
413, 414, 1671, 415, 416, 417, 418, 1672, 419, 420,
421, 422, 423, 424, 1673, 425, 426, 1674, 1675, 427,
428, 429, 1676, 1677, 430, 431, 432, 433, 434, 435,
436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
1678, 446, 447, 448, 449, 450, 451, 452, 453, 1679,
454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
464, 465, 466, 467, 468, 1680, 469, 470, 471, 472,
473, 474, 475, 476, 477, 478, 479, 480, 1681, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 493, 494, 495, 496, 497, 498, 1682, 499, 500,
501, 502, 503, 1683, 3064, 505, 506, 507, 508, 509,
510, 511, 512, 513, 1684, 514, 515, 516, 517, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
1685, 529, 530, 1686, 531, 532, 533, 534, 535, 536,
537, 1687, 538, 539, 540, 1688, 1689, 541, 542, 543,
544, 545, 1690, 546, 547, 548, 549, 550, 551, 552,
1691, 1692, 553, 554, 555, 556, 557, 1693, 1694, 558,
559, 560, 561, 562, 563, 564, 1695, 565, 566, 567,
568, 569, 570, 1696, 1697, 571, 1698, 1699, 572, 573,
574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
584, 585, 586, 587, 588, 589, 590, 591, 226, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 227, 228, 229, 230, 231, 232, 233,
234, 0, 235, 236, 237, 0, 0, 0, 0, 0,
0, 0, 238, 239, 0, 240, 241, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 0, 252, 253,
254, 255, 256, 257, 0, 1221, 258, 259, 260, 261,
262, 0, 263, 264, 265, 266, 1224, 0, 1225, 0,
269, 270, 271, 272, 273, 274, 275, 276, 277, 0,
278, 279, 280, 281, 282, 283, 0, 284, 285, 286,
287, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 289, 290,
291, 292, 293, 294, 295, 296, 297, 0, 298, 0,
299, 300, 301, 302, 303, 304, 0, 305, 306, 307,
308, 0, 0, 309, 310, 311, 312, 313, 0, 314,
315, 316, 0, 317, 318, 319, 0, 320, 321, 322,
323, 324, 325, 326, 327, 1237, 0, 329, 0, 330,
331, 332, 333, 0, 334, 0, 335, 336, 0, 337,
338, 339, 340, 341, 0, 342, 1240, 0, 344, 345,
346, 0, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 0, 357, 358, 359, 360, 361, 362, 363,
0, 364, 365, 366, 367, 368, 369, 370, 371, 372,
0, 373, 0, 374, 375, 376, 377, 378, 379, 380,
381, 382, 383, 0, 0, 384, 1245, 386, 387, 388,
0, 389, 390, 391, 1246, 1247, 392, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 410, 411, 412, 413, 414, 0,
415, 416, 417, 418, 0, 1252, 420, 421, 422, 423,
424, 0, 425, 426, 0, 0, 427, 428, 429, 0,
0, 430, 431, 432, 433, 434, 435, 1255, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 446, 447,
1256, 449, 450, 451, 452, 453, 0, 454, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 0, 481, 482, 483, 484,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 496, 497, 498, 0, 499, 500, 501, 502, 503,
1259, 504, 505, 506, 507, 508, 509, 510, 511, 512,
513, 0, 514, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 1261, 528, 0, 529, 530,
0, 531, 532, 533, 534, 535, 536, 537, 0, 538,
539, 540, 0, 0, 541, 542, 1264, 544, 1265, 0,
546, 547, 548, 549, 550, 551, 552, 0, 0, 553,
554, 555, 556, 557, 1268, 0, 558, 559, 560, 561,
562, 563, 564, 0, 565, 566, 567, 568, 569, 570,
0, 0, 571, 0, 0, 572, 573, 574, 575, 576,
577, 578, 1270, 1271, 1272, 1273, 583, 1274, 1275, 1276,
1277, 588, 589, 590, 591, 863, 0, 659, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
227, 228, 229, 230, 231, 232, 233, 234, 0, 235,
236, 237, 0, 0, 0, 0, 0, 0, 0, 238,
239, 0, 240, 241, 242, 243, 244, 245, 246, 247,
248, 249, 250, 251, 0, 252, 253, 254, 255, 256,
257, 0, 0, 258, 259, 260, 261, 262, 0, 263,
264, 265, 266, 267, 0, 268, 0, 269, 270, 271,
272, 273, 274, 275, 276, 277, 0, 278, 279, 280,
281, 282, 283, 0, 284, 285, 286, 287, 0, 0,
0, 288, 0, 0, 0, 289, 290, 291, 292, 293,
294, 295, 296, 297, 0, 298, 0, 299, 300, 301,
302, 303, 304, 0, 305, 306, 307, 308, 0, 0,
309, 310, 311, 312, 313, 0, 314, 315, 316, 0,
317, 318, 319, 0, 320, 321, 322, 323, 324, 325,
326, 327, 328, 1905, 329, 0, 330, 331, 332, 333,
0, 334, 0, 335, 336, 0, 337, 338, 339, 340,
341, 0, 342, 343, 0, 344, 345, 346, 0, 347,
348, 349, 350, 351, 352, 353, 354, 355, 356, 0,
357, 358, 359, 360, 361, 362, 363, 0, 364, 365,
366, 367, 368, 369, 370, 371, 372, 0, 373, 0,
374, 375, 376, 377, 378, 379, 380, 381, 382, 383,
0, 0, 384, 385, 386, 387, 388, 0, 389, 390,
391, 0, 0, 392, 393, 394, 395, 396, 397, 398,
399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
409, 410, 411, 412, 413, 414, 0, 415, 416, 417,
418, 0, 419, 420, 421, 422, 423, 424, 0, 425,
426, 1906, 0, 427, 428, 429, 0, 0, 430, 431,
432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
442, 443, 444, 445, 0, 446, 447, 448, 449, 450,
451, 452, 453, 0, 454, 455, 456, 457, 458, 459,
460, 461, 462, 463, 464, 465, 466, 467, 468, 0,
469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
479, 480, 0, 481, 482, 483, 484, 485, 486, 487,
488, 489, 490, 491, 492, 493, 494, 495, 496, 497,
498, 0, 499, 500, 501, 502, 503, 0, 504, 505,
506, 507, 508, 509, 510, 511, 512, 513, 0, 514,
515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
525, 526, 527, 528, 0, 529, 530, 0, 531, 532,
533, 534, 535, 536, 537, 0, 538, 539, 540, 0,
0, 541, 542, 543, 544, 545, 1907, 546, 547, 548,
549, 550, 551, 552, 0, 0, 553, 554, 555, 556,
557, 0, 0, 558, 559, 560, 561, 562, 563, 564,
0, 565, 566, 567, 568, 569, 570, 0, 0, 571,
0, 0, 572, 573, 574, 575, 576, 577, 578, 579,
580, 581, 582, 583, 584, 585, 586, 587, 588, 589,
590, 591, 863, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 227, 228, 229,
230, 231, 232, 233, 234, 901, 235, 236, 237, 0,
0, 0, 0, 0, 0, 0, 238, 239, 0, 240,
241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 0, 252, 253, 254, 255, 256, 257, 0, 0,
258, 259, 260, 261, 262, 0, 263, 264, 265, 266,
267, 0, 268, 0, 269, 270, 271, 272, 273, 274,
275, 276, 277, 0, 278, 279, 280, 281, 282, 283,
0, 284, 285, 286, 287, 0, 0, 0, 288, 0,
0, 864, 289, 290, 291, 292, 293, 294, 295, 296,
297, 0, 298, 0, 299, 300, 301, 302, 303, 304,
0, 305, 306, 307, 308, 0, 0, 309, 310, 311,
312, 313, 0, 314, 315, 316, 0, 317, 318, 319,
0, 320, 321, 322, 323, 324, 325, 326, 327, 328,
0, 329, 0, 330, 331, 332, 333, 0, 334, 0,
335, 336, 0, 337, 338, 339, 340, 341, 0, 342,
343, 0, 344, 345, 346, 0, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 0, 357, 358, 359,
360, 361, 362, 363, 0, 364, 365, 366, 367, 368,
369, 370, 371, 372, 0, 373, 0, 374, 375, 376,
377, 378, 379, 380, 381, 382, 383, 0, 0, 384,
385, 386, 387, 388, 0, 389, 390, 391, 0, 0,
392, 393, 394, 395, 396, 397, 398, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
412, 413, 414, 0, 415, 416, 417, 418, 0, 419,
420, 421, 422, 423, 424, 0, 425, 426, 0, 0,
427, 428, 429, 0, 0, 430, 431, 432, 433, 434,
435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
445, 0, 446, 447, 448, 449, 450, 451, 452, 453,
0, 454, 455, 456, 457, 458, 459, 460, 461, 462,
463, 464, 465, 466, 467, 468, 0, 469, 470, 471,
472, 473, 474, 475, 476, 477, 478, 479, 480, 0,
481, 482, 483, 484, 485, 486, 487, 488, 489, 490,
491, 492, 493, 494, 495, 496, 497, 498, 0, 499,
500, 501, 502, 503, 865, 504, 505, 506, 507, 508,
509, 510, 511, 512, 513, 0, 514, 515, 516, 517,
518, 519, 520, 521, 522, 523, 524, 525, 526, 527,
528, 0, 529, 530, 0, 531, 532, 533, 534, 535,
536, 537, 0, 538, 539, 540, 0, 0, 541, 542,
543, 544, 545, 0, 546, 547, 548, 549, 550, 551,
552, 0, 0, 553, 554, 555, 556, 557, 0, 0,
558, 559, 560, 561, 562, 563, 564, 0, 565, 566,
567, 568, 569, 570, 0, 0, 571, 0, 0, 572,
573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
583, 584, 585, 586, 587, 588, 589, 590, 591, 863,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 227, 228, 229, 230, 231, 232,
233, 234, 921, 235, 236, 237, 0, 0, 0, 0,
0, 0, 0, 238, 239, 0, 240, 241, 242, 243,
244, 245, 246, 247, 248, 249, 250, 251, 0, 252,
253, 254, 255, 256, 257, 0, 0, 258, 259, 260,
261, 262, 0, 263, 264, 265, 266, 267, 0, 268,
0, 269, 270, 271, 272, 273, 274, 275, 276, 277,
0, 278, 279, 280, 281, 282, 283, 0, 284, 285,
286, 287, 0, 0, 0, 288, 0, 0, 864, 289,
290, 291, 292, 293, 294, 295, 296, 297, 0, 298,
0, 299, 300, 301, 302, 303, 304, 0, 305, 306,
307, 308, 0, 0, 309, 310, 311, 312, 313, 0,
314, 315, 316, 0, 317, 318, 319, 0, 320, 321,
322, 323, 324, 325, 326, 327, 328, 0, 329, 0,
330, 331, 332, 333, 0, 334, 0, 335, 336, 0,
337, 338, 339, 340, 341, 0, 342, 343, 0, 344,
345, 346, 0, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 0, 357, 358, 359, 360, 361, 362,
363, 0, 364, 365, 366, 367, 368, 369, 370, 371,
372, 0, 373, 0, 374, 375, 376, 377, 378, 379,
380, 381, 382, 383, 0, 0, 384, 385, 386, 387,
388, 0, 389, 390, 391, 0, 0, 392, 393, 394,
395, 922, 397, 398, 399, 400, 401, 402, 403, 404,
405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
0, 415, 416, 417, 418, 0, 419, 420, 421, 422,
423, 424, 0, 425, 426, 0, 0, 427, 428, 429,
0, 0, 430, 431, 432, 433, 434, 435, 436, 437,
438, 439, 440, 441, 442, 443, 444, 445, 0, 446,
447, 448, 449, 450, 451, 452, 453, 0, 454, 455,
456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
466, 467, 468, 0, 469, 470, 471, 472, 473, 474,
475, 476, 477, 478, 479, 480, 0, 481, 482, 483,
484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
494, 495, 496, 497, 498, 0, 499, 500, 501, 502,
503, 865, 504, 505, 506, 507, 508, 509, 510, 511,
512, 513, 0, 514, 515, 516, 517, 518, 519, 520,
521, 522, 523, 524, 525, 526, 527, 528, 0, 529,
530, 0, 531, 532, 533, 534, 535, 536, 537, 0,
538, 539, 540, 0, 0, 541, 542, 543, 544, 545,
0, 546, 547, 548, 549, 550, 551, 552, 0, 0,
553, 554, 555, 556, 557, 0, 0, 558, 559, 560,
561, 562, 563, 564, 0, 565, 566, 567, 568, 569,
570, 0, 0, 571, 0, 0, 572, 573, 574, 575,
576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
586, 587, 588, 589, 590, 591, 863, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 227, 228, 229, 230, 231, 232, 233, 234, 0,
235, 236, 237, 0, 0, 0, 0, 0, 0, 0,
238, 239, 0, 240, 241, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 0, 252, 253, 254, 255,
256, 257, 0, 0, 258, 259, 260, 261, 262, 0,
263, 264, 265, 266, 267, 0, 268, 0, 269, 270,
271, 272, 273, 274, 275, 276, 277, 0, 278, 279,
280, 281, 282, 283, 0, 284, 285, 286, 287, 0,
0, 0, 288, 0, 0, 864, 289, 290, 291, 292,
293, 294, 295, 296, 297, 0, 298, 0, 299, 300,
301, 302, 303, 304, 0, 305, 306, 307, 308, 0,
0, 309, 310, 311, 312, 313, 0, 314, 315, 316,
0, 317, 318, 319, 0, 320, 321, 322, 323, 324,
325, 326, 327, 328, 0, 329, 0, 330, 331, 332,
333, 0, 334, 0, 335, 336, 0, 337, 338, 339,
340, 341, 0, 342, 343, 0, 344, 345, 346, 0,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
0, 357, 358, 359, 360, 361, 362, 363, 0, 364,
365, 366, 367, 368, 369, 370, 371, 372, 0, 373,
0, 374, 375, 376, 377, 378, 379, 380, 381, 382,
383, 0, 0, 384, 385, 386, 387, 388, 0, 389,
390, 391, 0, 0, 392, 393, 394, 395, 396, 397,
398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
408, 409, 410, 411, 412, 413, 414, 0, 415, 416,
417, 418, 0, 419, 420, 421, 422, 423, 424, 0,
425, 426, 0, 0, 427, 428, 429, 0, 0, 430,
431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
441, 442, 443, 444, 445, 0, 446, 447, 448, 449,
450, 451, 452, 453, 0, 454, 455, 456, 457, 458,
459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
0, 469, 470, 471, 472, 473, 474, 475, 476, 477,
478, 479, 480, 0, 481, 482, 483, 484, 485, 486,
487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
497, 498, 0, 499, 500, 501, 502, 503, 865, 504,
505, 506, 507, 508, 509, 510, 511, 512, 513, 0,
514, 515, 516, 517, 518, 519, 520, 521, 522, 523,
524, 525, 526, 527, 528, 0, 529, 530, 0, 531,
532, 533, 534, 535, 536, 537, 0, 538, 539, 540,
0, 0, 541, 542, 543, 544, 545, 0, 546, 547,
548, 549, 550, 551, 552, 0, 0, 553, 554, 555,
556, 557, 2422, 0, 558, 559, 560, 561, 562, 563,
564, 0, 565, 566, 567, 568, 569, 570, 0, 0,
571, 0, 0, 572, 573, 574, 575, 576, 577, 578,
579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
589, 590, 591, 863, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 227, 228,
229, 230, 231, 232, 233, 234, 0, 235, 236, 237,
0, 0, 0, 0, 0, 0, 0, 238, 239, 0,
240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
250, 251, 0, 252, 253, 254, 255, 256, 257, 0,
0, 258, 259, 260, 261, 262, 0, 263, 264, 265,
266, 267, 0, 268, 0, 269, 270, 271, 272, 273,
274, 275, 276, 277, 0, 278, 279, 280, 281, 282,
283, 0, 284, 285, 286, 287, 0, 0, 0, 288,
0, 0, 864, 289, 290, 291, 292, 293, 294, 295,
296, 297, 0, 298, 0, 299, 300, 301, 302, 303,
304, 0, 305, 306, 307, 308, 0, 0, 309, 310,
311, 312, 313, 0, 314, 315, 316, 0, 317, 318,
319, 0, 320, 321, 322, 323, 324, 325, 326, 327,
328, 0, 329, 0, 330, 331, 332, 333, 0, 334,
0, 335, 336, 0, 337, 338, 339, 340, 341, 0,
342, 343, 3412, 344, 345, 346, 0, 347, 348, 349,
350, 351, 352, 353, 354, 355, 356, 0, 357, 358,
359, 360, 361, 362, 363, 0, 364, 365, 366, 367,
368, 369, 370, 371, 372, 0, 373, 0, 374, 375,
376, 377, 378, 379, 380, 381, 382, 383, 0, 0,
384, 385, 386, 387, 388, 0, 389, 390, 391, 0,
0, 392, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, 412, 413, 414, 0, 415, 416, 417, 418, 0,
419, 420, 421, 422, 423, 424, 0, 425, 426, 0,
0, 427, 428, 429, 0, 0, 430, 431, 432, 433,
434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
444, 445, 0, 446, 447, 448, 449, 450, 451, 452,
453, 0, 454, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 0, 469, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
0, 481, 482, 483, 484, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 496, 497, 498, 0,
499, 500, 501, 502, 503, 865, 504, 505, 506, 507,
508, 509, 510, 511, 512, 513, 0, 514, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 528, 0, 529, 530, 0, 531, 532, 533, 534,
535, 536, 537, 0, 538, 539, 540, 0, 0, 541,
542, 543, 544, 545, 0, 546, 547, 548, 549, 550,
551, 552, 0, 0, 553, 554, 555, 556, 557, 0,
0, 558, 559, 560, 561, 562, 563, 564, 0, 565,
566, 567, 568, 569, 570, 0, 0, 571, 0, 0,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 584, 585, 586, 587, 588, 589, 590, 591,
863, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 227, 228, 229, 230, 231,
232, 233, 234, 0, 235, 236, 237, 0, 0, 0,
0, 0, 0, 0, 238, 239, 0, 240, 241, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 0,
252, 253, 254, 255, 256, 257, 0, 0, 258, 259,
260, 261, 262, 0, 263, 264, 265, 266, 267, 0,
268, 0, 269, 270, 271, 272, 273, 274, 275, 276,
277, 0, 278, 279, 280, 281, 282, 283, 0, 284,
285, 286, 287, 0, 0, 0, 288, 0, 0, 864,
289, 290, 291, 292, 293, 294, 295, 296, 297, 0,
298, 0, 299, 300, 301, 302, 303, 304, 0, 305,
306, 307, 308, 0, 0, 309, 310, 311, 312, 313,
0, 314, 315, 316, 0, 317, 318, 319, 0, 320,
321, 322, 323, 324, 325, 326, 327, 328, 0, 329,
0, 330, 331, 332, 333, 0, 334, 0, 335, 336,
0, 337, 338, 339, 340, 341, 0, 342, 343, 0,
344, 345, 346, 0, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 0, 357, 358, 359, 360, 361,
362, 363, 0, 364, 365, 366, 367, 368, 369, 370,
371, 372, 0, 373, 0, 374, 375, 376, 377, 378,
379, 380, 381, 382, 383, 0, 0, 384, 385, 386,
387, 388, 0, 389, 390, 391, 0, 0, 392, 393,
394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 0, 415, 416, 417, 418, 0, 419, 420, 421,
422, 423, 424, 0, 425, 426, 0, 0, 427, 428,
429, 0, 0, 430, 431, 432, 433, 434, 435, 436,
437, 438, 439, 440, 441, 442, 443, 444, 445, 0,
446, 447, 448, 449, 450, 451, 452, 453, 0, 454,
455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
465, 466, 467, 468, 0, 469, 470, 471, 472, 473,
474, 475, 476, 477, 478, 479, 480, 0, 481, 482,
483, 484, 485, 486, 487, 488, 489, 490, 491, 492,
493, 494, 495, 496, 497, 498, 0, 499, 500, 501,
502, 503, 865, 504, 505, 506, 507, 508, 509, 510,
511, 512, 513, 0, 514, 515, 516, 517, 518, 519,
520, 521, 522, 523, 524, 525, 526, 527, 528, 0,
529, 530, 0, 531, 532, 533, 534, 535, 536, 537,
0, 538, 539, 540, 0, 0, 541, 542, 543, 544,
545, 0, 546, 547, 548, 549, 550, 551, 552, 0,
0, 553, 554, 555, 556, 557, 0, 0, 558, 559,
560, 561, 562, 563, 564, 0, 565, 566, 567, 568,
569, 570, 0, 0, 571, 0, 0, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 582, 583, 584,
585, 586, 587, 588, 589, 590, 591, 863, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 227, 228, 229, 230, 231, 232, 233, 234,
0, 235, 236, 237, 0, 0, 0, 0, 0, 0,
0, 238, 239, 0, 240, 241, 242, 243, 244, 245,
246, 247, 248, 249, 250, 251, 0, 252, 253, 254,
255, 256, 257, 0, 0, 258, 259, 260, 261, 262,
0, 263, 264, 265, 266, 267, 0, 268, 0, 269,
270, 271, 272, 273, 274, 275, 276, 277, 0, 278,
279, 280, 281, 282, 283, 0, 284, 285, 286, 287,
0, 0, 0, 288, 0, 0, 864, 289, 290, 291,
292, 293, 294, 295, 296, 297, 0, 298, 0, 299,
300, 301, 302, 303, 304, 0, 305, 306, 307, 308,
0, 0, 309, 310, 311, 312, 313, 0, 314, 315,
316, 0, 317, 318, 319, 0, 320, 321, 322, 323,
324, 325, 326, 327, 328, 0, 329, 0, 330, 331,
332, 333, 0, 334, 0, 335, 336, 0, 337, 338,
339, 340, 341, 0, 342, 343, 0, 344, 345, 346,
0, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, 0, 357, 358, 359, 360, 361, 362, 363, 0,
364, 365, 366, 367, 368, 369, 370, 371, 372, 0,
373, 0, 374, 375, 376, 377, 378, 379, 380, 381,
382, 383, 0, 0, 384, 385, 386, 387, 388, 0,
389, 390, 391, 0, 0, 392, 393, 394, 395, 1027,
397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
407, 408, 409, 410, 411, 412, 413, 414, 0, 415,
416, 417, 418, 0, 419, 420, 421, 422, 423, 424,
0, 425, 426, 0, 0, 427, 428, 429, 0, 0,
430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
440, 441, 442, 443, 444, 445, 0, 446, 447, 448,
449, 450, 451, 452, 453, 0, 454, 455, 456, 457,
458, 459, 460, 461, 462, 463, 464, 465, 466, 467,
468, 0, 469, 470, 471, 472, 473, 474, 475, 476,
477, 478, 479, 480, 0, 481, 482, 483, 484, 485,
486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
496, 497, 498, 0, 499, 500, 501, 502, 503, 865,
504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
0, 514, 515, 516, 517, 518, 519, 520, 521, 522,
523, 524, 525, 526, 527, 528, 0, 529, 530, 0,
531, 532, 533, 534, 535, 536, 537, 0, 538, 539,
540, 0, 0, 541, 542, 543, 544, 545, 0, 546,
547, 548, 549, 550, 551, 552, 0, 0, 553, 554,
555, 556, 557, 0, 0, 558, 559, 560, 561, 562,
563, 564, 0, 565, 566, 567, 568, 569, 570, 0,
0, 571, 0, 0, 572, 573, 574, 575, 576, 577,
578, 579, 580, 581, 582, 583, 584, 585, 586, 587,
588, 589, 590, 591, 863, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 227,
228, 229, 230, 231, 232, 233, 234, 0, 235, 236,
237, 0, 0, 0, 0, 0, 0, 0, 238, 239,
0, 240, 241, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 0, 252, 253, 254, 255, 256, 257,
0, 0, 258, 259, 260, 261, 262, 0, 263, 264,
265, 266, 267, 0, 268, 0, 269, 270, 271, 272,
273, 274, 275, 276, 277, 0, 278, 279, 280, 281,
282, 283, 0, 284, 285, 286, 287, 0, 0, 0,
288, 0, 0, 864, 289, 290, 291, 292, 293, 294,
295, 296, 297, 0, 298, 0, 299, 300, 301, 302,
303, 304, 0, 305, 306, 307, 308, 0, 0, 309,
310, 311, 312, 313, 0, 314, 315, 316, 0, 317,
318, 319, 0, 320, 321, 322, 323, 324, 325, 326,
327, 328, 0, 329, 0, 330, 331, 332, 333, 0,
334, 0, 335, 336, 0, 337, 338, 339, 340, 341,
0, 342, 343, 0, 344, 345, 346, 0, 347, 348,
349, 350, 1103, 352, 353, 354, 355, 356, 0, 357,
358, 359, 360, 361, 362, 363, 0, 364, 365, 366,
367, 368, 369, 370, 371, 372, 0, 373, 0, 374,
375, 376, 377, 378, 379, 380, 381, 382, 383, 0,
0, 384, 385, 386, 387, 388, 0, 389, 390, 391,
0, 0, 392, 393, 394, 395, 396, 397, 398, 399,
400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
410, 411, 412, 413, 414, 0, 415, 416, 417, 418,
0, 419, 420, 421, 422, 423, 424, 0, 425, 426,
0, 0, 427, 428, 429, 0, 0, 430, 431, 432,
433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
443, 444, 445, 0, 446, 447, 448, 449, 450, 451,
452, 453, 0, 454, 455, 456, 457, 458, 459, 460,
461, 462, 463, 464, 465, 466, 467, 468, 0, 469,
470, 471, 472, 473, 474, 475, 476, 477, 478, 479,
480, 0, 481, 482, 483, 484, 485, 486, 487, 488,
489, 490, 491, 492, 493, 494, 495, 496, 497, 498,
0, 499, 500, 501, 502, 503, 865, 504, 505, 506,
507, 508, 509, 510, 511, 512, 513, 0, 514, 515,
516, 517, 518, 519, 520, 521, 522, 523, 524, 525,
526, 527, 528, 0, 529, 530, 0, 531, 532, 533,
534, 535, 536, 537, 0, 538, 539, 540, 0, 0,
541, 542, 543, 544, 545, 0, 546, 547, 548, 549,
550, 551, 552, 0, 0, 553, 554, 555, 556, 557,
0, 0, 558, 559, 560, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 0, 0, 571, 0,
0, 572, 573, 574, 575, 576, 577, 578, 579, 580,
581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
591, 863, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 227, 228, 229, 230,
231, 232, 233, 234, 0, 235, 236, 237, 0, 0,
0, 0, 0, 0, 0, 238, 239, 0, 240, 241,
242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
0, 252, 253, 254, 255, 256, 257, 0, 0, 258,
259, 260, 261, 262, 0, 263, 264, 265, 266, 267,
0, 268, 0, 269, 270, 271, 272, 273, 274, 275,
276, 277, 0, 278, 279, 280, 281, 282, 283, 0,
284, 285, 286, 287, 0, 0, 0, 288, 0, 0,
864, 289, 290, 291, 292, 293, 294, 295, 296, 297,
0, 298, 0, 299, 300, 301, 302, 303, 304, 0,
305, 306, 307, 308, 0, 0, 309, 310, 311, 312,
313, 0, 314, 315, 316, 0, 317, 318, 319, 0,
320, 321, 322, 323, 324, 325, 326, 327, 328, 0,
329, 0, 330, 331, 332, 333, 0, 334, 0, 335,
336, 0, 337, 338, 339, 340, 341, 0, 342, 343,
0, 344, 345, 346, 0, 347, 348, 349, 350, 1116,
352, 353, 354, 355, 356, 0, 357, 358, 359, 360,
361, 362, 363, 0, 364, 365, 366, 367, 368, 369,
370, 371, 372, 0, 373, 0, 374, 375, 376, 377,
378, 379, 380, 381, 382, 383, 0, 0, 384, 385,
386, 387, 388, 0, 389, 390, 391, 0, 0, 392,
393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
403, 404, 405, 406, 407, 408, 409, 410, 411, 412,
413, 414, 0, 415, 416, 417, 418, 0, 419, 420,
421, 422, 423, 424, 0, 425, 426, 0, 0, 427,
428, 429, 0, 0, 430, 431, 432, 433, 434, 435,
436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
0, 446, 447, 448, 449, 450, 451, 452, 453, 0,
454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
464, 465, 466, 467, 468, 0, 469, 470, 471, 472,
473, 474, 475, 476, 477, 478, 479, 480, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 493, 494, 495, 496, 497, 498, 0, 499, 500,
501, 502, 503, 865, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 0, 514, 515, 516, 517, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
0, 529, 530, 0, 531, 532, 533, 534, 535, 536,
537, 0, 538, 539, 540, 0, 0, 541, 542, 543,
544, 545, 0, 546, 547, 548, 549, 550, 551, 552,
0, 0, 553, 554, 555, 556, 557, 0, 0, 558,
559, 560, 561, 562, 563, 564, 0, 565, 566, 567,
568, 569, 570, 0, 0, 571, 0, 0, 572, 573,
574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
584, 585, 586, 587, 588, 589, 590, 591, 863, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 227, 228, 229, 230, 231, 232, 233,
234, 0, 235, 236, 237, 0, 0, 0, 0, 0,
0, 0, 238, 239, 0, 240, 241, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 0, 252, 253,
254, 255, 256, 257, 0, 0, 258, 259, 260, 261,
262, 0, 263, 264, 265, 266, 267, 0, 268, 0,
269, 270, 271, 272, 273, 274, 275, 276, 277, 0,
278, 279, 280, 281, 282, 283, 0, 284, 285, 286,
287, 0, 0, 0, 288, 0, 0, 864, 289, 290,
291, 292, 293, 294, 295, 296, 297, 0, 298, 0,
299, 300, 301, 302, 303, 304, 0, 305, 306, 307,
308, 0, 0, 309, 310, 311, 312, 313, 0, 314,
315, 316, 0, 317, 318, 319, 0, 320, 321, 322,
323, 324, 325, 326, 327, 328, 0, 329, 0, 330,
331, 332, 333, 0, 334, 0, 335, 336, 0, 337,
338, 339, 340, 341, 0, 342, 343, 0, 344, 345,
346, 0, 347, 348, 349, 350, 1128, 352, 353, 354,
355, 356, 0, 357, 358, 359, 360, 361, 362, 363,
0, 364, 365, 366, 367, 368, 369, 370, 371, 372,
0, 373, 0, 374, 375, 376, 377, 378, 379, 380,
381, 382, 383, 0, 0, 384, 385, 386, 387, 388,
0, 389, 390, 391, 0, 0, 392, 393, 394, 395,
1129, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 410, 411, 412, 413, 414, 0,
415, 416, 417, 418, 0, 419, 420, 421, 422, 423,
424, 0, 425, 426, 0, 0, 427, 428, 429, 0,
0, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 446, 447,
448, 449, 450, 451, 452, 453, 0, 454, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 0, 481, 482, 483, 484,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 496, 497, 498, 0, 499, 500, 501, 502, 503,
865, 504, 505, 506, 507, 508, 509, 510, 511, 512,
513, 0, 514, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 528, 0, 529, 530,
0, 531, 532, 533, 534, 535, 536, 537, 0, 538,
539, 540, 0, 0, 541, 542, 543, 544, 545, 0,
546, 547, 548, 549, 550, 551, 552, 0, 0, 553,
554, 555, 556, 557, 0, 0, 558, 559, 560, 561,
562, 563, 564, 0, 565, 566, 567, 568, 569, 570,
0, 0, 571, 0, 0, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
587, 588, 589, 590, 591, 863, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
227, 228, 229, 230, 231, 232, 233, 234, 0, 235,
236, 237, 3, 4, 0, 0, 0, 0, 0, 238,
239, 0, 240, 241, 242, 243, 244, 245, 246, 247,
248, 249, 250, 251, 0, 252, 253, 254, 255, 256,
257, 0, 0, 258, 259, 260, 261, 262, 0, 263,
264, 265, 266, 267, 0, 268, 0, 269, 270, 271,
272, 273, 274, 275, 276, 277, 0, 278, 279, 280,
281, 282, 283, 0, 284, 285, 286, 287, 0, 0,
0, 288, 0, 0, 0, 289, 290, 291, 292, 293,
294, 295, 296, 297, 0, 298, 0, 299, 300, 301,
302, 303, 304, 0, 305, 306, 307, 308, 0, 0,
309, 310, 311, 312, 313, 0, 314, 315, 316, 0,
317, 318, 319, 0, 320, 321, 322, 323, 324, 325,
326, 327, 328, 0, 329, 0, 330, 331, 332, 333,
0, 334, 0, 335, 336, 0, 337, 338, 339, 340,
341, 0, 342, 343, 0, 344, 345, 346, 0, 347,
348, 349, 350, 351, 352, 353, 354, 355, 356, 0,
357, 358, 359, 360, 361, 362, 363, 0, 364, 365,
366, 367, 368, 369, 370, 371, 372, 0, 373, 0,
374, 375, 376, 377, 378, 379, 380, 381, 382, 383,
0, 0, 384, 385, 386, 387, 388, 0, 389, 390,
391, 0, 0, 392, 393, 394, 395, 396, 397, 398,
399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
409, 410, 411, 412, 413, 414, 0, 415, 416, 417,
418, 0, 419, 420, 421, 422, 423, 424, 0, 425,
426, 0, 0, 427, 428, 429, 0, 0, 430, 431,
432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
442, 443, 444, 445, 0, 446, 447, 448, 449, 450,
451, 452, 453, 0, 454, 455, 456, 457, 458, 459,
460, 461, 462, 463, 464, 465, 466, 467, 468, 0,
469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
479, 480, 0, 481, 482, 483, 484, 485, 486, 487,
488, 489, 490, 491, 492, 493, 494, 495, 496, 497,
498, 0, 499, 500, 501, 502, 503, 0, 504, 505,
506, 507, 508, 509, 510, 511, 512, 513, 0, 514,
515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
525, 526, 527, 528, 0, 529, 530, 0, 531, 532,
533, 534, 535, 536, 537, 0, 538, 539, 540, 0,
0, 541, 542, 543, 544, 545, 0, 546, 547, 548,
549, 550, 551, 552, 0, 0, 553, 554, 555, 556,
557, 0, 0, 558, 559, 560, 561, 562, 563, 564,
0, 565, 566, 567, 568, 569, 570, 0, 0, 571,
0, 0, 572, 573, 574, 575, 576, 577, 578, 579,
580, 581, 582, 583, 584, 585, 586, 587, 588, 589,
590, 591, 863, 0, 659, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 227, 228, 229,
230, 231, 232, 233, 234, 0, 235, 236, 237, 0,
0, 0, 0, 0, 0, 0, 238, 239, 0, 240,
241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 0, 252, 253, 254, 255, 256, 257, 0, 0,
258, 259, 260, 261, 262, 0, 263, 264, 265, 266,
267, 0, 268, 0, 269, 270, 271, 272, 273, 274,
275, 276, 277, 0, 278, 279, 280, 281, 282, 283,
0, 284, 285, 286, 287, 0, 0, 0, 288, 0,
0, 0, 289, 290, 291, 292, 293, 294, 295, 296,
297, 2070, 298, 0, 299, 300, 301, 302, 303, 304,
0, 305, 306, 307, 308, 0, 0, 309, 310, 311,
312, 313, 0, 314, 315, 316, 0, 317, 318, 319,
0, 320, 321, 322, 323, 324, 325, 326, 327, 328,
0, 329, 0, 330, 331, 332, 333, 0, 334, 0,
335, 336, 0, 337, 338, 339, 340, 341, 0, 342,
343, 0, 344, 345, 346, 0, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 0, 357, 358, 359,
360, 361, 362, 363, 0, 364, 365, 366, 367, 368,
369, 370, 371, 372, 0, 373, 0, 374, 375, 376,
377, 378, 379, 380, 381, 382, 383, 0, 0, 384,
385, 386, 387, 388, 0, 389, 390, 391, 0, 0,
392, 393, 394, 395, 396, 397, 398, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
412, 413, 414, 0, 415, 416, 417, 418, 0, 419,
420, 421, 422, 423, 424, 0, 425, 426, 0, 0,
427, 428, 429, 0, 0, 430, 431, 432, 433, 434,
435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
445, 0, 446, 447, 448, 449, 450, 451, 452, 453,
0, 454, 455, 456, 457, 458, 459, 460, 461, 462,
463, 464, 465, 466, 467, 468, 0, 469, 470, 471,
472, 473, 474, 475, 476, 477, 478, 479, 480, 0,
481, 482, 483, 484, 485, 486, 487, 488, 489, 490,
491, 492, 493, 494, 495, 496, 497, 498, 0, 499,
500, 501, 502, 503, 0, 504, 505, 506, 507, 508,
509, 510, 511, 512, 513, 0, 514, 515, 516, 517,
518, 519, 520, 521, 522, 523, 524, 525, 526, 527,
528, 0, 529, 530, 0, 531, 532, 533, 534, 535,
536, 537, 0, 538, 539, 540, 0, 0, 541, 542,
543, 544, 545, 0, 546, 547, 548, 549, 550, 551,
552, 0, 0, 553, 554, 555, 556, 557, 0, 0,
558, 559, 560, 561, 562, 563, 564, 0, 565, 566,
567, 568, 569, 570, 0, 0, 571, 0, 0, 572,
573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
583, 584, 585, 586, 587, 588, 589, 590, 591, 863,
0, 659, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 227, 228, 229, 230, 231, 232,
233, 234, 0, 235, 236, 237, 0, 0, 0, 0,
0, 0, 0, 238, 239, 0, 240, 241, 242, 243,
244, 245, 246, 247, 248, 249, 250, 251, 0, 252,
253, 254, 255, 256, 257, 0, 0, 258, 259, 260,
261, 262, 0, 263, 264, 265, 266, 267, 0, 268,
0, 269, 270, 271, 272, 273, 274, 275, 276, 277,
0, 278, 279, 280, 281, 282, 283, 0, 284, 285,
286, 287, 0, 0, 0, 288, 0, 0, 0, 289,
290, 291, 292, 293, 294, 295, 296, 297, 0, 298,
0, 299, 300, 301, 302, 303, 304, 0, 305, 306,
307, 308, 0, 0, 309, 310, 311, 312, 313, 0,
314, 315, 316, 0, 317, 318, 319, 0, 320, 321,
322, 323, 324, 325, 326, 327, 328, 0, 329, 0,
330, 331, 332, 333, 0, 334, 0, 335, 336, 0,
337, 338, 339, 340, 341, 0, 342, 343, 0, 344,
345, 346, 0, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 0, 357, 358, 359, 360, 361, 362,
363, 0, 364, 365, 366, 367, 368, 369, 370, 371,
372, 0, 373, 0, 374, 375, 376, 377, 378, 379,
380, 381, 382, 383, 0, 0, 384, 385, 386, 387,
388, 0, 389, 390, 391, 0, 0, 392, 393, 394,
395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
0, 415, 416, 417, 418, 0, 419, 420, 421, 422,
423, 424, 0, 425, 426, 0, 0, 427, 428, 429,
0, 0, 430, 431, 432, 433, 434, 435, 436, 437,
438, 439, 440, 441, 442, 443, 444, 445, 0, 446,
447, 448, 449, 450, 451, 452, 453, 0, 454, 455,
456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
466, 467, 468, 0, 469, 470, 471, 472, 473, 474,
475, 476, 477, 478, 479, 480, 0, 481, 482, 483,
484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
494, 495, 496, 497, 498, 0, 499, 500, 501, 502,
503, 0, 504, 505, 506, 507, 508, 509, 510, 511,
512, 513, 0, 514, 515, 516, 517, 518, 519, 520,
521, 522, 523, 524, 525, 526, 527, 528, 0, 529,
530, 0, 531, 532, 533, 534, 535, 536, 537, 0,
538, 539, 540, 0, 0, 541, 542, 543, 544, 545,
0, 546, 547, 548, 549, 550, 551, 552, 0, 0,
553, 554, 555, 556, 557, 0, 0, 558, 559, 560,
561, 562, 563, 564, 0, 565, 566, 567, 568, 569,
570, 0, 0, 571, 0, 0, 572, 573, 574, 575,
576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
586, 587, 588, 589, 590, 591, 863, 0, 659, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 227, 228, 229, 230, 231, 232, 233, 234, 0,
235, 236, 237, 0, 0, 0, 0, 0, 0, 0,
238, 239, 0, 240, 241, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 0, 252, 253, 254, 255,
256, 257, 0, 0, 258, 259, 260, 261, 262, 0,
263, 264, 265, 266, 267, 0, 268, 0, 269, 270,
271, 272, 273, 274, 275, 276, 277, 0, 278, 279,
280, 281, 282, 283, 0, 284, 285, 286, 287, 0,
0, 0, 288, 0, 0, 0, 289, 290, 291, 292,
293, 294, 295, 296, 297, 0, 298, 0, 299, 300,
301, 302, 303, 304, 0, 305, 306, 307, 308, 0,
0, 309, 310, 311, 312, 313, 0, 314, 315, 316,
0, 317, 318, 319, 0, 320, 321, 322, 323, 324,
325, 326, 327, 328, 0, 329, 0, 330, 331, 332,
333, 0, 334, 0, 335, 336, 0, 337, 338, 339,
340, 341, 0, 342, 343, 0, 344, 345, 346, 0,
347, 348, 349, 350, 1891, 352, 353, 354, 355, 356,
0, 357, 358, 359, 360, 361, 362, 363, 0, 364,
365, 366, 367, 368, 369, 370, 371, 372, 0, 373,
0, 374, 375, 376, 377, 378, 379, 380, 381, 382,
383, 0, 0, 384, 385, 386, 387, 388, 0, 389,
390, 391, 0, 0, 392, 393, 394, 395, 396, 397,
398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
408, 409, 410, 411, 412, 413, 414, 0, 415, 416,
417, 418, 0, 419, 420, 421, 422, 423, 424, 0,
425, 426, 0, 0, 427, 428, 429, 0, 0, 430,
431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
441, 442, 443, 444, 445, 0, 446, 447, 448, 449,
450, 451, 452, 453, 0, 454, 455, 456, 457, 458,
459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
0, 469, 470, 471, 472, 473, 474, 475, 476, 477,
478, 479, 480, 0, 481, 482, 483, 484, 485, 486,
487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
497, 498, 0, 499, 500, 501, 502, 503, 0, 504,
505, 506, 507, 508, 509, 510, 511, 512, 513, 0,
514, 515, 516, 517, 518, 519, 520, 521, 522, 523,
524, 525, 526, 527, 528, 0, 529, 530, 0, 531,
532, 533, 534, 535, 536, 537, 0, 538, 539, 540,
0, 0, 541, 542, 543, 544, 545, 0, 546, 547,
548, 549, 550, 551, 552, 0, 0, 553, 554, 555,
556, 557, 0, 0, 558, 559, 560, 561, 562, 563,
564, 0, 565, 566, 567, 568, 569, 570, 0, 0,
571, 0, 0, 572, 573, 574, 575, 576, 577, 578,
579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
589, 590, 591, 226, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 227, 228,
229, 230, 231, 232, 233, 234, 0, 235, 236, 237,
0, 0, 0, 0, 0, 0, 0, 238, 239, 0,
240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
250, 251, 0, 252, 253, 254, 255, 256, 257, 0,
0, 258, 259, 260, 261, 262, 0, 263, 264, 265,
266, 267, 0, 268, 0, 269, 270, 271, 272, 273,
274, 275, 276, 277, 0, 278, 279, 280, 281, 282,
283, 0, 284, 285, 286, 287, 0, 0, 0, 288,
0, 0, 0, 289, 290, 291, 292, 293, 294, 295,
296, 297, 0, 298, 0, 299, 300, 301, 302, 303,
304, 0, 305, 306, 307, 308, 0, 0, 309, 310,
311, 312, 313, 0, 314, 315, 316, 0, 317, 318,
319, 0, 320, 321, 322, 323, 324, 325, 326, 327,
328, 0, 329, 0, 330, 331, 332, 333, 0, 334,
0, 335, 336, 0, 337, 338, 339, 340, 341, 0,
342, 343, 0, 344, 345, 346, 0, 347, 348, 349,
350, 351, 352, 353, 354, 355, 356, 0, 357, 358,
359, 360, 361, 362, 363, 0, 364, 365, 366, 367,
368, 369, 370, 371, 372, 0, 373, 0, 374, 375,
376, 377, 378, 379, 380, 381, 382, 383, 0, 0,
384, 385, 386, 387, 388, 0, 389, 390, 391, 0,
0, 392, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, 412, 413, 414, 0, 415, 416, 417, 418, 0,
419, 420, 421, 422, 423, 424, 0, 425, 426, 0,
0, 427, 428, 429, 0, 0, 430, 431, 432, 433,
434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
444, 445, 0, 446, 447, 448, 449, 450, 451, 452,
453, 0, 454, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 0, 469, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
0, 481, 482, 483, 484, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 496, 497, 498, 0,
499, 500, 501, 502, 503, 0, 504, 505, 506, 507,
508, 509, 510, 511, 512, 513, 0, 514, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 528, 0, 529, 530, 0, 531, 532, 533, 534,
535, 536, 537, 0, 538, 539, 540, 0, 0, 541,
542, 543, 544, 545, 0, 546, 547, 548, 549, 550,
551, 552, 0, 0, 553, 554, 555, 556, 557, 0,
0, 558, 559, 560, 561, 562, 563, 564, 0, 565,
566, 567, 568, 569, 570, 0, 0, 571, 0, 0,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 584, 585, 586, 587, 588, 589, 590, 591,
226, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 227, 228, 229, 230, 231,
232, 233, 234, 0, 235, 236, 237, 0, 0, 0,
0, 0, 0, 0, 238, 239, 0, 240, 241, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 0,
252, 253, 254, 255, 256, 257, 0, 0, 258, 259,
260, 261, 262, 0, 263, 264, 265, 266, 267, 0,
268, 0, 269, 270, 271, 272, 273, 274, 275, 276,
277, 0, 278, 279, 280, 281, 282, 283, 0, 284,
285, 286, 287, 0, 0, 0, 288, 0, 0, 0,
289, 290, 291, 292, 293, 294, 295, 296, 297, 0,
298, 0, 299, 300, 301, 302, 303, 304, 0, 305,
306, 307, 308, 0, 0, 309, 310, 311, 312, 313,
0, 314, 315, 316, 0, 317, 318, 319, 0, 320,
321, 322, 323, 324, 325, 326, 327, 328, 0, 329,
0, 330, 331, 332, 333, 0, 334, 0, 335, 336,
0, 337, 338, 339, 340, 341, 0, 342, 343, 0,
344, 345, 346, 0, 347, 348, 349, 350, 1051, 352,
353, 354, 355, 356, 0, 357, 358, 359, 360, 361,
362, 363, 0, 364, 365, 366, 367, 368, 369, 370,
371, 372, 0, 373, 0, 374, 375, 376, 377, 378,
379, 380, 381, 382, 383, 0, 0, 384, 385, 386,
387, 388, 0, 389, 390, 391, 0, 0, 392, 393,
394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 0, 415, 416, 417, 418, 0, 419, 420, 421,
422, 423, 424, 0, 425, 426, 0, 0, 427, 428,
429, 0, 0, 430, 431, 432, 433, 434, 435, 436,
437, 438, 439, 440, 441, 442, 443, 444, 445, 0,
446, 447, 448, 449, 450, 451, 452, 453, 0, 454,
455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
465, 466, 467, 468, 0, 469, 470, 471, 472, 473,
474, 475, 476, 477, 478, 479, 480, 0, 481, 482,
483, 484, 485, 486, 487, 488, 489, 490, 491, 492,
493, 494, 495, 496, 497, 498, 0, 499, 500, 501,
502, 503, 0, 504, 505, 506, 507, 508, 509, 510,
511, 512, 513, 0, 514, 515, 516, 517, 518, 519,
520, 521, 522, 523, 524, 525, 526, 527, 528, 0,
529, 530, 0, 531, 532, 533, 534, 535, 536, 537,
0, 538, 539, 540, 0, 0, 541, 542, 543, 544,
545, 0, 546, 547, 548, 549, 550, 551, 552, 0,
0, 553, 554, 555, 556, 557, 0, 0, 558, 559,
560, 561, 562, 563, 564, 0, 565, 566, 567, 568,
569, 570, 0, 0, 571, 0, 0, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 582, 583, 584,
585, 586, 587, 588, 589, 590, 591, 226, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 227, 228, 229, 230, 231, 232, 233, 234,
0, 235, 236, 237, 0, 0, 0, 0, 0, 0,
0, 238, 239, 0, 240, 241, 242, 243, 244, 245,
246, 247, 248, 249, 250, 251, 0, 252, 253, 254,
255, 256, 257, 0, 0, 258, 259, 260, 261, 262,
0, 263, 264, 265, 266, 267, 0, 268, 0, 269,
270, 271, 272, 273, 274, 275, 276, 277, 0, 278,
279, 280, 281, 282, 283, 0, 284, 285, 286, 287,
0, 0, 0, 288, 0, 0, 0, 289, 290, 291,
292, 293, 294, 295, 296, 297, 0, 298, 0, 299,
300, 301, 302, 303, 304, 0, 305, 306, 307, 308,
0, 0, 309, 310, 311, 312, 313, 0, 314, 315,
316, 0, 317, 318, 319, 0, 320, 321, 322, 323,
324, 325, 326, 327, 328, 0, 329, 0, 330, 331,
332, 333, 0, 334, 0, 335, 336, 0, 337, 338,
339, 340, 341, 0, 342, 343, 0, 344, 345, 346,
0, 347, 348, 349, 350, 1100, 352, 353, 354, 355,
356, 0, 357, 358, 359, 360, 361, 362, 363, 0,
364, 365, 366, 367, 368, 369, 370, 371, 372, 0,
373, 0, 374, 375, 376, 377, 378, 379, 380, 381,
382, 383, 0, 0, 384, 385, 386, 387, 388, 0,
389, 390, 391, 0, 0, 392, 393, 394, 395, 396,
397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
407, 408, 409, 410, 411, 412, 413, 414, 0, 415,
416, 417, 418, 0, 419, 420, 421, 422, 423, 424,
0, 425, 426, 0, 0, 427, 428, 429, 0, 0,
430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
440, 441, 442, 443, 444, 445, 0, 446, 447, 448,
449, 450, 451, 452, 453, 0, 454, 455, 456, 457,
458, 459, 460, 461, 462, 463, 464, 465, 466, 467,
468, 0, 469, 470, 471, 472, 473, 474, 475, 476,
477, 478, 479, 480, 0, 481, 482, 483, 484, 485,
486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
496, 497, 498, 0, 499, 500, 501, 502, 503, 0,
504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
0, 514, 515, 516, 517, 518, 519, 520, 521, 522,
523, 524, 525, 526, 527, 528, 0, 529, 530, 0,
531, 532, 533, 534, 535, 536, 537, 0, 538, 539,
540, 0, 0, 541, 542, 543, 544, 545, 0, 546,
547, 548, 549, 550, 551, 552, 0, 0, 553, 554,
555, 556, 557, 0, 0, 558, 559, 560, 561, 562,
563, 564, 0, 565, 566, 567, 568, 569, 570, 0,
0, 571, 0, 0, 572, 573, 574, 575, 576, 577,
578, 579, 580, 581, 582, 583, 584, 585, 586, 587,
588, 589, 590, 591, 226, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 227,
228, 229, 230, 231, 232, 233, 234, 0, 235, 236,
237, 0, 0, 0, 0, 0, 0, 0, 238, 239,
0, 240, 241, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 0, 252, 253, 254, 255, 256, 257,
0, 0, 258, 259, 260, 261, 262, 0, 263, 264,
265, 266, 267, 0, 268, 0, 269, 270, 271, 272,
273, 274, 275, 276, 277, 0, 278, 279, 280, 281,
282, 283, 0, 284, 285, 286, 287, 0, 0, 0,
288, 0, 0, 0, 289, 290, 291, 292, 293, 294,
295, 296, 297, 0, 298, 0, 299, 300, 301, 302,
303, 304, 0, 305, 306, 307, 308, 0, 0, 309,
310, 311, 312, 313, 0, 314, 315, 316, 0, 317,
318, 319, 0, 320, 321, 322, 323, 324, 325, 326,
327, 328, 0, 329, 0, 330, 331, 332, 333, 0,
334, 0, 335, 336, 0, 337, 338, 339, 340, 341,
0, 342, 343, 0, 344, 345, 346, 0, 347, 348,
349, 350, 1114, 352, 353, 354, 355, 356, 0, 357,
358, 359, 360, 361, 362, 363, 0, 364, 365, 366,
367, 368, 369, 370, 371, 372, 0, 373, 0, 374,
375, 376, 377, 378, 379, 380, 381, 382, 383, 0,
0, 384, 385, 386, 387, 388, 0, 389, 390, 391,
0, 0, 392, 393, 394, 395, 396, 397, 398, 399,
400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
410, 411, 412, 413, 414, 0, 415, 416, 417, 418,
0, 419, 420, 421, 422, 423, 424, 0, 425, 426,
0, 0, 427, 428, 429, 0, 0, 430, 431, 432,
433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
443, 444, 445, 0, 446, 447, 448, 449, 450, 451,
452, 453, 0, 454, 455, 456, 457, 458, 459, 460,
461, 462, 463, 464, 465, 466, 467, 468, 0, 469,
470, 471, 472, 473, 474, 475, 476, 477, 478, 479,
480, 0, 481, 482, 483, 484, 485, 486, 487, 488,
489, 490, 491, 492, 493, 494, 495, 496, 497, 498,
0, 499, 500, 501, 502, 503, 0, 504, 505, 506,
507, 508, 509, 510, 511, 512, 513, 0, 514, 515,
516, 517, 518, 519, 520, 521, 522, 523, 524, 525,
526, 527, 528, 0, 529, 530, 0, 531, 532, 533,
534, 535, 536, 537, 0, 538, 539, 540, 0, 0,
541, 542, 543, 544, 545, 0, 546, 547, 548, 549,
550, 551, 552, 0, 0, 553, 554, 555, 556, 557,
0, 0, 558, 559, 560, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 0, 0, 571, 0,
0, 572, 573, 574, 575, 576, 577, 578, 579, 580,
581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
591, 226, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 227, 228, 229, 230,
231, 232, 233, 234, 0, 235, 236, 237, 0, 0,
0, 0, 0, 0, 0, 238, 239, 0, 240, 241,
242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
0, 252, 253, 254, 255, 256, 257, 0, 0, 258,
259, 260, 261, 262, 0, 263, 264, 265, 266, 267,
0, 268, 0, 269, 270, 271, 272, 273, 274, 275,
276, 277, 0, 278, 279, 280, 281, 282, 283, 0,
284, 285, 286, 287, 0, 0, 0, 288, 0, 0,
0, 289, 290, 291, 292, 293, 294, 295, 296, 297,
0, 298, 0, 299, 300, 301, 302, 303, 304, 0,
305, 306, 307, 308, 0, 0, 309, 310, 311, 312,
313, 0, 314, 315, 316, 0, 317, 318, 319, 0,
320, 321, 322, 323, 324, 325, 326, 327, 328, 0,
329, 0, 330, 331, 332, 333, 0, 334, 0, 335,
336, 0, 337, 338, 339, 340, 341, 0, 342, 343,
0, 344, 345, 346, 0, 347, 348, 349, 350, 1118,
352, 353, 354, 355, 356, 0, 357, 358, 359, 360,
361, 362, 363, 0, 364, 365, 366, 367, 368, 369,
370, 371, 372, 0, 373, 0, 374, 375, 376, 377,
378, 379, 380, 381, 382, 383, 0, 0, 384, 385,
386, 387, 388, 0, 389, 390, 391, 0, 0, 392,
393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
403, 404, 405, 406, 407, 408, 409, 410, 411, 412,
413, 414, 0, 415, 416, 417, 418, 0, 419, 420,
421, 422, 423, 424, 0, 425, 426, 0, 0, 427,
428, 429, 0, 0, 430, 431, 432, 433, 434, 435,
436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
0, 446, 447, 448, 449, 450, 451, 452, 453, 0,
454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
464, 465, 466, 467, 468, 0, 469, 470, 471, 472,
473, 474, 475, 476, 477, 478, 479, 480, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 493, 494, 495, 496, 497, 498, 0, 499, 500,
501, 502, 503, 0, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 0, 514, 515, 516, 517, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
0, 529, 530, 0, 531, 532, 533, 534, 535, 536,
537, 0, 538, 539, 540, 0, 0, 541, 542, 543,
544, 545, 0, 546, 547, 548, 549, 550, 551, 552,
0, 0, 553, 554, 555, 556, 557, 0, 0, 558,
559, 560, 561, 562, 563, 564, 0, 565, 566, 567,
568, 569, 570, 0, 0, 571, 0, 0, 572, 573,
574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
584, 585, 586, 587, 588, 589, 590, 591, 863, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 227, 228, 229, 230, 231, 232, 233,
234, 0, 235, 236, 237, 0, 0, 0, 0, 0,
0, 0, 238, 239, 0, 240, 241, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 0, 252, 253,
254, 255, 256, 257, 0, 0, 258, 259, 260, 261,
262, 0, 263, 264, 265, 266, 267, 0, 268, 0,
269, 270, 271, 272, 273, 274, 275, 276, 277, 0,
278, 279, 280, 281, 282, 283, 0, 284, 285, 286,
287, 0, 0, 0, 288, 0, 0, 0, 289, 290,
291, 292, 293, 294, 295, 296, 297, 0, 298, 0,
299, 300, 301, 302, 303, 304, 0, 305, 306, 307,
308, 0, 0, 309, 310, 311, 312, 313, 0, 314,
315, 316, 0, 317, 318, 319, 0, 320, 321, 322,
323, 324, 325, 326, 327, 328, 0, 329, 0, 330,
331, 332, 333, 0, 334, 0, 335, 336, 0, 337,
338, 339, 340, 341, 0, 342, 343, 0, 344, 345,
346, 0, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 0, 357, 358, 359, 360, 361, 362, 363,
0, 364, 365, 366, 367, 368, 369, 370, 371, 372,
0, 373, 0, 374, 375, 376, 377, 378, 379, 380,
381, 382, 383, 0, 0, 384, 385, 386, 387, 388,
0, 389, 390, 391, 0, 0, 392, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 410, 411, 412, 413, 414, 0,
415, 416, 417, 418, 0, 419, 420, 421, 422, 423,
424, 0, 425, 426, 0, 0, 427, 428, 429, 0,
0, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 446, 447,
448, 449, 450, 451, 452, 453, 0, 454, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 0, 481, 482, 483, 484,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 496, 497, 498, 0, 499, 500, 501, 502, 503,
0, 504, 505, 506, 507, 508, 509, 510, 511, 512,
513, 0, 514, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 528, 0, 529, 530,
0, 531, 532, 533, 534, 535, 536, 537, 0, 538,
539, 540, 0, 0, 541, 542, 543, 544, 545, 0,
546, 547, 548, 549, 550, 551, 552, 0, 0, 553,
554, 555, 556, 557, 0, 0, 558, 559, 560, 561,
562, 563, 564, 0, 565, 566, 567, 568, 569, 570,
0, 0, 571, 0, 0, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
587, 588, 589, 590, 591, 599, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
227, 228, 229, 230, 231, 232, 233, 234, 0, 235,
236, 237, 0, 0, 0, 0, 0, 0, 0, 238,
239, 0, 240, 241, 242, 0, 244, 245, 246, 247,
248, 0, 250, 251, 0, 252, 253, 254, 255, 256,
257, 0, 0, 258, 259, 260, 261, 262, 2197, 263,
264, 265, 266, 267, 0, 0, 2277, 269, 270, 271,
272, 273, 0, 275, 276, 277, 2198, 278, 279, 280,
281, 282, 283, 0, 0, 285, 286, 287, 0, 0,
0, 0, 0, 0, 0, 289, 290, 291, 292, 293,
294, 295, 296, 297, 0, 298, 0, 299, 300, 301,
302, 303, 304, 0, 305, 306, 307, 308, 0, 0,
309, 310, 311, 312, 313, 0, 314, 315, 316, 0,
317, 318, 319, 0, 2278, 321, 322, 323, 324, 325,
326, 327, 328, 0, 329, 0, 330, 331, 332, 333,
0, 334, 2200, 335, 0, 0, 0, 338, 339, 340,
341, 0, 342, 343, 0, 344, 345, 346, 0, 347,
348, 349, 350, 2279, 0, 353, 354, 355, 356, 0,
357, 358, 359, 360, 361, 362, 363, 0, 364, 0,
366, 367, 368, 369, 370, 371, 372, 0, 373, 0,
374, 0, 0, 377, 0, 379, 380, 381, 382, 383,
0, 0, 384, 385, 0, 387, 0, 0, 389, 390,
391, 0, 0, 392, 393, 394, 395, 396, 397, 398,
399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
0, 410, 411, 412, 413, 414, 0, 415, 416, 0,
418, 0, 419, 420, 421, 422, 423, 424, 0, 425,
426, 0, 0, 427, 428, 429, 0, 0, 430, 431,
432, 0, 434, 0, 436, 437, 438, 439, 440, 441,
442, 443, 444, 445, 0, 446, 447, 448, 449, 450,
451, 452, 453, 2201, 454, 455, 456, 457, 458, 459,
460, 461, 462, 463, 464, 465, 466, 467, 468, 0,
469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
479, 480, 0, 481, 482, 0, 484, 485, 486, 487,
488, 489, 490, 491, 492, 493, 494, 495, 496, 497,
498, 0, 499, 500, 501, 502, 503, 0, 504, 505,
506, 507, 508, 0, 510, 511, 512, 513, 0, 514,
515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
525, 526, 527, 528, 0, 529, 530, 0, 531, 0,
533, 534, 535, 536, 537, 0, 538, 539, 540, 0,
0, 541, 542, 543, 544, 545, 0, 546, 547, 548,
549, 550, 551, 552, 0, 2202, 553, 554, 555, 556,
557, 0, 0, 558, 559, 560, 561, 562, 563, 564,
0, 565, 0, 567, 568, 569, 570, 0, 0, 571,
0, 0, 572, 573, 574, 575, 576, 577, 578, 579,
580, 581, 582, 583, 584, 585, 586, 587, 588, 589,
590, 591, 599, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 227, 228, 229,
230, 231, 232, 233, 234, 0, 235, 236, 237, 0,
0, 0, 0, 0, 0, 0, 238, 239, 0, 240,
241, 242, 0, 244, 245, 246, 247, 248, 0, 250,
251, 0, 252, 253, 254, 255, 256, 257, 0, 0,
258, 259, 260, 261, 262, 2197, 263, 264, 265, 266,
267, 0, 0, 0, 269, 270, 271, 272, 273, 0,
275, 276, 277, 2198, 278, 279, 280, 281, 282, 283,
0, 0, 285, 286, 287, 0, 0, 0, 0, 0,
0, 0, 289, 290, 291, 292, 293, 294, 295, 296,
297, 0, 298, 0, 299, 300, 301, 302, 303, 304,
0, 305, 306, 307, 308, 0, 0, 309, 310, 311,
312, 313, 0, 314, 315, 316, 0, 317, 318, 319,
0, 2278, 321, 322, 323, 324, 325, 326, 327, 328,
0, 329, 0, 330, 331, 332, 333, 0, 334, 2200,
335, 0, 0, 0, 338, 339, 340, 341, 0, 342,
343, 0, 344, 345, 346, 0, 347, 348, 349, 350,
351, 0, 353, 354, 355, 356, 0, 357, 358, 359,
360, 361, 362, 363, 0, 364, 0, 366, 367, 368,
369, 370, 371, 372, 0, 373, 0, 374, 0, 0,
377, 0, 379, 380, 381, 382, 383, 0, 0, 384,
385, 0, 387, 3268, 0, 389, 390, 391, 0, 0,
392, 393, 394, 395, 396, 397, 398, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 0, 410, 411,
412, 413, 414, 0, 415, 416, 0, 418, 0, 419,
420, 421, 422, 423, 424, 0, 425, 426, 0, 0,
427, 428, 429, 0, 0, 430, 431, 432, 0, 434,
0, 436, 437, 438, 439, 440, 441, 442, 443, 444,
445, 0, 446, 447, 448, 449, 450, 451, 452, 453,
2201, 454, 455, 456, 457, 458, 459, 460, 461, 462,
463, 464, 465, 466, 467, 468, 0, 469, 470, 471,
472, 473, 474, 475, 476, 477, 478, 479, 480, 0,
481, 482, 0, 484, 485, 486, 487, 488, 489, 490,
491, 492, 493, 494, 495, 496, 497, 498, 0, 499,
500, 501, 502, 503, 0, 504, 505, 506, 507, 508,
0, 510, 511, 512, 513, 0, 514, 515, 516, 517,
518, 519, 520, 521, 522, 523, 524, 525, 526, 527,
528, 0, 529, 530, 0, 531, 0, 533, 534, 535,
536, 537, 0, 538, 539, 540, 0, 0, 541, 542,
543, 544, 545, 0, 546, 547, 548, 549, 550, 551,
552, 0, 2202, 553, 554, 555, 556, 557, 0, 0,
558, 559, 560, 561, 562, 563, 564, 0, 565, 0,
567, 568, 569, 570, 0, 0, 571, 0, 0, 572,
573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
583, 584, 585, 586, 587, 588, 589, 590, 591, 599,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 227, 228, 229, 230, 231, 776,
233, 234, 738, 235, 236, 237, 0, 0, 0, 0,
0, 0, 0, 238, 239, 0, 240, 241, 242, 0,
244, 245, 246, 247, 248, 0, 250, 251, 0, 252,
253, 254, 255, 256, 257, 0, 0, 258, 259, 260,
261, 262, 0, 263, 264, 265, 266, 267, 0, 0,
0, 269, 270, 271, 272, 273, 0, 275, 276, 277,
0, 278, 279, 280, 281, 282, 283, 739, 0, 285,
286, 287, 0, 0, 0, 0, 0, 0, 0, 289,
290, 291, 292, 293, 294, 295, 296, 297, 0, 298,
0, 299, 300, 301, 302, 303, 304, 0, 305, 306,
307, 308, 0, 0, 309, 310, 311, 312, 313, 0,
314, 315, 316, 0, 317, 318, 319, 0, 320, 321,
322, 323, 324, 325, 326, 327, 328, 0, 329, 0,
330, 331, 332, 333, 0, 334, 0, 335, 0, 0,
0, 338, 339, 340, 341, 777, 342, 343, 0, 344,
345, 346, 0, 347, 348, 349, 350, 351, 0, 353,
354, 355, 356, 0, 357, 358, 359, 360, 361, 362,
363, 0, 364, 0, 366, 367, 368, 369, 370, 371,
372, 0, 373, 0, 374, 0, 0, 377, 0, 379,
380, 381, 382, 383, 0, 0, 384, 385, 0, 387,
0, 0, 389, 390, 391, 0, 0, 392, 393, 394,
395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
405, 406, 407, 408, 0, 410, 411, 412, 413, 414,
0, 415, 416, 0, 418, 0, 419, 420, 421, 422,
423, 424, 0, 425, 426, 0, 0, 427, 428, 429,
0, 0, 430, 431, 432, 0, 434, 0, 436, 437,
438, 439, 440, 441, 442, 443, 444, 445, 0, 446,
447, 448, 449, 450, 451, 452, 453, 0, 454, 455,
456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
466, 467, 468, 740, 469, 470, 471, 472, 473, 474,
475, 476, 477, 478, 479, 480, 0, 481, 482, 0,
484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
494, 495, 496, 497, 498, 741, 499, 500, 501, 502,
503, 0, 504, 505, 506, 507, 508, 0, 510, 511,
512, 513, 0, 514, 515, 516, 517, 518, 519, 520,
521, 522, 523, 524, 525, 526, 527, 528, 0, 529,
530, 0, 531, 0, 533, 534, 535, 536, 537, 0,
538, 539, 540, 0, 0, 541, 542, 543, 544, 545,
0, 546, 547, 548, 549, 550, 551, 552, 0, 0,
553, 554, 555, 556, 557, 0, 0, 558, 559, 560,
561, 562, 563, 564, 0, 565, 0, 567, 568, 569,
570, 0, 0, 571, 0, 0, 572, 573, 574, 575,
576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
586, 587, 588, 589, 590, 591, 599, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 227, 228, 229, 230, 231, 232, 233, 234, 738,
235, 236, 237, 0, 0, 0, 0, 0, 0, 0,
238, 239, 0, 240, 241, 242, 0, 244, 245, 246,
247, 248, 0, 250, 251, 0, 252, 253, 254, 255,
256, 257, 0, 0, 258, 259, 260, 261, 262, 0,
263, 264, 265, 266, 267, 0, 0, 0, 269, 270,
271, 272, 273, 0, 275, 276, 277, 0, 278, 279,
280, 281, 282, 283, 739, 0, 285, 286, 287, 0,
0, 0, 0, 0, 0, 0, 289, 290, 291, 292,
293, 294, 295, 296, 297, 0, 298, 0, 299, 300,
301, 302, 303, 304, 0, 305, 306, 307, 308, 0,
0, 309, 310, 311, 312, 313, 0, 314, 315, 316,
0, 317, 318, 319, 0, 320, 321, 322, 323, 324,
325, 326, 327, 328, 0, 329, 0, 330, 331, 332,
333, 0, 334, 0, 335, 0, 0, 0, 338, 339,
340, 341, 2951, 342, 343, 0, 344, 345, 346, 0,
347, 348, 349, 350, 351, 0, 353, 354, 355, 356,
0, 357, 358, 359, 360, 361, 362, 363, 0, 364,
0, 366, 367, 368, 369, 370, 371, 372, 0, 373,
0, 374, 0, 0, 377, 0, 379, 380, 381, 382,
383, 0, 0, 384, 385, 0, 387, 0, 0, 389,
390, 391, 0, 0, 392, 393, 394, 395, 396, 397,
398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
408, 0, 410, 411, 412, 413, 414, 0, 415, 416,
0, 418, 0, 419, 420, 421, 422, 423, 424, 0,
425, 426, 0, 0, 427, 428, 429, 0, 0, 430,
431, 432, 0, 434, 0, 436, 437, 438, 439, 440,
441, 442, 443, 444, 445, 0, 446, 447, 448, 449,
450, 451, 452, 453, 0, 454, 455, 456, 457, 458,
459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
740, 469, 470, 471, 472, 473, 474, 475, 476, 477,
478, 479, 480, 0, 481, 482, 0, 484, 485, 486,
487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
497, 498, 741, 499, 500, 501, 502, 503, 0, 504,
505, 506, 507, 508, 0, 510, 511, 512, 513, 0,
514, 515, 516, 517, 518, 519, 520, 521, 522, 523,
524, 525, 526, 527, 528, 0, 529, 530, 0, 531,
0, 533, 534, 535, 536, 537, 0, 538, 539, 540,
0, 0, 541, 542, 543, 544, 545, 0, 546, 547,
548, 549, 550, 551, 552, 0, 0, 553, 554, 555,
556, 557, 0, 0, 558, 559, 560, 561, 562, 563,
564, 0, 565, 0, 567, 568, 569, 570, 0, 0,
571, 0, 0, 572, 573, 574, 575, 576, 577, 578,
579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
589, 590, 591, 599, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 227, 228,
229, 230, 231, 232, 233, 234, 0, 235, 236, 237,
0, 0, 0, 0, 0, 0, 0, 238, 239, 0,
240, 241, 242, 0, 244, 245, 246, 247, 248, 0,
250, 251, 0, 252, 253, 254, 255, 256, 257, 0,
0, 258, 259, 260, 261, 262, 2197, 263, 264, 265,
266, 267, 0, 0, 0, 269, 270, 271, 272, 273,
0, 275, 276, 277, 2198, 278, 279, 280, 281, 282,
283, 0, 0, 285, 286, 287, 0, 0, 0, 0,
0, 0, 0, 289, 290, 291, 292, 293, 294, 295,
296, 297, 0, 298, 0, 299, 300, 301, 302, 303,
304, 0, 305, 306, 307, 308, 0, 0, 309, 310,
311, 312, 313, 0, 314, 315, 316, 0, 317, 318,
319, 0, 2278, 321, 322, 323, 324, 325, 326, 327,
328, 0, 329, 0, 330, 331, 332, 333, 0, 334,
2200, 335, 0, 0, 0, 338, 339, 340, 341, 0,
342, 343, 0, 344, 345, 346, 0, 347, 348, 349,
350, 351, 0, 353, 354, 355, 356, 0, 357, 358,
359, 360, 361, 362, 363, 0, 364, 0, 366, 367,
368, 369, 370, 371, 372, 0, 373, 0, 374, 0,
0, 377, 0, 379, 380, 381, 382, 383, 0, 0,
384, 385, 0, 387, 0, 0, 389, 390, 391, 0,
0, 392, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 0, 410,
411, 412, 413, 414, 0, 415, 416, 0, 418, 0,
419, 420, 421, 422, 423, 424, 0, 425, 426, 0,
0, 427, 428, 429, 0, 0, 430, 431, 432, 0,
434, 0, 436, 437, 438, 439, 440, 441, 442, 443,
444, 445, 0, 446, 447, 448, 449, 450, 451, 452,
453, 2201, 454, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 0, 469, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
0, 481, 482, 0, 484, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 496, 497, 498, 0,
499, 500, 501, 502, 503, 0, 504, 505, 506, 507,
508, 0, 510, 511, 512, 513, 0, 514, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 528, 0, 529, 530, 0, 531, 0, 533, 534,
535, 536, 537, 0, 538, 539, 540, 0, 0, 541,
542, 543, 544, 545, 0, 546, 547, 548, 549, 550,
551, 552, 0, 2202, 553, 554, 555, 556, 557, 0,
0, 558, 559, 560, 561, 562, 563, 564, 0, 565,
0, 567, 568, 569, 570, 0, 0, 571, 0, 0,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 584, 585, 586, 587, 588, 589, 590, 591,
599, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 227, 228, 229, 230, 231,
232, 233, 234, 738, 235, 236, 237, 0, 0, 0,
0, 0, 0, 0, 238, 239, 0, 240, 241, 242,
0, 244, 245, 246, 247, 248, 0, 250, 251, 0,
252, 253, 254, 255, 256, 257, 0, 0, 258, 259,
260, 261, 262, 0, 263, 264, 265, 266, 267, 0,
0, 0, 269, 270, 271, 272, 273, 0, 275, 276,
277, 0, 278, 279, 280, 281, 282, 283, 739, 0,
285, 286, 287, 0, 0, 0, 0, 0, 0, 0,
289, 290, 291, 292, 293, 294, 295, 296, 297, 0,
298, 0, 299, 300, 301, 302, 303, 304, 0, 305,
306, 307, 308, 0, 0, 309, 310, 311, 312, 313,
0, 314, 315, 316, 0, 317, 318, 319, 0, 320,
321, 322, 323, 324, 325, 326, 327, 328, 0, 329,
0, 330, 331, 332, 333, 0, 334, 0, 335, 0,
0, 0, 338, 339, 340, 341, 0, 342, 343, 0,
344, 345, 346, 0, 347, 348, 349, 350, 351, 0,
353, 354, 355, 356, 0, 357, 358, 359, 360, 361,
362, 363, 0, 364, 0, 366, 367, 368, 369, 370,
371, 372, 0, 373, 0, 374, 0, 0, 377, 0,
379, 380, 381, 382, 383, 0, 0, 384, 385, 0,
387, 0, 0, 389, 390, 391, 0, 0, 392, 393,
394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 0, 410, 411, 412, 413,
414, 0, 415, 416, 0, 418, 0, 419, 420, 421,
422, 423, 424, 0, 425, 426, 0, 0, 427, 428,
429, 0, 0, 430, 431, 432, 0, 434, 0, 436,
437, 438, 439, 440, 441, 442, 443, 444, 445, 0,
446, 447, 448, 449, 450, 451, 452, 453, 0, 454,
455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
465, 466, 467, 468, 740, 469, 470, 471, 472, 473,
474, 475, 476, 477, 478, 479, 480, 0, 481, 482,
0, 484, 485, 486, 487, 488, 489, 490, 491, 492,
493, 494, 495, 496, 497, 498, 741, 499, 500, 501,
502, 503, 0, 504, 505, 506, 507, 508, 0, 510,
511, 512, 513, 0, 514, 515, 516, 517, 518, 519,
520, 521, 522, 523, 524, 525, 526, 527, 528, 0,
529, 530, 0, 531, 0, 533, 534, 535, 536, 537,
0, 538, 539, 540, 0, 0, 541, 542, 543, 544,
545, 0, 546, 547, 548, 549, 550, 551, 552, 0,
0, 553, 554, 555, 556, 557, 0, 0, 558, 559,
560, 561, 562, 563, 564, 0, 565, 0, 567, 568,
569, 570, 0, 0, 571, 0, 0, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 582, 583, 584,
585, 586, 587, 588, 589, 590, 591, 599, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 227, 228, 229, 230, 231, 232, 233, 234,
1932, 235, 236, 237, 0, 0, 0, 0, 0, 0,
0, 238, 239, 0, 240, 241, 242, 0, 244, 245,
246, 247, 248, 0, 250, 251, 0, 252, 253, 254,
255, 256, 257, 0, 0, 258, 259, 260, 261, 262,
0, 263, 264, 265, 266, 267, 0, 0, 0, 269,
270, 271, 272, 273, 0, 275, 276, 277, 0, 278,
279, 280, 281, 282, 283, 0, 0, 285, 286, 287,
0, 0, 0, 0, 0, 0, 0, 289, 290, 291,
1933, 293, 294, 295, 296, 297, 0, 298, 0, 299,
300, 301, 302, 303, 304, 0, 305, 306, 307, 308,
0, 0, 309, 1934, 311, 312, 313, 0, 314, 315,
316, 0, 317, 318, 319, 0, 320, 321, 322, 323,
324, 325, 326, 327, 328, 0, 329, 0, 330, 331,
332, 333, 0, 334, 1935, 335, 0, 0, 0, 1936,
339, 340, 341, 0, 342, 343, 0, 344, 345, 346,
0, 347, 348, 349, 350, 351, 0, 353, 354, 355,
356, 0, 357, 358, 359, 360, 361, 362, 363, 0,
364, 0, 366, 367, 368, 369, 370, 371, 372, 0,
373, 0, 374, 0, 0, 377, 0, 379, 380, 1937,
1938, 383, 0, 0, 384, 385, 0, 387, 0, 0,
389, 390, 391, 0, 0, 392, 393, 394, 395, 396,
397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
407, 408, 0, 410, 411, 412, 413, 414, 0, 415,
416, 0, 418, 0, 419, 420, 421, 422, 423, 424,
0, 425, 426, 0, 0, 427, 428, 429, 0, 0,
430, 431, 432, 0, 434, 0, 436, 437, 438, 439,
440, 441, 442, 443, 444, 445, 0, 446, 447, 448,
449, 450, 451, 452, 453, 0, 454, 455, 456, 1939,
458, 459, 460, 461, 462, 463, 464, 465, 466, 467,
468, 0, 469, 470, 471, 472, 473, 474, 475, 476,
477, 478, 479, 480, 0, 481, 482, 0, 484, 485,
486, 1940, 488, 489, 490, 491, 492, 1941, 494, 495,
496, 497, 498, 0, 1942, 500, 501, 502, 503, 0,
504, 505, 506, 507, 508, 0, 510, 511, 512, 513,
0, 514, 515, 516, 517, 518, 519, 520, 521, 522,
523, 524, 525, 526, 527, 528, 0, 529, 530, 1943,
531, 0, 1944, 534, 535, 536, 537, 0, 538, 539,
540, 0, 0, 541, 542, 543, 544, 545, 0, 546,
547, 1945, 549, 550, 551, 552, 0, 0, 553, 554,
555, 556, 557, 0, 0, 558, 559, 560, 561, 562,
563, 564, 0, 565, 0, 567, 568, 569, 570, 0,
0, 571, 0, 0, 572, 573, 574, 575, 576, 577,
578, 579, 580, 581, 582, 583, 584, 585, 586, 587,
588, 589, 590, 591, 599, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 227,
228, 229, 230, 231, 232, 233, 234, 0, 235, 236,
237, 0, 0, 0, 0, 0, 0, 0, 238, 239,
0, 240, 241, 242, 0, 244, 245, 246, 247, 248,
0, 250, 251, 0, 252, 253, 254, 255, 256, 257,
0, 0, 258, 259, 260, 261, 262, 0, 263, 264,
265, 266, 267, 0, 0, 0, 269, 270, 271, 272,
273, 0, 275, 276, 277, 0, 278, 279, 280, 281,
282, 283, 739, 0, 285, 286, 287, 0, 0, 0,
0, 0, 0, 0, 289, 290, 291, 292, 293, 294,
295, 296, 297, 0, 298, 0, 299, 300, 301, 302,
303, 304, 0, 305, 306, 307, 308, 0, 0, 309,
310, 311, 312, 313, 0, 314, 315, 316, 0, 317,
318, 319, 0, 320, 321, 322, 323, 324, 325, 326,
327, 328, 0, 329, 0, 330, 331, 332, 333, 0,
334, 0, 335, 0, 0, 0, 338, 339, 340, 341,
0, 342, 343, 0, 344, 345, 346, 0, 347, 348,
349, 350, 351, 0, 353, 354, 355, 356, 0, 357,
358, 359, 360, 361, 362, 363, 0, 364, 0, 366,
367, 368, 369, 370, 371, 372, 0, 373, 0, 374,
0, 0, 377, 0, 379, 380, 381, 382, 383, 0,
0, 384, 385, 0, 387, 0, 0, 389, 390, 391,
0, 0, 392, 393, 394, 395, 396, 397, 398, 399,
400, 401, 402, 403, 404, 405, 406, 407, 408, 0,
410, 411, 412, 413, 414, 0, 415, 416, 0, 418,
0, 419, 420, 421, 422, 423, 424, 0, 425, 426,
0, 0, 427, 428, 429, 0, 0, 430, 431, 432,
0, 434, 0, 436, 437, 438, 439, 440, 441, 442,
443, 444, 445, 0, 446, 447, 448, 449, 450, 451,
452, 453, 0, 454, 455, 456, 457, 458, 459, 460,
461, 462, 463, 464, 465, 466, 467, 468, 740, 469,
470, 471, 472, 473, 474, 475, 476, 477, 478, 479,
480, 0, 481, 482, 0, 484, 485, 486, 487, 488,
489, 490, 491, 492, 493, 494, 495, 496, 497, 498,
741, 499, 500, 501, 502, 503, 0, 504, 505, 506,
507, 508, 0, 510, 511, 512, 513, 0, 514, 515,
516, 517, 518, 519, 520, 521, 522, 523, 524, 525,
526, 527, 528, 0, 529, 530, 0, 531, 0, 533,
534, 535, 536, 537, 0, 538, 539, 540, 0, 0,
541, 542, 543, 544, 545, 0, 546, 547, 548, 549,
550, 551, 552, 0, 0, 553, 554, 555, 556, 557,
0, 0, 558, 559, 560, 561, 562, 563, 564, 0,
565, 0, 567, 568, 569, 570, 0, 0, 571, 0,
0, 572, 573, 574, 575, 576, 577, 578, 579, 580,
581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
591, 599, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 227, 228, 229, 230,
231, 232, 233, 234, 914, 235, 236, 237, 0, 0,
0, 0, 0, 0, 0, 238, 239, 0, 240, 241,
242, 0, 244, 245, 246, 247, 248, 0, 250, 251,
0, 252, 253, 254, 255, 256, 257, 0, 0, 258,
259, 260, 261, 262, 0, 263, 264, 265, 266, 267,
0, 0, 0, 269, 270, 271, 272, 273, 0, 275,
276, 277, 0, 278, 279, 280, 281, 282, 283, 0,
0, 285, 286, 287, 0, 0, 0, 0, 0, 0,
0, 289, 290, 291, 292, 293, 294, 295, 296, 297,
0, 298, 0, 299, 300, 301, 302, 303, 304, 0,
305, 306, 307, 308, 0, 0, 309, 310, 311, 312,
313, 0, 314, 315, 316, 0, 317, 318, 319, 0,
320, 321, 322, 323, 324, 325, 326, 327, 328, 0,
329, 0, 330, 331, 332, 333, 0, 334, 0, 335,
0, 0, 0, 338, 339, 340, 341, 0, 342, 343,
0, 344, 345, 346, 0, 347, 348, 349, 350, 915,
0, 353, 354, 355, 356, 0, 357, 358, 359, 360,
361, 362, 363, 0, 364, 0, 366, 367, 368, 369,
370, 371, 372, 0, 373, 0, 374, 0, 0, 377,
0, 379, 380, 381, 382, 383, 0, 0, 384, 385,
0, 387, 0, 0, 389, 390, 391, 0, 0, 392,
393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
403, 404, 405, 406, 407, 408, 0, 410, 411, 412,
413, 414, 0, 415, 416, 0, 418, 0, 419, 420,
421, 422, 423, 424, 0, 425, 426, 0, 808, 427,
428, 429, 0, 0, 430, 431, 432, 0, 434, 0,
436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
0, 446, 447, 448, 449, 450, 451, 452, 453, 0,
454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
464, 465, 466, 467, 468, 0, 469, 470, 471, 472,
473, 474, 475, 476, 477, 478, 479, 480, 0, 481,
482, 0, 484, 485, 486, 487, 488, 489, 490, 491,
492, 493, 494, 495, 496, 497, 498, 0, 499, 500,
501, 502, 503, 0, 504, 505, 506, 507, 508, 0,
510, 511, 512, 513, 0, 514, 515, 516, 517, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
0, 529, 530, 0, 531, 0, 533, 534, 535, 536,
537, 0, 538, 539, 540, 0, 0, 541, 542, 543,
544, 545, 0, 546, 547, 548, 549, 550, 551, 552,
0, 0, 553, 554, 555, 556, 557, 0, 0, 558,
559, 560, 561, 562, 563, 564, 0, 565, 0, 567,
568, 569, 570, 0, 0, 571, 0, 0, 572, 573,
574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
584, 585, 586, 587, 588, 589, 590, 591, 599, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 227, 228, 229, 230, 231, 232, 233,
234, 3043, 235, 236, 237, 0, 0, 0, 0, 0,
0, 0, 238, 239, 0, 240, 241, 242, 0, 244,
245, 246, 247, 248, 0, 250, 251, 0, 252, 253,
254, 255, 256, 257, 0, 0, 258, 259, 260, 261,
262, 0, 263, 264, 265, 266, 267, 0, 0, 0,
269, 270, 271, 272, 273, 0, 275, 276, 277, 0,
278, 279, 280, 281, 282, 283, 0, 0, 285, 286,
287, 0, 0, 0, 0, 0, 0, 0, 289, 290,
291, 292, 293, 294, 295, 296, 297, 0, 298, 0,
299, 300, 301, 302, 303, 304, 0, 305, 306, 307,
308, 0, 0, 309, 310, 311, 312, 313, 0, 314,
315, 316, 0, 317, 318, 319, 0, 320, 321, 322,
323, 324, 325, 326, 327, 328, 0, 329, 0, 330,
331, 332, 333, 0, 334, 0, 335, 0, 0, 0,
338, 339, 340, 341, 0, 342, 343, 0, 344, 345,
346, 0, 347, 348, 349, 350, 351, 0, 353, 354,
355, 356, 0, 357, 358, 359, 360, 361, 362, 363,
0, 364, 0, 366, 367, 368, 369, 370, 371, 372,
0, 373, 0, 374, 0, 0, 377, 0, 379, 380,
381, 382, 383, 0, 0, 384, 385, 0, 387, 0,
0, 389, 390, 391, 0, 0, 392, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 0, 410, 411, 412, 413, 414, 0,
415, 416, 0, 418, 0, 419, 420, 421, 422, 423,
424, 0, 425, 426, 0, 0, 427, 428, 429, 0,
0, 430, 431, 432, 0, 434, 0, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 446, 447,
448, 449, 450, 451, 452, 453, 0, 454, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 0, 481, 482, 0, 484,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 496, 497, 498, 0, 499, 500, 501, 502, 503,
0, 504, 505, 506, 507, 508, 0, 510, 511, 512,
513, 0, 514, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 528, 0, 529, 530,
0, 531, 0, 533, 534, 535, 536, 537, 0, 538,
539, 540, 0, 0, 541, 542, 543, 544, 545, 0,
546, 547, 548, 549, 550, 551, 552, 0, 0, 553,
554, 555, 556, 557, 3044, 0, 558, 559, 560, 561,
562, 563, 564, 0, 565, 0, 567, 568, 569, 570,
0, 0, 571, 0, 0, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
587, 588, 589, 590, 591, 599, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
227, 228, 229, 230, 231, 232, 233, 234, 3056, 235,
236, 237, 0, 0, 0, 0, 0, 0, 0, 238,
239, 0, 240, 241, 242, 0, 244, 245, 246, 247,
248, 0, 250, 251, 0, 252, 253, 254, 255, 256,
257, 0, 0, 258, 259, 260, 261, 262, 0, 263,
264, 265, 266, 267, 0, 0, 0, 269, 270, 271,
272, 273, 0, 275, 276, 277, 0, 278, 279, 280,
281, 282, 283, 0, 0, 285, 286, 287, 0, 0,
0, 0, 0, 0, 0, 289, 290, 291, 292, 293,
294, 295, 296, 297, 0, 298, 0, 299, 300, 301,
302, 303, 304, 0, 305, 306, 307, 308, 0, 0,
309, 310, 311, 312, 313, 0, 314, 315, 316, 0,
317, 318, 319, 0, 320, 321, 322, 323, 324, 325,
326, 327, 328, 0, 329, 0, 330, 331, 332, 333,
0, 334, 0, 335, 0, 0, 0, 338, 339, 340,
341, 0, 342, 343, 0, 344, 345, 346, 0, 347,
348, 349, 350, 351, 0, 353, 354, 355, 356, 0,
357, 358, 359, 360, 361, 362, 363, 0, 364, 0,
366, 367, 368, 369, 370, 371, 372, 0, 373, 0,
374, 0, 0, 377, 0, 379, 380, 381, 382, 383,
0, 0, 384, 385, 0, 387, 0, 0, 389, 390,
391, 0, 0, 392, 393, 394, 395, 396, 397, 398,
399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
0, 410, 411, 412, 413, 414, 0, 415, 416, 0,
418, 0, 419, 420, 421, 422, 423, 424, 0, 425,
426, 0, 0, 427, 428, 429, 0, 0, 430, 431,
432, 0, 434, 0, 436, 437, 438, 439, 440, 441,
442, 443, 444, 445, 0, 446, 447, 448, 449, 450,
451, 452, 453, 0, 454, 455, 456, 457, 458, 459,
460, 461, 462, 463, 464, 465, 466, 467, 468, 0,
469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
479, 480, 0, 481, 482, 0, 484, 485, 486, 487,
488, 489, 490, 491, 492, 493, 494, 495, 496, 497,
498, 0, 499, 500, 501, 502, 503, 0, 504, 505,
506, 507, 508, 0, 510, 511, 512, 513, 0, 514,
515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
525, 526, 527, 528, 0, 529, 530, 0, 531, 0,
533, 534, 535, 536, 537, 0, 538, 539, 540, 0,
0, 541, 542, 543, 544, 545, 0, 546, 547, 548,
549, 550, 551, 552, 0, 0, 553, 554, 555, 556,
557, 3057, 0, 558, 559, 560, 561, 562, 563, 564,
0, 565, 0, 567, 568, 569, 570, 0, 0, 571,
0, 0, 572, 573, 574, 575, 576, 577, 578, 579,
580, 581, 582, 583, 584, 585, 586, 587, 588, 589,
590, 591, 599, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 227, 228, 229,
230, 231, 232, 233, 234, 600, 235, 236, 237, 0,
0, 0, 0, 0, 0, 0, 238, 239, 0, 240,
241, 242, 0, 244, 245, 246, 247, 248, 0, 250,
251, 0, 252, 253, 254, 255, 256, 257, 0, 0,
258, 259, 260, 261, 262, 0, 263, 264, 265, 266,
267, 0, 0, 0, 269, 270, 271, 272, 273, 0,
275, 276, 277, 0, 278, 279, 280, 281, 282, 283,
0, 0, 285, 286, 287, 0, 0, 0, 0, 0,
0, 0, 289, 290, 291, 292, 293, 294, 295, 296,
297, 0, 298, 0, 299, 300, 301, 302, 303, 304,
0, 305, 306, 307, 308, 0, 0, 309, 310, 311,
312, 313, 0, 314, 315, 316, 0, 317, 318, 319,
0, 320, 321, 322, 323, 324, 325, 326, 327, 328,
0, 329, 0, 330, 331, 332, 333, 0, 334, 0,
335, 0, 0, 0, 338, 339, 340, 341, 0, 342,
343, 0, 344, 345, 346, 0, 347, 348, 349, 350,
351, 0, 353, 354, 355, 356, 0, 357, 358, 359,
360, 361, 362, 363, 0, 364, 0, 366, 367, 368,
369, 370, 371, 372, 0, 373, 0, 374, 0, 0,
377, 0, 379, 380, 381, 382, 383, 0, 0, 384,
385, 0, 387, 0, 0, 389, 390, 391, 0, 0,
392, 393, 394, 395, 396, 397, 398, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 0, 410, 411,
412, 413, 414, 0, 415, 416, 0, 418, 0, 419,
420, 421, 422, 423, 424, 0, 425, 426, 0, 0,
427, 428, 429, 0, 0, 430, 431, 432, 0, 434,
0, 436, 437, 438, 439, 440, 441, 442, 443, 444,
445, 0, 446, 447, 448, 449, 450, 451, 452, 453,
0, 454, 455, 456, 457, 458, 459, 460, 461, 462,
463, 464, 465, 466, 467, 468, 0, 469, 470, 471,
472, 473, 474, 475, 476, 477, 478, 479, 480, 0,
481, 482, 0, 484, 485, 486, 487, 488, 489, 490,
491, 492, 493, 494, 495, 496, 497, 498, 0, 499,
500, 501, 502, 503, 0, 504, 505, 506, 507, 508,
0, 510, 511, 512, 513, 0, 514, 515, 516, 517,
518, 519, 520, 521, 522, 523, 524, 525, 526, 527,
528, 0, 529, 530, 0, 531, 0, 533, 534, 535,
536, 537, 0, 538, 539, 540, 0, 0, 541, 542,
543, 544, 545, 0, 546, 547, 548, 549, 550, 551,
552, 0, 0, 553, 554, 555, 556, 557, 0, 0,
558, 559, 560, 561, 562, 563, 564, 0, 565, 0,
567, 568, 569, 570, 0, 0, 571, 0, 0, 572,
573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
583, 584, 585, 586, 587, 588, 589, 590, 591, 599,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 227, 228, 229, 230, 231, 232,
233, 234, 650, 235, 236, 237, 0, 0, 0, 0,
0, 0, 0, 238, 239, 0, 240, 241, 242, 0,
244, 245, 246, 247, 248, 0, 250, 251, 0, 252,
253, 254, 255, 256, 257, 0, 0, 258, 259, 260,
261, 262, 0, 263, 264, 265, 266, 267, 0, 0,
0, 269, 270, 271, 272, 273, 0, 275, 276, 277,
0, 278, 279, 280, 281, 282, 283, 0, 0, 285,
286, 287, 0, 0, 0, 0, 0, 0, 0, 289,
290, 291, 292, 293, 294, 295, 296, 297, 0, 298,
0, 299, 300, 301, 302, 303, 304, 0, 305, 306,
307, 308, 0, 0, 309, 310, 311, 312, 313, 0,
314, 315, 316, 0, 317, 318, 319, 0, 320, 321,
322, 323, 324, 325, 326, 327, 328, 0, 329, 0,
330, 331, 332, 333, 0, 334, 0, 335, 0, 0,
0, 338, 339, 340, 341, 0, 342, 343, 0, 344,
345, 346, 0, 347, 348, 349, 350, 351, 0, 353,
354, 355, 356, 0, 357, 358, 359, 360, 361, 362,
363, 0, 364, 0, 366, 367, 368, 369, 370, 371,
372, 0, 373, 0, 374, 0, 0, 377, 0, 379,
380, 381, 382, 383, 0, 0, 384, 385, 0, 387,
0, 0, 389, 390, 391, 0, 0, 392, 393, 394,
395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
405, 406, 407, 408, 0, 410, 411, 412, 413, 414,
0, 415, 416, 0, 418, 0, 419, 420, 421, 422,
423, 424, 0, 425, 426, 0, 0, 427, 428, 429,
0, 0, 430, 431, 432, 0, 434, 0, 436, 437,
438, 439, 440, 441, 442, 443, 444, 445, 0, 446,
447, 448, 449, 450, 451, 651, 453, 0, 454, 455,
456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
466, 467, 468, 0, 469, 470, 471, 472, 473, 474,
475, 476, 477, 478, 479, 480, 0, 481, 482, 0,
484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
494, 495, 496, 497, 498, 0, 499, 500, 501, 502,
503, 0, 504, 505, 506, 507, 508, 0, 510, 511,
512, 513, 0, 514, 515, 516, 517, 518, 519, 520,
521, 522, 523, 524, 525, 526, 527, 528, 0, 529,
530, 0, 531, 0, 533, 534, 535, 536, 537, 0,
538, 539, 540, 0, 0, 541, 542, 543, 544, 545,
0, 546, 547, 548, 549, 550, 551, 552, 0, 0,
553, 554, 555, 556, 557, 0, 0, 558, 559, 560,
561, 562, 563, 564, 0, 565, 0, 567, 568, 569,
570, 0, 0, 571, 0, 0, 572, 573, 574, 575,
576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
586, 587, 588, 589, 590, 591, 599, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 227, 228, 229, 230, 231, 232, 233, 234, 768,
235, 236, 237, 0, 0, 0, 0, 0, 0, 0,
238, 239, 0, 240, 241, 242, 0, 244, 245, 246,
247, 248, 0, 250, 251, 0, 252, 253, 254, 255,
256, 257, 0, 0, 258, 259, 260, 261, 262, 0,
263, 264, 265, 266, 267, 0, 0, 0, 269, 270,
271, 272, 273, 0, 275, 276, 277, 0, 278, 279,
280, 281, 282, 283, 0, 0, 285, 286, 287, 0,
0, 0, 0, 0, 0, 0, 289, 290, 291, 292,
293, 294, 295, 296, 297, 0, 298, 0, 299, 300,
301, 302, 303, 304, 0, 305, 306, 307, 308, 0,
0, 309, 310, 311, 312, 313, 0, 314, 315, 316,
0, 317, 318, 319, 0, 320, 321, 322, 323, 324,
325, 326, 327, 328, 0, 329, 0, 330, 331, 332,
333, 0, 334, 0, 335, 0, 0, 0, 338, 339,
340, 341, 0, 342, 343, 0, 344, 345, 346, 0,
347, 348, 349, 350, 351, 0, 353, 354, 355, 356,
0, 357, 358, 359, 360, 361, 362, 363, 0, 364,
0, 366, 367, 368, 369, 370, 371, 372, 0, 373,
0, 374, 0, 0, 377, 0, 379, 380, 381, 382,
383, 0, 0, 384, 385, 0, 387, 0, 0, 389,
390, 391, 0, 0, 392, 393, 394, 395, 396, 397,
398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
408, 0, 410, 411, 412, 413, 414, 0, 415, 416,
0, 418, 0, 419, 420, 421, 422, 423, 424, 0,
425, 426, 0, 0, 427, 428, 429, 0, 0, 430,
431, 432, 0, 434, 0, 436, 437, 438, 439, 440,
441, 442, 443, 444, 445, 0, 446, 447, 448, 449,
450, 451, 452, 453, 0, 454, 455, 456, 457, 458,
459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
0, 469, 470, 471, 472, 473, 474, 475, 476, 477,
478, 479, 480, 0, 481, 482, 0, 484, 485, 486,
487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
497, 498, 0, 499, 500, 501, 502, 769, 0, 504,
505, 506, 507, 508, 0, 510, 511, 512, 513, 0,
514, 515, 516, 517, 518, 519, 520, 521, 522, 523,
524, 525, 526, 527, 528, 0, 529, 530, 0, 531,
0, 533, 534, 535, 536, 537, 0, 538, 770, 540,
0, 0, 771, 542, 543, 544, 545, 0, 546, 547,
548, 549, 550, 551, 552, 0, 0, 553, 554, 555,
556, 557, 0, 0, 558, 559, 560, 561, 562, 563,
564, 0, 565, 0, 567, 568, 569, 570, 0, 0,
571, 0, 0, 572, 573, 574, 575, 576, 577, 578,
579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
589, 590, 591, 599, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 227, 228,
229, 230, 231, 232, 233, 234, 802, 235, 236, 237,
0, 0, 0, 0, 0, 0, 0, 238, 239, 0,
240, 241, 242, 0, 244, 245, 246, 247, 248, 0,
250, 251, 0, 252, 253, 254, 255, 256, 257, 0,
0, 258, 259, 260, 261, 262, 0, 263, 264, 265,
266, 267, 0, 0, 0, 269, 270, 271, 272, 273,
0, 275, 276, 277, 0, 278, 279, 280, 281, 282,
283, 0, 0, 285, 286, 287, 0, 0, 0, 0,
0, 0, 0, 289, 290, 291, 292, 293, 294, 295,
296, 297, 0, 298, 0, 299, 300, 301, 302, 303,
304, 0, 305, 306, 307, 308, 0, 0, 309, 310,
311, 312, 313, 0, 314, 315, 316, 0, 317, 318,
319, 0, 320, 321, 322, 323, 324, 325, 326, 327,
328, 0, 329, 0, 330, 331, 332, 333, 0, 334,
0, 335, 0, 0, 0, 338, 339, 340, 341, 0,
342, 343, 0, 344, 345, 346, 0, 347, 348, 349,
350, 351, 0, 353, 354, 355, 356, 0, 357, 358,
359, 360, 361, 362, 363, 0, 364, 0, 366, 367,
368, 369, 370, 371, 372, 0, 373, 0, 374, 0,
0, 377, 0, 379, 380, 381, 382, 383, 0, 0,
384, 385, 0, 387, 0, 0, 389, 390, 391, 0,
0, 392, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 0, 410,
411, 412, 413, 414, 0, 415, 416, 0, 418, 0,
419, 420, 421, 422, 423, 424, 0, 425, 426, 0,
0, 427, 428, 429, 0, 0, 430, 431, 432, 0,
434, 0, 436, 437, 438, 439, 440, 441, 442, 443,
444, 445, 0, 446, 447, 448, 449, 450, 451, 452,
453, 0, 454, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 0, 469, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
0, 481, 482, 0, 484, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 496, 497, 498, 0,
499, 500, 501, 502, 803, 0, 504, 505, 506, 507,
508, 0, 510, 511, 512, 513, 0, 514, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 528, 0, 529, 530, 0, 531, 0, 533, 534,
535, 536, 537, 0, 538, 804, 540, 0, 0, 805,
542, 543, 544, 545, 0, 546, 547, 548, 549, 550,
551, 552, 0, 0, 553, 554, 555, 556, 557, 0,
0, 558, 559, 560, 561, 562, 563, 564, 0, 565,
0, 567, 568, 569, 570, 0, 0, 571, 0, 0,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 584, 585, 586, 587, 588, 589, 590, 591,
599, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 227, 228, 229, 230, 231,
232, 233, 234, 0, 235, 236, 237, 0, 0, 0,
0, 0, 0, 0, 238, 239, 0, 240, 241, 242,
0, 244, 245, 246, 247, 248, 0, 250, 251, 0,
252, 253, 254, 255, 256, 257, 0, 0, 258, 259,
260, 261, 262, 0, 263, 264, 265, 266, 267, 0,
0, 0, 269, 270, 271, 272, 273, 0, 275, 276,
277, 0, 278, 279, 280, 281, 282, 283, 0, 0,
285, 286, 287, 0, 0, 0, 0, 0, 0, 0,
289, 290, 291, 292, 293, 294, 295, 296, 297, 0,
298, 0, 299, 300, 301, 302, 303, 304, 0, 305,
306, 307, 308, 0, 0, 309, 310, 311, 312, 313,
0, 314, 315, 316, 0, 317, 318, 319, 0, 320,
321, 322, 323, 324, 325, 326, 327, 328, 0, 329,
0, 330, 331, 332, 333, 0, 334, 0, 335, 0,
0, 0, 338, 339, 340, 341, 0, 342, 343, 0,
344, 345, 346, 0, 347, 348, 349, 350, 351, 0,
353, 354, 355, 356, 0, 357, 358, 359, 360, 361,
362, 363, 0, 364, 0, 366, 367, 368, 369, 370,
371, 372, 0, 373, 0, 374, 0, 0, 377, 0,
379, 380, 381, 382, 383, 0, 0, 384, 385, 0,
387, 0, 0, 389, 390, 391, 0, 0, 392, 393,
394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 0, 410, 411, 412, 413,
414, 0, 415, 416, 0, 418, 0, 419, 420, 421,
422, 423, 424, 0, 425, 426, 0, 808, 427, 428,
429, 0, 0, 430, 431, 432, 0, 434, 0, 436,
437, 438, 439, 440, 441, 442, 443, 444, 445, 0,
446, 447, 448, 449, 450, 451, 452, 453, 0, 454,
455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
465, 466, 467, 468, 0, 469, 470, 471, 472, 473,
474, 475, 476, 477, 478, 479, 480, 0, 481, 482,
0, 484, 485, 486, 487, 488, 489, 490, 491, 492,
493, 494, 495, 496, 497, 498, 0, 499, 500, 501,
502, 503, 0, 504, 505, 506, 507, 508, 0, 510,
511, 512, 513, 0, 514, 515, 516, 517, 518, 519,
520, 521, 522, 523, 524, 525, 526, 527, 528, 0,
529, 530, 0, 531, 0, 533, 534, 535, 536, 537,
0, 538, 539, 540, 0, 0, 541, 542, 543, 544,
545, 0, 546, 547, 548, 549, 550, 551, 552, 0,
0, 553, 554, 555, 556, 557, 0, 0, 558, 559,
560, 561, 562, 563, 564, 0, 565, 0, 567, 568,
569, 570, 0, 0, 571, 0, 0, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 582, 583, 584,
585, 586, 587, 588, 589, 590, 591, 599, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 227, 228, 229, 230, 231, 232, 233, 234,
872, 235, 236, 237, 0, 0, 0, 0, 0, 0,
0, 238, 239, 0, 240, 241, 242, 0, 244, 245,
246, 247, 248, 0, 250, 251, 0, 252, 253, 254,
255, 256, 257, 0, 0, 258, 259, 260, 261, 262,
0, 263, 264, 265, 266, 267, 0, 0, 0, 269,
270, 271, 272, 273, 0, 275, 276, 277, 0, 278,
279, 280, 281, 282, 283, 0, 0, 285, 286, 287,
0, 0, 0, 0, 0, 0, 0, 289, 290, 291,
292, 293, 294, 295, 296, 297, 0, 298, 0, 299,
300, 301, 302, 303, 304, 0, 305, 306, 307, 308,
0, 0, 309, 310, 311, 312, 313, 0, 314, 315,
316, 0, 317, 318, 319, 0, 320, 321, 322, 323,
324, 325, 326, 327, 328, 0, 329, 0, 330, 331,
332, 333, 0, 334, 0, 335, 0, 0, 0, 338,
339, 340, 341, 0, 342, 343, 0, 344, 345, 346,
0, 347, 348, 349, 350, 873, 0, 353, 354, 355,
356, 0, 357, 358, 359, 360, 361, 362, 363, 0,
364, 0, 366, 367, 368, 369, 370, 371, 372, 0,
373, 0, 374, 0, 0, 377, 0, 379, 380, 381,
382, 383, 0, 0, 384, 385, 0, 387, 0, 0,
389, 390, 391, 0, 0, 392, 393, 394, 395, 396,
397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
407, 408, 0, 410, 411, 412, 413, 414, 0, 415,
416, 0, 418, 0, 419, 420, 421, 422, 423, 424,
0, 425, 426, 0, 0, 427, 428, 429, 0, 0,
430, 431, 432, 0, 434, 0, 436, 437, 438, 439,
440, 441, 442, 443, 444, 445, 0, 446, 447, 448,
449, 450, 451, 452, 453, 0, 454, 455, 456, 457,
458, 459, 460, 461, 462, 463, 464, 465, 466, 467,
468, 0, 469, 470, 471, 472, 473, 474, 475, 476,
477, 478, 479, 480, 0, 481, 482, 0, 484, 485,
486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
496, 497, 498, 0, 499, 500, 501, 502, 503, 0,
504, 505, 506, 507, 508, 0, 510, 511, 512, 513,
0, 514, 515, 516, 517, 518, 519, 520, 521, 522,
523, 524, 525, 526, 527, 528, 0, 529, 530, 0,
531, 0, 533, 534, 535, 536, 537, 0, 538, 539,
540, 0, 0, 541, 542, 543, 544, 545, 0, 546,
547, 548, 549, 550, 551, 552, 0, 0, 553, 554,
555, 556, 557, 0, 0, 558, 559, 560, 561, 562,
563, 564, 0, 565, 0, 567, 568, 569, 570, 0,
0, 571, 0, 0, 572, 573, 574, 575, 576, 577,
578, 579, 580, 581, 582, 583, 584, 585, 586, 587,
588, 589, 590, 591, 599, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 227,
228, 229, 230, 231, 232, 233, 234, 1043, 235, 236,
237, 0, 0, 0, 0, 0, 0, 0, 238, 239,
0, 240, 241, 242, 0, 244, 245, 246, 247, 248,
0, 250, 251, 0, 252, 253, 254, 255, 256, 257,
0, 0, 258, 259, 260, 261, 262, 0, 263, 264,
265, 266, 267, 0, 0, 0, 269, 270, 271, 272,
273, 0, 275, 276, 277, 0, 278, 279, 280, 281,
282, 283, 0, 0, 285, 286, 287, 0, 0, 0,
0, 0, 0, 0, 289, 290, 291, 292, 293, 294,
295, 296, 297, 0, 298, 0, 299, 300, 301, 302,
303, 304, 0, 305, 306, 307, 308, 0, 0, 309,
310, 311, 312, 313, 0, 314, 315, 316, 0, 317,
318, 319, 0, 320, 321, 322, 323, 324, 325, 326,
327, 328, 0, 329, 0, 330, 331, 332, 333, 0,
334, 0, 335, 0, 0, 0, 338, 339, 340, 341,
0, 342, 343, 0, 344, 345, 346, 0, 347, 348,
349, 350, 351, 0, 353, 354, 355, 356, 0, 357,
358, 359, 360, 361, 362, 363, 0, 364, 0, 366,
367, 368, 369, 370, 371, 372, 0, 373, 0, 374,
0, 0, 377, 0, 379, 380, 381, 382, 383, 0,
0, 384, 385, 0, 387, 0, 0, 389, 390, 391,
0, 0, 392, 393, 394, 395, 396, 397, 398, 399,
400, 401, 402, 403, 404, 405, 406, 407, 408, 0,
410, 411, 412, 413, 414, 0, 415, 416, 0, 418,
0, 419, 420, 421, 422, 423, 424, 0, 425, 426,
0, 0, 427, 428, 429, 0, 0, 430, 431, 432,
0, 434, 0, 436, 437, 438, 439, 440, 441, 442,
443, 444, 445, 0, 446, 447, 448, 449, 450, 451,
452, 453, 0, 454, 455, 456, 457, 458, 459, 460,
461, 462, 463, 464, 465, 466, 467, 468, 0, 469,
470, 471, 472, 473, 474, 475, 476, 477, 478, 479,
480, 0, 481, 482, 0, 484, 485, 486, 487, 488,
489, 490, 491, 492, 493, 494, 495, 496, 497, 498,
0, 499, 500, 501, 502, 503, 0, 504, 505, 506,
507, 508, 0, 510, 511, 512, 513, 0, 514, 515,
516, 517, 518, 519, 520, 521, 522, 523, 524, 525,
526, 527, 528, 0, 529, 530, 0, 531, 0, 533,
534, 535, 536, 537, 0, 538, 539, 540, 0, 0,
541, 542, 543, 544, 545, 0, 546, 547, 548, 549,
550, 551, 552, 0, 0, 553, 554, 555, 556, 557,
0, 0, 558, 559, 560, 561, 562, 563, 564, 0,
565, 0, 567, 568, 569, 570, 0, 0, 571, 0,
0, 572, 573, 574, 575, 576, 577, 578, 579, 580,
581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
591, 599, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 227, 228, 229, 230,
231, 232, 233, 234, 1315, 235, 236, 237, 0, 0,
0, 0, 0, 0, 0, 238, 239, 0, 240, 241,
242, 0, 244, 245, 246, 247, 248, 0, 250, 251,
0, 252, 253, 254, 255, 256, 257, 0, 0, 258,
259, 260, 261, 262, 0, 263, 264, 265, 266, 267,
0, 0, 0, 269, 270, 271, 272, 273, 0, 275,
276, 277, 0, 278, 279, 280, 281, 282, 283, 0,
0, 285, 286, 287, 0, 0, 0, 0, 0, 0,
0, 289, 290, 291, 292, 293, 294, 295, 296, 297,
0, 298, 0, 299, 300, 301, 302, 303, 304, 0,
305, 306, 307, 308, 0, 0, 309, 310, 311, 312,
313, 0, 314, 315, 316, 0, 317, 318, 319, 0,
320, 321, 322, 323, 324, 325, 326, 327, 328, 0,
329, 0, 330, 331, 332, 333, 0, 334, 0, 335,
0, 0, 0, 338, 339, 340, 341, 0, 342, 343,
0, 344, 345, 346, 0, 347, 348, 349, 350, 351,
0, 353, 354, 355, 356, 0, 357, 358, 359, 360,
361, 362, 363, 0, 364, 0, 366, 367, 368, 369,
370, 371, 372, 0, 373, 0, 374, 0, 0, 377,
0, 379, 380, 381, 382, 383, 0, 0, 384, 385,
0, 387, 0, 0, 389, 390, 391, 0, 0, 392,
393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
403, 404, 405, 406, 407, 408, 0, 410, 411, 412,
413, 414, 0, 415, 416, 0, 418, 0, 419, 420,
421, 422, 423, 424, 0, 425, 426, 0, 0, 427,
428, 429, 0, 0, 430, 431, 432, 0, 434, 0,
436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
0, 446, 447, 448, 449, 450, 451, 452, 453, 0,
454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
464, 465, 466, 467, 468, 0, 469, 470, 471, 472,
473, 474, 475, 476, 477, 478, 479, 480, 0, 481,
482, 0, 484, 485, 486, 487, 488, 489, 490, 491,
492, 493, 494, 495, 496, 497, 498, 0, 499, 500,
501, 502, 503, 0, 504, 505, 506, 507, 508, 0,
510, 511, 512, 513, 0, 514, 515, 516, 517, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
0, 529, 530, 0, 531, 0, 533, 534, 535, 536,
537, 0, 538, 539, 540, 0, 0, 541, 542, 543,
544, 545, 0, 546, 547, 548, 549, 550, 551, 552,
0, 0, 553, 554, 555, 556, 557, 0, 0, 558,
559, 560, 561, 562, 563, 564, 0, 565, 0, 567,
568, 569, 570, 0, 0, 571, 0, 0, 572, 573,
574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
584, 585, 586, 587, 588, 589, 590, 591, 599, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 227, 228, 229, 230, 231, 232, 233,
234, 0, 235, 236, 237, 0, 0, 0, 0, 0,
0, 0, 238, 239, 0, 240, 241, 242, 1326, 244,
245, 246, 247, 248, 0, 250, 251, 0, 252, 253,
254, 255, 256, 257, 0, 0, 788, 259, 260, 261,
1327, 0, 263, 264, 265, 266, 267, 0, 0, 0,
269, 270, 271, 272, 273, 0, 275, 276, 277, 0,
278, 279, 280, 281, 282, 283, 0, 0, 285, 286,
287, 0, 0, 0, 0, 0, 0, 0, 289, 290,
291, 292, 293, 294, 295, 296, 297, 0, 298, 0,
299, 300, 301, 302, 303, 304, 0, 305, 306, 307,
308, 0, 0, 309, 310, 311, 312, 313, 0, 314,
315, 316, 0, 317, 318, 319, 0, 320, 321, 322,
323, 324, 325, 326, 327, 328, 0, 329, 0, 330,
331, 332, 333, 0, 334, 0, 335, 0, 0, 0,
338, 339, 340, 341, 0, 342, 343, 0, 344, 345,
346, 0, 347, 348, 349, 350, 351, 0, 353, 354,
355, 356, 0, 357, 358, 359, 360, 361, 362, 363,
0, 364, 0, 366, 367, 368, 369, 370, 371, 372,
0, 373, 0, 374, 0, 0, 377, 0, 379, 380,
381, 382, 383, 0, 0, 384, 385, 0, 387, 0,
0, 389, 390, 391, 0, 0, 392, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 791, 408, 0, 410, 411, 412, 413, 414, 0,
415, 416, 0, 418, 0, 419, 420, 421, 422, 423,
424, 0, 425, 426, 0, 0, 427, 428, 429, 0,
0, 430, 431, 432, 0, 434, 0, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 446, 447,
448, 449, 450, 451, 452, 453, 0, 454, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 0, 481, 482, 0, 792,
485, 486, 487, 488, 489, 490, 491, 492, 793, 494,
495, 496, 497, 498, 0, 499, 500, 501, 502, 1319,
0, 504, 505, 506, 507, 508, 0, 510, 511, 512,
513, 0, 514, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 528, 0, 529, 530,
0, 531, 0, 533, 534, 535, 536, 537, 0, 538,
795, 540, 0, 0, 796, 542, 543, 544, 545, 0,
546, 547, 548, 549, 550, 551, 552, 0, 0, 553,
554, 555, 556, 557, 0, 0, 558, 559, 560, 561,
562, 563, 564, 0, 565, 0, 567, 568, 569, 570,
0, 0, 571, 0, 0, 572, 573, 574, 575, 576,
797, 578, 579, 580, 581, 582, 583, 584, 585, 586,
587, 588, 589, 590, 591, 599, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
227, 228, 229, 230, 231, 232, 233, 234, 0, 235,
236, 237, 0, 0, 0, 0, 0, 0, 0, 238,
239, 0, 240, 241, 242, 0, 244, 245, 246, 247,
248, 0, 250, 251, 0, 252, 253, 254, 255, 256,
257, 0, 0, 258, 259, 260, 261, 262, 0, 263,
264, 265, 266, 267, 0, 0, 0, 269, 270, 271,
272, 273, 0, 275, 276, 277, 0, 278, 279, 280,
281, 282, 283, 0, 0, 285, 286, 287, 0, 0,
0, 0, 0, 0, 0, 289, 290, 291, 292, 293,
294, 295, 296, 297, 0, 298, 0, 299, 300, 301,
302, 303, 304, 0, 305, 306, 307, 308, 0, 0,
309, 310, 311, 312, 313, 0, 314, 315, 316, 0,
317, 318, 319, 0, 320, 321, 322, 323, 324, 325,
326, 327, 328, 0, 329, 0, 330, 331, 332, 333,
0, 334, 0, 335, 0, 0, 0, 338, 339, 340,
341, 0, 342, 343, 0, 344, 345, 346, 0, 347,
348, 349, 350, 1437, 0, 353, 354, 355, 356, 0,
357, 358, 359, 360, 361, 362, 363, 0, 364, 0,
366, 367, 368, 369, 370, 371, 372, 0, 373, 0,
374, 0, 0, 377, 0, 379, 380, 381, 382, 383,
0, 0, 384, 385, 0, 387, 0, 0, 389, 390,
391, 0, 0, 392, 393, 394, 395, 396, 397, 398,
399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
0, 410, 411, 412, 413, 414, 0, 415, 416, 0,
418, 0, 419, 420, 421, 422, 423, 424, 0, 425,
426, 0, 808, 427, 428, 429, 0, 0, 430, 431,
432, 0, 434, 0, 436, 437, 438, 439, 440, 441,
442, 443, 444, 445, 0, 446, 447, 448, 449, 450,
451, 452, 453, 0, 454, 455, 456, 457, 458, 459,
460, 461, 462, 463, 464, 465, 466, 467, 468, 0,
469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
479, 480, 0, 481, 482, 0, 484, 485, 486, 487,
488, 489, 490, 491, 492, 493, 494, 495, 496, 497,
498, 0, 499, 500, 501, 502, 503, 0, 504, 505,
506, 507, 508, 0, 510, 511, 512, 513, 0, 514,
515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
525, 526, 527, 528, 0, 529, 530, 0, 531, 0,
533, 534, 535, 536, 537, 0, 538, 539, 540, 0,
0, 541, 542, 543, 544, 545, 0, 546, 547, 548,
549, 550, 551, 552, 0, 0, 553, 554, 555, 556,
557, 0, 0, 558, 559, 560, 561, 562, 563, 564,
0, 565, 0, 567, 568, 569, 570, 0, 0, 571,
0, 0, 572, 573, 574, 575, 576, 577, 578, 579,
580, 581, 582, 583, 584, 585, 586, 587, 588, 589,
590, 591, 599, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 227, 228, 229,
230, 231, 232, 233, 234, 1497, 235, 236, 237, 0,
0, 0, 0, 0, 0, 0, 238, 239, 0, 240,
241, 242, 0, 244, 245, 246, 247, 248, 0, 250,
251, 0, 252, 253, 254, 255, 256, 257, 0, 0,
258, 259, 260, 261, 262, 0, 263, 264, 265, 266,
267, 0, 0, 0, 269, 270, 271, 272, 273, 0,
275, 276, 277, 0, 278, 279, 280, 281, 282, 283,
0, 0, 285, 286, 287, 0, 0, 0, 0, 0,
0, 0, 289, 290, 291, 292, 293, 294, 295, 296,
297, 0, 298, 0, 299, 300, 301, 302, 303, 304,
0, 305, 306, 307, 308, 0, 0, 309, 310, 311,
312, 313, 0, 314, 315, 316, 0, 317, 318, 319,
0, 320, 321, 322, 323, 324, 325, 326, 327, 328,
0, 329, 0, 330, 331, 332, 333, 0, 334, 0,
335, 0, 0, 0, 338, 339, 340, 341, 0, 342,
343, 0, 344, 345, 346, 0, 347, 348, 349, 350,
1498, 0, 353, 354, 355, 356, 0, 357, 358, 359,
360, 361, 362, 363, 0, 364, 0, 366, 367, 368,
369, 370, 371, 372, 0, 373, 0, 374, 0, 0,
377, 0, 379, 380, 381, 382, 383, 0, 0, 384,
385, 0, 387, 0, 0, 389, 390, 391, 0, 0,
392, 393, 394, 395, 396, 397, 398, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 0, 410, 411,
412, 413, 414, 0, 415, 416, 0, 418, 0, 419,
420, 421, 422, 423, 424, 0, 425, 426, 0, 0,
427, 428, 429, 0, 0, 430, 431, 432, 0, 434,
0, 436, 437, 438, 439, 440, 441, 442, 443, 444,
445, 0, 446, 447, 448, 449, 450, 451, 452, 453,
0, 454, 455, 456, 457, 458, 459, 460, 461, 462,
463, 464, 465, 466, 467, 468, 0, 469, 470, 471,
472, 473, 474, 475, 476, 477, 478, 479, 480, 0,
481, 482, 0, 484, 485, 486, 487, 488, 489, 490,
491, 492, 493, 494, 495, 496, 497, 498, 0, 499,
500, 501, 502, 503, 0, 504, 505, 506, 507, 508,
0, 510, 511, 512, 513, 0, 514, 515, 516, 517,
518, 519, 520, 521, 522, 523, 524, 525, 526, 527,
528, 0, 529, 530, 0, 531, 0, 533, 534, 535,
536, 537, 0, 538, 539, 540, 0, 0, 541, 542,
543, 544, 545, 0, 546, 547, 548, 549, 550, 551,
552, 0, 0, 553, 554, 555, 556, 557, 0, 0,
558, 559, 560, 561, 562, 563, 564, 0, 565, 0,
567, 568, 569, 570, 0, 0, 571, 0, 0, 572,
573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
583, 584, 585, 586, 587, 588, 589, 590, 591, 599,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 227, 228, 229, 230, 231, 232,
233, 234, 768, 235, 236, 237, 0, 0, 0, 0,
0, 0, 0, 238, 239, 0, 240, 241, 242, 0,
244, 245, 246, 247, 248, 0, 250, 251, 0, 252,
253, 254, 255, 256, 257, 0, 0, 258, 259, 260,
261, 262, 0, 263, 264, 265, 266, 267, 0, 0,
0, 269, 270, 271, 272, 273, 0, 275, 276, 277,
0, 278, 279, 280, 281, 282, 283, 0, 0, 285,
286, 287, 0, 0, 0, 0, 0, 0, 0, 289,
290, 291, 292, 293, 294, 295, 296, 297, 0, 298,
0, 299, 300, 301, 302, 303, 304, 0, 305, 306,
307, 308, 0, 0, 309, 310, 311, 312, 313, 0,
314, 315, 316, 0, 317, 318, 319, 0, 320, 321,
322, 323, 324, 325, 326, 327, 328, 0, 329, 0,
330, 331, 332, 333, 0, 334, 0, 335, 0, 0,
0, 338, 339, 340, 341, 0, 342, 343, 0, 344,
345, 346, 0, 347, 348, 349, 350, 351, 0, 353,
354, 355, 356, 0, 357, 358, 359, 360, 361, 362,
363, 0, 364, 0, 366, 367, 368, 369, 370, 371,
372, 0, 373, 0, 374, 0, 0, 377, 0, 379,
380, 381, 382, 383, 0, 0, 384, 385, 0, 387,
0, 0, 389, 390, 391, 0, 0, 392, 393, 394,
395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
405, 406, 407, 408, 0, 410, 411, 412, 413, 414,
0, 415, 416, 0, 418, 0, 419, 420, 421, 422,
423, 424, 0, 425, 426, 0, 0, 427, 428, 429,
0, 0, 430, 431, 432, 0, 434, 0, 436, 437,
438, 439, 440, 441, 442, 443, 444, 445, 0, 446,
447, 448, 449, 450, 451, 452, 453, 0, 454, 455,
456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
466, 467, 468, 0, 469, 470, 471, 472, 473, 474,
475, 476, 477, 478, 479, 480, 0, 481, 482, 0,
484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
494, 495, 496, 497, 498, 0, 499, 500, 501, 502,
503, 0, 504, 505, 506, 507, 508, 0, 510, 511,
512, 513, 0, 514, 515, 516, 517, 518, 519, 520,
521, 522, 523, 524, 525, 526, 527, 528, 0, 529,
530, 0, 531, 0, 533, 534, 535, 536, 537, 0,
538, 539, 540, 0, 0, 541, 542, 543, 544, 545,
0, 546, 547, 548, 549, 550, 551, 552, 0, 0,
553, 554, 555, 556, 557, 0, 0, 558, 559, 560,
561, 562, 563, 564, 0, 565, 0, 567, 568, 569,
570, 0, 0, 571, 0, 0, 572, 573, 574, 575,
576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
586, 587, 588, 589, 590, 591, 599, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 227, 228, 229, 230, 231, 232, 233, 234, 0,
235, 236, 237, 0, 0, 0, 0, 0, 0, 0,
238, 239, 0, 240, 241, 242, 0, 244, 245, 246,
247, 248, 0, 250, 251, 0, 252, 253, 254, 255,
256, 257, 0, 0, 258, 259, 260, 261, 262, 0,
263, 264, 265, 266, 267, 0, 0, 0, 269, 270,
271, 272, 273, 0, 275, 276, 277, 0, 278, 279,
280, 281, 282, 283, 0, 0, 285, 286, 287, 0,
0, 0, 0, 0, 0, 0, 289, 290, 291, 292,
293, 294, 295, 296, 297, 0, 298, 0, 299, 300,
301, 302, 303, 304, 0, 305, 306, 307, 308, 0,
0, 309, 310, 311, 312, 313, 0, 314, 315, 316,
0, 317, 318, 319, 0, 320, 321, 322, 323, 324,
325, 326, 327, 328, 0, 329, 0, 330, 331, 332,
333, 0, 334, 0, 335, 0, 0, 0, 338, 339,
340, 2841, 0, 342, 343, 0, 344, 345, 346, 0,
347, 348, 349, 350, 351, 0, 353, 354, 355, 356,
0, 357, 358, 359, 360, 361, 362, 363, 0, 364,
0, 366, 367, 368, 369, 370, 371, 372, 0, 373,
0, 374, 0, 0, 377, 0, 379, 380, 381, 382,
383, 0, 0, 384, 385, 0, 387, 0, 0, 389,
390, 2842, 0, 0, 392, 393, 394, 395, 396, 397,
398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
408, 0, 410, 411, 412, 413, 414, 0, 415, 416,
0, 418, 0, 419, 420, 421, 422, 423, 424, 0,
425, 426, 0, 0, 427, 428, 429, 0, 0, 430,
431, 432, 0, 434, 0, 436, 437, 438, 439, 440,
441, 442, 443, 444, 445, 0, 446, 447, 448, 449,
450, 451, 452, 453, 0, 454, 455, 456, 457, 458,
459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
0, 469, 470, 471, 472, 473, 474, 475, 476, 477,
478, 479, 480, 0, 481, 482, 0, 484, 485, 486,
487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
497, 498, 0, 499, 500, 501, 502, 503, 0, 504,
505, 506, 507, 508, 0, 510, 511, 512, 513, 0,
514, 515, 516, 517, 518, 519, 520, 521, 522, 523,
524, 525, 526, 527, 528, 0, 529, 530, 2843, 531,
0, 533, 2844, 535, 2845, 537, 0, 538, 539, 540,
0, 0, 541, 542, 543, 544, 545, 0, 546, 547,
548, 549, 550, 551, 552, 0, 0, 553, 554, 2846,
556, 557, 0, 0, 558, 559, 560, 561, 562, 563,
564, 0, 565, 0, 567, 568, 569, 570, 0, 0,
571, 0, 0, 572, 573, 574, 575, 576, 577, 578,
579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
589, 590, 591, 599, 0, 659, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 227, 228,
229, 230, 231, 232, 233, 234, 0, 235, 236, 237,
0, 0, 0, 0, 0, 0, 0, 238, 239, 0,
240, 241, 242, 0, 244, 245, 246, 247, 248, 0,
250, 251, 0, 252, 253, 254, 255, 256, 257, 0,
0, 258, 259, 260, 261, 262, 0, 263, 264, 265,
266, 267, 0, 0, 0, 269, 270, 271, 272, 273,
0, 275, 276, 277, 0, 278, 279, 280, 281, 282,
283, 0, 0, 285, 286, 287, 0, 0, 0, 0,
0, 0, 0, 289, 290, 291, 292, 293, 294, 295,
296, 297, 0, 298, 0, 299, 300, 301, 302, 303,
304, 0, 305, 306, 307, 308, 0, 0, 309, 310,
311, 312, 313, 0, 314, 315, 316, 0, 317, 318,
319, 0, 320, 321, 322, 323, 324, 325, 326, 327,
328, 0, 329, 0, 330, 331, 332, 333, 0, 334,
0, 335, 0, 0, 0, 338, 339, 340, 341, 0,
342, 343, 0, 344, 345, 346, 0, 347, 348, 349,
350, 351, 0, 353, 354, 355, 356, 0, 357, 358,
359, 360, 361, 362, 363, 0, 364, 0, 366, 367,
368, 369, 370, 371, 372, 0, 373, 0, 374, 0,
0, 377, 0, 379, 380, 381, 382, 383, 0, 0,
384, 385, 0, 387, 0, 0, 389, 390, 391, 0,
0, 392, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 0, 410,
411, 412, 413, 414, 0, 415, 416, 0, 418, 0,
419, 420, 421, 422, 423, 424, 0, 425, 426, 0,
0, 427, 428, 429, 0, 0, 430, 431, 432, 0,
434, 0, 436, 437, 438, 439, 440, 441, 442, 443,
444, 445, 0, 446, 447, 448, 449, 450, 451, 452,
453, 0, 454, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 0, 469, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
0, 481, 482, 0, 484, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 496, 497, 498, 0,
499, 500, 501, 502, 503, 0, 504, 505, 506, 507,
508, 0, 510, 511, 512, 513, 0, 514, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 528, 0, 529, 530, 0, 531, 0, 533, 534,
535, 536, 537, 0, 538, 539, 540, 0, 0, 541,
542, 543, 544, 545, 0, 546, 547, 548, 549, 550,
551, 552, 0, 0, 553, 554, 555, 556, 557, 0,
0, 558, 559, 560, 561, 562, 563, 564, 0, 565,
0, 567, 568, 569, 570, 0, 0, 571, 0, 0,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 584, 585, 586, 587, 588, 589, 590, 591,
599, 0, 0, 0, 0, 0, 719, 0, 0, 0,
0, 0, 0, 0, 0, 227, 228, 229, 230, 231,
232, 233, 234, 0, 235, 236, 237, 0, 0, 0,
0, 0, 0, 0, 238, 239, 0, 240, 241, 242,
0, 244, 245, 246, 247, 248, 0, 250, 251, 0,
252, 253, 254, 255, 256, 257, 0, 0, 258, 259,
260, 261, 262, 0, 263, 264, 265, 266, 267, 0,
0, 0, 269, 270, 271, 272, 273, 0, 275, 276,
277, 0, 278, 279, 280, 281, 282, 283, 0, 0,
285, 286, 287, 0, 0, 0, 0, 0, 0, 0,
289, 290, 291, 292, 293, 294, 295, 296, 297, 0,
298, 0, 299, 300, 301, 302, 303, 304, 0, 305,
306, 307, 308, 0, 0, 309, 310, 311, 312, 313,
0, 314, 315, 316, 0, 317, 318, 319, 0, 320,
321, 322, 323, 324, 325, 326, 327, 328, 0, 329,
0, 330, 331, 332, 333, 0, 334, 0, 335, 0,
0, 0, 338, 339, 340, 341, 0, 342, 343, 0,
344, 345, 346, 0, 347, 348, 349, 350, 351, 0,
353, 354, 355, 356, 0, 357, 358, 359, 360, 361,
362, 363, 0, 364, 0, 366, 367, 368, 369, 370,
371, 372, 0, 373, 0, 374, 0, 0, 377, 0,
379, 380, 381, 382, 383, 0, 0, 384, 385, 0,
387, 0, 0, 389, 390, 391, 0, 0, 392, 393,
394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 0, 410, 411, 412, 413,
414, 0, 415, 416, 0, 418, 0, 419, 420, 421,
422, 423, 424, 0, 425, 426, 0, 0, 427, 428,
429, 0, 0, 430, 431, 432, 0, 434, 0, 436,
437, 438, 439, 440, 441, 442, 443, 444, 445, 0,
446, 447, 448, 449, 450, 451, 452, 453, 0, 454,
455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
465, 466, 467, 468, 0, 469, 470, 471, 472, 473,
474, 475, 476, 477, 478, 479, 480, 0, 481, 482,
0, 484, 485, 486, 487, 488, 489, 490, 491, 492,
493, 494, 495, 496, 497, 498, 0, 499, 500, 501,
502, 503, 0, 504, 505, 506, 507, 508, 0, 510,
511, 512, 513, 0, 514, 515, 516, 517, 518, 519,
520, 521, 522, 523, 524, 525, 526, 527, 528, 0,
529, 530, 0, 531, 0, 533, 534, 535, 536, 537,
0, 538, 539, 540, 0, 0, 541, 542, 543, 544,
545, 0, 546, 547, 548, 549, 550, 551, 552, 0,
0, 553, 554, 555, 556, 557, 0, 0, 558, 559,
560, 561, 562, 563, 564, 0, 565, 0, 567, 568,
569, 570, 0, 0, 571, 0, 0, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 582, 583, 584,
585, 586, 587, 588, 589, 590, 591, 599, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 227, 228, 229, 230, 231, 232, 233, 234,
0, 235, 236, 237, 0, 0, 0, 0, 0, 4106,
0, 238, 239, 0, 240, 241, 242, 0, 244, 245,
246, 247, 248, 0, 250, 251, 0, 252, 253, 254,
255, 256, 257, 0, 0, 258, 259, 260, 261, 262,
0, 263, 264, 265, 266, 267, 0, 0, 0, 269,
270, 271, 272, 273, 0, 275, 276, 277, 0, 278,
279, 280, 281, 282, 283, 0, 0, 285, 286, 287,
0, 0, 0, 0, 0, 0, 0, 289, 290, 291,
292, 293, 294, 295, 296, 297, 0, 298, 0, 299,
300, 301, 302, 303, 304, 0, 305, 306, 307, 308,
0, 0, 309, 310, 311, 312, 313, 0, 314, 315,
316, 0, 317, 318, 319, 0, 320, 321, 322, 323,
324, 325, 326, 327, 328, 0, 329, 0, 330, 331,
332, 333, 0, 334, 0, 335, 0, 0, 0, 338,
339, 340, 341, 0, 342, 343, 0, 344, 345, 346,
0, 347, 348, 349, 350, 351, 0, 353, 354, 355,
356, 0, 357, 358, 359, 360, 361, 362, 363, 0,
364, 0, 366, 367, 368, 369, 370, 371, 372, 0,
373, 0, 374, 0, 0, 377, 0, 379, 380, 381,
382, 383, 0, 0, 384, 385, 0, 387, 0, 0,
389, 390, 391, 0, 0, 392, 393, 394, 395, 396,
397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
407, 408, 0, 410, 411, 412, 413, 414, 0, 415,
416, 0, 418, 0, 419, 420, 421, 422, 423, 424,
0, 425, 426, 0, 0, 427, 428, 429, 0, 0,
430, 431, 432, 0, 434, 0, 436, 437, 438, 439,
440, 441, 442, 443, 444, 445, 0, 446, 447, 448,
449, 450, 451, 452, 453, 0, 454, 455, 456, 457,
458, 459, 460, 461, 462, 463, 464, 465, 466, 467,
468, 0, 469, 470, 471, 472, 473, 474, 475, 476,
477, 478, 479, 480, 0, 481, 482, 0, 484, 485,
486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
496, 497, 498, 0, 499, 500, 501, 502, 503, 0,
504, 505, 506, 507, 508, 0, 510, 511, 512, 513,
0, 514, 515, 516, 517, 518, 519, 520, 521, 522,
523, 524, 525, 526, 527, 528, 0, 529, 530, 0,
531, 0, 533, 534, 535, 536, 537, 0, 538, 539,
540, 0, 0, 541, 542, 543, 544, 545, 0, 546,
547, 548, 549, 550, 551, 552, 0, 0, 553, 554,
555, 556, 557, 0, 0, 558, 559, 560, 561, 562,
563, 564, 0, 565, 0, 567, 568, 569, 570, 0,
0, 571, 0, 0, 572, 573, 574, 575, 576, 577,
578, 579, 580, 581, 582, 583, 584, 585, 586, 587,
588, 589, 590, 591, 599, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 227,
228, 229, 230, 231, 232, 233, 234, 0, 235, 236,
237, 0, 0, 0, 0, 0, 4120, 0, 238, 239,
0, 240, 241, 242, 0, 244, 245, 246, 247, 248,
0, 250, 251, 0, 252, 253, 254, 255, 256, 257,
0, 0, 258, 259, 260, 261, 262, 0, 263, 264,
265, 266, 267, 0, 0, 0, 269, 270, 271, 272,
273, 0, 275, 276, 277, 0, 278, 279, 280, 281,
282, 283, 0, 0, 285, 286, 287, 0, 0, 0,
0, 0, 0, 0, 289, 290, 291, 292, 293, 294,
295, 296, 297, 0, 298, 0, 299, 300, 301, 302,
303, 304, 0, 305, 306, 307, 308, 0, 0, 309,
310, 311, 312, 313, 0, 314, 315, 316, 0, 317,
318, 319, 0, 320, 321, 322, 323, 324, 325, 326,
327, 328, 0, 329, 0, 330, 331, 332, 333, 0,
334, 0, 335, 0, 0, 0, 338, 339, 340, 341,
0, 342, 343, 0, 344, 345, 346, 0, 347, 348,
349, 350, 351, 0, 353, 354, 355, 356, 0, 357,
358, 359, 360, 361, 362, 363, 0, 364, 0, 366,
367, 368, 369, 370, 371, 372, 0, 373, 0, 374,
0, 0, 377, 0, 379, 380, 381, 382, 383, 0,
0, 384, 385, 0, 387, 0, 0, 389, 390, 391,
0, 0, 392, 393, 394, 395, 396, 397, 398, 399,
400, 401, 402, 403, 404, 405, 406, 407, 408, 0,
410, 411, 412, 413, 414, 0, 415, 416, 0, 418,
0, 419, 420, 421, 422, 423, 424, 0, 425, 426,
0, 0, 427, 428, 429, 0, 0, 430, 431, 432,
0, 434, 0, 436, 437, 438, 439, 440, 441, 442,
443, 444, 445, 0, 446, 447, 448, 449, 450, 451,
452, 453, 0, 454, 455, 456, 457, 458, 459, 460,
461, 462, 463, 464, 465, 466, 467, 468, 0, 469,
470, 471, 472, 473, 474, 475, 476, 477, 478, 479,
480, 0, 481, 482, 0, 484, 485, 486, 487, 488,
489, 490, 491, 492, 493, 494, 495, 496, 497, 498,
0, 499, 500, 501, 502, 503, 0, 504, 505, 506,
507, 508, 0, 510, 511, 512, 513, 0, 514, 515,
516, 517, 518, 519, 520, 521, 522, 523, 524, 525,
526, 527, 528, 0, 529, 530, 0, 531, 0, 533,
534, 535, 536, 537, 0, 538, 539, 540, 0, 0,
541, 542, 543, 544, 545, 0, 546, 547, 548, 549,
550, 551, 552, 0, 0, 553, 554, 555, 556, 557,
0, 0, 558, 559, 560, 561, 562, 563, 564, 0,
565, 0, 567, 568, 569, 570, 0, 0, 571, 0,
0, 572, 573, 574, 575, 576, 577, 578, 579, 580,
581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
591, 599, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 227, 228, 229, 230,
231, 232, 233, 234, 0, 235, 236, 237, 0, 0,
0, 0, 0, 0, 0, 238, 239, 0, 240, 241,
242, 0, 244, 245, 246, 247, 248, 0, 250, 251,
0, 252, 253, 254, 255, 256, 257, 0, 0, 258,
259, 260, 261, 262, 0, 263, 264, 265, 266, 267,
0, 0, 0, 269, 270, 271, 272, 273, 0, 275,
276, 277, 0, 278, 279, 280, 281, 282, 283, 0,
0, 285, 286, 287, 0, 0, 0, 0, 0, 0,
0, 289, 290, 291, 292, 293, 294, 295, 296, 297,
0, 298, 0, 299, 300, 301, 302, 303, 304, 0,
305, 306, 307, 308, 0, 0, 309, 310, 311, 312,
313, 0, 314, 315, 316, 0, 317, 318, 319, 0,
320, 321, 322, 323, 324, 325, 326, 327, 328, 0,
329, 0, 330, 331, 332, 333, 0, 334, 0, 335,
0, 0, 0, 338, 339, 340, 341, 0, 342, 343,
0, 344, 345, 346, 0, 347, 348, 349, 350, 351,
0, 353, 354, 355, 356, 0, 357, 358, 359, 360,
361, 362, 363, 0, 364, 0, 366, 367, 368, 369,
370, 371, 372, 0, 373, 0, 374, 0, 0, 377,
0, 379, 380, 381, 382, 383, 0, 0, 384, 385,
0, 387, 0, 0, 389, 390, 391, 0, 0, 392,
393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
403, 404, 405, 406, 407, 408, 0, 410, 411, 412,
413, 414, 0, 415, 416, 0, 418, 0, 419, 420,
421, 422, 423, 424, 0, 425, 426, 0, 0, 427,
428, 429, 0, 0, 430, 431, 432, 0, 434, 0,
436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
0, 446, 447, 448, 449, 450, 451, 452, 453, 0,
454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
464, 465, 466, 467, 468, 0, 469, 470, 471, 472,
473, 474, 475, 476, 477, 478, 479, 480, 0, 481,
482, 0, 484, 485, 486, 487, 488, 489, 490, 491,
492, 493, 494, 495, 496, 497, 498, 0, 499, 500,
501, 502, 503, 0, 504, 505, 506, 507, 508, 0,
510, 511, 512, 513, 0, 514, 515, 516, 517, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
0, 529, 530, 0, 531, 0, 533, 534, 535, 536,
537, 0, 538, 539, 540, 0, 0, 541, 542, 543,
544, 545, 0, 546, 547, 548, 549, 550, 551, 552,
0, 0, 553, 554, 555, 556, 557, 0, 0, 558,
559, 560, 561, 562, 563, 564, 0, 565, 0, 567,
568, 569, 570, 0, 0, 571, 0, 0, 572, 573,
574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
584, 585, 586, 587, 588, 589, 590, 591, 599, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 227, 228, 229, 230, 231, 232, 233,
234, 0, 235, 236, 237, 0, 0, 0, 0, 0,
0, 0, 238, 239, 0, 240, 241, 242, 0, 244,
245, 246, 247, 248, 0, 250, 251, 0, 252, 253,
254, 255, 256, 257, 0, 0, 258, 259, 260, 261,
262, 0, 263, 264, 265, 266, 267, 0, 0, 0,
269, 270, 271, 272, 273, 0, 275, 276, 277, 0,
278, 279, 280, 281, 282, 283, 0, 0, 285, 286,
287, 0, 0, 0, 0, 0, 0, 0, 289, 290,
291, 292, 293, 294, 295, 296, 297, 0, 298, 0,
299, 300, 301, 302, 303, 304, 0, 305, 306, 307,
308, 0, 0, 309, 310, 311, 312, 313, 0, 314,
315, 316, 0, 317, 318, 319, 0, 320, 321, 322,
323, 324, 325, 326, 327, 328, 0, 329, 0, 330,
331, 332, 333, 0, 334, 0, 335, 0, 0, 0,
338, 339, 340, 341, 0, 342, 343, 0, 344, 345,
346, 0, 347, 348, 349, 350, 351, 0, 353, 354,
355, 356, 0, 357, 358, 359, 360, 361, 362, 363,
0, 364, 0, 366, 367, 368, 369, 370, 371, 372,
0, 373, 0, 374, 0, 0, 377, 0, 379, 380,
381, 382, 383, 0, 0, 384, 385, 0, 387, 0,
0, 389, 390, 391, 0, 0, 392, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 0, 410, 411, 412, 413, 414, 0,
415, 416, 0, 418, 0, 419, 420, 421, 422, 423,
424, 0, 425, 426, 0, 0, 427, 428, 429, 0,
0, 430, 431, 432, 0, 434, 0, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 446, 447,
448, 449, 450, 451, 452, 453, 0, 454, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 0, 481, 482, 0, 484,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 496, 497, 498, 0, 499, 500, 501, 502, 503,
0, 504, 505, 506, 507, 508, 0, 510, 511, 512,
513, 0, 514, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 528, 0, 529, 530,
0, 531, 0, 533, 534, 535, 536, 537, 0, 538,
539, 540, 0, 0, 754, 542, 543, 544, 545, 0,
546, 547, 548, 549, 550, 551, 552, 0, 0, 553,
554, 555, 556, 557, 0, 0, 558, 559, 560, 561,
562, 563, 564, 0, 565, 0, 567, 568, 569, 570,
0, 0, 571, 0, 0, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
587, 588, 589, 590, 591, 599, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
227, 228, 229, 230, 231, 232, 233, 234, 0, 235,
236, 237, 0, 0, 0, 0, 0, 0, 0, 238,
239, 0, 240, 241, 242, 0, 244, 245, 246, 247,
248, 0, 250, 251, 0, 252, 253, 254, 255, 256,
257, 0, 0, 258, 259, 260, 261, 262, 0, 263,
264, 265, 266, 267, 0, 0, 0, 269, 270, 271,
272, 273, 0, 275, 276, 277, 0, 278, 279, 280,
281, 282, 283, 0, 0, 285, 286, 287, 0, 0,
0, 0, 0, 0, 0, 289, 290, 291, 292, 293,
294, 295, 296, 297, 0, 298, 0, 299, 300, 301,
302, 303, 304, 0, 305, 306, 307, 308, 0, 0,
309, 310, 311, 312, 313, 0, 314, 315, 316, 0,
317, 318, 319, 0, 320, 321, 322, 323, 324, 325,
326, 327, 328, 0, 329, 0, 330, 331, 332, 333,
0, 334, 0, 335, 0, 0, 0, 338, 339, 340,
341, 0, 342, 343, 0, 344, 345, 346, 0, 347,
348, 349, 350, 351, 0, 353, 354, 355, 356, 0,
357, 358, 359, 360, 361, 362, 363, 0, 364, 0,
366, 367, 368, 369, 370, 371, 372, 0, 373, 0,
374, 0, 0, 377, 0, 379, 380, 381, 382, 383,
0, 0, 384, 385, 0, 387, 0, 0, 389, 390,
391, 0, 0, 392, 393, 394, 395, 396, 397, 398,
399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
0, 410, 411, 412, 413, 414, 0, 415, 416, 0,
418, 0, 419, 420, 421, 422, 423, 424, 0, 425,
426, 0, 0, 427, 428, 429, 0, 0, 430, 431,
432, 0, 434, 0, 436, 437, 438, 439, 440, 441,
442, 443, 444, 445, 0, 446, 447, 448, 449, 450,
451, 452, 453, 0, 454, 455, 456, 457, 458, 459,
460, 461, 462, 463, 464, 465, 466, 467, 468, 0,
469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
479, 480, 0, 481, 482, 0, 484, 485, 486, 487,
488, 489, 490, 491, 766, 493, 494, 495, 496, 497,
498, 0, 499, 500, 501, 502, 503, 0, 504, 505,
506, 507, 508, 0, 510, 511, 512, 513, 0, 514,
515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
525, 526, 527, 528, 0, 529, 530, 0, 531, 0,
533, 534, 535, 536, 537, 0, 538, 539, 540, 0,
0, 541, 542, 543, 544, 545, 0, 546, 547, 548,
549, 550, 551, 552, 0, 0, 553, 554, 555, 556,
557, 0, 0, 558, 559, 560, 561, 562, 563, 564,
0, 565, 0, 567, 568, 569, 570, 0, 0, 571,
0, 0, 572, 573, 574, 575, 576, 577, 578, 579,
580, 581, 582, 583, 584, 585, 586, 587, 588, 589,
590, 591, 599, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 227, 228, 229,
230, 231, 232, 233, 234, 0, 235, 236, 237, 0,
0, 0, 0, 0, 0, 0, 238, 239, 0, 240,
241, 242, 0, 244, 245, 246, 247, 248, 0, 250,
251, 0, 252, 253, 254, 255, 256, 257, 0, 0,
788, 259, 260, 261, 262, 0, 263, 264, 265, 266,
267, 0, 0, 0, 269, 270, 271, 272, 273, 0,
275, 276, 277, 0, 789, 279, 280, 281, 282, 283,
0, 0, 285, 286, 287, 0, 0, 0, 0, 0,
0, 0, 289, 290, 291, 292, 293, 294, 295, 296,
297, 0, 298, 0, 299, 300, 301, 302, 303, 304,
0, 305, 306, 307, 308, 0, 0, 309, 310, 311,
312, 313, 0, 314, 315, 316, 0, 317, 318, 319,
0, 320, 321, 322, 323, 324, 325, 326, 327, 328,
0, 329, 0, 330, 331, 332, 333, 0, 334, 0,
335, 0, 0, 0, 338, 339, 340, 341, 0, 342,
343, 0, 344, 345, 346, 0, 347, 348, 349, 350,
351, 0, 353, 354, 355, 356, 0, 357, 358, 359,
360, 361, 362, 363, 0, 364, 0, 366, 367, 368,
369, 370, 371, 372, 0, 373, 0, 374, 0, 0,
377, 0, 379, 380, 381, 382, 383, 0, 0, 384,
385, 0, 387, 0, 0, 389, 390, 790, 0, 0,
392, 393, 394, 395, 396, 397, 398, 399, 400, 401,
402, 403, 404, 405, 406, 791, 408, 0, 410, 411,
412, 413, 414, 0, 415, 416, 0, 418, 0, 419,
420, 421, 422, 423, 424, 0, 425, 426, 0, 0,
427, 428, 429, 0, 0, 430, 431, 432, 0, 434,
0, 436, 437, 438, 439, 440, 441, 442, 443, 444,
445, 0, 446, 447, 448, 449, 450, 451, 452, 453,
0, 454, 455, 456, 457, 458, 459, 460, 461, 462,
463, 464, 465, 466, 467, 468, 0, 469, 470, 471,
472, 473, 474, 475, 476, 477, 478, 479, 480, 0,
481, 482, 0, 792, 485, 486, 487, 488, 489, 490,
491, 492, 793, 494, 495, 496, 497, 498, 0, 499,
500, 501, 502, 794, 0, 504, 505, 506, 507, 508,
0, 510, 511, 512, 513, 0, 514, 515, 516, 517,
518, 519, 520, 521, 522, 523, 524, 525, 526, 527,
528, 0, 529, 530, 0, 531, 0, 533, 534, 535,
536, 537, 0, 538, 795, 540, 0, 0, 796, 542,
543, 544, 545, 0, 546, 547, 548, 549, 550, 551,
552, 0, 0, 553, 554, 555, 556, 557, 0, 0,
558, 559, 560, 561, 562, 563, 564, 0, 565, 0,
567, 568, 569, 570, 0, 0, 571, 0, 0, 572,
573, 574, 575, 576, 797, 578, 579, 580, 581, 582,
583, 584, 585, 586, 587, 588, 589, 590, 591, 599,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 227, 228, 229, 230, 231, 232,
233, 234, 0, 235, 236, 237, 0, 0, 0, 0,
0, 0, 0, 238, 239, 0, 240, 241, 242, 0,
244, 245, 246, 247, 248, 0, 250, 251, 0, 252,
253, 254, 255, 256, 257, 0, 0, 258, 259, 260,
261, 262, 0, 263, 264, 265, 266, 267, 0, 0,
0, 269, 270, 271, 272, 273, 0, 275, 276, 277,
0, 278, 279, 280, 281, 282, 283, 0, 0, 285,
286, 287, 0, 0, 0, 0, 0, 0, 0, 289,
290, 291, 292, 293, 294, 295, 296, 297, 0, 298,
0, 299, 300, 301, 302, 303, 304, 0, 305, 306,
307, 308, 0, 0, 309, 310, 311, 312, 313, 0,
314, 315, 316, 0, 317, 318, 319, 0, 320, 321,
322, 323, 324, 325, 326, 327, 328, 0, 329, 0,
330, 331, 332, 333, 0, 334, 0, 335, 0, 0,
0, 338, 339, 340, 341, 0, 342, 343, 0, 344,
345, 346, 0, 347, 348, 349, 350, 351, 0, 353,
354, 355, 356, 0, 357, 358, 359, 360, 361, 362,
363, 0, 364, 0, 366, 367, 368, 369, 370, 371,
372, 0, 373, 0, 374, 0, 0, 377, 0, 379,
380, 381, 382, 383, 0, 0, 384, 385, 0, 387,
0, 0, 389, 390, 391, 0, 0, 392, 393, 394,
395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
405, 406, 407, 408, 0, 410, 411, 412, 413, 414,
0, 415, 416, 0, 418, 0, 419, 420, 421, 422,
423, 424, 0, 425, 426, 0, 0, 427, 428, 429,
0, 0, 430, 431, 432, 0, 434, 0, 436, 437,
438, 439, 440, 441, 442, 443, 444, 445, 0, 446,
447, 448, 449, 450, 451, 452, 453, 0, 454, 455,
456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
466, 819, 468, 0, 469, 470, 471, 472, 473, 474,
475, 476, 477, 478, 479, 480, 0, 481, 482, 0,
484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
494, 495, 496, 497, 498, 0, 499, 500, 501, 502,
503, 0, 504, 505, 506, 507, 508, 0, 510, 511,
512, 513, 0, 514, 515, 516, 517, 518, 519, 520,
521, 522, 523, 524, 525, 526, 527, 528, 0, 529,
530, 0, 531, 0, 533, 534, 535, 536, 537, 0,
538, 539, 540, 0, 0, 541, 542, 543, 544, 545,
0, 546, 547, 548, 549, 550, 551, 552, 0, 0,
553, 554, 555, 556, 557, 0, 0, 558, 559, 560,
561, 562, 563, 564, 0, 565, 0, 567, 568, 569,
570, 0, 0, 571, 0, 0, 572, 573, 574, 575,
576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
586, 587, 588, 589, 590, 591, 599, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 227, 228, 229, 230, 231, 232, 233, 234, 0,
235, 236, 237, 0, 0, 0, 0, 0, 0, 0,
238, 239, 0, 240, 241, 242, 0, 244, 245, 246,
247, 248, 0, 250, 251, 0, 252, 253, 254, 255,
256, 257, 0, 0, 258, 259, 260, 261, 262, 0,
263, 264, 265, 266, 267, 0, 0, 0, 269, 270,
271, 272, 273, 0, 275, 276, 277, 0, 278, 279,
280, 281, 282, 283, 0, 0, 285, 286, 287, 0,
0, 0, 0, 0, 0, 0, 289, 290, 291, 292,
293, 294, 295, 296, 297, 0, 298, 0, 299, 300,
301, 302, 303, 304, 0, 305, 306, 307, 308, 0,
0, 309, 310, 311, 312, 313, 0, 314, 315, 316,
0, 317, 318, 319, 0, 320, 321, 322, 323, 324,
325, 326, 327, 328, 0, 329, 0, 330, 331, 332,
333, 0, 334, 0, 335, 0, 0, 0, 338, 339,
340, 341, 0, 342, 343, 0, 344, 345, 346, 0,
347, 348, 349, 350, 897, 0, 353, 354, 355, 356,
0, 357, 358, 359, 360, 361, 362, 363, 0, 364,
0, 366, 367, 368, 369, 370, 371, 372, 0, 373,
0, 374, 0, 0, 377, 0, 379, 380, 381, 382,
383, 0, 0, 384, 385, 0, 387, 0, 0, 389,
390, 391, 0, 0, 392, 393, 394, 395, 396, 397,
398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
408, 0, 410, 411, 412, 413, 414, 0, 415, 416,
0, 418, 0, 419, 420, 421, 422, 423, 424, 0,
425, 426, 0, 0, 427, 428, 429, 0, 0, 430,
431, 432, 0, 434, 0, 436, 437, 438, 439, 440,
441, 442, 443, 444, 445, 0, 446, 447, 448, 449,
450, 451, 452, 453, 0, 454, 455, 456, 457, 458,
459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
0, 469, 470, 471, 472, 473, 474, 475, 476, 477,
478, 479, 480, 0, 481, 482, 0, 484, 485, 486,
487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
497, 498, 0, 499, 500, 501, 502, 503, 0, 504,
505, 506, 507, 508, 0, 510, 511, 512, 513, 0,
514, 515, 516, 517, 518, 519, 520, 521, 522, 523,
524, 525, 526, 527, 528, 0, 529, 530, 0, 531,
0, 533, 534, 535, 536, 537, 0, 538, 539, 540,
0, 0, 541, 542, 543, 544, 545, 0, 546, 547,
548, 549, 550, 551, 552, 0, 0, 553, 554, 555,
556, 557, 0, 0, 558, 559, 560, 561, 562, 563,
564, 0, 565, 0, 567, 568, 569, 570, 0, 0,
571, 0, 0, 572, 573, 574, 575, 576, 577, 578,
579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
589, 590, 591, 599, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 227, 228,
229, 230, 231, 232, 233, 234, 0, 235, 236, 237,
0, 0, 0, 0, 0, 0, 0, 238, 239, 0,
240, 241, 242, 0, 244, 245, 246, 247, 248, 0,
250, 251, 0, 252, 253, 254, 255, 256, 257, 0,
0, 258, 259, 260, 261, 262, 0, 263, 264, 265,
266, 267, 0, 0, 0, 269, 270, 271, 272, 273,
0, 275, 276, 277, 0, 278, 279, 280, 281, 282,
283, 0, 0, 285, 286, 287, 0, 0, 0, 0,
0, 0, 0, 289, 290, 291, 292, 293, 294, 295,
296, 297, 0, 298, 0, 299, 300, 301, 302, 303,
304, 0, 305, 306, 307, 308, 0, 0, 309, 310,
311, 312, 313, 0, 314, 315, 316, 0, 317, 318,
319, 0, 320, 321, 322, 323, 324, 325, 326, 327,
328, 0, 329, 0, 330, 331, 332, 333, 0, 334,
0, 335, 0, 0, 0, 338, 339, 340, 341, 0,
342, 343, 0, 344, 345, 346, 0, 347, 348, 349,
350, 907, 0, 353, 354, 355, 356, 0, 357, 358,
359, 360, 361, 362, 363, 0, 364, 0, 366, 367,
368, 369, 370, 371, 372, 0, 373, 0, 374, 0,
0, 377, 0, 379, 380, 381, 382, 383, 0, 0,
384, 385, 0, 387, 0, 0, 389, 390, 391, 0,
0, 392, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 0, 410,
411, 412, 413, 414, 0, 415, 416, 0, 418, 0,
419, 420, 421, 422, 423, 424, 0, 425, 426, 0,
0, 427, 428, 429, 0, 0, 430, 431, 432, 0,
434, 0, 436, 437, 438, 439, 440, 441, 442, 443,
444, 445, 0, 446, 447, 448, 449, 450, 451, 452,
453, 0, 454, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 0, 469, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
0, 481, 482, 0, 484, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 496, 497, 498, 0,
499, 500, 501, 502, 503, 0, 504, 505, 506, 507,
508, 0, 510, 511, 512, 513, 0, 514, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 528, 0, 529, 530, 0, 531, 0, 533, 534,
535, 536, 537, 0, 538, 539, 540, 0, 0, 541,
542, 543, 544, 545, 0, 546, 547, 548, 549, 550,
551, 552, 0, 0, 553, 554, 555, 556, 557, 0,
0, 558, 559, 560, 561, 562, 563, 564, 0, 565,
0, 567, 568, 569, 570, 0, 0, 571, 0, 0,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 584, 585, 586, 587, 588, 589, 590, 591,
599, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 227, 228, 229, 230, 231,
232, 233, 234, 0, 235, 236, 237, 0, 0, 0,
0, 0, 0, 0, 238, 239, 0, 240, 241, 242,
0, 244, 245, 246, 247, 248, 0, 250, 251, 0,
252, 253, 254, 255, 256, 257, 0, 0, 258, 259,
260, 261, 262, 0, 263, 264, 265, 266, 267, 0,
0, 0, 269, 270, 271, 272, 273, 0, 275, 276,
277, 0, 278, 279, 280, 281, 282, 283, 0, 0,
285, 286, 287, 0, 0, 0, 0, 0, 0, 0,
289, 290, 291, 292, 293, 294, 295, 296, 297, 0,
298, 0, 299, 300, 301, 302, 303, 304, 0, 305,
306, 307, 308, 0, 0, 309, 310, 311, 312, 313,
0, 314, 315, 316, 0, 317, 318, 319, 0, 320,
321, 322, 323, 324, 325, 326, 327, 328, 0, 329,
0, 330, 331, 332, 333, 0, 334, 0, 335, 0,
0, 0, 338, 339, 340, 341, 0, 342, 343, 0,
344, 345, 346, 0, 347, 348, 349, 350, 925, 0,
353, 354, 355, 356, 0, 357, 358, 359, 360, 361,
362, 363, 0, 364, 0, 366, 367, 368, 369, 370,
371, 372, 0, 373, 0, 374, 0, 0, 377, 0,
379, 380, 381, 382, 383, 0, 0, 384, 385, 0,
387, 0, 0, 389, 390, 391, 0, 0, 392, 393,
394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 0, 410, 411, 412, 413,
414, 0, 415, 416, 0, 418, 0, 419, 420, 421,
422, 423, 424, 0, 425, 426, 0, 0, 427, 428,
429, 0, 0, 430, 431, 432, 0, 434, 0, 436,
437, 438, 439, 440, 441, 442, 443, 444, 445, 0,
446, 447, 448, 449, 450, 451, 452, 453, 0, 454,
455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
465, 466, 467, 468, 0, 469, 470, 471, 472, 473,
474, 475, 476, 477, 478, 479, 480, 0, 481, 482,
0, 484, 485, 486, 487, 488, 489, 490, 491, 492,
493, 494, 495, 496, 497, 498, 0, 499, 500, 501,
502, 503, 0, 504, 505, 506, 507, 508, 0, 510,
511, 512, 513, 0, 514, 515, 516, 517, 518, 519,
520, 521, 522, 523, 524, 525, 526, 527, 528, 0,
529, 530, 0, 531, 0, 533, 534, 535, 536, 537,
0, 538, 539, 540, 0, 0, 541, 542, 543, 544,
545, 0, 546, 547, 548, 549, 550, 551, 552, 0,
0, 553, 554, 555, 556, 557, 0, 0, 558, 559,
560, 561, 562, 563, 564, 0, 565, 0, 567, 568,
569, 570, 0, 0, 571, 0, 0, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 582, 583, 584,
585, 586, 587, 588, 589, 590, 591, 599, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 227, 228, 229, 230, 231, 232, 233, 234,
0, 235, 236, 237, 0, 0, 0, 0, 0, 0,
0, 238, 239, 0, 240, 241, 242, 0, 244, 245,
246, 247, 248, 0, 250, 251, 0, 252, 253, 254,
255, 256, 257, 0, 0, 258, 259, 260, 261, 262,
0, 263, 264, 265, 266, 267, 0, 0, 0, 269,
270, 271, 272, 273, 0, 275, 276, 277, 0, 278,
279, 280, 281, 282, 283, 0, 0, 285, 286, 287,
0, 0, 0, 0, 0, 0, 0, 289, 290, 291,
292, 293, 294, 295, 296, 297, 0, 298, 0, 299,
300, 301, 302, 303, 304, 0, 305, 306, 307, 308,
0, 0, 309, 310, 311, 312, 313, 0, 314, 315,
316, 0, 317, 318, 319, 0, 320, 321, 322, 323,
324, 325, 326, 327, 328, 0, 329, 0, 330, 331,
332, 333, 0, 334, 0, 335, 0, 0, 0, 338,
339, 340, 341, 0, 342, 343, 0, 344, 345, 346,
0, 347, 348, 349, 350, 992, 0, 353, 354, 355,
356, 0, 357, 358, 359, 360, 361, 362, 363, 0,
364, 0, 366, 367, 368, 369, 370, 371, 372, 0,
373, 0, 374, 0, 0, 377, 0, 379, 380, 381,
382, 383, 0, 0, 384, 385, 0, 387, 0, 0,
389, 390, 391, 0, 0, 392, 393, 394, 395, 396,
397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
407, 408, 0, 410, 411, 412, 413, 414, 0, 415,
416, 0, 418, 0, 419, 420, 421, 422, 423, 424,
0, 425, 426, 0, 0, 427, 428, 429, 0, 0,
430, 431, 432, 0, 434, 0, 436, 437, 438, 439,
440, 441, 442, 443, 444, 445, 0, 446, 447, 448,
449, 450, 451, 452, 453, 0, 454, 455, 456, 457,
458, 459, 460, 461, 462, 463, 464, 465, 466, 467,
468, 0, 469, 470, 471, 472, 473, 474, 475, 476,
477, 478, 479, 480, 0, 481, 482, 0, 484, 485,
486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
496, 497, 498, 0, 499, 500, 501, 502, 503, 0,
504, 505, 506, 507, 508, 0, 510, 511, 512, 513,
0, 514, 515, 516, 517, 518, 519, 520, 521, 522,
523, 524, 525, 526, 527, 528, 0, 529, 530, 0,
531, 0, 533, 534, 535, 536, 537, 0, 538, 539,
540, 0, 0, 541, 542, 543, 544, 545, 0, 546,
547, 548, 549, 550, 551, 552, 0, 0, 553, 554,
555, 556, 557, 0, 0, 558, 559, 560, 561, 562,
563, 564, 0, 565, 0, 567, 568, 569, 570, 0,
0, 571, 0, 0, 572, 573, 574, 575, 576, 577,
578, 579, 580, 581, 582, 583, 584, 585, 586, 587,
588, 589, 590, 591, 599, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 227,
228, 229, 230, 231, 232, 233, 234, 0, 235, 236,
237, 0, 0, 0, 0, 0, 0, 0, 238, 239,
0, 240, 241, 242, 0, 244, 245, 246, 247, 248,
0, 250, 251, 0, 252, 253, 254, 255, 256, 257,
0, 0, 258, 259, 260, 261, 262, 0, 263, 264,
265, 266, 267, 0, 0, 0, 269, 270, 271, 272,
273, 0, 275, 276, 277, 0, 278, 279, 280, 281,
282, 283, 0, 0, 285, 286, 287, 0, 0, 0,
0, 0, 0, 0, 289, 290, 291, 292, 293, 294,
295, 296, 297, 0, 298, 0, 299, 300, 301, 302,
303, 304, 0, 305, 306, 307, 308, 0, 0, 309,
310, 311, 312, 313, 0, 314, 315, 316, 0, 317,
318, 319, 0, 320, 321, 322, 323, 324, 325, 326,
327, 328, 0, 329, 0, 330, 331, 332, 333, 0,
334, 0, 335, 0, 0, 0, 338, 339, 340, 341,
0, 342, 343, 0, 344, 345, 346, 0, 347, 348,
349, 350, 998, 0, 353, 354, 355, 356, 0, 357,
358, 359, 360, 361, 362, 363, 0, 364, 0, 366,
367, 368, 369, 370, 371, 372, 0, 373, 0, 374,
0, 0, 377, 0, 379, 380, 381, 382, 383, 0,
0, 384, 385, 0, 387, 0, 0, 389, 390, 391,
0, 0, 392, 393, 394, 395, 396, 397, 398, 399,
400, 401, 402, 403, 404, 405, 406, 407, 408, 0,
410, 411, 412, 413, 414, 0, 415, 416, 0, 418,
0, 419, 420, 421, 422, 423, 424, 0, 425, 426,
0, 0, 427, 428, 429, 0, 0, 430, 431, 432,
0, 434, 0, 436, 437, 438, 439, 440, 441, 442,
443, 444, 445, 0, 446, 447, 448, 449, 450, 451,
452, 453, 0, 454, 455, 456, 457, 458, 459, 460,
461, 462, 463, 464, 465, 466, 467, 468, 0, 469,
470, 471, 472, 473, 474, 475, 476, 477, 478, 479,
480, 0, 481, 482, 0, 484, 485, 486, 487, 488,
489, 490, 491, 492, 493, 494, 495, 496, 497, 498,
0, 499, 500, 501, 502, 503, 0, 504, 505, 506,
507, 508, 0, 510, 511, 512, 513, 0, 514, 515,
516, 517, 518, 519, 520, 521, 522, 523, 524, 525,
526, 527, 528, 0, 529, 530, 0, 531, 0, 533,
534, 535, 536, 537, 0, 538, 539, 540, 0, 0,
541, 542, 543, 544, 545, 0, 546, 547, 548, 549,
550, 551, 552, 0, 0, 553, 554, 555, 556, 557,
0, 0, 558, 559, 560, 561, 562, 563, 564, 0,
565, 0, 567, 568, 569, 570, 0, 0, 571, 0,
0, 572, 573, 574, 575, 576, 577, 578, 579, 580,
581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
591, 599, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 227, 228, 229, 230,
231, 232, 233, 234, 0, 235, 236, 237, 0, 0,
0, 0, 0, 0, 0, 238, 239, 0, 240, 241,
242, 0, 244, 245, 246, 247, 248, 0, 250, 251,
0, 252, 253, 254, 255, 256, 257, 0, 0, 258,
259, 260, 261, 262, 0, 263, 264, 265, 266, 267,
0, 0, 0, 269, 270, 271, 272, 273, 0, 275,
276, 277, 0, 278, 279, 280, 281, 282, 283, 0,
0, 285, 286, 287, 0, 0, 0, 0, 0, 0,
0, 289, 290, 291, 292, 293, 294, 295, 296, 297,
0, 298, 0, 299, 300, 301, 302, 303, 304, 0,
305, 306, 307, 308, 0, 0, 309, 310, 311, 312,
313, 0, 314, 315, 316, 0, 317, 318, 319, 0,
320, 321, 322, 323, 324, 325, 326, 327, 328, 0,
329, 0, 330, 331, 332, 333, 0, 334, 0, 335,
0, 0, 0, 338, 339, 340, 341, 0, 342, 343,
0, 344, 345, 346, 0, 347, 348, 349, 350, 1015,
0, 353, 354, 355, 356, 0, 357, 358, 359, 360,
361, 362, 363, 0, 364, 0, 366, 367, 368, 369,
370, 371, 372, 0, 373, 0, 374, 0, 0, 377,
0, 379, 380, 381, 382, 383, 0, 0, 384, 385,
0, 387, 0, 0, 389, 390, 391, 0, 0, 392,
393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
403, 404, 405, 406, 407, 408, 0, 410, 411, 412,
413, 414, 0, 415, 416, 0, 418, 0, 419, 420,
421, 422, 423, 424, 0, 425, 426, 0, 0, 427,
428, 429, 0, 0, 430, 431, 432, 0, 434, 0,
436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
0, 446, 447, 448, 449, 450, 451, 452, 453, 0,
454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
464, 465, 466, 467, 468, 0, 469, 470, 471, 472,
473, 474, 475, 476, 477, 478, 479, 480, 0, 481,
482, 0, 484, 485, 486, 487, 488, 489, 490, 491,
492, 493, 494, 495, 496, 497, 498, 0, 499, 500,
501, 502, 503, 0, 504, 505, 506, 507, 508, 0,
510, 511, 512, 513, 0, 514, 515, 516, 517, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
0, 529, 530, 0, 531, 0, 533, 534, 535, 536,
537, 0, 538, 539, 540, 0, 0, 541, 542, 543,
544, 545, 0, 546, 547, 548, 549, 550, 551, 552,
0, 0, 553, 554, 555, 556, 557, 0, 0, 558,
559, 560, 561, 562, 563, 564, 0, 565, 0, 567,
568, 569, 570, 0, 0, 571, 0, 0, 572, 573,
574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
584, 585, 586, 587, 588, 589, 590, 591, 599, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 227, 228, 229, 230, 231, 232, 233,
234, 0, 235, 236, 237, 0, 0, 0, 0, 0,
0, 0, 238, 239, 0, 240, 241, 242, 0, 244,
245, 246, 247, 248, 0, 250, 251, 0, 252, 253,
254, 255, 256, 257, 0, 0, 258, 259, 260, 261,
262, 0, 263, 264, 265, 266, 267, 0, 0, 0,
269, 270, 271, 272, 273, 0, 275, 276, 277, 0,
278, 279, 280, 281, 282, 283, 0, 0, 285, 286,
287, 0, 0, 0, 0, 0, 0, 0, 289, 290,
291, 292, 293, 294, 295, 296, 297, 0, 298, 0,
299, 300, 301, 302, 303, 304, 0, 305, 306, 307,
308, 0, 0, 309, 310, 311, 312, 313, 0, 314,
315, 316, 0, 317, 318, 319, 0, 320, 321, 322,
323, 324, 325, 326, 327, 328, 0, 329, 0, 330,
331, 332, 333, 0, 334, 0, 335, 0, 0, 0,
338, 339, 340, 341, 0, 342, 343, 0, 344, 345,
346, 0, 347, 348, 349, 350, 1018, 0, 353, 354,
355, 356, 0, 357, 358, 359, 360, 361, 362, 363,
0, 364, 0, 366, 367, 368, 369, 370, 371, 372,
0, 373, 0, 374, 0, 0, 377, 0, 379, 380,
381, 382, 383, 0, 0, 384, 385, 0, 387, 0,
0, 389, 390, 391, 0, 0, 392, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 0, 410, 411, 412, 413, 414, 0,
415, 416, 0, 418, 0, 419, 420, 421, 422, 423,
424, 0, 425, 426, 0, 0, 427, 428, 429, 0,
0, 430, 431, 432, 0, 434, 0, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 446, 447,
448, 449, 450, 451, 452, 453, 0, 454, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 0, 481, 482, 0, 484,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 496, 497, 498, 0, 499, 500, 501, 502, 503,
0, 504, 505, 506, 507, 508, 0, 510, 511, 512,
513, 0, 514, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 528, 0, 529, 530,
0, 531, 0, 533, 534, 535, 536, 537, 0, 538,
539, 540, 0, 0, 541, 542, 543, 544, 545, 0,
546, 547, 548, 549, 550, 551, 552, 0, 0, 553,
554, 555, 556, 557, 0, 0, 558, 559, 560, 561,
562, 563, 564, 0, 565, 0, 567, 568, 569, 570,
0, 0, 571, 0, 0, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
587, 588, 589, 590, 591, 599, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
227, 228, 229, 230, 231, 232, 233, 234, 0, 235,
236, 237, 0, 0, 0, 0, 0, 0, 0, 238,
239, 0, 240, 241, 242, 0, 244, 245, 246, 247,
248, 0, 250, 251, 0, 252, 253, 254, 255, 256,
257, 0, 0, 258, 259, 260, 261, 262, 0, 263,
264, 265, 266, 267, 0, 0, 0, 269, 270, 271,
272, 273, 0, 275, 276, 277, 0, 278, 279, 280,
281, 282, 283, 0, 0, 285, 286, 287, 0, 0,
0, 0, 0, 0, 0, 289, 290, 291, 292, 293,
294, 295, 296, 297, 0, 298, 0, 299, 300, 301,
302, 303, 304, 0, 305, 306, 307, 308, 0, 0,
309, 310, 311, 312, 313, 0, 314, 315, 316, 0,
317, 318, 319, 0, 320, 321, 322, 323, 324, 325,
326, 327, 328, 0, 329, 0, 330, 331, 332, 333,
0, 334, 0, 335, 0, 0, 0, 338, 339, 340,
341, 0, 342, 343, 0, 344, 345, 346, 0, 347,
348, 349, 350, 1020, 0, 353, 354, 355, 356, 0,
357, 358, 359, 360, 361, 362, 363, 0, 364, 0,
366, 367, 368, 369, 370, 371, 372, 0, 373, 0,
374, 0, 0, 377, 0, 379, 380, 381, 382, 383,
0, 0, 384, 385, 0, 387, 0, 0, 389, 390,
391, 0, 0, 392, 393, 394, 395, 396, 397, 398,
399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
0, 410, 411, 412, 413, 414, 0, 415, 416, 0,
418, 0, 419, 420, 421, 422, 423, 424, 0, 425,
426, 0, 0, 427, 428, 429, 0, 0, 430, 431,
432, 0, 434, 0, 436, 437, 438, 439, 440, 441,
442, 443, 444, 445, 0, 446, 447, 448, 449, 450,
451, 452, 453, 0, 454, 455, 456, 457, 458, 459,
460, 461, 462, 463, 464, 465, 466, 467, 468, 0,
469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
479, 480, 0, 481, 482, 0, 484, 485, 486, 487,
488, 489, 490, 491, 492, 493, 494, 495, 496, 497,
498, 0, 499, 500, 501, 502, 503, 0, 504, 505,
506, 507, 508, 0, 510, 511, 512, 513, 0, 514,
515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
525, 526, 527, 528, 0, 529, 530, 0, 531, 0,
533, 534, 535, 536, 537, 0, 538, 539, 540, 0,
0, 541, 542, 543, 544, 545, 0, 546, 547, 548,
549, 550, 551, 552, 0, 0, 553, 554, 555, 556,
557, 0, 0, 558, 559, 560, 561, 562, 563, 564,
0, 565, 0, 567, 568, 569, 570, 0, 0, 571,
0, 0, 572, 573, 574, 575, 576, 577, 578, 579,
580, 581, 582, 583, 584, 585, 586, 587, 588, 589,
590, 591, 599, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 227, 228, 229,
230, 231, 232, 233, 234, 0, 235, 236, 237, 0,
0, 0, 0, 0, 0, 0, 238, 239, 0, 240,
241, 242, 0, 244, 245, 246, 247, 248, 0, 250,
251, 0, 252, 253, 254, 255, 256, 257, 0, 0,
258, 259, 260, 261, 262, 0, 263, 264, 265, 266,
267, 0, 0, 0, 269, 270, 271, 272, 273, 0,
275, 276, 277, 0, 278, 279, 280, 281, 282, 283,
0, 0, 285, 286, 287, 0, 0, 0, 0, 0,
0, 0, 289, 290, 291, 292, 293, 294, 295, 296,
297, 0, 298, 0, 299, 300, 301, 302, 303, 304,
0, 305, 306, 307, 308, 0, 0, 309, 310, 311,
312, 313, 0, 314, 315, 316, 0, 317, 318, 319,
0, 320, 321, 322, 323, 324, 325, 326, 327, 328,
0, 329, 0, 330, 331, 332, 333, 0, 334, 0,
335, 0, 0, 0, 338, 339, 340, 341, 0, 342,
343, 0, 344, 345, 346, 0, 347, 348, 349, 350,
1056, 0, 353, 354, 355, 356, 0, 357, 358, 359,
360, 361, 362, 363, 0, 364, 0, 366, 367, 368,
369, 370, 371, 372, 0, 373, 0, 374, 0, 0,
377, 0, 379, 380, 381, 382, 383, 0, 0, 384,
385, 0, 387, 0, 0, 389, 390, 391, 0, 0,
392, 393, 394, 395, 396, 397, 398, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 0, 410, 411,
412, 413, 414, 0, 415, 416, 0, 418, 0, 419,
420, 421, 422, 423, 424, 0, 425, 426, 0, 0,
427, 428, 429, 0, 0, 430, 431, 432, 0, 434,
0, 436, 437, 438, 439, 440, 441, 442, 443, 444,
445, 0, 446, 447, 448, 449, 450, 451, 452, 453,
0, 454, 455, 456, 457, 458, 459, 460, 461, 462,
463, 464, 465, 466, 467, 468, 0, 469, 470, 471,
472, 473, 474, 475, 476, 477, 478, 479, 480, 0,
481, 482, 0, 484, 485, 486, 487, 488, 489, 490,
491, 492, 493, 494, 495, 496, 497, 498, 0, 499,
500, 501, 502, 503, 0, 504, 505, 506, 507, 508,
0, 510, 511, 512, 513, 0, 514, 515, 516, 517,
518, 519, 520, 521, 522, 523, 524, 525, 526, 527,
528, 0, 529, 530, 0, 531, 0, 533, 534, 535,
536, 537, 0, 538, 539, 540, 0, 0, 541, 542,
543, 544, 545, 0, 546, 547, 548, 549, 550, 551,
552, 0, 0, 553, 554, 555, 556, 557, 0, 0,
558, 559, 560, 561, 562, 563, 564, 0, 565, 0,
567, 568, 569, 570, 0, 0, 571, 0, 0, 572,
573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
583, 584, 585, 586, 587, 588, 589, 590, 591, 599,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 227, 228, 229, 230, 231, 232,
233, 234, 0, 235, 236, 237, 0, 0, 0, 0,
0, 0, 0, 238, 239, 0, 240, 241, 242, 0,
244, 245, 246, 247, 248, 0, 250, 251, 0, 252,
253, 254, 255, 256, 257, 0, 0, 258, 259, 260,
261, 262, 0, 263, 264, 265, 266, 267, 0, 0,
0, 269, 270, 271, 272, 273, 0, 275, 276, 277,
0, 278, 279, 280, 281, 282, 283, 0, 0, 285,
286, 287, 0, 0, 0, 0, 0, 0, 0, 289,
290, 291, 292, 293, 294, 295, 296, 297, 0, 298,
0, 299, 300, 301, 302, 303, 304, 0, 305, 306,
307, 308, 0, 0, 309, 310, 311, 312, 313, 0,
314, 315, 316, 0, 317, 318, 319, 0, 320, 321,
322, 323, 324, 325, 326, 327, 328, 0, 329, 0,
330, 331, 332, 333, 0, 334, 0, 335, 0, 0,
0, 338, 339, 340, 341, 0, 342, 343, 0, 344,
345, 346, 0, 347, 348, 349, 350, 1120, 0, 353,
354, 355, 356, 0, 357, 358, 359, 360, 361, 362,
363, 0, 364, 0, 366, 367, 368, 369, 370, 371,
372, 0, 373, 0, 374, 0, 0, 377, 0, 379,
380, 381, 382, 383, 0, 0, 384, 385, 0, 387,
0, 0, 389, 390, 391, 0, 0, 392, 393, 394,
395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
405, 406, 407, 408, 0, 410, 411, 412, 413, 414,
0, 415, 416, 0, 418, 0, 419, 420, 421, 422,
423, 424, 0, 425, 426, 0, 0, 427, 428, 429,
0, 0, 430, 431, 432, 0, 434, 0, 436, 437,
438, 439, 440, 441, 442, 443, 444, 445, 0, 446,
447, 448, 449, 450, 451, 452, 453, 0, 454, 455,
456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
466, 467, 468, 0, 469, 470, 471, 472, 473, 474,
475, 476, 477, 478, 479, 480, 0, 481, 482, 0,
484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
494, 495, 496, 497, 498, 0, 499, 500, 501, 502,
503, 0, 504, 505, 506, 507, 508, 0, 510, 511,
512, 513, 0, 514, 515, 516, 517, 518, 519, 520,
521, 522, 523, 524, 525, 526, 527, 528, 0, 529,
530, 0, 531, 0, 533, 534, 535, 536, 537, 0,
538, 539, 540, 0, 0, 541, 542, 543, 544, 545,
0, 546, 547, 548, 549, 550, 551, 552, 0, 0,
553, 554, 555, 556, 557, 0, 0, 558, 559, 560,
561, 562, 563, 564, 0, 565, 0, 567, 568, 569,
570, 0, 0, 571, 0, 0, 572, 573, 574, 575,
576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
586, 587, 588, 589, 590, 591, 599, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 227, 228, 229, 230, 231, 232, 233, 234, 0,
235, 236, 237, 0, 0, 0, 0, 0, 0, 0,
238, 239, 0, 240, 241, 242, 0, 244, 245, 246,
247, 248, 0, 250, 251, 0, 252, 253, 254, 255,
256, 257, 0, 0, 258, 259, 260, 261, 262, 0,
263, 264, 265, 266, 267, 0, 0, 0, 269, 270,
271, 272, 273, 0, 275, 276, 277, 0, 278, 279,
280, 281, 282, 283, 0, 0, 285, 286, 287, 0,
0, 0, 0, 0, 0, 0, 289, 290, 291, 292,
293, 294, 295, 296, 297, 0, 298, 0, 299, 300,
301, 302, 303, 304, 0, 305, 306, 307, 308, 0,
0, 309, 310, 311, 312, 313, 0, 314, 315, 316,
0, 317, 318, 319, 0, 320, 321, 322, 323, 324,
325, 326, 327, 328, 0, 329, 0, 330, 331, 332,
333, 0, 334, 0, 335, 0, 0, 0, 338, 339,
340, 341, 0, 342, 343, 0, 344, 345, 346, 0,
347, 348, 349, 350, 1122, 0, 353, 354, 355, 356,
0, 357, 358, 359, 360, 361, 362, 363, 0, 364,
0, 366, 367, 368, 369, 370, 371, 372, 0, 373,
0, 374, 0, 0, 377, 0, 379, 380, 381, 382,
383, 0, 0, 384, 385, 0, 387, 0, 0, 389,
390, 391, 0, 0, 392, 393, 394, 395, 396, 397,
398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
408, 0, 410, 411, 412, 413, 414, 0, 415, 416,
0, 418, 0, 419, 420, 421, 422, 423, 424, 0,
425, 426, 0, 0, 427, 428, 429, 0, 0, 430,
431, 432, 0, 434, 0, 436, 437, 438, 439, 440,
441, 442, 443, 444, 445, 0, 446, 447, 448, 449,
450, 451, 452, 453, 0, 454, 455, 456, 457, 458,
459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
0, 469, 470, 471, 472, 473, 474, 475, 476, 477,
478, 479, 480, 0, 481, 482, 0, 484, 485, 486,
487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
497, 498, 0, 499, 500, 501, 502, 503, 0, 504,
505, 506, 507, 508, 0, 510, 511, 512, 513, 0,
514, 515, 516, 517, 518, 519, 520, 521, 522, 523,
524, 525, 526, 527, 528, 0, 529, 530, 0, 531,
0, 533, 534, 535, 536, 537, 0, 538, 539, 540,
0, 0, 541, 542, 543, 544, 545, 0, 546, 547,
548, 549, 550, 551, 552, 0, 0, 553, 554, 555,
556, 557, 0, 0, 558, 559, 560, 561, 562, 563,
564, 0, 565, 0, 567, 568, 569, 570, 0, 0,
571, 0, 0, 572, 573, 574, 575, 576, 577, 578,
579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
589, 590, 591, 599, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 227, 228,
229, 230, 231, 232, 233, 234, 0, 235, 236, 237,
0, 0, 0, 0, 0, 0, 0, 238, 239, 0,
240, 241, 242, 0, 244, 245, 246, 247, 248, 0,
250, 251, 0, 252, 253, 254, 255, 256, 257, 0,
0, 258, 259, 260, 261, 262, 0, 263, 264, 265,
266, 267, 0, 0, 0, 269, 270, 271, 272, 273,
0, 275, 276, 277, 0, 278, 279, 280, 281, 282,
283, 0, 0, 285, 286, 287, 0, 0, 0, 0,
0, 0, 0, 289, 290, 291, 292, 293, 294, 295,
296, 297, 0, 298, 0, 299, 300, 301, 302, 303,
304, 0, 305, 306, 307, 308, 0, 0, 309, 310,
311, 312, 313, 0, 314, 315, 316, 0, 317, 318,
319, 0, 320, 321, 322, 323, 324, 325, 326, 327,
328, 0, 329, 0, 330, 331, 332, 333, 0, 334,
0, 335, 0, 0, 0, 338, 339, 340, 341, 0,
342, 343, 0, 344, 345, 346, 0, 347, 348, 349,
350, 1132, 0, 353, 354, 355, 356, 0, 357, 358,
359, 360, 361, 362, 363, 0, 364, 0, 366, 367,
368, 369, 370, 371, 372, 0, 373, 0, 374, 0,
0, 377, 0, 379, 380, 381, 382, 383, 0, 0,
384, 385, 0, 387, 0, 0, 389, 390, 391, 0,
0, 392, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 0, 410,
411, 412, 413, 414, 0, 415, 416, 0, 418, 0,
419, 420, 421, 422, 423, 424, 0, 425, 426, 0,
0, 427, 428, 429, 0, 0, 430, 431, 432, 0,
434, 0, 436, 437, 438, 439, 440, 441, 442, 443,
444, 445, 0, 446, 447, 448, 449, 450, 451, 452,
453, 0, 454, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 0, 469, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
0, 481, 482, 0, 484, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 496, 497, 498, 0,
499, 500, 501, 502, 503, 0, 504, 505, 506, 507,
508, 0, 510, 511, 512, 513, 0, 514, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 528, 0, 529, 530, 0, 531, 0, 533, 534,
535, 536, 537, 0, 538, 539, 540, 0, 0, 541,
542, 543, 544, 545, 0, 546, 547, 548, 549, 550,
551, 552, 0, 0, 553, 554, 555, 556, 557, 0,
0, 558, 559, 560, 561, 562, 563, 564, 0, 565,
0, 567, 568, 569, 570, 0, 0, 571, 0, 0,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 584, 585, 586, 587, 588, 589, 590, 591,
599, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 227, 228, 229, 230, 231,
232, 233, 234, 0, 235, 236, 237, 0, 0, 0,
0, 0, 0, 0, 238, 239, 0, 240, 241, 242,
0, 244, 245, 246, 247, 248, 0, 250, 251, 0,
252, 253, 254, 255, 256, 257, 0, 0, 258, 259,
260, 261, 262, 0, 263, 264, 265, 266, 267, 0,
0, 0, 269, 270, 271, 272, 273, 0, 275, 276,
277, 0, 278, 279, 280, 281, 282, 283, 0, 0,
285, 286, 287, 0, 0, 0, 0, 0, 0, 0,
289, 290, 291, 292, 293, 294, 295, 296, 297, 0,
298, 0, 299, 300, 301, 302, 303, 304, 0, 305,
306, 307, 308, 0, 0, 309, 310, 311, 312, 313,
0, 314, 315, 316, 0, 317, 318, 319, 0, 320,
321, 322, 323, 324, 325, 326, 327, 328, 0, 329,
0, 330, 331, 332, 333, 0, 334, 0, 335, 0,
0, 0, 338, 339, 340, 341, 0, 342, 343, 0,
344, 345, 346, 0, 347, 348, 349, 350, 1135, 0,
353, 354, 355, 356, 0, 357, 358, 359, 360, 361,
362, 363, 0, 364, 0, 366, 367, 368, 369, 370,
371, 372, 0, 373, 0, 374, 0, 0, 377, 0,
379, 380, 381, 382, 383, 0, 0, 384, 385, 0,
387, 0, 0, 389, 390, 391, 0, 0, 392, 393,
394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 0, 410, 411, 412, 413,
414, 0, 415, 416, 0, 418, 0, 419, 420, 421,
422, 423, 424, 0, 425, 426, 0, 0, 427, 428,
429, 0, 0, 430, 431, 432, 0, 434, 0, 436,
437, 438, 439, 440, 441, 442, 443, 444, 445, 0,
446, 447, 448, 449, 450, 451, 452, 453, 0, 454,
455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
465, 466, 467, 468, 0, 469, 470, 471, 472, 473,
474, 475, 476, 477, 478, 479, 480, 0, 481, 482,
0, 484, 485, 486, 487, 488, 489, 490, 491, 492,
493, 494, 495, 496, 497, 498, 0, 499, 500, 501,
502, 503, 0, 504, 505, 506, 507, 508, 0, 510,
511, 512, 513, 0, 514, 515, 516, 517, 518, 519,
520, 521, 522, 523, 524, 525, 526, 527, 528, 0,
529, 530, 0, 531, 0, 533, 534, 535, 536, 537,
0, 538, 539, 540, 0, 0, 541, 542, 543, 544,
545, 0, 546, 547, 548, 549, 550, 551, 552, 0,
0, 553, 554, 555, 556, 557, 0, 0, 558, 559,
560, 561, 562, 563, 564, 0, 565, 0, 567, 568,
569, 570, 0, 0, 571, 0, 0, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 582, 583, 584,
585, 586, 587, 588, 589, 590, 591, 599, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 227, 228, 229, 230, 231, 232, 233, 234,
0, 235, 236, 237, 0, 0, 0, 0, 0, 0,
0, 238, 239, 0, 240, 241, 242, 0, 244, 245,
246, 247, 248, 0, 250, 251, 0, 252, 253, 254,
255, 256, 257, 0, 0, 258, 259, 260, 261, 262,
0, 263, 264, 265, 266, 267, 0, 0, 0, 269,
270, 271, 272, 273, 0, 275, 276, 277, 0, 278,
279, 280, 281, 282, 283, 0, 0, 285, 286, 287,
0, 0, 0, 0, 0, 0, 0, 289, 290, 291,
292, 293, 294, 295, 296, 297, 0, 298, 0, 299,
300, 301, 302, 303, 304, 0, 305, 306, 307, 308,
0, 0, 309, 310, 311, 312, 313, 0, 314, 315,
316, 0, 317, 318, 319, 0, 320, 321, 322, 323,
324, 325, 326, 327, 328, 0, 329, 0, 330, 331,
332, 333, 0, 334, 0, 335, 0, 0, 0, 338,
339, 340, 341, 0, 342, 343, 0, 344, 345, 346,
0, 347, 348, 349, 350, 1138, 0, 353, 354, 355,
356, 0, 357, 358, 359, 360, 361, 362, 363, 0,
364, 0, 366, 367, 368, 369, 370, 371, 372, 0,
373, 0, 374, 0, 0, 377, 0, 379, 380, 381,
382, 383, 0, 0, 384, 385, 0, 387, 0, 0,
389, 390, 391, 0, 0, 392, 393, 394, 395, 396,
397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
407, 408, 0, 410, 411, 412, 413, 414, 0, 415,
416, 0, 418, 0, 419, 420, 421, 422, 423, 424,
0, 425, 426, 0, 0, 427, 428, 429, 0, 0,
430, 431, 432, 0, 434, 0, 436, 437, 438, 439,
440, 441, 442, 443, 444, 445, 0, 446, 447, 448,
449, 450, 451, 452, 453, 0, 454, 455, 456, 457,
458, 459, 460, 461, 462, 463, 464, 465, 466, 467,
468, 0, 469, 470, 471, 472, 473, 474, 475, 476,
477, 478, 479, 480, 0, 481, 482, 0, 484, 485,
486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
496, 497, 498, 0, 499, 500, 501, 502, 503, 0,
504, 505, 506, 507, 508, 0, 510, 511, 512, 513,
0, 514, 515, 516, 517, 518, 519, 520, 521, 522,
523, 524, 525, 526, 527, 528, 0, 529, 530, 0,
531, 0, 533, 534, 535, 536, 537, 0, 538, 539,
540, 0, 0, 541, 542, 543, 544, 545, 0, 546,
547, 548, 549, 550, 551, 552, 0, 0, 553, 554,
555, 556, 557, 0, 0, 558, 559, 560, 561, 562,
563, 564, 0, 565, 0, 567, 568, 569, 570, 0,
0, 571, 0, 0, 572, 573, 574, 575, 576, 577,
578, 579, 580, 581, 582, 583, 584, 585, 586, 587,
588, 589, 590, 591, 599, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 227,
228, 229, 230, 231, 232, 233, 234, 0, 235, 236,
237, 0, 0, 0, 0, 0, 0, 0, 238, 239,
0, 240, 241, 242, 0, 244, 245, 246, 247, 248,
0, 250, 251, 0, 252, 253, 254, 255, 256, 257,
0, 0, 788, 259, 260, 261, 262, 0, 263, 264,
265, 266, 267, 0, 0, 0, 269, 270, 271, 272,
273, 0, 275, 276, 277, 0, 278, 279, 280, 281,
282, 283, 0, 0, 285, 286, 287, 0, 0, 0,
0, 0, 0, 0, 289, 290, 291, 292, 293, 294,
295, 296, 297, 0, 298, 0, 299, 300, 301, 302,
303, 304, 0, 305, 306, 307, 308, 0, 0, 309,
310, 311, 312, 313, 0, 314, 315, 316, 0, 317,
318, 319, 0, 320, 321, 322, 323, 324, 325, 326,
327, 328, 0, 329, 0, 330, 331, 332, 333, 0,
334, 0, 335, 0, 0, 0, 338, 339, 340, 341,
0, 342, 343, 0, 344, 345, 346, 0, 347, 348,
349, 350, 351, 0, 353, 354, 355, 356, 0, 357,
358, 359, 360, 361, 362, 363, 0, 364, 0, 366,
367, 368, 369, 370, 371, 372, 0, 373, 0, 374,
0, 0, 377, 0, 379, 380, 381, 382, 383, 0,
0, 384, 385, 0, 387, 0, 0, 389, 390, 391,
0, 0, 392, 393, 394, 395, 396, 397, 398, 399,
400, 401, 402, 403, 404, 405, 406, 791, 408, 0,
410, 411, 412, 413, 414, 0, 415, 416, 0, 418,
0, 419, 420, 421, 422, 423, 424, 0, 425, 426,
0, 0, 427, 428, 429, 0, 0, 430, 431, 432,
0, 434, 0, 436, 437, 438, 439, 440, 441, 442,
443, 444, 445, 0, 446, 447, 448, 449, 450, 451,
452, 453, 0, 454, 455, 456, 457, 458, 459, 460,
461, 462, 463, 464, 465, 466, 467, 468, 0, 469,
470, 471, 472, 473, 474, 475, 476, 477, 478, 479,
480, 0, 481, 482, 0, 792, 485, 486, 487, 488,
489, 490, 491, 492, 793, 494, 495, 496, 497, 498,
0, 499, 500, 501, 502, 1319, 0, 504, 505, 506,
507, 508, 0, 510, 511, 512, 513, 0, 514, 515,
516, 517, 518, 519, 520, 521, 522, 523, 524, 525,
526, 527, 528, 0, 529, 530, 0, 531, 0, 533,
534, 535, 536, 537, 0, 538, 795, 540, 0, 0,
796, 542, 543, 544, 545, 0, 546, 547, 548, 549,
550, 551, 552, 0, 0, 553, 554, 555, 556, 557,
0, 0, 558, 559, 560, 561, 562, 563, 564, 0,
565, 0, 567, 568, 569, 570, 0, 0, 571, 0,
0, 572, 573, 574, 575, 576, 797, 578, 579, 580,
581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
591, 599, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 227, 228, 229, 230,
231, 232, 233, 234, 0, 235, 236, 237, 0, 0,
0, 0, 0, 0, 0, 238, 239, 0, 240, 241,
242, 0, 244, 245, 246, 247, 248, 0, 250, 251,
0, 252, 253, 254, 255, 256, 257, 0, 0, 258,
259, 260, 261, 262, 0, 263, 264, 265, 266, 267,
0, 0, 0, 269, 270, 271, 272, 273, 0, 275,
276, 277, 0, 278, 279, 280, 281, 282, 283, 0,
0, 285, 286, 287, 0, 0, 0, 0, 0, 0,
0, 289, 290, 291, 292, 293, 294, 295, 296, 297,
0, 298, 0, 299, 300, 301, 302, 303, 304, 0,
305, 306, 307, 308, 0, 0, 309, 310, 311, 312,
313, 0, 314, 315, 316, 0, 317, 318, 319, 0,
320, 321, 322, 323, 324, 325, 326, 327, 328, 0,
329, 0, 330, 331, 332, 333, 0, 334, 0, 335,
0, 0, 0, 338, 339, 340, 341, 0, 342, 343,
0, 344, 345, 346, 0, 347, 348, 349, 350, 1753,
0, 353, 354, 355, 356, 0, 357, 358, 359, 360,
361, 362, 363, 0, 364, 0, 366, 367, 368, 369,
370, 371, 372, 0, 373, 0, 374, 0, 0, 377,
0, 379, 380, 381, 382, 383, 0, 0, 384, 385,
0, 387, 0, 0, 389, 390, 391, 0, 0, 392,
393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
403, 404, 405, 406, 407, 408, 0, 410, 411, 412,
413, 414, 0, 415, 416, 0, 418, 0, 419, 420,
421, 422, 423, 424, 0, 425, 426, 0, 0, 427,
428, 429, 0, 0, 430, 431, 432, 0, 434, 0,
436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
0, 446, 447, 448, 449, 450, 451, 452, 453, 0,
454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
464, 465, 466, 467, 468, 0, 469, 470, 471, 472,
473, 474, 475, 476, 477, 478, 479, 480, 0, 481,
482, 0, 484, 485, 486, 487, 488, 489, 490, 491,
492, 493, 494, 495, 496, 497, 498, 0, 499, 500,
501, 502, 503, 0, 504, 505, 506, 507, 508, 0,
510, 511, 512, 513, 0, 514, 515, 516, 517, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
0, 529, 530, 0, 531, 0, 533, 534, 535, 536,
537, 0, 538, 539, 540, 0, 0, 541, 542, 543,
544, 545, 0, 546, 547, 548, 549, 550, 551, 552,
0, 0, 553, 554, 555, 556, 557, 0, 0, 558,
559, 560, 561, 562, 563, 564, 0, 565, 0, 567,
568, 569, 570, 0, 0, 571, 0, 0, 572, 573,
574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
584, 585, 586, 587, 588, 589, 590, 591, 599, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 227, 228, 229, 230, 231, 232, 233,
234, 0, 235, 236, 237, 0, 0, 0, 0, 0,
0, 0, 238, 239, 0, 240, 241, 242, 0, 244,
245, 246, 247, 248, 0, 250, 251, 0, 252, 253,
254, 255, 256, 257, 0, 0, 258, 259, 260, 261,
262, 0, 263, 264, 265, 266, 267, 0, 0, 0,
269, 270, 271, 272, 273, 0, 275, 276, 277, 0,
278, 279, 280, 281, 282, 283, 0, 0, 285, 286,
287, 0, 0, 0, 0, 0, 0, 0, 289, 290,
291, 292, 293, 294, 295, 296, 297, 0, 298, 0,
299, 300, 301, 302, 303, 304, 0, 305, 306, 307,
308, 0, 0, 309, 310, 311, 312, 313, 0, 314,
315, 316, 0, 317, 318, 319, 0, 320, 321, 322,
323, 324, 325, 326, 327, 328, 0, 329, 0, 330,
331, 332, 333, 0, 334, 0, 335, 0, 0, 0,
338, 339, 340, 341, 0, 342, 343, 0, 344, 345,
346, 0, 347, 348, 349, 350, 1791, 0, 353, 354,
355, 356, 0, 357, 358, 359, 360, 361, 362, 363,
0, 364, 0, 366, 367, 368, 369, 370, 371, 372,
0, 373, 0, 374, 0, 0, 377, 0, 379, 380,
381, 382, 383, 0, 0, 384, 385, 0, 387, 0,
0, 389, 390, 391, 0, 0, 392, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 0, 410, 411, 412, 413, 414, 0,
415, 416, 0, 418, 0, 419, 420, 421, 422, 423,
424, 0, 425, 426, 0, 0, 427, 428, 429, 0,
0, 430, 431, 432, 0, 434, 0, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 446, 447,
448, 449, 450, 451, 452, 453, 0, 454, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 0, 481, 482, 0, 484,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 496, 497, 498, 0, 499, 500, 501, 502, 503,
0, 504, 505, 506, 507, 508, 0, 510, 511, 512,
513, 0, 514, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 528, 0, 529, 530,
0, 531, 0, 533, 534, 535, 536, 537, 0, 538,
539, 540, 0, 0, 541, 542, 543, 544, 545, 0,
546, 547, 548, 549, 550, 551, 552, 0, 0, 553,
554, 555, 556, 557, 0, 0, 558, 559, 560, 561,
562, 563, 564, 0, 565, 0, 567, 568, 569, 570,
0, 0, 571, 0, 0, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
587, 588, 589, 590, 591, 599, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
227, 228, 229, 230, 231, 232, 233, 234, 0, 235,
236, 237, 0, 0, 0, 0, 0, 0, 0, 238,
239, 0, 240, 241, 242, 0, 244, 245, 246, 247,
248, 0, 250, 251, 0, 252, 253, 254, 255, 256,
257, 0, 0, 258, 259, 260, 261, 262, 0, 263,
264, 265, 266, 267, 0, 0, 0, 269, 270, 271,
272, 273, 0, 275, 276, 277, 0, 278, 279, 280,
281, 282, 283, 0, 0, 285, 286, 287, 0, 0,
0, 0, 0, 0, 0, 289, 290, 291, 292, 293,
294, 295, 296, 297, 0, 298, 0, 299, 300, 301,
302, 303, 304, 0, 305, 306, 307, 308, 0, 0,
309, 310, 311, 312, 313, 0, 314, 315, 316, 0,
317, 318, 319, 0, 320, 321, 322, 323, 324, 325,
326, 327, 328, 0, 329, 0, 330, 331, 332, 333,
0, 334, 0, 335, 0, 0, 0, 338, 339, 340,
341, 0, 342, 343, 0, 344, 345, 346, 0, 347,
348, 349, 350, 1793, 0, 353, 354, 355, 356, 0,
357, 358, 359, 360, 361, 362, 363, 0, 364, 0,
366, 367, 368, 369, 370, 371, 372, 0, 373, 0,
374, 0, 0, 377, 0, 379, 380, 381, 382, 383,
0, 0, 384, 385, 0, 387, 0, 0, 389, 390,
391, 0, 0, 392, 393, 394, 395, 396, 397, 398,
399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
0, 410, 411, 412, 413, 414, 0, 415, 416, 0,
418, 0, 419, 420, 421, 422, 423, 424, 0, 425,
426, 0, 0, 427, 428, 429, 0, 0, 430, 431,
432, 0, 434, 0, 436, 437, 438, 439, 440, 441,
442, 443, 444, 445, 0, 446, 447, 448, 449, 450,
451, 452, 453, 0, 454, 455, 456, 457, 458, 459,
460, 461, 462, 463, 464, 465, 466, 467, 468, 0,
469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
479, 480, 0, 481, 482, 0, 484, 485, 486, 487,
488, 489, 490, 491, 492, 493, 494, 495, 496, 497,
498, 0, 499, 500, 501, 502, 503, 0, 504, 505,
506, 507, 508, 0, 510, 511, 512, 513, 0, 514,
515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
525, 526, 527, 528, 0, 529, 530, 0, 531, 0,
533, 534, 535, 536, 537, 0, 538, 539, 540, 0,
0, 541, 542, 543, 544, 545, 0, 546, 547, 548,
549, 550, 551, 552, 0, 0, 553, 554, 555, 556,
557, 0, 0, 558, 559, 560, 561, 562, 563, 564,
0, 565, 0, 567, 568, 569, 570, 0, 0, 571,
0, 0, 572, 573, 574, 575, 576, 577, 578, 579,
580, 581, 582, 583, 584, 585, 586, 587, 588, 589,
590, 591, 599, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 227, 228, 229,
230, 231, 232, 233, 234, 0, 235, 236, 237, 0,
0, 0, 0, 0, 0, 0, 238, 239, 0, 240,
241, 242, 0, 244, 245, 246, 247, 248, 0, 250,
251, 0, 252, 253, 254, 255, 256, 257, 0, 0,
258, 259, 260, 261, 262, 0, 263, 264, 265, 266,
267, 0, 0, 0, 269, 270, 271, 272, 273, 0,
275, 276, 277, 0, 278, 279, 280, 281, 282, 283,
0, 0, 285, 286, 287, 0, 0, 0, 0, 0,
0, 0, 289, 290, 291, 292, 293, 294, 295, 296,
297, 0, 298, 0, 299, 300, 301, 302, 303, 304,
0, 305, 306, 307, 308, 0, 0, 309, 310, 311,
312, 313, 0, 314, 315, 316, 0, 317, 318, 319,
0, 320, 321, 322, 323, 324, 325, 326, 327, 328,
0, 329, 0, 330, 331, 332, 333, 0, 334, 0,
335, 0, 0, 0, 338, 339, 340, 341, 0, 342,
343, 0, 344, 345, 346, 0, 347, 348, 349, 350,
1863, 0, 353, 354, 355, 356, 0, 357, 358, 359,
360, 361, 362, 363, 0, 364, 0, 366, 367, 368,
369, 370, 371, 372, 0, 373, 0, 374, 0, 0,
377, 0, 379, 380, 381, 382, 383, 0, 0, 384,
385, 0, 387, 0, 0, 389, 390, 391, 0, 0,
392, 393, 394, 395, 396, 397, 398, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 0, 410, 411,
412, 413, 414, 0, 415, 416, 0, 418, 0, 419,
420, 421, 422, 423, 424, 0, 425, 426, 0, 0,
427, 428, 429, 0, 0, 430, 431, 432, 0, 434,
0, 436, 437, 438, 439, 440, 441, 442, 443, 444,
445, 0, 446, 447, 448, 449, 450, 451, 452, 453,
0, 454, 455, 456, 457, 458, 459, 460, 461, 462,
463, 464, 465, 466, 467, 468, 0, 469, 470, 471,
472, 473, 474, 475, 476, 477, 478, 479, 480, 0,
481, 482, 0, 484, 485, 486, 487, 488, 489, 490,
491, 492, 493, 494, 495, 496, 497, 498, 0, 499,
500, 501, 502, 503, 0, 504, 505, 506, 507, 508,
0, 510, 511, 512, 513, 0, 514, 515, 516, 517,
518, 519, 520, 521, 522, 523, 524, 525, 526, 527,
528, 0, 529, 530, 0, 531, 0, 533, 534, 535,
536, 537, 0, 538, 539, 540, 0, 0, 541, 542,
543, 544, 545, 0, 546, 547, 548, 549, 550, 551,
552, 0, 0, 553, 554, 555, 556, 557, 0, 0,
558, 559, 560, 561, 562, 563, 564, 0, 565, 0,
567, 568, 569, 570, 0, 0, 571, 0, 0, 572,
573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
583, 584, 585, 586, 587, 588, 589, 590, 591, 599,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 227, 228, 229, 230, 231, 232,
233, 234, 0, 235, 236, 237, 0, 0, 0, 0,
0, 0, 0, 238, 239, 0, 240, 241, 242, 0,
244, 245, 246, 247, 248, 0, 250, 251, 0, 252,
253, 254, 255, 256, 257, 0, 0, 258, 259, 260,
261, 262, 0, 263, 264, 265, 266, 267, 0, 0,
0, 269, 270, 271, 272, 273, 0, 275, 276, 277,
0, 278, 279, 280, 281, 282, 283, 0, 0, 285,
286, 287, 0, 0, 0, 0, 0, 0, 0, 289,
290, 291, 292, 293, 294, 295, 296, 297, 0, 298,
0, 299, 300, 301, 302, 303, 304, 0, 305, 306,
307, 308, 0, 0, 309, 310, 311, 312, 313, 0,
314, 315, 316, 0, 317, 318, 319, 0, 320, 321,
322, 323, 324, 325, 326, 327, 328, 0, 329, 0,
330, 331, 332, 333, 0, 334, 0, 335, 0, 0,
0, 338, 339, 340, 341, 0, 342, 343, 0, 344,
345, 346, 0, 347, 348, 349, 350, 1865, 0, 353,
354, 355, 356, 0, 357, 358, 359, 360, 361, 362,
363, 0, 364, 0, 366, 367, 368, 369, 370, 371,
372, 0, 373, 0, 374, 0, 0, 377, 0, 379,
380, 381, 382, 383, 0, 0, 384, 385, 0, 387,
0, 0, 389, 390, 391, 0, 0, 392, 393, 394,
395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
405, 406, 407, 408, 0, 410, 411, 412, 413, 414,
0, 415, 416, 0, 418, 0, 419, 420, 421, 422,
423, 424, 0, 425, 426, 0, 0, 427, 428, 429,
0, 0, 430, 431, 432, 0, 434, 0, 436, 437,
438, 439, 440, 441, 442, 443, 444, 445, 0, 446,
447, 448, 449, 450, 451, 452, 453, 0, 454, 455,
456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
466, 467, 468, 0, 469, 470, 471, 472, 473, 474,
475, 476, 477, 478, 479, 480, 0, 481, 482, 0,
484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
494, 495, 496, 497, 498, 0, 499, 500, 501, 502,
503, 0, 504, 505, 506, 507, 508, 0, 510, 511,
512, 513, 0, 514, 515, 516, 517, 518, 519, 520,
521, 522, 523, 524, 525, 526, 527, 528, 0, 529,
530, 0, 531, 0, 533, 534, 535, 536, 537, 0,
538, 539, 540, 0, 0, 541, 542, 543, 544, 545,
0, 546, 547, 548, 549, 550, 551, 552, 0, 0,
553, 554, 555, 556, 557, 0, 0, 558, 559, 560,
561, 562, 563, 564, 0, 565, 0, 567, 568, 569,
570, 0, 0, 571, 0, 0, 572, 573, 574, 575,
576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
586, 587, 588, 589, 590, 591, 599, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 227, 228, 229, 230, 231, 232, 233, 234, 0,
235, 236, 237, 0, 0, 0, 0, 0, 0, 0,
238, 239, 0, 240, 241, 242, 0, 244, 245, 246,
247, 248, 0, 250, 251, 0, 252, 253, 254, 255,
256, 257, 0, 0, 258, 259, 260, 261, 262, 0,
263, 264, 265, 266, 267, 0, 0, 0, 269, 270,
271, 272, 273, 0, 275, 276, 277, 0, 278, 279,
280, 281, 282, 283, 0, 0, 285, 286, 287, 0,
0, 0, 0, 0, 0, 0, 289, 290, 291, 292,
293, 294, 295, 296, 297, 0, 298, 0, 299, 300,
301, 302, 303, 304, 0, 305, 306, 307, 308, 0,
0, 309, 310, 311, 312, 313, 0, 314, 315, 316,
0, 317, 318, 319, 0, 320, 321, 322, 323, 324,
325, 326, 327, 328, 0, 329, 0, 330, 331, 332,
333, 0, 334, 0, 335, 0, 0, 0, 338, 339,
340, 341, 0, 342, 343, 0, 344, 345, 346, 0,
347, 348, 349, 350, 1867, 0, 353, 354, 355, 356,
0, 357, 358, 359, 360, 361, 362, 363, 0, 364,
0, 366, 367, 368, 369, 370, 371, 372, 0, 373,
0, 374, 0, 0, 377, 0, 379, 380, 381, 382,
383, 0, 0, 384, 385, 0, 387, 0, 0, 389,
390, 391, 0, 0, 392, 393, 394, 395, 396, 397,
398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
408, 0, 410, 411, 412, 413, 414, 0, 415, 416,
0, 418, 0, 419, 420, 421, 422, 423, 424, 0,
425, 426, 0, 0, 427, 428, 429, 0, 0, 430,
431, 432, 0, 434, 0, 436, 437, 438, 439, 440,
441, 442, 443, 444, 445, 0, 446, 447, 448, 449,
450, 451, 452, 453, 0, 454, 455, 456, 457, 458,
459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
0, 469, 470, 471, 472, 473, 474, 475, 476, 477,
478, 479, 480, 0, 481, 482, 0, 484, 485, 486,
487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
497, 498, 0, 499, 500, 501, 502, 503, 0, 504,
505, 506, 507, 508, 0, 510, 511, 512, 513, 0,
514, 515, 516, 517, 518, 519, 520, 521, 522, 523,
524, 525, 526, 527, 528, 0, 529, 530, 0, 531,
0, 533, 534, 535, 536, 537, 0, 538, 539, 540,
0, 0, 541, 542, 543, 544, 545, 0, 546, 547,
548, 549, 550, 551, 552, 0, 0, 553, 554, 555,
556, 557, 0, 0, 558, 559, 560, 561, 562, 563,
564, 0, 565, 0, 567, 568, 569, 570, 0, 0,
571, 0, 0, 572, 573, 574, 575, 576, 577, 578,
579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
589, 590, 591, 599, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 227, 228,
229, 230, 231, 232, 233, 234, 0, 235, 236, 237,
0, 0, 0, 0, 0, 0, 0, 238, 239, 0,
240, 241, 242, 0, 244, 245, 246, 247, 248, 0,
250, 251, 0, 252, 253, 254, 255, 256, 257, 0,
0, 258, 259, 260, 261, 262, 0, 263, 264, 265,
266, 267, 0, 0, 0, 269, 270, 271, 272, 273,
0, 275, 276, 277, 0, 278, 279, 280, 281, 282,
283, 0, 0, 285, 286, 287, 0, 0, 0, 0,
0, 0, 0, 289, 290, 291, 292, 293, 294, 295,
296, 297, 0, 298, 0, 299, 300, 301, 302, 303,
304, 0, 305, 306, 307, 308, 0, 0, 309, 310,
311, 312, 313, 0, 314, 315, 316, 0, 317, 318,
319, 0, 320, 321, 322, 323, 324, 325, 326, 327,
328, 0, 329, 0, 330, 331, 332, 333, 0, 334,
0, 335, 0, 0, 0, 338, 339, 340, 341, 0,
342, 343, 0, 344, 345, 346, 0, 347, 348, 349,
350, 351, 0, 353, 354, 355, 356, 0, 357, 358,
359, 360, 361, 362, 363, 0, 364, 0, 366, 367,
368, 369, 370, 371, 372, 0, 373, 0, 374, 0,
0, 377, 0, 379, 380, 381, 382, 383, 0, 0,
384, 385, 0, 387, 0, 0, 389, 390, 391, 0,
0, 392, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 0, 410,
411, 412, 413, 414, 0, 415, 416, 0, 418, 0,
419, 420, 421, 422, 423, 424, 0, 425, 426, 0,
0, 427, 428, 429, 0, 0, 430, 431, 432, 0,
434, 0, 436, 437, 438, 439, 440, 441, 442, 443,
444, 445, 0, 446, 447, 448, 449, 450, 451, 452,
453, 0, 454, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 0, 469, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
0, 481, 482, 0, 484, 485, 486, 487, 488, 489,
490, 491, 1970, 493, 494, 495, 496, 497, 498, 0,
499, 500, 501, 502, 503, 0, 504, 505, 506, 507,
508, 0, 510, 511, 512, 513, 0, 514, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 528, 0, 529, 530, 0, 531, 0, 533, 534,
535, 536, 537, 0, 538, 539, 540, 0, 0, 541,
542, 543, 544, 545, 0, 546, 547, 548, 549, 550,
551, 552, 0, 0, 553, 554, 555, 556, 557, 0,
0, 558, 559, 560, 561, 562, 563, 564, 0, 565,
0, 567, 568, 569, 570, 0, 0, 571, 0, 0,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 584, 585, 586, 587, 588, 589, 590, 591,
599, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 227, 228, 229, 230, 231,
232, 233, 234, 0, 235, 236, 237, 0, 0, 0,
0, 0, 2149, 0, 238, 239, 0, 240, 241, 242,
0, 244, 245, 246, 247, 248, 0, 250, 251, 0,
252, 253, 254, 255, 256, 257, 0, 0, 258, 259,
260, 261, 262, 0, 263, 264, 265, 266, 267, 0,
0, 0, 269, 270, 271, 272, 273, 0, 275, 276,
277, 0, 278, 279, 280, 281, 282, 283, 0, 0,
285, 286, 287, 0, 0, 0, 0, 0, 0, 0,
289, 290, 291, 292, 293, 294, 295, 296, 297, 0,
298, 0, 299, 300, 301, 302, 303, 304, 0, 305,
306, 307, 308, 0, 0, 309, 310, 311, 312, 313,
0, 314, 315, 316, 0, 317, 318, 319, 0, 320,
321, 322, 323, 324, 325, 326, 327, 328, 0, 329,
0, 330, 331, 332, 333, 0, 334, 0, 335, 0,
0, 0, 338, 339, 340, 341, 0, 342, 343, 0,
344, 345, 346, 0, 347, 348, 349, 350, 351, 0,
353, 354, 355, 356, 0, 357, 358, 359, 360, 361,
362, 363, 0, 364, 0, 366, 367, 368, 369, 370,
371, 372, 0, 373, 0, 374, 0, 0, 377, 0,
379, 380, 381, 382, 383, 0, 0, 384, 385, 0,
387, 0, 0, 389, 390, 391, 0, 0, 392, 393,
394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 0, 410, 411, 412, 413,
414, 0, 415, 416, 0, 418, 0, 419, 420, 421,
422, 423, 424, 0, 425, 426, 0, 0, 427, 428,
429, 0, 0, 430, 431, 432, 0, 434, 0, 436,
437, 438, 439, 440, 441, 442, 443, 444, 445, 0,
446, 447, 448, 449, 450, 451, 452, 453, 0, 454,
455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
465, 466, 467, 468, 0, 469, 470, 471, 472, 473,
474, 475, 476, 477, 478, 479, 480, 0, 481, 482,
0, 484, 485, 486, 487, 488, 489, 490, 491, 492,
493, 494, 495, 496, 497, 498, 0, 499, 500, 501,
502, 503, 0, 0, 505, 506, 507, 508, 0, 510,
511, 512, 513, 0, 514, 515, 516, 517, 518, 519,
520, 521, 522, 523, 524, 525, 526, 527, 528, 0,
529, 530, 0, 531, 0, 533, 534, 535, 536, 537,
0, 538, 539, 540, 0, 0, 541, 542, 543, 544,
545, 0, 546, 547, 548, 549, 550, 551, 552, 0,
0, 553, 554, 555, 556, 557, 0, 0, 558, 559,
560, 561, 562, 563, 564, 0, 565, 0, 567, 568,
569, 570, 0, 0, 571, 0, 0, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 582, 583, 584,
585, 586, 587, 588, 589, 590, 591, 599, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 227, 228, 229, 230, 231, 232, 233, 234,
0, 235, 236, 237, 0, 0, 0, 0, 0, 0,
0, 238, 239, 0, 240, 241, 242, 0, 244, 245,
246, 247, 248, 0, 250, 251, 0, 252, 253, 254,
255, 256, 257, 0, 0, 788, 259, 260, 261, 262,
0, 263, 264, 265, 266, 267, 0, 0, 0, 269,
270, 271, 272, 273, 0, 275, 276, 277, 0, 278,
279, 280, 281, 282, 283, 0, 0, 285, 286, 287,
0, 0, 0, 0, 0, 0, 0, 289, 290, 291,
292, 293, 294, 295, 296, 297, 0, 298, 0, 299,
300, 301, 302, 303, 304, 0, 305, 306, 307, 308,
0, 0, 309, 310, 311, 312, 313, 0, 314, 315,
316, 0, 317, 318, 319, 0, 320, 321, 322, 323,
324, 325, 326, 327, 328, 0, 329, 0, 330, 331,
332, 333, 0, 334, 0, 335, 0, 0, 0, 338,
339, 340, 341, 0, 342, 343, 0, 344, 345, 346,
0, 347, 348, 349, 350, 351, 0, 353, 354, 355,
356, 0, 357, 358, 359, 360, 361, 362, 363, 0,
364, 0, 366, 367, 368, 369, 370, 371, 372, 0,
373, 0, 374, 0, 0, 377, 0, 379, 380, 381,
382, 383, 0, 0, 384, 385, 0, 387, 0, 0,
389, 390, 391, 0, 0, 392, 393, 394, 395, 396,
397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
791, 408, 0, 410, 411, 412, 413, 414, 0, 415,
416, 0, 418, 0, 419, 420, 421, 422, 423, 424,
0, 425, 426, 0, 0, 427, 428, 429, 0, 0,
430, 431, 432, 0, 434, 0, 436, 437, 438, 439,
440, 441, 442, 443, 444, 445, 0, 446, 447, 448,
449, 450, 451, 452, 453, 0, 454, 455, 456, 457,
458, 459, 460, 461, 462, 463, 464, 465, 466, 467,
468, 0, 469, 470, 471, 472, 473, 474, 475, 476,
477, 478, 479, 480, 0, 481, 482, 0, 792, 485,
486, 487, 488, 489, 490, 491, 492, 793, 494, 495,
496, 497, 498, 0, 499, 500, 501, 502, 1319, 0,
504, 505, 506, 507, 508, 0, 510, 511, 512, 513,
0, 514, 515, 516, 517, 518, 519, 520, 521, 522,
523, 524, 525, 526, 527, 528, 0, 529, 530, 0,
531, 0, 2184, 534, 535, 536, 537, 0, 538, 795,
540, 0, 0, 796, 542, 543, 544, 545, 0, 546,
547, 548, 549, 550, 551, 552, 0, 0, 553, 554,
555, 556, 557, 0, 0, 558, 559, 560, 561, 562,
563, 564, 0, 565, 0, 567, 568, 569, 570, 0,
0, 571, 0, 0, 572, 573, 574, 575, 576, 797,
578, 579, 580, 581, 582, 583, 584, 585, 586, 587,
588, 589, 590, 591, 599, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 227,
228, 229, 230, 231, 232, 233, 234, 0, 235, 236,
237, 0, 0, 0, 0, 0, 0, 0, 238, 239,
0, 240, 241, 242, 0, 244, 245, 246, 247, 248,
0, 250, 251, 0, 252, 253, 254, 255, 256, 257,
0, 0, 788, 259, 260, 261, 262, 0, 263, 264,
265, 266, 267, 0, 0, 0, 269, 270, 271, 272,
273, 0, 275, 276, 277, 0, 278, 279, 280, 281,
282, 283, 0, 0, 285, 286, 287, 0, 0, 0,
0, 0, 0, 0, 289, 290, 291, 292, 293, 294,
295, 296, 297, 0, 298, 0, 299, 300, 301, 302,
303, 304, 0, 305, 306, 307, 308, 0, 0, 309,
310, 311, 312, 313, 0, 314, 315, 316, 0, 317,
318, 319, 0, 320, 321, 322, 323, 324, 325, 326,
327, 328, 0, 329, 0, 330, 331, 332, 333, 0,
334, 0, 335, 0, 0, 0, 338, 339, 340, 341,
0, 342, 343, 0, 344, 345, 346, 0, 347, 348,
349, 350, 351, 0, 353, 354, 355, 356, 0, 357,
358, 359, 360, 361, 362, 363, 0, 364, 0, 366,
367, 368, 369, 370, 371, 372, 0, 373, 0, 374,
0, 0, 377, 0, 379, 380, 381, 382, 383, 0,
0, 384, 385, 0, 387, 0, 0, 389, 390, 391,
0, 0, 392, 393, 394, 395, 396, 397, 398, 399,
400, 401, 402, 403, 404, 405, 406, 791, 408, 0,
410, 411, 412, 413, 414, 0, 415, 416, 0, 418,
0, 419, 420, 421, 422, 423, 424, 0, 425, 426,
0, 0, 427, 428, 429, 0, 0, 430, 431, 432,
0, 434, 0, 436, 437, 438, 439, 440, 441, 442,
443, 444, 445, 0, 446, 447, 448, 449, 450, 451,
452, 453, 0, 454, 455, 456, 457, 458, 459, 460,
461, 462, 463, 464, 465, 466, 467, 468, 0, 469,
470, 471, 472, 473, 474, 475, 476, 477, 478, 479,
480, 0, 481, 482, 0, 792, 485, 486, 487, 488,
489, 490, 491, 492, 2261, 494, 495, 496, 497, 498,
0, 499, 500, 501, 502, 2262, 0, 504, 505, 506,
507, 508, 0, 510, 511, 512, 513, 0, 514, 515,
516, 517, 518, 519, 520, 521, 522, 523, 524, 525,
526, 527, 528, 0, 529, 530, 0, 531, 0, 533,
534, 535, 536, 537, 0, 538, 795, 540, 0, 0,
2263, 542, 543, 544, 545, 0, 546, 547, 548, 549,
550, 551, 552, 0, 0, 553, 554, 555, 556, 557,
0, 0, 558, 559, 560, 561, 562, 563, 564, 0,
565, 0, 567, 568, 569, 570, 0, 0, 571, 0,
0, 572, 573, 574, 575, 576, 797, 578, 579, 580,
581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
591, 599, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 227, 228, 229, 230,
231, 232, 233, 234, 0, 235, 236, 237, 0, 0,
0, 0, 0, 0, 0, 238, 239, 0, 240, 241,
242, 0, 244, 245, 246, 247, 248, 0, 250, 251,
0, 252, 253, 254, 255, 256, 257, 0, 0, 788,
259, 260, 261, 262, 0, 263, 264, 265, 266, 267,
0, 0, 0, 269, 270, 271, 272, 273, 0, 275,
276, 277, 0, 278, 279, 280, 281, 282, 283, 0,
0, 285, 286, 287, 0, 0, 0, 0, 0, 0,
0, 289, 290, 291, 292, 293, 294, 295, 296, 297,
0, 298, 0, 299, 300, 301, 302, 303, 304, 0,
305, 306, 307, 308, 0, 0, 309, 310, 311, 312,
313, 0, 314, 315, 316, 0, 317, 318, 319, 0,
320, 321, 322, 323, 324, 325, 326, 327, 328, 0,
329, 0, 330, 331, 332, 333, 0, 334, 0, 335,
0, 0, 0, 338, 339, 340, 341, 0, 342, 343,
0, 344, 345, 346, 0, 347, 348, 349, 350, 351,
0, 353, 354, 355, 356, 0, 357, 358, 359, 360,
361, 362, 363, 0, 364, 0, 366, 367, 368, 369,
370, 371, 372, 0, 373, 0, 374, 0, 0, 377,
0, 379, 380, 381, 382, 383, 0, 0, 384, 385,
0, 387, 0, 0, 389, 390, 391, 0, 0, 392,
393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
403, 404, 405, 406, 791, 408, 0, 410, 411, 412,
413, 414, 0, 415, 416, 0, 418, 0, 419, 420,
421, 422, 423, 424, 0, 425, 426, 0, 0, 427,
428, 429, 0, 0, 430, 431, 432, 0, 434, 0,
436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
0, 446, 447, 448, 449, 450, 451, 452, 453, 0,
454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
464, 465, 466, 467, 468, 0, 469, 470, 471, 472,
473, 474, 475, 476, 477, 478, 479, 480, 0, 481,
482, 0, 792, 485, 486, 487, 488, 489, 490, 491,
492, 2340, 494, 495, 496, 497, 498, 0, 499, 500,
501, 502, 2262, 0, 504, 505, 506, 507, 508, 0,
510, 511, 512, 513, 0, 514, 515, 516, 517, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
0, 529, 530, 0, 531, 0, 533, 534, 535, 536,
537, 0, 538, 795, 540, 0, 0, 2263, 542, 543,
544, 545, 0, 546, 547, 548, 549, 550, 551, 552,
0, 0, 553, 554, 555, 556, 557, 0, 0, 558,
559, 560, 561, 562, 563, 564, 0, 565, 0, 567,
568, 569, 570, 0, 0, 571, 0, 0, 572, 573,
574, 575, 576, 797, 578, 579, 580, 581, 582, 583,
584, 585, 586, 587, 588, 589, 590, 591, 599, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 227, 228, 229, 230, 231, 232, 233,
234, 0, 235, 236, 237, 0, 0, 0, 0, 0,
0, 0, 238, 239, 0, 240, 241, 242, 0, 244,
245, 246, 247, 248, 0, 250, 251, 0, 252, 253,
254, 255, 256, 257, 0, 0, 788, 259, 260, 261,
262, 0, 263, 264, 265, 266, 267, 0, 0, 0,
269, 270, 271, 272, 273, 0, 275, 276, 277, 0,
278, 279, 280, 281, 282, 283, 0, 0, 285, 286,
287, 0, 0, 0, 0, 0, 0, 0, 289, 290,
291, 292, 293, 294, 295, 296, 297, 0, 298, 0,
299, 300, 301, 302, 303, 304, 0, 305, 306, 307,
308, 0, 0, 309, 310, 311, 312, 313, 0, 314,
315, 316, 0, 317, 318, 319, 0, 320, 321, 322,
323, 324, 325, 326, 327, 328, 0, 329, 0, 330,
331, 332, 333, 0, 334, 0, 335, 0, 0, 0,
338, 339, 340, 341, 0, 342, 343, 0, 344, 345,
346, 0, 347, 348, 349, 350, 351, 0, 353, 354,
355, 356, 0, 357, 358, 359, 360, 361, 362, 363,
0, 364, 0, 366, 367, 368, 369, 370, 371, 372,
0, 373, 0, 374, 0, 0, 377, 0, 379, 380,
381, 382, 383, 0, 0, 384, 385, 0, 387, 0,
0, 389, 390, 391, 0, 0, 392, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 791, 408, 0, 410, 411, 412, 413, 414, 0,
415, 416, 0, 418, 0, 419, 420, 421, 422, 423,
424, 0, 425, 426, 0, 0, 427, 428, 429, 0,
0, 430, 431, 432, 0, 434, 0, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 446, 447,
448, 449, 450, 451, 452, 453, 0, 454, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 0, 481, 482, 0, 792,
485, 486, 487, 488, 489, 490, 491, 492, 2357, 494,
495, 496, 497, 498, 0, 499, 500, 501, 502, 2262,
0, 504, 505, 506, 507, 508, 0, 510, 511, 512,
513, 0, 514, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 528, 0, 529, 530,
0, 531, 0, 533, 534, 535, 536, 537, 0, 538,
795, 540, 0, 0, 2263, 542, 543, 544, 545, 0,
546, 547, 548, 549, 550, 551, 552, 0, 0, 553,
554, 555, 556, 557, 0, 0, 558, 559, 560, 561,
562, 563, 564, 0, 565, 0, 567, 568, 569, 570,
0, 0, 571, 0, 0, 572, 573, 574, 575, 576,
797, 578, 579, 580, 581, 582, 583, 584, 585, 586,
587, 588, 589, 590, 591, 599, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
227, 228, 229, 230, 231, 232, 233, 234, 0, 235,
236, 237, 0, 0, 0, 0, 0, 0, 0, 238,
239, 0, 240, 241, 242, 0, 244, 245, 246, 247,
248, 0, 250, 251, 0, 252, 253, 254, 255, 256,
257, 0, 0, 258, 259, 260, 261, 262, 0, 263,
264, 265, 266, 267, 0, 0, 0, 269, 270, 271,
272, 273, 0, 275, 276, 277, 0, 278, 279, 280,
281, 282, 283, 0, 0, 285, 286, 287, 0, 0,
0, 0, 0, 0, 0, 289, 290, 291, 292, 293,
294, 295, 296, 297, 0, 298, 0, 299, 300, 301,
302, 303, 304, 0, 305, 306, 307, 308, 0, 0,
309, 310, 311, 312, 313, 0, 314, 315, 316, 0,
317, 318, 319, 0, 320, 321, 322, 323, 324, 325,
326, 327, 328, 0, 329, 0, 330, 331, 332, 333,
0, 334, 0, 335, 0, 0, 0, 338, 339, 340,
341, 0, 342, 343, 0, 344, 345, 346, 0, 347,
348, 349, 350, 2556, 0, 353, 354, 355, 356, 0,
357, 358, 359, 360, 361, 362, 363, 0, 364, 0,
366, 367, 368, 369, 370, 371, 372, 0, 373, 0,
374, 0, 0, 377, 0, 379, 380, 381, 382, 383,
0, 0, 384, 385, 0, 387, 0, 0, 389, 390,
391, 0, 0, 392, 393, 394, 395, 396, 397, 398,
399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
0, 410, 411, 412, 413, 414, 0, 415, 416, 0,
418, 0, 419, 420, 421, 422, 423, 424, 0, 425,
426, 0, 0, 427, 428, 429, 0, 0, 430, 431,
432, 0, 434, 0, 436, 437, 438, 439, 440, 441,
442, 443, 444, 445, 0, 446, 447, 448, 449, 450,
451, 452, 453, 0, 454, 455, 456, 457, 458, 459,
460, 461, 462, 463, 464, 465, 466, 467, 468, 0,
469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
479, 480, 0, 481, 482, 0, 484, 485, 486, 487,
488, 489, 490, 491, 492, 493, 494, 495, 496, 497,
498, 0, 499, 500, 501, 502, 503, 0, 504, 505,
506, 507, 508, 0, 510, 511, 512, 513, 0, 514,
515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
525, 526, 527, 528, 0, 529, 530, 0, 531, 0,
533, 534, 535, 536, 537, 0, 538, 539, 540, 0,
0, 541, 542, 543, 544, 545, 0, 546, 547, 548,
549, 550, 551, 552, 0, 0, 553, 554, 555, 556,
557, 0, 0, 558, 559, 560, 561, 562, 563, 564,
0, 565, 0, 567, 568, 569, 570, 0, 0, 571,
0, 0, 572, 573, 574, 575, 576, 577, 578, 579,
580, 581, 582, 583, 584, 585, 586, 587, 588, 589,
590, 591, 599, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 227, 228, 229,
230, 231, 232, 233, 234, 0, 235, 236, 237, 0,
0, 0, 0, 0, 0, 0, 238, 239, 0, 240,
241, 242, 0, 244, 245, 246, 247, 248, 0, 250,
251, 0, 252, 253, 254, 255, 256, 257, 0, 0,
258, 259, 260, 261, 262, 0, 263, 264, 265, 266,
267, 0, 0, 0, 269, 270, 271, 272, 273, 0,
275, 276, 277, 0, 278, 279, 280, 281, 282, 283,
0, 0, 285, 286, 287, 0, 0, 0, 0, 0,
0, 0, 289, 290, 291, 292, 293, 294, 295, 296,
297, 0, 298, 0, 299, 300, 301, 302, 303, 304,
0, 305, 306, 307, 308, 0, 0, 309, 310, 311,
312, 313, 0, 314, 315, 316, 0, 317, 318, 319,
0, 320, 321, 322, 323, 324, 325, 326, 327, 328,
0, 329, 0, 330, 331, 332, 333, 0, 334, 0,
335, 0, 0, 0, 338, 339, 340, 341, 0, 342,
343, 0, 344, 345, 346, 0, 347, 348, 349, 350,
2560, 0, 353, 354, 355, 356, 0, 357, 358, 359,
360, 361, 362, 363, 0, 364, 0, 366, 367, 368,
369, 370, 371, 372, 0, 373, 0, 374, 0, 0,
377, 0, 379, 380, 381, 382, 383, 0, 0, 384,
385, 0, 387, 0, 0, 389, 390, 391, 0, 0,
392, 393, 394, 395, 396, 397, 398, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 0, 410, 411,
412, 413, 414, 0, 415, 416, 0, 418, 0, 419,
420, 421, 422, 423, 424, 0, 425, 426, 0, 0,
427, 428, 429, 0, 0, 430, 431, 432, 0, 434,
0, 436, 437, 438, 439, 440, 441, 442, 443, 444,
445, 0, 446, 447, 448, 449, 450, 451, 452, 453,
0, 454, 455, 456, 457, 458, 459, 460, 461, 462,
463, 464, 465, 466, 467, 468, 0, 469, 470, 471,
472, 473, 474, 475, 476, 477, 478, 479, 480, 0,
481, 482, 0, 484, 485, 486, 487, 488, 489, 490,
491, 492, 493, 494, 495, 496, 497, 498, 0, 499,
500, 501, 502, 503, 0, 504, 505, 506, 507, 508,
0, 510, 511, 512, 513, 0, 514, 515, 516, 517,
518, 519, 520, 521, 522, 523, 524, 525, 526, 527,
528, 0, 529, 530, 0, 531, 0, 533, 534, 535,
536, 537, 0, 538, 539, 540, 0, 0, 541, 542,
543, 544, 545, 0, 546, 547, 548, 549, 550, 551,
552, 0, 0, 553, 554, 555, 556, 557, 0, 0,
558, 559, 560, 561, 562, 563, 564, 0, 565, 0,
567, 568, 569, 570, 0, 0, 571, 0, 0, 572,
573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
583, 584, 585, 586, 587, 588, 589, 590, 591, 599,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 227, 228, 229, 230, 231, 232,
233, 234, 0, 235, 236, 237, 0, 0, 0, 0,
0, 0, 0, 238, 239, 0, 240, 241, 242, 0,
244, 245, 246, 247, 248, 0, 250, 251, 0, 252,
253, 254, 255, 256, 257, 0, 0, 258, 259, 260,
261, 262, 0, 263, 264, 265, 266, 267, 0, 0,
0, 269, 270, 271, 272, 273, 0, 275, 276, 277,
0, 278, 279, 280, 281, 282, 283, 0, 0, 285,
286, 287, 0, 0, 0, 0, 0, 0, 0, 289,
290, 291, 292, 293, 294, 295, 296, 297, 0, 298,
0, 299, 300, 301, 302, 303, 304, 0, 305, 306,
307, 308, 0, 0, 309, 310, 311, 312, 313, 0,
314, 315, 316, 0, 317, 318, 319, 0, 320, 321,
322, 323, 324, 325, 326, 327, 328, 0, 329, 0,
330, 331, 332, 333, 0, 334, 0, 335, 0, 0,
0, 338, 339, 340, 341, 0, 342, 343, 0, 344,
345, 346, 0, 347, 348, 349, 350, 2635, 0, 353,
354, 355, 356, 0, 357, 358, 359, 360, 361, 362,
363, 0, 364, 0, 366, 367, 368, 369, 370, 371,
372, 0, 373, 0, 374, 0, 0, 377, 0, 379,
380, 381, 382, 383, 0, 0, 384, 385, 0, 387,
0, 0, 389, 390, 391, 0, 0, 392, 393, 394,
395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
405, 406, 407, 408, 0, 410, 411, 412, 413, 414,
0, 415, 416, 0, 418, 0, 419, 420, 421, 422,
423, 424, 0, 425, 426, 0, 0, 427, 428, 429,
0, 0, 430, 431, 432, 0, 434, 0, 436, 437,
438, 439, 440, 441, 442, 443, 444, 445, 0, 446,
447, 448, 449, 450, 451, 452, 453, 0, 454, 455,
456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
466, 467, 468, 0, 469, 470, 471, 472, 473, 474,
475, 476, 477, 478, 479, 480, 0, 481, 482, 0,
484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
494, 495, 496, 497, 498, 0, 499, 500, 501, 502,
503, 0, 504, 505, 506, 507, 508, 0, 510, 511,
512, 513, 0, 514, 515, 516, 517, 518, 519, 520,
521, 522, 523, 524, 525, 526, 527, 528, 0, 529,
530, 0, 531, 0, 533, 534, 535, 536, 537, 0,
538, 539, 540, 0, 0, 541, 542, 543, 544, 545,
0, 546, 547, 548, 549, 550, 551, 552, 0, 0,
553, 554, 555, 556, 557, 0, 0, 558, 559, 560,
561, 562, 563, 564, 0, 565, 0, 567, 568, 569,
570, 0, 0, 571, 0, 0, 572, 573, 574, 575,
576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
586, 587, 588, 589, 590, 591, 599, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 227, 228, 229, 230, 231, 232, 233, 234, 0,
235, 236, 237, 0, 0, 0, 0, 0, 0, 0,
238, 239, 0, 240, 241, 242, 0, 244, 245, 246,
247, 248, 0, 250, 251, 0, 252, 253, 254, 255,
256, 257, 0, 0, 258, 259, 260, 261, 262, 0,
263, 264, 265, 266, 267, 0, 0, 0, 269, 270,
271, 272, 273, 0, 275, 276, 277, 0, 278, 279,
280, 281, 282, 283, 0, 0, 285, 286, 287, 0,
0, 0, 0, 0, 0, 0, 289, 290, 291, 292,
293, 294, 295, 296, 297, 0, 298, 0, 299, 300,
301, 302, 303, 304, 0, 305, 306, 307, 308, 0,
0, 309, 310, 311, 312, 313, 0, 314, 315, 316,
0, 317, 318, 319, 0, 320, 321, 322, 323, 324,
325, 326, 327, 328, 0, 329, 0, 330, 331, 332,
333, 0, 334, 0, 335, 0, 0, 0, 338, 339,
340, 341, 0, 342, 343, 0, 344, 345, 346, 0,
347, 348, 349, 350, 2962, 0, 353, 354, 355, 356,
0, 357, 358, 359, 360, 361, 362, 363, 0, 364,
0, 366, 367, 368, 369, 370, 371, 372, 0, 373,
0, 374, 0, 0, 377, 0, 379, 380, 381, 382,
383, 0, 0, 384, 385, 0, 387, 0, 0, 389,
390, 391, 0, 0, 392, 393, 394, 395, 396, 397,
398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
408, 0, 410, 411, 412, 413, 414, 0, 415, 416,
0, 418, 0, 419, 420, 421, 422, 423, 424, 0,
425, 426, 0, 0, 427, 428, 429, 0, 0, 430,
431, 432, 0, 434, 0, 436, 437, 438, 439, 440,
441, 442, 443, 444, 445, 0, 446, 447, 448, 449,
450, 451, 452, 453, 0, 454, 455, 456, 457, 458,
459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
0, 469, 470, 471, 472, 473, 474, 475, 476, 477,
478, 479, 480, 0, 481, 482, 0, 484, 485, 486,
487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
497, 498, 0, 499, 500, 501, 502, 503, 0, 504,
505, 506, 507, 508, 0, 510, 511, 512, 513, 0,
514, 515, 516, 517, 518, 519, 520, 521, 522, 523,
524, 525, 526, 527, 528, 0, 529, 530, 0, 531,
0, 533, 534, 535, 536, 537, 0, 538, 539, 540,
0, 0, 541, 542, 543, 544, 545, 0, 546, 547,
548, 549, 550, 551, 552, 0, 0, 553, 554, 555,
556, 557, 0, 0, 558, 559, 560, 561, 562, 563,
564, 0, 565, 0, 567, 568, 569, 570, 0, 0,
571, 0, 0, 572, 573, 574, 575, 576, 577, 578,
579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
589, 590, 591, 599, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 227, 228,
229, 230, 231, 232, 233, 234, 0, 235, 236, 237,
0, 0, 0, 0, 0, 0, 0, 238, 239, 0,
240, 241, 242, 0, 244, 245, 246, 247, 248, 0,
250, 251, 0, 252, 253, 254, 255, 256, 257, 0,
0, 788, 259, 260, 261, 262, 0, 263, 264, 265,
266, 267, 0, 0, 0, 269, 270, 271, 272, 273,
0, 275, 276, 277, 0, 278, 279, 280, 281, 282,
283, 0, 0, 285, 286, 287, 0, 0, 0, 0,
0, 0, 0, 289, 290, 291, 292, 293, 294, 295,
296, 297, 0, 298, 0, 299, 300, 301, 302, 303,
304, 0, 305, 306, 307, 308, 0, 0, 309, 310,
311, 312, 313, 0, 314, 315, 316, 0, 317, 318,
319, 0, 320, 321, 322, 323, 324, 325, 326, 327,
328, 0, 329, 0, 330, 331, 332, 333, 0, 334,
0, 335, 0, 0, 0, 338, 339, 340, 341, 0,
342, 343, 0, 344, 345, 346, 0, 347, 348, 349,
350, 351, 0, 353, 354, 355, 356, 0, 357, 358,
359, 360, 361, 362, 363, 0, 364, 0, 366, 367,
368, 369, 370, 371, 372, 0, 373, 0, 374, 0,
0, 377, 0, 379, 380, 381, 382, 383, 0, 0,
384, 385, 0, 387, 0, 0, 389, 390, 391, 0,
0, 392, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 791, 408, 0, 410,
411, 412, 413, 414, 0, 415, 416, 0, 418, 0,
419, 420, 421, 422, 423, 424, 0, 425, 426, 0,
0, 427, 428, 429, 0, 0, 430, 431, 432, 0,
434, 0, 436, 437, 438, 439, 440, 441, 442, 443,
444, 445, 0, 446, 447, 448, 449, 450, 451, 452,
453, 0, 454, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 0, 469, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
0, 481, 482, 0, 792, 485, 486, 487, 488, 489,
490, 491, 492, 793, 494, 495, 496, 497, 498, 0,
499, 500, 501, 502, 2262, 0, 504, 505, 506, 507,
508, 0, 510, 511, 512, 513, 0, 514, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 528, 0, 529, 530, 0, 531, 0, 533, 534,
535, 536, 537, 0, 538, 795, 540, 0, 0, 2263,
542, 543, 544, 545, 0, 546, 547, 548, 549, 550,
551, 552, 0, 0, 553, 554, 555, 556, 557, 0,
0, 558, 559, 560, 561, 562, 563, 564, 0, 565,
0, 567, 568, 569, 570, 0, 0, 571, 0, 0,
572, 573, 574, 575, 576, 797, 578, 579, 580, 581,
582, 583, 584, 585, 586, 587, 588, 589, 590, 591,
599, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 227, 228, 229, 230, 231,
232, 233, 234, 0, 235, 236, 237, 0, 0, 0,
0, 0, 0, 0, 238, 239, 0, 240, 241, 242,
0, 244, 245, 246, 247, 248, 0, 250, 251, 0,
252, 253, 254, 255, 256, 257, 0, 0, 258, 259,
260, 261, 262, 0, 263, 264, 265, 266, 267, 0,
0, 0, 269, 270, 271, 272, 273, 0, 275, 276,
277, 0, 278, 279, 280, 281, 282, 283, 0, 0,
285, 286, 287, 0, 0, 0, 0, 0, 0, 0,
289, 290, 291, 292, 293, 294, 295, 296, 297, 0,
298, 0, 299, 300, 301, 302, 303, 304, 0, 305,
306, 307, 308, 0, 0, 309, 310, 311, 312, 313,
0, 314, 315, 316, 0, 317, 318, 319, 0, 320,
321, 322, 323, 324, 325, 326, 327, 328, 0, 329,
0, 330, 331, 332, 333, 0, 334, 0, 335, 0,
0, 0, 338, 339, 340, 341, 0, 342, 343, 0,
344, 345, 346, 0, 347, 348, 349, 350, 3031, 0,
353, 354, 355, 356, 0, 357, 358, 359, 360, 361,
362, 363, 0, 364, 0, 366, 367, 368, 369, 370,
371, 372, 0, 373, 0, 374, 0, 0, 377, 0,
379, 380, 381, 382, 383, 0, 0, 384, 385, 0,
387, 0, 0, 389, 390, 391, 0, 0, 392, 393,
394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 0, 410, 411, 412, 413,
414, 0, 415, 416, 0, 418, 0, 419, 420, 421,
422, 423, 424, 0, 425, 426, 0, 0, 427, 428,
429, 0, 0, 430, 431, 432, 0, 434, 0, 436,
437, 438, 439, 440, 441, 442, 443, 444, 445, 0,
446, 447, 448, 449, 450, 451, 452, 453, 0, 454,
455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
465, 466, 467, 468, 0, 469, 470, 471, 472, 473,
474, 475, 476, 477, 478, 479, 480, 0, 481, 482,
0, 484, 485, 486, 487, 488, 489, 490, 491, 492,
493, 494, 495, 496, 497, 498, 0, 499, 500, 501,
502, 503, 0, 504, 505, 506, 507, 508, 0, 510,
511, 512, 513, 0, 514, 515, 516, 517, 518, 519,
520, 521, 522, 523, 524, 525, 526, 527, 528, 0,
529, 530, 0, 531, 0, 533, 534, 535, 536, 537,
0, 538, 539, 540, 0, 0, 541, 542, 543, 544,
545, 0, 546, 547, 548, 549, 550, 551, 552, 0,
0, 553, 554, 555, 556, 557, 0, 0, 558, 559,
560, 561, 562, 563, 564, 0, 565, 0, 567, 568,
569, 570, 0, 0, 571, 0, 0, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 582, 583, 584,
585, 586, 587, 588, 589, 590, 591, 599, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 227, 228, 229, 230, 231, 232, 233, 234,
0, 235, 236, 237, 0, 0, 0, 0, 0, 0,
0, 238, 239, 0, 240, 241, 242, 0, 244, 245,
246, 247, 248, 0, 250, 251, 0, 252, 253, 254,
255, 256, 257, 0, 0, 258, 259, 260, 261, 262,
0, 263, 264, 265, 266, 267, 0, 0, 0, 269,
270, 271, 272, 273, 0, 275, 276, 277, 0, 278,
279, 280, 281, 282, 283, 0, 0, 285, 286, 287,
0, 0, 0, 0, 0, 0, 0, 289, 290, 291,
292, 293, 294, 295, 296, 297, 0, 298, 0, 299,
300, 301, 302, 303, 304, 0, 305, 306, 307, 308,
0, 0, 309, 310, 311, 312, 313, 0, 314, 315,
316, 0, 317, 318, 319, 0, 320, 321, 322, 323,
324, 325, 326, 327, 328, 0, 329, 0, 330, 331,
332, 333, 0, 334, 0, 335, 0, 0, 0, 338,
339, 340, 341, 0, 342, 343, 0, 344, 345, 346,
0, 347, 348, 349, 350, 3046, 0, 353, 354, 355,
356, 0, 357, 358, 359, 360, 361, 362, 363, 0,
364, 0, 366, 367, 368, 369, 370, 371, 372, 0,
373, 0, 374, 0, 0, 377, 0, 379, 380, 381,
382, 383, 0, 0, 384, 385, 0, 387, 0, 0,
389, 390, 391, 0, 0, 392, 393, 394, 395, 396,
397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
407, 408, 0, 410, 411, 412, 413, 414, 0, 415,
416, 0, 418, 0, 419, 420, 421, 422, 423, 424,
0, 425, 426, 0, 0, 427, 428, 429, 0, 0,
430, 431, 432, 0, 434, 0, 436, 437, 438, 439,
440, 441, 442, 443, 444, 445, 0, 446, 447, 448,
449, 450, 451, 452, 453, 0, 454, 455, 456, 457,
458, 459, 460, 461, 462, 463, 464, 465, 466, 467,
468, 0, 469, 470, 471, 472, 473, 474, 475, 476,
477, 478, 479, 480, 0, 481, 482, 0, 484, 485,
486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
496, 497, 498, 0, 499, 500, 501, 502, 503, 0,
504, 505, 506, 507, 508, 0, 510, 511, 512, 513,
0, 514, 515, 516, 517, 518, 519, 520, 521, 522,
523, 524, 525, 526, 527, 528, 0, 529, 530, 0,
531, 0, 533, 534, 535, 536, 537, 0, 538, 539,
540, 0, 0, 541, 542, 543, 544, 545, 0, 546,
547, 548, 549, 550, 551, 552, 0, 0, 553, 554,
555, 556, 557, 0, 0, 558, 559, 560, 561, 562,
563, 564, 0, 565, 0, 567, 568, 569, 570, 0,
0, 571, 0, 0, 572, 573, 574, 575, 576, 577,
578, 579, 580, 581, 582, 583, 584, 585, 586, 587,
588, 589, 590, 591, 599, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 227,
228, 229, 230, 231, 232, 233, 234, 0, 235, 236,
237, 0, 0, 0, 0, 0, 0, 0, 238, 239,
0, 240, 241, 242, 0, 244, 245, 246, 247, 248,
0, 250, 251, 0, 252, 253, 254, 255, 256, 257,
0, 0, 258, 259, 260, 261, 262, 0, 263, 264,
265, 266, 267, 0, 0, 0, 269, 270, 271, 272,
273, 0, 275, 276, 277, 0, 278, 279, 280, 281,
282, 283, 0, 0, 285, 286, 287, 0, 0, 0,
0, 0, 0, 0, 289, 290, 291, 292, 293, 294,
295, 296, 297, 0, 298, 0, 299, 300, 301, 302,
303, 304, 0, 305, 306, 307, 308, 0, 0, 309,
310, 311, 312, 313, 0, 314, 315, 316, 0, 317,
318, 319, 0, 320, 321, 322, 323, 324, 325, 326,
327, 328, 0, 329, 0, 330, 331, 332, 333, 0,
334, 0, 335, 0, 0, 0, 338, 339, 340, 341,
0, 342, 343, 0, 344, 345, 346, 0, 347, 348,
349, 350, 3048, 0, 353, 354, 355, 356, 0, 357,
358, 359, 360, 361, 362, 363, 0, 364, 0, 366,
367, 368, 369, 370, 371, 372, 0, 373, 0, 374,
0, 0, 377, 0, 379, 380, 381, 382, 383, 0,
0, 384, 385, 0, 387, 0, 0, 389, 390, 391,
0, 0, 392, 393, 394, 395, 396, 397, 398, 399,
400, 401, 402, 403, 404, 405, 406, 407, 408, 0,
410, 411, 412, 413, 414, 0, 415, 416, 0, 418,
0, 419, 420, 421, 422, 423, 424, 0, 425, 426,
0, 0, 427, 428, 429, 0, 0, 430, 431, 432,
0, 434, 0, 436, 437, 438, 439, 440, 441, 442,
443, 444, 445, 0, 446, 447, 448, 449, 450, 451,
452, 453, 0, 454, 455, 456, 457, 458, 459, 460,
461, 462, 463, 464, 465, 466, 467, 468, 0, 469,
470, 471, 472, 473, 474, 475, 476, 477, 478, 479,
480, 0, 481, 482, 0, 484, 485, 486, 487, 488,
489, 490, 491, 492, 493, 494, 495, 496, 497, 498,
0, 499, 500, 501, 502, 503, 0, 504, 505, 506,
507, 508, 0, 510, 511, 512, 513, 0, 514, 515,
516, 517, 518, 519, 520, 521, 522, 523, 524, 525,
526, 527, 528, 0, 529, 530, 0, 531, 0, 533,
534, 535, 536, 537, 0, 538, 539, 540, 0, 0,
541, 542, 543, 544, 545, 0, 546, 547, 548, 549,
550, 551, 552, 0, 0, 553, 554, 555, 556, 557,
0, 0, 558, 559, 560, 561, 562, 563, 564, 0,
565, 0, 567, 568, 569, 570, 0, 0, 571, 0,
0, 572, 573, 574, 575, 576, 577, 578, 579, 580,
581, 582, 583, 584, 585, 586, 587, 588, 589, 590,
591, 599, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 227, 228, 229, 230,
231, 232, 233, 234, 0, 235, 236, 237, 0, 0,
0, 0, 0, 0, 0, 238, 239, 0, 240, 241,
242, 0, 244, 245, 246, 247, 248, 0, 250, 251,
0, 252, 253, 254, 255, 256, 257, 0, 0, 258,
259, 260, 261, 262, 0, 263, 264, 265, 266, 267,
0, 0, 0, 269, 270, 271, 272, 273, 0, 275,
276, 277, 0, 278, 279, 280, 281, 282, 283, 0,
0, 285, 286, 287, 0, 0, 0, 0, 0, 0,
0, 289, 290, 291, 292, 293, 294, 295, 296, 297,
0, 298, 0, 299, 300, 301, 302, 303, 304, 0,
305, 306, 307, 308, 0, 0, 309, 310, 311, 312,
313, 0, 314, 315, 316, 0, 317, 318, 319, 0,
320, 321, 322, 323, 324, 325, 326, 327, 328, 0,
329, 0, 330, 331, 332, 333, 0, 334, 0, 335,
0, 0, 0, 338, 339, 340, 341, 0, 342, 343,
0, 344, 345, 346, 0, 347, 348, 349, 350, 3190,
0, 353, 354, 355, 356, 0, 357, 358, 359, 360,
361, 362, 363, 0, 364, 0, 366, 367, 368, 369,
370, 371, 372, 0, 373, 0, 374, 0, 0, 377,
0, 379, 380, 381, 382, 383, 0, 0, 384, 385,
0, 387, 0, 0, 389, 390, 391, 0, 0, 392,
393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
403, 404, 405, 406, 407, 408, 0, 410, 411, 412,
413, 414, 0, 415, 416, 0, 418, 0, 419, 420,
421, 422, 423, 424, 0, 425, 426, 0, 0, 427,
428, 429, 0, 0, 430, 431, 432, 0, 434, 0,
436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
0, 446, 447, 448, 449, 450, 451, 452, 453, 0,
454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
464, 465, 466, 467, 468, 0, 469, 470, 471, 472,
473, 474, 475, 476, 477, 478, 479, 480, 0, 481,
482, 0, 484, 485, 486, 487, 488, 489, 490, 491,
492, 493, 494, 495, 496, 497, 498, 0, 499, 500,
501, 502, 503, 0, 504, 505, 506, 507, 508, 0,
510, 511, 512, 513, 0, 514, 515, 516, 517, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
0, 529, 530, 0, 531, 0, 533, 534, 535, 536,
537, 0, 538, 539, 540, 0, 0, 541, 542, 543,
544, 545, 0, 546, 547, 548, 549, 550, 551, 552,
0, 0, 553, 554, 555, 556, 557, 0, 0, 558,
559, 560, 561, 562, 563, 564, 0, 565, 0, 567,
568, 569, 570, 0, 0, 571, 0, 0, 572, 573,
574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
584, 585, 586, 587, 588, 589, 590, 591, 599, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 227, 228, 229, 230, 231, 232, 233,
234, 0, 235, 236, 237, 0, 0, 0, 0, 0,
0, 0, 238, 239, 0, 240, 241, 242, 0, 244,
245, 246, 247, 248, 0, 250, 251, 0, 252, 253,
254, 255, 256, 257, 0, 0, 258, 259, 260, 261,
262, 0, 263, 264, 265, 266, 267, 0, 0, 0,
269, 270, 271, 272, 273, 0, 275, 276, 277, 0,
278, 279, 280, 281, 282, 283, 0, 0, 285, 286,
287, 0, 0, 0, 0, 0, 0, 0, 289, 290,
291, 292, 293, 294, 295, 296, 297, 0, 298, 0,
299, 300, 301, 302, 303, 304, 0, 305, 306, 307,
308, 0, 0, 309, 3226, 311, 312, 313, 0, 314,
315, 316, 0, 317, 318, 319, 0, 320, 321, 322,
323, 324, 325, 326, 327, 328, 0, 329, 0, 330,
331, 332, 333, 0, 334, 0, 335, 0, 0, 0,
338, 339, 340, 341, 0, 342, 343, 0, 344, 345,
346, 0, 347, 348, 349, 350, 351, 0, 353, 354,
355, 356, 0, 357, 358, 359, 360, 361, 362, 363,
0, 364, 0, 366, 367, 368, 369, 370, 371, 372,
0, 373, 0, 374, 0, 0, 377, 0, 379, 380,
381, 382, 383, 0, 0, 384, 385, 0, 387, 0,
0, 389, 390, 391, 0, 0, 392, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 0, 410, 411, 412, 413, 414, 0,
415, 416, 0, 418, 0, 419, 420, 421, 422, 423,
424, 0, 425, 426, 0, 0, 427, 428, 429, 0,
0, 430, 431, 432, 0, 434, 0, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 446, 447,
448, 449, 450, 451, 452, 453, 0, 454, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 0, 481, 482, 0, 484,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 496, 497, 498, 0, 499, 500, 501, 502, 503,
0, 504, 505, 506, 507, 508, 0, 510, 511, 512,
513, 0, 514, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 528, 0, 529, 530,
0, 531, 0, 533, 534, 535, 536, 537, 0, 538,
539, 540, 0, 0, 541, 542, 543, 544, 545, 0,
546, 547, 548, 549, 550, 551, 552, 0, 0, 553,
554, 555, 556, 557, 0, 0, 558, 559, 560, 561,
562, 563, 564, 0, 565, 0, 567, 568, 569, 570,
0, 0, 571, 0, 0, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
587, 588, 589, 590, 591, 599, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
227, 228, 229, 230, 231, 232, 233, 234, 0, 235,
236, 237, 0, 0, 0, 0, 0, 0, 0, 238,
239, 0, 240, 241, 242, 0, 244, 245, 246, 247,
248, 0, 250, 251, 0, 252, 253, 254, 255, 256,
257, 0, 0, 258, 259, 260, 261, 262, 0, 263,
264, 265, 266, 267, 0, 0, 0, 269, 270, 271,
272, 273, 0, 275, 276, 277, 0, 278, 279, 280,
281, 282, 283, 0, 0, 285, 286, 287, 0, 0,
0, 0, 0, 0, 0, 289, 290, 291, 292, 293,
294, 295, 296, 297, 0, 298, 0, 299, 300, 301,
302, 303, 304, 0, 305, 306, 307, 308, 0, 0,
309, 310, 311, 312, 313, 0, 314, 315, 316, 0,
317, 318, 319, 0, 320, 321, 322, 323, 324, 325,
326, 327, 328, 0, 329, 0, 330, 331, 332, 333,
0, 334, 0, 335, 0, 0, 0, 338, 339, 340,
341, 0, 342, 343, 0, 344, 345, 346, 0, 347,
348, 349, 350, 4381, 0, 353, 354, 355, 356, 0,
357, 358, 359, 360, 361, 362, 363, 0, 364, 0,
366, 367, 368, 369, 370, 371, 372, 0, 373, 0,
374, 0, 0, 377, 0, 379, 380, 381, 382, 383,
0, 0, 384, 385, 0, 387, 0, 0, 389, 390,
391, 0, 0, 392, 393, 394, 395, 396, 397, 398,
399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
0, 410, 411, 412, 413, 414, 0, 415, 416, 0,
418, 0, 419, 420, 421, 422, 423, 424, 0, 425,
426, 0, 0, 427, 428, 429, 0, 0, 430, 431,
432, 0, 434, 0, 436, 437, 438, 439, 440, 441,
442, 443, 444, 445, 0, 446, 447, 448, 449, 450,
451, 452, 453, 0, 454, 455, 456, 457, 458, 459,
460, 461, 462, 463, 464, 465, 466, 467, 468, 0,
469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
479, 480, 0, 481, 482, 0, 484, 485, 486, 487,
488, 489, 490, 491, 492, 493, 494, 495, 496, 497,
498, 0, 499, 500, 501, 502, 503, 0, 504, 505,
506, 507, 508, 0, 510, 511, 512, 513, 0, 514,
515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
525, 526, 527, 528, 0, 529, 530, 0, 531, 0,
533, 534, 535, 536, 537, 0, 538, 539, 540, 0,
0, 541, 542, 543, 544, 545, 0, 546, 547, 548,
549, 550, 551, 552, 0, 0, 553, 554, 555, 556,
557, 0, 0, 558, 559, 560, 561, 562, 563, 564,
0, 565, 0, 567, 568, 569, 570, 0, 0, 571,
0, 0, 572, 573, 574, 575, 576, 577, 578, 579,
580, 581, 582, 583, 584, 585, 586, 587, 588, 589,
590, 591, 1058, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 227, 228, 229,
230, 231, 232, 233, 234, 0, 235, 236, 237, 0,
0, 0, 0, 0, 0, 0, 238, 239, 0, 240,
241, 242, 243, 244, 245, 246, 0, 1059, 249, 1060,
1061, 0, 252, 253, 254, 255, 256, 257, 0, 0,
258, 259, 1062, 1063, 262, 0, 263, 264, 265, 266,
0, 0, 268, 0, 269, 270, 271, 272, 273, 274,
275, 276, 277, 0, 278, 279, 280, 281, 282, 283,
0, 284, 285, 286, 287, 0, 0, 0, 288, 0,
0, 0, 289, 290, 291, 292, 293, 294, 1064, 1065,
297, 0, 298, 0, 299, 300, 301, 302, 303, 304,
0, 305, 306, 307, 308, 0, 0, 309, 310, 1066,
312, 313, 0, 314, 315, 316, 0, 317, 318, 319,
0, 320, 321, 322, 323, 0, 325, 326, 327, 0,
0, 329, 0, 330, 331, 1067, 333, 0, 334, 0,
335, 336, 0, 337, 338, 339, 340, 341, 0, 342,
0, 0, 0, 345, 346, 0, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 2157, 357, 358, 359,
360, 361, 362, 363, 0, 364, 365, 2158, 367, 368,
369, 370, 1069, 1070, 0, 1071, 0, 374, 375, 376,
377, 378, 379, 380, 381, 382, 383, 0, 0, 384,
0, 386, 387, 388, 0, 389, 390, 391, 0, 0,
392, 393, 394, 395, 396, 397, 398, 399, 400, 401,
402, 403, 404, 405, 406, 407, 1072, 409, 1073, 411,
412, 413, 0, 0, 415, 416, 417, 418, 0, 0,
420, 1074, 422, 423, 424, 0, 425, 426, 0, 0,
427, 428, 429, 0, 0, 430, 431, 2160, 433, 434,
435, 0, 437, 438, 439, 440, 441, 442, 443, 444,
445, 0, 446, 447, 0, 449, 0, 451, 452, 453,
0, 454, 455, 456, 457, 458, 459, 460, 461, 462,
463, 1075, 465, 466, 467, 468, 0, 469, 470, 471,
472, 473, 474, 475, 476, 477, 478, 479, 480, 0,
481, 482, 483, 484, 485, 486, 487, 488, 0, 490,
491, 492, 493, 494, 495, 496, 497, 498, 0, 499,
500, 501, 502, 503, 0, 504, 505, 2161, 507, 508,
509, 510, 511, 1077, 513, 0, 514, 515, 516, 517,
518, 519, 520, 521, 522, 523, 524, 525, 526, 0,
528, 0, 529, 530, 0, 531, 532, 533, 534, 535,
536, 537, 0, 538, 1078, 1079, 0, 0, 541, 542,
0, 544, 0, 0, 546, 547, 548, 549, 550, 551,
552, 0, 0, 553, 554, 555, 556, 557, 0, 0,
558, 559, 560, 561, 562, 0, 1080, 2162, 565, 566,
567, 568, 569, 570, 0, 0, 571, 0, 0, 572,
573, 574, 575, 576, 577, 599, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 589, 590, 591, 0,
227, 228, 229, 230, 231, 232, 233, 234, 0, 235,
236, 237, 0, 0, 0, 0, 0, 0, 0, 238,
239, 0, 240, 241, 242, 0, 244, 245, 246, 247,
248, 0, 250, 251, 0, 252, 253, 254, 255, 256,
257, 0, 0, 258, 259, 260, 261, 262, 0, 263,
264, 265, 266, 267, 0, 0, 0, 269, 270, 271,
272, 273, 0, 275, 276, 277, 0, 278, 279, 280,
281, 282, 283, 0, 0, 285, 286, 287, 0, 0,
0, 0, 0, 0, 0, 289, 290, 291, 292, 293,
294, 295, 296, 297, 0, 298, 0, 299, 300, 301,
302, 303, 304, 0, 305, 306, 307, 308, 0, 0,
309, 310, 311, 312, 313, 0, 314, 315, 316, 0,
317, 318, 319, 0, 320, 321, 322, 323, 324, 325,
326, 327, 328, 0, 329, 0, 330, 331, 332, 333,
0, 334, 0, 335, 0, 0, 0, 338, 339, 340,
341, 0, 342, 343, 0, 344, 0, 346, 0, 347,
348, 349, 350, 351, 0, 353, 354, 355, 356, 0,
357, 358, 359, 360, 361, 362, 363, 0, 364, 0,
366, 367, 368, 369, 370, 371, 372, 0, 373, 0,
374, 0, 0, 377, 0, 379, 380, 381, 382, 383,
0, 0, 384, 385, 0, 387, 0, 0, 389, 390,
391, 0, 0, 392, 393, 394, 395, 396, 397, 398,
399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
0, 410, 411, 412, 413, 414, 0, 415, 416, 0,
418, 0, 419, 420, 421, 422, 423, 424, 0, 425,
426, 0, 0, 427, 428, 429, 0, 0, 430, 431,
432, 0, 434, 0, 436, 437, 438, 439, 440, 441,
442, 0, 444, 445, 0, 446, 447, 448, 449, 450,
451, 452, 453, 0, 454, 455, 456, 457, 458, 459,
460, 461, 0, 463, 464, 465, 466, 467, 468, 0,
469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
479, 480, 0, 481, 482, 0, 484, 485, 486, 487,
488, 489, 0, 491, 492, 493, 494, 495, 496, 497,
498, 0, 499, 500, 501, 502, 503, 0, 504, 505,
506, 507, 508, 0, 510, 511, 512, 513, 0, 514,
515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
525, 526, 527, 528, 0, 529, 530, 0, 531, 0,
533, 534, 535, 536, 537, 0, 538, 539, 540, 0,
0, 541, 542, 543, 544, 545, 0, 546, 547, 548,
549, 550, 551, 552, 0, 0, 553, 554, 555, 556,
557, 0, 0, 558, 559, 560, 561, 562, 563, 564,
0, 565, 0, 567, 568, 569, 570, 0, 0, 571,
0, 0, 572, 573, 574, 575, 576, 577, 578, 579,
580, 581, 582, 583, 584, 585, 586, 587, 588, 589,
590, 591, 1058, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 227, 228, 229,
230, 231, 232, 233, 234, 0, 235, 236, 237, 0,
0, 0, 0, 0, 0, 0, 238, 239, 0, 240,
241, 242, 243, 244, 245, 246, 0, 1059, 249, 1060,
1061, 0, 252, 253, 254, 255, 256, 257, 0, 0,
258, 259, 1062, 1063, 262, 0, 263, 264, 265, 266,
0, 0, 268, 0, 269, 270, 271, 272, 273, 274,
275, 276, 277, 0, 278, 279, 280, 281, 282, 283,
0, 284, 285, 286, 287, 0, 0, 0, 288, 0,
0, 0, 289, 290, 291, 292, 293, 294, 1064, 1065,
297, 0, 298, 0, 299, 300, 301, 302, 303, 304,
0, 305, 306, 307, 308, 0, 0, 309, 310, 1066,
312, 313, 0, 314, 315, 316, 0, 317, 318, 319,
0, 320, 321, 322, 323, 0, 325, 326, 327, 0,
0, 329, 0, 330, 331, 1067, 333, 0, 334, 0,
335, 336, 0, 337, 338, 339, 340, 341, 0, 342,
0, 0, 0, 345, 346, 0, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 0, 357, 358, 359,
360, 361, 362, 363, 0, 364, 365, 0, 367, 368,
369, 370, 1069, 1070, 0, 1071, 0, 374, 375, 376,
377, 378, 379, 380, 381, 382, 383, 0, 0, 384,
0, 386, 387, 388, 0, 389, 390, 391, 0, 0,
392, 393, 394, 395, 396, 397, 398, 399, 400, 401,
402, 403, 404, 405, 406, 407, 1072, 409, 1073, 411,
412, 413, 0, 0, 415, 416, 417, 418, 2257, 0,
420, 1074, 422, 423, 424, 0, 425, 426, 0, 0,
427, 428, 429, 0, 0, 430, 431, 0, 433, 434,
435, 0, 437, 438, 439, 440, 441, 442, 443, 444,
445, 0, 446, 447, 0, 449, 0, 451, 452, 453,
0, 454, 455, 456, 457, 458, 459, 460, 461, 462,
463, 1075, 465, 466, 467, 468, 0, 469, 470, 471,
472, 473, 474, 475, 476, 477, 478, 479, 480, 0,
481, 482, 483, 484, 485, 486, 487, 488, 0, 490,
491, 492, 493, 494, 495, 496, 497, 498, 0, 499,
500, 501, 502, 503, 0, 504, 505, 2161, 507, 508,
509, 510, 511, 1077, 513, 0, 514, 515, 516, 517,
518, 519, 520, 521, 522, 523, 524, 525, 526, 0,
528, 0, 529, 530, 3940, 531, 532, 533, 534, 535,
536, 537, 0, 538, 1078, 1079, 0, 0, 541, 542,
0, 544, 0, 0, 546, 547, 548, 549, 550, 551,
552, 0, 0, 553, 554, 555, 556, 557, 0, 0,
558, 559, 560, 561, 562, 0, 1080, 0, 565, 566,
567, 568, 569, 570, 0, 0, 571, 0, 0, 572,
573, 574, 575, 576, 577, 1058, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 589, 590, 591, 0,
227, 228, 229, 230, 231, 232, 233, 234, 0, 235,
236, 237, 0, 0, 0, 0, 0, 0, 0, 238,
239, 0, 240, 241, 242, 243, 244, 245, 246, 0,
1059, 249, 1060, 1061, 0, 252, 253, 254, 255, 256,
257, 0, 0, 258, 259, 1062, 1063, 262, 0, 263,
264, 265, 266, 0, 0, 268, 0, 269, 270, 271,
272, 273, 274, 275, 276, 277, 0, 278, 279, 280,
281, 282, 283, 0, 284, 285, 286, 287, 0, 0,
0, 288, 0, 0, 0, 289, 290, 291, 292, 293,
294, 1064, 1065, 297, 0, 298, 0, 299, 300, 301,
302, 303, 304, 0, 305, 306, 307, 308, 0, 0,
309, 310, 1066, 312, 313, 0, 314, 315, 316, 0,
317, 318, 319, 0, 320, 321, 322, 323, 0, 325,
326, 327, 0, 0, 329, 0, 330, 331, 1067, 333,
0, 334, 0, 335, 336, 0, 337, 338, 339, 340,
341, 0, 342, 0, 0, 0, 345, 346, 0, 347,
348, 349, 350, 351, 352, 353, 354, 355, 356, 0,
357, 358, 359, 360, 361, 362, 363, 0, 364, 365,
0, 367, 368, 369, 370, 1069, 1070, 0, 1071, 0,
374, 375, 376, 377, 378, 379, 380, 381, 382, 383,
0, 0, 384, 0, 386, 387, 388, 0, 389, 390,
391, 0, 0, 392, 393, 394, 395, 396, 397, 398,
399, 400, 401, 402, 403, 404, 405, 406, 407, 1072,
409, 1073, 411, 412, 413, 2329, 0, 415, 416, 417,
418, 0, 0, 420, 1074, 422, 423, 424, 0, 425,
426, 0, 0, 427, 428, 429, 0, 0, 430, 431,
0, 433, 434, 435, 0, 437, 438, 439, 440, 441,
442, 443, 444, 445, 0, 446, 447, 0, 449, 0,
451, 452, 453, 0, 454, 455, 456, 457, 458, 459,
460, 461, 462, 463, 1075, 465, 466, 467, 468, 0,
469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
479, 480, 0, 481, 482, 483, 484, 485, 486, 487,
488, 0, 490, 491, 492, 493, 494, 495, 496, 497,
498, 0, 499, 500, 501, 502, 503, 0, 504, 505,
1076, 507, 508, 509, 510, 511, 1077, 513, 0, 514,
515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
525, 526, 0, 528, 0, 529, 530, 0, 531, 532,
533, 534, 535, 536, 537, 0, 538, 1078, 1079, 0,
0, 541, 542, 0, 544, 0, 0, 546, 547, 548,
549, 550, 551, 552, 0, 0, 553, 554, 555, 556,
557, 0, 0, 558, 559, 560, 561, 562, 0, 1080,
0, 565, 566, 567, 568, 569, 570, 0, 0, 571,
0, 0, 572, 573, 574, 575, 576, 577, 1058, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 589,
590, 591, 0, 227, 228, 229, 230, 231, 232, 233,
234, 0, 235, 236, 237, 0, 0, 0, 0, 0,
0, 0, 238, 239, 0, 240, 241, 242, 243, 244,
245, 246, 0, 1059, 249, 1060, 1061, 0, 252, 253,
254, 255, 256, 257, 0, 0, 258, 259, 1062, 1063,
262, 0, 263, 264, 265, 266, 0, 0, 268, 0,
269, 270, 271, 272, 273, 274, 275, 276, 277, 0,
278, 279, 280, 281, 282, 283, 0, 284, 285, 286,
287, 0, 0, 0, 288, 0, 0, 0, 289, 290,
291, 292, 293, 294, 1064, 1065, 297, 0, 298, 0,
299, 300, 301, 302, 303, 304, 0, 305, 306, 307,
308, 0, 0, 309, 310, 1066, 312, 313, 0, 314,
315, 316, 0, 317, 318, 319, 0, 320, 321, 322,
323, 0, 325, 326, 327, 0, 0, 329, 0, 330,
331, 1067, 333, 0, 334, 0, 335, 336, 0, 337,
338, 339, 340, 341, 0, 342, 0, 0, 0, 345,
346, 0, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 0, 357, 358, 359, 360, 361, 362, 363,
0, 364, 365, 0, 367, 368, 369, 370, 1069, 1070,
0, 1071, 0, 374, 375, 376, 377, 378, 379, 380,
381, 382, 383, 0, 0, 384, 0, 386, 387, 388,
0, 389, 390, 391, 0, 0, 392, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 1072, 409, 1073, 411, 412, 413, 3748, 0,
415, 416, 417, 418, 0, 0, 420, 1074, 422, 423,
424, 0, 425, 426, 0, 0, 427, 428, 429, 0,
0, 430, 431, 0, 433, 434, 435, 0, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 446, 447,
0, 449, 0, 451, 452, 453, 0, 454, 455, 456,
457, 458, 459, 460, 461, 462, 463, 1075, 465, 466,
467, 468, 0, 469, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, 0, 481, 482, 483, 484,
485, 486, 487, 488, 0, 490, 491, 492, 493, 494,
495, 496, 497, 498, 0, 499, 500, 501, 502, 503,
0, 504, 505, 1076, 507, 508, 509, 510, 511, 1077,
513, 0, 514, 515, 516, 517, 518, 519, 520, 521,
522, 523, 524, 525, 526, 0, 528, 0, 529, 530,
0, 531, 532, 533, 534, 535, 536, 537, 0, 538,
1078, 1079, 0, 0, 541, 542, 0, 544, 0, 0,
546, 547, 548, 549, 550, 551, 552, 0, 0, 553,
554, 555, 556, 557, 0, 0, 558, 559, 560, 561,
562, 0, 1080, 0, 565, 566, 567, 568, 569, 570,
0, 0, 571, 0, 0, 572, 573, 574, 575, 576,
577, 1058, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 589, 590, 591, 0, 227, 228, 229, 230,
231, 232, 233, 234, 0, 235, 236, 237, 0, 0,
0, 0, 0, 0, 0, 238, 239, 0, 240, 241,
242, 243, 244, 245, 246, 0, 1059, 249, 1060, 1061,
0, 252, 253, 254, 255, 256, 257, 0, 0, 258,
259, 1062, 1063, 262, 0, 263, 264, 265, 266, 0,
0, 268, 0, 269, 270, 271, 272, 273, 274, 275,
276, 277, 0, 278, 279, 280, 281, 282, 283, 0,
284, 285, 286, 287, 0, 0, 0, 288, 0, 0,
0, 289, 290, 291, 292, 293, 294, 1064, 1065, 297,
0, 298, 0, 299, 300, 301, 302, 303, 304, 0,
305, 306, 307, 308, 0, 0, 309, 310, 1066, 312,
313, 0, 314, 315, 316, 0, 317, 318, 319, 0,
320, 321, 322, 323, 0, 325, 326, 327, 0, 0,
329, 0, 330, 331, 1067, 333, 5289, 334, 0, 335,
336, 0, 337, 338, 339, 340, 341, 0, 342, 0,
0, 0, 345, 346, 0, 347, 348, 349, 350, 351,
352, 353, 354, 355, 356, 0, 357, 358, 359, 360,
361, 362, 363, 0, 364, 365, 0, 367, 368, 369,
370, 1069, 1070, 0, 1071, 0, 374, 375, 376, 377,
378, 379, 380, 381, 382, 383, 0, 0, 384, 0,
386, 387, 388, 0, 389, 390, 391, 0, 0, 392,
393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
403, 404, 405, 406, 407, 1072, 409, 1073, 411, 412,
413, 0, 0, 415, 416, 417, 418, 0, 0, 420,
1074, 422, 423, 424, 0, 425, 426, 0, 0, 427,
428, 429, 0, 0, 430, 431, 0, 433, 434, 435,
0, 437, 438, 439, 440, 441, 442, 443, 444, 445,
0, 446, 447, 0, 449, 0, 451, 452, 453, 0,
454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
1075, 465, 466, 467, 468, 0, 469, 470, 471, 472,
473, 474, 475, 476, 477, 478, 479, 480, 0, 481,
482, 483, 484, 485, 486, 487, 488, 0, 490, 491,
492, 493, 494, 495, 496, 497, 498, 0, 499, 500,
501, 502, 503, 0, 504, 505, 1076, 507, 508, 509,
510, 511, 1077, 513, 0, 514, 515, 516, 517, 518,
519, 520, 521, 522, 523, 524, 525, 526, 0, 528,
0, 529, 530, 0, 531, 532, 533, 534, 535, 536,
537, 0, 538, 1078, 1079, 0, 0, 541, 542, 0,
544, 0, 0, 546, 547, 548, 549, 550, 551, 552,
0, 0, 553, 554, 555, 556, 557, 0, 0, 558,
559, 560, 561, 562, 0, 1080, 0, 565, 566, 567,
568, 569, 570, 0, 0, 571, 0, 0, 572, 573,
574, 575, 576, 577, 1058, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 589, 590, 591, 0, 227,
228, 229, 230, 231, 232, 233, 234, 0, 235, 236,
237, 0, 0, 0, 0, 0, 0, 0, 238, 239,
0, 240, 241, 242, 243, 244, 245, 246, 0, 1059,
249, 1060, 1061, 0, 252, 253, 254, 255, 256, 257,
0, 0, 258, 259, 1062, 1063, 262, 0, 263, 264,
265, 266, 0, 0, 268, 0, 269, 270, 271, 272,
273, 274, 275, 276, 277, 0, 278, 279, 280, 281,
282, 283, 0, 284, 285, 286, 287, 0, 0, 0,
288, 0, 0, 0, 289, 290, 291, 292, 293, 294,
1064, 1065, 297, 0, 298, 0, 299, 300, 301, 302,
303, 304, 0, 305, 306, 307, 308, 0, 0, 309,
310, 1066, 312, 313, 0, 314, 315, 316, 0, 317,
318, 319, 0, 320, 321, 322, 323, 0, 325, 326,
327, 0, 0, 329, 0, 330, 331, 1067, 333, 0,
334, 0, 335, 336, 0, 337, 338, 339, 340, 341,
0, 342, 0, 0, 0, 345, 346, 0, 347, 348,
349, 350, 1068, 352, 353, 354, 355, 356, 0, 357,
358, 359, 360, 361, 362, 363, 0, 364, 365, 0,
367, 368, 369, 370, 1069, 1070, 0, 1071, 0, 374,
375, 376, 377, 378, 379, 380, 381, 382, 383, 0,
0, 384, 0, 386, 387, 388, 0, 389, 390, 391,
0, 0, 392, 393, 394, 395, 396, 397, 398, 399,
400, 401, 402, 403, 404, 405, 406, 407, 1072, 409,
1073, 411, 412, 413, 0, 0, 415, 416, 417, 418,
0, 0, 420, 1074, 422, 423, 424, 0, 425, 426,
0, 0, 427, 428, 429, 0, 0, 430, 431, 0,
433, 434, 435, 0, 437, 438, 439, 440, 441, 442,
443, 444, 445, 0, 446, 447, 0, 449, 0, 451,
452, 453, 0, 454, 455, 456, 457, 458, 459, 460,
461, 462, 463, 1075, 465, 466, 467, 468, 0, 469,
470, 471, 472, 473, 474, 475, 476, 477, 478, 479,
480, 0, 481, 482, 483, 484, 485, 486, 487, 488,
0, 490, 491, 492, 493, 494, 495, 496, 497, 498,
0, 499, 500, 501, 502, 503, 0, 504, 505, 1076,
507, 508, 509, 510, 511, 1077, 513, 0, 514, 515,
516, 517, 518, 519, 520, 521, 522, 523, 524, 525,
526, 0, 528, 0, 529, 530, 0, 531, 532, 533,
534, 535, 536, 537, 0, 538, 1078, 1079, 0, 0,
541, 542, 0, 544, 0, 0, 546, 547, 548, 549,
550, 551, 552, 0, 0, 553, 554, 555, 556, 557,
0, 0, 558, 559, 560, 561, 562, 0, 1080, 0,
565, 566, 567, 568, 569, 570, 0, 0, 571, 0,
0, 572, 573, 574, 575, 576, 577, 1058, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 589, 590,
591, 0, 227, 228, 229, 230, 231, 232, 233, 234,
0, 235, 236, 237, 0, 0, 0, 0, 0, 0,
0, 238, 239, 0, 240, 241, 242, 243, 244, 245,
246, 0, 1059, 249, 1060, 1061, 0, 252, 253, 254,
255, 256, 257, 0, 0, 258, 259, 1062, 1063, 262,
0, 263, 264, 265, 266, 0, 0, 268, 0, 269,
270, 271, 272, 273, 274, 275, 276, 277, 0, 278,
279, 280, 281, 282, 283, 0, 284, 285, 286, 287,
0, 0, 0, 288, 0, 0, 0, 289, 290, 291,
292, 293, 294, 1064, 1065, 297, 0, 298, 0, 299,
300, 301, 302, 303, 304, 0, 305, 306, 307, 308,
0, 0, 309, 310, 1066, 312, 313, 0, 314, 315,
316, 0, 317, 318, 319, 0, 320, 321, 322, 323,
0, 325, 326, 327, 0, 0, 329, 0, 330, 331,
1067, 333, 0, 334, 0, 335, 336, 0, 337, 338,
339, 340, 341, 0, 342, 0, 0, 0, 345, 346,
0, 347, 348, 349, 350, 1126, 352, 353, 354, 355,
356, 0, 357, 358, 359, 360, 361, 362, 363, 0,
364, 365, 0, 367, 368, 369, 370, 1069, 1070, 0,
1071, 0, 374, 375, 376, 377, 378, 379, 380, 381,
382, 383, 0, 0, 384, 0, 386, 387, 388, 0,
389, 390, 391, 0, 0, 392, 393, 394, 395, 396,
397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
407, 1072, 409, 1073, 411, 412, 413, 0, 0, 415,
416, 417, 418, 0, 0, 420, 1074, 422, 423, 424,
0, 425, 426, 0, 0, 427, 428, 429, 0, 0,
430, 431, 0, 433, 434, 435, 0, 437, 438, 439,
440, 441, 442, 443, 444, 445, 0, 446, 447, 0,
449, 0, 451, 452, 453, 0, 454, 455, 456, 457,
458, 459, 460, 461, 462, 463, 1075, 465, 466, 467,
468, 0, 469, 470, 471, 472, 473, 474, 475, 476,
477, 478, 479, 480, 0, 481, 482, 483, 484, 485,
486, 487, 488, 0, 490, 491, 492, 493, 494, 495,
496, 497, 498, 0, 499, 500, 501, 502, 503, 0,
504, 505, 1076, 507, 508, 509, 510, 511, 1077, 513,
0, 514, 515, 516, 517, 518, 519, 520, 521, 522,
523, 524, 525, 526, 0, 528, 0, 529, 530, 0,
531, 532, 533, 534, 535, 536, 537, 0, 538, 1078,
1079, 0, 0, 541, 542, 0, 544, 0, 0, 546,
547, 548, 549, 550, 551, 552, 0, 0, 553, 554,
555, 556, 557, 0, 0, 558, 559, 560, 561, 562,
0, 1080, 0, 565, 566, 567, 568, 569, 570, 0,
0, 571, 0, 0, 572, 573, 574, 575, 576, 577,
1058, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 589, 590, 591, 0, 227, 228, 229, 230, 231,
232, 233, 234, 0, 235, 236, 237, 0, 0, 0,
0, 0, 0, 0, 238, 239, 0, 240, 241, 242,
243, 244, 245, 246, 0, 1059, 249, 1060, 1061, 0,
252, 253, 254, 255, 256, 257, 0, 0, 258, 259,
1062, 1063, 262, 0, 263, 264, 265, 266, 0, 0,
268, 0, 269, 270, 271, 272, 273, 274, 275, 276,
277, 0, 278, 279, 280, 281, 282, 283, 0, 284,
285, 286, 287, 0, 0, 0, 288, 0, 0, 0,
289, 290, 291, 292, 293, 294, 1064, 1065, 297, 0,
298, 0, 299, 300, 301, 302, 303, 304, 0, 305,
306, 307, 308, 0, 0, 309, 310, 1066, 312, 313,
0, 314, 315, 316, 0, 317, 318, 319, 0, 320,
321, 322, 323, 0, 325, 326, 327, 0, 0, 329,
0, 330, 331, 1067, 333, 0, 334, 0, 335, 336,
0, 337, 338, 339, 340, 341, 0, 342, 0, 0,
0, 345, 346, 0, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 0, 357, 358, 359, 360, 361,
362, 363, 0, 364, 365, 0, 367, 368, 369, 370,
1069, 1070, 0, 1071, 0, 374, 375, 376, 377, 378,
379, 380, 381, 382, 383, 0, 0, 384, 0, 386,
387, 388, 0, 389, 390, 391, 0, 0, 392, 393,
394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 1072, 409, 1073, 411, 412, 413,
0, 0, 415, 416, 417, 418, 0, 0, 420, 1074,
422, 423, 424, 0, 425, 426, 0, 0, 427, 428,
429, 0, 0, 430, 431, 0, 433, 434, 435, 0,
437, 438, 439, 440, 441, 442, 443, 444, 445, 0,
446, 447, 0, 449, 0, 451, 452, 453, 0, 454,
455, 456, 457, 458, 459, 460, 461, 462, 463, 1075,
465, 466, 467, 468, 0, 469, 470, 471, 472, 473,
474, 475, 476, 477, 478, 479, 480, 0, 481, 482,
483, 484, 485, 486, 487, 488, 0, 490, 491, 492,
493, 494, 495, 496, 497, 498, 0, 499, 500, 501,
502, 503, 0, 504, 505, 1076, 507, 508, 509, 510,
511, 1077, 513, 0, 514, 515, 516, 517, 518, 519,
520, 521, 522, 523, 524, 525, 526, 0, 528, 0,
529, 530, 0, 531, 532, 533, 534, 535, 536, 537,
0, 538, 1078, 1079, 0, 0, 541, 542, 0, 544,
0, 0, 546, 547, 548, 549, 550, 551, 552, 0,
0, 553, 554, 555, 556, 557, 0, 0, 558, 559,
560, 561, 562, 0, 1080, 0, 565, 566, 567, 568,
569, 570, 0, 0, 571, 0, 0, 572, 573, 574,
575, 576, 577, 1058, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 589, 590, 591, 0, 227, 228,
229, 230, 231, 232, 233, 234, 0, 235, 236, 237,
0, 0, 0, 0, 0, 0, 0, 238, 239, 0,
240, 241, 242, 243, 244, 245, 246, 0, 1059, 249,
1060, 1061, 0, 252, 253, 254, 255, 256, 257, 0,
0, 258, 259, 1062, 1063, 262, 0, 263, 264, 265,
266, 0, 0, 268, 0, 269, 270, 271, 272, 273,
274, 275, 276, 277, 0, 278, 279, 280, 281, 282,
283, 0, 284, 285, 286, 287, 0, 0, 0, 288,
0, 0, 0, 289, 290, 291, 292, 293, 294, 1064,
1065, 297, 0, 298, 0, 299, 300, 301, 302, 303,
304, 0, 305, 306, 307, 308, 0, 0, 309, 310,
1066, 312, 313, 0, 314, 315, 316, 0, 317, 318,
319, 0, 320, 321, 322, 323, 0, 325, 326, 327,
0, 0, 329, 0, 330, 331, 1067, 333, 0, 334,
0, 335, 336, 0, 337, 338, 339, 340, 341, 0,
342, 0, 0, 0, 345, 346, 0, 347, 348, 349,
350, 351, 352, 353, 354, 355, 356, 0, 357, 358,
359, 360, 361, 362, 363, 0, 364, 365, 0, 367,
368, 369, 370, 1069, 1070, 0, 1071, 0, 374, 375,
376, 377, 378, 379, 380, 381, 382, 383, 0, 0,
384, 0, 386, 387, 388, 0, 389, 390, 391, 0,
0, 392, 393, 394, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 1072, 409, 1073,
411, 412, 413, 0, 0, 415, 416, 417, 418, 0,
0, 420, 1074, 422, 423, 424, 0, 425, 426, 0,
0, 427, 428, 429, 0, 0, 430, 431, 0, 433,
434, 435, 0, 437, 438, 439, 440, 441, 442, 443,
444, 445, 0, 446, 447, 0, 449, 0, 451, 452,
453, 0, 454, 455, 456, 457, 458, 459, 460, 461,
462, 463, 1075, 465, 466, 467, 468, 0, 469, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
0, 481, 482, 483, 484, 485, 486, 487, 488, 0,
490, 491, 492, 493, 494, 495, 496, 497, 498, 0,
499, 500, 501, 502, 503, 0, 504, 505, 2161, 507,
508, 509, 510, 511, 1077, 513, 0, 514, 515, 516,
517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
0, 528, 0, 529, 530, 0, 531, 532, 533, 534,
535, 536, 537, 0, 538, 1078, 1079, 0, 0, 541,
542, 0, 544, 0, 0, 546, 547, 548, 549, 550,
551, 552, 0, 0, 553, 554, 555, 556, 557, 0,
0, 558, 559, 560, 561, 562, 0, 1080, 0, 565,
566, 567, 568, 569, 570, 0, 0, 571, 0, 0,
572, 573, 574, 575, 576, 577, 1058, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 589, 590, 591,
0, 227, 228, 229, 230, 231, 232, 233, 234, 0,
235, 236, 237, 0, 0, 0, 0, 0, 0, 0,
238, 239, 0, 240, 241, 242, 243, 244, 245, 246,
0, 1059, 249, 1060, 1061, 0, 252, 253, 254, 255,
256, 257, 0, 0, 258, 259, 1062, 1063, 262, 0,
263, 264, 265, 266, 0, 0, 268, 0, 269, 270,
271, 272, 273, 274, 275, 276, 277, 0, 278, 279,
280, 281, 282, 283, 0, 284, 285, 286, 287, 0,
0, 0, 288, 0, 0, 0, 289, 290, 291, 292,
293, 294, 1064, 1065, 297, 0, 298, 0, 299, 300,
301, 302, 303, 304, 0, 305, 306, 307, 308, 0,
0, 309, 310, 1066, 312, 313, 0, 314, 315, 316,
0, 317, 318, 319, 0, 320, 321, 322, 323, 0,
325, 326, 327, 0, 0, 329, 0, 330, 331, 1067,
333, 0, 334, 0, 335, 336, 0, 337, 338, 339,
340, 341, 0, 342, 0, 0, 0, 345, 346, 0,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
0, 357, 358, 359, 360, 361, 362, 363, 0, 364,
365, 0, 367, 368, 369, 370, 1069, 1070, 0, 1071,
0, 374, 375, 376, 377, 378, 379, 380, 381, 382,
383, 0, 0, 384, 0, 386, 387, 388, 0, 389,
390, 391, 0, 0, 392, 393, 394, 395, 396, 397,
398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
1072, 409, 1073, 411, 412, 413, 0, 0, 415, 416,
417, 418, 0, 0, 420, 1074, 422, 423, 424, 0,
425, 426, 0, 0, 427, 428, 429, 0, 0, 430,
431, 0, 433, 434, 435, 0, 437, 438, 439, 440,
441, 442, 443, 444, 445, 0, 446, 447, 0, 449,
0, 451, 452, 453, 0, 454, 455, 456, 457, 458,
459, 460, 461, 462, 463, 1075, 465, 466, 467, 468,
0, 469, 470, 471, 472, 473, 474, 475, 476, 477,
478, 479, 480, 0, 481, 482, 483, 484, 485, 486,
487, 488, 0, 490, 491, 492, 493, 494, 495, 496,
497, 498, 0, 499, 500, 501, 502, 503, 0, 504,
505, 0, 507, 508, 509, 510, 511, 1077, 513, 0,
514, 515, 516, 517, 518, 519, 520, 521, 522, 523,
524, 525, 526, 0, 528, 0, 529, 530, 0, 531,
532, 533, 534, 535, 536, 537, 0, 538, 1078, 1079,
0, 0, 541, 542, 0, 544, 0, 0, 546, 547,
548, 549, 550, 551, 552, 0, 0, 553, 554, 555,
556, 557, 0, 0, 558, 559, 560, 561, 562, 0,
1080, 0, 565, 566, 567, 568, 569, 570, 0, 0,
571, 0, 0, 572, 573, 574, 575, 576, 577, 1058,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
589, 590, 591, 0, 227, 228, 229, 230, 231, 232,
233, 234, 0, 235, 236, 237, 0, 0, 0, 0,
0, 0, 0, 238, 239, 0, 240, 241, 242, 243,
244, 245, 246, 0, 0, 249, 0, 0, 0, 252,
253, 254, 255, 256, 257, 0, 0, 258, 259, 0,
0, 262, 0, 263, 264, 265, 266, 0, 0, 268,
0, 269, 270, 271, 272, 273, 274, 275, 276, 277,
0, 278, 279, 280, 281, 282, 283, 0, 284, 285,
286, 287, 0, 0, 0, 288, 0, 0, 0, 289,
290, 291, 292, 293, 294, 0, 0, 297, 0, 298,
0, 299, 300, 301, 302, 303, 304, 0, 305, 306,
307, 308, 0, 0, 309, 310, 311, 312, 313, 0,
314, 315, 316, 0, 317, 318, 319, 0, 320, 321,
322, 323, 0, 325, 326, 327, 0, 0, 329, 0,
330, 331, 0, 333, 0, 334, 0, 335, 336, 0,
337, 338, 339, 340, 341, 0, 342, 0, 0, 0,
345, 346, 0, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 0, 357, 358, 359, 360, 361, 362,
363, 0, 364, 365, 0, 367, 368, 369, 370, 0,
0, 0, 0, 0, 374, 375, 376, 377, 378, 379,
380, 381, 382, 383, 0, 0, 384, 0, 386, 387,
388, 0, 389, 390, 391, 0, 0, 392, 393, 394,
395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
405, 406, 407, 0, 409, 0, 411, 412, 413, 0,
0, 415, 416, 417, 418, 0, 0, 420, 0, 422,
423, 424, 0, 425, 426, 0, 0, 427, 428, 429,
0, 0, 430, 431, 0, 433, 434, 435, 0, 437,
438, 439, 440, 441, 442, 443, 444, 445, 0, 446,
447, 0, 449, 0, 451, 452, 453, 0, 454, 455,
456, 457, 458, 459, 460, 461, 462, 463, 0, 465,
466, 467, 468, 0, 469, 470, 471, 472, 473, 474,
475, 476, 477, 478, 479, 480, 0, 481, 482, 483,
484, 485, 486, 487, 488, 0, 490, 491, 492, 493,
494, 495, 496, 497, 498, 0, 499, 500, 501, 502,
503, 0, 504, 505, 0, 507, 508, 509, 510, 511,
0, 513, 0, 514, 515, 516, 517, 518, 519, 520,
521, 522, 523, 524, 525, 526, 0, 528, 0, 529,
530, 0, 531, 532, 533, 534, 535, 536, 537, 0,
538, 0, 0, 0, 0, 541, 542, 0, 544, 0,
0, 546, 547, 548, 549, 550, 551, 552, 0, 0,
553, 554, 555, 556, 557, 0, 0, 558, 559, 560,
561, 562, 0, 0, 0, 565, 566, 567, 568, 569,
570, 0, 0, 571, 0, 0, 572, 573, 574, 575,
576, 577, 4953, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 589, 590, 591, 0, 227, 228, 229,
230, 231, 232, 233, 234, 0, 235, 236, 237, 0,
0, 0, 0, 0, 0, 0, 238, 239, 0, 240,
241, 242, 0, 244, 245, 246, 0, 0, 0, 0,
0, 0, 252, 253, 254, 255, 256, 257, 0, 0,
258, 259, 0, 0, 262, 0, 263, 264, 265, 266,
0, 0, 0, 0, 269, 270, 271, 272, 273, 0,
275, 276, 277, 0, 278, 279, 280, 281, 282, 283,
0, 0, 285, 286, 287, 0, 0, 0, 0, 0,
0, 0, 289, 290, 291, 292, 293, 294, 0, 0,
297, 0, 298, 0, 299, 300, 301, 302, 303, 304,
0, 305, 306, 307, 308, 0, 0, 309, 310, 311,
312, 313, 0, 314, 315, 316, 0, 317, 318, 319,
0, 320, 321, 322, 323, 0, 325, 326, 327, 0,
0, 329, 0, 330, 331, 0, 333, 0, 334, 0,
335, 0, 0, 0, 338, 339, 340, 341, 0, 342,
0, 0, 0, 345, 346, 0, 347, 348, 349, 350,
351, 0, 353, 354, 355, 356, 0, 357, 358, 359,
360, 361, 362, 363, 0, 364, 0, 0, 367, 368,
369, 370, 0, 0, 0, 0, 0, 374, 0, 0,
377, 0, 379, 380, 381, 382, 383, 0, 0, 384,
0, 0, 387, 0, 0, 389, 390, 391, 0, 0,
392, 393, 394, 395, 396, 397, 398, 399, 400, 401,
402, 403, 404, 405, 406, 407, 0, 0, 0, 411,
412, 413, 0, 0, 415, 416, 0, 418, 0, 0,
420, 0, 422, 423, 424, 0, 425, 426, 0, 0,
427, 428, 429, 0, 0, 430, 431, 0, 0, 434,
0, 0, 437, 438, 439, 440, 441, 442, 443, 444,
445, 0, 446, 447, 0, 449, 0, 451, 452, 453,
0, 454, 455, 456, 457, 458, 459, 460, 461, 462,
463, 0, 465, 466, 467, 468, 0, 469, 470, 471,
472, 473, 474, 475, 476, 477, 478, 479, 480, 0,
481, 482, 0, 484, 485, 486, 487, 488, 0, 490,
491, 492, 493, 494, 495, 496, 497, 498, 0, 499,
500, 501, 502, 503, 0, 504, 505, 0, 507, 508,
0, 510, 511, 0, 513, 0, 514, 515, 516, 517,
518, 519, 520, 521, 522, 523, 524, 525, 526, 0,
528, 0, 529, 530, 0, 531, 0, 533, 534, 535,
536, 537, 0, 538, 0, 0, 0, 0, 541, 542,
0, 544, 0, 0, 546, 547, 548, 549, 550, 551,
552, 0, 0, 553, 554, 555, 556, 557, 0, 0,
558, 559, 560, 561, 562, 0, 0, 0, 565, 0,
567, 568, 569, 570, 0, 0, 571, 0, 0, 572,
573, 574, 575, 576, 577, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 589, 590, 591
};
static const yytype_int16 yycheck[] =
{
6, 44, 0, 203, 627, 0, 0, 36, 1171, 51,
908, 1149, 935, 198, 0, 787, 0, 23, 1106, 25,
789, 206, 203, 29, 209, 22, 21, 181, 34, 35,
36, 28, 38, 1423, 1549, 41, 42, 849, 44, 939,
46, 2496, 739, 740, 741, 683, 924, 1076, 745, 838,
1468, 909, 2853, 933, 812, 189, 811, 13, 45, 697,
1064, 1065, 937, 2568, 1461, 1021, 6, 1079, 2694, 1203,
1074, 875, 2509, 1708, 796, 2390, 1787, 2903, 1468, 2165,
2166, 1474, 3640, 818, 1957, 3008, 23, 765, 618, 2411,
1976, 208, 18, 3319, 3595, 3254, 3062, 3347, 3064, 36,
3350, 1612, 2670, 3692, 0, 222, 861, 3265, 3300, 3540,
2912, 3569, 701, 696, 706, 0, 660, 995, 3035, 2328,
4419, 999, 4174, 3929, 3912, 21, 1004, 3636, 3728, 2877,
168, 3575, 681, 35, 2064, 684, 1014, 4576, 1485, 669,
42, 4524, 4411, 1010, 3917, 2020, 3873, 2785, 1401, 3330,
1028, 183, 0, 0, 1452, 2129, 0, 50, 2922, 1026,
0, 0, 8, 707, 1799, 2097, 660, 3317, 0, 15,
0, 183, 0, 0, 217, 2850, 2108, 4734, 1889, 0,
1573, 0, 835, 189, 190, 191, 192, 942, 194, 3916,
0, 41, 198, 4362, 200, 2131, 835, 203, 4681, 4956,
206, 3616, 859, 209, 3503, 3640, 212, 0, 214, 5,
1348, 217, 35, 4, 1512, 221, 4596, 223, 9, 4540,
4722, 4542, 5, 0, 0, 5, 57, 908, 2903, 1233,
1234, 1529, 1579, 1580, 1997, 916, 0, 3574, 9, 3576,
5, 4410, 899, 49, 11, 926, 5, 904, 792, 1253,
5, 1263, 1062, 1063, 13, 14, 4636, 11, 13, 14,
5, 9, 2455, 1073, 2457, 57, 5, 112, 2461, 4050,
2463, 2464, 816, 0, 87, 0, 5, 114, 2916, 2472,
2473, 2474, 9, 1095, 9, 829, 40, 5, 1610, 1611,
2499, 988, 32, 4643, 4644, 13, 14, 5, 792, 26,
4930, 26, 5, 1415, 5, 158, 5, 42, 117, 163,
117, 79, 164, 207, 5, 26, 175, 105, 72, 5,
57, 170, 163, 105, 74, 3, 22, 57, 133, 5,
3930, 105, 3, 4, 5, 5, 3010, 163, 9, 70,
106, 163, 264, 57, 4, 1149, 187, 112, 269, 9,
5, 165, 112, 5, 270, 3998, 3999, 1035, 4001, 4002,
4003, 4004, 4005, 264, 39, 144, 4667, 289, 62, 144,
163, 163, 57, 42, 211, 5132, 38, 285, 57, 270,
300, 117, 105, 264, 165, 343, 163, 163, 289, 11,
300, 303, 201, 252, 187, 131, 5274, 339, 163, 163,
357, 2610, 11, 2612, 4833, 4834, 1141, 22, 289, 1365,
187, 187, 1222, 1223, 72, 323, 84, 254, 116, 334,
32, 11, 385, 187, 5, 191, 285, 627, 397, 316,
74, 40, 36, 323, 112, 131, 163, 141, 163, 1249,
84, 112, 11, 1343, 399, 420, 39, 436, 356, 430,
40, 1331, 159, 112, 4723, 86, 4958, 271, 26, 29,
187, 339, 187, 72, 323, 33, 250, 384, 63, 64,
4850, 40, 269, 4571, 311, 1113, 4797, 274, 678, 399,
4578, 26, 72, 53, 268, 26, 193, 442, 33, 399,
57, 480, 33, 5123, 254, 476, 465, 128, 329, 158,
57, 476, 419, 72, 419, 5262, 1535, 397, 625, 478,
208, 1189, 163, 476, 631, 328, 131, 121, 476, 476,
163, 225, 442, 185, 305, 1329, 1401, 644, 1283, 252,
1334, 1335, 442, 145, 476, 206, 267, 57, 425, 1177,
418, 5419, 74, 74, 1348, 215, 74, 1282, 74, 26,
1188, 343, 84, 444, 476, 476, 1311, 228, 252, 1151,
476, 375, 298, 1463, 476, 424, 1204, 163, 476, 3728,
29, 397, 163, 259, 163, 476, 254, 343, 5335, 353,
359, 259, 11, 343, 359, 114, 480, 1131, 29, 119,
3264, 5030, 329, 3752, 4895, 476, 405, 385, 439, 329,
606, 180, 187, 385, 259, 1149, 612, 259, 614, 418,
616, 418, 618, 611, 620, 329, 611, 611, 384, 385,
465, 627, 476, 476, 476, 611, 632, 611, 634, 5131,
435, 480, 397, 429, 1746, 641, 1440, 1131, 5121, 431,
117, 4072, 410, 480, 329, 5402, 1450, 397, 439, 480,
329, 1518, 4110, 476, 1389, 4099, 4114, 397, 480, 665,
356, 441, 397, 669, 1208, 707, 1544, 480, 674, 1547,
476, 462, 678, 711, 385, 681, 467, 468, 684, 4948,
476, 607, 462, 25, 838, 5442, 479, 1610, 1611, 1612,
425, 474, 3884, 476, 700, 478, 476, 1555, 1565, 3925,
465, 5331, 479, 479, 475, 472, 4487, 382, 751, 5266,
476, 706, 5062, 478, 1208, 479, 4015, 476, 472, 467,
468, 476, 418, 720, 201, 722, 3643, 724, 1608, 397,
1383, 476, 1536, 730, 3926, 1539, 1540, 476, 4153, 2061,
467, 468, 467, 468, 1383, 751, 2955, 476, 3906, 705,
480, 5253, 479, 397, 479, 5184, 425, 1438, 476, 959,
766, 4098, 329, 4100, 1927, 441, 480, 1356, 476, 812,
955, 3930, 329, 476, 4826, 476, 961, 476, 959, 964,
786, 787, 1326, 789, 790, 476, 462, 26, 794, 382,
1334, 1335, 373, 374, 826, 480, 467, 468, 366, 842,
476, 480, 808, 1460, 1348, 1893, 812, 467, 468, 329,
944, 707, 818, 5193, 826, 858, 474, 4406, 1499, 4462,
478, 366, 3972, 165, 830, 366, 5206, 22, 1617, 480,
828, 5130, 1326, 828, 828, 5337, 842, 480, 3153, 2925,
5161, 2927, 828, 4675, 828, 3, 1934, 469, 470, 471,
472, 1855, 858, 2246, 3291, 138, 1513, 1945, 5127, 2277,
469, 470, 471, 472, 3628, 397, 397, 326, 1743, 397,
876, 397, 349, 1530, 163, 881, 882, 467, 468, 469,
470, 471, 472, 1506, 480, 326, 117, 476, 734, 480,
420, 3566, 20, 422, 3569, 480, 199, 476, 339, 5401,
341, 145, 5341, 5342, 1375, 208, 912, 913, 2882, 275,
3833, 112, 234, 480, 252, 105, 1720, 3834, 105, 222,
120, 27, 175, 480, 2177, 83, 819, 5307, 5, 935,
936, 2324, 828, 2444, 2866, 5104, 131, 264, 944, 105,
790, 418, 275, 828, 794, 163, 3, 2883, 5, 955,
5433, 191, 213, 959, 325, 961, 356, 5126, 964, 58,
480, 402, 289, 305, 5263, 3640, 851, 66, 34, 2267,
201, 165, 430, 979, 308, 275, 3614, 135, 47, 153,
828, 828, 2857, 2913, 828, 5254, 4713, 5370, 828, 828,
327, 252, 2755, 2756, 285, 1001, 828, 2760, 828, 341,
828, 828, 1008, 1009, 3752, 5444, 4838, 828, 175, 828,
912, 913, 4612, 315, 4572, 269, 144, 164, 828, 356,
1830, 1831, 3231, 3232, 1030, 1031, 1032, 310, 1034, 3952,
1036, 1037, 1038, 2548, 2797, 2798, 26, 3230, 467, 468,
469, 470, 471, 472, 5343, 158, 112, 4478, 5347, 66,
107, 225, 2190, 255, 293, 722, 723, 724, 400, 3,
727, 728, 729, 252, 406, 356, 388, 84, 439, 3895,
737, 4529, 91, 231, 160, 1975, 4534, 271, 269, 4537,
480, 4525, 283, 240, 66, 252, 57, 4522, 1823, 81,
285, 462, 111, 289, 416, 126, 202, 128, 359, 1796,
1106, 5400, 1108, 1109, 22, 356, 273, 172, 397, 480,
28, 477, 351, 182, 480, 3324, 1042, 2017, 187, 441,
458, 117, 179, 323, 4559, 142, 145, 285, 323, 228,
432, 123, 2161, 175, 107, 1141, 126, 4572, 2061, 83,
4913, 288, 476, 160, 5443, 385, 107, 480, 349, 476,
389, 289, 391, 2028, 476, 224, 1151, 418, 4946, 81,
142, 356, 4968, 2063, 5463, 1171, 1172, 5466, 3254, 2566,
1176, 424, 1178, 1942, 1943, 4401, 465, 4950, 160, 397,
480, 4431, 259, 240, 385, 4912, 243, 418, 1194, 478,
347, 435, 136, 476, 1200, 385, 22, 1203, 385, 5031,
1206, 123, 28, 4395, 5036, 201, 179, 5259, 5260, 275,
252, 339, 325, 131, 1220, 362, 418, 22, 179, 385,
3895, 95, 4949, 1861, 24, 426, 174, 4408, 423, 480,
388, 359, 390, 264, 112, 424, 179, 1875, 439, 1974,
1282, 1976, 2165, 4209, 1250, 45, 1829, 1982, 114, 193,
1888, 4168, 22, 1988, 1989, 1990, 124, 424, 3344, 2014,
609, 462, 22, 1998, 1999, 356, 134, 240, 2003, 334,
243, 2352, 1278, 1279, 1280, 476, 1282, 112, 49, 240,
476, 252, 243, 474, 301, 22, 164, 478, 1818, 339,
347, 28, 361, 5, 66, 287, 1302, 240, 172, 4734,
319, 81, 2177, 1886, 81, 131, 1506, 1896, 1154, 1858,
1156, 1903, 1158, 1351, 1160, 4824, 1162, 1163, 1164, 301,
141, 371, 625, 1169, 1873, 258, 131, 1876, 631, 4760,
349, 116, 103, 157, 1340, 4793, 1368, 1369, 476, 1371,
112, 644, 1385, 123, 1933, 2426, 123, 291, 1937, 4151,
26, 5403, 1941, 349, 703, 1944, 1368, 1369, 329, 1371,
1904, 131, 310, 4952, 1370, 287, 385, 285, 1374, 1375,
385, 131, 1995, 2142, 347, 284, 81, 255, 252, 1385,
1386, 1387, 424, 1389, 205, 356, 347, 1936, 284, 480,
1939, 1940, 340, 259, 131, 167, 413, 112, 390, 465,
457, 77, 202, 213, 347, 323, 1412, 426, 474, 85,
476, 477, 478, 8, 480, 3, 11, 285, 123, 83,
439, 4852, 418, 208, 259, 3993, 4857, 4858, 84, 200,
363, 413, 781, 284, 2309, 4110, 3941, 113, 356, 4114,
158, 1447, 252, 462, 91, 40, 1452, 356, 397, 1455,
26, 169, 47, 4612, 275, 323, 112, 476, 2333, 285,
124, 1467, 1468, 145, 2362, 180, 5024, 411, 390, 187,
134, 1477, 296, 237, 1480, 419, 155, 72, 422, 323,
285, 252, 254, 104, 457, 1152, 4712, 259, 1155, 474,
1157, 167, 1159, 478, 1161, 83, 457, 323, 1165, 153,
1506, 311, 1508, 476, 180, 356, 1512, 287, 328, 1435,
287, 397, 356, 273, 114, 285, 192, 2392, 323, 2607,
394, 2444, 169, 1529, 4609, 1531, 1997, 1570, 1534, 301,
356, 480, 5033, 5034, 2005, 284, 356, 155, 145, 254,
2407, 4699, 420, 4724, 139, 317, 3861, 135, 106, 359,
126, 356, 285, 323, 2098, 126, 168, 128, 115, 275,
4995, 84, 2366, 126, 1570, 128, 4651, 327, 328, 3455,
2374, 225, 251, 2377, 345, 1581, 1582, 1583, 1584, 1585,
151, 3896, 287, 3905, 2342, 2343, 356, 182, 2346, 5024,
323, 412, 187, 1599, 480, 2276, 356, 1520, 254, 217,
214, 285, 1525, 114, 1610, 1611, 1612, 356, 418, 115,
390, 211, 266, 390, 332, 2490, 228, 238, 166, 285,
241, 285, 3137, 356, 311, 237, 183, 3820, 3025, 224,
346, 3824, 3825, 191, 3827, 1520, 2274, 324, 2505, 323,
1525, 413, 3728, 231, 285, 168, 2190, 187, 2119, 2438,
2439, 2440, 114, 2183, 254, 319, 115, 323, 327, 323,
399, 2528, 2529, 2530, 2531, 352, 3752, 349, 191, 1869,
1870, 1594, 356, 2540, 1859, 1598, 271, 183, 319, 3475,
1814, 2362, 323, 3394, 195, 390, 163, 356, 259, 1870,
356, 254, 356, 264, 5129, 476, 372, 285, 2565, 375,
3211, 264, 1708, 385, 1710, 228, 3217, 0, 3504, 1594,
187, 311, 164, 1598, 2395, 356, 1722, 1723, 3591, 3482,
3483, 3484, 3485, 479, 183, 3488, 3489, 3490, 3491, 3492,
3493, 3494, 3495, 3496, 3497, 323, 1742, 4929, 1765, 327,
4966, 252, 349, 254, 426, 197, 2504, 2428, 339, 211,
341, 274, 4669, 420, 3963, 1761, 3965, 439, 306, 341,
212, 341, 1789, 11, 3157, 365, 361, 143, 356, 4927,
222, 1777, 1778, 1779, 1780, 168, 4957, 389, 385, 391,
462, 3544, 3545, 323, 1790, 343, 4944, 327, 5346, 2524,
338, 1797, 254, 1799, 476, 1995, 285, 2960, 273, 5300,
388, 315, 390, 351, 416, 1811, 439, 323, 1814, 476,
285, 402, 1818, 189, 114, 465, 356, 1823, 2348, 426,
402, 480, 402, 4746, 72, 4983, 384, 385, 478, 462,
4456, 5266, 439, 404, 323, 228, 350, 254, 386, 339,
356, 439, 259, 414, 3930, 2580, 420, 4522, 323, 311,
349, 439, 1858, 1859, 4529, 462, 2660, 32, 158, 4534,
168, 2558, 4537, 1869, 1870, 460, 389, 1873, 391, 476,
1876, 385, 467, 468, 469, 470, 471, 472, 4844, 402,
104, 333, 480, 165, 4559, 385, 385, 1893, 1894, 5447,
413, 5141, 309, 416, 1900, 195, 1902, 4572, 5124, 439,
303, 2776, 476, 158, 402, 5340, 4361, 2782, 1903, 1952,
439, 5346, 285, 263, 237, 166, 198, 4884, 432, 4886,
228, 1927, 462, 4890, 4891, 43, 181, 426, 1934, 2933,
1936, 254, 346, 1939, 1940, 159, 1942, 1943, 1967, 1945,
4566, 4742, 4568, 4380, 5125, 4400, 1952, 65, 5106, 432,
323, 480, 252, 1959, 254, 35, 431, 215, 8, 1957,
1966, 1967, 1957, 1957, 1970, 15, 16, 17, 1974, 193,
1976, 1957, 4939, 1957, 54, 1981, 1982, 476, 158, 3326,
4189, 4190, 1988, 1989, 1990, 441, 13, 14, 1994, 1995,
1996, 1997, 1998, 1999, 2000, 2001, 389, 2003, 391, 2005,
2006, 181, 389, 2009, 391, 158, 462, 315, 1904, 3644,
2688, 2689, 5447, 477, 238, 476, 480, 241, 2024, 2025,
2026, 2027, 2757, 416, 104, 2031, 2032, 2571, 181, 1966,
2036, 439, 2232, 2039, 2769, 4350, 2042, 2043, 2044, 2045,
2046, 2047, 2048, 2049, 2050, 2230, 2052, 1973, 2233, 2234,
74, 2232, 2058, 2059, 2858, 2061, 285, 4980, 4212, 4734,
84, 1513, 2068, 2852, 4218, 24, 2801, 1913, 2657, 1915,
239, 1917, 480, 1919, 5255, 1921, 5268, 2571, 1530, 1925,
315, 389, 2626, 391, 255, 256, 45, 338, 5246, 2223,
3853, 2097, 4893, 344, 323, 476, 153, 49, 2104, 903,
351, 158, 2108, 2109, 2839, 441, 439, 475, 416, 4935,
190, 2923, 480, 2119, 439, 350, 402, 921, 4793, 22,
924, 5038, 2128, 2129, 432, 28, 462, 356, 4321, 462,
4323, 4324, 2626, 2855, 4327, 386, 2142, 462, 402, 349,
476, 93, 3305, 2149, 325, 2151, 153, 480, 5, 2147,
385, 158, 3315, 3011, 11, 5336, 2273, 408, 238, 346,
441, 241, 19, 2192, 74, 2194, 118, 477, 225, 3,
480, 5329, 252, 285, 84, 385, 237, 2183, 349, 3037,
37, 462, 477, 135, 3699, 480, 2192, 139, 2194, 23,
2813, 30, 31, 2190, 66, 476, 3907, 432, 4, 389,
72, 391, 2245, 9, 284, 2211, 2102, 159, 4, 266,
162, 323, 84, 9, 385, 327, 426, 2223, 225, 2225,
2226, 271, 5023, 237, 2230, 177, 2232, 2233, 2234, 439,
2236, 191, 2238, 141, 2351, 476, 2242, 478, 5396, 2245,
112, 475, 114, 35, 356, 153, 480, 88, 328, 83,
158, 4, 462, 5445, 239, 426, 9, 30, 31, 266,
4935, 2267, 54, 181, 269, 4580, 476, 402, 439, 274,
350, 2277, 3690, 5190, 92, 2768, 899, 2770, 2771, 2285,
2286, 904, 80, 3676, 2755, 2756, 53, 2293, 3211, 2760,
370, 462, 1595, 3928, 3217, 167, 2302, 205, 432, 2342,
2343, 3435, 136, 2346, 346, 476, 471, 259, 2425, 2947,
2948, 476, 104, 478, 2858, 215, 2322, 225, 91, 476,
4995, 2327, 2328, 195, 9, 471, 2797, 2798, 339, 340,
476, 3012, 478, 2596, 2597, 2598, 2342, 2343, 111, 3732,
2346, 3297, 2348, 2349, 477, 476, 164, 480, 141, 5024,
3697, 343, 3699, 187, 3366, 3367, 269, 309, 266, 193,
153, 2950, 439, 480, 441, 158, 2372, 275, 126, 2375,
128, 477, 145, 477, 480, 167, 480, 476, 3253, 197,
3258, 474, 254, 476, 3251, 5302, 283, 259, 53, 477,
2396, 2397, 480, 151, 212, 339, 340, 477, 190, 474,
476, 476, 478, 478, 222, 2411, 3087, 2413, 2414, 389,
430, 391, 205, 463, 464, 465, 432, 467, 468, 469,
470, 471, 472, 477, 3299, 477, 480, 80, 480, 301,
248, 477, 225, 2977, 480, 43, 2442, 2443, 2444, 477,
477, 479, 2448, 480, 234, 317, 238, 477, 2454, 241,
480, 269, 349, 234, 5129, 477, 2462, 291, 480, 2465,
252, 2504, 4655, 459, 1767, 2471, 4971, 3105, 477, 272,
5387, 480, 1775, 266, 2480, 478, 2482, 477, 3641, 3642,
480, 4690, 275, 2977, 1787, 389, 3124, 391, 385, 211,
2496, 477, 284, 2499, 480, 2501, 254, 5298, 2504, 269,
334, 259, 2508, 272, 412, 2511, 264, 477, 339, 340,
480, 141, 4827, 477, 158, 333, 480, 2523, 2524, 2704,
459, 4836, 2707, 153, 3914, 2710, 4612, 477, 158, 426,
480, 8, 5156, 5157, 11, 2541, 328, 3934, 15, 16,
17, 413, 439, 269, 141, 2551, 319, 2553, 477, 383,
43, 480, 2550, 343, 2510, 272, 153, 5183, 350, 1862,
459, 158, 343, 234, 2698, 462, 474, 469, 477, 477,
478, 480, 3919, 211, 2580, 205, 349, 411, 370, 476,
2007, 477, 162, 2010, 480, 419, 1889, 3284, 422, 477,
477, 5266, 480, 480, 477, 225, 477, 480, 388, 480,
480, 2607, 420, 2609, 2610, 2611, 2612, 388, 205, 476,
5411, 477, 385, 2813, 480, 477, 339, 340, 480, 412,
234, 3625, 477, 477, 3524, 480, 416, 477, 225, 477,
480, 477, 480, 477, 480, 416, 266, 3275, 53, 3277,
3444, 2647, 3517, 163, 477, 275, 404, 480, 207, 477,
4736, 441, 480, 426, 476, 8, 414, 430, 11, 476,
441, 3419, 5280, 5281, 477, 5340, 439, 480, 478, 266,
477, 5346, 343, 480, 476, 5476, 477, 2877, 275, 480,
477, 443, 477, 480, 187, 480, 476, 40, 477, 462,
477, 480, 2698, 480, 47, 476, 146, 477, 2704, 8,
480, 2707, 11, 476, 2710, 3585, 15, 16, 17, 4224,
187, 4474, 439, 2719, 441, 2757, 3260, 388, 3262, 72,
476, 2727, 477, 3623, 323, 480, 2732, 477, 477, 343,
480, 480, 209, 234, 477, 477, 477, 480, 480, 480,
0, 477, 3477, 477, 480, 416, 480, 476, 478, 2755,
2756, 2757, 477, 477, 2760, 480, 480, 477, 92, 2801,
480, 146, 2768, 2769, 2770, 2771, 3260, 439, 3262, 441,
441, 477, 5447, 479, 388, 2781, 3511, 832, 2784, 834,
2786, 477, 412, 269, 480, 477, 139, 187, 480, 4207,
5245, 2797, 2798, 323, 271, 2801, 3434, 477, 477, 3343,
480, 480, 416, 477, 269, 476, 480, 2813, 4115, 2815,
4117, 2817, 187, 2819, 477, 412, 146, 480, 146, 3408,
3698, 3556, 234, 477, 269, 3580, 480, 441, 323, 182,
164, 91, 477, 2839, 187, 480, 477, 2843, 477, 480,
477, 480, 343, 480, 2850, 477, 158, 146, 480, 3343,
477, 2154, 3727, 480, 3729, 35, 3668, 2844, 2845, 2846,
2866, 477, 476, 197, 480, 2907, 223, 477, 2874, 2172,
480, 224, 114, 420, 54, 2178, 3751, 477, 212, 2182,
480, 141, 8, 2889, 239, 11, 269, 388, 222, 15,
16, 17, 476, 153, 402, 3770, 234, 2903, 158, 477,
209, 2907, 480, 163, 2910, 2208, 2912, 263, 477, 169,
2850, 480, 172, 432, 248, 416, 176, 477, 271, 477,
480, 346, 480, 477, 104, 477, 480, 477, 480, 477,
480, 343, 480, 477, 477, 477, 480, 480, 480, 477,
441, 477, 480, 477, 480, 205, 480, 2953, 3752, 2955,
3808, 2254, 3830, 22, 2960, 477, 158, 234, 480, 28,
215, 477, 271, 2903, 480, 225, 477, 477, 0, 480,
2273, 477, 41, 66, 480, 476, 388, 477, 254, 477,
480, 2987, 480, 2989, 2990, 2991, 463, 464, 465, 234,
467, 468, 469, 470, 471, 472, 4759, 477, 35, 333,
480, 70, 254, 2306, 416, 343, 266, 443, 361, 269,
190, 3482, 3483, 3484, 3485, 275, 476, 3488, 3489, 3490,
3491, 3492, 3493, 3494, 3495, 3496, 3497, 3816, 2331, 441,
269, 477, 254, 4062, 480, 2338, 158, 43, 43, 254,
407, 2344, 254, 83, 3515, 285, 432, 158, 2351, 146,
388, 120, 2355, 432, 3254, 124, 304, 2360, 238, 91,
146, 241, 131, 476, 476, 134, 343, 146, 429, 476,
330, 297, 252, 3544, 3545, 476, 146, 2380, 416, 34,
476, 443, 2385, 209, 146, 146, 2389, 480, 146, 146,
159, 146, 146, 146, 234, 146, 146, 3103, 343, 2402,
146, 256, 158, 441, 284, 146, 269, 460, 146, 141,
146, 388, 2415, 385, 467, 468, 469, 470, 471, 472,
35, 153, 2425, 223, 193, 385, 158, 476, 158, 158,
269, 163, 476, 5, 5, 476, 476, 169, 476, 416,
172, 158, 5, 388, 176, 271, 5, 476, 328, 476,
476, 476, 412, 476, 463, 464, 465, 476, 467, 468,
469, 470, 471, 472, 441, 476, 476, 5, 476, 476,
350, 416, 476, 205, 476, 3979, 436, 5, 438, 439,
476, 476, 476, 252, 476, 254, 476, 476, 476, 476,
370, 476, 476, 225, 349, 264, 441, 476, 476, 476,
281, 476, 440, 343, 273, 3211, 207, 4370, 35, 480,
480, 3217, 95, 223, 474, 35, 285, 477, 478, 479,
3226, 480, 158, 266, 158, 3231, 3232, 4127, 356, 264,
385, 476, 62, 397, 266, 4998, 397, 269, 343, 397,
3878, 3879, 431, 275, 397, 343, 478, 4147, 388, 397,
397, 343, 225, 397, 323, 397, 8, 326, 327, 11,
3266, 3267, 3268, 397, 465, 84, 343, 146, 348, 269,
269, 426, 220, 397, 397, 0, 416, 3283, 259, 397,
388, 419, 289, 269, 439, 269, 264, 356, 40, 476,
3333, 339, 180, 397, 397, 47, 21, 476, 330, 3305,
3306, 441, 84, 480, 146, 285, 187, 462, 420, 3315,
3316, 3317, 397, 4048, 420, 3321, 269, 385, 3324, 397,
72, 476, 477, 397, 479, 385, 51, 3333, 4718, 106,
397, 3329, 397, 397, 269, 53, 476, 463, 464, 465,
53, 467, 468, 469, 470, 471, 472, 245, 397, 273,
397, 343, 397, 385, 423, 397, 308, 289, 3356, 289,
388, 42, 42, 397, 397, 2668, 397, 343, 477, 56,
4142, 397, 397, 397, 397, 397, 3419, 397, 397, 480,
412, 397, 3853, 2686, 3973, 3974, 3975, 3976, 3977, 397,
481, 2694, 3398, 209, 269, 209, 209, 209, 3552, 443,
269, 209, 209, 90, 436, 269, 438, 439, 269, 209,
209, 209, 4216, 3419, 397, 35, 8, 407, 146, 11,
24, 269, 146, 15, 16, 17, 3432, 112, 254, 3435,
182, 420, 146, 431, 146, 187, 439, 476, 146, 231,
32, 264, 474, 254, 269, 477, 478, 479, 40, 254,
254, 3457, 35, 4331, 158, 47, 35, 215, 183, 345,
3466, 476, 149, 476, 476, 34, 3472, 395, 3474, 395,
474, 3477, 224, 146, 397, 397, 3482, 3483, 3484, 3485,
72, 474, 3488, 3489, 3490, 3491, 3492, 3493, 3494, 3495,
3496, 3497, 397, 397, 476, 3501, 3502, 184, 146, 420,
146, 420, 146, 146, 263, 3511, 397, 4430, 3550, 3515,
258, 163, 4135, 3519, 476, 435, 245, 11, 245, 271,
480, 3527, 395, 397, 3530, 476, 3532, 3569, 3728, 476,
172, 154, 163, 220, 399, 3541, 480, 477, 3544, 3545,
180, 180, 205, 3549, 3550, 213, 35, 480, 3554, 359,
3556, 270, 3752, 480, 420, 278, 53, 3563, 3564, 3565,
3566, 477, 343, 3569, 3570, 476, 4204, 254, 3574, 3575,
3576, 3558, 3559, 3560, 3561, 3581, 420, 213, 213, 397,
4051, 259, 259, 239, 476, 402, 432, 158, 397, 346,
182, 397, 259, 3591, 215, 187, 3591, 3591, 148, 286,
3606, 43, 365, 269, 254, 3591, 148, 3591, 223, 361,
5373, 5374, 223, 223, 3620, 388, 3622, 209, 210, 339,
269, 397, 480, 148, 269, 148, 3566, 323, 181, 3569,
397, 4102, 224, 397, 3640, 3641, 3642, 353, 3644, 311,
327, 275, 329, 4281, 331, 477, 35, 209, 420, 420,
4385, 215, 307, 340, 4351, 3661, 3662, 3663, 3664, 146,
158, 348, 465, 264, 432, 257, 35, 160, 264, 356,
308, 2974, 146, 146, 4837, 386, 146, 353, 264, 271,
476, 368, 274, 476, 3690, 420, 439, 35, 254, 35,
377, 254, 269, 269, 381, 215, 178, 178, 158, 35,
3640, 4290, 4291, 3709, 4293, 474, 54, 477, 460, 459,
459, 477, 5227, 243, 347, 467, 468, 469, 470, 471,
472, 477, 477, 477, 215, 353, 158, 254, 269, 187,
3930, 187, 187, 187, 187, 480, 480, 443, 480, 23,
4378, 170, 476, 4881, 397, 163, 242, 434, 439, 480,
269, 53, 263, 385, 215, 402, 104, 105, 432, 163,
477, 476, 3759, 281, 112, 163, 290, 477, 0, 361,
477, 480, 8, 397, 477, 11, 477, 477, 477, 15,
16, 17, 3085, 477, 4872, 4660, 4874, 477, 477, 8,
459, 477, 11, 476, 476, 280, 237, 476, 3804, 436,
461, 476, 270, 270, 40, 476, 476, 233, 426, 418,
436, 47, 269, 53, 465, 191, 476, 269, 269, 167,
146, 40, 272, 397, 443, 397, 199, 397, 47, 259,
3836, 254, 397, 146, 273, 476, 72, 146, 348, 356,
146, 348, 190, 3849, 348, 3851, 223, 3853, 191, 148,
397, 465, 420, 72, 3860, 480, 291, 225, 8, 91,
3866, 11, 417, 291, 397, 15, 16, 17, 460, 397,
3876, 463, 464, 465, 235, 467, 468, 469, 470, 471,
472, 397, 32, 397, 235, 3891, 611, 269, 480, 3895,
238, 235, 397, 241, 397, 343, 397, 397, 343, 3905,
343, 254, 397, 3206, 252, 397, 254, 343, 3914, 141,
356, 397, 146, 397, 397, 5078, 5079, 42, 3924, 4688,
139, 153, 3928, 477, 475, 3923, 158, 209, 397, 3935,
3936, 163, 5070, 477, 477, 4135, 284, 169, 209, 209,
172, 209, 175, 477, 176, 477, 182, 3, 407, 480,
4573, 187, 158, 43, 325, 3895, 105, 3963, 480, 3965,
158, 35, 477, 182, 476, 146, 3972, 146, 187, 477,
397, 158, 175, 205, 146, 4613, 475, 465, 343, 343,
328, 706, 707, 420, 343, 475, 420, 343, 224, 4778,
353, 343, 272, 225, 209, 209, 144, 477, 144, 209,
4623, 4007, 350, 4474, 480, 224, 137, 209, 209, 209,
8, 474, 4018, 11, 209, 209, 163, 15, 16, 17,
11, 281, 370, 158, 372, 431, 163, 375, 436, 4764,
477, 480, 172, 477, 266, 271, 476, 269, 462, 477,
163, 270, 4048, 275, 477, 4051, 477, 330, 82, 4972,
425, 158, 271, 4059, 4060, 480, 5219, 476, 480, 209,
4066, 4067, 477, 477, 476, 4071, 407, 35, 4803, 397,
4076, 420, 215, 4079, 4080, 420, 53, 4881, 4084, 4085,
199, 388, 146, 476, 4090, 4091, 4092, 4093, 4094, 167,
407, 3394, 4098, 4099, 4100, 372, 4102, 4103, 330, 348,
4106, 826, 397, 828, 4110, 397, 397, 397, 4114, 3412,
397, 477, 343, 343, 4120, 477, 323, 477, 476, 439,
53, 271, 388, 426, 148, 361, 158, 72, 476, 4135,
146, 105, 4867, 4868, 3437, 407, 4142, 4166, 477, 209,
4146, 209, 361, 209, 209, 4151, 4144, 4145, 194, 476,
213, 476, 397, 385, 443, 269, 480, 318, 477, 480,
4166, 35, 289, 4169, 267, 269, 3, 477, 480, 407,
4110, 476, 480, 22, 4114, 397, 476, 5315, 475, 28,
412, 169, 353, 4189, 4190, 105, 209, 163, 163, 477,
476, 5089, 477, 5068, 53, 437, 437, 4786, 477, 480,
281, 4207, 477, 476, 436, 212, 438, 439, 4797, 212,
477, 476, 279, 387, 4211, 4221, 276, 476, 53, 176,
477, 70, 264, 4220, 460, 407, 465, 463, 464, 465,
397, 467, 468, 469, 470, 471, 472, 163, 72, 188,
439, 460, 474, 193, 181, 477, 478, 479, 467, 468,
469, 470, 471, 472, 259, 259, 465, 4992, 53, 8,
388, 397, 11, 480, 4270, 66, 15, 16, 17, 480,
146, 397, 477, 271, 5009, 124, 397, 209, 5013, 476,
5015, 119, 131, 32, 165, 134, 4292, 4876, 4759, 112,
5165, 40, 163, 35, 187, 264, 420, 35, 47, 476,
353, 4307, 420, 254, 160, 158, 353, 439, 264, 53,
159, 78, 4783, 463, 464, 465, 388, 467, 468, 469,
470, 471, 472, 72, 439, 4869, 35, 163, 269, 158,
196, 476, 272, 4339, 207, 163, 425, 4881, 5035, 369,
212, 289, 476, 476, 193, 438, 127, 477, 477, 4355,
84, 269, 317, 397, 476, 4361, 476, 35, 146, 476,
397, 477, 8, 476, 4370, 11, 477, 476, 3671, 15,
16, 17, 158, 4573, 476, 476, 476, 476, 476, 4385,
35, 259, 8, 191, 236, 11, 32, 353, 476, 476,
146, 477, 4398, 105, 4400, 132, 435, 35, 477, 4397,
367, 407, 477, 252, 273, 254, 367, 35, 53, 5032,
75, 480, 4612, 425, 40, 264, 388, 5006, 476, 476,
180, 47, 476, 4623, 273, 476, 1151, 476, 4434, 158,
420, 6, 252, 182, 388, 476, 285, 4622, 187, 269,
5, 388, 4623, 443, 477, 152, 72, 476, 145, 476,
340, 340, 66, 272, 66, 127, 439, 439, 476, 476,
209, 210, 424, 35, 356, 463, 464, 465, 4474, 467,
468, 469, 470, 471, 472, 224, 163, 326, 327, 425,
4665, 480, 388, 3786, 259, 132, 3789, 314, 193, 269,
269, 1216, 476, 353, 35, 35, 272, 4503, 4504, 272,
188, 4507, 165, 476, 165, 436, 477, 356, 257, 53,
480, 1236, 476, 139, 477, 397, 4522, 339, 376, 4525,
117, 418, 271, 4529, 5399, 274, 5070, 4998, 4534, 5,
339, 4537, 4538, 477, 4540, 353, 4542, 476, 4544, 4545,
142, 276, 1267, 21, 480, 480, 324, 476, 476, 476,
32, 259, 476, 4559, 145, 4561, 182, 1282, 397, 163,
277, 187, 339, 209, 75, 367, 4572, 4573, 4574, 4575,
4576, 367, 439, 476, 423, 439, 165, 165, 828, 1597,
2508, 913, 4522, 2858, 1335, 3888, 2395, 5462, 3037, 4529,
912, 867, 3727, 3701, 4534, 5210, 2317, 4537, 224, 2420,
2478, 3245, 4663, 5068, 3907, 5480, 5315, 3876, 4718, 4341,
4687, 2954, 361, 2647, 189, 5189, 4622, 4623, 4572, 4559,
5304, 5098, 5097, 198, 199, 271, 5230, 5340, 2958, 3924,
3909, 206, 4572, 208, 209, 5042, 3063, 3867, 3722, 4694,
2493, 2493, 3295, 1368, 1369, 271, 1371, 222, 909, 3892,
2487, 4379, 3307, 4703, 5317, 5390, 5480, 5462, 4680, 4665,
3253, 3932, 4668, 5243, 4625, 4855, 5210, 1756, 5051, 4628,
28, 3982, 1178, 3, 4680, 4823, 5408, 4683, 8, 3982,
2932, 11, 4688, 1802, 4690, 15, 16, 17, 2166, 3934,
4733, 4697, 4972, 5164, 4692, 1811, 1869, 694, 1800, 1960,
3751, 661, 32, 1960, 3189, 35, 4552, 1961, 4714, 3299,
40, 460, 4718, 6, 463, 464, 465, 47, 467, 468,
469, 470, 471, 472, 3770, 5271, 4732, 4733, 4734, 5450,
807, 480, 4730, 829, 2098, 361, 2109, 1904, 4555, 4146,
5182, 8, 72, 3620, 11, 1312, 2874, 1355, 15, 16,
17, 2145, 2889, 4759, 1419, 1377, 4762, 3584, 4764, 2119,
5174, 4803, 1378, 5017, 4132, 32, 8, 2144, 1380, 11,
3569, 5315, 4116, 15, 16, 17, 4099, 4783, 4794, 1385,
3566, 4995, 4994, 4789, 3621, 5456, 5288, 4793, 3566, 5377,
32, 4797, 5164, 3519, 4734, 4762, 4548, 4803, 40, 5177,
2056, 5178, 2728, 2818, 2816, 47, 4812, 1834, 2448, 2059,
-1, -1, -1, 5284, -1, -1, -1, 463, 464, 465,
-1, 467, 468, 469, 470, 471, 472, -1, -1, 4835,
72, 4837, 5032, -1, 460, -1, -1, -1, -1, -1,
-1, 467, 468, 469, 470, 471, 472, -1, -1, -1,
-1, -1, 182, 4793, -1, -1, 4862, 187, -1, -1,
-1, 4867, 4868, -1, -1, -1, 4872, 4873, 4874, 4875,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 209,
210, -1, -1, -1, -1, 8, -1, -1, 11, -1,
-1, -1, -1, -1, 224, -1, 189, 4903, -1, -1,
-1, -1, 5373, 5374, 4910, 198, -1, -1, -1, -1,
-1, -1, -1, 206, -1, -1, 209, 40, -1, -1,
-1, -1, -1, -1, 47, -1, 4932, 257, -1, 4935,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 4242,
182, 271, 209, -1, 274, 187, -1, 4945, -1, 72,
-1, 4254, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 209, 210, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 224, -1, -1, -1, 4992, -1, -1, 4995,
-1, -1, 4998, -1, -1, 4935, 5002, -1, -1, -1,
-1, -1, -1, 5009, 271, -1, -1, 5013, -1, 5015,
-1, 5017, 5197, -1, -1, 257, 139, -1, 5024, -1,
-1, -1, -1, 5021, 5030, -1, 5032, -1, -1, 271,
-1, 361, 274, 8, -1, -1, 11, 5043, -1, -1,
15, 16, 17, -1, -1, -1, -1, -1, -1, -1,
625, -1, -1, -1, -1, 4995, 631, 32, -1, 182,
-1, -1, -1, -1, 187, -1, -1, -1, -1, 644,
-1, -1, 5078, 5079, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 5024, 660, -1, 5272, 5273, -1,
665, -1, -1, -1, -1, 670, -1, -1, -1, 674,
675, 224, -1, 5109, -1, -1, 681, -1, 683, 684,
5116, -1, -1, -1, 5120, -1, -1, -1, -1, 361,
-1, 696, 697, 5129, -1, -1, -1, -1, -1, -1,
460, -1, 707, 463, 464, 465, -1, 467, 468, 469,
470, 471, 472, -1, -1, -1, -1, -1, 271, 5155,
5156, 5157, -1, 4456, -1, 5161, -1, -1, 5164, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 5174, -1,
-1, 5177, -1, -1, -1, -1, 5182, -1, 1903, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 5129,
-1, 5197, -1, -1, -1, -1, 463, 464, 465, -1,
467, 468, 469, 470, 471, 472, 5212, -1, -1, -1,
-1, 786, 787, 5219, -1, -1, -1, 792, 460, -1,
-1, 463, 464, 465, -1, 467, 468, 469, 470, 471,
472, -1, 1957, -1, 209, 477, -1, -1, 361, 5245,
-1, 816, -1, 818, 5250, -1, 5244, -1, -1, -1,
5256, -1, -1, -1, 829, -1, -1, -1, -1, -1,
5266, -1, -1, 4566, -1, 4568, 5272, 5273, 5274, -1,
-1, -1, -1, 5271, -1, -1, 5271, 5271, 5284, -1,
-1, -1, 5288, -1, -1, 5271, -1, 5271, -1, -1,
-1, -1, -1, -1, -1, -1, 271, 5482, 5483, -1,
-1, -1, -1, 5309, -1, -1, -1, 5349, 2033, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 5266, -1, -1, -1,
-1, -1, -1, -1, 5340, 5341, 5342, 460, -1, -1,
5346, -1, -1, -1, 467, 468, 469, 470, 471, 472,
-1, 5349, -1, -1, 5349, 5349, -1, -1, -1, -1,
935, 936, 937, 5349, -1, 5349, -1, 5373, 5374, 944,
-1, -1, 665, -1, -1, -1, 951, -1, -1, 5385,
955, 674, -1, -1, 5390, -1, 961, -1, 681, 964,
-1, 684, -1, -1, -1, -1, -1, -1, -1, -1,
5340, 976, -1, -1, -1, -1, 5346, -1, -1, -1,
-1, -1, -1, 5419, -1, -1, 991, -1, -1, -1,
-1, -1, 2147, 5429, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 5444, -1,
-1, 5447, -1, -1, -1, -1, -1, -1, -1, -1,
5456, -1, 5450, -1, 5460, 5450, 5450, -1, -1, -1,
-1, 1036, 1037, 1038, 5450, -1, 5450, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 5482, 5483, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 463, 464,
465, -1, 467, 468, 469, 470, 471, 472, -1, -1,
-1, 1076, -1, -1, -1, -1, -1, 5447, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 8, -1, -1, 11, -1, -1, -1, 15, 16,
17, -1, -1, -1, -1, -1, -1, -1, 1113, -1,
-1, -1, -1, -1, -1, 32, -1, -1, -1, 0,
-1, -1, -1, 40, -1, -1, 1131, -1, -1, -1,
47, -1, -1, -1, -1, -1, 1141, 18, -1, -1,
-1, -1, -1, -1, 1149, -1, -1, 28, -1, 30,
31, -1, -1, -1, -1, 72, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 46, -1, -1, -1, -1,
8, -1, 1177, 11, 55, -1, -1, 15, 16, 17,
-1, 1186, -1, 1188, -1, -1, 67, -1, 69, 70,
-1, -1, -1, -1, 32, 76, -1, 78, -1, 1204,
-1, -1, 40, 1208, -1, -1, -1, -1, 89, 47,
91, -1, -1, -1, -1, 1220, -1, -1, -1, -1,
-1, 944, -1, -1, -1, -1, -1, 108, 8, -1,
111, 11, 955, -1, 72, 15, 16, 17, 961, -1,
-1, 964, -1, -1, 125, 1250, 127, -1, -1, -1,
131, -1, -1, -1, -1, 35, 137, -1, -1, -1,
-1, -1, -1, -1, 145, 182, 147, -1, -1, -1,
187, -1, 153, 1278, 1279, 1280, -1, 1282, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 169, -1,
-1, -1, 209, 210, -1, -1, -1, 1302, -1, -1,
-1, -1, -1, -1, -1, 186, -1, 224, -1, -1,
-1, -1, -1, 1036, 1037, 1038, 8, -1, -1, 11,
-1, 1326, -1, 15, 16, 17, -1, -1, -1, 1334,
1335, -1, -1, -1, -1, -1, -1, -1, -1, -1,
257, -1, -1, 1348, 182, 226, 227, -1, 40, 187,
-1, 232, -1, -1, 271, 47, -1, 274, -1, -1,
-1, -1, -1, 244, -1, 1370, -1, -1, -1, 1374,
1375, 209, 210, -1, -1, 256, -1, -1, -1, -1,
72, -1, -1, -1, 1389, -1, 224, -1, -1, -1,
1395, -1, -1, -1, -1, 2550, 1401, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 299, 257,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 209,
-1, -1, 313, 271, -1, -1, 274, -1, 319, 320,
-1, 322, -1, -1, 361, -1, 327, -1, -1, -1,
5183, 332, -1, -1, 335, -1, 1461, -1, -1, -1,
-1, 342, -1, -1, -1, -1, -1, 348, 349, -1,
-1, -1, -1, -1, -1, 356, -1, -1, -1, 360,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 370,
182, 271, -1, -1, -1, 187, -1, 1502, -1, -1,
-1, -1, -1, -1, 385, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 209, 210, -1,
-1, -1, -1, 361, 405, -1, -1, -1, -1, -1,
1535, -1, 224, -1, 415, -1, -1, 25, -1, -1,
421, -1, -1, 460, -1, 426, 463, 464, 465, -1,
467, 468, 469, 470, 471, 472, -1, -1, 439, -1,
477, -1, -1, -1, -1, 257, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 271,
-1, 462, -1, -1, -1, -1, 74, -1, -1, -1,
1595, -1, -1, -1, -1, 476, -1, -1, 479, -1,
-1, -1, 2757, -1, -1, 1610, 1611, 1612, -1, -1,
-1, -1, 8, -1, -1, 11, -1, -1, 106, 15,
16, 17, 460, -1, -1, 463, 464, 465, -1, 467,
468, 469, 470, 471, 472, -1, 32, -1, -1, 477,
-1, 129, -1, -1, 40, -1, 2801, -1, -1, -1,
-1, 47, 140, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 2818, -1, -1, -1, -1, -1, 361,
-1, -1, 160, -1, -1, -1, 72, 165, -1, 2834,
-1, -1, -1, 463, 464, 465, -1, 467, 468, 469,
470, 471, 472, -1, -1, 2850, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 1713, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 1730, -1, -1, 216, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 1743, -1,
-1, -1, -1, 1748, -1, -1, -1, -1, 2903, 237,
-1, -1, 2907, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 1767, -1, -1, -1, -1, -1, 460, -1,
1775, 463, 464, 465, -1, 467, 468, 469, 470, 471,
472, -1, 1787, -1, -1, -1, 182, -1, -1, -1,
-1, 187, -1, -1, -1, -1, -1, -1, -1, 1804,
-1, -1, -1, -1, -1, -1, 1811, -1, -1, 1814,
-1, -1, 1817, 209, 210, -1, 304, 305, 1823, -1,
308, -1, -1, -1, 1829, -1, -1, -1, 224, -1,
-1, -1, -1, -1, 8, -1, 1841, 11, -1, -1,
-1, 15, 16, 17, -1, -1, 334, -1, -1, 337,
-1, -1, -1, 1858, 1859, 343, 1861, 1862, 32, -1,
-1, 257, 350, -1, -1, -1, 40, -1, 1873, -1,
1875, 1876, -1, 47, -1, 271, -1, -1, 274, -1,
1885, 1886, -1, 1888, 1889, -1, -1, -1, -1, -1,
-1, 379, -1, -1, -1, -1, -1, 385, 72, 1904,
388, -1, -1, -1, -1, -1, 8, -1, -1, 11,
-1, -1, -1, 15, 16, 17, -1, -1, -1, 407,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
32, 1936, -1, -1, 1939, 1940, -1, -1, 40, -1,
-1, -1, -1, -1, 432, 47, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 361, -1, -1, -1, 1974,
72, 1976, -1, -1, -1, -1, 1981, 1982, -1, -1,
-1, -1, -1, 1988, 1989, 1990, -1, -1, -1, 1994,
-1, 1996, 1997, 1998, 1999, 2000, 2001, -1, 2003, -1,
2005, 2006, -1, -1, 2009, -1, -1, -1, 182, -1,
-1, -1, -1, 187, -1, -1, -1, -1, 2023, 2024,
2025, 2026, 2027, 2028, -1, -1, -1, 2032, -1, -1,
-1, 2036, -1, -1, 2039, 209, 210, 2042, 2043, 2044,
2045, 2046, 2047, 2048, 2049, 2050, -1, 2052, -1, -1,
224, -1, -1, -1, 2059, -1, 2061, -1, -1, -1,
-1, -1, -1, -1, 460, -1, -1, 463, 464, 465,
-1, 467, 468, 469, 470, 471, 472, -1, -1, -1,
182, 477, -1, 257, -1, 187, -1, -1, 1811, -1,
-1, 1814, -1, 2098, -1, -1, -1, 271, -1, 2104,
274, -1, -1, -1, -1, -1, -1, 209, 210, -1,
-1, -1, -1, -1, 2119, -1, -1, -1, -1, -1,
-1, -1, 224, 2128, 2129, -1, -1, -1, -1, -1,
-1, 8, -1, -1, 11, 1858, 1859, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 2154,
1873, -1, -1, 1876, -1, 257, 2161, -1, -1, -1,
2165, 2166, -1, 40, -1, -1, -1, 2172, -1, 271,
47, -1, 2177, 2178, 3329, -1, -1, 2182, -1, -1,
-1, -1, -1, -1, -1, 2190, -1, 361, -1, -1,
-1, -1, -1, -1, -1, 72, -1, -1, -1, -1,
-1, 3356, -1, 2208, -1, -1, 2211, -1, -1, -1,
-1, -1, -1, 1936, -1, -1, 1939, 1940, 2223, -1,
-1, -1, 2227, -1, -1, 2230, -1, -1, 2233, 2234,
-1, -1, -1, -1, -1, -1, 2241, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 2254,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 361,
-1, -1, 139, -1, -1, -1, -1, -1, 2273, 2274,
-1, -1, -1, -1, -1, -1, -1, 2282, -1, -1,
-1, -1, -1, -1, -1, -1, 460, -1, -1, 463,
464, 465, -1, 467, 468, 469, 470, 471, 472, -1,
2305, 2306, -1, 477, 2309, 182, -1, -1, -1, -1,
187, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 2331, -1, 2333, -1,
-1, -1, -1, 2338, -1, -1, -1, -1, -1, 2344,
56, -1, -1, -1, -1, -1, 2351, 224, -1, -1,
2355, -1, -1, -1, -1, 2360, -1, -1, 460, 56,
-1, 463, 464, 465, -1, 467, 468, 469, 470, 471,
472, -1, -1, -1, 90, 2380, -1, -1, -1, -1,
2385, -1, -1, -1, 2389, -1, -1, 2392, -1, -1,
-1, -1, -1, 90, 271, 3550, -1, 2402, -1, -1,
-1, -1, -1, -1, 120, -1, -1, -1, -1, -1,
2415, 3566, -1, -1, 3569, -1, -1, -1, -1, -1,
2425, -1, -1, 120, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 149, -1, -1, 3591, 2442, 2443, 2444,
17, -1, -1, 2448, -1, -1, -1, -1, -1, 26,
-1, -1, 149, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 184, -1,
-1, -1, -1, -1, -1, 2480, 2481, -1, -1, -1,
-1, -1, 35, -1, 361, 2490, -1, 184, 1081, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2223, -1, -1, 56, 220, -1, -1, 2230, 1101, -1,
2233, 2234, -1, -1, -1, -1, -1, -1, 1111, 2524,
-1, -1, 1115, 220, -1, -1, 1119, -1, 1121, -1,
-1, -1, -1, -1, 1127, -1, -1, 90, 254, -1,
1133, 8, -1, 1136, 11, -1, -1, -1, 15, 16,
17, -1, -1, -1, -1, -1, -1, 254, 2563, -1,
-1, 2566, -1, -1, -1, 32, 2571, -1, -1, 285,
286, -1, -1, 40, -1, 2580, -1, -1, -1, -1,
47, -1, -1, 460, -1, -1, -1, -1, 285, 286,
467, 468, 469, 470, 471, 472, 149, -1, -1, -1,
-1, -1, -1, -1, -1, 72, -1, 323, -1, -1,
-1, 327, -1, -1, -1, 331, -1, -1, -1, -1,
-1, 2626, -1, -1, 340, -1, 323, -1, -1, -1,
327, 184, 348, -1, 331, -1, -1, -1, -1, -1,
356, -1, -1, 340, -1, -1, -1, -1, -1, -1,
-1, 348, 368, -1, -1, -1, -1, -1, -1, 356,
-1, 377, 215, 2668, -1, 381, -1, 220, -1, -1,
-1, 368, -1, -1, -1, -1, -1, -1, -1, 2684,
377, 2686, -1, -1, 381, -1, 35, -1, -1, 2694,
-1, -1, -1, 2698, -1, -1, 2701, -1, -1, 2704,
-1, 254, 2707, -1, -1, 2710, -1, 56, -1, -1,
-1, 2716, -1, -1, -1, 182, -1, -1, 434, -1,
187, -1, 2727, -1, -1, -1, -1, 2732, -1, -1,
-1, -1, -1, 286, -1, -1, -1, 434, -1, -1,
3895, 90, 209, 210, -1, -1, -1, -1, -1, -1,
2755, 2756, 2757, -1, -1, 2760, -1, 224, -1, -1,
-1, -1, -1, 2768, 2769, 2770, 2771, -1, 3923, -1,
-1, 2776, -1, -1, 327, -1, 2781, 2782, 331, 2784,
-1, 2786, -1, -1, -1, -1, -1, 340, -1, -1,
257, -1, 2797, 2798, -1, 348, 2801, -1, -1, -1,
149, -1, -1, 356, 271, -1, -1, 274, -1, -1,
2815, -1, 2817, -1, 2819, 368, -1, -1, -1, -1,
-1, -1, -1, -1, 377, -1, -1, -1, 381, -1,
-1, -1, -1, -1, 2839, 184, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 2850, -1, 400, -1, -1,
-1, -1, -1, 2858, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 8, 215, -1, 11, 2874,
-1, 220, 15, 16, 17, -1, -1, -1, -1, -1,
-1, 434, -1, -1, 2889, 438, -1, -1, -1, 32,
-1, -1, -1, -1, 361, -1, -1, 40, 2903, -1,
8, -1, -1, 11, 47, 254, -1, 15, 16, 17,
-1, -1, -1, -1, -1, -1, -1, 2922, -1, -1,
2925, -1, 2927, -1, 32, -1, -1, 2932, -1, 72,
-1, -1, 40, -1, -1, -1, -1, 286, -1, 47,
-1, 22, 2947, 2948, -1, -1, -1, 28, 2953, -1,
-1, -1, -1, -1, -1, 4110, -1, -1, -1, 4114,
-1, -1, -1, -1, 72, -1, -1, -1, -1, 2974,
-1, -1, 2977, -1, -1, 2698, 2981, -1, 327, -1,
-1, 2704, 331, -1, 2707, -1, -1, 2710, -1, 4144,
4145, 340, -1, 460, -1, 3000, 463, 464, 465, 348,
467, 468, 469, 470, 471, 472, -1, 356, -1, -1,
477, -1, -1, -1, -1, -1, -1, -1, -1, 368,
3025, -1, -1, -1, -1, -1, -1, -1, 377, -1,
-1, 608, 381, -1, -1, -1, -1, -1, -1, 182,
-1, -1, -1, -1, 187, -1, 22, -1, -1, -1,
-1, 400, 28, -1, -1, -1, -1, 3062, 3063, 3064,
-1, -1, -1, -1, -1, 41, 209, 210, -1, -1,
-1, -1, -1, -1, 182, -1, -1, -1, -1, 187,
3085, 224, -1, 660, 661, 434, -1, -1, -1, 438,
3095, -1, 3097, -1, 70, -1, -1, -1, -1, -1,
3105, 209, 210, -1, -1, -1, -1, -1, -1, 670,
-1, -1, -1, -1, 257, -1, 224, -1, -1, 3124,
-1, -1, -1, -1, -1, -1, -1, 2850, 271, 8,
-1, 274, 11, -1, -1, 696, 15, 16, 17, -1,
-1, -1, -1, -1, -1, -1, 122, -1, 124, 257,
-1, -1, -1, 32, -1, 131, -1, -1, 134, -1,
-1, 40, -1, 271, -1, -1, 274, -1, 47, -1,
-1, -1, -1, -1, -1, -1, -1, 754, -1, -1,
2903, 3186, -1, 159, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 72, -1, -1, -1, -1, -1, -1,
-1, 3206, -1, 780, -1, -1, 3211, -1, -1, -1,
-1, 788, 3217, -1, 791, 792, 793, 193, 361, -1,
3225, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 4397, -1, -1, -1, -1, -1, 3253, 3254,
-1, -1, -1, 361, -1, 3260, -1, 3262, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3275, 1864, 3277, -1, -1, -1, 252, -1, 254, 1872,
-1, -1, -1, -1, -1, -1, -1, -1, 264, -1,
-1, -1, -1, -1, 3299, -1, -1, 273, -1, 1892,
-1, -1, -1, 182, -1, -1, -1, -1, 187, 285,
-1, -1, -1, -1, -1, -1, -1, 460, 3323, -1,
463, 464, 465, -1, 467, 468, 469, 470, 471, 472,
209, 210, -1, -1, 477, -1, -1, -1, 3343, 3344,
-1, -1, -1, -1, -1, 224, -1, 323, -1, -1,
326, 327, 460, 3358, -1, 463, 464, 465, -1, 467,
468, 469, 470, 471, 472, -1, -1, -1, -1, 477,
-1, -1, -1, -1, 4529, -1, -1, -1, 257, 4534,
356, -1, 4537, -1, -1, -1, -1, -1, -1, 3394,
951, -1, 271, -1, -1, 274, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 3412, -1, -1,
-1, -1, -1, -1, -1, 976, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 3434,
991, -1, 3437, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 423, -1, -1,
-1, -1, 3457, -1, -1, 3460, -1, -1, -1, -1,
-1, 3466, -1, -1, -1, -1, -1, 3472, -1, 3474,
-1, -1, 3477, -1, -1, -1, 3481, 3482, 3483, 3484,
3485, -1, 361, 3488, 3489, 3490, 3491, 3492, 3493, 3494,
3495, 3496, 3497, -1, -1, -1, 3501, 3502, -1, -1,
-1, 3506, -1, 2096, -1, -1, 3511, -1, -1, -1,
3515, -1, 3517, -1, 3519, -1, -1, -1, -1, -1,
-1, -1, 3527, -1, -1, 3530, -1, 3532, -1, -1,
-1, -1, -1, -1, -1, 3540, 3541, 4692, -1, 3544,
3545, -1, -1, -1, 3549, 3550, -1, -1, -1, -1,
-1, 3556, -1, -1, 1131, -1, -1, -1, -1, -1,
-1, 3566, -1, -1, 3569, -1, -1, -1, -1, -1,
-1, -1, 1149, -1, -1, 4730, 3581, -1, -1, -1,
-1, 460, -1, -1, 463, 464, 465, -1, 467, 468,
469, 470, 471, 472, -1, -1, -1, -1, 477, -1,
-1, 3606, -1, -1, -1, -1, 1183, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 20, 3622, -1, -1,
-1, 25, -1, 3628, -1, 1186, -1, -1, -1, -1,
-1, 1208, -1, -1, -1, 3640, -1, -1, 4793, 720,
56, 722, -1, 724, -1, -1, -1, -1, 4803, 730,
731, 732, -1, -1, -1, -1, 60, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 3671, -1, -1, 73,
-1, -1, -1, -1, 90, -1, -1, -1, -1, 8,
-1, -1, 11, -1, 88, -1, 15, 16, 17, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 32, 120, -1, -1, 1284, -1, -1,
-1, 40, -1, -1, -1, -1, 1293, 3722, 47, -1,
-1, -1, 3727, 3728, 3729, 129, -1, -1, -1, -1,
1307, -1, -1, 149, -1, -1, 140, -1, -1, -1,
-1, -1, -1, 72, -1, -1, 3751, 3752, -1, 1326,
-1, -1, 1329, 1330, -1, -1, 160, 1334, 1335, -1,
-1, 165, -1, -1, -1, 3770, -1, -1, 184, -1,
-1, 1348, -1, -1, -1, -1, -1, -1, -1, -1,
4935, 3786, -1, -1, 3789, -1, -1, -1, -1, -1,
4945, -1, -1, -1, 875, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 220, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 200, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 212, -1, -1, -1,
-1, -1, -1, 237, -1, -1, -1, 223, 254, -1,
-1, -1, -1, 3566, -1, -1, 3569, -1, 3853, -1,
-1, -1, -1, 182, -1, -1, -1, -1, 187, -1,
-1, -1, 22, -1, -1, -1, 5021, 271, 28, 285,
286, -1, -1, 3878, 3879, 35, -1, 3882, -1, -1,
209, 210, -1, 3888, -1, -1, -1, -1, -1, -1,
3895, -1, -1, -1, 54, 224, -1, -1, -1, -1,
304, 305, 3907, -1, -1, -1, -1, 323, -1, -1,
70, 327, -1, -1, -1, 331, -1, 3640, -1, -1,
-1, -1, -1, -1, 340, 3930, -1, -1, 257, 3934,
3935, 3936, 348, 337, -1, -1, -1, -1, -1, 343,
356, 1502, 271, -1, 104, 274, 350, -1, -1, 353,
-1, -1, 368, -1, -1, -1, -1, -1, -1, -1,
-1, 377, -1, -1, 124, 381, -1, -1, -1, -1,
-1, 131, -1, -1, 134, -1, 1553, 3982, -1, -1,
-1, 385, 1559, 2576, -1, -1, -1, -1, 392, -1,
2583, -1, -1, -1, -1, -1, 400, -1, -1, 159,
-1, -1, 4007, 407, -1, -1, -1, -1, -1, -1,
2603, -1, -1, 4018, -1, -1, -1, -1, 434, -1,
2613, -1, -1, 2616, -1, 2618, 2619, -1, 432, 2622,
190, -1, 361, 193, -1, 2628, -1, 2630, -1, -1,
2633, -1, 22, 4048, -1, -1, 4051, -1, 28, -1,
-1, -1, -1, -1, 4059, 4060, -1, 4062, -1, -1,
-1, 4066, 4067, -1, -1, -1, 4071, 4072, 1149, -1,
-1, 4076, -1, -1, 4079, 4080, -1, -1, 238, 4084,
-1, 241, -1, -1, -1, 4090, -1, -1, -1, 5244,
70, -1, 252, -1, 254, -1, -1, 4102, -1, -1,
-1, -1, -1, 2696, 264, 4110, -1, -1, -1, 4114,
-1, -1, -1, 273, -1, -1, 5271, -1, -1, -1,
-1, -1, -1, -1, 284, 285, -1, -1, -1, -1,
-1, 460, -1, -1, 463, 464, 465, 4142, 467, 468,
469, 470, 471, 472, 124, -1, -1, -1, 477, -1,
-1, 131, 1713, -1, 134, -1, -1, -1, -1, -1,
-1, -1, -1, 323, 4169, -1, 326, 327, 328, 1730,
-1, -1, 3895, -1, -1, -1, -1, -1, -1, 159,
-1, -1, 4187, -1, -1, -1, -1, 1748, -1, -1,
350, -1, -1, 1770, 5349, -1, 356, 1774, -1, 4204,
-1, -1, -1, -1, 4209, -1, -1, -1, -1, -1,
370, -1, -1, 193, -1, -1, -1, -1, -1, -1,
606, 4226, -1, -1, -1, -1, 612, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 4242, -1, -1,
-1, -1, 4247, 1804, -1, -1, -1, -1, 1329, 4254,
-1, -1, -1, 1334, 1335, -1, 1817, -1, -1, -1,
-1, -1, -1, 423, -1, 4270, -1, 1348, 1829, -1,
-1, -1, 252, -1, 254, -1, 4281, -1, 8, -1,
1841, 11, -1, -1, 264, 15, 16, 17, -1, -1,
-1, -1, -1, 273, -1, 5450, -1, -1, -1, -1,
-1, -1, 32, -1, -1, 285, -1, 4312, -1, -1,
40, -1, -1, -1, -1, -1, -1, 47, -1, -1,
-1, -1, -1, -1, 1885, 1886, -1, -1, -1, -1,
-1, -1, -1, -1, 4339, -1, -1, -1, -1, -1,
-1, -1, 72, 323, -1, -1, 326, 327, -1, -1,
4355, -1, -1, -1, -1, -1, -1, -1, -1, 1440,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 1450,
2963, -1, -1, 4378, -1, -1, 356, -1, -1, -1,
4385, -1, -1, -1, -1, -1, -1, 4110, -1, -1,
-1, 4114, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 789, -1, -1, -1, -1, -1, -1,
1987, -1, 1493, 1494, -1, -1, -1, -1, -1, -1,
-1, -1, 808, -1, -1, 4430, -1, 4432, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 423, 830, -1, -1, -1, -1, -1,
-1, 4456, 182, -1, 3047, 1536, 3049, 187, 1539, 1540,
-1, -1, 2023, -1, -1, -1, -1, -1, -1, 4474,
-1, -1, -1, 4478, -1, -1, -1, -1, -1, 209,
210, -1, -1, -1, -1, -1, -1, -1, -1, -1,
876, -1, -1, -1, 224, -1, -1, -1, 4503, 4504,
-1, 2078, 4507, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 4522, -1, -1,
-1, -1, -1, -1, 4529, -1, -1, 257, -1, 4534,
-1, -1, 4537, 4538, -1, -1, -1, -1, -1, 4544,
4545, 271, -1, -1, 274, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4559, -1, 4561, -1, -1, -1,
-1, 4566, -1, 4568, -1, -1, -1, 4572, -1, -1,
-1, 8, -1, -1, 11, -1, -1, -1, 15, 16,
17, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 3185, -1, -1, 32, -1, -1, 3191, -1,
-1, -1, -1, 40, -1, -1, -1, 4612, 4613, -1,
47, -1, -1, 2190, -1, 1001, -1, 4622, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 361, 4355, -1, -1, 72, -1, -1, -1, 1720,
-1, -1, -1, -1, 1030, 1031, 1032, -1, -1, -1,
-1, -1, -1, -1, -1, 4660, -1, -1, -1, -1,
4665, -1, -1, -1, -1, -1, 2227, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2241, -1, -1, -1, 2261, -1, -1, -1, -1, -1,
-1, -1, -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, 2282, -1, -1, -1, -1, -1, -1, -1, 4734,
460, 4736, -1, 463, 464, 465, -1, 467, 468, 469,
470, 471, 472, -1, -1, 182, 1827, 477, -1, -1,
187, -1, -1, -1, 4759, 4760, 1837, 4762, 1839, 4764,
-1, -1, -1, 2340, 1845, -1, -1, -1, -1, -1,
-1, 1852, 209, 210, -1, -1, -1, -1, 4783, -1,
2357, -1, -1, -1, 4789, -1, -1, 224, 4793, 3382,
1176, 3384, -1, 3386, 4799, -1, -1, -1, 4803, 4522,
-1, -1, 3395, -1, -1, -1, 4529, -1, 1194, -1,
-1, 4534, -1, -1, 4537, 4538, -1, 1203, -1, -1,
257, -1, -1, -1, 22, -1, -1, -1, -1, -1,
28, -1, -1, -1, 271, -1, 4559, 274, -1, 4844,
-1, 2418, -1, 3436, -1, -1, -1, 4852, -1, 4572,
-1, -1, 4857, 4858, -1, -1, -1, 4862, -1, -1,
-1, -1, 4867, 4868, 4869, -1, -1, -1, -1, -1,
-1, -1, 70, -1, -1, 2452, 4881, -1, 2455, -1,
2457, -1, -1, -1, 2461, -1, 2463, 2464, -1, -1,
-1, -1, -1, -1, -1, 2472, 2473, 2474, 4903, 4622,
-1, -1, -1, 1984, 1985, 4910, -1, -1, -1, -1,
1991, 1992, -1, -1, -1, -1, -1, -1, -1, -1,
2481, -1, 120, -1, 361, -1, 124, -1, -1, -1,
4935, -1, -1, 131, -1, -1, 134, -1, 2019, -1,
-1, -1, 4665, 22, -1, -1, -1, -1, -1, 28,
2527, -1, -1, -1, 1340, -1, -1, -1, -1, -1,
-1, 159, 41, -1, -1, -1, -1, 4972, 4973, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 2559, -1, -1, -1, -1, 4992, -1, -1,
4995, 70, -1, 4998, 2571, 193, -1, -1, -1, -1,
1386, -1, -1, -1, 5009, -1, -1, -1, 5013, -1,
5015, 4734, 5017, -1, -1, -1, -1, -1, -1, 5024,
-1, -1, -1, 460, -1, -1, 463, 464, 465, -1,
467, 468, 469, 470, 471, 472, -1, -1, 5043, -1,
477, -1, -1, 122, -1, 124, -1, 2128, 2129, 2626,
-1, -1, 131, -1, 252, 134, 254, -1, -1, -1,
-1, -1, -1, 5068, -1, 5070, 264, -1, -1, -1,
4793, -1, -1, -1, -1, 273, -1, -1, -1, -1,
159, 1467, -1, -1, -1, -1, -1, 285, -1, -1,
-1, 1477, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 2190,
-1, -1, -1, -1, 193, 5120, -1, -1, -1, -1,
-1, -1, 1508, 2684, 5129, 323, -1, -1, 326, 327,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2701, -1, -1, -1, -1, 1531, -1, -1, 1534, -1,
5155, 5156, 5157, -1, -1, 2716, -1, -1, 356, 5164,
5165, -1, -1, 5168, -1, -1, -1, -1, -1, 5174,
-1, -1, -1, 252, -1, 254, -1, -1, 5183, -1,
22, -1, -1, -1, -1, 264, 28, 4910, -1, -1,
-1, -1, 5197, -1, 273, -1, -1, -1, -1, 1585,
-1, -1, -1, -1, 2285, 5210, 285, -1, -1, -1,
-1, -1, 4935, 1599, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 423, -1, -1, 70, -1,
-1, -1, -1, -1, 8, -1, -1, 11, -1, -1,
-1, 15, 16, 17, 323, 5250, -1, 326, 327, -1,
-1, 5256, -1, -1, -1, -1, -1, -1, 32, -1,
-1, 5266, -1, -1, -1, -1, 40, 5272, 5273, 5274,
-1, -1, 4995, 47, -1, -1, -1, 356, -1, 5284,
-1, 2858, 124, -1, -1, 2366, -1, -1, -1, 131,
-1, -1, 134, 2374, -1, -1, 2377, -1, 72, -1,
-1, 5024, -1, -1, -1, -1, -1, -1, -1, -1,
5315, -1, -1, -1, -1, -1, -1, 159, -1, -1,
-1, -1, -1, -1, 1710, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 5340, -1, -1, -1, -1,
-1, 5346, -1, -1, 423, -1, -1, -1, -1, -1,
-1, 193, 8, -1, -1, 11, -1, -1, -1, 15,
16, 17, -1, -1, -1, -1, -1, -1, 5373, 5374,
-1, -1, -1, -1, 3967, 1761, 32, -1, 3971, -1,
5385, -1, -1, -1, 40, 5390, -1, -1, -1, -1,
-1, 47, -1, -1, 5399, -1, -1, -1, -1, -1,
2977, -1, -1, -1, 1790, -1, 5129, -1, 182, -1,
252, 1797, 254, 187, 5419, -1, 72, -1, -1, -1,
2981, -1, 264, -1, 5429, -1, -1, -1, -1, -1,
-1, 273, -1, -1, -1, 209, 210, -1, -1, 3000,
-1, -1, 5447, 285, -1, -1, -1, -1, -1, -1,
224, -1, -1, -1, -1, 5460, -1, 5462, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 5197, 5480, -1, 5482, 5483, -1,
-1, 323, -1, 257, 326, 327, -1, -1, -1, -1,
-1, 3068, -1, -1, -1, -1, -1, 271, -1, -1,
274, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 2593, 2594, 356, -1, 1902, -1, 2599, -1,
-1, -1, -1, -1, -1, -1, 182, 5250, -1, -1,
-1, 187, -1, -1, 3095, -1, 3097, -1, -1, 8,
-1, -1, 11, 5266, -1, 3122, 15, 16, 17, 5272,
5273, -1, -1, 209, 210, -1, 1942, 1943, -1, -1,
-1, -1, -1, 32, -1, -1, -1, -1, 224, -1,
-1, 40, -1, 1959, -1, -1, -1, -1, 47, 2660,
-1, 423, -1, -1, -1, -1, -1, 361, -1, -1,
8, -1, 4185, 11, -1, -1, -1, 15, 16, 17,
-1, 257, -1, 72, -1, -1, -1, -1, -1, -1,
-1, 3188, -1, -1, 32, 271, -1, 5340, 274, -1,
-1, -1, 40, 5346, -1, 3186, -1, -1, -1, 47,
-1, -1, -1, -1, 4227, 4228, -1, -1, 8, -1,
-1, -1, -1, -1, 14, 15, -1, -1, -1, -1,
20, -1, 22, 3230, 72, -1, -1, -1, 28, -1,
30, -1, -1, -1, 3225, -1, -1, 3244, 3245, -1,
-1, -1, 2058, -1, -1, -1, -1, 3254, -1, 49,
50, -1, 2068, 3260, -1, 3262, 460, -1, -1, 463,
464, 465, -1, 467, 468, 469, 470, 471, 472, -1,
-1, -1, -1, 477, -1, 361, -1, -1, -1, -1,
-1, 2097, -1, 182, -1, -1, -1, -1, 187, -1,
4313, 4314, 2108, 2109, 5447, -1, 22, -1, -1, -1,
-1, 3308, 28, -1, -1, -1, -1, 5460, -1, -1,
209, 210, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 224, 2142, -1, -1, 5482,
5483, -1, 3323, -1, 182, 3342, 3343, -1, -1, 187,
-1, -1, -1, -1, 70, 2856, -1, 2858, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 257, -1,
-1, 209, 210, -1, -1, -1, -1, 3358, -1, -1,
2881, 2882, 271, -1, 460, 274, 224, 463, 464, 465,
-1, 467, 468, 469, 470, 471, 472, -1, -1, -1,
-1, 477, -1, -1, -1, -1, 196, -1, 124, -1,
-1, -1, -1, -1, 204, 131, -1, 207, 134, 257,
210, 211, -1, 213, 4437, 215, 4439, 4440, 218, -1,
220, -1, -1, 271, -1, -1, 274, -1, -1, -1,
-1, -1, 4455, 159, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 8, -1, -1, 11, -1, -1, -1, 15,
16, 17, 361, -1, -1, -1, -1, 193, -1, 3460,
2286, -1, -1, -1, -1, -1, 32, -1, -1, -1,
-1, -1, -1, -1, 40, -1, 2302, -1, -1, -1,
3481, 47, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 2322, -1, -1, -1,
-1, -1, -1, 361, -1, 3506, 72, -1, -1, 3526,
-1, -1, -1, -1, 8, -1, 252, 11, 254, -1,
-1, 15, 16, 17, -1, -1, -1, -1, 264, -1,
-1, -1, -1, -1, -1, -1, -1, 273, 32, 3540,
-1, -1, -1, -1, -1, -1, 40, -1, -1, 285,
-1, 460, -1, 47, 463, 464, 465, -1, 467, 468,
469, 470, 471, 472, -1, -1, -1, -1, 477, -1,
2396, 2397, -1, -1, -1, -1, -1, -1, 72, -1,
-1, -1, -1, -1, -1, -1, -1, 323, -1, -1,
326, 327, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 460, -1, -1, 463, 464, 465, -1, 467,
468, 469, 470, 471, 472, -1, 182, -1, -1, 477,
356, 187, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 190, 191, -1,
-1, 194, -1, 209, 210, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 224, -1,
-1, 214, -1, -1, -1, -1, -1, -1, 221, -1,
-1, -1, -1, -1, -1, 2501, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 423, 182, -1,
-1, 257, -1, 187, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 271, -1, -1, 274, -1,
-1, 3728, -1, -1, -1, 209, 210, -1, -1, -1,
-1, -1, 4755, -1, -1, -1, -1, -1, -1, -1,
224, -1, -1, 3254, -1, 3752, -1, -1, -1, -1,
-1, -1, 8, 3760, -1, 11, 3763, -1, 3765, 15,
16, 17, -1, -1, -1, -1, -1, 3278, -1, -1,
-1, -1, -1, 257, -1, -1, 32, -1, -1, -1,
-1, -1, -1, -1, 40, -1, -1, 271, -1, -1,
274, 47, -1, -1, -1, -1, -1, -1, -1, -1,
3807, -1, 4825, -1, -1, 361, -1, -1, -1, -1,
-1, -1, -1, 3820, -1, -1, 72, 3824, 3825, -1,
3827, -1, 622, -1, -1, -1, -1, -1, -1, 629,
630, -1, -1, 633, -1, 635, 636, -1, -1, -1,
640, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 651, 3363, -1, 4877, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 361, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
690, 3882, 692, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 702, -1, 460, -1, -1, 463, 464, 465,
-1, 467, 468, 469, 470, 471, 472, -1, -1, -1,
3927, 477, -1, 3930, -1, -1, 182, -1, -1, -1,
-1, 187, -1, 3444, 734, -1, -1, -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, -1, -1, -1, -1, -1, -1, 224, -1,
-1, -1, -1, -1, -1, -1, 460, -1, -1, 463,
464, 465, -1, 467, 468, 469, 470, 471, 472, -1,
3997, 3998, 3999, 477, 4001, 4002, 4003, 4004, 4005, -1,
-1, 257, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 271, -1, -1, 274, 819,
-1, -1, -1, -1, -1, -1, -1, 2843, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2866, -1, -1, -1, -1, 855, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 614, -1, 616, -1, -1, -1, 620, -1, 8,
-1, 4072, 11, -1, -1, -1, 15, 16, 17, -1,
-1, 634, -1, -1, -1, -1, -1, -1, 641, -1,
-1, -1, -1, 32, -1, 361, -1, -1, -1, -1,
-1, 40, -1, -1, -1, -1, -1, -1, 47, -1,
-1, -1, -1, -1, 4131, -1, 4133, 927, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 72, -1, -1, -1, -1, 948, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
960, -1, -1, -1, -1, 965, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 975, -1, -1, -1, -1,
980, -1, -1, -1, -1, -1, -1, -1, -1, 989,
-1, -1, -1, -1, 994, -1, 4187, 997, -1, -1,
-1, -1, -1, -1, 460, -1, -1, 463, 464, 465,
-1, 467, 468, 469, 470, 471, 472, 3728, -1, -1,
-1, 477, 8, -1, -1, 11, -1, -1, -1, 15,
16, 17, -1, -1, -1, 4226, -1, -1, -1, 1039,
-1, 3752, -1, -1, -1, -1, 32, -1, 3759, -1,
-1, -1, -1, 182, 40, -1, 4247, -1, 187, -1,
8, 47, -1, 11, -1, -1, -1, 15, 16, 17,
-1, -1, -1, -1, -1, -1, 5299, -1, -1, -1,
209, 210, -1, -1, 32, -1, 72, 3103, 36, -1,
-1, -1, 40, -1, -1, 224, -1, -1, -1, 47,
-1, -1, -1, 4310, 4311, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4321, -1, 4323, 4324, -1, -1,
4327, 4312, -1, -1, 72, -1, -1, -1, 257, -1,
3841, 3842, -1, -1, -1, -1, -1, -1, 881, 882,
-1, -1, 271, 8, -1, 274, 11, -1, -1, -1,
15, 16, 17, -1, 1154, -1, 1156, -1, 1158, -1,
1160, -1, 1162, 1163, 1164, -1, -1, 32, -1, 1169,
-1, -1, -1, 121, -1, 40, -1, -1, -1, -1,
1180, -1, 47, -1, 4391, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 1195, 182, -1, -1, -1,
-1, 187, -1, -1, -1, -1, -1, 72, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 3930,
-1, -1, 4429, 209, 210, -1, -1, -1, -1, -1,
-1, -1, 361, -1, 182, -1, 979, -1, 224, 187,
-1, 4432, -1, -1, -1, -1, -1, -1, -1, -1,
3266, 3267, 3268, -1, -1, 4462, -1, -1, -1, -1,
-1, 209, 210, -1, -1, 1008, 1009, 3283, 3979, -1,
-1, 257, -1, -1, -1, -1, 224, -1, -1, -1,
-1, -1, -1, -1, -1, 271, -1, 4478, 274, -1,
3306, 1034, -1, 158, -1, -1, -1, -1, 163, -1,
3316, 3317, -1, -1, -1, 3321, -1, -1, -1, 257,
-1, -1, -1, -1, -1, -1, -1, 182, -1, -1,
-1, -1, 187, 271, -1, -1, 274, -1, -1, -1,
-1, 460, -1, -1, 463, 464, 465, -1, 467, 468,
469, 470, 471, 472, 209, 210, -1, -1, 477, -1,
-1, -1, -1, -1, -1, 1355, -1, -1, -1, 224,
-1, -1, -1, -1, 8, 1108, 1109, 11, -1, -1,
-1, 15, 16, 17, -1, 361, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 32, -1,
-1, -1, 257, -1, -1, -1, 40, -1, -1, -1,
-1, -1, -1, 47, -1, 4612, 271, -1, -1, 274,
-1, -1, -1, 361, -1, -1, 3432, -1, -1, 3435,
-1, -1, -1, -1, -1, -1, -1, -1, 72, -1,
-1, -1, -1, -1, -1, -1, 1436, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 4655, -1,
-1, -1, -1, -1, -1, -1, -1, 4664, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 420, -1, 460, -1, -1, 463, 464, 465,
-1, 467, 468, 469, 470, 471, 472, -1, -1, 475,
-1, -1, -1, -1, -1, -1, 361, -1, -1, -1,
4211, -1, -1, -1, -1, 4216, -1, 1507, -1, 4220,
-1, -1, 460, -1, -1, 463, 464, 465, -1, 467,
468, 469, 470, 471, 472, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4245, 4246, -1, -1, 182, 4250,
4251, -1, -1, 187, -1, -1, -1, 3563, 3564, 3565,
-1, -1, 8, -1, -1, 11, -1, -1, -1, 15,
16, 17, -1, -1, -1, 209, 210, -1, -1, 4760,
-1, -1, -1, -1, -1, -1, 32, -1, -1, 35,
224, -1, -1, -1, 40, -1, -1, -1, -1, -1,
-1, 47, -1, -1, -1, 460, -1, -1, 463, 464,
465, -1, 467, 468, 469, 470, 471, 472, 4799, -1,
-1, -1, -1, 257, -1, -1, 72, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 271, -1, -1,
274, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 298, -1, -1, -1, -1, -1,
-1, 4852, -1, -1, -1, -1, 4857, 4858, -1, -1,
-1, -1, -1, -1, 4881, -1, -1, -1, 4885, -1,
-1, -1, -1, -1, -1, -1, 8, -1, -1, 11,
-1, -1, -1, 15, 16, 17, -1, 22, -1, -1,
-1, -1, -1, 28, -1, -1, -1, -1, -1, -1,
32, -1, 1455, -1, -1, -1, -1, 361, 40, -1,
-1, -1, -1, -1, -1, 47, 182, -1, -1, -1,
-1, 187, -1, -1, 378, -1, -1, 1480, -1, -1,
-1, -1, -1, -1, -1, 70, -1, -1, -1, -1,
72, -1, 1752, 209, 210, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 224, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 4973, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 124,
-1, 257, -1, -1, -1, -1, 131, -1, -1, 134,
-1, -1, -1, -1, -1, 271, 460, -1, 274, 463,
464, 465, -1, 467, 468, 469, 470, 471, 472, -1,
-1, -1, -1, 3849, 159, 157, -1, -1, 1581, 1582,
1583, 1584, -1, -1, 3860, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
182, -1, -1, 5070, -1, 187, -1, 5074, 193, 5076,
-1, -1, -1, 5080, 5081, 3891, -1, -1, 1878, -1,
1880, -1, -1, -1, -1, -1, -1, 209, 210, -1,
-1, -1, -1, -1, -1, -1, -1, 1897, -1, 1899,
-1, 4612, 224, -1, -1, 361, -1, -1, 3924, -1,
-1, -1, -1, 1913, -1, 1915, -1, 1917, -1, 1919,
-1, 1921, -1, -1, -1, 1925, -1, 252, -1, 254,
-1, -1, -1, -1, -1, 257, -1, -1, -1, 264,
-1, -1, -1, -1, -1, -1, -1, -1, 273, 271,
-1, -1, 274, -1, -1, -1, 3972, -1, -1, -1,
285, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 296, -1, -1, 5168, -1, 1722,
1723, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 323, 1742,
-1, 326, 327, -1, 460, -1, -1, 463, 464, 465,
-1, 467, 468, 469, 470, 471, 472, 8, -1, -1,
11, -1, -1, -1, 15, 16, 17, -1, -1, -1,
-1, 356, -1, -1, 1777, 1778, 1779, 1780, -1, 361,
-1, 32, -1, -1, -1, -1, -1, -1, -1, 40,
-1, -1, -1, -1, -1, -1, 47, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4091, 4092, 4093, 4094, -1,
8, 72, -1, 11, -1, -1, -1, 15, 16, 17,
-1, 22, -1, -1, -1, -1, -1, 28, 423, -1,
-1, -1, -1, -1, 32, -1, -1, 35, 5315, -1,
-1, -1, 40, -1, -1, -1, -1, -1, -1, 47,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 460, 70,
-1, 463, 464, 465, 72, 467, 468, 469, 470, 471,
472, 1894, -1, -1, -1, 2155, 2156, 1900, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4881, -1, -1, -1, 2174, 2175, -1, -1, -1, 2179,
2180, -1, -1, -1, 2184, -1, -1, -1, -1, -1,
-1, 182, 5399, 124, -1, -1, 187, -1, 2198, -1,
131, -1, -1, 134, -1, 2205, -1, -1, -1, 2209,
2210, -1, -1, 2213, 2214, -1, -1, -1, 209, 210,
2220, -1, -1, -1, -1, -1, -1, -1, 159, -1,
-1, -1, -1, 224, -1, 2235, -1, 2237, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 182, 5462, 2256, -1, -1, 187,
-1, 2261, 193, -1, -1, -1, 257, -1, -1, -1,
-1, -1, -1, 5480, -1, 2275, -1, -1, -1, -1,
271, 209, 210, 274, 2284, -1, -1, 2287, 2031, -1,
2290, 2291, 2292, -1, -1, -1, 224, 2297, 2298, -1,
-1, 292, -1, -1, -1, -1, -1, 2307, -1, -1,
-1, -1, 2312, -1, -1, -1, 2316, 198, 199, -1,
-1, 252, -1, 254, -1, 206, -1, 208, 209, 257,
-1, -1, 2332, 264, -1, -1, -1, -1, -1, 2339,
2340, 222, 273, 271, -1, 2345, 274, -1, -1, 5060,
-1, -1, -1, -1, 285, -1, 2356, 2357, -1, -1,
-1, 2361, -1, -1, -1, -1, -1, -1, -1, -1,
361, -1, -1, 2373, -1, -1, 2376, -1, -1, -1,
-1, 2381, -1, -1, -1, -1, 2386, 2387, -1, -1,
-1, 2391, 323, -1, 2394, 326, 327, -1, 2398, 2399,
2400, 2401, -1, 2403, -1, -1, -1, -1, 22, -1,
-1, -1, -1, -1, 28, -1, 2416, 2417, 4434, 2419,
-1, 35, -1, -1, -1, 356, -1, -1, -1, 2429,
2430, -1, -1, 361, -1, -1, -1, -1, -1, -1,
54, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 70, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 460,
-1, -1, 463, 464, 465, -1, 467, 468, 469, 470,
471, 472, 2225, 2226, -1, -1, -1, -1, -1, -1,
104, 2491, 423, 2236, 8, 2238, -1, 11, -1, 2242,
-1, 15, 16, 17, -1, -1, -1, -1, -1, -1,
124, -1, -1, -1, -1, -1, -1, 131, 32, 2519,
134, -1, -1, -1, -1, -1, 40, -1, -1, -1,
-1, -1, 460, 47, -1, 463, 464, 465, -1, 467,
468, 469, 470, 471, 472, 159, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 72, -1,
-1, -1, -1, -1, -1, -1, 8, -1, -1, 11,
-1, -1, -1, 15, 16, 17, 190, -1, -1, 193,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
32, -1, -1, 35, -1, -1, -1, -1, 40, -1,
-1, -1, -1, -1, -1, 47, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 238, -1, -1, 241, -1, 2372,
72, -1, 2375, -1, -1, -1, -1, -1, 252, -1,
254, -1, -1, -1, -1, -1, -1, -1, -1, 163,
264, -1, 4668, -1, 8, -1, -1, 11, -1, 273,
-1, 15, 16, 17, -1, -1, -1, 4683, 182, -1,
284, 285, 4688, 187, -1, -1, -1, -1, 32, -1,
-1, -1, -1, -1, -1, -1, 40, -1, 5399, -1,
-1, -1, -1, 47, -1, 209, 210, -1, 4714, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 323,
224, 2454, 326, 327, 328, -1, -1, -1, 72, 2462,
2720, -1, 2465, 8, -1, -1, 11, -1, 2471, -1,
15, 16, 17, -1, -1, -1, 350, -1, -1, 2482,
182, -1, 356, 257, 625, 187, -1, 32, -1, -1,
631, 5462, -1, -1, -1, 40, 370, 271, -1, -1,
274, -1, 47, 644, -1, -1, -1, 209, 210, 5480,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 660,
2523, -1, 224, -1, -1, -1, -1, 72, -1, -1,
-1, -1, -1, 674, 675, -1, -1, -1, -1, -1,
681, -1, 683, 684, -1, -1, -1, -1, 2551, 423,
-1, -1, -1, -1, -1, 257, 697, -1, -1, 4835,
-1, -1, -1, -1, -1, -1, 707, -1, 182, 271,
-1, -1, 274, 187, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 361, -1, -1,
-1, -1, -1, -1, -1, 209, 210, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 2609, -1, 2611, -1,
224, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 8, -1, -1, 11, -1, -1, -1,
15, 16, 17, -1, -1, -1, -1, 182, -1, -1,
-1, -1, 187, 257, -1, -1, -1, 32, -1, -1,
35, 792, -1, -1, -1, 40, 4932, 271, -1, 361,
274, -1, 47, -1, 209, 210, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 816, -1, -1, -1, 224,
-1, -1, -1, -1, -1, -1, 460, 72, 829, 463,
464, 465, -1, 467, 468, 469, 470, 471, 472, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 257, -1, -1, 2975, 2719, -1, -1, 2979,
-1, -1, -1, -1, -1, 2985, 271, -1, -1, 274,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 3003, 3004, -1, -1, 361, 3008, -1,
-1, -1, -1, 3013, 3014, 3015, -1, 3017, 460, -1,
-1, 463, 464, 465, -1, 467, 468, 469, 470, 471,
472, -1, -1, -1, -1, -1, -1, -1, -1, 393,
3040, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3050, 3051, 3052, 3053, -1, -1, 937, 182, -1, -1,
-1, -1, 187, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 955, -1, 361, -1, -1, -1,
961, -1, -1, 964, 209, 210, 3086, -1, -1, 3089,
3090, 3091, -1, -1, -1, -1, 199, -1, -1, 224,
-1, -1, -1, -1, -1, 208, 460, 3107, -1, 463,
464, 465, -1, 467, 468, 469, 470, 471, 472, 222,
-1, -1, -1, -1, -1, -1, -1, 3127, -1, -1,
-1, -1, 257, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 271, -1, -1, 274,
-1, -1, -1, -1, -1, -1, -1, 8, -1, -1,
11, -1, -1, -1, 15, 16, 17, -1, -1, -1,
-1, -1, -1, -1, -1, 460, -1, -1, 463, 464,
465, -1, 467, 468, 469, 470, 471, 472, -1, 40,
-1, -1, -1, -1, -1, -1, 47, -1, -1, 3199,
-1, -1, -1, -1, -1, -1, -1, 3207, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 72, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 1113, -1, -1, -1, 361, -1, 3238, 22,
-1, -1, -1, -1, 2987, 28, 2989, 2990, 2991, -1,
1131, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 3261, -1, -1, -1, -1, -1, -1, 1149, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 70, -1, -1,
-1, -1, -1, -1, -1, -1, 1177, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 1188, -1, -1,
-1, -1, -1, 3313, -1, 20, -1, -1, 3318, -1,
25, -1, -1, 1204, -1, -1, -1, 1208, -1, -1,
-1, 182, -1, -1, -1, 460, 187, -1, 463, 464,
465, 124, 467, 468, 469, 470, 471, 472, 131, -1,
-1, 134, 3352, -1, -1, 60, -1, -1, 209, 210,
-1, -1, -1, -1, -1, -1, -1, -1, 73, 74,
-1, -1, -1, 224, -1, -1, 159, -1, -1, 84,
-1, -1, -1, 88, -1, -1, -1, -1, -1, -1,
-1, 3391, -1, 3393, -1, -1, -1, -1, -1, -1,
-1, 106, -1, -1, -1, -1, 257, -1, -1, -1,
193, -1, -1, -1, -1, -1, -1, -1, -1, -1,
271, -1, -1, -1, 129, -1, -1, -1, -1, -1,
-1, -1, -1, 3433, -1, 140, -1, -1, -1, -1,
-1, -1, -1, 148, -1, 1326, -1, -1, -1, -1,
-1, -1, -1, 1334, 1335, 160, -1, -1, -1, -1,
165, -1, -1, -1, -1, -1, -1, 1348, -1, 252,
-1, 254, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 264, -1, 3226, -1, -1, 191, -1, -1, -1,
273, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 285, -1, -1, -1, -1, -1, -1, -1,
361, 216, -1, -1, -1, -1, -1, -1, -1, -1,
1401, -1, 625, -1, -1, -1, -1, -1, 631, -1,
-1, -1, 237, -1, -1, -1, -1, -1, -1, -1,
323, 644, -1, 326, 327, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 660, -1, -1,
-1, -1, -1, -1, -1, -1, 271, -1, -1, -1,
-1, -1, 675, 356, -1, -1, -1, -1, -1, -1,
683, -1, -1, -1, -1, -1, -1, -1, -1, 294,
-1, -1, -1, -1, 697, -1, -1, -1, -1, 304,
305, -1, -1, 308, 707, -1, -1, -1, -1, 460,
-1, -1, 463, 464, 465, -1, 467, 468, 469, 470,
471, 472, -1, -1, -1, -1, -1, -1, -1, 334,
-1, -1, 337, -1, -1, -1, 341, -1, 343, -1,
423, -1, -1, -1, -1, 350, -1, 3647, 353, 3649,
-1, -1, -1, -1, -1, 3398, 3656, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 372, -1, -1,
-1, -1, 3672, -1, 379, -1, -1, -1, -1, -1,
385, -1, -1, 388, -1, -1, -1, 392, 3688, 792,
-1, -1, -1, -1, -1, 400, -1, 402, -1, -1,
-1, -1, 407, -1, -1, -1, -1, 3707, -1, -1,
-1, -1, -1, 816, 1595, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 3725, 829, 432, -1, -1,
-1, -1, -1, -1, -1, 3735, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 3754, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 3767, 3768, 3769,
-1, -1, -1, -1, 3774, 3775, 3776, 3777, -1, -1,
-1, 3781, 3782, -1, -1, -1, -1, 3787, 3788, -1,
3790, 3791, 3792, 3793, 3794, 3795, -1, 3797, -1, -1,
-1, -1, -1, -1, -1, -1, 3806, -1, -1, 3809,
3810, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 3833, 937, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 3852, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 1743, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 1767, -1, -1, -1,
-1, -1, -1, -1, 1775, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 1787, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 3661, 3662,
3663, 3664, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 3952, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 1858, 1859, -1,
1861, 1862, -1, -1, -1, -1, 3986, -1, -1, -1,
-1, -1, 1873, -1, 1875, 1876, -1, -1, 20, -1,
-1, -1, -1, -1, -1, -1, -1, 1888, 1889, -1,
1113, -1, -1, -1, -1, 37, -1, -1, -1, -1,
-1, -1, -1, 1904, -1, -1, -1, -1, 1131, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 60, -1,
-1, -1, -1, -1, -1, -1, 1149, -1, -1, -1,
-1, 73, -1, -1, -1, 1936, -1, -1, 1939, 1940,
-1, -1, 84, -1, -1, -1, 88, -1, -1, -1,
-1, -1, -1, -1, 1177, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 106, 1188, -1, -1, -1, -1,
112, -1, -1, 3836, -1, -1, -1, -1, -1, -1,
-1, 1204, -1, -1, -1, 1208, -1, 129, 3851, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 140, -1,
-1, -1, -1, -1, -1, -1, 148, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 160, -1,
-1, -1, -1, -1, -1, -1, 168, 2028, -1, -1,
172, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 191,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4195, -1, -1, -1, 4199,
4200, 4201, 4202, -1, -1, 4205, 228, -1, -1, -1,
-1, -1, -1, -1, -1, 237, -1, 2098, -1, -1,
-1, -1, -1, 1326, -1, -1, -1, -1, -1, -1,
-1, 1334, 1335, -1, -1, -1, -1, 4237, 4238, 4239,
-1, 4241, -1, 4243, 4244, 1348, -1, -1, -1, 271,
-1, -1, 274, -1, -1, 4255, 4256, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 294, 2154, -1, -1, -1, -1, -1, -1,
-1, -1, 4282, -1, -1, -1, 308, -1, -1, -1,
-1, 2172, -1, 315, -1, -1, 2177, 2178, 1401, -1,
-1, 2182, -1, -1, -1, 4305, -1, -1, -1, 2190,
-1, -1, 334, -1, -1, -1, -1, -1, -1, -1,
-1, 343, -1, -1, -1, -1, -1, 2208, 350, -1,
-1, 353, -1, -1, -1, -1, 20, -1, -1, -1,
-1, 25, -1, -1, -1, -1, -1, -1, -1, 2230,
372, -1, 2233, 2234, -1, -1, -1, 379, -1, -1,
-1, -1, -1, 385, -1, -1, 388, 389, -1, 391,
392, -1, -1, 2254, -1, -1, 60, -1, -1, -1,
402, -1, -1, -1, 4384, 407, -1, -1, -1, 73,
-1, 413, 2273, 2274, 416, -1, -1, 419, -1, -1,
-1, -1, -1, -1, 88, -1, -1, -1, -1, -1,
432, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 106, -1, 2305, 2306, -1, -1, 2309, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 4442, -1, -1, 129, -1, -1, -1, -1,
2331, -1, 2333, -1, -1, -1, 140, 2338, -1, -1,
-1, -1, -1, 2344, 148, -1, -1, -1, -1, -1,
2351, -1, -1, -1, 2355, -1, 160, -1, -1, 2360,
-1, 165, -1, -1, -1, -1, -1, -1, 172, -1,
-1, -1, 1595, -1, -1, -1, -1, -1, -1, 2380,
-1, -1, -1, -1, 2385, -1, -1, 191, 2389, -1,
-1, 2392, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 2402, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 2415, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 2425, -1, -1, -1, -1, 4292,
-1, -1, 4552, 237, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4307, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 271, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
284, -1, -1, -1, -1, -1, -1, -1, -1, 2490,
294, -1, -1, -1, 4614, -1, -1, -1, -1, -1,
304, 305, -1, -1, 308, -1, -1, -1, -1, -1,
-1, -1, 4632, -1, -1, -1, -1, 4637, 4638, -1,
1743, -1, -1, -1, -1, -1, -1, -1, -1, -1,
334, -1, -1, 337, -1, 4398, -1, 341, -1, 343,
-1, -1, -1, -1, 1767, -1, 350, -1, -1, 353,
-1, -1, 1775, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 1787, -1, -1, -1, 372, 4689,
2571, -1, -1, -1, -1, 379, -1, -1, -1, -1,
-1, 385, -1, -1, 388, -1, -1, -1, 392, 4709,
-1, 4711, -1, -1, -1, -1, 400, -1, 402, -1,
-1, -1, -1, 407, -1, -1, 4726, -1, -1, -1,
-1, -1, -1, -1, -1, 419, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 2626, 4746, -1, 432, -1,
-1, -1, -1, 4753, -1, -1, -1, -1, 1861, 1862,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 1875, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 1888, 1889, 2668, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 1904, -1, -1, -1, 2686, -1, -1, -1, -1,
-1, -1, -1, 2694, -1, -1, -1, -1, 4818, -1,
-1, -1, -1, 2704, -1, -1, 2707, -1, -1, 2710,
-1, 4574, 4575, 4576, -1, -1, -1, -1, -1, -1,
4840, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 4851, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 786, 787, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 2776, -1, -1, -1, -1,
-1, 2782, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4914, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 2028, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
670, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 696, 2858, -1, -1,
4980, -1, -1, -1, -1, -1, -1, -1, -1, 4732,
-1, -1, -1, -1, -1, 2098, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 935, 936, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5040, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 2154, -1, -1, -1, 5055, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 2947, 2948, -1, 2172,
-1, -1, -1, -1, 2177, 2178, -1, -1, -1, 2182,
-1, -1, -1, -1, -1, -1, -1, 2190, -1, -1,
-1, -1, -1, 2974, -1, -1, 2977, -1, -1, 5099,
-1, -1, -1, -1, -1, 2208, -1, -1, -1, -1,
-1, -1, -1, -1, 5114, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4873, -1, 4875, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 25, -1, -1, -1, -1,
-1, 2254, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2273, 2274, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 3062, 3063, 3064, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 73, -1, -1, 5196, -1, -1, -1,
-1, -1, 2305, 2306, 3085, -1, 2309, -1, 88, -1,
-1, -1, -1, -1, -1, 935, -1, -1, -1, -1,
-1, -1, -1, -1, 3105, -1, 106, -1, 2331, -1,
2333, 951, 112, -1, -1, 2338, -1, -1, -1, -1,
5240, 2344, -1, 3124, -1, -1, -1, -1, 2351, 129,
-1, -1, 2355, -1, -1, -1, 976, 2360, -1, -1,
140, -1, -1, -1, -1, -1, -1, -1, 148, -1,
-1, 991, -1, -1, -1, -1, -1, 2380, -1, -1,
160, -1, 2385, -1, -1, 165, 2389, 5030, -1, 2392,
-1, -1, 172, -1, -1, -1, -1, -1, -1, 2402,
-1, 1220, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 191, 2415, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 2425, -1, -1, 3206, -1, -1, 5328, -1,
-1, 1250, -1, -1, -1, -1, 216, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 1076, 237, -1, 1278,
1279, 1280, -1, 1282, -1, -1, 5109, -1, -1, -1,
-1, -1, 3253, -1, -1, -1, -1, -1, -1, 3260,
-1, 3262, -1, 1302, -1, -1, -1, 2490, -1, -1,
-1, 271, -1, -1, 3275, -1, 3277, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 294, -1, -1, -1, 3299, -1,
-1, -1, -1, -1, 304, 305, -1, -1, 308, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 1370, -1, -1, 334, 1374, 1375, 337, -1, -1,
-1, 341, 3343, 343, -1, -1, 1186, -1, 2571, 5212,
350, -1, -1, 353, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 372, -1, -1, -1, -1, -1, -1, 379,
-1, -1, -1, -1, 384, 385, -1, -1, 388, -1,
-1, -1, 392, 3394, -1, -1, -1, -1, -1, -1,
-1, -1, 402, 2626, -1, -1, -1, 407, -1, -1,
-1, 3412, -1, -1, -1, -1, -1, -1, -1, 419,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 432, 3434, -1, -1, 3437, -1, -1, -1,
-1, -1, -1, -1, -1, 2668, 5309, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 2686, -1, -1, -1, -1, -1, -1,
-1, 2694, -1, -1, -1, -1, -1, -1, 5341, 5342,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 670,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 3517, -1, -1, -1,
-1, -1, -1, -1, -1, 696, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 2776, -1, 1395, -1, -1, -1, 2782,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 1610, 1611, 1612, -1, -1, -1, -1, -1, -1,
-1, 5444, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 1461, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 2858, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 1502, -1, -1, -1, -1, -1, -1, -1,
3671, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 1535, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 3722, -1, -1, 2947, 2948, 3727, -1, 3729, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3751, 2974, -1, -1, 2977, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 3770,
1610, 1611, 1612, -1, -1, -1, -1, -1, -1, -1,
951, -1, -1, -1, -1, 3786, -1, -1, 3789, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 976, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
991, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 3062,
3063, 3064, -1, -1, 670, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 3085, -1, -1, -1, -1, -1, -1, -1,
696, -1, -1, 1713, -1, -1, -1, 3878, 3879, -1,
-1, -1, 3105, -1, -1, -1, -1, 3888, -1, -1,
1730, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 3124, -1, -1, -1, 1076, 3907, -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, -1, -1,
-1, -1, 1981, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 1994, -1, 1996, -1, -1,
1999, 2000, 2001, -1, 1804, -1, -1, 2006, -1, -1,
2009, -1, -1, -1, -1, -1, -1, 1817, -1, -1,
-1, 3982, -1, 3206, -1, 2024, 2025, 2026, 2027, 1829,
-1, -1, -1, 2032, -1, -1, -1, 2036, -1, -1,
2039, 1841, -1, 2042, 2043, 2044, 2045, 2046, 2047, 2048,
2049, 2050, -1, 2052, -1, 1186, -1, -1, -1, -1,
2059, -1, 2061, -1, -1, -1, -1, -1, -1, -1,
3253, -1, -1, -1, -1, -1, -1, 3260, -1, 3262,
-1, -1, -1, -1, -1, 1885, 1886, -1, -1, -1,
-1, -1, 3275, -1, 3277, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 2104, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 3299, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 2128,
2129, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3343, -1, -1, -1, -1, 951, -1, -1, -1, -1,
-1, -1, -1, 670, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
976, -1, -1, -1, -1, -1, -1, -1, 1329, 696,
-1, -1, -1, -1, -1, 991, -1, -1, -1, -1,
-1, 3394, 2211, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 2023, -1, -1, -1, -1, -1, 3412,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 4204, -1, -1, -1, -1, 4209, -1,
-1, 3434, -1, -1, 3437, -1, -1, -1, -1, -1,
-1, 2061, -1, -1, 1395, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 4242, -1, -1, -1, -1, -1, -1, -1, -1,
1076, -1, -1, 4254, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4281, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1461, -1, -1, -1, 3517, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 2161, -1, -1, -1, 2165, 2166, -1, -1, -1,
-1, 1502, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1186, -1, -1, -1, 1535, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 4378, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 2227, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 2241, -1, 2442, 2443, 2444, -1, -1, -1, 2448,
-1, -1, -1, -1, 951, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 976,
-1, 2480, 2282, -1, -1, -1, -1, -1, 3671, -1,
-1, -1, -1, -1, 991, 4456, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 3722,
-1, -1, -1, -1, 3727, -1, 3729, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 3751, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 1076,
-1, -1, 1713, -1, -1, -1, -1, 3770, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 1730,
-1, -1, -1, 3786, -1, 4566, 3789, 4568, -1, 1395,
-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, 2444, -1, -1, -1, -1, -1,
-1, -1, 4613, -1, -1, -1, -1, -1, -1, -1,
-1, 4622, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 1804, -1, 1461, -1, -1, -1, -1,
-1, 2481, -1, -1, -1, -1, 1817, -1, -1, 1186,
-1, -1, -1, -1, -1, 3878, 3879, -1, 1829, 4660,
-1, -1, -1, -1, 4665, 3888, -1, -1, -1, -1,
1841, -1, -1, -1, -1, -1, 1502, -1, -1, -1,
-1, -1, -1, -1, 3907, -1, -1, -1, 2727, -1,
-1, -1, -1, 2732, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 1535,
-1, -1, -1, -1, 1885, 1886, -1, -1, 2757, -1,
-1, -1, -1, 2563, -1, -1, 2566, -1, -1, 2768,
-1, 2770, 2771, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 2781, -1, -1, 2784, -1, 2786, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 3982,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 2815, -1, 2817, -1,
2819, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 2874, -1, -1, -1, -1,
-1, -1, -1, 4844, 2684, -1, -1, -1, -1, -1,
2889, -1, 2023, -1, -1, -1, -1, -1, 1395, -1,
-1, 2701, -1, -1, -1, -1, -1, -1, 4869, -1,
-1, -1, -1, -1, -1, -1, 2716, -1, -1, -1,
4881, -1, -1, -1, -1, -1, -1, 1713, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 1730, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 2953, -1, -1, -1, -1, -1,
-1, -1, 1748, -1, 1461, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 1502, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 1804, -1,
-1, 4204, -1, -1, -1, -1, 4209, -1, -1, -1,
2161, 1817, -1, -1, 2165, 2166, -1, -1, 1535, -1,
-1, -1, -1, 1829, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 1841, -1, -1, -1, 4242,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 4254, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 2227, -1, 4281, 1885,
1886, -1, -1, -1, -1, -1, -1, 5068, -1, 5070,
2241, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 2922, -1, -1, 2925, -1, 2927, -1, -1,
-1, -1, 2932, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 2282, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 2981, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4378, -1, -1, -1, -1,
3000, -1, -1, -1, 5165, -1, -1, -1, 670, -1,
-1, -1, 3211, -1, -1, -1, 1713, -1, 3217, -1,
-1, -1, 5183, -1, -1, 3025, -1, -1, -1, -1,
-1, -1, -1, 1730, 696, -1, 5197, 2023, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 5210,
-1, 1748, -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, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 3095, -1, 3097, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 1804, -1, -1,
-1, 5272, 5273, -1, -1, -1, -1, -1, -1, -1,
1817, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 1829, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 1841, -1, -1, -1, -1, -1,
2481, -1, -1, -1, 5315, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 2161, -1, -1, -1, 2165,
2166, -1, -1, 4566, -1, 4568, 3186, -1, 1885, 1886,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 3211, -1, -1, -1, -1, -1, 3217, -1, -1,
-1, -1, -1, -1, -1, 3225, -1, -1, -1, -1,
4613, -1, 2563, -1, -1, 2566, -1, -1, 5399, -1,
-1, 2227, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 3254, 2241, -1, -1, 3457, -1,
-1, -1, -1, -1, -1, -1, -1, 3466, -1, -1,
-1, -1, -1, 3472, -1, 3474, -1, 4660, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 951,
-1, -1, -1, -1, -1, -1, 2282, -1, -1, -1,
-1, 5462, 3501, 3502, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 976, -1, -1, -1, -1, 5480,
3519, 5482, 5483, 3323, -1, -1, 2023, -1, 3527, 991,
-1, 3530, -1, 3532, -1, -1, -1, -1, -1, -1,
-1, -1, 3541, -1, 3344, -1, -1, -1, -1, -1,
3549, 3550, -1, 2684, -1, -1, -1, -1, 3358, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2701, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 3581, -1, -1, 2716, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 3606, -1, -1,
-1, -1, -1, -1, 1076, -1, -1, -1, -1, -1,
-1, -1, -1, 3622, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3460, 4844, -1, -1, 2161, -1, -1, -1, 2165, 2166,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 3481, -1, -1, -1, -1, 4869, -1, -1, -1,
-1, -1, -1, -1, -1, 2481, -1, -1, 4881, -1,
-1, -1, -1, -1, -1, -1, 3506, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 1186, -1, -1, -1, -1, -1,
2227, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3540, -1, -1, -1, 2241, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 2563, -1, -1,
2566, -1, -1, -1, -1, 2282, -1, -1, -1, -1,
-1, 2922, -1, -1, 2925, -1, 2927, -1, -1, -1,
-1, 2932, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 3628, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2981, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 3000,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 5068, -1, 5070, -1, -1,
-1, -1, -1, -1, 3025, -1, -1, -1, 2684, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 2701, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 670, 3728, -1,
2716, -1, -1, 1395, -1, -1, 3935, 3936, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 3752, 696, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 3095, -1, 3097, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 5165, -1, 2481, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 1461,
5183, -1, -1, -1, -1, -1, -1, -1, 4007, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 4018,
-1, -1, -1, -1, -1, -1, -1, 5210, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1502, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 3186, -1, -1, -1, -1,
4059, 4060, -1, -1, -1, -1, 2563, 4066, 4067, 2566,
-1, -1, 4071, 1535, -1, -1, -1, 4076, -1, -1,
4079, 4080, 3882, -1, -1, 4084, -1, -1, -1, -1,
-1, 4090, -1, -1, 3225, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 3254, -1, -1, -1, -1, -1, -1,
3930, -1, 5315, -1, 3934, -1, 2922, -1, -1, 2925,
-1, 2927, -1, 4142, -1, -1, 2932, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
670, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4169, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 696, 2684, -1, -1,
-1, -1, 3323, -1, -1, 2981, -1, -1, -1, -1,
-1, -1, -1, -1, 2701, -1, -1, -1, 951, -1,
-1, -1, -1, 3344, 3000, -1, 5399, -1, -1, 2716,
-1, -1, -1, -1, -1, -1, -1, 3358, -1, -1,
-1, -1, -1, 976, -1, -1, -1, -1, -1, 3025,
-1, -1, -1, -1, -1, -1, -1, -1, 991, -1,
-1, 1713, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 4062, -1, -1, -1, -1, -1, 1730, -1,
-1, 4270, 4072, -1, -1, -1, -1, -1, -1, 5462,
-1, -1, -1, -1, -1, -1, 1748, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 5480, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 3095,
-1, 3097, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 3460,
-1, -1, -1, 1076, -1, -1, -1, -1, -1, -1,
4339, -1, 1804, -1, -1, -1, -1, -1, -1, -1,
3481, -1, -1, -1, -1, 1817, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 1829, -1, -1,
-1, -1, -1, -1, -1, 3506, -1, -1, -1, 1841,
-1, -1, -1, -1, -1, -1, -1, 4187, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3186, -1, -1, -1, -1, -1, -1, -1, -1, 3540,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 1885, 1886, 2922, 4226, -1, 2925, -1,
2927, -1, -1, -1, -1, 2932, -1, -1, -1, 3225,
-1, 951, -1, 1186, -1, -1, -1, 4247, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 976, -1, 3254, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 991, -1, -1, 2981, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 3628, -1, -1,
-1, -1, -1, 3000, 4503, 4504, -1, -1, 4507, -1,
-1, -1, 4312, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 3025, -1,
-1, -1, -1, -1, -1, -1, -1, 3323, -1, -1,
-1, -1, -1, -1, -1, 4544, 4545, -1, -1, -1,
-1, -1, 670, -1, -1, -1, -1, -1, 3344, -1,
-1, 2023, 4561, -1, -1, -1, 1076, -1, -1, -1,
-1, -1, 3358, -1, -1, -1, -1, -1, 696, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 3728, 3095, -1,
3097, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 3752, -1, -1, -1, -1, -1, -1, -1, -1,
4430, -1, 4432, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 1395, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 3460, -1, 1186, -1, 4478, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 3186,
-1, -1, -1, -1, -1, 3481, -1, -1, -1, 2161,
-1, -1, -1, 2165, 2166, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 1461, -1,
3506, -1, -1, -1, -1, -1, -1, -1, 3225, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 3882, -1, -1, 3540, -1, -1, 3254, -1, 1502,
-1, -1, -1, 4762, -1, 2227, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 2241,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4789, -1, 1535, -1, -1, -1, -1, -1, -1, 3930,
-1, -1, -1, 3934, 4803, -1, -1, -1, -1, -1,
-1, -1, 4612, -1, -1, -1, -1, -1, -1, -1,
2282, -1, -1, -1, -1, -1, 3323, -1, -1, -1,
-1, -1, -1, 951, -1, -1, -1, -1, -1, -1,
-1, -1, 3628, -1, -1, -1, -1, 3344, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 976, -1,
-1, 3358, -1, 4862, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 991, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 1395, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4903, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 4062, -1, -1, -1, -1, 4736, -1, -1, -1,
-1, 4072, 3728, -1, -1, -1, -1, -1, -1, -1,
-1, 1461, -1, -1, -1, -1, -1, -1, 1076, -1,
4760, -1, -1, 3460, -1, -1, 3752, -1, -1, -1,
1713, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 3481, -1, -1, 1730, -1, -1,
-1, -1, 1502, -1, -1, -1, -1, -1, -1, 4799,
-1, -1, -1, -1, -1, 1748, -1, -1, -1, 3506,
-1, -1, -1, -1, -1, -1, -1, -1, 5017, 2481,
-1, -1, -1, -1, -1, 1535, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 3540, 5043, -1, -1, -1, -1, -1,
-1, -1, 4852, -1, -1, -1, 4187, 4857, 4858, -1,
-1, 1804, -1, -1, -1, -1, -1, -1, 1186, -1,
-1, -1, -1, -1, 1817, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 1829, -1, -1, -1,
-1, -1, -1, -1, -1, 4226, 3882, -1, 1841, -1,
-1, 2563, -1, -1, 2566, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 4247, -1, -1, -1,
-1, 5120, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 3628, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 1885, 1886, 3930, -1, -1, -1, 3934, -1,
-1, -1, -1, -1, -1, -1, 5155, 5156, 5157, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 4972, 4973, -1, 5174, -1, -1, -1, -1,
-1, 4312, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 1713, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1730, -1, 2684, -1, -1, -1, -1, -1, -1, -1,
-1, 3728, -1, -1, -1, -1, -1, -1, 1748, 2701,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 2716, 3752, -1, 5256, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 5274, 4062, 1395, -1, -1,
2023, -1, -1, -1, -1, -1, 4072, -1, -1, -1,
-1, -1, -1, -1, 1804, -1, -1, -1, -1, -1,
-1, 4432, -1, -1, -1, -1, -1, 1817, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 1829,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 1841, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 1461, -1, -1, -1, 4478, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 5168, -1,
-1, -1, -1, -1, -1, 1885, 1886, -1, -1, -1,
-1, -1, -1, -1, 1502, 3882, 5385, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 4187, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 1535, 2161, -1,
5419, -1, 2165, 2166, -1, -1, -1, -1, -1, -1,
5429, -1, -1, 3930, -1, -1, -1, 3934, -1, -1,
4226, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2922, 4247, -1, 2925, -1, 2927, -1, -1, -1, -1,
2932, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 4612, -1, -1, 2227, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 2241, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 2023, -1, -1, -1, -1, -1, 2981,
-1, -1, -1, -1, -1, -1, 4312, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 3000, 2282,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 3025, -1, 4062, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4072, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 1713, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4736, -1, -1, -1, -1,
-1, -1, 1730, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 4760,
1748, -1, -1, 3095, -1, 3097, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 4432, -1, -1, -1,
-1, 2161, -1, -1, -1, 2165, 2166, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 4799, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 1804, -1, -1, -1,
4187, -1, 4478, -1, -1, -1, -1, -1, -1, 1817,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 1829, -1, -1, -1, -1, -1, 2227, -1, -1,
-1, 4852, -1, 1841, 3186, -1, 4857, 4858, -1, 4226,
-1, 2241, -1, -1, -1, -1, -1, -1, 2481, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4247, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 3225, -1, -1, -1, 1885, 1886, -1,
-1, -1, 2282, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -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, 4312, -1, -1, -1, -1,
2563, -1, -1, 2566, -1, -1, 4612, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 4973, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 3323, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 3344, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 3358, -1, -1, -1,
-1, -1, -1, -1, -1, 2023, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4432, -1, -1, -1, -1,
-1, 2684, -1, -1, -1, -1, -1, -1, -1, -1,
4736, -1, -1, -1, -1, -1, -1, -1, 2701, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 2481, -1, 2716, 4760, -1, -1, -1, -1, -1,
-1, 4478, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 3460, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 4799, -1, -1, -1, -1, -1, 3481,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 5168, -1, -1,
-1, -1, -1, 2161, 3506, -1, -1, 2165, 2166, -1,
-1, -1, -1, 2563, -1, -1, 2566, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 4852, -1, -1, -1,
-1, 4857, 4858, -1, -1, -1, -1, -1, 3540, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 2227,
-1, -1, -1, -1, -1, 4612, -1, -1, -1, -1,
-1, -1, -1, 2241, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 2282, -1, 3628, -1, -1, -1,
-1, -1, -1, -1, 2684, -1, -1, -1, -1, 2922,
-1, -1, 2925, -1, 2927, -1, -1, 4973, -1, 2932,
-1, 2701, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 2716, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 2981, 4736,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 3000, -1, -1,
-1, -1, -1, 4760, -1, -1, 3728, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 3025, -1, -1, -1, -1, -1, -1, -1,
3752, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 4799, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 1294, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 3095, -1, 3097, 4852, -1, -1, -1, -1,
4857, 4858, -1, 2481, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 5168, 1352, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 2922, -1, -1, 2925, -1, 2927, -1, -1,
3882, -1, 2932, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 3186, -1, 2563, -1, -1, 2566, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 3930, -1,
-1, 2981, 3934, -1, -1, -1, 4973, -1, -1, -1,
-1, -1, 3225, -1, -1, -1, -1, -1, -1, -1,
3000, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 3254, -1, -1, -1, 3025, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 2684, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3323, -1, -1, 2701, -1, 3095, -1, 3097, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 2716, -1,
4062, 3344, -1, -1, -1, -1, -1, -1, -1, -1,
4072, -1, -1, -1, -1, 3358, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 1616, -1, -1,
-1, 1620, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 5168, -1, -1, -1, -1, 3186, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 3225, -1, 3460, -1, -1,
-1, -1, -1, -1, -1, 4187, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 3481, -1,
-1, -1, -1, -1, 3254, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 3506, 4226, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4247, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 3540, -1, -1,
-1, -1, -1, -1, 2922, -1, -1, 2925, -1, 2927,
-1, -1, -1, 3323, 2932, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 3344, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 3358, -1,
4312, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 2981, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 3000, -1, -1, 3628, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 3025, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3460, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4432, 3481, -1, -1, -1, -1, -1, 3095, -1, 3097,
-1, -1, -1, -1, -1, 3728, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 3506, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 3752,
1979, -1, -1, -1, -1, -1, 4478, -1, -1, -1,
-1, -1, -1, -1, 1993, -1, -1, -1, 1997, -1,
3540, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 2011, 2012, 2013, -1, 2015, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 3186, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 2057, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 3225, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 3628, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 3254, -1, -1, 3882,
-1, -1, -1, -1, -1, -1, 2115, -1, -1, -1,
4612, -1, -1, -1, -1, -1, -1, -1, 2127, -1,
-1, -1, -1, 2132, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 3930, -1, -1,
-1, 3934, -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, 3728, -1,
-1, -1, -1, -1, -1, -1, 3344, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3358, -1, 3752, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4736, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 4760, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 4062,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 4072,
-1, -1, -1, -1, -1, -1, -1, 4799, -1, -1,
-1, -1, 3460, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 3481, -1, -1, -1, -1, -1, -1,
-1, -1, 3882, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 3506, -1,
4852, -1, -1, -1, -1, 4857, 4858, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3930, -1, 3540, -1, 3934, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4187, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 4226, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4247, -1, -1, -1, -1, -1,
3628, 4973, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 4062, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 4072, -1, -1, -1, -1, -1, -1, 4312,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3728, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 3752, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 4187, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 4432,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 5168, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 4226, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4478, -1, 4247, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 2730, -1, -1, 3882, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 2750, -1, 2752, -1, -1, 2755, 2756, -1, 2758,
-1, 2760, -1, -1, -1, 2764, -1, -1, 2767, -1,
-1, -1, 4312, 2772, -1, -1, -1, -1, -1, 2778,
-1, -1, 3930, -1, 2783, -1, 3934, -1, -1, -1,
-1, 2790, 2791, 2792, 2793, -1, -1, -1, 2797, 2798,
-1, 2800, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 2812, -1, 2814, -1, -1, -1, -1,
-1, -1, 2821, 2822, 2823, 2824, 2825, 2826, 2827, 2828,
2829, 2830, -1, -1, -1, -1, -1, -1, -1, 4612,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 2867, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 4432, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4062, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4072, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 4478, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 4736, -1, -1, -1, -1, -1, 2968,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 4760, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 4799, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 4187,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 4612, -1, -1, -1, -1, -1, 4226, 4852,
-1, -1, -1, -1, 4857, 4858, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 4247,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4312, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 4736, -1, -1, -1,
4973, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 3215, 3216, -1, -1,
4760, 3220, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3249, -1, -1, -1, -1, -1, -1, -1, -1, 4799,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4432, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 4852, -1, -1, -1, -1, 4857, 4858, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4478, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 5168, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 4973, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 3456, -1, -1,
-1, -1, -1, 3462, 4612, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 3478,
3479, -1, -1, 3482, 3483, 3484, 3485, -1, -1, 3488,
3489, 3490, 3491, 3492, 3493, 3494, 3495, 3496, 3497, 3498,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 3520, -1, -1, 3523, -1, 3525, -1, -1, 3528,
3529, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 3543, 3544, 3545, 3546, -1, 3548,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 4736, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 4760, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 5168, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 3637, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 4799, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4852, -1, -1, -1, -1, 4857,
4858, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4973, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 3853, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 4008,
-1, -1, -1, 4012, 4013, 4014, -1, -1, -1, -1,
5168, 4020, 4021, 4022, 4023, -1, -1, -1, -1, 4028,
4029, 4030, 4031, 4032, 4033, 4034, 4035, 4036, 4037, 4038,
4039, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 4065, -1, -1, 4068,
-1, 4070, -1, -1, -1, 4074, -1, -1, 4077, 4078,
-1, -1, 4081, 4082, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 4128,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 4141, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4154, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 4342, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 4427, 4428,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 4468,
-1, -1, -1, -1, 4473, 4474, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 4491, -1, 4493, -1, -1, -1, 4497, 4498,
4499, -1, -1, 4502, -1, -1, 4505, 4506, -1, -1,
-1, 4510, -1, -1, -1, 4514, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 4570, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4633, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 4670, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 4758,
4759, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4773, 4774, 4775, -1, -1, -1,
-1, -1, -1, -1, 4783, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 4810, 4811, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 4822, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 4985, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 4998,
-1, -1, 5001, -1, -1, -1, 5005, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 5091, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 5162, -1, 5164, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 5195, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5249, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 5277, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 5338,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 5373, 5374, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 5425, 5426, -1, -1,
-1, 5430, -1, -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, 5457, 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, 380, 381, -1, 383, 384, -1, 386, 387, 388,
389, 390, 391, 392, -1, 394, 395, 396, -1, -1,
399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
409, 410, 411, -1, 413, 414, 415, 416, 417, 418,
419, -1, 421, 422, 423, 424, 425, 426, 427, 428,
429, 430, 431, 432, 433, 434, -1, -1, 437, -1,
-1, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
459, 460, -1, -1, -1, -1, -1, -1, 467, 468,
469, -1, -1, -1, -1, -1, -1, 476, 477, 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, 380, 381, -1, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, -1,
394, 395, 396, -1, -1, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, -1, 413,
414, 415, 416, 417, 418, 419, -1, 421, 422, 423,
424, 425, 426, 427, -1, 429, 430, 431, 432, 433,
434, -1, -1, 437, -1, 439, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 458, 459, 460, -1, 462, -1,
-1, -1, -1, 467, 468, -1, -1, -1, -1, -1,
-1, -1, 476, 477, 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, 380, 381, -1, 383, 384, -1, 386, 387, 388,
389, 390, 391, 392, -1, 394, 395, 396, -1, -1,
399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
409, 410, 411, -1, 413, 414, 415, 416, 417, 418,
419, -1, 421, 422, 423, 424, 425, 426, 427, -1,
429, 430, 431, 432, 433, 434, -1, -1, 437, -1,
-1, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
459, 460, -1, -1, -1, -1, -1, -1, 467, 468,
-1, -1, -1, -1, -1, -1, -1, 476, 477, 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, 380, 381, -1, 383,
384, -1, 386, 387, 388, 389, 390, 391, 392, -1,
394, 395, 396, -1, -1, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, -1, 413,
414, 415, 416, 417, 418, 419, -1, 421, 422, 423,
424, 425, 426, 427, -1, 429, 430, 431, 432, 433,
434, -1, -1, 437, -1, -1, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 458, 459, 460, -1, -1, -1,
-1, -1, -1, 467, 468, -1, -1, -1, -1, -1,
-1, -1, 476, 477, 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, 380, 381, -1, 383, 384, -1, 386, 387, 388,
389, 390, 391, 392, -1, 394, 395, 396, -1, -1,
399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
409, 410, 411, -1, 413, 414, 415, 416, 417, 418,
419, -1, 421, 422, 423, 424, 425, 426, 427, -1,
429, 430, 431, 432, 433, 434, -1, -1, 437, -1,
-1, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
459, 460, -1, -1, 3, -1, -1, -1, 467, 468,
-1, -1, -1, -1, -1, -1, -1, 476, 477, 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, 380, 381, -1, 383, 384, -1, 386, -1, 388,
389, 390, 391, 392, -1, 394, 395, 396, -1, -1,
399, 400, 401, 402, 403, -1, 405, 406, 407, 408,
409, 410, 411, -1, -1, 414, 415, 416, 417, 418,
-1, -1, 421, 422, 423, 424, 425, 426, 427, -1,
429, -1, 431, 432, 433, 434, -1, -1, 437, -1,
-1, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
459, -1, -1, -1, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 477, 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,
379, -1, 381, -1, 383, 384, -1, 386, 387, 388,
389, 390, 391, 392, -1, 394, 395, 396, -1, -1,
399, 400, -1, 402, -1, -1, 405, 406, 407, 408,
409, 410, 411, -1, -1, 414, 415, 416, 417, 418,
-1, -1, 421, 422, 423, 424, 425, -1, 427, 428,
429, 430, 431, 432, 433, 434, -1, -1, 437, -1,
-1, 440, 441, 442, 443, 444, 445, 3, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 457, 458,
459, -1, 18, 19, 20, 21, 22, 23, 24, 25,
-1, 27, 28, 29, -1, -1, -1, -1, 477, -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, 379, -1, 381, -1, 383, 384, -1,
386, 387, 388, 389, 390, 391, 392, -1, 394, 395,
396, -1, -1, 399, 400, -1, 402, -1, -1, 405,
406, 407, 408, 409, 410, 411, -1, -1, 414, 415,
416, 417, 418, -1, -1, 421, 422, 423, 424, 425,
-1, 427, 428, 429, 430, 431, 432, 433, 434, -1,
-1, 437, -1, -1, 440, 441, 442, 443, 444, 445,
-1, 3, 4, 5, 6, 7, 8, 9, 10, -1,
-1, 457, 458, 459, -1, -1, 18, 19, 20, 21,
22, 23, 24, 25, -1, 27, 28, 29, -1, -1,
-1, 477, 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, 380, 381,
-1, 383, 384, 385, 386, 387, 388, 389, 390, 391,
392, -1, 394, 395, 396, -1, -1, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
-1, 413, 414, 415, 416, 417, 418, 419, -1, 421,
422, 423, 424, 425, 426, 427, -1, 429, 430, 431,
432, 433, 434, -1, -1, 437, -1, 439, 440, 441,
442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
452, 453, 454, 455, 456, 457, 458, 459, 460, -1,
462, -1, -1, -1, -1, 467, 468, -1, -1, -1,
-1, -1, -1, -1, 476, 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, 380, 381, -1, 383, 384, -1, 386, 387,
388, 389, 390, 391, 392, -1, 394, 395, 396, -1,
398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
408, 409, 410, 411, -1, 413, 414, 415, 416, 417,
418, 419, -1, 421, 422, 423, 424, 425, 426, 427,
-1, 429, 430, 431, 432, 433, 434, -1, -1, 437,
-1, -1, 440, 441, 442, 443, 444, 445, 446, 447,
448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
458, 459, 460, -1, -1, -1, -1, -1, -1, 467,
468, -1, -1, -1, -1, -1, -1, -1, 476, 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, 380, 381, -1, 383,
384, -1, 386, 387, 388, 389, 390, 391, 392, -1,
394, 395, 396, -1, -1, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, -1, 413,
414, 415, 416, 417, 418, 419, -1, 421, 422, 423,
424, 425, 426, 427, -1, 429, 430, 431, 432, 433,
434, -1, -1, 437, -1, -1, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 458, 459, 460, -1, -1, -1,
-1, -1, -1, 467, 468, -1, -1, -1, -1, -1,
474, 475, 476, 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,
380, 381, -1, 383, 384, -1, 386, 387, 388, 389,
390, 391, 392, -1, 394, 395, 396, -1, -1, 399,
400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
410, 411, -1, 413, 414, 415, 416, 417, 418, 419,
-1, 421, 422, 423, 424, 425, 426, 427, -1, 429,
430, 431, 432, 433, 434, -1, -1, 437, -1, -1,
440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
460, -1, -1, -1, -1, -1, -1, 467, 468, 469,
-1, -1, -1, -1, -1, -1, 476, 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, 380, 381, -1, 383, 384, -1,
386, 387, 388, 389, 390, 391, 392, -1, 394, 395,
396, -1, -1, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 410, 411, -1, 413, 414, 415,
416, 417, 418, 419, -1, 421, 422, 423, 424, 425,
426, 427, -1, 429, 430, 431, 432, 433, 434, -1,
-1, 437, -1, -1, 440, 441, 442, 443, 444, 445,
446, 447, 448, 449, 450, 451, 452, 453, 454, 455,
456, 457, 458, 459, 460, -1, -1, -1, -1, -1,
-1, 467, 468, -1, -1, -1, -1, -1, -1, -1,
476, 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, 380, 381,
-1, 383, 384, -1, 386, 387, 388, 389, 390, 391,
392, -1, 394, 395, 396, -1, -1, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
-1, 413, 414, 415, 416, 417, 418, 419, -1, 421,
422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
432, 433, 434, -1, -1, 437, -1, -1, 440, 441,
442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
452, 453, 454, 455, 456, 457, 458, 459, 460, -1,
-1, -1, -1, -1, -1, 467, 468, -1, -1, -1,
-1, -1, -1, -1, 476, 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, 380, 381, -1, 383, 384, -1, 386, 387,
388, 389, 390, 391, 392, -1, 394, 395, 396, -1,
-1, 399, 400, 401, 402, 403, 404, 405, 406, 407,
408, 409, 410, 411, -1, 413, 414, 415, 416, 417,
418, 419, -1, 421, 422, 423, 424, 425, 426, 427,
-1, 429, 430, 431, 432, 433, 434, -1, -1, 437,
-1, -1, 440, 441, 442, 443, 444, 445, 446, 447,
448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
458, 459, 460, -1, -1, -1, -1, -1, -1, 467,
468, -1, -1, -1, -1, -1, -1, -1, 476, 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, 380, 381, -1, 383,
384, -1, 386, 387, 388, 389, 390, 391, 392, -1,
394, 395, 396, -1, -1, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, -1, 413,
414, 415, 416, 417, 418, 419, -1, 421, 422, 423,
424, 425, 426, 427, -1, 429, 430, 431, 432, 433,
434, -1, -1, 437, -1, -1, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 458, 459, 460, -1, -1, -1,
-1, -1, -1, 467, 468, -1, -1, -1, -1, -1,
-1, -1, 476, 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,
380, 381, -1, 383, 384, -1, 386, 387, 388, 389,
390, 391, 392, -1, 394, 395, 396, -1, -1, 399,
400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
410, 411, -1, 413, 414, 415, 416, 417, 418, 419,
-1, 421, 422, 423, 424, 425, 426, 427, -1, 429,
430, 431, 432, 433, 434, -1, -1, 437, -1, -1,
440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
460, -1, -1, -1, -1, -1, -1, 467, 468, -1,
-1, -1, -1, -1, -1, -1, 476, 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, 380, 381, -1, 383, 384, -1,
386, 387, 388, 389, 390, 391, 392, -1, 394, 395,
396, -1, -1, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 410, 411, -1, 413, 414, 415,
416, 417, 418, 419, -1, 421, 422, 423, 424, 425,
426, 427, -1, 429, 430, 431, 432, 433, 434, -1,
-1, 437, -1, -1, 440, 441, 442, 443, 444, 445,
446, 447, 448, 449, 450, 451, 452, 453, 454, 455,
456, 457, 458, 459, 460, -1, -1, -1, -1, -1,
-1, 467, 468, -1, -1, -1, -1, -1, -1, -1,
476, 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, 380, 381,
-1, 383, 384, -1, 386, 387, 388, 389, 390, 391,
392, -1, 394, 395, 396, -1, -1, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
-1, 413, 414, 415, 416, 417, 418, 419, -1, 421,
422, 423, 424, 425, 426, 427, -1, 429, 430, 431,
432, 433, 434, -1, -1, 437, -1, -1, 440, 441,
442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
452, 453, 454, 455, 456, 457, 458, 459, 460, -1,
-1, -1, -1, -1, -1, 467, 468, -1, -1, -1,
-1, -1, -1, -1, 476, 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, 380, 381, -1, 383, 384, -1, 386, 387,
388, 389, 390, 391, 392, -1, 394, 395, 396, -1,
-1, 399, 400, 401, 402, 403, 404, 405, 406, 407,
408, 409, 410, 411, -1, 413, 414, 415, 416, 417,
418, 419, -1, 421, 422, 423, 424, 425, 426, 427,
-1, 429, 430, 431, 432, 433, 434, -1, -1, 437,
-1, -1, 440, 441, 442, 443, 444, 445, 446, 447,
448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
458, 459, 460, -1, -1, -1, -1, -1, -1, 467,
468, -1, -1, -1, -1, -1, -1, -1, 476, 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, 380, 381, -1, 383,
384, -1, 386, 387, 388, 389, 390, 391, 392, -1,
394, 395, 396, -1, -1, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, -1, 413,
414, 415, 416, 417, 418, 419, -1, 421, 422, 423,
424, 425, 426, 427, -1, 429, 430, 431, 432, 433,
434, -1, -1, 437, -1, -1, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 458, 459, 460, -1, -1, -1,
-1, -1, -1, 467, 468, -1, -1, -1, -1, -1,
-1, -1, 476, 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,
380, 381, -1, 383, 384, -1, 386, 387, 388, 389,
390, 391, 392, -1, 394, 395, 396, -1, -1, 399,
400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
410, 411, -1, 413, 414, 415, 416, 417, 418, 419,
-1, 421, 422, 423, 424, 425, 426, 427, -1, 429,
430, 431, 432, 433, 434, -1, -1, 437, -1, -1,
440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
460, -1, -1, -1, -1, -1, -1, 467, 468, -1,
-1, -1, -1, -1, -1, -1, 476, 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, 380, 381, -1, 383, 384, -1,
386, 387, 388, 389, 390, 391, 392, -1, 394, 395,
396, -1, -1, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 410, 411, -1, 413, 414, 415,
416, 417, 418, 419, -1, 421, 422, 423, 424, 425,
426, 427, -1, 429, 430, 431, 432, 433, 434, -1,
-1, 437, -1, -1, 440, 441, 442, 443, 444, 445,
446, 447, 448, 449, 450, 451, 452, 453, 454, 455,
456, 457, 458, 459, 460, -1, -1, -1, -1, -1,
-1, 467, 468, -1, -1, -1, -1, -1, -1, -1,
476, 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, 380, 381,
-1, 383, 384, -1, 386, 387, 388, 389, 390, 391,
392, -1, 394, 395, 396, -1, -1, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
-1, 413, 414, 415, 416, 417, 418, 419, -1, 421,
422, 423, 424, 425, 426, 427, -1, 429, 430, 431,
432, 433, 434, -1, -1, 437, -1, -1, 440, 441,
442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
452, 453, 454, 455, 456, 457, 458, 459, 460, -1,
-1, -1, -1, -1, -1, 467, 468, -1, -1, -1,
-1, -1, -1, -1, 476, 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, 380, 381, -1, 383, 384, -1, 386, 387,
388, 389, 390, 391, 392, -1, 394, 395, 396, -1,
-1, 399, 400, 401, 402, 403, 404, 405, 406, 407,
408, 409, 410, 411, -1, -1, 414, 415, 416, 417,
418, 419, -1, 421, 422, 423, 424, 425, 426, 427,
-1, 429, 430, 431, 432, 433, 434, -1, -1, 437,
-1, -1, 440, 441, 442, 443, 444, 445, 446, 447,
448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
458, 459, -1, -1, -1, -1, -1, -1, -1, 467,
468, -1, -1, -1, -1, -1, -1, -1, 476, 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, 380, 381, -1, 383,
384, -1, 386, 387, 388, 389, 390, 391, 392, -1,
394, 395, 396, -1, -1, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, -1, 413,
414, 415, 416, 417, 418, 419, -1, 421, 422, 423,
424, 425, 426, 427, -1, 429, 430, 431, 432, 433,
434, -1, -1, 437, -1, -1, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 458, 459, 460, -1, -1, -1,
-1, -1, -1, 467, 468, -1, -1, -1, -1, -1,
-1, -1, 476, 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,
380, 381, -1, 383, 384, -1, 386, 387, 388, 389,
390, 391, 392, -1, 394, 395, 396, -1, -1, 399,
400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
410, 411, -1, -1, 414, 415, 416, 417, 418, 419,
-1, 421, 422, 423, 424, 425, 426, 427, -1, 429,
430, 431, 432, 433, 434, -1, -1, 437, -1, -1,
440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
-1, -1, -1, -1, -1, -1, -1, 467, 468, -1,
-1, 3, 4, 5, 6, 7, 476, 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, 380, 381,
-1, 383, 384, -1, 386, 387, 388, 389, 390, 391,
392, -1, 394, 395, 396, -1, -1, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
-1, -1, 414, 415, 416, 417, 418, 419, -1, 421,
422, 423, 424, 425, 426, 427, -1, 429, 430, 431,
432, 433, 434, -1, -1, 437, -1, -1, 440, 441,
442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
452, 453, 454, 455, 456, 457, 458, 459, -1, -1,
-1, -1, -1, -1, -1, 467, 468, -1, -1, -1,
-1, -1, -1, -1, 476, 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, 380, 381, -1, 383, 384, -1, 386, 387,
388, 389, 390, 391, 392, -1, 394, 395, 396, -1,
-1, 399, 400, 401, 402, 403, 404, 405, 406, 407,
408, 409, 410, 411, -1, -1, 414, 415, 416, 417,
418, 419, -1, 421, 422, 423, 424, 425, 426, 427,
-1, 429, 430, 431, 432, 433, 434, -1, -1, 437,
-1, -1, 440, 441, 442, 443, 444, 445, 446, 447,
448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
458, 459, -1, -1, -1, -1, -1, -1, -1, 467,
468, -1, -1, 3, 4, 5, 6, 7, 476, 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,
380, 381, -1, 383, 384, -1, 386, 387, 388, 389,
390, 391, 392, -1, 394, 395, 396, -1, -1, 399,
400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
410, 411, -1, -1, 414, 415, 416, 417, 418, 419,
-1, 421, 422, 423, 424, 425, 426, 427, -1, 429,
430, 431, 432, 433, 434, -1, -1, 437, -1, -1,
440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
-1, -1, 3, 4, 5, 6, 7, -1, 9, 10,
-1, -1, -1, -1, -1, -1, 476, 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, 380,
381, -1, 383, 384, -1, 386, 387, 388, 389, 390,
391, 392, -1, 394, 395, 396, -1, -1, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, -1, -1, 414, 415, 416, 417, 418, 419, -1,
421, 422, 423, 424, 425, 426, 427, -1, 429, 430,
431, 432, 433, 434, -1, -1, 437, -1, -1, 440,
441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
451, 452, 453, 454, 455, 456, 457, 458, 459, -1,
-1, 3, 4, 5, 6, 7, -1, 9, 10, -1,
-1, -1, -1, -1, -1, 476, 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, 380, 381,
-1, 383, 384, -1, 386, 387, 388, 389, 390, 391,
392, -1, 394, 395, 396, -1, -1, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
-1, -1, 414, 415, 416, 417, 418, 419, -1, 421,
422, 423, 424, 425, 426, 427, -1, 429, 430, 431,
432, 433, 434, -1, -1, 437, -1, -1, 440, 441,
442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
452, 453, 454, 455, 456, 457, 458, 459, -1, -1,
3, 4, 5, 6, 7, 8, 9, 10, -1, -1,
-1, -1, -1, -1, 476, 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, 380, 381, -1,
383, 384, -1, 386, 387, 388, 389, 390, 391, 392,
-1, 394, 395, 396, -1, -1, 399, 400, 401, 402,
403, 404, 405, 406, 407, 408, 409, 410, 411, -1,
413, 414, 415, 416, 417, 418, 419, -1, 421, 422,
423, 424, 425, 426, 427, -1, 429, 430, 431, 432,
433, 434, -1, -1, 437, -1, -1, 440, 441, 442,
443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
453, 454, 455, 456, 457, 458, 459, -1, -1, 3,
-1, -1, -1, -1, 467, 468, -1, -1, -1, -1,
-1, -1, -1, 476, 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, 380, 381, -1, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, -1,
394, 395, 396, -1, -1, 399, 400, 401, 402, 403,
-1, 405, 406, 407, 408, 409, 410, 411, -1, -1,
414, 415, 416, 417, 418, 419, -1, 421, 422, 423,
424, 425, 426, 427, -1, 429, 430, 431, 432, 433,
434, -1, -1, 437, -1, 439, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 458, 459, -1, -1, 462, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 476, -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, 380, 381, -1, 383,
384, -1, 386, 387, 388, 389, 390, 391, 392, -1,
394, 395, 396, -1, -1, 399, 400, 401, 402, 403,
-1, 405, 406, 407, 408, 409, 410, 411, -1, -1,
414, 415, 416, 417, 418, 419, -1, 421, 422, 423,
424, 425, 426, 427, -1, 429, 430, 431, 432, 433,
434, -1, -1, 437, -1, -1, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 458, 459, -1, -1, 3, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 476, 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, 380, 381, -1, 383, 384,
-1, 386, 387, 388, 389, 390, 391, 392, -1, 394,
395, 396, -1, -1, 399, 400, 401, 402, 403, -1,
405, 406, 407, 408, 409, 410, 411, -1, -1, 414,
415, 416, 417, 418, 419, -1, 421, 422, 423, 424,
425, 426, 427, -1, 429, 430, 431, 432, 433, 434,
-1, -1, 437, -1, -1, 440, 441, 442, 443, 444,
445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
455, 456, 457, 458, 459, -1, -1, 3, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 476, 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, 380, 381, -1, 383, 384, -1,
386, 387, 388, 389, 390, 391, 392, -1, 394, 395,
396, -1, -1, 399, 400, 401, 402, 403, -1, 405,
406, 407, 408, 409, 410, 411, -1, -1, 414, 415,
416, 417, 418, 419, -1, 421, 422, 423, 424, 425,
426, 427, -1, 429, 430, 431, 432, 433, 434, -1,
-1, 437, -1, -1, 440, 441, 442, 443, 444, 445,
446, 447, 448, 449, 450, 451, 452, 453, 454, 455,
456, 457, 458, 459, -1, -1, 3, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
476, 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, 380, 381, -1, 383, 384, -1, 386,
387, 388, 389, 390, 391, 392, -1, 394, 395, 396,
-1, -1, 399, 400, 401, 402, 403, -1, 405, 406,
407, 408, 409, 410, 411, -1, -1, 414, 415, 416,
417, 418, 419, -1, 421, 422, 423, 424, 425, 426,
427, -1, 429, 430, 431, 432, 433, 434, -1, -1,
437, -1, -1, 440, 441, 442, 443, 444, 445, 446,
447, 448, 449, 450, 451, 452, 453, 454, 455, 456,
457, 458, 459, -1, -1, 3, 4, 5, -1, -1,
-1, 9, -1, -1, -1, -1, -1, -1, -1, 476,
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, 380, 381, -1, 383, 384, -1, 386, 387,
388, 389, 390, 391, 392, -1, 394, 395, 396, -1,
-1, 399, 400, 401, 402, 403, 404, 405, 406, 407,
408, 409, 410, 411, -1, -1, 414, 415, 416, 417,
418, -1, -1, 421, 422, 423, 424, 425, 426, 427,
-1, 429, 430, 431, 432, 433, 434, -1, -1, 437,
-1, -1, 440, 441, 442, 443, 444, 445, 446, 447,
448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
458, 459, -1, -1, 3, -1, -1, -1, -1, 467,
468, 469, -1, -1, -1, -1, -1, -1, 476, 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, 380, 381, -1, 383, 384, 385, 386, 387, 388,
389, 390, 391, 392, -1, 394, 395, 396, -1, -1,
399, 400, 401, 402, 403, -1, 405, 406, 407, 408,
409, 410, 411, -1, -1, 414, 415, 416, 417, 418,
-1, -1, 421, 422, 423, 424, 425, 426, 427, -1,
429, 430, 431, 432, 433, 434, -1, -1, 437, -1,
439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
459, -1, -1, 462, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 476, -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, 380, 381, -1, 383, 384, -1, 386, 387, 388,
389, 390, 391, 392, -1, 394, 395, 396, -1, -1,
399, 400, 401, 402, 403, -1, 405, 406, 407, 408,
409, 410, 411, -1, -1, 414, 415, 416, 417, 418,
-1, -1, 421, 422, 423, 424, 425, 426, 427, -1,
429, 430, 431, 432, 433, 434, -1, -1, 437, -1,
-1, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
459, -1, -1, 3, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 476, 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,
380, 381, -1, 383, 384, 385, 386, -1, 388, 389,
390, 391, 392, -1, 394, 395, 396, -1, -1, 399,
400, 401, 402, 403, -1, 405, 406, 407, 408, 409,
410, 411, -1, -1, 414, 415, 416, 417, 418, -1,
-1, 421, 422, 423, 424, 425, 426, 427, -1, 429,
-1, 431, 432, 433, 434, -1, -1, 437, -1, 439,
440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
-1, -1, 462, 3, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 476, -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,
380, 381, -1, 383, 384, -1, 386, -1, 388, 389,
390, 391, 392, -1, 394, 395, 396, -1, -1, 399,
400, 401, 402, 403, -1, 405, 406, 407, 408, 409,
410, 411, -1, -1, 414, 415, 416, 417, 418, -1,
-1, 421, 422, 423, 424, 425, 426, 427, -1, 429,
-1, 431, 432, 433, 434, -1, -1, 437, -1, -1,
440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
-1, -1, 3, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 476, 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, 380,
381, -1, 383, 384, -1, 386, -1, 388, 389, 390,
391, 392, -1, 394, 395, 396, -1, -1, 399, 400,
401, 402, 403, -1, 405, 406, 407, 408, 409, 410,
411, -1, -1, 414, 415, 416, 417, 418, -1, -1,
421, 422, 423, 424, 425, 426, 427, -1, 429, -1,
431, 432, 433, 434, -1, -1, 437, -1, -1, 440,
441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
451, 452, 453, 454, 455, 456, 457, 458, 459, -1,
-1, 3, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 476, 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, 380, 381,
-1, 383, 384, -1, 386, -1, 388, 389, 390, 391,
392, -1, 394, 395, 396, -1, -1, 399, 400, 401,
402, 403, -1, 405, 406, 407, 408, 409, 410, 411,
-1, -1, 414, 415, 416, 417, 418, -1, -1, 421,
422, 423, 424, 425, 426, 427, -1, 429, -1, 431,
432, 433, 434, -1, -1, 437, -1, -1, 440, 441,
442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
452, 453, 454, 455, 456, 457, 458, 459, -1, -1,
3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 476, 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, 380, 381, -1,
383, 384, -1, 386, -1, 388, 389, 390, 391, 392,
-1, 394, 395, 396, -1, -1, 399, 400, 401, 402,
403, -1, 405, 406, 407, 408, 409, 410, 411, -1,
-1, 414, 415, 416, 417, 418, -1, -1, 421, 422,
423, 424, 425, 426, 427, -1, 429, -1, 431, 432,
433, 434, -1, -1, 437, -1, -1, 440, 441, 442,
443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
453, 454, 455, 456, 457, 458, 459, -1, -1, -1,
-1, -1, 3, 4, 5, -1, -1, 8, 9, -1,
-1, -1, -1, 476, 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, 379, -1,
381, 382, 383, 384, 385, 386, 387, 388, 389, 390,
391, 392, 393, 394, 395, 396, 397, 398, 399, 400,
-1, 402, -1, 404, 405, 406, 407, 408, 409, 410,
411, 412, 413, 414, 415, 416, 417, 418, 419, 420,
421, 422, 423, 424, 425, -1, 427, 428, 429, 430,
431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
441, 442, 443, 444, 445, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 457, 458, 459, -1,
-1, -1, 463, 464, 465, -1, 467, 468, 469, 470,
471, 472, 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, 379, -1,
381, 382, 383, 384, 385, 386, 387, 388, 389, 390,
391, 392, 393, 394, 395, 396, 397, 398, 399, 400,
-1, 402, -1, 404, 405, 406, 407, 408, 409, 410,
411, 412, 413, 414, 415, 416, 417, 418, 419, 420,
421, 422, 423, 424, 425, -1, 427, 428, 429, 430,
431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
441, 442, 443, 444, 445, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 457, 458, 459, -1,
3, -1, 463, 464, 465, 8, 467, 468, 469, 470,
471, 472, 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, 380, 381, -1,
383, 384, -1, 386, -1, 388, 389, 390, 391, 392,
-1, 394, 395, 396, -1, -1, 399, 400, 401, 402,
403, -1, 405, 406, 407, 408, 409, 410, 411, -1,
-1, 414, 415, 416, 417, 418, -1, -1, 421, 422,
423, 424, 425, 426, 427, -1, 429, -1, 431, 432,
433, 434, -1, -1, 437, -1, -1, 440, 441, 442,
443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
453, 454, 455, 456, 457, 458, 459, -1, 3, -1,
463, 464, 465, 8, 467, 468, 469, 470, 471, 472,
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, 380, 381, -1, 383, 384,
-1, 386, -1, 388, 389, 390, 391, 392, -1, 394,
395, 396, -1, -1, 399, 400, 401, 402, 403, -1,
405, 406, 407, 408, 409, 410, 411, -1, -1, 414,
415, 416, 417, 418, -1, -1, 421, 422, 423, 424,
425, 426, 427, -1, 429, -1, 431, 432, 433, 434,
-1, -1, 437, -1, -1, 440, 441, 442, 443, 444,
445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
455, 456, 457, 458, 459, -1, 3, -1, 463, 464,
465, 8, 467, 468, 469, 470, 471, 472, 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, 380, 381, -1, 383, 384, -1, 386,
-1, 388, 389, 390, 391, 392, -1, 394, 395, 396,
-1, -1, 399, 400, 401, 402, 403, -1, 405, 406,
407, 408, 409, 410, 411, -1, -1, 414, 415, 416,
417, 418, -1, -1, 421, 422, 423, 424, 425, 426,
427, -1, 429, -1, 431, 432, 433, 434, -1, -1,
437, -1, -1, 440, 441, 442, 443, 444, 445, 446,
447, 448, 449, 450, 451, 452, 453, 454, 455, 456,
457, 458, 459, -1, 3, -1, 463, 464, 465, 8,
467, 468, 469, 470, 471, 472, 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, 380, 381, -1, 383, 384, -1, 386, -1, 388,
389, 390, 391, 392, -1, 394, 395, 396, -1, -1,
399, 400, 401, 402, 403, -1, 405, 406, 407, 408,
409, 410, 411, -1, -1, 414, 415, 416, 417, 418,
-1, -1, 421, 422, 423, 424, 425, 426, 427, -1,
429, -1, 431, 432, 433, 434, -1, -1, 437, -1,
-1, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
459, -1, 3, -1, 463, 464, 465, 8, 467, 468,
469, 470, 471, 472, 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, 380,
381, -1, 383, 384, -1, 386, -1, 388, 389, 390,
391, 392, -1, 394, 395, 396, -1, -1, 399, 400,
401, 402, 403, -1, 405, 406, 407, 408, 409, 410,
411, -1, -1, 414, 415, 416, 417, 418, -1, -1,
421, 422, 423, 424, 425, 426, 427, -1, 429, -1,
431, 432, 433, 434, -1, -1, 437, -1, -1, 440,
441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
451, 452, 453, 454, 455, 456, 457, 458, 459, -1,
3, -1, 463, 464, 465, 8, 467, 468, 469, 470,
471, 472, 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, 380, 381, -1,
383, 384, -1, 386, -1, 388, 389, 390, 391, 392,
-1, 394, 395, 396, -1, -1, 399, 400, 401, 402,
403, -1, 405, 406, 407, 408, 409, 410, 411, -1,
-1, 414, 415, 416, 417, 418, -1, -1, 421, 422,
423, 424, 425, 426, 427, -1, 429, -1, 431, 432,
433, 434, -1, -1, 437, -1, -1, 440, 441, 442,
443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
453, 454, 455, 456, 457, 458, 459, -1, 3, -1,
463, 464, 465, 8, 467, 468, 469, 470, 471, 472,
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, 380, 381, -1, 383, 384,
-1, 386, -1, 388, 389, 390, 391, 392, -1, 394,
395, 396, -1, -1, 399, 400, 401, 402, 403, -1,
405, 406, 407, 408, 409, 410, 411, -1, -1, 414,
415, 416, 417, 418, -1, -1, 421, 422, 423, 424,
425, 426, 427, -1, 429, -1, 431, 432, 433, 434,
-1, -1, 437, -1, -1, 440, 441, 442, 443, 444,
445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
455, 456, 457, 458, 459, 3, -1, -1, 463, 464,
465, -1, 467, 468, 469, 470, 471, 472, -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,
458, 459, 3, -1, -1, -1, -1, -1, -1, -1,
-1, 469, -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, 380,
381, -1, 383, 384, -1, 386, -1, 388, 389, 390,
391, 392, -1, 394, 395, 396, -1, -1, 399, 400,
401, 402, 403, -1, 405, 406, 407, 408, 409, 410,
411, -1, -1, 414, 415, 416, 417, 418, -1, -1,
421, 422, 423, 424, 425, 426, 427, -1, 429, -1,
431, 432, 433, 434, -1, -1, 437, -1, -1, 440,
441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
451, 452, 453, 454, 455, 456, 457, 458, 459, 3,
-1, -1, -1, -1, -1, -1, -1, -1, 469, -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, 380, 381, -1, 383,
384, -1, 386, -1, 388, 389, 390, 391, 392, -1,
394, 395, 396, -1, -1, 399, 400, 401, 402, 403,
-1, 405, 406, 407, 408, 409, 410, 411, -1, -1,
414, 415, 416, 417, 418, -1, -1, 421, 422, 423,
424, 425, 426, 427, -1, 429, -1, 431, 432, 433,
434, -1, -1, 437, -1, -1, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 458, 459, 3, -1, -1, -1,
-1, -1, -1, -1, -1, 469, -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, 379, -1, 381, -1, 383, 384, -1, 386,
387, 388, 389, 390, 391, 392, -1, 394, 395, 396,
-1, -1, 399, 400, -1, 402, -1, -1, 405, 406,
407, 408, 409, 410, 411, -1, -1, 414, 415, 416,
417, 418, -1, -1, 421, 422, 423, 424, 425, -1,
427, 428, 429, 430, 431, 432, 433, 434, -1, -1,
437, -1, -1, 440, 441, 442, 443, 444, 445, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
457, 458, 459, -1, 18, 19, 20, 21, 22, 23,
24, 25, 469, 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, 379, -1, 381, -1, 383,
384, -1, 386, 387, 388, 389, 390, 391, 392, -1,
394, 395, 396, -1, -1, 399, 400, -1, 402, -1,
-1, 405, 406, 407, 408, 409, 410, 411, -1, -1,
414, 415, 416, 417, 418, -1, -1, 421, 422, 423,
424, 425, -1, 427, 428, 429, 430, 431, 432, 433,
434, -1, -1, 437, -1, -1, 440, 441, 442, 443,
444, 445, 3, 4, 5, -1, -1, -1, 9, -1,
-1, -1, -1, 457, 458, 459, -1, 18, 19, 20,
21, 22, 23, 24, 25, 469, 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, 380,
381, -1, 383, 384, -1, 386, 387, 388, 389, 390,
391, 392, -1, 394, 395, 396, -1, -1, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, -1, -1, 414, 415, 416, 417, 418, -1, -1,
421, 422, 423, 424, 425, 426, 427, -1, 429, 430,
431, 432, 433, 434, -1, -1, 437, -1, -1, 440,
441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
451, 452, 453, 454, 455, 456, 457, 458, 459, 3,
4, 5, -1, -1, -1, 9, 467, 468, -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, 380, 381, -1, 383,
384, -1, 386, 387, 388, 389, 390, 391, 392, -1,
394, 395, 396, -1, -1, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, -1, -1,
414, 415, 416, 417, 418, -1, -1, 421, 422, 423,
424, 425, 426, 427, -1, 429, 430, 431, 432, 433,
434, -1, -1, 437, -1, -1, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 458, 459, 3, 4, 5, -1,
-1, -1, 9, 467, 468, -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, 380, 381, -1, 383, 384, -1, 386,
387, 388, 389, 390, 391, 392, -1, 394, 395, 396,
-1, -1, 399, 400, 401, 402, 403, 404, 405, 406,
407, 408, 409, 410, 411, -1, -1, 414, 415, 416,
417, 418, -1, -1, 421, 422, 423, 424, 425, 426,
427, -1, 429, 430, 431, 432, 433, 434, -1, -1,
437, -1, -1, 440, 441, 442, 443, 444, 445, 446,
447, 448, 449, 450, 451, 452, 453, 454, 455, 456,
457, 458, 459, 3, -1, 5, -1, -1, -1, 9,
467, 468, -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,
380, 381, -1, 383, 384, -1, 386, 387, 388, 389,
390, 391, 392, -1, 394, 395, 396, -1, -1, 399,
400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
410, 411, -1, -1, 414, 415, 416, 417, 418, -1,
-1, 421, 422, 423, 424, 425, 426, 427, -1, 429,
430, 431, 432, 433, 434, -1, -1, 437, -1, -1,
440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
3, -1, -1, -1, -1, -1, 9, 467, 468, -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, 380, 381, -1,
383, 384, -1, 386, -1, 388, 389, 390, 391, 392,
-1, 394, 395, 396, -1, -1, 399, 400, 401, 402,
403, -1, 405, 406, 407, 408, 409, 410, 411, -1,
-1, 414, 415, 416, 417, 418, -1, -1, 421, 422,
423, 424, 425, 426, 427, -1, 429, -1, 431, 432,
433, 434, -1, -1, 437, -1, -1, 440, 441, 442,
443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
453, 454, 455, 456, 457, 458, 459, 3, 4, 5,
-1, -1, -1, 9, 467, 468, -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, 458, 459, 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, 458,
459, 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, 458, 459, 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, 380, 381, -1, 383, 384,
-1, 386, 387, 388, 389, 390, 391, 392, -1, 394,
395, 396, -1, -1, 399, 400, 401, 402, 403, -1,
405, 406, 407, 408, 409, 410, 411, -1, -1, 414,
415, 416, 417, 418, 419, -1, 421, 422, 423, 424,
425, 426, 427, -1, 429, 430, 431, 432, 433, 434,
-1, -1, 437, -1, -1, 440, 441, 442, 443, 444,
445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
455, 456, 457, 458, 459, 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, 380, 381, -1, 383, 384, -1, 386, 387,
388, 389, 390, 391, 392, -1, 394, 395, 396, -1,
-1, 399, 400, 401, 402, 403, 404, 405, 406, 407,
408, 409, 410, 411, -1, -1, 414, 415, 416, 417,
418, -1, -1, 421, 422, 423, 424, 425, 426, 427,
-1, 429, 430, 431, 432, 433, 434, -1, -1, 437,
-1, -1, 440, 441, 442, 443, 444, 445, 446, 447,
448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
458, 459, 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, 380,
381, -1, 383, 384, -1, 386, 387, 388, 389, 390,
391, 392, -1, 394, 395, 396, -1, -1, 399, 400,
401, 402, 403, -1, 405, 406, 407, 408, 409, 410,
411, -1, -1, 414, 415, 416, 417, 418, -1, -1,
421, 422, 423, 424, 425, 426, 427, -1, 429, 430,
431, 432, 433, 434, -1, -1, 437, -1, -1, 440,
441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
451, 452, 453, 454, 455, 456, 457, 458, 459, 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, 380, 381, -1, 383,
384, -1, 386, 387, 388, 389, 390, 391, 392, -1,
394, 395, 396, -1, -1, 399, 400, 401, 402, 403,
-1, 405, 406, 407, 408, 409, 410, 411, -1, -1,
414, 415, 416, 417, 418, -1, -1, 421, 422, 423,
424, 425, 426, 427, -1, 429, 430, 431, 432, 433,
434, -1, -1, 437, -1, -1, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 458, 459, 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, 380, 381, -1, 383, 384, -1, 386,
387, 388, 389, 390, 391, 392, -1, 394, 395, 396,
-1, -1, 399, 400, 401, 402, 403, -1, 405, 406,
407, 408, 409, 410, 411, -1, -1, 414, 415, 416,
417, 418, 419, -1, 421, 422, 423, 424, 425, 426,
427, -1, 429, 430, 431, 432, 433, 434, -1, -1,
437, -1, -1, 440, 441, 442, 443, 444, 445, 446,
447, 448, 449, 450, 451, 452, 453, 454, 455, 456,
457, 458, 459, 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,
380, 381, -1, 383, 384, -1, 386, 387, 388, 389,
390, 391, 392, -1, 394, 395, 396, -1, -1, 399,
400, 401, 402, 403, -1, 405, 406, 407, 408, 409,
410, 411, -1, -1, 414, 415, 416, 417, 418, -1,
-1, 421, 422, 423, 424, 425, 426, 427, -1, 429,
430, 431, 432, 433, 434, -1, -1, 437, -1, -1,
440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
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, 380, 381, -1,
383, 384, -1, 386, 387, 388, 389, 390, 391, 392,
-1, 394, 395, 396, -1, -1, 399, 400, 401, 402,
403, -1, 405, 406, 407, 408, 409, 410, 411, -1,
-1, 414, 415, 416, 417, 418, -1, -1, 421, 422,
423, 424, 425, 426, 427, -1, 429, 430, 431, 432,
433, 434, -1, -1, 437, -1, -1, 440, 441, 442,
443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
453, 454, 455, 456, 457, 458, 459, 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, 380, 381, -1, 383, 384, -1,
386, 387, 388, 389, 390, 391, 392, -1, 394, 395,
396, -1, -1, 399, 400, 401, 402, 403, -1, 405,
406, 407, 408, 409, 410, 411, -1, -1, 414, 415,
416, 417, 418, -1, -1, 421, 422, 423, 424, 425,
426, 427, -1, 429, 430, 431, 432, 433, 434, -1,
-1, 437, -1, -1, 440, 441, 442, 443, 444, 445,
446, 447, 448, 449, 450, 451, 452, 453, 454, 455,
456, 457, 458, 459, 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, 380, 381, -1, 383, 384, -1, 386, 387, 388,
389, 390, 391, 392, -1, 394, 395, 396, -1, -1,
399, 400, 401, 402, 403, -1, 405, 406, 407, 408,
409, 410, 411, -1, -1, 414, 415, 416, 417, 418,
-1, -1, 421, 422, 423, 424, 425, 426, 427, -1,
429, 430, 431, 432, 433, 434, -1, -1, 437, -1,
-1, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
459, 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, 380, 381,
-1, 383, 384, -1, 386, 387, 388, 389, 390, 391,
392, -1, 394, 395, 396, -1, -1, 399, 400, 401,
402, 403, -1, 405, 406, 407, 408, 409, 410, 411,
-1, -1, 414, 415, 416, 417, 418, -1, -1, 421,
422, 423, 424, 425, 426, 427, -1, 429, 430, 431,
432, 433, 434, -1, -1, 437, -1, -1, 440, 441,
442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
452, 453, 454, 455, 456, 457, 458, 459, 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, 380, 381, -1, 383, 384,
-1, 386, 387, 388, 389, 390, 391, 392, -1, 394,
395, 396, -1, -1, 399, 400, 401, 402, 403, -1,
405, 406, 407, 408, 409, 410, 411, -1, -1, 414,
415, 416, 417, 418, -1, -1, 421, 422, 423, 424,
425, 426, 427, -1, 429, 430, 431, 432, 433, 434,
-1, -1, 437, -1, -1, 440, 441, 442, 443, 444,
445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
455, 456, 457, 458, 459, 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, 380, 381, -1, 383, 384, -1, 386, 387,
388, 389, 390, 391, 392, -1, 394, 395, 396, -1,
-1, 399, 400, 401, 402, 403, -1, 405, 406, 407,
408, 409, 410, 411, -1, -1, 414, 415, 416, 417,
418, -1, -1, 421, 422, 423, 424, 425, 426, 427,
-1, 429, 430, 431, 432, 433, 434, -1, -1, 437,
-1, -1, 440, 441, 442, 443, 444, 445, 446, 447,
448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
458, 459, 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, 380,
381, -1, 383, 384, -1, 386, 387, 388, 389, 390,
391, 392, -1, 394, 395, 396, -1, -1, 399, 400,
401, 402, 403, -1, 405, 406, 407, 408, 409, 410,
411, -1, -1, 414, 415, 416, 417, 418, -1, -1,
421, 422, 423, 424, 425, 426, 427, -1, 429, 430,
431, 432, 433, 434, -1, -1, 437, -1, -1, 440,
441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
451, 452, 453, 454, 455, 456, 457, 458, 459, 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, 380, 381, -1, 383,
384, -1, 386, 387, 388, 389, 390, 391, 392, -1,
394, 395, 396, -1, -1, 399, 400, 401, 402, 403,
-1, 405, 406, 407, 408, 409, 410, 411, -1, -1,
414, 415, 416, 417, 418, -1, -1, 421, 422, 423,
424, 425, 426, 427, -1, 429, 430, 431, 432, 433,
434, -1, -1, 437, -1, -1, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 458, 459, 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, 380, 381, -1, 383, 384, -1, 386,
387, 388, 389, 390, 391, 392, -1, 394, 395, 396,
-1, -1, 399, 400, 401, 402, 403, -1, 405, 406,
407, 408, 409, 410, 411, -1, -1, 414, 415, 416,
417, 418, -1, -1, 421, 422, 423, 424, 425, 426,
427, -1, 429, 430, 431, 432, 433, 434, -1, -1,
437, -1, -1, 440, 441, 442, 443, 444, 445, 446,
447, 448, 449, 450, 451, 452, 453, 454, 455, 456,
457, 458, 459, 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,
380, 381, -1, 383, 384, -1, 386, 387, 388, 389,
390, 391, 392, -1, 394, 395, 396, -1, -1, 399,
400, 401, 402, 403, -1, 405, 406, 407, 408, 409,
410, 411, -1, -1, 414, 415, 416, 417, 418, -1,
-1, 421, 422, 423, 424, 425, 426, 427, -1, 429,
430, 431, 432, 433, 434, -1, -1, 437, -1, -1,
440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
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, 380, 381, -1,
383, 384, -1, 386, 387, 388, 389, 390, 391, 392,
-1, 394, 395, 396, -1, -1, 399, 400, 401, 402,
403, -1, 405, 406, 407, 408, 409, 410, 411, -1,
-1, 414, 415, 416, 417, 418, -1, -1, 421, 422,
423, 424, 425, 426, 427, -1, 429, 430, 431, 432,
433, 434, -1, -1, 437, -1, -1, 440, 441, 442,
443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
453, 454, 455, 456, 457, 458, 459, 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, 380, 381, -1, 383, 384, -1,
386, 387, 388, 389, 390, 391, 392, -1, 394, 395,
396, -1, -1, 399, 400, 401, 402, 403, -1, 405,
406, 407, 408, 409, 410, 411, -1, -1, 414, 415,
416, 417, 418, -1, -1, 421, 422, 423, 424, 425,
426, 427, -1, 429, 430, 431, 432, 433, 434, -1,
-1, 437, -1, -1, 440, 441, 442, 443, 444, 445,
446, 447, 448, 449, 450, 451, 452, 453, 454, 455,
456, 457, 458, 459, 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, 380, 381, -1, 383, 384, -1, 386, 387, 388,
389, 390, 391, 392, -1, 394, 395, 396, -1, -1,
399, 400, 401, 402, 403, -1, 405, 406, 407, 408,
409, 410, 411, -1, -1, 414, 415, 416, 417, 418,
-1, -1, 421, 422, 423, 424, 425, 426, 427, -1,
429, 430, 431, 432, 433, 434, -1, -1, 437, -1,
-1, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
459, 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, 380, 381,
-1, 383, 384, -1, 386, 387, 388, 389, 390, 391,
392, -1, 394, 395, 396, -1, -1, 399, 400, 401,
402, 403, -1, 405, 406, 407, 408, 409, 410, 411,
-1, -1, 414, 415, 416, 417, 418, -1, -1, 421,
422, 423, 424, 425, 426, 427, -1, 429, 430, 431,
432, 433, 434, -1, -1, 437, -1, -1, 440, 441,
442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
452, 453, 454, 455, 456, 457, 458, 459, 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, 380, 381, -1, 383, 384,
-1, 386, 387, 388, 389, 390, 391, 392, -1, 394,
395, 396, -1, -1, 399, 400, 401, 402, 403, -1,
405, 406, 407, 408, 409, 410, 411, -1, -1, 414,
415, 416, 417, 418, -1, -1, 421, 422, 423, 424,
425, 426, 427, -1, 429, 430, 431, 432, 433, 434,
-1, -1, 437, -1, -1, 440, 441, 442, 443, 444,
445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
455, 456, 457, 458, 459, 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, 380, 381, -1, 383, 384, -1, 386, -1,
388, 389, 390, 391, 392, -1, 394, 395, 396, -1,
-1, 399, 400, 401, 402, 403, -1, 405, 406, 407,
408, 409, 410, 411, -1, 413, 414, 415, 416, 417,
418, -1, -1, 421, 422, 423, 424, 425, 426, 427,
-1, 429, -1, 431, 432, 433, 434, -1, -1, 437,
-1, -1, 440, 441, 442, 443, 444, 445, 446, 447,
448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
458, 459, 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, 380,
381, -1, 383, 384, -1, 386, -1, 388, 389, 390,
391, 392, -1, 394, 395, 396, -1, -1, 399, 400,
401, 402, 403, -1, 405, 406, 407, 408, 409, 410,
411, -1, 413, 414, 415, 416, 417, 418, -1, -1,
421, 422, 423, 424, 425, 426, 427, -1, 429, -1,
431, 432, 433, 434, -1, -1, 437, -1, -1, 440,
441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
451, 452, 453, 454, 455, 456, 457, 458, 459, 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, 380, 381, -1, 383,
384, -1, 386, -1, 388, 389, 390, 391, 392, -1,
394, 395, 396, -1, -1, 399, 400, 401, 402, 403,
-1, 405, 406, 407, 408, 409, 410, 411, -1, -1,
414, 415, 416, 417, 418, -1, -1, 421, 422, 423,
424, 425, 426, 427, -1, 429, -1, 431, 432, 433,
434, -1, -1, 437, -1, -1, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 458, 459, 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, 380, 381, -1, 383, 384, -1, 386,
-1, 388, 389, 390, 391, 392, -1, 394, 395, 396,
-1, -1, 399, 400, 401, 402, 403, -1, 405, 406,
407, 408, 409, 410, 411, -1, -1, 414, 415, 416,
417, 418, -1, -1, 421, 422, 423, 424, 425, 426,
427, -1, 429, -1, 431, 432, 433, 434, -1, -1,
437, -1, -1, 440, 441, 442, 443, 444, 445, 446,
447, 448, 449, 450, 451, 452, 453, 454, 455, 456,
457, 458, 459, 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,
380, 381, -1, 383, 384, -1, 386, -1, 388, 389,
390, 391, 392, -1, 394, 395, 396, -1, -1, 399,
400, 401, 402, 403, -1, 405, 406, 407, 408, 409,
410, 411, -1, 413, 414, 415, 416, 417, 418, -1,
-1, 421, 422, 423, 424, 425, 426, 427, -1, 429,
-1, 431, 432, 433, 434, -1, -1, 437, -1, -1,
440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
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, 380, 381, -1,
383, 384, -1, 386, -1, 388, 389, 390, 391, 392,
-1, 394, 395, 396, -1, -1, 399, 400, 401, 402,
403, -1, 405, 406, 407, 408, 409, 410, 411, -1,
-1, 414, 415, 416, 417, 418, -1, -1, 421, 422,
423, 424, 425, 426, 427, -1, 429, -1, 431, 432,
433, 434, -1, -1, 437, -1, -1, 440, 441, 442,
443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
453, 454, 455, 456, 457, 458, 459, 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, 380, 381, -1, 383, 384, 385,
386, -1, 388, 389, 390, 391, 392, -1, 394, 395,
396, -1, -1, 399, 400, 401, 402, 403, -1, 405,
406, 407, 408, 409, 410, 411, -1, -1, 414, 415,
416, 417, 418, -1, -1, 421, 422, 423, 424, 425,
426, 427, -1, 429, -1, 431, 432, 433, 434, -1,
-1, 437, -1, -1, 440, 441, 442, 443, 444, 445,
446, 447, 448, 449, 450, 451, 452, 453, 454, 455,
456, 457, 458, 459, 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, 380, 381, -1, 383, 384, -1, 386, -1, 388,
389, 390, 391, 392, -1, 394, 395, 396, -1, -1,
399, 400, 401, 402, 403, -1, 405, 406, 407, 408,
409, 410, 411, -1, -1, 414, 415, 416, 417, 418,
-1, -1, 421, 422, 423, 424, 425, 426, 427, -1,
429, -1, 431, 432, 433, 434, -1, -1, 437, -1,
-1, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
459, 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, 380, 381,
-1, 383, 384, -1, 386, -1, 388, 389, 390, 391,
392, -1, 394, 395, 396, -1, -1, 399, 400, 401,
402, 403, -1, 405, 406, 407, 408, 409, 410, 411,
-1, -1, 414, 415, 416, 417, 418, -1, -1, 421,
422, 423, 424, 425, 426, 427, -1, 429, -1, 431,
432, 433, 434, -1, -1, 437, -1, -1, 440, 441,
442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
452, 453, 454, 455, 456, 457, 458, 459, 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, 380, 381, -1, 383, 384,
-1, 386, -1, 388, 389, 390, 391, 392, -1, 394,
395, 396, -1, -1, 399, 400, 401, 402, 403, -1,
405, 406, 407, 408, 409, 410, 411, -1, -1, 414,
415, 416, 417, 418, 419, -1, 421, 422, 423, 424,
425, 426, 427, -1, 429, -1, 431, 432, 433, 434,
-1, -1, 437, -1, -1, 440, 441, 442, 443, 444,
445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
455, 456, 457, 458, 459, 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, 380, 381, -1, 383, 384, -1, 386, -1,
388, 389, 390, 391, 392, -1, 394, 395, 396, -1,
-1, 399, 400, 401, 402, 403, -1, 405, 406, 407,
408, 409, 410, 411, -1, -1, 414, 415, 416, 417,
418, 419, -1, 421, 422, 423, 424, 425, 426, 427,
-1, 429, -1, 431, 432, 433, 434, -1, -1, 437,
-1, -1, 440, 441, 442, 443, 444, 445, 446, 447,
448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
458, 459, 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, 380,
381, -1, 383, 384, -1, 386, -1, 388, 389, 390,
391, 392, -1, 394, 395, 396, -1, -1, 399, 400,
401, 402, 403, -1, 405, 406, 407, 408, 409, 410,
411, -1, -1, 414, 415, 416, 417, 418, -1, -1,
421, 422, 423, 424, 425, 426, 427, -1, 429, -1,
431, 432, 433, 434, -1, -1, 437, -1, -1, 440,
441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
451, 452, 453, 454, 455, 456, 457, 458, 459, 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, 380, 381, -1, 383,
384, -1, 386, -1, 388, 389, 390, 391, 392, -1,
394, 395, 396, -1, -1, 399, 400, 401, 402, 403,
-1, 405, 406, 407, 408, 409, 410, 411, -1, -1,
414, 415, 416, 417, 418, -1, -1, 421, 422, 423,
424, 425, 426, 427, -1, 429, -1, 431, 432, 433,
434, -1, -1, 437, -1, -1, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 458, 459, 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, 380, 381, -1, 383, 384, -1, 386,
-1, 388, 389, 390, 391, 392, -1, 394, 395, 396,
-1, -1, 399, 400, 401, 402, 403, -1, 405, 406,
407, 408, 409, 410, 411, -1, -1, 414, 415, 416,
417, 418, -1, -1, 421, 422, 423, 424, 425, 426,
427, -1, 429, -1, 431, 432, 433, 434, -1, -1,
437, -1, -1, 440, 441, 442, 443, 444, 445, 446,
447, 448, 449, 450, 451, 452, 453, 454, 455, 456,
457, 458, 459, 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,
380, 381, -1, 383, 384, -1, 386, -1, 388, 389,
390, 391, 392, -1, 394, 395, 396, -1, -1, 399,
400, 401, 402, 403, -1, 405, 406, 407, 408, 409,
410, 411, -1, -1, 414, 415, 416, 417, 418, -1,
-1, 421, 422, 423, 424, 425, 426, 427, -1, 429,
-1, 431, 432, 433, 434, -1, -1, 437, -1, -1,
440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
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, 380, 381, -1,
383, 384, -1, 386, -1, 388, 389, 390, 391, 392,
-1, 394, 395, 396, -1, -1, 399, 400, 401, 402,
403, -1, 405, 406, 407, 408, 409, 410, 411, -1,
-1, 414, 415, 416, 417, 418, -1, -1, 421, 422,
423, 424, 425, 426, 427, -1, 429, -1, 431, 432,
433, 434, -1, -1, 437, -1, -1, 440, 441, 442,
443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
453, 454, 455, 456, 457, 458, 459, 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, 380, 381, -1, 383, 384, -1,
386, -1, 388, 389, 390, 391, 392, -1, 394, 395,
396, -1, -1, 399, 400, 401, 402, 403, -1, 405,
406, 407, 408, 409, 410, 411, -1, -1, 414, 415,
416, 417, 418, -1, -1, 421, 422, 423, 424, 425,
426, 427, -1, 429, -1, 431, 432, 433, 434, -1,
-1, 437, -1, -1, 440, 441, 442, 443, 444, 445,
446, 447, 448, 449, 450, 451, 452, 453, 454, 455,
456, 457, 458, 459, 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, 380, 381, -1, 383, 384, -1, 386, -1, 388,
389, 390, 391, 392, -1, 394, 395, 396, -1, -1,
399, 400, 401, 402, 403, -1, 405, 406, 407, 408,
409, 410, 411, -1, -1, 414, 415, 416, 417, 418,
-1, -1, 421, 422, 423, 424, 425, 426, 427, -1,
429, -1, 431, 432, 433, 434, -1, -1, 437, -1,
-1, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
459, 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, 380, 381,
-1, 383, 384, -1, 386, -1, 388, 389, 390, 391,
392, -1, 394, 395, 396, -1, -1, 399, 400, 401,
402, 403, -1, 405, 406, 407, 408, 409, 410, 411,
-1, -1, 414, 415, 416, 417, 418, -1, -1, 421,
422, 423, 424, 425, 426, 427, -1, 429, -1, 431,
432, 433, 434, -1, -1, 437, -1, -1, 440, 441,
442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
452, 453, 454, 455, 456, 457, 458, 459, 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, 380, 381, -1, 383, 384,
-1, 386, -1, 388, 389, 390, 391, 392, -1, 394,
395, 396, -1, -1, 399, 400, 401, 402, 403, -1,
405, 406, 407, 408, 409, 410, 411, -1, -1, 414,
415, 416, 417, 418, -1, -1, 421, 422, 423, 424,
425, 426, 427, -1, 429, -1, 431, 432, 433, 434,
-1, -1, 437, -1, -1, 440, 441, 442, 443, 444,
445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
455, 456, 457, 458, 459, 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, 380, 381, -1, 383, 384, -1, 386, -1,
388, 389, 390, 391, 392, -1, 394, 395, 396, -1,
-1, 399, 400, 401, 402, 403, -1, 405, 406, 407,
408, 409, 410, 411, -1, -1, 414, 415, 416, 417,
418, -1, -1, 421, 422, 423, 424, 425, 426, 427,
-1, 429, -1, 431, 432, 433, 434, -1, -1, 437,
-1, -1, 440, 441, 442, 443, 444, 445, 446, 447,
448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
458, 459, 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, 380,
381, -1, 383, 384, -1, 386, -1, 388, 389, 390,
391, 392, -1, 394, 395, 396, -1, -1, 399, 400,
401, 402, 403, -1, 405, 406, 407, 408, 409, 410,
411, -1, -1, 414, 415, 416, 417, 418, -1, -1,
421, 422, 423, 424, 425, 426, 427, -1, 429, -1,
431, 432, 433, 434, -1, -1, 437, -1, -1, 440,
441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
451, 452, 453, 454, 455, 456, 457, 458, 459, 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, 380, 381, -1, 383,
384, -1, 386, -1, 388, 389, 390, 391, 392, -1,
394, 395, 396, -1, -1, 399, 400, 401, 402, 403,
-1, 405, 406, 407, 408, 409, 410, 411, -1, -1,
414, 415, 416, 417, 418, -1, -1, 421, 422, 423,
424, 425, 426, 427, -1, 429, -1, 431, 432, 433,
434, -1, -1, 437, -1, -1, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 458, 459, 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, 380, 381, -1, 383, 384, 385, 386,
-1, 388, 389, 390, 391, 392, -1, 394, 395, 396,
-1, -1, 399, 400, 401, 402, 403, -1, 405, 406,
407, 408, 409, 410, 411, -1, -1, 414, 415, 416,
417, 418, -1, -1, 421, 422, 423, 424, 425, 426,
427, -1, 429, -1, 431, 432, 433, 434, -1, -1,
437, -1, -1, 440, 441, 442, 443, 444, 445, 446,
447, 448, 449, 450, 451, 452, 453, 454, 455, 456,
457, 458, 459, 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,
380, 381, -1, 383, 384, -1, 386, -1, 388, 389,
390, 391, 392, -1, 394, 395, 396, -1, -1, 399,
400, 401, 402, 403, -1, 405, 406, 407, 408, 409,
410, 411, -1, -1, 414, 415, 416, 417, 418, -1,
-1, 421, 422, 423, 424, 425, 426, 427, -1, 429,
-1, 431, 432, 433, 434, -1, -1, 437, -1, -1,
440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
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, 380, 381, -1,
383, 384, -1, 386, -1, 388, 389, 390, 391, 392,
-1, 394, 395, 396, -1, -1, 399, 400, 401, 402,
403, -1, 405, 406, 407, 408, 409, 410, 411, -1,
-1, 414, 415, 416, 417, 418, -1, -1, 421, 422,
423, 424, 425, 426, 427, -1, 429, -1, 431, 432,
433, 434, -1, -1, 437, -1, -1, 440, 441, 442,
443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
453, 454, 455, 456, 457, 458, 459, 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, 380, 381, -1, 383, 384, -1,
386, -1, 388, 389, 390, 391, 392, -1, 394, 395,
396, -1, -1, 399, 400, 401, 402, 403, -1, 405,
406, 407, 408, 409, 410, 411, -1, -1, 414, 415,
416, 417, 418, -1, -1, 421, 422, 423, 424, 425,
426, 427, -1, 429, -1, 431, 432, 433, 434, -1,
-1, 437, -1, -1, 440, 441, 442, 443, 444, 445,
446, 447, 448, 449, 450, 451, 452, 453, 454, 455,
456, 457, 458, 459, 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, 380, 381, -1, 383, 384, -1, 386, -1, 388,
389, 390, 391, 392, -1, 394, 395, 396, -1, -1,
399, 400, 401, 402, 403, -1, 405, 406, 407, 408,
409, 410, 411, -1, -1, 414, 415, 416, 417, 418,
-1, -1, 421, 422, 423, 424, 425, 426, 427, -1,
429, -1, 431, 432, 433, 434, -1, -1, 437, -1,
-1, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
459, 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, 380, 381,
-1, 383, 384, -1, 386, -1, 388, 389, 390, 391,
392, -1, 394, 395, 396, -1, -1, 399, 400, 401,
402, 403, -1, 405, 406, 407, 408, 409, 410, 411,
-1, -1, 414, 415, 416, 417, 418, -1, -1, 421,
422, 423, 424, 425, 426, 427, -1, 429, -1, 431,
432, 433, 434, -1, -1, 437, -1, -1, 440, 441,
442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
452, 453, 454, 455, 456, 457, 458, 459, 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, 380, 381, -1, 383, 384,
-1, 386, -1, 388, 389, 390, 391, 392, -1, 394,
395, 396, -1, -1, 399, 400, 401, 402, 403, -1,
405, 406, 407, 408, 409, 410, 411, -1, -1, 414,
415, 416, 417, 418, -1, -1, 421, 422, 423, 424,
425, 426, 427, -1, 429, -1, 431, 432, 433, 434,
-1, -1, 437, -1, -1, 440, 441, 442, 443, 444,
445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
455, 456, 457, 458, 459, 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, 380, 381, -1, 383, 384, -1, 386, -1,
388, 389, 390, 391, 392, -1, 394, 395, 396, -1,
-1, 399, 400, 401, 402, 403, -1, 405, 406, 407,
408, 409, 410, 411, -1, -1, 414, 415, 416, 417,
418, -1, -1, 421, 422, 423, 424, 425, 426, 427,
-1, 429, -1, 431, 432, 433, 434, -1, -1, 437,
-1, -1, 440, 441, 442, 443, 444, 445, 446, 447,
448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
458, 459, 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, 380,
381, -1, 383, 384, -1, 386, -1, 388, 389, 390,
391, 392, -1, 394, 395, 396, -1, -1, 399, 400,
401, 402, 403, -1, 405, 406, 407, 408, 409, 410,
411, -1, -1, 414, 415, 416, 417, 418, -1, -1,
421, 422, 423, 424, 425, 426, 427, -1, 429, -1,
431, 432, 433, 434, -1, -1, 437, -1, -1, 440,
441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
451, 452, 453, 454, 455, 456, 457, 458, 459, 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, 380, 381, -1, 383,
384, -1, 386, -1, 388, 389, 390, 391, 392, -1,
394, 395, 396, -1, -1, 399, 400, 401, 402, 403,
-1, 405, 406, 407, 408, 409, 410, 411, -1, -1,
414, 415, 416, 417, 418, -1, -1, 421, 422, 423,
424, 425, 426, 427, -1, 429, -1, 431, 432, 433,
434, -1, -1, 437, -1, -1, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 458, 459, 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, 380, 381, -1, 383, 384, -1, 386,
-1, 388, 389, 390, 391, 392, -1, 394, 395, 396,
-1, -1, 399, 400, 401, 402, 403, -1, 405, 406,
407, 408, 409, 410, 411, -1, -1, 414, 415, 416,
417, 418, -1, -1, 421, 422, 423, 424, 425, 426,
427, -1, 429, -1, 431, 432, 433, 434, -1, -1,
437, -1, -1, 440, 441, 442, 443, 444, 445, 446,
447, 448, 449, 450, 451, 452, 453, 454, 455, 456,
457, 458, 459, 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,
380, 381, -1, 383, 384, -1, 386, -1, 388, 389,
390, 391, 392, -1, 394, 395, 396, -1, -1, 399,
400, 401, 402, 403, -1, 405, 406, 407, 408, 409,
410, 411, -1, -1, 414, 415, 416, 417, 418, -1,
-1, 421, 422, 423, 424, 425, 426, 427, -1, 429,
-1, 431, 432, 433, 434, -1, -1, 437, -1, -1,
440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
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, 380, 381, -1,
383, 384, -1, 386, -1, 388, 389, 390, 391, 392,
-1, 394, 395, 396, -1, -1, 399, 400, 401, 402,
403, -1, 405, 406, 407, 408, 409, 410, 411, -1,
-1, 414, 415, 416, 417, 418, -1, -1, 421, 422,
423, 424, 425, 426, 427, -1, 429, -1, 431, 432,
433, 434, -1, -1, 437, -1, -1, 440, 441, 442,
443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
453, 454, 455, 456, 457, 458, 459, 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, 380, 381, -1, 383, 384, -1,
386, -1, 388, 389, 390, 391, 392, -1, 394, 395,
396, -1, -1, 399, 400, 401, 402, 403, -1, 405,
406, 407, 408, 409, 410, 411, -1, -1, 414, 415,
416, 417, 418, -1, -1, 421, 422, 423, 424, 425,
426, 427, -1, 429, -1, 431, 432, 433, 434, -1,
-1, 437, -1, -1, 440, 441, 442, 443, 444, 445,
446, 447, 448, 449, 450, 451, 452, 453, 454, 455,
456, 457, 458, 459, 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, 380, 381, -1, 383, 384, -1, 386, -1, 388,
389, 390, 391, 392, -1, 394, 395, 396, -1, -1,
399, 400, 401, 402, 403, -1, 405, 406, 407, 408,
409, 410, 411, -1, -1, 414, 415, 416, 417, 418,
-1, -1, 421, 422, 423, 424, 425, 426, 427, -1,
429, -1, 431, 432, 433, 434, -1, -1, 437, -1,
-1, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
459, 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, 380, 381,
-1, 383, 384, -1, 386, -1, 388, 389, 390, 391,
392, -1, 394, 395, 396, -1, -1, 399, 400, 401,
402, 403, -1, 405, 406, 407, 408, 409, 410, 411,
-1, -1, 414, 415, 416, 417, 418, -1, -1, 421,
422, 423, 424, 425, 426, 427, -1, 429, -1, 431,
432, 433, 434, -1, -1, 437, -1, -1, 440, 441,
442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
452, 453, 454, 455, 456, 457, 458, 459, 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, 380, 381, -1, 383, 384,
-1, 386, -1, 388, 389, 390, 391, 392, -1, 394,
395, 396, -1, -1, 399, 400, 401, 402, 403, -1,
405, 406, 407, 408, 409, 410, 411, -1, -1, 414,
415, 416, 417, 418, -1, -1, 421, 422, 423, 424,
425, 426, 427, -1, 429, -1, 431, 432, 433, 434,
-1, -1, 437, -1, -1, 440, 441, 442, 443, 444,
445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
455, 456, 457, 458, 459, 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, 380, 381, -1, 383, 384, -1, 386, -1,
388, 389, 390, 391, 392, -1, 394, 395, 396, -1,
-1, 399, 400, 401, 402, 403, -1, 405, 406, 407,
408, 409, 410, 411, -1, -1, 414, 415, 416, 417,
418, -1, -1, 421, 422, 423, 424, 425, 426, 427,
-1, 429, -1, 431, 432, 433, 434, -1, -1, 437,
-1, -1, 440, 441, 442, 443, 444, 445, 446, 447,
448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
458, 459, 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, 380,
381, -1, 383, 384, -1, 386, -1, 388, 389, 390,
391, 392, -1, 394, 395, 396, -1, -1, 399, 400,
401, 402, 403, -1, 405, 406, 407, 408, 409, 410,
411, -1, -1, 414, 415, 416, 417, 418, -1, -1,
421, 422, 423, 424, 425, 426, 427, -1, 429, -1,
431, 432, 433, 434, -1, -1, 437, -1, -1, 440,
441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
451, 452, 453, 454, 455, 456, 457, 458, 459, 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, 380, 381, -1, 383,
384, -1, 386, -1, 388, 389, 390, 391, 392, -1,
394, 395, 396, -1, -1, 399, 400, 401, 402, 403,
-1, 405, 406, 407, 408, 409, 410, 411, -1, -1,
414, 415, 416, 417, 418, -1, -1, 421, 422, 423,
424, 425, 426, 427, -1, 429, -1, 431, 432, 433,
434, -1, -1, 437, -1, -1, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 458, 459, 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, 380, 381, -1, 383, 384, -1, 386,
-1, 388, 389, 390, 391, 392, -1, 394, 395, 396,
-1, -1, 399, 400, 401, 402, 403, -1, 405, 406,
407, 408, 409, 410, 411, -1, -1, 414, 415, 416,
417, 418, -1, -1, 421, 422, 423, 424, 425, 426,
427, -1, 429, -1, 431, 432, 433, 434, -1, -1,
437, -1, -1, 440, 441, 442, 443, 444, 445, 446,
447, 448, 449, 450, 451, 452, 453, 454, 455, 456,
457, 458, 459, 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,
380, 381, -1, 383, 384, -1, 386, -1, 388, 389,
390, 391, 392, -1, 394, 395, 396, -1, -1, 399,
400, 401, 402, 403, -1, 405, 406, 407, 408, 409,
410, 411, -1, -1, 414, 415, 416, 417, 418, -1,
-1, 421, 422, 423, 424, 425, 426, 427, -1, 429,
-1, 431, 432, 433, 434, -1, -1, 437, -1, -1,
440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
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, 380, 381, -1,
383, 384, -1, 386, -1, 388, 389, 390, 391, 392,
-1, 394, 395, 396, -1, -1, 399, 400, 401, 402,
403, -1, 405, 406, 407, 408, 409, 410, 411, -1,
-1, 414, 415, 416, 417, 418, -1, -1, 421, 422,
423, 424, 425, 426, 427, -1, 429, -1, 431, 432,
433, 434, -1, -1, 437, -1, -1, 440, 441, 442,
443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
453, 454, 455, 456, 457, 458, 459, 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, 380, 381, -1, 383, 384, -1,
386, -1, 388, 389, 390, 391, 392, -1, 394, 395,
396, -1, -1, 399, 400, 401, 402, 403, -1, 405,
406, 407, 408, 409, 410, 411, -1, -1, 414, 415,
416, 417, 418, -1, -1, 421, 422, 423, 424, 425,
426, 427, -1, 429, -1, 431, 432, 433, 434, -1,
-1, 437, -1, -1, 440, 441, 442, 443, 444, 445,
446, 447, 448, 449, 450, 451, 452, 453, 454, 455,
456, 457, 458, 459, 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, 380, 381, -1, 383, 384, -1, 386, -1, 388,
389, 390, 391, 392, -1, 394, 395, 396, -1, -1,
399, 400, 401, 402, 403, -1, 405, 406, 407, 408,
409, 410, 411, -1, -1, 414, 415, 416, 417, 418,
-1, -1, 421, 422, 423, 424, 425, 426, 427, -1,
429, -1, 431, 432, 433, 434, -1, -1, 437, -1,
-1, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
459, 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, 380, 381,
-1, 383, 384, -1, 386, -1, 388, 389, 390, 391,
392, -1, 394, 395, 396, -1, -1, 399, 400, 401,
402, 403, -1, 405, 406, 407, 408, 409, 410, 411,
-1, -1, 414, 415, 416, 417, 418, -1, -1, 421,
422, 423, 424, 425, 426, 427, -1, 429, -1, 431,
432, 433, 434, -1, -1, 437, -1, -1, 440, 441,
442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
452, 453, 454, 455, 456, 457, 458, 459, 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, 380, 381, -1, 383, 384,
-1, 386, -1, 388, 389, 390, 391, 392, -1, 394,
395, 396, -1, -1, 399, 400, 401, 402, 403, -1,
405, 406, 407, 408, 409, 410, 411, -1, -1, 414,
415, 416, 417, 418, -1, -1, 421, 422, 423, 424,
425, 426, 427, -1, 429, -1, 431, 432, 433, 434,
-1, -1, 437, -1, -1, 440, 441, 442, 443, 444,
445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
455, 456, 457, 458, 459, 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, 380, 381, -1, 383, 384, -1, 386, -1,
388, 389, 390, 391, 392, -1, 394, 395, 396, -1,
-1, 399, 400, 401, 402, 403, -1, 405, 406, 407,
408, 409, 410, 411, -1, -1, 414, 415, 416, 417,
418, -1, -1, 421, 422, 423, 424, 425, 426, 427,
-1, 429, -1, 431, 432, 433, 434, -1, -1, 437,
-1, -1, 440, 441, 442, 443, 444, 445, 446, 447,
448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
458, 459, 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, 380,
381, -1, 383, 384, -1, 386, -1, 388, 389, 390,
391, 392, -1, 394, 395, 396, -1, -1, 399, 400,
401, 402, 403, -1, 405, 406, 407, 408, 409, 410,
411, -1, -1, 414, 415, 416, 417, 418, -1, -1,
421, 422, 423, 424, 425, 426, 427, -1, 429, -1,
431, 432, 433, 434, -1, -1, 437, -1, -1, 440,
441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
451, 452, 453, 454, 455, 456, 457, 458, 459, 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, 380, 381, -1, 383,
384, -1, 386, -1, 388, 389, 390, 391, 392, -1,
394, 395, 396, -1, -1, 399, 400, 401, 402, 403,
-1, 405, 406, 407, 408, 409, 410, 411, -1, -1,
414, 415, 416, 417, 418, -1, -1, 421, 422, 423,
424, 425, 426, 427, -1, 429, -1, 431, 432, 433,
434, -1, -1, 437, -1, -1, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 458, 459, 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, 380, 381, -1, 383, 384, -1, 386,
-1, 388, 389, 390, 391, 392, -1, 394, 395, 396,
-1, -1, 399, 400, 401, 402, 403, -1, 405, 406,
407, 408, 409, 410, 411, -1, -1, 414, 415, 416,
417, 418, -1, -1, 421, 422, 423, 424, 425, 426,
427, -1, 429, -1, 431, 432, 433, 434, -1, -1,
437, -1, -1, 440, 441, 442, 443, 444, 445, 446,
447, 448, 449, 450, 451, 452, 453, 454, 455, 456,
457, 458, 459, 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,
380, 381, -1, 383, 384, -1, 386, -1, 388, 389,
390, 391, 392, -1, 394, 395, 396, -1, -1, 399,
400, 401, 402, 403, -1, 405, 406, 407, 408, 409,
410, 411, -1, -1, 414, 415, 416, 417, 418, -1,
-1, 421, 422, 423, 424, 425, 426, 427, -1, 429,
-1, 431, 432, 433, 434, -1, -1, 437, -1, -1,
440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
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, 380, 381, -1,
383, 384, -1, 386, -1, 388, 389, 390, 391, 392,
-1, 394, 395, 396, -1, -1, 399, 400, 401, 402,
403, -1, 405, 406, 407, 408, 409, 410, 411, -1,
-1, 414, 415, 416, 417, 418, -1, -1, 421, 422,
423, 424, 425, 426, 427, -1, 429, -1, 431, 432,
433, 434, -1, -1, 437, -1, -1, 440, 441, 442,
443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
453, 454, 455, 456, 457, 458, 459, 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, 380, 381, -1, 383, 384, -1,
386, -1, 388, 389, 390, 391, 392, -1, 394, 395,
396, -1, -1, 399, 400, 401, 402, 403, -1, 405,
406, 407, 408, 409, 410, 411, -1, -1, 414, 415,
416, 417, 418, -1, -1, 421, 422, 423, 424, 425,
426, 427, -1, 429, -1, 431, 432, 433, 434, -1,
-1, 437, -1, -1, 440, 441, 442, 443, 444, 445,
446, 447, 448, 449, 450, 451, 452, 453, 454, 455,
456, 457, 458, 459, 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, 380, 381, -1, 383, 384, -1, 386, -1, 388,
389, 390, 391, 392, -1, 394, 395, 396, -1, -1,
399, 400, 401, 402, 403, -1, 405, 406, 407, 408,
409, 410, 411, -1, -1, 414, 415, 416, 417, 418,
-1, -1, 421, 422, 423, 424, 425, 426, 427, -1,
429, -1, 431, 432, 433, 434, -1, -1, 437, -1,
-1, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
459, 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, 380, 381,
-1, 383, 384, -1, 386, -1, 388, 389, 390, 391,
392, -1, 394, 395, 396, -1, -1, 399, 400, 401,
402, 403, -1, 405, 406, 407, 408, 409, 410, 411,
-1, -1, 414, 415, 416, 417, 418, -1, -1, 421,
422, 423, 424, 425, 426, 427, -1, 429, -1, 431,
432, 433, 434, -1, -1, 437, -1, -1, 440, 441,
442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
452, 453, 454, 455, 456, 457, 458, 459, 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, 380, 381, -1, 383, 384,
-1, 386, -1, 388, 389, 390, 391, 392, -1, 394,
395, 396, -1, -1, 399, 400, 401, 402, 403, -1,
405, 406, 407, 408, 409, 410, 411, -1, -1, 414,
415, 416, 417, 418, -1, -1, 421, 422, 423, 424,
425, 426, 427, -1, 429, -1, 431, 432, 433, 434,
-1, -1, 437, -1, -1, 440, 441, 442, 443, 444,
445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
455, 456, 457, 458, 459, 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, 380, 381, -1, 383, 384, -1, 386, -1,
388, 389, 390, 391, 392, -1, 394, 395, 396, -1,
-1, 399, 400, 401, 402, 403, -1, 405, 406, 407,
408, 409, 410, 411, -1, -1, 414, 415, 416, 417,
418, -1, -1, 421, 422, 423, 424, 425, 426, 427,
-1, 429, -1, 431, 432, 433, 434, -1, -1, 437,
-1, -1, 440, 441, 442, 443, 444, 445, 446, 447,
448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
458, 459, 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, 380,
381, -1, 383, 384, -1, 386, -1, 388, 389, 390,
391, 392, -1, 394, 395, 396, -1, -1, 399, 400,
401, 402, 403, -1, 405, 406, 407, 408, 409, 410,
411, -1, -1, 414, 415, 416, 417, 418, -1, -1,
421, 422, 423, 424, 425, 426, 427, -1, 429, -1,
431, 432, 433, 434, -1, -1, 437, -1, -1, 440,
441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
451, 452, 453, 454, 455, 456, 457, 458, 459, 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, 380, 381, -1, 383,
384, -1, 386, -1, 388, 389, 390, 391, 392, -1,
394, 395, 396, -1, -1, 399, 400, 401, 402, 403,
-1, 405, 406, 407, 408, 409, 410, 411, -1, -1,
414, 415, 416, 417, 418, -1, -1, 421, 422, 423,
424, 425, 426, 427, -1, 429, -1, 431, 432, 433,
434, -1, -1, 437, -1, -1, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 458, 459, 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, 380, 381, -1, 383, 384, -1, 386,
-1, 388, 389, 390, 391, 392, -1, 394, 395, 396,
-1, -1, 399, 400, 401, 402, 403, -1, 405, 406,
407, 408, 409, 410, 411, -1, -1, 414, 415, 416,
417, 418, -1, -1, 421, 422, 423, 424, 425, 426,
427, -1, 429, -1, 431, 432, 433, 434, -1, -1,
437, -1, -1, 440, 441, 442, 443, 444, 445, 446,
447, 448, 449, 450, 451, 452, 453, 454, 455, 456,
457, 458, 459, 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,
380, 381, -1, 383, 384, -1, 386, -1, 388, 389,
390, 391, 392, -1, 394, 395, 396, -1, -1, 399,
400, 401, 402, 403, -1, 405, 406, 407, 408, 409,
410, 411, -1, -1, 414, 415, 416, 417, 418, -1,
-1, 421, 422, 423, 424, 425, 426, 427, -1, 429,
-1, 431, 432, 433, 434, -1, -1, 437, -1, -1,
440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
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, 380, 381, -1,
383, 384, -1, 386, -1, 388, 389, 390, 391, 392,
-1, 394, 395, 396, -1, -1, 399, 400, 401, 402,
403, -1, 405, 406, 407, 408, 409, 410, 411, -1,
-1, 414, 415, 416, 417, 418, -1, -1, 421, 422,
423, 424, 425, 426, 427, -1, 429, -1, 431, 432,
433, 434, -1, -1, 437, -1, -1, 440, 441, 442,
443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
453, 454, 455, 456, 457, 458, 459, 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, 380, 381, -1, 383, 384, -1,
386, -1, 388, 389, 390, 391, 392, -1, 394, 395,
396, -1, -1, 399, 400, 401, 402, 403, -1, 405,
406, 407, 408, 409, 410, 411, -1, -1, 414, 415,
416, 417, 418, -1, -1, 421, 422, 423, 424, 425,
426, 427, -1, 429, -1, 431, 432, 433, 434, -1,
-1, 437, -1, -1, 440, 441, 442, 443, 444, 445,
446, 447, 448, 449, 450, 451, 452, 453, 454, 455,
456, 457, 458, 459, 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, 380, 381, -1, 383, 384, -1, 386, -1, 388,
389, 390, 391, 392, -1, 394, 395, 396, -1, -1,
399, 400, 401, 402, 403, -1, 405, 406, 407, 408,
409, 410, 411, -1, -1, 414, 415, 416, 417, 418,
-1, -1, 421, 422, 423, 424, 425, 426, 427, -1,
429, -1, 431, 432, 433, 434, -1, -1, 437, -1,
-1, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
459, 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, 380, 381,
-1, 383, 384, -1, 386, -1, 388, 389, 390, 391,
392, -1, 394, 395, 396, -1, -1, 399, 400, 401,
402, 403, -1, 405, 406, 407, 408, 409, 410, 411,
-1, -1, 414, 415, 416, 417, 418, -1, -1, 421,
422, 423, 424, 425, 426, 427, -1, 429, -1, 431,
432, 433, 434, -1, -1, 437, -1, -1, 440, 441,
442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
452, 453, 454, 455, 456, 457, 458, 459, 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, 380, 381, -1, 383, 384,
-1, 386, -1, 388, 389, 390, 391, 392, -1, 394,
395, 396, -1, -1, 399, 400, 401, 402, 403, -1,
405, 406, 407, 408, 409, 410, 411, -1, -1, 414,
415, 416, 417, 418, -1, -1, 421, 422, 423, 424,
425, 426, 427, -1, 429, -1, 431, 432, 433, 434,
-1, -1, 437, -1, -1, 440, 441, 442, 443, 444,
445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
455, 456, 457, 458, 459, 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, 380, 381, -1, 383, 384, -1, 386, -1,
388, 389, 390, 391, 392, -1, 394, 395, 396, -1,
-1, 399, 400, 401, 402, 403, -1, 405, 406, 407,
408, 409, 410, 411, -1, -1, 414, 415, 416, 417,
418, -1, -1, 421, 422, 423, 424, 425, 426, 427,
-1, 429, -1, 431, 432, 433, 434, -1, -1, 437,
-1, -1, 440, 441, 442, 443, 444, 445, 446, 447,
448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
458, 459, 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, 379, -1,
381, -1, 383, 384, -1, 386, 387, 388, 389, 390,
391, 392, -1, 394, 395, 396, -1, -1, 399, 400,
-1, 402, -1, -1, 405, 406, 407, 408, 409, 410,
411, -1, -1, 414, 415, 416, 417, 418, -1, -1,
421, 422, 423, 424, 425, -1, 427, 428, 429, 430,
431, 432, 433, 434, -1, -1, 437, -1, -1, 440,
441, 442, 443, 444, 445, 3, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 457, 458, 459, -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, 380, 381, -1, 383, 384, -1, 386, -1,
388, 389, 390, 391, 392, -1, 394, 395, 396, -1,
-1, 399, 400, 401, 402, 403, -1, 405, 406, 407,
408, 409, 410, 411, -1, -1, 414, 415, 416, 417,
418, -1, -1, 421, 422, 423, 424, 425, 426, 427,
-1, 429, -1, 431, 432, 433, 434, -1, -1, 437,
-1, -1, 440, 441, 442, 443, 444, 445, 446, 447,
448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
458, 459, 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, 379, -1,
381, -1, 383, 384, 385, 386, 387, 388, 389, 390,
391, 392, -1, 394, 395, 396, -1, -1, 399, 400,
-1, 402, -1, -1, 405, 406, 407, 408, 409, 410,
411, -1, -1, 414, 415, 416, 417, 418, -1, -1,
421, 422, 423, 424, 425, -1, 427, -1, 429, 430,
431, 432, 433, 434, -1, -1, 437, -1, -1, 440,
441, 442, 443, 444, 445, 3, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 457, 458, 459, -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, 379, -1, 381, -1, 383, 384, -1, 386, 387,
388, 389, 390, 391, 392, -1, 394, 395, 396, -1,
-1, 399, 400, -1, 402, -1, -1, 405, 406, 407,
408, 409, 410, 411, -1, -1, 414, 415, 416, 417,
418, -1, -1, 421, 422, 423, 424, 425, -1, 427,
-1, 429, 430, 431, 432, 433, 434, -1, -1, 437,
-1, -1, 440, 441, 442, 443, 444, 445, 3, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 457,
458, 459, -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, 379, -1, 381, -1, 383, 384,
-1, 386, 387, 388, 389, 390, 391, 392, -1, 394,
395, 396, -1, -1, 399, 400, -1, 402, -1, -1,
405, 406, 407, 408, 409, 410, 411, -1, -1, 414,
415, 416, 417, 418, -1, -1, 421, 422, 423, 424,
425, -1, 427, -1, 429, 430, 431, 432, 433, 434,
-1, -1, 437, -1, -1, 440, 441, 442, 443, 444,
445, 3, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 457, 458, 459, -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, 379, -1, 381,
-1, 383, 384, -1, 386, 387, 388, 389, 390, 391,
392, -1, 394, 395, 396, -1, -1, 399, 400, -1,
402, -1, -1, 405, 406, 407, 408, 409, 410, 411,
-1, -1, 414, 415, 416, 417, 418, -1, -1, 421,
422, 423, 424, 425, -1, 427, -1, 429, 430, 431,
432, 433, 434, -1, -1, 437, -1, -1, 440, 441,
442, 443, 444, 445, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 457, 458, 459, -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,
379, -1, 381, -1, 383, 384, -1, 386, 387, 388,
389, 390, 391, 392, -1, 394, 395, 396, -1, -1,
399, 400, -1, 402, -1, -1, 405, 406, 407, 408,
409, 410, 411, -1, -1, 414, 415, 416, 417, 418,
-1, -1, 421, 422, 423, 424, 425, -1, 427, -1,
429, 430, 431, 432, 433, 434, -1, -1, 437, -1,
-1, 440, 441, 442, 443, 444, 445, 3, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 457, 458,
459, -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, 379, -1, 381, -1, 383, 384, -1,
386, 387, 388, 389, 390, 391, 392, -1, 394, 395,
396, -1, -1, 399, 400, -1, 402, -1, -1, 405,
406, 407, 408, 409, 410, 411, -1, -1, 414, 415,
416, 417, 418, -1, -1, 421, 422, 423, 424, 425,
-1, 427, -1, 429, 430, 431, 432, 433, 434, -1,
-1, 437, -1, -1, 440, 441, 442, 443, 444, 445,
3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 457, 458, 459, -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, 379, -1, 381, -1,
383, 384, -1, 386, 387, 388, 389, 390, 391, 392,
-1, 394, 395, 396, -1, -1, 399, 400, -1, 402,
-1, -1, 405, 406, 407, 408, 409, 410, 411, -1,
-1, 414, 415, 416, 417, 418, -1, -1, 421, 422,
423, 424, 425, -1, 427, -1, 429, 430, 431, 432,
433, 434, -1, -1, 437, -1, -1, 440, 441, 442,
443, 444, 445, 3, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 457, 458, 459, -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, 379,
-1, 381, -1, 383, 384, -1, 386, 387, 388, 389,
390, 391, 392, -1, 394, 395, 396, -1, -1, 399,
400, -1, 402, -1, -1, 405, 406, 407, 408, 409,
410, 411, -1, -1, 414, 415, 416, 417, 418, -1,
-1, 421, 422, 423, 424, 425, -1, 427, -1, 429,
430, 431, 432, 433, 434, -1, -1, 437, -1, -1,
440, 441, 442, 443, 444, 445, 3, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 457, 458, 459,
-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, 379, -1, 381, -1, 383, 384, -1, 386,
387, 388, 389, 390, 391, 392, -1, 394, 395, 396,
-1, -1, 399, 400, -1, 402, -1, -1, 405, 406,
407, 408, 409, 410, 411, -1, -1, 414, 415, 416,
417, 418, -1, -1, 421, 422, 423, 424, 425, -1,
427, -1, 429, 430, 431, 432, 433, 434, -1, -1,
437, -1, -1, 440, 441, 442, 443, 444, 445, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
457, 458, 459, -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, 379, -1, 381, -1, 383,
384, -1, 386, 387, 388, 389, 390, 391, 392, -1,
394, -1, -1, -1, -1, 399, 400, -1, 402, -1,
-1, 405, 406, 407, 408, 409, 410, 411, -1, -1,
414, 415, 416, 417, 418, -1, -1, 421, 422, 423,
424, 425, -1, -1, -1, 429, 430, 431, 432, 433,
434, -1, -1, 437, -1, -1, 440, 441, 442, 443,
444, 445, 3, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 457, 458, 459, -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, 379, -1,
381, -1, 383, 384, -1, 386, -1, 388, 389, 390,
391, 392, -1, 394, -1, -1, -1, -1, 399, 400,
-1, 402, -1, -1, 405, 406, 407, 408, 409, 410,
411, -1, -1, 414, 415, 416, 417, 418, -1, -1,
421, 422, 423, 424, 425, -1, -1, -1, 429, -1,
431, 432, 433, 434, -1, -1, 437, -1, -1, 440,
441, 442, 443, 444, 445, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 457, 458, 459
};
/* 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, 385, 405, 415, 421, 426, 439,
462, 476, 483, 484, 485, 486, 487, 493, 494, 496,
497, 498, 499, 501, 505, 517, 522, 523, 526, 527,
528, 547, 550, 551, 566, 611, 612, 615, 618, 619,
620, 628, 634, 636, 638, 639, 642, 645, 646, 650,
659, 663, 664, 665, 666, 669, 671, 672, 673, 674,
682, 684, 704, 708, 710, 711, 721, 723, 730, 731,
734, 735, 736, 737, 738, 746, 748, 752, 757, 761,
762, 770, 771, 774, 779, 792, 819, 822, 823, 824,
829, 832, 834, 836, 838, 839, 844, 845, 848, 849,
850, 854, 855, 858, 859, 862, 863, 864, 871, 873,
874, 875, 881, 883, 884, 890, 891, 892, 893, 894,
895, 896, 898, 899, 901, 902, 904, 905, 907, 919,
925, 928, 930, 931, 940, 942, 947, 952, 956, 957,
958, 959, 960, 961, 965, 1000, 399, 442, 876, 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, 379, 384, 385, 388, 392,
402, 407, 419, 432, 635, 876, 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, 380, 381, 383,
384, 386, 387, 388, 389, 390, 391, 392, 394, 395,
396, 399, 400, 401, 402, 403, 405, 406, 407, 408,
409, 410, 411, 414, 415, 416, 417, 418, 421, 422,
423, 424, 425, 426, 427, 429, 430, 431, 432, 433,
434, 437, 440, 441, 442, 443, 444, 445, 446, 447,
448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
458, 459, 1059, 1133, 1141, 1142, 1145, 1146, 1147, 3,
26, 953, 1127, 1141, 1145, 430, 912, 269, 300, 876,
49, 476, 558, 20, 37, 60, 73, 84, 106, 112,
129, 140, 148, 160, 168, 172, 228, 271, 274, 294,
308, 334, 343, 353, 372, 379, 388, 389, 391, 392,
402, 407, 413, 416, 419, 567, 617, 726, 780, 793,
26, 299, 1127, 953, 26, 293, 351, 389, 391, 5,
215, 830, 831, 1136, 20, 25, 60, 73, 88, 106,
129, 140, 148, 160, 165, 172, 191, 237, 271, 284,
294, 305, 308, 334, 337, 341, 343, 350, 353, 372,
379, 385, 388, 392, 400, 402, 407, 419, 432, 635,
739, 740, 741, 876, 1127, 91, 430, 476, 612, 615,
618, 907, 920, 928, 931, 940, 947, 952, 956, 9,
19, 26, 44, 155, 161, 163, 187, 217, 251, 302,
321, 467, 468, 758, 759, 953, 1135, 1137, 26, 91,
317, 349, 763, 764, 765, 1141, 160, 1141, 1132, 1136,
385, 968, 758, 1141, 399, 1127, 284, 237, 106, 191,
343, 384, 385, 476, 840, 841, 342, 1141, 26, 354,
395, 399, 509, 518, 519, 1141, 23, 169, 763, 764,
300, 876, 1141, 214, 26, 126, 970, 971, 61, 85,
228, 246, 334, 343, 354, 395, 399, 445, 506, 507,
508, 509, 26, 354, 395, 399, 509, 399, 270, 1011,
1125, 1141, 968, 469, 1141, 164, 476, 913, 476, 315,
962, 963, 1127, 962, 957, 958, 961, 0, 479, 476,
912, 141, 205, 275, 412, 972, 973, 957, 959, 960,
117, 201, 418, 480, 32, 880, 809, 1133, 743, 1141,
743, 1128, 1141, 303, 743, 402, 1127, 105, 385, 797,
1133, 1141, 1147, 3, 102, 355, 1138, 1139, 1143, 1145,
1146, 1147, 26, 181, 1125, 263, 432, 8, 15, 16,
17, 68, 152, 463, 464, 465, 467, 468, 469, 470,
471, 472, 826, 828, 1089, 1090, 1141, 181, 1127, 797,
1127, 26, 1138, 1139, 797, 1127, 1127, 181, 1125, 1127,
743, 1127, 327, 356, 26, 181, 1011, 1127, 346, 1127,
743, 26, 235, 1138, 1139, 181, 1125, 215, 114, 211,
254, 311, 877, 878, 879, 476, 474, 478, 1116, 1118,
1125, 1131, 1141, 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,
379, 385, 388, 392, 400, 402, 407, 432, 635, 749,
750, 1136, 880, 927, 931, 940, 947, 956, 1125, 239,
743, 476, 181, 743, 402, 1128, 743, 402, 181, 1127,
105, 385, 389, 391, 1138, 1139, 389, 391, 68, 152,
826, 325, 1127, 1127, 1138, 181, 502, 1141, 181, 1127,
181, 743, 1127, 1127, 346, 1127, 743, 235, 1138, 315,
350, 385, 432, 237, 88, 191, 25, 165, 305, 341,
400, 406, 629, 26, 1127, 954, 516, 1136, 1143, 831,
239, 181, 809, 810, 181, 835, 181, 1128, 3, 48,
50, 51, 63, 64, 109, 110, 130, 156, 181, 203,
204, 206, 247, 249, 262, 312, 358, 364, 395, 396,
427, 745, 1033, 1035, 1037, 1039, 1041, 1043, 1044, 1045,
1047, 1048, 1049, 1051, 1052, 1142, 1145, 402, 105, 385,
181, 796, 797, 181, 1139, 1140, 80, 432, 68, 152,
181, 827, 828, 53, 181, 796, 181, 1140, 181, 796,
181, 1127, 181, 1127, 346, 835, 181, 745, 181, 235,
1140, 215, 181, 742, 743, 181, 1126, 1127, 181, 1127,
880, 476, 929, 567, 920, 426, 907, 921, 922, 923,
1143, 912, 1137, 759, 760, 26, 760, 1137, 760, 26,
760, 1137, 760, 760, 760, 1137, 1135, 1135, 953, 760,
303, 476, 476, 587, 587, 587, 269, 397, 480, 587,
343, 1011, 1012, 480, 872, 1136, 476, 926, 53, 432,
430, 842, 843, 80, 781, 781, 1141, 43, 459, 211,
478, 272, 272, 269, 163, 1136, 397, 880, 158, 753,
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, 380, 395, 396, 401, 403, 404, 413, 419, 427,
447, 448, 449, 450, 452, 453, 454, 455, 460, 467,
468, 469, 476, 957, 1036, 1039, 1042, 1043, 1044, 1046,
1047, 1048, 1051, 1052, 1056, 1058, 1059, 1060, 1062, 1085,
1086, 1087, 1091, 1110, 1115, 1122, 1123, 1133, 1134, 1135,
1136, 1141, 1121, 1122, 1136, 26, 524, 1124, 1125, 354,
506, 112, 515, 1136, 516, 1136, 43, 65, 506, 459,
365, 878, 272, 163, 397, 465, 43, 459, 211, 879,
476, 1125, 469, 1118, 1012, 906, 907, 908, 909, 1143,
162, 914, 1056, 1094, 962, 480, 476, 915, 477, 477,
485, 906, 916, 917, 918, 1125, 26, 126, 969, 969,
53, 969, 153, 158, 225, 266, 976, 978, 979, 994,
996, 997, 998, 972, 973, 163, 207, 1011, 1013, 476,
62, 252, 285, 323, 356, 476, 807, 285, 319, 323,
356, 478, 744, 285, 323, 356, 3, 83, 135, 231,
285, 323, 356, 388, 390, 439, 517, 520, 885, 886,
887, 888, 775, 22, 131, 285, 323, 356, 423, 533,
1127, 22, 131, 356, 418, 500, 443, 181, 1011, 56,
90, 120, 149, 184, 220, 254, 285, 286, 323, 331,
340, 348, 356, 368, 377, 381, 434, 517, 521, 812,
820, 476, 794, 1118, 323, 500, 187, 146, 22, 28,
41, 70, 120, 124, 131, 134, 159, 193, 252, 254,
264, 273, 285, 323, 326, 327, 356, 423, 529, 531,
532, 653, 4, 467, 468, 626, 1137, 26, 181, 1125,
743, 743, 476, 825, 285, 356, 478, 146, 269, 120,
285, 323, 356, 820, 22, 131, 285, 323, 356, 187,
495, 323, 439, 462, 488, 495, 120, 285, 323, 356,
820, 269, 285, 323, 146, 35, 54, 104, 190, 238,
241, 252, 284, 323, 328, 350, 356, 370, 529, 623,
624, 285, 323, 431, 653, 661, 285, 323, 356, 83,
124, 134, 285, 319, 323, 356, 519, 507, 509, 187,
146, 41, 122, 323, 356, 529, 530, 285, 323, 327,
356, 81, 123, 287, 390, 269, 22, 28, 131, 285,
323, 356, 548, 549, 495, 158, 323, 488, 495, 146,
323, 356, 529, 1127, 223, 114, 270, 444, 480, 877,
26, 126, 428, 469, 477, 802, 1056, 1095, 1096, 1142,
1056, 1117, 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, 382, 385, 393, 397, 398,
404, 412, 413, 419, 420, 428, 435, 436, 438, 439,
469, 1130, 1144, 1145, 1146, 1147, 1148, 1116, 420, 903,
269, 239, 809, 476, 1127, 1033, 402, 105, 385, 797,
263, 432, 68, 152, 828, 1127, 797, 797, 1127, 346,
158, 1127, 1033, 215, 743, 1127, 477, 587, 1127, 66,
1033, 254, 163, 476, 712, 1127, 488, 35, 897, 1127,
254, 488, 443, 181, 1125, 488, 743, 743, 712, 416,
567, 269, 158, 856, 857, 488, 254, 43, 503, 254,
407, 660, 254, 915, 83, 285, 637, 81, 123, 287,
390, 24, 45, 202, 685, 35, 712, 158, 181, 488,
432, 181, 1125, 181, 613, 1125, 1125, 432, 743, 781,
1133, 1133, 1133, 1127, 158, 635, 49, 103, 200, 252,
345, 146, 57, 329, 480, 534, 146, 476, 146, 429,
1050, 1050, 1050, 476, 1038, 1038, 297, 476, 1040, 146,
63, 64, 1050, 1038, 1035, 441, 462, 476, 1053, 476,
1053, 480, 534, 34, 1034, 476, 107, 179, 240, 243,
347, 457, 476, 1054, 1055, 744, 1038, 443, 146, 480,
534, 146, 480, 181, 742, 181, 743, 181, 743, 146,
480, 534, 1140, 146, 534, 146, 146, 534, 146, 534,
146, 81, 123, 287, 390, 158, 146, 534, 146, 158,
181, 181, 516, 146, 480, 534, 146, 480, 534, 146,
269, 1094, 385, 477, 480, 151, 269, 404, 513, 516,
626, 924, 920, 760, 953, 760, 953, 760, 953, 760,
953, 760, 953, 953, 953, 760, 953, 476, 588, 589,
1141, 588, 26, 106, 129, 160, 165, 215, 216, 305,
337, 343, 350, 385, 388, 407, 766, 1124, 1140, 765,
1127, 187, 480, 943, 1136, 1033, 1097, 35, 1140, 781,
477, 480, 1125, 1127, 223, 1141, 158, 158, 766, 1140,
342, 1141, 516, 269, 476, 1119, 474, 957, 1098, 1056,
1114, 476, 476, 158, 476, 476, 957, 476, 476, 476,
476, 476, 476, 1056, 476, 476, 476, 476, 476, 476,
476, 476, 957, 476, 476, 476, 476, 476, 476, 476,
476, 1056, 1056, 1056, 957, 1056, 1094, 1118, 1136, 476,
1136, 3, 8, 11, 15, 16, 17, 32, 35, 40,
47, 72, 182, 187, 209, 210, 224, 257, 271, 274,
361, 460, 463, 464, 465, 467, 468, 469, 470, 471,
472, 1089, 1091, 1093, 440, 1072, 281, 1056, 207, 480,
966, 476, 1136, 1118, 966, 115, 183, 525, 480, 65,
112, 516, 35, 3, 112, 228, 514, 626, 1052, 1136,
1136, 86, 128, 1068, 95, 112, 510, 511, 513, 626,
112, 510, 223, 1125, 87, 328, 747, 477, 480, 513,
626, 910, 912, 477, 480, 963, 1126, 35, 477, 480,
915, 959, 959, 974, 975, 1056, 959, 155, 251, 985,
213, 252, 311, 359, 418, 26, 980, 1056, 467, 468,
981, 982, 1056, 1058, 994, 995, 979, 978, 976, 977,
158, 997, 264, 999, 976, 994, 1013, 932, 1125, 35,
1141, 356, 1094, 62, 397, 397, 343, 187, 198, 275,
278, 358, 428, 469, 800, 801, 802, 804, 806, 808,
1033, 1142, 397, 431, 397, 343, 1130, 478, 397, 397,
343, 225, 397, 397, 388, 506, 285, 885, 887, 465,
889, 158, 169, 187, 332, 776, 777, 66, 84, 142,
160, 301, 413, 584, 585, 84, 112, 254, 397, 84,
397, 112, 254, 343, 84, 124, 134, 285, 323, 709,
343, 643, 20, 25, 60, 73, 88, 129, 140, 160,
165, 237, 271, 305, 337, 343, 350, 353, 385, 392,
400, 407, 432, 635, 1127, 146, 323, 356, 529, 269,
626, 269, 348, 220, 397, 1141, 397, 259, 626, 116,
208, 343, 354, 399, 508, 743, 329, 356, 812, 821,
477, 795, 800, 397, 419, 388, 1125, 74, 142, 181,
574, 584, 1141, 74, 84, 846, 289, 269, 269, 339,
341, 402, 84, 846, 29, 326, 339, 341, 402, 339,
1125, 159, 193, 264, 743, 476, 397, 397, 180, 476,
538, 234, 388, 416, 441, 538, 84, 480, 4, 4,
285, 187, 146, 120, 323, 356, 529, 420, 420, 253,
1033, 397, 343, 476, 826, 1127, 1125, 269, 397, 397,
343, 821, 385, 385, 397, 397, 385, 712, 106, 356,
520, 397, 490, 520, 269, 397, 397, 343, 821, 1125,
397, 397, 1125, 1035, 626, 53, 625, 626, 626, 104,
238, 241, 53, 397, 488, 245, 343, 488, 252, 624,
397, 397, 259, 1136, 653, 397, 397, 343, 1136, 397,
308, 397, 308, 712, 388, 1011, 289, 289, 84, 397,
846, 343, 397, 397, 538, 538, 743, 743, 743, 743,
1125, 42, 425, 42, 42, 397, 42, 397, 425, 343,
480, 520, 419, 670, 1139, 397, 490, 520, 1125, 397,
343, 285, 323, 311, 324, 352, 512, 877, 1095, 1095,
1096, 477, 13, 14, 480, 972, 973, 475, 481, 1131,
1141, 1125, 209, 1033, 269, 209, 443, 209, 626, 743,
743, 209, 269, 209, 209, 269, 81, 123, 287, 390,
1033, 269, 209, 209, 209, 397, 163, 397, 552, 407,
476, 35, 146, 743, 713, 714, 1144, 24, 885, 1033,
269, 146, 640, 1127, 254, 289, 476, 489, 726, 420,
315, 432, 1125, 26, 385, 439, 816, 489, 146, 1139,
91, 169, 504, 566, 619, 684, 761, 779, 881, 146,
1136, 661, 662, 146, 269, 1136, 1139, 231, 743, 743,
743, 743, 264, 117, 201, 405, 418, 686, 687, 138,
310, 476, 670, 254, 489, 1125, 254, 621, 623, 254,
35, 264, 289, 476, 587, 587, 181, 616, 1125, 158,
181, 782, 1131, 476, 716, 807, 476, 798, 798, 35,
1033, 215, 439, 441, 955, 345, 810, 809, 1033, 1128,
476, 1094, 1135, 745, 1050, 1050, 34, 1034, 395, 395,
1135, 1135, 1033, 474, 474, 1135, 397, 397, 397, 476,
397, 1135, 1038, 796, 797, 1140, 1139, 146, 534, 146,
420, 146, 420, 827, 828, 534, 796, 1140, 796, 1127,
1127, 1033, 745, 1140, 670, 146, 146, 534, 742, 743,
1126, 1127, 1127, 743, 477, 181, 1125, 920, 922, 953,
953, 953, 953, 953, 953, 588, 477, 480, 477, 166,
306, 338, 351, 386, 1126, 742, 105, 353, 796, 1126,
263, 796, 796, 1126, 1124, 1124, 1126, 742, 397, 439,
772, 141, 225, 667, 668, 20, 144, 339, 359, 944,
1011, 258, 945, 477, 480, 927, 397, 1125, 840, 841,
843, 764, 763, 764, 163, 170, 773, 1141, 25, 74,
106, 129, 140, 160, 165, 216, 237, 305, 308, 334,
337, 343, 350, 379, 385, 388, 407, 432, 635, 754,
755, 1094, 1116, 475, 1094, 1098, 1099, 435, 1111, 1112,
1056, 1094, 476, 1135, 1135, 3, 107, 179, 240, 243,
347, 457, 1100, 1101, 1136, 1094, 1094, 1094, 1135, 1135,
1056, 826, 1056, 1102, 339, 467, 468, 476, 1057, 1058,
1091, 1104, 477, 1094, 1056, 1094, 1105, 1056, 52, 163,
219, 398, 1056, 1094, 1108, 1094, 245, 1058, 1056, 1066,
1067, 1068, 245, 1056, 1068, 477, 480, 1135, 1054, 1033,
1056, 1056, 1056, 1056, 1144, 395, 39, 382, 1120, 743,
1056, 476, 957, 1109, 126, 128, 151, 254, 259, 264,
404, 414, 1056, 476, 1056, 397, 47, 182, 187, 224,
361, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056,
1056, 26, 33, 366, 1088, 172, 154, 1073, 339, 476,
1085, 168, 228, 385, 389, 391, 416, 967, 1125, 1123,
163, 1001, 1095, 1001, 1125, 399, 476, 1136, 480, 477,
180, 180, 534, 918, 908, 907, 911, 1056, 477, 237,
254, 964, 918, 916, 480, 36, 121, 420, 790, 339,
340, 467, 468, 982, 984, 1058, 359, 213, 270, 480,
4, 983, 1135, 983, 339, 340, 984, 1124, 258, 363,
946, 995, 977, 420, 941, 112, 283, 476, 933, 956,
35, 1141, 476, 948, 949, 950, 1141, 477, 1139, 1127,
1127, 278, 53, 1142, 477, 802, 804, 801, 804, 1142,
275, 477, 480, 744, 1139, 1127, 1127, 1130, 1139, 1127,
1127, 1139, 1128, 1127, 112, 513, 1137, 334, 419, 763,
343, 169, 763, 476, 1127, 420, 783, 213, 213, 420,
476, 610, 181, 1127, 259, 1139, 1127, 1127, 1056, 259,
1127, 1127, 29, 326, 397, 397, 1127, 397, 644, 239,
809, 476, 743, 743, 1033, 402, 105, 385, 797, 432,
68, 152, 828, 797, 797, 1127, 743, 1127, 743, 346,
158, 1033, 743, 215, 175, 252, 285, 323, 424, 647,
648, 649, 1011, 397, 846, 343, 259, 148, 116, 208,
1139, 1127, 269, 1127, 477, 480, 1138, 1140, 1127, 323,
529, 181, 574, 254, 1033, 1127, 1135, 1141, 1125, 1127,
148, 223, 1127, 26, 419, 1127, 181, 1127, 181, 1141,
341, 402, 341, 402, 223, 1127, 26, 419, 1127, 223,
339, 1125, 22, 131, 356, 654, 655, 656, 657, 1144,
1139, 1127, 112, 164, 255, 420, 537, 540, 541, 1144,
1127, 70, 267, 1127, 532, 397, 388, 1125, 269, 397,
846, 343, 1129, 1141, 1129, 480, 477, 480, 1139, 1127,
851, 852, 1144, 269, 323, 397, 678, 148, 1139, 1127,
1127, 1012, 1012, 1139, 1127, 1012, 1128, 1138, 3, 83,
136, 193, 291, 411, 419, 422, 491, 148, 1139, 1127,
1127, 323, 1139, 1127, 323, 356, 529, 623, 626, 743,
1127, 626, 743, 1127, 626, 1139, 1127, 1139, 1127, 1127,
1139, 816, 1127, 860, 861, 1144, 1127, 323, 356, 529,
530, 1125, 1125, 1127, 1127, 1127, 1127, 1139, 1127, 22,
28, 131, 285, 323, 356, 285, 323, 356, 712, 323,
356, 323, 356, 120, 323, 1025, 1141, 181, 722, 1141,
181, 1141, 1139, 1127, 1127, 1136, 1127, 22, 549, 353,
1138, 323, 356, 529, 1127, 1127, 397, 397, 79, 410,
311, 480, 972, 972, 972, 1056, 1056, 428, 1096, 477,
1056, 1117, 259, 751, 1136, 35, 129, 743, 751, 751,
209, 420, 420, 751, 743, 751, 751, 743, 215, 743,
751, 751, 751, 307, 553, 553, 191, 385, 683, 1056,
1033, 743, 477, 480, 465, 686, 576, 1144, 1127, 57,
163, 343, 431, 641, 648, 649, 146, 264, 224, 568,
570, 572, 574, 581, 584, 23, 187, 334, 383, 491,
492, 158, 1129, 432, 1125, 35, 679, 386, 1012, 712,
502, 1141, 503, 274, 567, 1127, 160, 743, 1094, 308,
1136, 712, 712, 712, 712, 264, 269, 274, 476, 712,
1023, 1024, 1025, 353, 146, 476, 146, 146, 145, 956,
743, 264, 568, 1141, 420, 605, 439, 539, 254, 35,
587, 1136, 254, 269, 3, 717, 718, 712, 477, 799,
800, 805, 35, 215, 331, 400, 438, 811, 812, 813,
811, 269, 215, 516, 178, 178, 158, 534, 35, 1094,
477, 477, 534, 474, 459, 459, 477, 477, 1135, 475,
1135, 477, 179, 240, 1055, 240, 1055, 1055, 1135, 243,
477, 534, 742, 743, 1129, 743, 1129, 534, 534, 534,
534, 215, 534, 353, 158, 516, 534, 534, 269, 534,
254, 477, 589, 187, 187, 187, 187, 187, 443, 1126,
626, 627, 172, 767, 768, 1139, 23, 773, 397, 476,
163, 144, 359, 144, 359, 339, 418, 242, 1033, 1139,
439, 614, 781, 781, 163, 269, 767, 53, 534, 809,
1033, 402, 385, 797, 263, 432, 797, 797, 1033, 215,
743, 1127, 477, 475, 475, 480, 1056, 133, 1112, 1113,
35, 477, 1056, 477, 477, 477, 163, 477, 477, 477,
477, 477, 480, 477, 292, 1103, 477, 476, 1057, 1057,
1094, 11, 15, 16, 17, 187, 209, 271, 463, 464,
465, 467, 468, 469, 470, 471, 472, 1091, 1057, 477,
477, 158, 163, 1106, 1107, 477, 35, 1108, 1094, 1108,
1108, 163, 477, 477, 1144, 290, 1070, 35, 477, 480,
1056, 1144, 480, 1056, 1119, 1056, 477, 459, 1057, 1057,
139, 1094, 163, 126, 128, 151, 259, 264, 404, 414,
476, 139, 826, 1056, 382, 1120, 1056, 1109, 1056, 397,
476, 957, 476, 476, 280, 1077, 476, 1094, 389, 391,
389, 391, 1125, 968, 968, 968, 218, 340, 456, 476,
957, 1002, 1003, 1004, 1011, 1016, 1026, 1059, 1061, 1062,
1141, 436, 1021, 972, 1021, 878, 1135, 1054, 511, 918,
237, 476, 975, 271, 1089, 1092, 461, 791, 4, 1135,
984, 270, 418, 981, 233, 1002, 436, 1022, 426, 384,
419, 934, 935, 936, 1141, 269, 937, 1141, 950, 951,
480, 1001, 465, 1119, 808, 744, 804, 804, 53, 806,
471, 1140, 1140, 269, 1126, 272, 269, 1056, 585, 1129,
476, 476, 476, 610, 191, 588, 702, 146, 534, 397,
1139, 1127, 516, 1127, 1033, 1127, 443, 743, 743, 743,
743, 81, 123, 287, 390, 1033, 1127, 630, 1127, 175,
424, 397, 397, 630, 647, 653, 323, 356, 529, 1127,
1127, 1127, 199, 1127, 259, 800, 284, 356, 397, 254,
146, 273, 651, 702, 356, 22, 131, 327, 328, 356,
533, 542, 543, 653, 847, 1127, 348, 146, 534, 146,
534, 1127, 1127, 1127, 1127, 348, 348, 223, 656, 657,
656, 477, 480, 658, 1136, 191, 477, 480, 465, 478,
1139, 1127, 323, 356, 529, 148, 1127, 1127, 1127, 285,
323, 356, 22, 131, 285, 323, 356, 1033, 253, 1033,
477, 480, 465, 1125, 397, 1140, 420, 675, 1127, 225,
291, 259, 1136, 291, 1140, 417, 1127, 397, 397, 343,
480, 816, 284, 356, 84, 397, 846, 343, 112, 158,
544, 397, 397, 235, 235, 235, 397, 397, 343, 397,
397, 343, 397, 343, 397, 343, 269, 397, 534, 1033,
254, 1136, 356, 847, 146, 534, 397, 397, 1127, 397,
343, 1139, 1127, 477, 477, 477, 1096, 475, 1033, 743,
209, 751, 1129, 1129, 209, 209, 1127, 209, 373, 374,
554, 1136, 554, 175, 477, 477, 163, 712, 714, 253,
271, 467, 468, 626, 715, 804, 1092, 1136, 1148, 269,
66, 72, 84, 112, 114, 167, 195, 254, 259, 301,
317, 413, 577, 578, 580, 145, 435, 488, 516, 1127,
516, 651, 1125, 1125, 1125, 477, 480, 1140, 172, 334,
1140, 1135, 407, 1125, 587, 3, 158, 680, 43, 503,
325, 385, 660, 105, 915, 163, 860, 539, 588, 1125,
687, 719, 720, 1136, 477, 480, 1127, 158, 588, 1125,
613, 1125, 1127, 614, 476, 569, 1125, 477, 1129, 439,
441, 606, 538, 35, 146, 956, 605, 397, 146, 1011,
465, 477, 480, 477, 480, 112, 465, 814, 1136, 516,
385, 803, 804, 158, 815, 813, 117, 201, 349, 418,
869, 1127, 175, 956, 1033, 477, 1135, 1053, 1053, 475,
475, 477, 534, 420, 534, 420, 534, 1127, 1127, 670,
534, 743, 146, 343, 343, 343, 343, 343, 1126, 480,
1139, 439, 480, 769, 272, 1012, 353, 144, 144, 105,
252, 1125, 1127, 1140, 766, 534, 1139, 209, 209, 209,
626, 209, 209, 209, 209, 209, 1098, 393, 1056, 137,
1033, 477, 1056, 1056, 1056, 1106, 477, 1094, 480, 1033,
1057, 1057, 1057, 1057, 126, 128, 254, 264, 1057, 1057,
1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1056, 1056,
1107, 1106, 1033, 477, 477, 477, 1094, 477, 480, 53,
1058, 1071, 477, 1144, 1067, 298, 378, 1069, 477, 480,
431, 1063, 35, 477, 1136, 1056, 32, 32, 1056, 477,
1056, 163, 476, 1097, 1056, 477, 139, 1057, 1057, 139,
139, 1056, 1056, 973, 436, 476, 1078, 1141, 477, 1094,
480, 968, 968, 968, 968, 1125, 1125, 1125, 957, 1016,
1026, 163, 476, 957, 1003, 1004, 35, 1005, 1006, 1141,
480, 92, 164, 197, 212, 222, 248, 333, 1008, 1006,
35, 1005, 1007, 1141, 1006, 462, 1020, 1118, 1056, 172,
986, 477, 986, 477, 927, 476, 791, 155, 217, 270,
95, 1056, 330, 939, 425, 477, 480, 1119, 82, 939,
477, 480, 949, 1022, 1056, 477, 471, 808, 407, 166,
338, 344, 351, 386, 408, 778, 158, 778, 477, 476,
592, 593, 785, 1061, 1141, 588, 588, 702, 1131, 477,
114, 195, 252, 254, 703, 1127, 1127, 35, 1127, 420,
420, 743, 743, 743, 743, 215, 744, 1139, 1127, 397,
846, 343, 397, 199, 53, 388, 1127, 146, 574, 476,
576, 372, 167, 180, 254, 538, 488, 105, 167, 254,
372, 375, 538, 624, 356, 543, 407, 1127, 1141, 348,
655, 1127, 541, 715, 1144, 284, 356, 397, 846, 343,
1127, 397, 397, 397, 343, 165, 271, 375, 724, 725,
165, 271, 732, 733, 397, 397, 343, 477, 477, 477,
852, 253, 626, 804, 853, 1092, 1136, 1148, 323, 1127,
476, 439, 676, 1137, 1136, 1136, 1136, 1127, 1127, 1127,
861, 53, 388, 1127, 1127, 1127, 1127, 426, 1127, 1127,
158, 158, 325, 158, 181, 1139, 1127, 1127, 1139, 1127,
1127, 1127, 1127, 1127, 1127, 148, 1127, 72, 535, 146,
24, 45, 407, 1141, 1127, 1136, 653, 1127, 1127, 972,
477, 209, 751, 209, 209, 751, 751, 209, 751, 488,
420, 559, 560, 630, 702, 439, 441, 743, 1125, 476,
743, 1127, 1057, 29, 53, 579, 115, 183, 114, 259,
213, 1125, 816, 165, 305, 698, 705, 706, 1141, 640,
289, 476, 569, 582, 194, 599, 572, 1140, 1140, 1033,
476, 539, 26, 117, 201, 349, 418, 681, 397, 677,
1139, 181, 1125, 662, 443, 269, 1002, 816, 318, 688,
477, 480, 1025, 651, 670, 477, 621, 35, 264, 289,
476, 929, 571, 573, 575, 584, 1141, 289, 600, 601,
569, 599, 538, 267, 269, 607, 956, 616, 614, 539,
1136, 1131, 783, 715, 3, 718, 805, 1056, 1056, 480,
476, 811, 407, 480, 397, 476, 630, 477, 475, 1129,
1129, 534, 353, 534, 1126, 1126, 1126, 1126, 1126, 626,
169, 768, 477, 1127, 105, 773, 163, 259, 756, 1136,
756, 756, 209, 756, 756, 756, 756, 756, 1056, 477,
477, 1107, 477, 1056, 163, 126, 128, 264, 476, 477,
446, 1065, 1094, 316, 425, 53, 1071, 1058, 437, 437,
477, 1056, 252, 1056, 480, 1064, 1035, 1056, 1056, 1056,
1097, 477, 1056, 32, 32, 1056, 1056, 139, 477, 477,
1056, 1079, 1141, 477, 1056, 1125, 1125, 1125, 1125, 1006,
1007, 1006, 476, 451, 1058, 477, 1141, 476, 1003, 212,
279, 1009, 1003, 1009, 212, 1008, 1009, 212, 387, 1014,
476, 1141, 476, 276, 53, 176, 993, 1136, 993, 1136,
477, 826, 264, 1122, 956, 283, 956, 936, 269, 476,
938, 465, 950, 939, 407, 477, 397, 763, 163, 702,
1056, 477, 480, 439, 72, 788, 788, 477, 477, 188,
590, 115, 183, 193, 114, 422, 534, 1033, 1129, 1129,
1127, 1127, 1127, 1127, 1127, 1140, 1127, 574, 652, 656,
1137, 579, 181, 259, 626, 579, 259, 1137, 1141, 1033,
534, 534, 465, 53, 388, 1127, 1127, 1127, 1127, 1139,
1127, 1127, 1135, 1135, 1033, 480, 1135, 1135, 480, 1139,
1127, 1127, 397, 1056, 66, 1140, 1127, 397, 397, 163,
187, 439, 1126, 1126, 743, 1126, 146, 1127, 743, 1136,
1136, 1033, 534, 534, 477, 209, 751, 751, 751, 751,
476, 555, 556, 488, 119, 165, 198, 165, 163, 701,
1056, 254, 578, 112, 35, 816, 587, 420, 609, 1133,
32, 145, 187, 264, 568, 544, 143, 189, 476, 353,
420, 588, 35, 1140, 675, 503, 254, 476, 160, 1127,
1094, 250, 268, 689, 690, 691, 158, 694, 1136, 353,
539, 145, 956, 743, 264, 568, 614, 477, 480, 439,
576, 53, 605, 544, 600, 78, 388, 608, 439, 882,
35, 608, 163, 269, 476, 1136, 802, 817, 818, 1142,
1033, 158, 1125, 163, 397, 837, 196, 631, 534, 534,
534, 1127, 272, 207, 534, 767, 756, 477, 1057, 163,
476, 1097, 476, 477, 480, 477, 1071, 477, 425, 369,
477, 477, 477, 1056, 1056, 1056, 477, 289, 1080, 477,
1017, 1018, 1061, 476, 1070, 1005, 476, 1126, 1003, 269,
420, 1010, 1003, 212, 1003, 1133, 1024, 476, 1024, 1141,
94, 173, 336, 476, 987, 988, 989, 990, 991, 992,
1056, 1056, 438, 1074, 1074, 477, 953, 934, 84, 784,
785, 127, 1056, 767, 269, 767, 477, 590, 593, 271,
826, 743, 743, 789, 789, 317, 590, 476, 816, 477,
397, 356, 945, 477, 480, 35, 146, 535, 715, 1140,
1127, 397, 476, 797, 826, 828, 725, 476, 476, 733,
1127, 477, 476, 356, 945, 1127, 1127, 476, 476, 476,
439, 462, 900, 325, 900, 900, 158, 535, 751, 561,
562, 1144, 49, 93, 118, 135, 139, 159, 162, 177,
259, 309, 557, 555, 1136, 797, 35, 833, 833, 1125,
702, 477, 180, 476, 609, 236, 591, 191, 476, 706,
698, 476, 1125, 477, 353, 26, 77, 85, 113, 167,
180, 192, 372, 375, 583, 583, 1124, 1127, 1129, 477,
956, 676, 146, 105, 651, 163, 690, 339, 385, 692,
132, 695, 435, 697, 1127, 35, 1127, 614, 569, 1125,
477, 573, 273, 3, 602, 1145, 606, 600, 605, 117,
131, 298, 1127, 58, 66, 228, 956, 743, 1011, 784,
804, 477, 480, 407, 1021, 367, 367, 477, 630, 252,
424, 632, 633, 1127, 534, 1057, 1097, 477, 1066, 1094,
252, 458, 53, 972, 477, 480, 35, 1019, 112, 1031,
1032, 1057, 75, 1126, 477, 1056, 476, 1003, 1010, 476,
477, 1024, 477, 476, 357, 476, 477, 480, 1075, 1076,
1141, 425, 1127, 477, 480, 255, 418, 769, 778, 534,
788, 816, 476, 790, 790, 1125, 816, 588, 609, 1127,
388, 656, 180, 420, 536, 356, 945, 1127, 1097, 158,
728, 728, 1097, 1097, 1056, 388, 1094, 1094, 545, 546,
1143, 742, 743, 742, 743, 1126, 534, 477, 480, 469,
476, 513, 563, 626, 897, 1136, 897, 254, 259, 309,
897, 897, 1021, 833, 38, 185, 158, 252, 586, 476,
622, 1056, 164, 288, 362, 269, 595, 596, 597, 388,
477, 1133, 5, 707, 569, 599, 1127, 477, 651, 152,
727, 539, 882, 1125, 443, 1002, 897, 339, 371, 696,
476, 145, 651, 956, 929, 600, 569, 599, 576, 476,
607, 605, 606, 340, 340, 66, 272, 66, 614, 783,
477, 811, 817, 1033, 127, 439, 439, 424, 630, 651,
477, 477, 477, 425, 1094, 174, 310, 340, 1081, 1020,
1017, 476, 1057, 477, 480, 35, 1027, 1028, 1141, 477,
1126, 1094, 477, 1094, 476, 1094, 988, 480, 35, 956,
1021, 785, 356, 163, 789, 609, 826, 791, 791, 587,
609, 477, 702, 1127, 622, 1056, 388, 477, 275, 346,
314, 729, 729, 477, 477, 477, 1127, 477, 477, 477,
480, 1135, 900, 562, 513, 564, 565, 1136, 1136, 259,
588, 469, 588, 1136, 1136, 132, 193, 623, 477, 117,
418, 269, 597, 269, 596, 1127, 476, 477, 480, 544,
353, 651, 743, 35, 35, 476, 1127, 693, 1141, 1056,
698, 882, 614, 605, 544, 600, 476, 603, 604, 1061,
1141, 608, 606, 607, 272, 272, 476, 188, 786, 27,
202, 870, 165, 165, 47, 95, 409, 1056, 1082, 1083,
1082, 1082, 477, 1024, 480, 1032, 1144, 477, 480, 158,
1033, 477, 477, 477, 987, 477, 1076, 1078, 948, 767,
790, 436, 594, 477, 591, 702, 945, 1127, 797, 53,
945, 397, 545, 743, 477, 480, 588, 339, 477, 376,
57, 252, 329, 356, 598, 598, 477, 5, 353, 1127,
724, 956, 651, 477, 1133, 606, 600, 605, 1056, 477,
480, 788, 788, 607, 608, 784, 476, 539, 255, 476,
865, 867, 871, 931, 940, 947, 956, 797, 797, 1083,
339, 157, 296, 157, 296, 142, 1084, 1084, 1084, 477,
1058, 1028, 276, 3, 112, 254, 259, 1029, 1030, 324,
1015, 477, 1021, 534, 791, 476, 702, 595, 945, 743,
476, 565, 697, 21, 112, 259, 1127, 651, 882, 476,
607, 605, 606, 477, 604, 789, 789, 608, 477, 785,
787, 608, 866, 867, 868, 957, 958, 480, 480, 32,
95, 172, 252, 394, 1070, 1057, 1057, 259, 1030, 476,
1056, 702, 1094, 145, 651, 4, 699, 700, 1135, 1136,
1144, 608, 606, 607, 788, 786, 477, 480, 1021, 477,
479, 397, 163, 1083, 339, 277, 75, 1056, 477, 477,
698, 477, 480, 607, 608, 789, 539, 785, 868, 367,
367, 1027, 477, 1133, 700, 608, 608, 439, 439, 477,
476, 1021, 165, 165, 699, 797, 797, 477
};
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
static const yytype_uint16 yyr1[] =
{
0, 482, 483, 484, 484, 485, 485, 485, 485, 485,
485, 485, 485, 485, 485, 485, 485, 485, 485, 485,
485, 485, 485, 485, 485, 485, 485, 485, 485, 485,
485, 485, 485, 485, 485, 485, 485, 485, 485, 485,
485, 485, 485, 485, 485, 485, 485, 485, 485, 485,
485, 485, 485, 485, 485, 485, 485, 485, 485, 485,
485, 485, 485, 485, 485, 485, 485, 485, 485, 485,
485, 485, 485, 485, 485, 485, 485, 485, 485, 485,
485, 485, 485, 485, 485, 485, 485, 485, 485, 485,
485, 485, 485, 485, 485, 485, 485, 485, 485, 485,
485, 485, 485, 485, 485, 485, 485, 485, 485, 485,
485, 485, 485, 485, 485, 485, 485, 485, 485, 485,
485, 485, 485, 485, 485, 485, 485, 485, 485, 486,
487, 488, 488, 488, 489, 489, 490, 490, 491, 491,
491, 491, 491, 491, 491, 491, 491, 492, 492, 492,
492, 492, 492, 493, 494, 494, 495, 495, 496, 496,
496, 496, 497, 497, 497, 497, 497, 497, 498, 499,
500, 500, 501, 501, 501, 501, 502, 502, 503, 503,
504, 504, 504, 504, 504, 504, 505, 505, 505, 506,
506, 506, 507, 507, 507, 507, 508, 508, 508, 508,
508, 508, 508, 508, 508, 508, 508, 509, 509, 510,
510, 511, 511, 512, 512, 512, 512, 513, 513, 513,
513, 514, 514, 514, 514, 514, 514, 514, 515, 515,
515, 516, 516, 517, 518, 518, 518, 518, 519, 519,
520, 520, 521, 521, 522, 522, 522, 522, 522, 523,
524, 524, 525, 525, 526, 527, 527, 527, 527, 527,
528, 528, 528, 528, 528, 528, 528, 528, 528, 528,
528, 528, 528, 528, 528, 528, 528, 528, 528, 529,
529, 530, 530, 531, 532, 532, 532, 532, 532, 532,
532, 532, 532, 532, 532, 532, 532, 532, 532, 532,
532, 532, 532, 532, 532, 532, 532, 532, 532, 532,
532, 532, 532, 532, 532, 532, 532, 532, 532, 532,
532, 532, 532, 532, 532, 532, 532, 532, 532, 532,
532, 532, 532, 532, 532, 532, 532, 532, 532, 532,
533, 533, 534, 534, 534, 535, 535, 536, 536, 537,
537, 537, 537, 538, 539, 539, 540, 540, 541, 541,
541, 541, 542, 542, 543, 543, 543, 543, 544, 544,
544, 544, 545, 546, 546, 547, 548, 548, 549, 549,
549, 549, 550, 550, 551, 551, 552, 552, 553, 553,
554, 554, 554, 555, 555, 556, 556, 557, 557, 557,
557, 557, 557, 557, 557, 557, 557, 557, 557, 557,
558, 558, 559, 559, 560, 560, 561, 561, 562, 563,
563, 563, 563, 563, 564, 564, 565, 566, 566, 566,
566, 566, 566, 567, 567, 567, 567, 567, 567, 567,
567, 568, 568, 569, 569, 570, 570, 571, 571, 572,
572, 572, 573, 573, 574, 575, 575, 576, 576, 577,
577, 577, 577, 578, 578, 578, 578, 578, 578, 578,
578, 578, 579, 579, 580, 580, 580, 580, 581, 582,
582, 582, 583, 583, 583, 583, 583, 583, 583, 583,
583, 584, 584, 585, 585, 585, 585, 585, 585, 585,
586, 586, 587, 587, 588, 588, 589, 590, 590, 591,
591, 591, 591, 592, 592, 593, 593, 594, 594, 595,
595, 595, 595, 595, 596, 597, 598, 598, 598, 598,
598, 599, 599, 600, 600, 601, 602, 602, 603, 603,
604, 604, 604, 605, 605, 606, 606, 606, 607, 607,
607, 607, 608, 608, 609, 609, 610, 611, 611, 612,
612, 613, 614, 614, 614, 615, 615, 616, 617, 617,
618, 619, 619, 620, 620, 621, 621, 622, 622, 623,
623, 624, 624, 624, 624, 624, 624, 624, 624, 624,
624, 624, 624, 624, 624, 625, 625, 626, 626, 626,
626, 627, 627, 628, 628, 629, 629, 630, 630, 631,
631, 632, 632, 633, 633, 634, 634, 635, 635, 636,
637, 637, 638, 638, 639, 639, 640, 640, 641, 641,
641, 641, 642, 643, 643, 644, 645, 645, 645, 645,
645, 645, 645, 645, 645, 645, 645, 645, 645, 645,
645, 645, 645, 645, 645, 645, 645, 645, 645, 645,
645, 645, 645, 645, 646, 647, 647, 647, 647, 648,
648, 649, 649, 650, 650, 651, 651, 652, 652, 653,
654, 654, 655, 655, 655, 655, 656, 657, 658, 659,
659, 660, 660, 661, 661, 662, 662, 663, 663, 663,
664, 664, 664, 664, 665, 665, 666, 667, 667, 668,
668, 669, 669, 670, 670, 671, 671, 672, 673, 674,
675, 675, 676, 676, 677, 677, 678, 678, 679, 679,
680, 680, 681, 681, 681, 681, 681, 682, 683, 683,
684, 684, 685, 685, 685, 686, 686, 687, 687, 687,
687, 687, 688, 688, 689, 689, 690, 691, 691, 692,
692, 693, 694, 694, 695, 695, 696, 696, 697, 697,
698, 698, 699, 699, 699, 700, 700, 700, 700, 701,
701, 702, 702, 703, 703, 703, 703, 703, 703, 704,
704, 705, 705, 706, 707, 707, 708, 709, 709, 709,
709, 710, 711, 711, 711, 711, 711, 711, 711, 711,
711, 711, 711, 711, 711, 711, 711, 711, 712, 713,
713, 714, 714, 715, 715, 715, 715, 715, 715, 716,
717, 717, 718, 719, 719, 720, 720, 721, 721, 721,
721, 722, 722, 723, 724, 724, 725, 725, 725, 725,
725, 726, 726, 727, 727, 728, 728, 728, 729, 729,
730, 731, 731, 732, 732, 733, 733, 734, 734, 735,
735, 736, 737, 738, 738, 738, 738, 738, 738, 738,
738, 738, 738, 738, 738, 739, 739, 739, 739, 739,
739, 739, 739, 739, 739, 739, 739, 739, 740, 740,
740, 740, 740, 740, 740, 741, 741, 741, 742, 742,
743, 743, 744, 744, 745, 745, 746, 747, 747, 747,
748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
748, 748, 748, 748, 748, 748, 748, 748, 748, 749,
749, 749, 749, 749, 749, 749, 749, 749, 749, 749,
749, 749, 749, 750, 750, 750, 750, 750, 750, 750,
750, 750, 750, 750, 750, 751, 751, 752, 752, 752,
752, 752, 752, 752, 752, 752, 753, 753, 754, 754,
754, 754, 754, 754, 755, 755, 755, 755, 755, 755,
755, 755, 756, 756, 757, 757, 758, 758, 758, 758,
758, 758, 758, 758, 758, 758, 758, 758, 758, 758,
758, 758, 759, 759, 760, 760, 761, 762, 762, 763,
763, 763, 763, 763, 764, 764, 765, 765, 765, 765,
766, 766, 766, 766, 766, 766, 766, 766, 766, 766,
766, 766, 766, 766, 766, 766, 766, 766, 766, 766,
767, 767, 768, 768, 769, 769, 770, 771, 771, 772,
772, 773, 773, 774, 775, 775, 776, 776, 776, 777,
777, 777, 778, 778, 778, 778, 778, 778, 779, 779,
780, 780, 781, 781, 782, 782, 783, 783, 784, 784,
785, 785, 785, 786, 786, 787, 787, 788, 788, 789,
789, 790, 790, 790, 791, 791, 791, 792, 792, 792,
792, 793, 793, 794, 794, 795, 795, 796, 796, 797,
797, 797, 797, 798, 798, 799, 799, 800, 800, 800,
800, 800, 801, 801, 801, 801, 801, 802, 803, 804,
804, 804, 805, 805, 805, 806, 807, 807, 807, 807,
808, 808, 809, 810, 810, 811, 811, 812, 812, 812,
812, 812, 812, 812, 812, 812, 812, 812, 812, 812,
812, 812, 812, 812, 813, 813, 813, 813, 813, 814,
814, 815, 815, 816, 816, 817, 818, 818, 819, 819,
819, 820, 820, 821, 821, 822, 822, 822, 822, 822,
822, 823, 823, 824, 824, 825, 825, 825, 825, 826,
826, 827, 827, 828, 829, 830, 830, 831, 831, 832,
832, 832, 833, 833, 833, 834, 835, 835, 836, 837,
837, 837, 837, 838, 839, 839, 839, 839, 840, 840,
841, 841, 841, 842, 842, 843, 844, 844, 845, 845,
845, 845, 845, 845, 845, 845, 845, 845, 845, 845,
845, 845, 845, 845, 845, 845, 845, 845, 845, 845,
845, 845, 845, 845, 845, 845, 845, 845, 845, 845,
845, 845, 845, 845, 845, 845, 845, 845, 845, 845,
845, 845, 845, 845, 845, 845, 845, 845, 845, 845,
845, 846, 846, 847, 847, 848, 848, 848, 848, 848,
848, 849, 849, 849, 849, 849, 849, 849, 849, 849,
849, 849, 849, 849, 849, 849, 849, 849, 849, 849,
849, 849, 849, 849, 849, 849, 849, 849, 850, 851,
851, 852, 852, 853, 853, 853, 853, 853, 854, 854,
854, 854, 854, 854, 854, 854, 854, 854, 854, 854,
854, 854, 854, 854, 854, 854, 854, 854, 854, 854,
854, 854, 855, 856, 856, 857, 857, 858, 858, 858,
858, 859, 860, 860, 861, 862, 862, 862, 862, 862,
862, 863, 863, 864, 865, 865, 865, 866, 866, 867,
867, 867, 867, 867, 868, 868, 869, 869, 869, 869,
870, 870, 870, 871, 872, 872, 873, 874, 874, 875,
875, 875, 875, 875, 875, 875, 875, 875, 875, 875,
875, 875, 875, 876, 876, 876, 877, 877, 877, 877,
877, 878, 878, 878, 879, 879, 880, 880, 880, 881,
881, 881, 881, 882, 882, 882, 882, 883, 884, 885,
885, 886, 886, 887, 887, 887, 888, 888, 888, 888,
888, 888, 888, 889, 889, 890, 890, 890, 891, 892,
892, 893, 894, 894, 895, 896, 896, 896, 896, 896,
896, 896, 897, 897, 898, 899, 899, 899, 899, 899,
899, 900, 900, 901, 902, 902, 902, 903, 903, 904,
904, 905, 905, 906, 906, 907, 907, 908, 909, 909,
910, 910, 910, 911, 911, 912, 912, 913, 913, 914,
914, 915, 915, 916, 917, 917, 918, 918, 919, 919,
919, 919, 920, 920, 920, 920, 920, 920, 920, 920,
920, 921, 921, 922, 923, 923, 924, 924, 924, 925,
926, 926, 927, 927, 927, 927, 928, 928, 928, 929,
929, 930, 930, 930, 930, 931, 932, 932, 933, 933,
933, 933, 933, 934, 934, 935, 935, 936, 937, 937,
937, 938, 938, 938, 939, 939, 940, 941, 941, 942,
943, 943, 944, 944, 944, 944, 944, 944, 944, 944,
945, 945, 946, 946, 946, 947, 948, 948, 949, 949,
950, 951, 951, 952, 953, 954, 954, 954, 954, 954,
955, 955, 955, 956, 956, 957, 957, 958, 958, 958,
958, 958, 958, 958, 958, 959, 959, 960, 960, 960,
960, 960, 960, 960, 961, 961, 961, 962, 962, 963,
964, 964, 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, 1075,
1076, 1077, 1077, 1077, 1078, 1079, 1079, 1080, 1080, 1081,
1081, 1081, 1081, 1082, 1082, 1083, 1083, 1083, 1083, 1083,
1084, 1084, 1084, 1084, 1084, 1085, 1085, 1085, 1086, 1086,
1087, 1088, 1088, 1088, 1089, 1089, 1090, 1090, 1090, 1090,
1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1091, 1091,
1092, 1092, 1093, 1093, 1093, 1093, 1093, 1093, 1094, 1094,
1095, 1095, 1096, 1096, 1096, 1097, 1097, 1098, 1098, 1098,
1099, 1099, 1100, 1100, 1101, 1101, 1101, 1101, 1101, 1101,
1101, 1101, 1102, 1102, 1103, 1104, 1104, 1105, 1105, 1105,
1105, 1105, 1105, 1106, 1107, 1108, 1108, 1108, 1109, 1109,
1110, 1111, 1111, 1112, 1113, 1113, 1114, 1114, 1115, 1115,
1116, 1116, 1116, 1116, 1117, 1117, 1118, 1118, 1119, 1119,
1120, 1120, 1121, 1121, 1122, 1122, 1123, 1123, 1123, 1123,
1124, 1124, 1125, 1125, 1126, 1126, 1127, 1128, 1129, 1130,
1131, 1132, 1133, 1133, 1134, 1134, 1134, 1134, 1134, 1134,
1134, 1134, 1134, 1134, 1134, 1134, 1134, 1135, 1136, 1137,
1137, 1137, 1138, 1139, 1139, 1139, 1140, 1140, 1141, 1141,
1141, 1142, 1142, 1142, 1143, 1143, 1143, 1143, 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, 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, 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, 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, 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, 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, 1146, 1146,
1146, 1146, 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, 1148, 1148,
1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148,
1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148,
1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148,
1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148,
1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148,
1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148,
1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148,
1148, 1148, 1148, 1148, 1148
};
/* 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, 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, 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, 4, 1, 3, 4, 6,
4, 8, 2, 2, 11, 9, 1, 1, 1, 0,
1, 1, 1, 1, 3, 2, 0, 1, 1, 3,
3, 1, 1, 3, 3, 3, 3, 4, 3, 2,
1, 0, 3, 0, 1, 0, 1, 3, 2, 1,
1, 1, 3, 0, 1, 3, 1, 13, 16, 12,
15, 14, 17, 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,
7, 5, 1, 2, 1, 2, 2, 2, 3, 3,
3, 0, 1, 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, 0, 2, 2, 0, 3, 4,
4, 0, 2, 0, 4, 0, 3, 8, 11, 7,
10, 6, 2, 3, 0, 8, 11, 5, 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, 1, 1,
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, 6, 5, 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, 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, 4, 4, 7, 7, 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, 3,
3, 3, 3, 3, 3, 2, 3, 2, 5, 4,
3, 3, 3, 1, 1, 0, 3, 2, 2, 1,
2, 1, 3, 2, 1, 0, 2, 3, 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, 3, 5, 1, 3, 1, 1, 2, 1, 1,
1, 1, 0, 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, 7,
1, 2, 0, 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, 3, 3, 4,
2, 2, 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, 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 790 "gram.y" /* yacc.c:1652 */
{
pg_yyget_extra(yyscanner)->parsetree = (yyvsp[0].list);
}
#line 25765 "gram.c" /* yacc.c:1652 */
break;
case 3:
#line 806 "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 25781 "gram.c" /* yacc.c:1652 */
break;
case 4:
#line 818 "gram.y" /* yacc.c:1652 */
{
if ((yyvsp[0].node) != NULL)
(yyval.list) = list_make1(makeRawStmt((yyvsp[0].node), 0));
else
(yyval.list) = NIL;
}
#line 25792 "gram.c" /* yacc.c:1652 */
break;
case 128:
#line 951 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = NULL; }
#line 25798 "gram.c" /* yacc.c:1652 */
break;
case 129:
#line 961 "gram.y" /* yacc.c:1652 */
{
CallStmt *n = makeNode(CallStmt);
n->funccall = castNode(FuncCall, (yyvsp[0].node));
(yyval.node) = (Node *)n;
}
#line 25808 "gram.c" /* yacc.c:1652 */
break;
case 130:
#line 976 "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 25820 "gram.c" /* yacc.c:1652 */
break;
case 131:
#line 986 "gram.y" /* yacc.c:1652 */
{}
#line 25826 "gram.c" /* yacc.c:1652 */
break;
case 132:
#line 987 "gram.y" /* yacc.c:1652 */
{}
#line 25832 "gram.c" /* yacc.c:1652 */
break;
case 133:
#line 988 "gram.y" /* yacc.c:1652 */
{}
#line 25838 "gram.c" /* yacc.c:1652 */
break;
case 134:
#line 997 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
#line 25844 "gram.c" /* yacc.c:1652 */
break;
case 135:
#line 998 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 25850 "gram.c" /* yacc.c:1652 */
break;
case 136:
#line 1002 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
#line 25856 "gram.c" /* yacc.c:1652 */
break;
case 137:
#line 1003 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 25862 "gram.c" /* yacc.c:1652 */
break;
case 138:
#line 1008 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("password",
(Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
}
#line 25871 "gram.c" /* yacc.c:1652 */
break;
case 139:
#line 1013 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("password", NULL, (yylsp[-1]));
}
#line 25879 "gram.c" /* yacc.c:1652 */
break;
case 140:
#line 1017 "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 25893 "gram.c" /* yacc.c:1652 */
break;
case 141:
#line 1027 "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 25905 "gram.c" /* yacc.c:1652 */
break;
case 142:
#line 1035 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("inherit", (Node *)makeInteger(true), (yylsp[0]));
}
#line 25913 "gram.c" /* yacc.c:1652 */
break;
case 143:
#line 1039 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("connectionlimit", (Node *)makeInteger((yyvsp[0].ival)), (yylsp[-2]));
}
#line 25921 "gram.c" /* yacc.c:1652 */
break;
case 144:
#line 1043 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("validUntil", (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
}
#line 25929 "gram.c" /* yacc.c:1652 */
break;
case 145:
#line 1048 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("rolemembers", (Node *)(yyvsp[0].list), (yylsp[-1]));
}
#line 25937 "gram.c" /* yacc.c:1652 */
break;
case 146:
#line 1052 "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 25986 "gram.c" /* yacc.c:1652 */
break;
case 147:
#line 1099 "gram.y" /* yacc.c:1652 */
{ (yyval.defelt) = (yyvsp[0].defelt); }
#line 25992 "gram.c" /* yacc.c:1652 */
break;
case 148:
#line 1102 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("sysid", (Node *)makeInteger((yyvsp[0].ival)), (yylsp[-1]));
}
#line 26000 "gram.c" /* yacc.c:1652 */
break;
case 149:
#line 1106 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("adminmembers", (Node *)(yyvsp[0].list), (yylsp[-1]));
}
#line 26008 "gram.c" /* yacc.c:1652 */
break;
case 150:
#line 1110 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("rolemembers", (Node *)(yyvsp[0].list), (yylsp[-1]));
}
#line 26016 "gram.c" /* yacc.c:1652 */
break;
case 151:
#line 1114 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("addroleto", (Node *)(yyvsp[0].list), (yylsp[-2]));
}
#line 26024 "gram.c" /* yacc.c:1652 */
break;
case 152:
#line 1118 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("addroleto", (Node *)(yyvsp[0].list), (yylsp[-2]));
}
#line 26032 "gram.c" /* yacc.c:1652 */
break;
case 153:
#line 1132 "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 26044 "gram.c" /* yacc.c:1652 */
break;
case 154:
#line 1150 "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 26056 "gram.c" /* yacc.c:1652 */
break;
case 155:
#line 1158 "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 26068 "gram.c" /* yacc.c:1652 */
break;
case 156:
#line 1168 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = NULL; }
#line 26074 "gram.c" /* yacc.c:1652 */
break;
case 157:
#line 1169 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 26080 "gram.c" /* yacc.c:1652 */
break;
case 158:
#line 1174 "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 26092 "gram.c" /* yacc.c:1652 */
break;
case 159:
#line 1182 "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 26104 "gram.c" /* yacc.c:1652 */
break;
case 160:
#line 1190 "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 26116 "gram.c" /* yacc.c:1652 */
break;
case 161:
#line 1198 "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 26128 "gram.c" /* yacc.c:1652 */
break;
case 162:
#line 1219 "gram.y" /* yacc.c:1652 */
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->missing_ok = false;
n->roles = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 26139 "gram.c" /* yacc.c:1652 */
break;
case 163:
#line 1226 "gram.y" /* yacc.c:1652 */
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->missing_ok = true;
n->roles = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 26150 "gram.c" /* yacc.c:1652 */
break;
case 164:
#line 1233 "gram.y" /* yacc.c:1652 */
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->missing_ok = false;
n->roles = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 26161 "gram.c" /* yacc.c:1652 */
break;
case 165:
#line 1240 "gram.y" /* yacc.c:1652 */
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->roles = (yyvsp[0].list);
n->missing_ok = true;
(yyval.node) = (Node *)n;
}
#line 26172 "gram.c" /* yacc.c:1652 */
break;
case 166:
#line 1247 "gram.y" /* yacc.c:1652 */
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->missing_ok = false;
n->roles = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 26183 "gram.c" /* yacc.c:1652 */
break;
case 167:
#line 1254 "gram.y" /* yacc.c:1652 */
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->missing_ok = true;
n->roles = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 26194 "gram.c" /* yacc.c:1652 */
break;
case 168:
#line 1271 "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 26206 "gram.c" /* yacc.c:1652 */
break;
case 169:
#line 1289 "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 26219 "gram.c" /* yacc.c:1652 */
break;
case 170:
#line 1299 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = +1; }
#line 26225 "gram.c" /* yacc.c:1652 */
break;
case 171:
#line 1300 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = -1; }
#line 26231 "gram.c" /* yacc.c:1652 */
break;
case 172:
#line 1312 "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 26245 "gram.c" /* yacc.c:1652 */
break;
case 173:
#line 1322 "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 26259 "gram.c" /* yacc.c:1652 */
break;
case 174:
#line 1332 "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 26278 "gram.c" /* yacc.c:1652 */
break;
case 175:
#line 1347 "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 26297 "gram.c" /* yacc.c:1652 */
break;
case 176:
#line 1364 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 26303 "gram.c" /* yacc.c:1652 */
break;
case 177:
#line 1365 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = NULL; }
#line 26309 "gram.c" /* yacc.c:1652 */
break;
case 178:
#line 1370 "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 26319 "gram.c" /* yacc.c:1652 */
break;
case 179:
#line 1376 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 26325 "gram.c" /* yacc.c:1652 */
break;
case 186:
#line 1404 "gram.y" /* yacc.c:1652 */
{
VariableSetStmt *n = (yyvsp[0].vsetstmt);
n->is_local = false;
(yyval.node) = (Node *) n;
}
#line 26335 "gram.c" /* yacc.c:1652 */
break;
case 187:
#line 1410 "gram.y" /* yacc.c:1652 */
{
VariableSetStmt *n = (yyvsp[0].vsetstmt);
n->is_local = true;
(yyval.node) = (Node *) n;
}
#line 26345 "gram.c" /* yacc.c:1652 */
break;
case 188:
#line 1416 "gram.y" /* yacc.c:1652 */
{
VariableSetStmt *n = (yyvsp[0].vsetstmt);
n->is_local = false;
(yyval.node) = (Node *) n;
}
#line 26355 "gram.c" /* yacc.c:1652 */
break;
case 189:
#line 1425 "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 26367 "gram.c" /* yacc.c:1652 */
break;
case 190:
#line 1433 "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 26379 "gram.c" /* yacc.c:1652 */
break;
case 192:
#line 1445 "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 26391 "gram.c" /* yacc.c:1652 */
break;
case 193:
#line 1453 "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 26403 "gram.c" /* yacc.c:1652 */
break;
case 194:
#line 1461 "gram.y" /* yacc.c:1652 */
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_DEFAULT;
n->name = (yyvsp[-2].str);
(yyval.vsetstmt) = n;
}
#line 26414 "gram.c" /* yacc.c:1652 */
break;
case 195:
#line 1468 "gram.y" /* yacc.c:1652 */
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_DEFAULT;
n->name = (yyvsp[-2].str);
(yyval.vsetstmt) = n;
}
#line 26425 "gram.c" /* yacc.c:1652 */
break;
case 196:
#line 1477 "gram.y" /* yacc.c:1652 */
{(yyval.vsetstmt) = (yyvsp[0].vsetstmt);}
#line 26431 "gram.c" /* yacc.c:1652 */
break;
case 197:
#line 1479 "gram.y" /* yacc.c:1652 */
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_CURRENT;
n->name = (yyvsp[-2].str);
(yyval.vsetstmt) = n;
}
#line 26442 "gram.c" /* yacc.c:1652 */
break;
case 198:
#line 1487 "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 26457 "gram.c" /* yacc.c:1652 */
break;
case 199:
#line 1498 "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 26469 "gram.c" /* yacc.c:1652 */
break;
case 200:
#line 1506 "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 26481 "gram.c" /* yacc.c:1652 */
break;
case 201:
#line 1514 "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 26496 "gram.c" /* yacc.c:1652 */
break;
case 202:
#line 1525 "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 26508 "gram.c" /* yacc.c:1652 */
break;
case 203:
#line 1533 "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 26520 "gram.c" /* yacc.c:1652 */
break;
case 204:
#line 1541 "gram.y" /* yacc.c:1652 */
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_DEFAULT;
n->name = "session_authorization";
(yyval.vsetstmt) = n;
}
#line 26531 "gram.c" /* yacc.c:1652 */
break;
case 205:
#line 1548 "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 26543 "gram.c" /* yacc.c:1652 */
break;
case 206:
#line 1557 "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 26555 "gram.c" /* yacc.c:1652 */
break;
case 207:
#line 1566 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 26561 "gram.c" /* yacc.c:1652 */
break;
case 208:
#line 1568 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = psprintf("%s.%s", (yyvsp[-2].str), (yyvsp[0].str)); }
#line 26567 "gram.c" /* yacc.c:1652 */
break;
case 209:
#line 1571 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].node)); }
#line 26573 "gram.c" /* yacc.c:1652 */
break;
case 210:
#line 1572 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
#line 26579 "gram.c" /* yacc.c:1652 */
break;
case 211:
#line 1576 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0])); }
#line 26585 "gram.c" /* yacc.c:1652 */
break;
case 212:
#line 1578 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = makeAConst((yyvsp[0].value), (yylsp[0])); }
#line 26591 "gram.c" /* yacc.c:1652 */
break;
case 213:
#line 1581 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = "read uncommitted"; }
#line 26597 "gram.c" /* yacc.c:1652 */
break;
case 214:
#line 1582 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = "read committed"; }
#line 26603 "gram.c" /* yacc.c:1652 */
break;
case 215:
#line 1583 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = "repeatable read"; }
#line 26609 "gram.c" /* yacc.c:1652 */
break;
case 216:
#line 1584 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = "serializable"; }
#line 26615 "gram.c" /* yacc.c:1652 */
break;
case 217:
#line 1588 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = "true"; }
#line 26621 "gram.c" /* yacc.c:1652 */
break;
case 218:
#line 1589 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = "false"; }
#line 26627 "gram.c" /* yacc.c:1652 */
break;
case 219:
#line 1590 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = "on"; }
#line 26633 "gram.c" /* yacc.c:1652 */
break;
case 220:
#line 1596 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 26639 "gram.c" /* yacc.c:1652 */
break;
case 221:
#line 1609 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0]));
}
#line 26647 "gram.c" /* yacc.c:1652 */
break;
case 222:
#line 1613 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0]));
}
#line 26655 "gram.c" /* yacc.c:1652 */
break;
case 223:
#line 1617 "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 26674 "gram.c" /* yacc.c:1652 */
break;
case 224:
#line 1632 "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 26685 "gram.c" /* yacc.c:1652 */
break;
case 225:
#line 1638 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = makeAConst((yyvsp[0].value), (yylsp[0])); }
#line 26691 "gram.c" /* yacc.c:1652 */
break;
case 226:
#line 1639 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = NULL; }
#line 26697 "gram.c" /* yacc.c:1652 */
break;
case 227:
#line 1640 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = NULL; }
#line 26703 "gram.c" /* yacc.c:1652 */
break;
case 228:
#line 1644 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 26709 "gram.c" /* yacc.c:1652 */
break;
case 229:
#line 1645 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = NULL; }
#line 26715 "gram.c" /* yacc.c:1652 */
break;
case 230:
#line 1646 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = NULL; }
#line 26721 "gram.c" /* yacc.c:1652 */
break;
case 231:
#line 1650 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 26727 "gram.c" /* yacc.c:1652 */
break;
case 232:
#line 1651 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 26733 "gram.c" /* yacc.c:1652 */
break;
case 233:
#line 1655 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) (yyvsp[0].vsetstmt); }
#line 26739 "gram.c" /* yacc.c:1652 */
break;
case 234:
#line 1659 "gram.y" /* yacc.c:1652 */
{ (yyval.vsetstmt) = (yyvsp[0].vsetstmt); }
#line 26745 "gram.c" /* yacc.c:1652 */
break;
case 235:
#line 1661 "gram.y" /* yacc.c:1652 */
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_RESET;
n->name = "timezone";
(yyval.vsetstmt) = n;
}
#line 26756 "gram.c" /* yacc.c:1652 */
break;
case 236:
#line 1668 "gram.y" /* yacc.c:1652 */
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_RESET;
n->name = "transaction_isolation";
(yyval.vsetstmt) = n;
}
#line 26767 "gram.c" /* yacc.c:1652 */
break;
case 237:
#line 1675 "gram.y" /* yacc.c:1652 */
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_RESET;
n->name = "session_authorization";
(yyval.vsetstmt) = n;
}
#line 26778 "gram.c" /* yacc.c:1652 */
break;
case 238:
#line 1685 "gram.y" /* yacc.c:1652 */
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_RESET;
n->name = (yyvsp[0].str);
(yyval.vsetstmt) = n;
}
#line 26789 "gram.c" /* yacc.c:1652 */
break;
case 239:
#line 1692 "gram.y" /* yacc.c:1652 */
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_RESET_ALL;
(yyval.vsetstmt) = n;
}
#line 26799 "gram.c" /* yacc.c:1652 */
break;
case 240:
#line 1701 "gram.y" /* yacc.c:1652 */
{ (yyval.vsetstmt) = (yyvsp[0].vsetstmt); }
#line 26805 "gram.c" /* yacc.c:1652 */
break;
case 241:
#line 1702 "gram.y" /* yacc.c:1652 */
{ (yyval.vsetstmt) = (VariableSetStmt *) (yyvsp[0].node); }
#line 26811 "gram.c" /* yacc.c:1652 */
break;
case 242:
#line 1707 "gram.y" /* yacc.c:1652 */
{ (yyval.vsetstmt) = (yyvsp[0].vsetstmt); }
#line 26817 "gram.c" /* yacc.c:1652 */
break;
case 243:
#line 1708 "gram.y" /* yacc.c:1652 */
{ (yyval.vsetstmt) = (VariableSetStmt *) (yyvsp[0].node); }
#line 26823 "gram.c" /* yacc.c:1652 */
break;
case 244:
#line 1714 "gram.y" /* yacc.c:1652 */
{
VariableShowStmt *n = makeNode(VariableShowStmt);
n->name = (yyvsp[0].str);
(yyval.node) = (Node *) n;
}
#line 26833 "gram.c" /* yacc.c:1652 */
break;
case 245:
#line 1720 "gram.y" /* yacc.c:1652 */
{
VariableShowStmt *n = makeNode(VariableShowStmt);
n->name = "timezone";
(yyval.node) = (Node *) n;
}
#line 26843 "gram.c" /* yacc.c:1652 */
break;
case 246:
#line 1726 "gram.y" /* yacc.c:1652 */
{
VariableShowStmt *n = makeNode(VariableShowStmt);
n->name = "transaction_isolation";
(yyval.node) = (Node *) n;
}
#line 26853 "gram.c" /* yacc.c:1652 */
break;
case 247:
#line 1732 "gram.y" /* yacc.c:1652 */
{
VariableShowStmt *n = makeNode(VariableShowStmt);
n->name = "session_authorization";
(yyval.node) = (Node *) n;
}
#line 26863 "gram.c" /* yacc.c:1652 */
break;
case 248:
#line 1738 "gram.y" /* yacc.c:1652 */
{
VariableShowStmt *n = makeNode(VariableShowStmt);
n->name = "all";
(yyval.node) = (Node *) n;
}
#line 26873 "gram.c" /* yacc.c:1652 */
break;
case 249:
#line 1748 "gram.y" /* yacc.c:1652 */
{
ConstraintsSetStmt *n = makeNode(ConstraintsSetStmt);
n->constraints = (yyvsp[-1].list);
n->deferred = (yyvsp[0].boolean);
(yyval.node) = (Node *) n;
}
#line 26884 "gram.c" /* yacc.c:1652 */
break;
case 250:
#line 1757 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 26890 "gram.c" /* yacc.c:1652 */
break;
case 251:
#line 1758 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 26896 "gram.c" /* yacc.c:1652 */
break;
case 252:
#line 1762 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = true; }
#line 26902 "gram.c" /* yacc.c:1652 */
break;
case 253:
#line 1763 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 26908 "gram.c" /* yacc.c:1652 */
break;
case 254:
#line 1772 "gram.y" /* yacc.c:1652 */
{
CheckPointStmt *n = makeNode(CheckPointStmt);
(yyval.node) = (Node *)n;
}
#line 26917 "gram.c" /* yacc.c:1652 */
break;
case 255:
#line 1787 "gram.y" /* yacc.c:1652 */
{
DiscardStmt *n = makeNode(DiscardStmt);
n->target = DISCARD_ALL;
(yyval.node) = (Node *) n;
}
#line 26927 "gram.c" /* yacc.c:1652 */
break;
case 256:
#line 1793 "gram.y" /* yacc.c:1652 */
{
DiscardStmt *n = makeNode(DiscardStmt);
n->target = DISCARD_TEMP;
(yyval.node) = (Node *) n;
}
#line 26937 "gram.c" /* yacc.c:1652 */
break;
case 257:
#line 1799 "gram.y" /* yacc.c:1652 */
{
DiscardStmt *n = makeNode(DiscardStmt);
n->target = DISCARD_TEMP;
(yyval.node) = (Node *) n;
}
#line 26947 "gram.c" /* yacc.c:1652 */
break;
case 258:
#line 1805 "gram.y" /* yacc.c:1652 */
{
DiscardStmt *n = makeNode(DiscardStmt);
n->target = DISCARD_PLANS;
(yyval.node) = (Node *) n;
}
#line 26957 "gram.c" /* yacc.c:1652 */
break;
case 259:
#line 1811 "gram.y" /* yacc.c:1652 */
{
DiscardStmt *n = makeNode(DiscardStmt);
n->target = DISCARD_SEQUENCES;
(yyval.node) = (Node *) n;
}
#line 26967 "gram.c" /* yacc.c:1652 */
break;
case 260:
#line 1830 "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 26980 "gram.c" /* yacc.c:1652 */
break;
case 261:
#line 1839 "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 26993 "gram.c" /* yacc.c:1652 */
break;
case 262:
#line 1848 "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 27006 "gram.c" /* yacc.c:1652 */
break;
case 263:
#line 1857 "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 27019 "gram.c" /* yacc.c:1652 */
break;
case 264:
#line 1866 "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 27034 "gram.c" /* yacc.c:1652 */
break;
case 265:
#line 1877 "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 27049 "gram.c" /* yacc.c:1652 */
break;
case 266:
#line 1888 "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 27062 "gram.c" /* yacc.c:1652 */
break;
case 267:
#line 1897 "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 27075 "gram.c" /* yacc.c:1652 */
break;
case 268:
#line 1906 "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 27088 "gram.c" /* yacc.c:1652 */
break;
case 269:
#line 1915 "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 27103 "gram.c" /* yacc.c:1652 */
break;
case 270:
#line 1926 "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 27118 "gram.c" /* yacc.c:1652 */
break;
case 271:
#line 1937 "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 27131 "gram.c" /* yacc.c:1652 */
break;
case 272:
#line 1946 "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 27144 "gram.c" /* yacc.c:1652 */
break;
case 273:
#line 1955 "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 27157 "gram.c" /* yacc.c:1652 */
break;
case 274:
#line 1964 "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 27170 "gram.c" /* yacc.c:1652 */
break;
case 275:
#line 1973 "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 27183 "gram.c" /* yacc.c:1652 */
break;
case 276:
#line 1982 "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 27196 "gram.c" /* yacc.c:1652 */
break;
case 277:
#line 1991 "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 27211 "gram.c" /* yacc.c:1652 */
break;
case 278:
#line 2002 "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 27226 "gram.c" /* yacc.c:1652 */
break;
case 279:
#line 2015 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].node)); }
#line 27232 "gram.c" /* yacc.c:1652 */
break;
case 280:
#line 2016 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
#line 27238 "gram.c" /* yacc.c:1652 */
break;
case 281:
#line 2022 "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 27254 "gram.c" /* yacc.c:1652 */
break;
case 282:
#line 2035 "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 27270 "gram.c" /* yacc.c:1652 */
break;
case 283:
#line 2051 "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 27286 "gram.c" /* yacc.c:1652 */
break;
case 284:
#line 2067 "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 27298 "gram.c" /* yacc.c:1652 */
break;
case 285:
#line 2076 "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 27310 "gram.c" /* yacc.c:1652 */
break;
case 286:
#line 2085 "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 27322 "gram.c" /* yacc.c:1652 */
break;
case 287:
#line 2094 "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 27334 "gram.c" /* yacc.c:1652 */
break;
case 288:
#line 2103 "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 27346 "gram.c" /* yacc.c:1652 */
break;
case 289:
#line 2112 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropNotNull;
n->name = (yyvsp[-3].str);
(yyval.node) = (Node *)n;
}
#line 27357 "gram.c" /* yacc.c:1652 */
break;
case 290:
#line 2120 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetNotNull;
n->name = (yyvsp[-3].str);
(yyval.node) = (Node *)n;
}
#line 27368 "gram.c" /* yacc.c:1652 */
break;
case 291:
#line 2128 "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 27380 "gram.c" /* yacc.c:1652 */
break;
case 292:
#line 2137 "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 27399 "gram.c" /* yacc.c:1652 */
break;
case 293:
#line 2153 "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 27411 "gram.c" /* yacc.c:1652 */
break;
case 294:
#line 2162 "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 27423 "gram.c" /* yacc.c:1652 */
break;
case 295:
#line 2171 "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 27435 "gram.c" /* yacc.c:1652 */
break;
case 296:
#line 2180 "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 27455 "gram.c" /* yacc.c:1652 */
break;
case 297:
#line 2197 "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 27467 "gram.c" /* yacc.c:1652 */
break;
case 298:
#line 2206 "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 27479 "gram.c" /* yacc.c:1652 */
break;
case 299:
#line 2215 "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 27491 "gram.c" /* yacc.c:1652 */
break;
case 300:
#line 2224 "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 27504 "gram.c" /* yacc.c:1652 */
break;
case 301:
#line 2234 "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 27517 "gram.c" /* yacc.c:1652 */
break;
case 302:
#line 2247 "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 27535 "gram.c" /* yacc.c:1652 */
break;
case 303:
#line 2262 "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 27547 "gram.c" /* yacc.c:1652 */
break;
case 304:
#line 2271 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_AddConstraint;
n->def = (yyvsp[0].node);
(yyval.node) = (Node *)n;
}
#line 27558 "gram.c" /* yacc.c:1652 */
break;
case 305:
#line 2279 "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 27576 "gram.c" /* yacc.c:1652 */
break;
case 306:
#line 2294 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_ValidateConstraint;
n->name = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 27587 "gram.c" /* yacc.c:1652 */
break;
case 307:
#line 2302 "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 27600 "gram.c" /* yacc.c:1652 */
break;
case 308:
#line 2312 "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 27613 "gram.c" /* yacc.c:1652 */
break;
case 309:
#line 2322 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropOids;
(yyval.node) = (Node *)n;
}
#line 27623 "gram.c" /* yacc.c:1652 */
break;
case 310:
#line 2329 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_ClusterOn;
n->name = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 27634 "gram.c" /* yacc.c:1652 */
break;
case 311:
#line 2337 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropCluster;
n->name = NULL;
(yyval.node) = (Node *)n;
}
#line 27645 "gram.c" /* yacc.c:1652 */
break;
case 312:
#line 2345 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetLogged;
(yyval.node) = (Node *)n;
}
#line 27655 "gram.c" /* yacc.c:1652 */
break;
case 313:
#line 2352 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetUnLogged;
(yyval.node) = (Node *)n;
}
#line 27665 "gram.c" /* yacc.c:1652 */
break;
case 314:
#line 2359 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableTrig;
n->name = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 27676 "gram.c" /* yacc.c:1652 */
break;
case 315:
#line 2367 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableAlwaysTrig;
n->name = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 27687 "gram.c" /* yacc.c:1652 */
break;
case 316:
#line 2375 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableReplicaTrig;
n->name = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 27698 "gram.c" /* yacc.c:1652 */
break;
case 317:
#line 2383 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableTrigAll;
(yyval.node) = (Node *)n;
}
#line 27708 "gram.c" /* yacc.c:1652 */
break;
case 318:
#line 2390 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableTrigUser;
(yyval.node) = (Node *)n;
}
#line 27718 "gram.c" /* yacc.c:1652 */
break;
case 319:
#line 2397 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DisableTrig;
n->name = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 27729 "gram.c" /* yacc.c:1652 */
break;
case 320:
#line 2405 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DisableTrigAll;
(yyval.node) = (Node *)n;
}
#line 27739 "gram.c" /* yacc.c:1652 */
break;
case 321:
#line 2412 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DisableTrigUser;
(yyval.node) = (Node *)n;
}
#line 27749 "gram.c" /* yacc.c:1652 */
break;
case 322:
#line 2419 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableRule;
n->name = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 27760 "gram.c" /* yacc.c:1652 */
break;
case 323:
#line 2427 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableAlwaysRule;
n->name = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 27771 "gram.c" /* yacc.c:1652 */
break;
case 324:
#line 2435 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableReplicaRule;
n->name = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 27782 "gram.c" /* yacc.c:1652 */
break;
case 325:
#line 2443 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DisableRule;
n->name = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 27793 "gram.c" /* yacc.c:1652 */
break;
case 326:
#line 2451 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_AddInherit;
n->def = (Node *) (yyvsp[0].range);
(yyval.node) = (Node *)n;
}
#line 27804 "gram.c" /* yacc.c:1652 */
break;
case 327:
#line 2459 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropInherit;
n->def = (Node *) (yyvsp[0].range);
(yyval.node) = (Node *)n;
}
#line 27815 "gram.c" /* yacc.c:1652 */
break;
case 328:
#line 2467 "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 27828 "gram.c" /* yacc.c:1652 */
break;
case 329:
#line 2477 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropOf;
(yyval.node) = (Node *)n;
}
#line 27838 "gram.c" /* yacc.c:1652 */
break;
case 330:
#line 2484 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_ChangeOwner;
n->newowner = (yyvsp[0].rolespec);
(yyval.node) = (Node *)n;
}
#line 27849 "gram.c" /* yacc.c:1652 */
break;
case 331:
#line 2492 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetTableSpace;
n->name = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 27860 "gram.c" /* yacc.c:1652 */
break;
case 332:
#line 2500 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetRelOptions;
n->def = (Node *)(yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 27871 "gram.c" /* yacc.c:1652 */
break;
case 333:
#line 2508 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_ResetRelOptions;
n->def = (Node *)(yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 27882 "gram.c" /* yacc.c:1652 */
break;
case 334:
#line 2516 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_ReplicaIdentity;
n->def = (yyvsp[0].node);
(yyval.node) = (Node *)n;
}
#line 27893 "gram.c" /* yacc.c:1652 */
break;
case 335:
#line 2524 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableRowSecurity;
(yyval.node) = (Node *)n;
}
#line 27903 "gram.c" /* yacc.c:1652 */
break;
case 336:
#line 2531 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DisableRowSecurity;
(yyval.node) = (Node *)n;
}
#line 27913 "gram.c" /* yacc.c:1652 */
break;
case 337:
#line 2538 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_ForceRowSecurity;
(yyval.node) = (Node *)n;
}
#line 27923 "gram.c" /* yacc.c:1652 */
break;
case 338:
#line 2545 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_NoForceRowSecurity;
(yyval.node) = (Node *)n;
}
#line 27933 "gram.c" /* yacc.c:1652 */
break;
case 339:
#line 2551 "gram.y" /* yacc.c:1652 */
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_GenericOptions;
n->def = (Node *)(yyvsp[0].list);
(yyval.node) = (Node *) n;
}
#line 27944 "gram.c" /* yacc.c:1652 */
break;
case 340:
#line 2560 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 27950 "gram.c" /* yacc.c:1652 */
break;
case 341:
#line 2561 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = NULL; }
#line 27956 "gram.c" /* yacc.c:1652 */
break;
case 342:
#line 2565 "gram.y" /* yacc.c:1652 */
{ (yyval.dbehavior) = DROP_CASCADE; }
#line 27962 "gram.c" /* yacc.c:1652 */
break;
case 343:
#line 2566 "gram.y" /* yacc.c:1652 */
{ (yyval.dbehavior) = DROP_RESTRICT; }
#line 27968 "gram.c" /* yacc.c:1652 */
break;
case 344:
#line 2567 "gram.y" /* yacc.c:1652 */
{ (yyval.dbehavior) = DROP_RESTRICT; /* default */ }
#line 27974 "gram.c" /* yacc.c:1652 */
break;
case 345:
#line 2572 "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 27986 "gram.c" /* yacc.c:1652 */
break;
case 346:
#line 2579 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = NULL; }
#line 27992 "gram.c" /* yacc.c:1652 */
break;
case 347:
#line 2583 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 27998 "gram.c" /* yacc.c:1652 */
break;
case 348:
#line 2584 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = NULL; }
#line 28004 "gram.c" /* yacc.c:1652 */
break;
case 349:
#line 2589 "gram.y" /* yacc.c:1652 */
{
ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
n->identity_type = REPLICA_IDENTITY_NOTHING;
n->name = NULL;
(yyval.node) = (Node *) n;
}
#line 28015 "gram.c" /* yacc.c:1652 */
break;
case 350:
#line 2596 "gram.y" /* yacc.c:1652 */
{
ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
n->identity_type = REPLICA_IDENTITY_FULL;
n->name = NULL;
(yyval.node) = (Node *) n;
}
#line 28026 "gram.c" /* yacc.c:1652 */
break;
case 351:
#line 2603 "gram.y" /* yacc.c:1652 */
{
ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
n->identity_type = REPLICA_IDENTITY_DEFAULT;
n->name = NULL;
(yyval.node) = (Node *) n;
}
#line 28037 "gram.c" /* yacc.c:1652 */
break;
case 352:
#line 2610 "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 28048 "gram.c" /* yacc.c:1652 */
break;
case 353:
#line 2619 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 28054 "gram.c" /* yacc.c:1652 */
break;
case 354:
#line 2622 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 28060 "gram.c" /* yacc.c:1652 */
break;
case 355:
#line 2623 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 28066 "gram.c" /* yacc.c:1652 */
break;
case 356:
#line 2627 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].defelt)); }
#line 28072 "gram.c" /* yacc.c:1652 */
break;
case 357:
#line 2628 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
#line 28078 "gram.c" /* yacc.c:1652 */
break;
case 358:
#line 2634 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *) (yyvsp[0].node), (yylsp[-2]));
}
#line 28086 "gram.c" /* yacc.c:1652 */
break;
case 359:
#line 2638 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem((yyvsp[0].str), NULL, (yylsp[0]));
}
#line 28094 "gram.c" /* yacc.c:1652 */
break;
case 360:
#line 2642 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElemExtended((yyvsp[-4].str), (yyvsp[-2].str), (Node *) (yyvsp[0].node),
DEFELEM_UNSPEC, (yylsp[-4]));
}
#line 28103 "gram.c" /* yacc.c:1652 */
break;
case 361:
#line 2647 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElemExtended((yyvsp[-2].str), (yyvsp[0].str), NULL, DEFELEM_UNSPEC, (yylsp[-2]));
}
#line 28111 "gram.c" /* yacc.c:1652 */
break;
case 362:
#line 2654 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].defelt)); }
#line 28117 "gram.c" /* yacc.c:1652 */
break;
case 363:
#line 2656 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
#line 28123 "gram.c" /* yacc.c:1652 */
break;
case 364:
#line 2661 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("restart", NULL, (yylsp[0]));
}
#line 28131 "gram.c" /* yacc.c:1652 */
break;
case 365:
#line 2665 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("restart", (Node *)(yyvsp[0].value), (yylsp[-2]));
}
#line 28139 "gram.c" /* yacc.c:1652 */
break;
case 366:
#line 2669 "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 28154 "gram.c" /* yacc.c:1652 */
break;
case 367:
#line 2680 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("generated", (Node *) makeInteger((yyvsp[0].ival)), (yylsp[-2]));
}
#line 28162 "gram.c" /* yacc.c:1652 */
break;
case 368:
#line 2688 "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 28217 "gram.c" /* yacc.c:1652 */
break;
case 369:
#line 2741 "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 28232 "gram.c" /* yacc.c:1652 */
break;
case 370:
#line 2754 "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 28248 "gram.c" /* yacc.c:1652 */
break;
case 371:
#line 2768 "gram.y" /* yacc.c:1652 */
{
PartitionBoundSpec *n = makeNode(PartitionBoundSpec);
n->is_default = true;
n->location = (yylsp[0]);
(yyval.partboundspec) = n;
}
#line 28261 "gram.c" /* yacc.c:1652 */
break;
case 372:
#line 2780 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem((yyvsp[-1].str), (Node *)makeInteger((yyvsp[0].ival)), (yylsp[-1]));
}
#line 28269 "gram.c" /* yacc.c:1652 */
break;
case 373:
#line 2787 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make1((yyvsp[0].defelt));
}
#line 28277 "gram.c" /* yacc.c:1652 */
break;
case 374:
#line 2791 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
}
#line 28285 "gram.c" /* yacc.c:1652 */
break;
case 375:
#line 2805 "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 28299 "gram.c" /* yacc.c:1652 */
break;
case 376:
#line 2817 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].node)); }
#line 28305 "gram.c" /* yacc.c:1652 */
break;
case 377:
#line 2818 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
#line 28311 "gram.c" /* yacc.c:1652 */
break;
case 378:
#line 2824 "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 28323 "gram.c" /* yacc.c:1652 */
break;
case 379:
#line 2833 "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 28336 "gram.c" /* yacc.c:1652 */
break;
case 380:
#line 2843 "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 28349 "gram.c" /* yacc.c:1652 */
break;
case 381:
#line 2853 "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 28368 "gram.c" /* yacc.c:1652 */
break;
case 382:
#line 2879 "gram.y" /* yacc.c:1652 */
{
ClosePortalStmt *n = makeNode(ClosePortalStmt);
n->portalname = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 28378 "gram.c" /* yacc.c:1652 */
break;
case 383:
#line 2885 "gram.y" /* yacc.c:1652 */
{
ClosePortalStmt *n = makeNode(ClosePortalStmt);
n->portalname = NULL;
(yyval.node) = (Node *)n;
}
#line 28388 "gram.c" /* yacc.c:1652 */
break;
case 384:
#line 2920 "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[-6].boolean);
n->is_program = (yyvsp[-5].boolean);
n->filename = (yyvsp[-4].str);
n->whereClause = (yyvsp[0].node);
if (n->is_program && n->filename == NULL)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("STDIN/STDOUT not allowed with PROGRAM"),
parser_errposition((yylsp[-3]))));
if (!n->is_from && n->whereClause != NULL)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("WHERE clause not allowed with COPY TO"),
parser_errposition((yylsp[0]))));
n->options = NIL;
/* Concatenate user-supplied flags */
if ((yyvsp[-9].defelt))
n->options = lappend(n->options, (yyvsp[-9].defelt));
if ((yyvsp[-3].defelt))
n->options = lappend(n->options, (yyvsp[-3].defelt));
if ((yyvsp[-1].list))
n->options = list_concat(n->options, (yyvsp[-1].list));
(yyval.node) = (Node *)n;
}
#line 28425 "gram.c" /* yacc.c:1652 */
break;
case 385:
#line 2953 "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 28448 "gram.c" /* yacc.c:1652 */
break;
case 386:
#line 2974 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = true; }
#line 28454 "gram.c" /* yacc.c:1652 */
break;
case 387:
#line 2975 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 28460 "gram.c" /* yacc.c:1652 */
break;
case 388:
#line 2979 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = true; }
#line 28466 "gram.c" /* yacc.c:1652 */
break;
case 389:
#line 2980 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 28472 "gram.c" /* yacc.c:1652 */
break;
case 390:
#line 2989 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 28478 "gram.c" /* yacc.c:1652 */
break;
case 391:
#line 2990 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = NULL; }
#line 28484 "gram.c" /* yacc.c:1652 */
break;
case 392:
#line 2991 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = NULL; }
#line 28490 "gram.c" /* yacc.c:1652 */
break;
case 393:
#line 2994 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 28496 "gram.c" /* yacc.c:1652 */
break;
case 394:
#line 2995 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 28502 "gram.c" /* yacc.c:1652 */
break;
case 395:
#line 3000 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
#line 28508 "gram.c" /* yacc.c:1652 */
break;
case 396:
#line 3001 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 28514 "gram.c" /* yacc.c:1652 */
break;
case 397:
#line 3006 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("format", (Node *)makeString("binary"), (yylsp[0]));
}
#line 28522 "gram.c" /* yacc.c:1652 */
break;
case 398:
#line 3010 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("freeze", (Node *)makeInteger(true), (yylsp[0]));
}
#line 28530 "gram.c" /* yacc.c:1652 */
break;
case 399:
#line 3014 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("delimiter", (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
}
#line 28538 "gram.c" /* yacc.c:1652 */
break;
case 400:
#line 3018 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("null", (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
}
#line 28546 "gram.c" /* yacc.c:1652 */
break;
case 401:
#line 3022 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("format", (Node *)makeString("csv"), (yylsp[0]));
}
#line 28554 "gram.c" /* yacc.c:1652 */
break;
case 402:
#line 3026 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("header", (Node *)makeInteger(true), (yylsp[0]));
}
#line 28562 "gram.c" /* yacc.c:1652 */
break;
case 403:
#line 3030 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("quote", (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
}
#line 28570 "gram.c" /* yacc.c:1652 */
break;
case 404:
#line 3034 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("escape", (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
}
#line 28578 "gram.c" /* yacc.c:1652 */
break;
case 405:
#line 3038 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("force_quote", (Node *)(yyvsp[0].list), (yylsp[-2]));
}
#line 28586 "gram.c" /* yacc.c:1652 */
break;
case 406:
#line 3042 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("force_quote", (Node *)makeNode(A_Star), (yylsp[-2]));
}
#line 28594 "gram.c" /* yacc.c:1652 */
break;
case 407:
#line 3046 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("force_not_null", (Node *)(yyvsp[0].list), (yylsp[-3]));
}
#line 28602 "gram.c" /* yacc.c:1652 */
break;
case 408:
#line 3050 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("force_null", (Node *)(yyvsp[0].list), (yylsp[-2]));
}
#line 28610 "gram.c" /* yacc.c:1652 */
break;
case 409:
#line 3054 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("encoding", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
}
#line 28618 "gram.c" /* yacc.c:1652 */
break;
case 410:
#line 3063 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("format", (Node *)makeString("binary"), (yylsp[0]));
}
#line 28626 "gram.c" /* yacc.c:1652 */
break;
case 411:
#line 3066 "gram.y" /* yacc.c:1652 */
{ (yyval.defelt) = NULL; }
#line 28632 "gram.c" /* yacc.c:1652 */
break;
case 412:
#line 3071 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("delimiter", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
}
#line 28640 "gram.c" /* yacc.c:1652 */
break;
case 413:
#line 3074 "gram.y" /* yacc.c:1652 */
{ (yyval.defelt) = NULL; }
#line 28646 "gram.c" /* yacc.c:1652 */
break;
case 414:
#line 3078 "gram.y" /* yacc.c:1652 */
{}
#line 28652 "gram.c" /* yacc.c:1652 */
break;
case 415:
#line 3079 "gram.y" /* yacc.c:1652 */
{}
#line 28658 "gram.c" /* yacc.c:1652 */
break;
case 416:
#line 3085 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make1((yyvsp[0].defelt));
}
#line 28666 "gram.c" /* yacc.c:1652 */
break;
case 417:
#line 3089 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
}
#line 28674 "gram.c" /* yacc.c:1652 */
break;
case 418:
#line 3096 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1]));
}
#line 28682 "gram.c" /* yacc.c:1652 */
break;
case 419:
#line 3102 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
#line 28688 "gram.c" /* yacc.c:1652 */
break;
case 420:
#line 3103 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) (yyvsp[0].value); }
#line 28694 "gram.c" /* yacc.c:1652 */
break;
case 421:
#line 3104 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeNode(A_Star); }
#line 28700 "gram.c" /* yacc.c:1652 */
break;
case 422:
#line 3105 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) (yyvsp[-1].list); }
#line 28706 "gram.c" /* yacc.c:1652 */
break;
case 423:
#line 3106 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = NULL; }
#line 28712 "gram.c" /* yacc.c:1652 */
break;
case 424:
#line 3111 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make1((yyvsp[0].node));
}
#line 28720 "gram.c" /* yacc.c:1652 */
break;
case 425:
#line 3115 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
}
#line 28728 "gram.c" /* yacc.c:1652 */
break;
case 426:
#line 3122 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
#line 28734 "gram.c" /* yacc.c:1652 */
break;
case 427:
#line 3136 "gram.y" /* yacc.c:1652 */
{
CreateStmt *n = makeNode(CreateStmt);
(yyvsp[-9].range)->relpersistence = (yyvsp[-11].ival);
n->relation = (yyvsp[-9].range);
n->tableElts = (yyvsp[-7].list);
n->inhRelations = (yyvsp[-5].list);
n->partspec = (yyvsp[-4].partspec);
n->ofTypename = NULL;
n->constraints = NIL;
n->accessMethod = (yyvsp[-3].str);
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 28755 "gram.c" /* yacc.c:1652 */
break;
case 428:
#line 3155 "gram.y" /* yacc.c:1652 */
{
CreateStmt *n = makeNode(CreateStmt);
(yyvsp[-9].range)->relpersistence = (yyvsp[-14].ival);
n->relation = (yyvsp[-9].range);
n->tableElts = (yyvsp[-7].list);
n->inhRelations = (yyvsp[-5].list);
n->partspec = (yyvsp[-4].partspec);
n->ofTypename = NULL;
n->constraints = NIL;
n->accessMethod = (yyvsp[-3].str);
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 28776 "gram.c" /* yacc.c:1652 */
break;
case 429:
#line 3174 "gram.y" /* yacc.c:1652 */
{
CreateStmt *n = makeNode(CreateStmt);
(yyvsp[-8].range)->relpersistence = (yyvsp[-10].ival);
n->relation = (yyvsp[-8].range);
n->tableElts = (yyvsp[-5].list);
n->inhRelations = NIL;
n->partspec = (yyvsp[-4].partspec);
n->ofTypename = makeTypeNameFromNameList((yyvsp[-6].list));
n->ofTypename->location = (yylsp[-6]);
n->constraints = NIL;
n->accessMethod = (yyvsp[-3].str);
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 28798 "gram.c" /* yacc.c:1652 */
break;
case 430:
#line 3194 "gram.y" /* yacc.c:1652 */
{
CreateStmt *n = makeNode(CreateStmt);
(yyvsp[-8].range)->relpersistence = (yyvsp[-13].ival);
n->relation = (yyvsp[-8].range);
n->tableElts = (yyvsp[-5].list);
n->inhRelations = NIL;
n->partspec = (yyvsp[-4].partspec);
n->ofTypename = makeTypeNameFromNameList((yyvsp[-6].list));
n->ofTypename->location = (yylsp[-6]);
n->constraints = NIL;
n->accessMethod = (yyvsp[-3].str);
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 28820 "gram.c" /* yacc.c:1652 */
break;
case 431:
#line 3214 "gram.y" /* yacc.c:1652 */
{
CreateStmt *n = makeNode(CreateStmt);
(yyvsp[-10].range)->relpersistence = (yyvsp[-12].ival);
n->relation = (yyvsp[-10].range);
n->tableElts = (yyvsp[-6].list);
n->inhRelations = list_make1((yyvsp[-7].range));
n->partbound = (yyvsp[-5].partboundspec);
n->partspec = (yyvsp[-4].partspec);
n->ofTypename = NULL;
n->constraints = NIL;
n->accessMethod = (yyvsp[-3].str);
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 28842 "gram.c" /* yacc.c:1652 */
break;
case 432:
#line 3234 "gram.y" /* yacc.c:1652 */
{
CreateStmt *n = makeNode(CreateStmt);
(yyvsp[-10].range)->relpersistence = (yyvsp[-15].ival);
n->relation = (yyvsp[-10].range);
n->tableElts = (yyvsp[-6].list);
n->inhRelations = list_make1((yyvsp[-7].range));
n->partbound = (yyvsp[-5].partboundspec);
n->partspec = (yyvsp[-4].partspec);
n->ofTypename = NULL;
n->constraints = NIL;
n->accessMethod = (yyvsp[-3].str);
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 28864 "gram.c" /* yacc.c:1652 */
break;
case 433:
#line 3264 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = RELPERSISTENCE_TEMP; }
#line 28870 "gram.c" /* yacc.c:1652 */
break;
case 434:
#line 3265 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = RELPERSISTENCE_TEMP; }
#line 28876 "gram.c" /* yacc.c:1652 */
break;
case 435:
#line 3266 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = RELPERSISTENCE_TEMP; }
#line 28882 "gram.c" /* yacc.c:1652 */
break;
case 436:
#line 3267 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = RELPERSISTENCE_TEMP; }
#line 28888 "gram.c" /* yacc.c:1652 */
break;
case 437:
#line 3269 "gram.y" /* yacc.c:1652 */
{
ereport(WARNING,
(errmsg("GLOBAL is deprecated in temporary table creation"),
parser_errposition((yylsp[-1]))));
(yyval.ival) = RELPERSISTENCE_TEMP;
}
#line 28899 "gram.c" /* yacc.c:1652 */
break;
case 438:
#line 3276 "gram.y" /* yacc.c:1652 */
{
ereport(WARNING,
(errmsg("GLOBAL is deprecated in temporary table creation"),
parser_errposition((yylsp[-1]))));
(yyval.ival) = RELPERSISTENCE_TEMP;
}
#line 28910 "gram.c" /* yacc.c:1652 */
break;
case 439:
#line 3282 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = RELPERSISTENCE_UNLOGGED; }
#line 28916 "gram.c" /* yacc.c:1652 */
break;
case 440:
#line 3283 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = RELPERSISTENCE_PERMANENT; }
#line 28922 "gram.c" /* yacc.c:1652 */
break;
case 441:
#line 3287 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 28928 "gram.c" /* yacc.c:1652 */
break;
case 442:
#line 3288 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 28934 "gram.c" /* yacc.c:1652 */
break;
case 443:
#line 3292 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 28940 "gram.c" /* yacc.c:1652 */
break;
case 444:
#line 3293 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 28946 "gram.c" /* yacc.c:1652 */
break;
case 445:
#line 3298 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make1((yyvsp[0].node));
}
#line 28954 "gram.c" /* yacc.c:1652 */
break;
case 446:
#line 3302 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
}
#line 28962 "gram.c" /* yacc.c:1652 */
break;
case 447:
#line 3309 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make1((yyvsp[0].node));
}
#line 28970 "gram.c" /* yacc.c:1652 */
break;
case 448:
#line 3313 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
}
#line 28978 "gram.c" /* yacc.c:1652 */
break;
case 449:
#line 3319 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 28984 "gram.c" /* yacc.c:1652 */
break;
case 450:
#line 3320 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 28990 "gram.c" /* yacc.c:1652 */
break;
case 451:
#line 3321 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 28996 "gram.c" /* yacc.c:1652 */
break;
case 452:
#line 3325 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 29002 "gram.c" /* yacc.c:1652 */
break;
case 453:
#line 3326 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 29008 "gram.c" /* yacc.c:1652 */
break;
case 454:
#line 3330 "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 29031 "gram.c" /* yacc.c:1652 */
break;
case 455:
#line 3351 "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 29053 "gram.c" /* yacc.c:1652 */
break;
case 456:
#line 3369 "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 29075 "gram.c" /* yacc.c:1652 */
break;
case 457:
#line 3389 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
#line 29081 "gram.c" /* yacc.c:1652 */
break;
case 458:
#line 3390 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 29087 "gram.c" /* yacc.c:1652 */
break;
case 459:
#line 3395 "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 29098 "gram.c" /* yacc.c:1652 */
break;
case 460:
#line 3401 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 29104 "gram.c" /* yacc.c:1652 */
break;
case 461:
#line 3402 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 29110 "gram.c" /* yacc.c:1652 */
break;
case 462:
#line 3404 "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 29127 "gram.c" /* yacc.c:1652 */
break;
case 463:
#line 3435 "gram.y" /* yacc.c:1652 */
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_NOTNULL;
n->location = (yylsp[-1]);
(yyval.node) = (Node *)n;
}
#line 29138 "gram.c" /* yacc.c:1652 */
break;
case 464:
#line 3442 "gram.y" /* yacc.c:1652 */
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_NULL;
n->location = (yylsp[0]);
(yyval.node) = (Node *)n;
}
#line 29149 "gram.c" /* yacc.c:1652 */
break;
case 465:
#line 3449 "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 29164 "gram.c" /* yacc.c:1652 */
break;
case 466:
#line 3460 "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 29179 "gram.c" /* yacc.c:1652 */
break;
case 467:
#line 3471 "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 29195 "gram.c" /* yacc.c:1652 */
break;
case 468:
#line 3483 "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 29208 "gram.c" /* yacc.c:1652 */
break;
case 469:
#line 3492 "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 29221 "gram.c" /* yacc.c:1652 */
break;
case 470:
#line 3501 "gram.y" /* yacc.c:1652 */
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_GENERATED;
n->generated_when = (yyvsp[-5].ival);
n->raw_expr = (yyvsp[-2].node);
n->cooked_expr = NULL;
n->location = (yylsp[-6]);
/*
* Can't do this in the grammar because of shift/reduce
* conflicts. (IDENTITY allows both ALWAYS and BY
* DEFAULT, but generated columns only allow ALWAYS.) We
* can also give a more useful error message and location.
*/
if ((yyvsp[-5].ival) != ATTRIBUTE_IDENTITY_ALWAYS)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("for a generated column, GENERATED ALWAYS must be specified"),
parser_errposition((yylsp[-5]))));
(yyval.node) = (Node *)n;
}
#line 29248 "gram.c" /* yacc.c:1652 */
break;
case 471:
#line 3524 "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 29267 "gram.c" /* yacc.c:1652 */
break;
case 472:
#line 3541 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = ATTRIBUTE_IDENTITY_ALWAYS; }
#line 29273 "gram.c" /* yacc.c:1652 */
break;
case 473:
#line 3542 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = ATTRIBUTE_IDENTITY_BY_DEFAULT; }
#line 29279 "gram.c" /* yacc.c:1652 */
break;
case 474:
#line 3562 "gram.y" /* yacc.c:1652 */
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_ATTR_DEFERRABLE;
n->location = (yylsp[0]);
(yyval.node) = (Node *)n;
}
#line 29290 "gram.c" /* yacc.c:1652 */
break;
case 475:
#line 3569 "gram.y" /* yacc.c:1652 */
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_ATTR_NOT_DEFERRABLE;
n->location = (yylsp[-1]);
(yyval.node) = (Node *)n;
}
#line 29301 "gram.c" /* yacc.c:1652 */
break;
case 476:
#line 3576 "gram.y" /* yacc.c:1652 */
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_ATTR_DEFERRED;
n->location = (yylsp[-1]);
(yyval.node) = (Node *)n;
}
#line 29312 "gram.c" /* yacc.c:1652 */
break;
case 477:
#line 3583 "gram.y" /* yacc.c:1652 */
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_ATTR_IMMEDIATE;
n->location = (yylsp[-1]);
(yyval.node) = (Node *)n;
}
#line 29323 "gram.c" /* yacc.c:1652 */
break;
case 478:
#line 3594 "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 29335 "gram.c" /* yacc.c:1652 */
break;
case 479:
#line 3604 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = (yyvsp[-2].ival) | (yyvsp[0].ival); }
#line 29341 "gram.c" /* yacc.c:1652 */
break;
case 480:
#line 3605 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = (yyvsp[-2].ival) & ~(yyvsp[0].ival); }
#line 29347 "gram.c" /* yacc.c:1652 */
break;
case 481:
#line 3606 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = 0; }
#line 29353 "gram.c" /* yacc.c:1652 */
break;
case 482:
#line 3610 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = CREATE_TABLE_LIKE_COMMENTS; }
#line 29359 "gram.c" /* yacc.c:1652 */
break;
case 483:
#line 3611 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = CREATE_TABLE_LIKE_CONSTRAINTS; }
#line 29365 "gram.c" /* yacc.c:1652 */
break;
case 484:
#line 3612 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = CREATE_TABLE_LIKE_DEFAULTS; }
#line 29371 "gram.c" /* yacc.c:1652 */
break;
case 485:
#line 3613 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = CREATE_TABLE_LIKE_IDENTITY; }
#line 29377 "gram.c" /* yacc.c:1652 */
break;
case 486:
#line 3614 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = CREATE_TABLE_LIKE_GENERATED; }
#line 29383 "gram.c" /* yacc.c:1652 */
break;
case 487:
#line 3615 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = CREATE_TABLE_LIKE_INDEXES; }
#line 29389 "gram.c" /* yacc.c:1652 */
break;
case 488:
#line 3616 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = CREATE_TABLE_LIKE_STATISTICS; }
#line 29395 "gram.c" /* yacc.c:1652 */
break;
case 489:
#line 3617 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = CREATE_TABLE_LIKE_STORAGE; }
#line 29401 "gram.c" /* yacc.c:1652 */
break;
case 490:
#line 3618 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = CREATE_TABLE_LIKE_ALL; }
#line 29407 "gram.c" /* yacc.c:1652 */
break;
case 491:
#line 3628 "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 29418 "gram.c" /* yacc.c:1652 */
break;
case 492:
#line 3634 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 29424 "gram.c" /* yacc.c:1652 */
break;
case 493:
#line 3639 "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 29441 "gram.c" /* yacc.c:1652 */
break;
case 494:
#line 3653 "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 29460 "gram.c" /* yacc.c:1652 */
break;
case 495:
#line 3668 "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 29479 "gram.c" /* yacc.c:1652 */
break;
case 496:
#line 3684 "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 29498 "gram.c" /* yacc.c:1652 */
break;
case 497:
#line 3699 "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 29517 "gram.c" /* yacc.c:1652 */
break;
case 498:
#line 3716 "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 29538 "gram.c" /* yacc.c:1652 */
break;
case 499:
#line 3734 "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 29560 "gram.c" /* yacc.c:1652 */
break;
case 500:
#line 3753 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = true; }
#line 29566 "gram.c" /* yacc.c:1652 */
break;
case 501:
#line 3754 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 29572 "gram.c" /* yacc.c:1652 */
break;
case 502:
#line 3758 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 29578 "gram.c" /* yacc.c:1652 */
break;
case 503:
#line 3759 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 29584 "gram.c" /* yacc.c:1652 */
break;
case 504:
#line 3763 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].node)); }
#line 29590 "gram.c" /* yacc.c:1652 */
break;
case 505:
#line 3764 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
#line 29596 "gram.c" /* yacc.c:1652 */
break;
case 506:
#line 3768 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (Node *) makeString((yyvsp[0].str));
}
#line 29604 "gram.c" /* yacc.c:1652 */
break;
case 507:
#line 3773 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 29610 "gram.c" /* yacc.c:1652 */
break;
case 508:
#line 3774 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 29616 "gram.c" /* yacc.c:1652 */
break;
case 509:
#line 3778 "gram.y" /* yacc.c:1652 */
{
(yyval.ival) = FKCONSTR_MATCH_FULL;
}
#line 29624 "gram.c" /* yacc.c:1652 */
break;
case 510:
#line 3782 "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 29636 "gram.c" /* yacc.c:1652 */
break;
case 511:
#line 3790 "gram.y" /* yacc.c:1652 */
{
(yyval.ival) = FKCONSTR_MATCH_SIMPLE;
}
#line 29644 "gram.c" /* yacc.c:1652 */
break;
case 512:
#line 3794 "gram.y" /* yacc.c:1652 */
{
(yyval.ival) = FKCONSTR_MATCH_SIMPLE;
}
#line 29652 "gram.c" /* yacc.c:1652 */
break;
case 513:
#line 3800 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].list)); }
#line 29658 "gram.c" /* yacc.c:1652 */
break;
case 514:
#line 3802 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].list)); }
#line 29664 "gram.c" /* yacc.c:1652 */
break;
case 515:
#line 3806 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make2((yyvsp[-2].ielem), (yyvsp[0].list));
}
#line 29672 "gram.c" /* yacc.c:1652 */
break;
case 516:
#line 3811 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make2((yyvsp[-5].ielem), (yyvsp[-1].list));
}
#line 29680 "gram.c" /* yacc.c:1652 */
break;
case 517:
#line 3817 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[-1].node); }
#line 29686 "gram.c" /* yacc.c:1652 */
break;
case 518:
#line 3818 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = NULL; }
#line 29692 "gram.c" /* yacc.c:1652 */
break;
case 519:
#line 3829 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = ((yyvsp[0].ival) << 8) | (FKCONSTR_ACTION_NOACTION & 0xFF); }
#line 29698 "gram.c" /* yacc.c:1652 */
break;
case 520:
#line 3831 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = (FKCONSTR_ACTION_NOACTION << 8) | ((yyvsp[0].ival) & 0xFF); }
#line 29704 "gram.c" /* yacc.c:1652 */
break;
case 521:
#line 3833 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = ((yyvsp[-1].ival) << 8) | ((yyvsp[0].ival) & 0xFF); }
#line 29710 "gram.c" /* yacc.c:1652 */
break;
case 522:
#line 3835 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = ((yyvsp[0].ival) << 8) | ((yyvsp[-1].ival) & 0xFF); }
#line 29716 "gram.c" /* yacc.c:1652 */
break;
case 523:
#line 3837 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = (FKCONSTR_ACTION_NOACTION << 8) | (FKCONSTR_ACTION_NOACTION & 0xFF); }
#line 29722 "gram.c" /* yacc.c:1652 */
break;
case 524:
#line 3840 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = (yyvsp[0].ival); }
#line 29728 "gram.c" /* yacc.c:1652 */
break;
case 525:
#line 3843 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = (yyvsp[0].ival); }
#line 29734 "gram.c" /* yacc.c:1652 */
break;
case 526:
#line 3847 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = FKCONSTR_ACTION_NOACTION; }
#line 29740 "gram.c" /* yacc.c:1652 */
break;
case 527:
#line 3848 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = FKCONSTR_ACTION_RESTRICT; }
#line 29746 "gram.c" /* yacc.c:1652 */
break;
case 528:
#line 3849 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = FKCONSTR_ACTION_CASCADE; }
#line 29752 "gram.c" /* yacc.c:1652 */
break;
case 529:
#line 3850 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = FKCONSTR_ACTION_SETNULL; }
#line 29758 "gram.c" /* yacc.c:1652 */
break;
case 530:
#line 3851 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = FKCONSTR_ACTION_SETDEFAULT; }
#line 29764 "gram.c" /* yacc.c:1652 */
break;
case 531:
#line 3854 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 29770 "gram.c" /* yacc.c:1652 */
break;
case 532:
#line 3855 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 29776 "gram.c" /* yacc.c:1652 */
break;
case 533:
#line 3859 "gram.y" /* yacc.c:1652 */
{ (yyval.partspec) = (yyvsp[0].partspec); }
#line 29782 "gram.c" /* yacc.c:1652 */
break;
case 534:
#line 3860 "gram.y" /* yacc.c:1652 */
{ (yyval.partspec) = NULL; }
#line 29788 "gram.c" /* yacc.c:1652 */
break;
case 535:
#line 3864 "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 29802 "gram.c" /* yacc.c:1652 */
break;
case 536:
#line 3875 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 29808 "gram.c" /* yacc.c:1652 */
break;
case 537:
#line 3876 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = pstrdup((yyvsp[0].keyword)); }
#line 29814 "gram.c" /* yacc.c:1652 */
break;
case 538:
#line 3879 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].partelem)); }
#line 29820 "gram.c" /* yacc.c:1652 */
break;
case 539:
#line 3880 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].partelem)); }
#line 29826 "gram.c" /* yacc.c:1652 */
break;
case 540:
#line 3884 "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 29841 "gram.c" /* yacc.c:1652 */
break;
case 541:
#line 3895 "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 29856 "gram.c" /* yacc.c:1652 */
break;
case 542:
#line 3906 "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 29871 "gram.c" /* yacc.c:1652 */
break;
case 543:
#line 3919 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 29877 "gram.c" /* yacc.c:1652 */
break;
case 544:
#line 3920 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = NULL; }
#line 29883 "gram.c" /* yacc.c:1652 */
break;
case 545:
#line 3925 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 29889 "gram.c" /* yacc.c:1652 */
break;
case 546:
#line 3926 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 29895 "gram.c" /* yacc.c:1652 */
break;
case 547:
#line 3927 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 29901 "gram.c" /* yacc.c:1652 */
break;
case 548:
#line 3930 "gram.y" /* yacc.c:1652 */
{ (yyval.oncommit) = ONCOMMIT_DROP; }
#line 29907 "gram.c" /* yacc.c:1652 */
break;
case 549:
#line 3931 "gram.y" /* yacc.c:1652 */
{ (yyval.oncommit) = ONCOMMIT_DELETE_ROWS; }
#line 29913 "gram.c" /* yacc.c:1652 */
break;
case 550:
#line 3932 "gram.y" /* yacc.c:1652 */
{ (yyval.oncommit) = ONCOMMIT_PRESERVE_ROWS; }
#line 29919 "gram.c" /* yacc.c:1652 */
break;
case 551:
#line 3933 "gram.y" /* yacc.c:1652 */
{ (yyval.oncommit) = ONCOMMIT_NOOP; }
#line 29925 "gram.c" /* yacc.c:1652 */
break;
case 552:
#line 3936 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 29931 "gram.c" /* yacc.c:1652 */
break;
case 553:
#line 3937 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = NULL; }
#line 29937 "gram.c" /* yacc.c:1652 */
break;
case 554:
#line 3940 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 29943 "gram.c" /* yacc.c:1652 */
break;
case 555:
#line 3941 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = NULL; }
#line 29949 "gram.c" /* yacc.c:1652 */
break;
case 556:
#line 3944 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 29955 "gram.c" /* yacc.c:1652 */
break;
case 557:
#line 3964 "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 29970 "gram.c" /* yacc.c:1652 */
break;
case 558:
#line 3976 "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 29985 "gram.c" /* yacc.c:1652 */
break;
case 559:
#line 4000 "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 30002 "gram.c" /* yacc.c:1652 */
break;
case 560:
#line 4013 "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 30019 "gram.c" /* yacc.c:1652 */
break;
case 561:
#line 4030 "gram.y" /* yacc.c:1652 */
{
(yyval.into) = makeNode(IntoClause);
(yyval.into)->rel = (yyvsp[-5].range);
(yyval.into)->colNames = (yyvsp[-4].list);
(yyval.into)->accessMethod = (yyvsp[-3].str);
(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 30035 "gram.c" /* yacc.c:1652 */
break;
case 562:
#line 4044 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = true; }
#line 30041 "gram.c" /* yacc.c:1652 */
break;
case 563:
#line 4045 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 30047 "gram.c" /* yacc.c:1652 */
break;
case 564:
#line 4046 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = true; }
#line 30053 "gram.c" /* yacc.c:1652 */
break;
case 565:
#line 4059 "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 30070 "gram.c" /* yacc.c:1652 */
break;
case 566:
#line 4072 "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 30087 "gram.c" /* yacc.c:1652 */
break;
case 567:
#line 4088 "gram.y" /* yacc.c:1652 */
{
(yyval.into) = makeNode(IntoClause);
(yyval.into)->rel = (yyvsp[-4].range);
(yyval.into)->colNames = (yyvsp[-3].list);
(yyval.into)->accessMethod = (yyvsp[-2].str);
(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 30103 "gram.c" /* yacc.c:1652 */
break;
case 568:
#line 4101 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = RELPERSISTENCE_UNLOGGED; }
#line 30109 "gram.c" /* yacc.c:1652 */
break;
case 569:
#line 4102 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = RELPERSISTENCE_PERMANENT; }
#line 30115 "gram.c" /* yacc.c:1652 */
break;
case 570:
#line 4115 "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 30127 "gram.c" /* yacc.c:1652 */
break;
case 571:
#line 4135 "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 30141 "gram.c" /* yacc.c:1652 */
break;
case 572:
#line 4145 "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 30155 "gram.c" /* yacc.c:1652 */
break;
case 573:
#line 4158 "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 30167 "gram.c" /* yacc.c:1652 */
break;
case 574:
#line 4166 "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 30179 "gram.c" /* yacc.c:1652 */
break;
case 575:
#line 4176 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 30185 "gram.c" /* yacc.c:1652 */
break;
case 576:
#line 4177 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 30191 "gram.c" /* yacc.c:1652 */
break;
case 577:
#line 4180 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 30197 "gram.c" /* yacc.c:1652 */
break;
case 578:
#line 4181 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 30203 "gram.c" /* yacc.c:1652 */
break;
case 579:
#line 4184 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].defelt)); }
#line 30209 "gram.c" /* yacc.c:1652 */
break;
case 580:
#line 4185 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
#line 30215 "gram.c" /* yacc.c:1652 */
break;
case 581:
#line 4189 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("as", (Node *)(yyvsp[0].typnam), (yylsp[-1]));
}
#line 30223 "gram.c" /* yacc.c:1652 */
break;
case 582:
#line 4193 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("cache", (Node *)(yyvsp[0].value), (yylsp[-1]));
}
#line 30231 "gram.c" /* yacc.c:1652 */
break;
case 583:
#line 4197 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("cycle", (Node *)makeInteger(true), (yylsp[0]));
}
#line 30239 "gram.c" /* yacc.c:1652 */
break;
case 584:
#line 4201 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("cycle", (Node *)makeInteger(false), (yylsp[-1]));
}
#line 30247 "gram.c" /* yacc.c:1652 */
break;
case 585:
#line 4205 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("increment", (Node *)(yyvsp[0].value), (yylsp[-2]));
}
#line 30255 "gram.c" /* yacc.c:1652 */
break;
case 586:
#line 4209 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("maxvalue", (Node *)(yyvsp[0].value), (yylsp[-1]));
}
#line 30263 "gram.c" /* yacc.c:1652 */
break;
case 587:
#line 4213 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("minvalue", (Node *)(yyvsp[0].value), (yylsp[-1]));
}
#line 30271 "gram.c" /* yacc.c:1652 */
break;
case 588:
#line 4217 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("maxvalue", NULL, (yylsp[-1]));
}
#line 30279 "gram.c" /* yacc.c:1652 */
break;
case 589:
#line 4221 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("minvalue", NULL, (yylsp[-1]));
}
#line 30287 "gram.c" /* yacc.c:1652 */
break;
case 590:
#line 4225 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("owned_by", (Node *)(yyvsp[0].list), (yylsp[-2]));
}
#line 30295 "gram.c" /* yacc.c:1652 */
break;
case 591:
#line 4229 "gram.y" /* yacc.c:1652 */
{
/* not documented, only used by pg_dump */
(yyval.defelt) = makeDefElem("sequence_name", (Node *)(yyvsp[0].list), (yylsp[-2]));
}
#line 30304 "gram.c" /* yacc.c:1652 */
break;
case 592:
#line 4234 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("start", (Node *)(yyvsp[0].value), (yylsp[-2]));
}
#line 30312 "gram.c" /* yacc.c:1652 */
break;
case 593:
#line 4238 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("restart", NULL, (yylsp[0]));
}
#line 30320 "gram.c" /* yacc.c:1652 */
break;
case 594:
#line 4242 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("restart", (Node *)(yyvsp[0].value), (yylsp[-2]));
}
#line 30328 "gram.c" /* yacc.c:1652 */
break;
case 595:
#line 4247 "gram.y" /* yacc.c:1652 */
{}
#line 30334 "gram.c" /* yacc.c:1652 */
break;
case 596:
#line 4248 "gram.y" /* yacc.c:1652 */
{}
#line 30340 "gram.c" /* yacc.c:1652 */
break;
case 597:
#line 4252 "gram.y" /* yacc.c:1652 */
{ (yyval.value) = makeFloat((yyvsp[0].str)); }
#line 30346 "gram.c" /* yacc.c:1652 */
break;
case 598:
#line 4253 "gram.y" /* yacc.c:1652 */
{ (yyval.value) = makeFloat((yyvsp[0].str)); }
#line 30352 "gram.c" /* yacc.c:1652 */
break;
case 599:
#line 4255 "gram.y" /* yacc.c:1652 */
{
(yyval.value) = makeFloat((yyvsp[0].str));
doNegateFloat((yyval.value));
}
#line 30361 "gram.c" /* yacc.c:1652 */
break;
case 600:
#line 4259 "gram.y" /* yacc.c:1652 */
{ (yyval.value) = makeInteger((yyvsp[0].ival)); }
#line 30367 "gram.c" /* yacc.c:1652 */
break;
case 601:
#line 4262 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].value)); }
#line 30373 "gram.c" /* yacc.c:1652 */
break;
case 602:
#line 4263 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].value)); }
#line 30379 "gram.c" /* yacc.c:1652 */
break;
case 603:
#line 4276 "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 30395 "gram.c" /* yacc.c:1652 */
break;
case 604:
#line 4289 "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 30410 "gram.c" /* yacc.c:1652 */
break;
case 605:
#line 4302 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = true; }
#line 30416 "gram.c" /* yacc.c:1652 */
break;
case 606:
#line 4303 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 30422 "gram.c" /* yacc.c:1652 */
break;
case 607:
#line 4311 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
#line 30428 "gram.c" /* yacc.c:1652 */
break;
case 608:
#line 4312 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)); }
#line 30434 "gram.c" /* yacc.c:1652 */
break;
case 609:
#line 4316 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 30440 "gram.c" /* yacc.c:1652 */
break;
case 610:
#line 4317 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 30446 "gram.c" /* yacc.c:1652 */
break;
case 611:
#line 4321 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 30452 "gram.c" /* yacc.c:1652 */
break;
case 612:
#line 4322 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 30458 "gram.c" /* yacc.c:1652 */
break;
case 613:
#line 4326 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 30464 "gram.c" /* yacc.c:1652 */
break;
case 614:
#line 4327 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 30470 "gram.c" /* yacc.c:1652 */
break;
case 615:
#line 4332 "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 30484 "gram.c" /* yacc.c:1652 */
break;
case 616:
#line 4342 "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 30498 "gram.c" /* yacc.c:1652 */
break;
case 617:
#line 4354 "gram.y" /* yacc.c:1652 */
{}
#line 30504 "gram.c" /* yacc.c:1652 */
break;
case 618:
#line 4355 "gram.y" /* yacc.c:1652 */
{}
#line 30510 "gram.c" /* yacc.c:1652 */
break;
case 619:
#line 4366 "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 30523 "gram.c" /* yacc.c:1652 */
break;
case 620:
#line 4376 "gram.y" /* yacc.c:1652 */
{ (yyval.rolespec) = (yyvsp[0].rolespec); }
#line 30529 "gram.c" /* yacc.c:1652 */
break;
case 621:
#line 4377 "gram.y" /* yacc.c:1652 */
{ (yyval.rolespec) = NULL; }
#line 30535 "gram.c" /* yacc.c:1652 */
break;
case 622:
#line 4391 "gram.y" /* yacc.c:1652 */
{
DropTableSpaceStmt *n = makeNode(DropTableSpaceStmt);
n->tablespacename = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *) n;
}
#line 30546 "gram.c" /* yacc.c:1652 */
break;
case 623:
#line 4398 "gram.y" /* yacc.c:1652 */
{
DropTableSpaceStmt *n = makeNode(DropTableSpaceStmt);
n->tablespacename = (yyvsp[0].str);
n->missing_ok = true;
(yyval.node) = (Node *) n;
}
#line 30557 "gram.c" /* yacc.c:1652 */
break;
case 624:
#line 4415 "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 30569 "gram.c" /* yacc.c:1652 */
break;
case 625:
#line 4423 "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 30581 "gram.c" /* yacc.c:1652 */
break;
case 626:
#line 4434 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
#line 30587 "gram.c" /* yacc.c:1652 */
break;
case 627:
#line 4436 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 30593 "gram.c" /* yacc.c:1652 */
break;
case 628:
#line 4441 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("schema", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
}
#line 30601 "gram.c" /* yacc.c:1652 */
break;
case 629:
#line 4445 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("new_version", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
}
#line 30609 "gram.c" /* yacc.c:1652 */
break;
case 630:
#line 4449 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("old_version", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
}
#line 30617 "gram.c" /* yacc.c:1652 */
break;
case 631:
#line 4453 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("cascade", (Node *)makeInteger(true), (yylsp[0]));
}
#line 30625 "gram.c" /* yacc.c:1652 */
break;
case 632:
#line 4465 "gram.y" /* yacc.c:1652 */
{
AlterExtensionStmt *n = makeNode(AlterExtensionStmt);
n->extname = (yyvsp[-2].str);
n->options = (yyvsp[0].list);
(yyval.node) = (Node *) n;
}
#line 30636 "gram.c" /* yacc.c:1652 */
break;
case 633:
#line 4475 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
#line 30642 "gram.c" /* yacc.c:1652 */
break;
case 634:
#line 4477 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 30648 "gram.c" /* yacc.c:1652 */
break;
case 635:
#line 4482 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("new_version", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
}
#line 30656 "gram.c" /* yacc.c:1652 */
break;
case 636:
#line 4495 "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 30669 "gram.c" /* yacc.c:1652 */
break;
case 637:
#line 4504 "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 30682 "gram.c" /* yacc.c:1652 */
break;
case 638:
#line 4513 "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 30695 "gram.c" /* yacc.c:1652 */
break;
case 639:
#line 4522 "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 30708 "gram.c" /* yacc.c:1652 */
break;
case 640:
#line 4531 "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 30721 "gram.c" /* yacc.c:1652 */
break;
case 641:
#line 4540 "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 30734 "gram.c" /* yacc.c:1652 */
break;
case 642:
#line 4549 "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 30747 "gram.c" /* yacc.c:1652 */
break;
case 643:
#line 4558 "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 30760 "gram.c" /* yacc.c:1652 */
break;
case 644:
#line 4567 "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 30773 "gram.c" /* yacc.c:1652 */
break;
case 645:
#line 4576 "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 30786 "gram.c" /* yacc.c:1652 */
break;
case 646:
#line 4585 "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 30799 "gram.c" /* yacc.c:1652 */
break;
case 647:
#line 4594 "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 30812 "gram.c" /* yacc.c:1652 */
break;
case 648:
#line 4603 "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 30825 "gram.c" /* yacc.c:1652 */
break;
case 649:
#line 4612 "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 30838 "gram.c" /* yacc.c:1652 */
break;
case 650:
#line 4621 "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 30851 "gram.c" /* yacc.c:1652 */
break;
case 651:
#line 4630 "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 30864 "gram.c" /* yacc.c:1652 */
break;
case 652:
#line 4639 "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 30877 "gram.c" /* yacc.c:1652 */
break;
case 653:
#line 4648 "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 30890 "gram.c" /* yacc.c:1652 */
break;
case 654:
#line 4657 "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 30903 "gram.c" /* yacc.c:1652 */
break;
case 655:
#line 4666 "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 30916 "gram.c" /* yacc.c:1652 */
break;
case 656:
#line 4675 "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 30929 "gram.c" /* yacc.c:1652 */
break;
case 657:
#line 4684 "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 30942 "gram.c" /* yacc.c:1652 */
break;
case 658:
#line 4693 "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 30955 "gram.c" /* yacc.c:1652 */
break;
case 659:
#line 4702 "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 30968 "gram.c" /* yacc.c:1652 */
break;
case 660:
#line 4711 "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 30981 "gram.c" /* yacc.c:1652 */
break;
case 661:
#line 4720 "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 30994 "gram.c" /* yacc.c:1652 */
break;
case 662:
#line 4729 "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 31007 "gram.c" /* yacc.c:1652 */
break;
case 663:
#line 4738 "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 31020 "gram.c" /* yacc.c:1652 */
break;
case 664:
#line 4756 "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 31032 "gram.c" /* yacc.c:1652 */
break;
case 665:
#line 4766 "gram.y" /* yacc.c:1652 */
{ (yyval.defelt) = makeDefElem("handler", (Node *)(yyvsp[0].list), (yylsp[-1])); }
#line 31038 "gram.c" /* yacc.c:1652 */
break;
case 666:
#line 4767 "gram.y" /* yacc.c:1652 */
{ (yyval.defelt) = makeDefElem("handler", NULL, (yylsp[-1])); }
#line 31044 "gram.c" /* yacc.c:1652 */
break;
case 667:
#line 4768 "gram.y" /* yacc.c:1652 */
{ (yyval.defelt) = makeDefElem("validator", (Node *)(yyvsp[0].list), (yylsp[-1])); }
#line 31050 "gram.c" /* yacc.c:1652 */
break;
case 668:
#line 4769 "gram.y" /* yacc.c:1652 */
{ (yyval.defelt) = makeDefElem("validator", NULL, (yylsp[-1])); }
#line 31056 "gram.c" /* yacc.c:1652 */
break;
case 669:
#line 4773 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].defelt)); }
#line 31062 "gram.c" /* yacc.c:1652 */
break;
case 670:
#line 4774 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
#line 31068 "gram.c" /* yacc.c:1652 */
break;
case 671:
#line 4778 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 31074 "gram.c" /* yacc.c:1652 */
break;
case 672:
#line 4779 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 31080 "gram.c" /* yacc.c:1652 */
break;
case 673:
#line 4790 "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 31092 "gram.c" /* yacc.c:1652 */
break;
case 674:
#line 4798 "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 31104 "gram.c" /* yacc.c:1652 */
break;
case 675:
#line 4809 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 31110 "gram.c" /* yacc.c:1652 */
break;
case 676:
#line 4810 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 31116 "gram.c" /* yacc.c:1652 */
break;
case 677:
#line 4815 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make1((yyvsp[0].defelt));
}
#line 31124 "gram.c" /* yacc.c:1652 */
break;
case 678:
#line 4819 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
}
#line 31132 "gram.c" /* yacc.c:1652 */
break;
case 679:
#line 4826 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 31138 "gram.c" /* yacc.c:1652 */
break;
case 680:
#line 4831 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make1((yyvsp[0].defelt));
}
#line 31146 "gram.c" /* yacc.c:1652 */
break;
case 681:
#line 4835 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
}
#line 31154 "gram.c" /* yacc.c:1652 */
break;
case 682:
#line 4842 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = (yyvsp[0].defelt);
}
#line 31162 "gram.c" /* yacc.c:1652 */
break;
case 683:
#line 4846 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = (yyvsp[0].defelt);
(yyval.defelt)->defaction = DEFELEM_SET;
}
#line 31171 "gram.c" /* yacc.c:1652 */
break;
case 684:
#line 4851 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = (yyvsp[0].defelt);
(yyval.defelt)->defaction = DEFELEM_ADD;
}
#line 31180 "gram.c" /* yacc.c:1652 */
break;
case 685:
#line 4856 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElemExtended(NULL, (yyvsp[0].str), NULL, DEFELEM_DROP, (yylsp[0]));
}
#line 31188 "gram.c" /* yacc.c:1652 */
break;
case 686:
#line 4863 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1]));
}
#line 31196 "gram.c" /* yacc.c:1652 */
break;
case 687:
#line 4869 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 31202 "gram.c" /* yacc.c:1652 */
break;
case 688:
#line 4874 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
#line 31208 "gram.c" /* yacc.c:1652 */
break;
case 689:
#line 4886 "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 31223 "gram.c" /* yacc.c:1652 */
break;
case 690:
#line 4898 "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 31238 "gram.c" /* yacc.c:1652 */
break;
case 691:
#line 4911 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 31244 "gram.c" /* yacc.c:1652 */
break;
case 692:
#line 4912 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = NULL; }
#line 31250 "gram.c" /* yacc.c:1652 */
break;
case 693:
#line 4917 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 31256 "gram.c" /* yacc.c:1652 */
break;
case 694:
#line 4918 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = NULL; }
#line 31262 "gram.c" /* yacc.c:1652 */
break;
case 695:
#line 4922 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 31268 "gram.c" /* yacc.c:1652 */
break;
case 696:
#line 4923 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = NULL; }
#line 31274 "gram.c" /* yacc.c:1652 */
break;
case 697:
#line 4934 "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 31287 "gram.c" /* yacc.c:1652 */
break;
case 698:
#line 4943 "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 31299 "gram.c" /* yacc.c:1652 */
break;
case 699:
#line 4951 "gram.y" /* yacc.c:1652 */
{
AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
n->servername = (yyvsp[-1].str);
n->options = (yyvsp[0].list);
(yyval.node) = (Node *) n;
}
#line 31310 "gram.c" /* yacc.c:1652 */
break;
case 700:
#line 4970 "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 31332 "gram.c" /* yacc.c:1652 */
break;
case 701:
#line 4990 "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 31354 "gram.c" /* yacc.c:1652 */
break;
case 702:
#line 5010 "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 31377 "gram.c" /* yacc.c:1652 */
break;
case 703:
#line 5031 "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 31400 "gram.c" /* yacc.c:1652 */
break;
case 704:
#line 5060 "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 31413 "gram.c" /* yacc.c:1652 */
break;
case 705:
#line 5069 "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 31426 "gram.c" /* yacc.c:1652 */
break;
case 706:
#line 5091 "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 31441 "gram.c" /* yacc.c:1652 */
break;
case 707:
#line 5104 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = FDW_IMPORT_SCHEMA_LIMIT_TO; }
#line 31447 "gram.c" /* yacc.c:1652 */
break;
case 708:
#line 5105 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = FDW_IMPORT_SCHEMA_EXCEPT; }
#line 31453 "gram.c" /* yacc.c:1652 */
break;
case 709:
#line 5110 "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 31464 "gram.c" /* yacc.c:1652 */
break;
case 710:
#line 5117 "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 31475 "gram.c" /* yacc.c:1652 */
break;
case 711:
#line 5133 "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 31488 "gram.c" /* yacc.c:1652 */
break;
case 712:
#line 5142 "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 31501 "gram.c" /* yacc.c:1652 */
break;
case 713:
#line 5153 "gram.y" /* yacc.c:1652 */
{ (yyval.rolespec) = (yyvsp[0].rolespec); }
#line 31507 "gram.c" /* yacc.c:1652 */
break;
case 714:
#line 5154 "gram.y" /* yacc.c:1652 */
{ (yyval.rolespec) = makeRoleSpec(ROLESPEC_CURRENT_USER, (yylsp[0])); }
#line 31513 "gram.c" /* yacc.c:1652 */
break;
case 715:
#line 5167 "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 31525 "gram.c" /* yacc.c:1652 */
break;
case 716:
#line 5175 "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 31537 "gram.c" /* yacc.c:1652 */
break;
case 717:
#line 5192 "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 31549 "gram.c" /* yacc.c:1652 */
break;
case 718:
#line 5218 "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 31565 "gram.c" /* yacc.c:1652 */
break;
case 719:
#line 5234 "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 31579 "gram.c" /* yacc.c:1652 */
break;
case 720:
#line 5246 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[-1].node); }
#line 31585 "gram.c" /* yacc.c:1652 */
break;
case 721:
#line 5247 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = NULL; }
#line 31591 "gram.c" /* yacc.c:1652 */
break;
case 722:
#line 5251 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[-1].node); }
#line 31597 "gram.c" /* yacc.c:1652 */
break;
case 723:
#line 5252 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = NULL; }
#line 31603 "gram.c" /* yacc.c:1652 */
break;
case 724:
#line 5256 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 31609 "gram.c" /* yacc.c:1652 */
break;
case 725:
#line 5257 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1(makeRoleSpec(ROLESPEC_PUBLIC, -1)); }
#line 31615 "gram.c" /* yacc.c:1652 */
break;
case 726:
#line 5261 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 31621 "gram.c" /* yacc.c:1652 */
break;
case 727:
#line 5262 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NULL; }
#line 31627 "gram.c" /* yacc.c:1652 */
break;
case 728:
#line 5267 "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 31645 "gram.c" /* yacc.c:1652 */
break;
case 729:
#line 5280 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = true; }
#line 31651 "gram.c" /* yacc.c:1652 */
break;
case 730:
#line 5284 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 31657 "gram.c" /* yacc.c:1652 */
break;
case 731:
#line 5285 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = "all"; }
#line 31663 "gram.c" /* yacc.c:1652 */
break;
case 732:
#line 5289 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = "all"; }
#line 31669 "gram.c" /* yacc.c:1652 */
break;
case 733:
#line 5290 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = "select"; }
#line 31675 "gram.c" /* yacc.c:1652 */
break;
case 734:
#line 5291 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = "insert"; }
#line 31681 "gram.c" /* yacc.c:1652 */
break;
case 735:
#line 5292 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = "update"; }
#line 31687 "gram.c" /* yacc.c:1652 */
break;
case 736:
#line 5293 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = "delete"; }
#line 31693 "gram.c" /* yacc.c:1652 */
break;
case 737:
#line 5304 "gram.y" /* yacc.c:1652 */
{
CreateAmStmt *n = makeNode(CreateAmStmt);
n->amname = (yyvsp[-4].str);
n->handler_name = (yyvsp[0].list);
n->amtype = (yyvsp[-2].chr);
(yyval.node) = (Node *) n;
}
#line 31705 "gram.c" /* yacc.c:1652 */
break;
case 738:
#line 5314 "gram.y" /* yacc.c:1652 */
{ (yyval.chr) = AMTYPE_INDEX; }
#line 31711 "gram.c" /* yacc.c:1652 */
break;
case 739:
#line 5315 "gram.y" /* yacc.c:1652 */
{ (yyval.chr) = AMTYPE_TABLE; }
#line 31717 "gram.c" /* yacc.c:1652 */
break;
case 740:
#line 5329 "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 31740 "gram.c" /* yacc.c:1652 */
break;
case 741:
#line 5351 "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 31764 "gram.c" /* yacc.c:1652 */
break;
case 742:
#line 5373 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = TRIGGER_TYPE_BEFORE; }
#line 31770 "gram.c" /* yacc.c:1652 */
break;
case 743:
#line 5374 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = TRIGGER_TYPE_AFTER; }
#line 31776 "gram.c" /* yacc.c:1652 */
break;
case 744:
#line 5375 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = TRIGGER_TYPE_INSTEAD; }
#line 31782 "gram.c" /* yacc.c:1652 */
break;
case 745:
#line 5380 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 31788 "gram.c" /* yacc.c:1652 */
break;
case 746:
#line 5382 "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 31811 "gram.c" /* yacc.c:1652 */
break;
case 747:
#line 5404 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_INSERT), NIL); }
#line 31817 "gram.c" /* yacc.c:1652 */
break;
case 748:
#line 5406 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_DELETE), NIL); }
#line 31823 "gram.c" /* yacc.c:1652 */
break;
case 749:
#line 5408 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_UPDATE), NIL); }
#line 31829 "gram.c" /* yacc.c:1652 */
break;
case 750:
#line 5410 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_UPDATE), (yyvsp[0].list)); }
#line 31835 "gram.c" /* yacc.c:1652 */
break;
case 751:
#line 5412 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_TRUNCATE), NIL); }
#line 31841 "gram.c" /* yacc.c:1652 */
break;
case 752:
#line 5416 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 31847 "gram.c" /* yacc.c:1652 */
break;
case 753:
#line 5417 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 31853 "gram.c" /* yacc.c:1652 */
break;
case 754:
#line 5421 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].node)); }
#line 31859 "gram.c" /* yacc.c:1652 */
break;
case 755:
#line 5422 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
#line 31865 "gram.c" /* yacc.c:1652 */
break;
case 756:
#line 5427 "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 31877 "gram.c" /* yacc.c:1652 */
break;
case 757:
#line 5437 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = true; }
#line 31883 "gram.c" /* yacc.c:1652 */
break;
case 758:
#line 5438 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 31889 "gram.c" /* yacc.c:1652 */
break;
case 759:
#line 5442 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = true; }
#line 31895 "gram.c" /* yacc.c:1652 */
break;
case 760:
#line 5451 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 31901 "gram.c" /* yacc.c:1652 */
break;
case 761:
#line 5455 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 31907 "gram.c" /* yacc.c:1652 */
break;
case 762:
#line 5460 "gram.y" /* yacc.c:1652 */
{
(yyval.boolean) = (yyvsp[0].boolean);
}
#line 31915 "gram.c" /* yacc.c:1652 */
break;
case 763:
#line 5464 "gram.y" /* yacc.c:1652 */
{
/*
* If ROW/STATEMENT not specified, default to
* STATEMENT, per SQL
*/
(yyval.boolean) = false;
}
#line 31927 "gram.c" /* yacc.c:1652 */
break;
case 764:
#line 5474 "gram.y" /* yacc.c:1652 */
{}
#line 31933 "gram.c" /* yacc.c:1652 */
break;
case 765:
#line 5475 "gram.y" /* yacc.c:1652 */
{}
#line 31939 "gram.c" /* yacc.c:1652 */
break;
case 766:
#line 5479 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = true; }
#line 31945 "gram.c" /* yacc.c:1652 */
break;
case 767:
#line 5480 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 31951 "gram.c" /* yacc.c:1652 */
break;
case 768:
#line 5484 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[-1].node); }
#line 31957 "gram.c" /* yacc.c:1652 */
break;
case 769:
#line 5485 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = NULL; }
#line 31963 "gram.c" /* yacc.c:1652 */
break;
case 772:
#line 5494 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].value)); }
#line 31969 "gram.c" /* yacc.c:1652 */
break;
case 773:
#line 5495 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].value)); }
#line 31975 "gram.c" /* yacc.c:1652 */
break;
case 774:
#line 5496 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 31981 "gram.c" /* yacc.c:1652 */
break;
case 775:
#line 5501 "gram.y" /* yacc.c:1652 */
{
(yyval.value) = makeString(psprintf("%d", (yyvsp[0].ival)));
}
#line 31989 "gram.c" /* yacc.c:1652 */
break;
case 776:
#line 5504 "gram.y" /* yacc.c:1652 */
{ (yyval.value) = makeString((yyvsp[0].str)); }
#line 31995 "gram.c" /* yacc.c:1652 */
break;
case 777:
#line 5505 "gram.y" /* yacc.c:1652 */
{ (yyval.value) = makeString((yyvsp[0].str)); }
#line 32001 "gram.c" /* yacc.c:1652 */
break;
case 778:
#line 5506 "gram.y" /* yacc.c:1652 */
{ (yyval.value) = makeString((yyvsp[0].str)); }
#line 32007 "gram.c" /* yacc.c:1652 */
break;
case 779:
#line 5510 "gram.y" /* yacc.c:1652 */
{ (yyval.range) = (yyvsp[0].range); }
#line 32013 "gram.c" /* yacc.c:1652 */
break;
case 780:
#line 5511 "gram.y" /* yacc.c:1652 */
{ (yyval.range) = NULL; }
#line 32019 "gram.c" /* yacc.c:1652 */
break;
case 781:
#line 5516 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = 0; }
#line 32025 "gram.c" /* yacc.c:1652 */
break;
case 782:
#line 5518 "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 32053 "gram.c" /* yacc.c:1652 */
break;
case 783:
#line 5544 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = CAS_NOT_DEFERRABLE; }
#line 32059 "gram.c" /* yacc.c:1652 */
break;
case 784:
#line 5545 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = CAS_DEFERRABLE; }
#line 32065 "gram.c" /* yacc.c:1652 */
break;
case 785:
#line 5546 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = CAS_INITIALLY_IMMEDIATE; }
#line 32071 "gram.c" /* yacc.c:1652 */
break;
case 786:
#line 5547 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = CAS_INITIALLY_DEFERRED; }
#line 32077 "gram.c" /* yacc.c:1652 */
break;
case 787:
#line 5548 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = CAS_NOT_VALID; }
#line 32083 "gram.c" /* yacc.c:1652 */
break;
case 788:
#line 5549 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = CAS_NO_INHERIT; }
#line 32089 "gram.c" /* yacc.c:1652 */
break;
case 789:
#line 5564 "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 32102 "gram.c" /* yacc.c:1652 */
break;
case 790:
#line 5575 "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 32115 "gram.c" /* yacc.c:1652 */
break;
case 791:
#line 5587 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].defelt)); }
#line 32121 "gram.c" /* yacc.c:1652 */
break;
case 792:
#line 5589 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
#line 32127 "gram.c" /* yacc.c:1652 */
break;
case 793:
#line 5594 "gram.y" /* yacc.c:1652 */
{ (yyval.defelt) = makeDefElem((yyvsp[-4].str), (Node *) (yyvsp[-1].list), (yylsp[-4])); }
#line 32133 "gram.c" /* yacc.c:1652 */
break;
case 794:
#line 5599 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
#line 32139 "gram.c" /* yacc.c:1652 */
break;
case 795:
#line 5601 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
#line 32145 "gram.c" /* yacc.c:1652 */
break;
case 796:
#line 5606 "gram.y" /* yacc.c:1652 */
{
AlterEventTrigStmt *n = makeNode(AlterEventTrigStmt);
n->trigname = (yyvsp[-1].str);
n->tgenabled = (yyvsp[0].chr);
(yyval.node) = (Node *) n;
}
#line 32156 "gram.c" /* yacc.c:1652 */
break;
case 797:
#line 5615 "gram.y" /* yacc.c:1652 */
{ (yyval.chr) = TRIGGER_FIRES_ON_ORIGIN; }
#line 32162 "gram.c" /* yacc.c:1652 */
break;
case 798:
#line 5616 "gram.y" /* yacc.c:1652 */
{ (yyval.chr) = TRIGGER_FIRES_ON_REPLICA; }
#line 32168 "gram.c" /* yacc.c:1652 */
break;
case 799:
#line 5617 "gram.y" /* yacc.c:1652 */
{ (yyval.chr) = TRIGGER_FIRES_ALWAYS; }
#line 32174 "gram.c" /* yacc.c:1652 */
break;
case 800:
#line 5618 "gram.y" /* yacc.c:1652 */
{ (yyval.chr) = TRIGGER_DISABLED; }
#line 32180 "gram.c" /* yacc.c:1652 */
break;
case 801:
#line 5630 "gram.y" /* yacc.c:1652 */
{
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("CREATE ASSERTION is not yet implemented")));
(yyval.node) = NULL;
}
#line 32192 "gram.c" /* yacc.c:1652 */
break;
case 802:
#line 5649 "gram.y" /* yacc.c:1652 */
{
DefineStmt *n = makeNode(DefineStmt);
n->kind = OBJECT_AGGREGATE;
n->oldstyle = false;
n->replace = (yyvsp[-4].boolean);
n->defnames = (yyvsp[-2].list);
n->args = (yyvsp[-1].list);
n->definition = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 32207 "gram.c" /* yacc.c:1652 */
break;
case 803:
#line 5660 "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->replace = (yyvsp[-3].boolean);
n->defnames = (yyvsp[-1].list);
n->args = NIL;
n->definition = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 32223 "gram.c" /* yacc.c:1652 */
break;
case 804:
#line 5672 "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 32237 "gram.c" /* yacc.c:1652 */
break;
case 805:
#line 5682 "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 32251 "gram.c" /* yacc.c:1652 */
break;
case 806:
#line 5692 "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 32266 "gram.c" /* yacc.c:1652 */
break;
case 807:
#line 5703 "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 32279 "gram.c" /* yacc.c:1652 */
break;
case 808:
#line 5712 "gram.y" /* yacc.c:1652 */
{
CreateEnumStmt *n = makeNode(CreateEnumStmt);
n->typeName = (yyvsp[-5].list);
n->vals = (yyvsp[-1].list);
(yyval.node) = (Node *)n;
}
#line 32290 "gram.c" /* yacc.c:1652 */
break;
case 809:
#line 5719 "gram.y" /* yacc.c:1652 */
{
CreateRangeStmt *n = makeNode(CreateRangeStmt);
n->typeName = (yyvsp[-3].list);
n->params = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 32301 "gram.c" /* yacc.c:1652 */
break;
case 810:
#line 5726 "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 32314 "gram.c" /* yacc.c:1652 */
break;
case 811:
#line 5735 "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 32327 "gram.c" /* yacc.c:1652 */
break;
case 812:
#line 5744 "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 32340 "gram.c" /* yacc.c:1652 */
break;
case 813:
#line 5753 "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 32353 "gram.c" /* yacc.c:1652 */
break;
case 814:
#line 5762 "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 32366 "gram.c" /* yacc.c:1652 */
break;
case 815:
#line 5771 "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 32380 "gram.c" /* yacc.c:1652 */
break;
case 816:
#line 5781 "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 32393 "gram.c" /* yacc.c:1652 */
break;
case 817:
#line 5790 "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 32407 "gram.c" /* yacc.c:1652 */
break;
case 818:
#line 5801 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 32413 "gram.c" /* yacc.c:1652 */
break;
case 819:
#line 5804 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].defelt)); }
#line 32419 "gram.c" /* yacc.c:1652 */
break;
case 820:
#line 5805 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
#line 32425 "gram.c" /* yacc.c:1652 */
break;
case 821:
#line 5809 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *) (yyvsp[0].node), (yylsp[-2]));
}
#line 32433 "gram.c" /* yacc.c:1652 */
break;
case 822:
#line 5813 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem((yyvsp[0].str), NULL, (yylsp[0]));
}
#line 32441 "gram.c" /* yacc.c:1652 */
break;
case 823:
#line 5819 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *)(yyvsp[0].typnam); }
#line 32447 "gram.c" /* yacc.c:1652 */
break;
case 824:
#line 5820 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *)makeString(pstrdup((yyvsp[0].keyword))); }
#line 32453 "gram.c" /* yacc.c:1652 */
break;
case 825:
#line 5821 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *)(yyvsp[0].list); }
#line 32459 "gram.c" /* yacc.c:1652 */
break;
case 826:
#line 5822 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *)(yyvsp[0].value); }
#line 32465 "gram.c" /* yacc.c:1652 */
break;
case 827:
#line 5823 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *)makeString((yyvsp[0].str)); }
#line 32471 "gram.c" /* yacc.c:1652 */
break;
case 828:
#line 5824 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *)makeString(pstrdup((yyvsp[0].keyword))); }
#line 32477 "gram.c" /* yacc.c:1652 */
break;
case 829:
#line 5827 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 32483 "gram.c" /* yacc.c:1652 */
break;
case 830:
#line 5830 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].defelt)); }
#line 32489 "gram.c" /* yacc.c:1652 */
break;
case 831:
#line 5831 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
#line 32495 "gram.c" /* yacc.c:1652 */
break;
case 832:
#line 5840 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *)(yyvsp[0].node), (yylsp[-2]));
}
#line 32503 "gram.c" /* yacc.c:1652 */
break;
case 833:
#line 5846 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 32509 "gram.c" /* yacc.c:1652 */
break;
case 834:
#line 5847 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 32515 "gram.c" /* yacc.c:1652 */
break;
case 835:
#line 5851 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
#line 32521 "gram.c" /* yacc.c:1652 */
break;
case 836:
#line 5853 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
#line 32527 "gram.c" /* yacc.c:1652 */
break;
case 837:
#line 5864 "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 32542 "gram.c" /* yacc.c:1652 */
break;
case 838:
#line 5875 "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 32557 "gram.c" /* yacc.c:1652 */
break;
case 839:
#line 5886 "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 32572 "gram.c" /* yacc.c:1652 */
break;
case 840:
#line 5897 "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 32587 "gram.c" /* yacc.c:1652 */
break;
case 841:
#line 5909 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = true; }
#line 32593 "gram.c" /* yacc.c:1652 */
break;
case 842:
#line 5910 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 32599 "gram.c" /* yacc.c:1652 */
break;
case 843:
#line 5928 "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 32614 "gram.c" /* yacc.c:1652 */
break;
case 844:
#line 5941 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].node)); }
#line 32620 "gram.c" /* yacc.c:1652 */
break;
case 845:
#line 5942 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
#line 32626 "gram.c" /* yacc.c:1652 */
break;
case 846:
#line 5947 "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 32642 "gram.c" /* yacc.c:1652 */
break;
case 847:
#line 5960 "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 32655 "gram.c" /* yacc.c:1652 */
break;
case 848:
#line 5969 "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 32667 "gram.c" /* yacc.c:1652 */
break;
case 849:
#line 5977 "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 32680 "gram.c" /* yacc.c:1652 */
break;
case 850:
#line 5986 "gram.y" /* yacc.c:1652 */
{
CreateOpClassItem *n = makeNode(CreateOpClassItem);
n->itemtype = OPCLASS_ITEM_STORAGETYPE;
n->storedtype = (yyvsp[0].typnam);
(yyval.node) = (Node *) n;
}
#line 32691 "gram.c" /* yacc.c:1652 */
break;
case 851:
#line 5994 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = true; }
#line 32697 "gram.c" /* yacc.c:1652 */
break;
case 852:
#line 5995 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 32703 "gram.c" /* yacc.c:1652 */
break;
case 853:
#line 5998 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 32709 "gram.c" /* yacc.c:1652 */
break;
case 854:
#line 5999 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 32715 "gram.c" /* yacc.c:1652 */
break;
case 855:
#line 6002 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 32721 "gram.c" /* yacc.c:1652 */
break;
case 856:
#line 6003 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 32727 "gram.c" /* yacc.c:1652 */
break;
case 857:
#line 6004 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 32733 "gram.c" /* yacc.c:1652 */
break;
case 858:
#line 6008 "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 32751 "gram.c" /* yacc.c:1652 */
break;
case 859:
#line 6021 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 32757 "gram.c" /* yacc.c:1652 */
break;
case 860:
#line 6027 "gram.y" /* yacc.c:1652 */
{
CreateOpFamilyStmt *n = makeNode(CreateOpFamilyStmt);
n->opfamilyname = (yyvsp[-2].list);
n->amname = (yyvsp[0].str);
(yyval.node) = (Node *) n;
}
#line 32768 "gram.c" /* yacc.c:1652 */
break;
case 861:
#line 6037 "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 32781 "gram.c" /* yacc.c:1652 */
break;
case 862:
#line 6046 "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 32794 "gram.c" /* yacc.c:1652 */
break;
case 863:
#line 6057 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].node)); }
#line 32800 "gram.c" /* yacc.c:1652 */
break;
case 864:
#line 6058 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
#line 32806 "gram.c" /* yacc.c:1652 */
break;
case 865:
#line 6063 "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 32818 "gram.c" /* yacc.c:1652 */
break;
case 866:
#line 6071 "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 32830 "gram.c" /* yacc.c:1652 */
break;
case 867:
#line 6083 "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 32844 "gram.c" /* yacc.c:1652 */
break;
case 868:
#line 6093 "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 32858 "gram.c" /* yacc.c:1652 */
break;
case 869:
#line 6106 "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 32872 "gram.c" /* yacc.c:1652 */
break;
case 870:
#line 6116 "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 32886 "gram.c" /* yacc.c:1652 */
break;
case 871:
#line 6138 "gram.y" /* yacc.c:1652 */
{
DropOwnedStmt *n = makeNode(DropOwnedStmt);
n->roles = (yyvsp[-1].list);
n->behavior = (yyvsp[0].dbehavior);
(yyval.node) = (Node *)n;
}
#line 32897 "gram.c" /* yacc.c:1652 */
break;
case 872:
#line 6148 "gram.y" /* yacc.c:1652 */
{
ReassignOwnedStmt *n = makeNode(ReassignOwnedStmt);
n->roles = (yyvsp[-2].list);
n->newrole = (yyvsp[0].rolespec);
(yyval.node) = (Node *)n;
}
#line 32908 "gram.c" /* yacc.c:1652 */
break;
case 873:
#line 6166 "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 32922 "gram.c" /* yacc.c:1652 */
break;
case 874:
#line 6176 "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 32936 "gram.c" /* yacc.c:1652 */
break;
case 875:
#line 6186 "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 32950 "gram.c" /* yacc.c:1652 */
break;
case 876:
#line 6196 "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 32964 "gram.c" /* yacc.c:1652 */
break;
case 877:
#line 6206 "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 32978 "gram.c" /* yacc.c:1652 */
break;
case 878:
#line 6216 "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 32992 "gram.c" /* yacc.c:1652 */
break;
case 879:
#line 6226 "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 33006 "gram.c" /* yacc.c:1652 */
break;
case 880:
#line 6236 "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 33020 "gram.c" /* yacc.c:1652 */
break;
case 881:
#line 6246 "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 33034 "gram.c" /* yacc.c:1652 */
break;
case 882:
#line 6256 "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 33048 "gram.c" /* yacc.c:1652 */
break;
case 883:
#line 6266 "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 33062 "gram.c" /* yacc.c:1652 */
break;
case 884:
#line 6276 "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 33076 "gram.c" /* yacc.c:1652 */
break;
case 885:
#line 6289 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_TABLE; }
#line 33082 "gram.c" /* yacc.c:1652 */
break;
case 886:
#line 6290 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_SEQUENCE; }
#line 33088 "gram.c" /* yacc.c:1652 */
break;
case 887:
#line 6291 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_VIEW; }
#line 33094 "gram.c" /* yacc.c:1652 */
break;
case 888:
#line 6292 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_MATVIEW; }
#line 33100 "gram.c" /* yacc.c:1652 */
break;
case 889:
#line 6293 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_INDEX; }
#line 33106 "gram.c" /* yacc.c:1652 */
break;
case 890:
#line 6294 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_FOREIGN_TABLE; }
#line 33112 "gram.c" /* yacc.c:1652 */
break;
case 891:
#line 6295 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_COLLATION; }
#line 33118 "gram.c" /* yacc.c:1652 */
break;
case 892:
#line 6296 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_CONVERSION; }
#line 33124 "gram.c" /* yacc.c:1652 */
break;
case 893:
#line 6297 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_STATISTIC_EXT; }
#line 33130 "gram.c" /* yacc.c:1652 */
break;
case 894:
#line 6298 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_TSPARSER; }
#line 33136 "gram.c" /* yacc.c:1652 */
break;
case 895:
#line 6299 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_TSDICTIONARY; }
#line 33142 "gram.c" /* yacc.c:1652 */
break;
case 896:
#line 6300 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_TSTEMPLATE; }
#line 33148 "gram.c" /* yacc.c:1652 */
break;
case 897:
#line 6301 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_TSCONFIGURATION; }
#line 33154 "gram.c" /* yacc.c:1652 */
break;
case 898:
#line 6306 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_ACCESS_METHOD; }
#line 33160 "gram.c" /* yacc.c:1652 */
break;
case 899:
#line 6307 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_EVENT_TRIGGER; }
#line 33166 "gram.c" /* yacc.c:1652 */
break;
case 900:
#line 6308 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_EXTENSION; }
#line 33172 "gram.c" /* yacc.c:1652 */
break;
case 901:
#line 6309 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_FDW; }
#line 33178 "gram.c" /* yacc.c:1652 */
break;
case 902:
#line 6310 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_PUBLICATION; }
#line 33184 "gram.c" /* yacc.c:1652 */
break;
case 903:
#line 6311 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_SCHEMA; }
#line 33190 "gram.c" /* yacc.c:1652 */
break;
case 904:
#line 6312 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_FOREIGN_SERVER; }
#line 33196 "gram.c" /* yacc.c:1652 */
break;
case 905:
#line 6317 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_POLICY; }
#line 33202 "gram.c" /* yacc.c:1652 */
break;
case 906:
#line 6318 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_RULE; }
#line 33208 "gram.c" /* yacc.c:1652 */
break;
case 907:
#line 6319 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_TRIGGER; }
#line 33214 "gram.c" /* yacc.c:1652 */
break;
case 908:
#line 6323 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].list)); }
#line 33220 "gram.c" /* yacc.c:1652 */
break;
case 909:
#line 6324 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].list)); }
#line 33226 "gram.c" /* yacc.c:1652 */
break;
case 910:
#line 6327 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
#line 33232 "gram.c" /* yacc.c:1652 */
break;
case 911:
#line 6328 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)); }
#line 33238 "gram.c" /* yacc.c:1652 */
break;
case 912:
#line 6332 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
#line 33244 "gram.c" /* yacc.c:1652 */
break;
case 913:
#line 6334 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
#line 33250 "gram.c" /* yacc.c:1652 */
break;
case 914:
#line 6338 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].typnam)); }
#line 33256 "gram.c" /* yacc.c:1652 */
break;
case 915:
#line 6339 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].typnam)); }
#line 33262 "gram.c" /* yacc.c:1652 */
break;
case 916:
#line 6351 "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 33274 "gram.c" /* yacc.c:1652 */
break;
case 917:
#line 6361 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 33280 "gram.c" /* yacc.c:1652 */
break;
case 918:
#line 6362 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = true; }
#line 33286 "gram.c" /* yacc.c:1652 */
break;
case 919:
#line 6363 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 33292 "gram.c" /* yacc.c:1652 */
break;
case 920:
#line 6398 "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 33304 "gram.c" /* yacc.c:1652 */
break;
case 921:
#line 6406 "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 33316 "gram.c" /* yacc.c:1652 */
break;
case 922:
#line 6414 "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 33328 "gram.c" /* yacc.c:1652 */
break;
case 923:
#line 6422 "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 33340 "gram.c" /* yacc.c:1652 */
break;
case 924:
#line 6430 "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 33352 "gram.c" /* yacc.c:1652 */
break;
case 925:
#line 6438 "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 33364 "gram.c" /* yacc.c:1652 */
break;
case 926:
#line 6446 "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 33376 "gram.c" /* yacc.c:1652 */
break;
case 927:
#line 6454 "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 33388 "gram.c" /* yacc.c:1652 */
break;
case 928:
#line 6462 "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 33405 "gram.c" /* yacc.c:1652 */
break;
case 929:
#line 6475 "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 33417 "gram.c" /* yacc.c:1652 */
break;
case 930:
#line 6483 "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 33429 "gram.c" /* yacc.c:1652 */
break;
case 931:
#line 6491 "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 33441 "gram.c" /* yacc.c:1652 */
break;
case 932:
#line 6499 "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 33453 "gram.c" /* yacc.c:1652 */
break;
case 933:
#line 6507 "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 33465 "gram.c" /* yacc.c:1652 */
break;
case 934:
#line 6515 "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 33477 "gram.c" /* yacc.c:1652 */
break;
case 935:
#line 6523 "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 33489 "gram.c" /* yacc.c:1652 */
break;
case 936:
#line 6531 "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 33501 "gram.c" /* yacc.c:1652 */
break;
case 937:
#line 6539 "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 33513 "gram.c" /* yacc.c:1652 */
break;
case 938:
#line 6547 "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 33525 "gram.c" /* yacc.c:1652 */
break;
case 939:
#line 6558 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_COLUMN; }
#line 33531 "gram.c" /* yacc.c:1652 */
break;
case 940:
#line 6559 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_INDEX; }
#line 33537 "gram.c" /* yacc.c:1652 */
break;
case 941:
#line 6560 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_SEQUENCE; }
#line 33543 "gram.c" /* yacc.c:1652 */
break;
case 942:
#line 6561 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_STATISTIC_EXT; }
#line 33549 "gram.c" /* yacc.c:1652 */
break;
case 943:
#line 6562 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_TABLE; }
#line 33555 "gram.c" /* yacc.c:1652 */
break;
case 944:
#line 6563 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_VIEW; }
#line 33561 "gram.c" /* yacc.c:1652 */
break;
case 945:
#line 6564 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_MATVIEW; }
#line 33567 "gram.c" /* yacc.c:1652 */
break;
case 946:
#line 6565 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_COLLATION; }
#line 33573 "gram.c" /* yacc.c:1652 */
break;
case 947:
#line 6566 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_CONVERSION; }
#line 33579 "gram.c" /* yacc.c:1652 */
break;
case 948:
#line 6567 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_FOREIGN_TABLE; }
#line 33585 "gram.c" /* yacc.c:1652 */
break;
case 949:
#line 6568 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_TSCONFIGURATION; }
#line 33591 "gram.c" /* yacc.c:1652 */
break;
case 950:
#line 6569 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_TSDICTIONARY; }
#line 33597 "gram.c" /* yacc.c:1652 */
break;
case 951:
#line 6570 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_TSPARSER; }
#line 33603 "gram.c" /* yacc.c:1652 */
break;
case 952:
#line 6571 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_TSTEMPLATE; }
#line 33609 "gram.c" /* yacc.c:1652 */
break;
case 953:
#line 6576 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_ACCESS_METHOD; }
#line 33615 "gram.c" /* yacc.c:1652 */
break;
case 954:
#line 6577 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_DATABASE; }
#line 33621 "gram.c" /* yacc.c:1652 */
break;
case 955:
#line 6578 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_EVENT_TRIGGER; }
#line 33627 "gram.c" /* yacc.c:1652 */
break;
case 956:
#line 6579 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_EXTENSION; }
#line 33633 "gram.c" /* yacc.c:1652 */
break;
case 957:
#line 6580 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_FDW; }
#line 33639 "gram.c" /* yacc.c:1652 */
break;
case 958:
#line 6581 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_LANGUAGE; }
#line 33645 "gram.c" /* yacc.c:1652 */
break;
case 959:
#line 6582 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_PUBLICATION; }
#line 33651 "gram.c" /* yacc.c:1652 */
break;
case 960:
#line 6583 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_ROLE; }
#line 33657 "gram.c" /* yacc.c:1652 */
break;
case 961:
#line 6584 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_SCHEMA; }
#line 33663 "gram.c" /* yacc.c:1652 */
break;
case 962:
#line 6585 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_FOREIGN_SERVER; }
#line 33669 "gram.c" /* yacc.c:1652 */
break;
case 963:
#line 6586 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_SUBSCRIPTION; }
#line 33675 "gram.c" /* yacc.c:1652 */
break;
case 964:
#line 6587 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_TABLESPACE; }
#line 33681 "gram.c" /* yacc.c:1652 */
break;
case 965:
#line 6591 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 33687 "gram.c" /* yacc.c:1652 */
break;
case 966:
#line 6592 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = NULL; }
#line 33693 "gram.c" /* yacc.c:1652 */
break;
case 967:
#line 6608 "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 33706 "gram.c" /* yacc.c:1652 */
break;
case 968:
#line 6618 "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 33719 "gram.c" /* yacc.c:1652 */
break;
case 969:
#line 6628 "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 33732 "gram.c" /* yacc.c:1652 */
break;
case 970:
#line 6638 "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 33745 "gram.c" /* yacc.c:1652 */
break;
case 971:
#line 6648 "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 33758 "gram.c" /* yacc.c:1652 */
break;
case 972:
#line 6658 "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 33771 "gram.c" /* yacc.c:1652 */
break;
case 973:
#line 6668 "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 33784 "gram.c" /* yacc.c:1652 */
break;
case 974:
#line 6678 "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 33797 "gram.c" /* yacc.c:1652 */
break;
case 975:
#line 6688 "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 33810 "gram.c" /* yacc.c:1652 */
break;
case 976:
#line 6698 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 33816 "gram.c" /* yacc.c:1652 */
break;
case 977:
#line 6699 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = NULL; }
#line 33822 "gram.c" /* yacc.c:1652 */
break;
case 978:
#line 6704 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_COLUMN; }
#line 33828 "gram.c" /* yacc.c:1652 */
break;
case 979:
#line 6705 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_FOREIGN_TABLE; }
#line 33834 "gram.c" /* yacc.c:1652 */
break;
case 980:
#line 6706 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_SEQUENCE; }
#line 33840 "gram.c" /* yacc.c:1652 */
break;
case 981:
#line 6707 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_TABLE; }
#line 33846 "gram.c" /* yacc.c:1652 */
break;
case 982:
#line 6708 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_VIEW; }
#line 33852 "gram.c" /* yacc.c:1652 */
break;
case 983:
#line 6709 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_MATVIEW; }
#line 33858 "gram.c" /* yacc.c:1652 */
break;
case 984:
#line 6714 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_DATABASE; }
#line 33864 "gram.c" /* yacc.c:1652 */
break;
case 985:
#line 6715 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_EVENT_TRIGGER; }
#line 33870 "gram.c" /* yacc.c:1652 */
break;
case 986:
#line 6716 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_LANGUAGE; }
#line 33876 "gram.c" /* yacc.c:1652 */
break;
case 987:
#line 6717 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_PUBLICATION; }
#line 33882 "gram.c" /* yacc.c:1652 */
break;
case 988:
#line 6718 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_ROLE; }
#line 33888 "gram.c" /* yacc.c:1652 */
break;
case 989:
#line 6719 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_SCHEMA; }
#line 33894 "gram.c" /* yacc.c:1652 */
break;
case 990:
#line 6720 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_SUBSCRIPTION; }
#line 33900 "gram.c" /* yacc.c:1652 */
break;
case 991:
#line 6721 "gram.y" /* yacc.c:1652 */
{ (yyval.objtype) = OBJECT_TABLESPACE; }
#line 33906 "gram.c" /* yacc.c:1652 */
break;
case 992:
#line 6724 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 33912 "gram.c" /* yacc.c:1652 */
break;
case 993:
#line 6725 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = NULL; }
#line 33918 "gram.c" /* yacc.c:1652 */
break;
case 994:
#line 6736 "gram.y" /* yacc.c:1652 */
{
FetchStmt *n = (FetchStmt *) (yyvsp[0].node);
n->ismove = false;
(yyval.node) = (Node *)n;
}
#line 33928 "gram.c" /* yacc.c:1652 */
break;
case 995:
#line 6742 "gram.y" /* yacc.c:1652 */
{
FetchStmt *n = (FetchStmt *) (yyvsp[0].node);
n->ismove = true;
(yyval.node) = (Node *)n;
}
#line 33938 "gram.c" /* yacc.c:1652 */
break;
case 996:
#line 6750 "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 33950 "gram.c" /* yacc.c:1652 */
break;
case 997:
#line 6758 "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 33962 "gram.c" /* yacc.c:1652 */
break;
case 998:
#line 6766 "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 33974 "gram.c" /* yacc.c:1652 */
break;
case 999:
#line 6774 "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 33986 "gram.c" /* yacc.c:1652 */
break;
case 1000:
#line 6782 "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 33998 "gram.c" /* yacc.c:1652 */
break;
case 1001:
#line 6790 "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 34010 "gram.c" /* yacc.c:1652 */
break;
case 1002:
#line 6798 "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 34022 "gram.c" /* yacc.c:1652 */
break;
case 1003:
#line 6806 "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 34034 "gram.c" /* yacc.c:1652 */
break;
case 1004:
#line 6814 "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 34046 "gram.c" /* yacc.c:1652 */
break;
case 1005:
#line 6822 "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 34058 "gram.c" /* yacc.c:1652 */
break;
case 1006:
#line 6830 "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 34070 "gram.c" /* yacc.c:1652 */
break;
case 1007:
#line 6838 "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 34082 "gram.c" /* yacc.c:1652 */
break;
case 1008:
#line 6846 "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 34094 "gram.c" /* yacc.c:1652 */
break;
case 1009:
#line 6854 "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 34106 "gram.c" /* yacc.c:1652 */
break;
case 1010:
#line 6862 "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 34118 "gram.c" /* yacc.c:1652 */
break;
case 1011:
#line 6870 "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 34130 "gram.c" /* yacc.c:1652 */
break;
case 1012:
#line 6879 "gram.y" /* yacc.c:1652 */
{}
#line 34136 "gram.c" /* yacc.c:1652 */
break;
case 1013:
#line 6880 "gram.y" /* yacc.c:1652 */
{}
#line 34142 "gram.c" /* yacc.c:1652 */
break;
case 1014:
#line 6883 "gram.y" /* yacc.c:1652 */
{}
#line 34148 "gram.c" /* yacc.c:1652 */
break;
case 1015:
#line 6884 "gram.y" /* yacc.c:1652 */
{}
#line 34154 "gram.c" /* yacc.c:1652 */
break;
case 1016:
#line 6896 "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 34170 "gram.c" /* yacc.c:1652 */
break;
case 1017:
#line 6912 "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 34187 "gram.c" /* yacc.c:1652 */
break;
case 1018:
#line 6926 "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 34204 "gram.c" /* yacc.c:1652 */
break;
case 1019:
#line 6951 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 34210 "gram.c" /* yacc.c:1652 */
break;
case 1020:
#line 6953 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 34216 "gram.c" /* yacc.c:1652 */
break;
case 1021:
#line 6955 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 34222 "gram.c" /* yacc.c:1652 */
break;
case 1022:
#line 6957 "gram.y" /* yacc.c:1652 */
{
AccessPriv *n = makeNode(AccessPriv);
n->priv_name = NULL;
n->cols = (yyvsp[-1].list);
(yyval.list) = list_make1(n);
}
#line 34233 "gram.c" /* yacc.c:1652 */
break;
case 1023:
#line 6964 "gram.y" /* yacc.c:1652 */
{
AccessPriv *n = makeNode(AccessPriv);
n->priv_name = NULL;
n->cols = (yyvsp[-1].list);
(yyval.list) = list_make1(n);
}
#line 34244 "gram.c" /* yacc.c:1652 */
break;
case 1024:
#line 6972 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].accesspriv)); }
#line 34250 "gram.c" /* yacc.c:1652 */
break;
case 1025:
#line 6973 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].accesspriv)); }
#line 34256 "gram.c" /* yacc.c:1652 */
break;
case 1026:
#line 6977 "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 34267 "gram.c" /* yacc.c:1652 */
break;
case 1027:
#line 6984 "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 34278 "gram.c" /* yacc.c:1652 */
break;
case 1028:
#line 6991 "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 34289 "gram.c" /* yacc.c:1652 */
break;
case 1029:
#line 6998 "gram.y" /* yacc.c:1652 */
{
AccessPriv *n = makeNode(AccessPriv);
n->priv_name = (yyvsp[-1].str);
n->cols = (yyvsp[0].list);
(yyval.accesspriv) = n;
}
#line 34300 "gram.c" /* yacc.c:1652 */
break;
case 1030:
#line 7012 "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 34312 "gram.c" /* yacc.c:1652 */
break;
case 1031:
#line 7020 "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 34324 "gram.c" /* yacc.c:1652 */
break;
case 1032:
#line 7028 "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 34336 "gram.c" /* yacc.c:1652 */
break;
case 1033:
#line 7036 "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 34348 "gram.c" /* yacc.c:1652 */
break;
case 1034:
#line 7044 "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 34360 "gram.c" /* yacc.c:1652 */
break;
case 1035:
#line 7052 "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 34372 "gram.c" /* yacc.c:1652 */
break;
case 1036:
#line 7060 "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 34384 "gram.c" /* yacc.c:1652 */
break;
case 1037:
#line 7068 "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 34396 "gram.c" /* yacc.c:1652 */
break;
case 1038:
#line 7076 "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 34408 "gram.c" /* yacc.c:1652 */
break;
case 1039:
#line 7084 "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 34420 "gram.c" /* yacc.c:1652 */
break;
case 1040:
#line 7092 "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 34432 "gram.c" /* yacc.c:1652 */
break;
case 1041:
#line 7100 "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 34444 "gram.c" /* yacc.c:1652 */
break;
case 1042:
#line 7108 "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 34456 "gram.c" /* yacc.c:1652 */
break;
case 1043:
#line 7116 "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 34468 "gram.c" /* yacc.c:1652 */
break;
case 1044:
#line 7124 "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 34480 "gram.c" /* yacc.c:1652 */
break;
case 1045:
#line 7132 "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 34492 "gram.c" /* yacc.c:1652 */
break;
case 1046:
#line 7140 "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 34504 "gram.c" /* yacc.c:1652 */
break;
case 1047:
#line 7148 "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 34516 "gram.c" /* yacc.c:1652 */
break;
case 1048:
#line 7156 "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 34528 "gram.c" /* yacc.c:1652 */
break;
case 1049:
#line 7164 "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 34540 "gram.c" /* yacc.c:1652 */
break;
case 1050:
#line 7175 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].rolespec)); }
#line 34546 "gram.c" /* yacc.c:1652 */
break;
case 1051:
#line 7176 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].rolespec)); }
#line 34552 "gram.c" /* yacc.c:1652 */
break;
case 1052:
#line 7180 "gram.y" /* yacc.c:1652 */
{ (yyval.rolespec) = (yyvsp[0].rolespec); }
#line 34558 "gram.c" /* yacc.c:1652 */
break;
case 1053:
#line 7181 "gram.y" /* yacc.c:1652 */
{ (yyval.rolespec) = (yyvsp[0].rolespec); }
#line 34564 "gram.c" /* yacc.c:1652 */
break;
case 1054:
#line 7186 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = true; }
#line 34570 "gram.c" /* yacc.c:1652 */
break;
case 1055:
#line 7187 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 34576 "gram.c" /* yacc.c:1652 */
break;
case 1056:
#line 7198 "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 34590 "gram.c" /* yacc.c:1652 */
break;
case 1057:
#line 7211 "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 34604 "gram.c" /* yacc.c:1652 */
break;
case 1058:
#line 7221 "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 34618 "gram.c" /* yacc.c:1652 */
break;
case 1059:
#line 7232 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = true; }
#line 34624 "gram.c" /* yacc.c:1652 */
break;
case 1060:
#line 7233 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 34630 "gram.c" /* yacc.c:1652 */
break;
case 1061:
#line 7236 "gram.y" /* yacc.c:1652 */
{ (yyval.rolespec) = (yyvsp[0].rolespec); }
#line 34636 "gram.c" /* yacc.c:1652 */
break;
case 1062:
#line 7237 "gram.y" /* yacc.c:1652 */
{ (yyval.rolespec) = NULL; }
#line 34642 "gram.c" /* yacc.c:1652 */
break;
case 1063:
#line 7248 "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 34653 "gram.c" /* yacc.c:1652 */
break;
case 1064:
#line 7257 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
#line 34659 "gram.c" /* yacc.c:1652 */
break;
case 1065:
#line 7258 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 34665 "gram.c" /* yacc.c:1652 */
break;
case 1066:
#line 7263 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("schemas", (Node *)(yyvsp[0].list), (yylsp[-2]));
}
#line 34673 "gram.c" /* yacc.c:1652 */
break;
case 1067:
#line 7267 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("roles", (Node *)(yyvsp[0].list), (yylsp[-2]));
}
#line 34681 "gram.c" /* yacc.c:1652 */
break;
case 1068:
#line 7271 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("roles", (Node *)(yyvsp[0].list), (yylsp[-2]));
}
#line 34689 "gram.c" /* yacc.c:1652 */
break;
case 1069:
#line 7283 "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 34705 "gram.c" /* yacc.c:1652 */
break;
case 1070:
#line 7296 "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 34722 "gram.c" /* yacc.c:1652 */
break;
case 1071:
#line 7310 "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 34739 "gram.c" /* yacc.c:1652 */
break;
case 1072:
#line 7325 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = OBJECT_TABLE; }
#line 34745 "gram.c" /* yacc.c:1652 */
break;
case 1073:
#line 7326 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = OBJECT_FUNCTION; }
#line 34751 "gram.c" /* yacc.c:1652 */
break;
case 1074:
#line 7327 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = OBJECT_FUNCTION; }
#line 34757 "gram.c" /* yacc.c:1652 */
break;
case 1075:
#line 7328 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = OBJECT_SEQUENCE; }
#line 34763 "gram.c" /* yacc.c:1652 */
break;
case 1076:
#line 7329 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = OBJECT_TYPE; }
#line 34769 "gram.c" /* yacc.c:1652 */
break;
case 1077:
#line 7330 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = OBJECT_SCHEMA; }
#line 34775 "gram.c" /* yacc.c:1652 */
break;
case 1078:
#line 7345 "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->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;
n->reset_default_tblspc = false;
(yyval.node) = (Node *)n;
}
#line 34805 "gram.c" /* yacc.c:1652 */
break;
case 1079:
#line 7373 "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->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;
n->reset_default_tblspc = false;
(yyval.node) = (Node *)n;
}
#line 34835 "gram.c" /* yacc.c:1652 */
break;
case 1080:
#line 7401 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = true; }
#line 34841 "gram.c" /* yacc.c:1652 */
break;
case 1081:
#line 7402 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 34847 "gram.c" /* yacc.c:1652 */
break;
case 1082:
#line 7406 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = true; }
#line 34853 "gram.c" /* yacc.c:1652 */
break;
case 1083:
#line 7407 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 34859 "gram.c" /* yacc.c:1652 */
break;
case 1084:
#line 7411 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 34865 "gram.c" /* yacc.c:1652 */
break;
case 1085:
#line 7412 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = NULL; }
#line 34871 "gram.c" /* yacc.c:1652 */
break;
case 1086:
#line 7416 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 34877 "gram.c" /* yacc.c:1652 */
break;
case 1087:
#line 7417 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = DEFAULT_INDEX_TYPE; }
#line 34883 "gram.c" /* yacc.c:1652 */
break;
case 1088:
#line 7420 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].ielem)); }
#line 34889 "gram.c" /* yacc.c:1652 */
break;
case 1089:
#line 7421 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].ielem)); }
#line 34895 "gram.c" /* yacc.c:1652 */
break;
case 1090:
#line 7430 "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 34910 "gram.c" /* yacc.c:1652 */
break;
case 1091:
#line 7441 "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 34925 "gram.c" /* yacc.c:1652 */
break;
case 1092:
#line 7452 "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 34940 "gram.c" /* yacc.c:1652 */
break;
case 1093:
#line 7464 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 34946 "gram.c" /* yacc.c:1652 */
break;
case 1094:
#line 7465 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 34952 "gram.c" /* yacc.c:1652 */
break;
case 1095:
#line 7468 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].ielem)); }
#line 34958 "gram.c" /* yacc.c:1652 */
break;
case 1096:
#line 7469 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].ielem)); }
#line 34964 "gram.c" /* yacc.c:1652 */
break;
case 1097:
#line 7472 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 34970 "gram.c" /* yacc.c:1652 */
break;
case 1098:
#line 7473 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 34976 "gram.c" /* yacc.c:1652 */
break;
case 1099:
#line 7476 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 34982 "gram.c" /* yacc.c:1652 */
break;
case 1100:
#line 7477 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 34988 "gram.c" /* yacc.c:1652 */
break;
case 1101:
#line 7480 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = SORTBY_ASC; }
#line 34994 "gram.c" /* yacc.c:1652 */
break;
case 1102:
#line 7481 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = SORTBY_DESC; }
#line 35000 "gram.c" /* yacc.c:1652 */
break;
case 1103:
#line 7482 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = SORTBY_DEFAULT; }
#line 35006 "gram.c" /* yacc.c:1652 */
break;
case 1104:
#line 7485 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = SORTBY_NULLS_FIRST; }
#line 35012 "gram.c" /* yacc.c:1652 */
break;
case 1105:
#line 7486 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = SORTBY_NULLS_LAST; }
#line 35018 "gram.c" /* yacc.c:1652 */
break;
case 1106:
#line 7487 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = SORTBY_NULLS_DEFAULT; }
#line 35024 "gram.c" /* yacc.c:1652 */
break;
case 1107:
#line 7505 "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 35039 "gram.c" /* yacc.c:1652 */
break;
case 1108:
#line 7517 "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 35055 "gram.c" /* yacc.c:1652 */
break;
case 1109:
#line 7530 "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 35070 "gram.c" /* yacc.c:1652 */
break;
case 1110:
#line 7542 "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 35085 "gram.c" /* yacc.c:1652 */
break;
case 1111:
#line 7555 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = true; }
#line 35091 "gram.c" /* yacc.c:1652 */
break;
case 1112:
#line 7556 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 35097 "gram.c" /* yacc.c:1652 */
break;
case 1113:
#line 7559 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 35103 "gram.c" /* yacc.c:1652 */
break;
case 1114:
#line 7560 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 35109 "gram.c" /* yacc.c:1652 */
break;
case 1115:
#line 7564 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].fun_param)); }
#line 35115 "gram.c" /* yacc.c:1652 */
break;
case 1116:
#line 7565 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param)); }
#line 35121 "gram.c" /* yacc.c:1652 */
break;
case 1117:
#line 7569 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].objwithargs)); }
#line 35127 "gram.c" /* yacc.c:1652 */
break;
case 1118:
#line 7571 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].objwithargs)); }
#line 35133 "gram.c" /* yacc.c:1652 */
break;
case 1119:
#line 7576 "gram.y" /* yacc.c:1652 */
{
ObjectWithArgs *n = makeNode(ObjectWithArgs);
n->objname = (yyvsp[-1].list);
n->objargs = extractArgTypes((yyvsp[0].list));
(yyval.objwithargs) = n;
}
#line 35144 "gram.c" /* yacc.c:1652 */
break;
case 1120:
#line 7588 "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 35155 "gram.c" /* yacc.c:1652 */
break;
case 1121:
#line 7595 "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 35166 "gram.c" /* yacc.c:1652 */
break;
case 1122:
#line 7602 "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 35178 "gram.c" /* yacc.c:1652 */
break;
case 1123:
#line 7616 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 35184 "gram.c" /* yacc.c:1652 */
break;
case 1124:
#line 7617 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 35190 "gram.c" /* yacc.c:1652 */
break;
case 1125:
#line 7621 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].fun_param)); }
#line 35196 "gram.c" /* yacc.c:1652 */
break;
case 1126:
#line 7623 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param)); }
#line 35202 "gram.c" /* yacc.c:1652 */
break;
case 1127:
#line 7638 "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 35215 "gram.c" /* yacc.c:1652 */
break;
case 1128:
#line 7647 "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 35228 "gram.c" /* yacc.c:1652 */
break;
case 1129:
#line 7656 "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 35241 "gram.c" /* yacc.c:1652 */
break;
case 1130:
#line 7665 "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 35254 "gram.c" /* yacc.c:1652 */
break;
case 1131:
#line 7674 "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 35267 "gram.c" /* yacc.c:1652 */
break;
case 1132:
#line 7685 "gram.y" /* yacc.c:1652 */
{ (yyval.fun_param_mode) = FUNC_PARAM_IN; }
#line 35273 "gram.c" /* yacc.c:1652 */
break;
case 1133:
#line 7686 "gram.y" /* yacc.c:1652 */
{ (yyval.fun_param_mode) = FUNC_PARAM_OUT; }
#line 35279 "gram.c" /* yacc.c:1652 */
break;
case 1134:
#line 7687 "gram.y" /* yacc.c:1652 */
{ (yyval.fun_param_mode) = FUNC_PARAM_INOUT; }
#line 35285 "gram.c" /* yacc.c:1652 */
break;
case 1135:
#line 7688 "gram.y" /* yacc.c:1652 */
{ (yyval.fun_param_mode) = FUNC_PARAM_INOUT; }
#line 35291 "gram.c" /* yacc.c:1652 */
break;
case 1136:
#line 7689 "gram.y" /* yacc.c:1652 */
{ (yyval.fun_param_mode) = FUNC_PARAM_VARIADIC; }
#line 35297 "gram.c" /* yacc.c:1652 */
break;
case 1138:
#line 7700 "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 35309 "gram.c" /* yacc.c:1652 */
break;
case 1139:
#line 7714 "gram.y" /* yacc.c:1652 */
{ (yyval.typnam) = (yyvsp[0].typnam); }
#line 35315 "gram.c" /* yacc.c:1652 */
break;
case 1140:
#line 7716 "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 35325 "gram.c" /* yacc.c:1652 */
break;
case 1141:
#line 7722 "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 35336 "gram.c" /* yacc.c:1652 */
break;
case 1142:
#line 7732 "gram.y" /* yacc.c:1652 */
{
(yyval.fun_param) = (yyvsp[0].fun_param);
}
#line 35344 "gram.c" /* yacc.c:1652 */
break;
case 1143:
#line 7736 "gram.y" /* yacc.c:1652 */
{
(yyval.fun_param) = (yyvsp[-2].fun_param);
(yyval.fun_param)->defexpr = (yyvsp[0].node);
}
#line 35353 "gram.c" /* yacc.c:1652 */
break;
case 1144:
#line 7741 "gram.y" /* yacc.c:1652 */
{
(yyval.fun_param) = (yyvsp[-2].fun_param);
(yyval.fun_param)->defexpr = (yyvsp[0].node);
}
#line 35362 "gram.c" /* yacc.c:1652 */
break;
case 1145:
#line 7749 "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 35376 "gram.c" /* yacc.c:1652 */
break;
case 1146:
#line 7790 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make2(NIL, makeInteger(-1));
}
#line 35384 "gram.c" /* yacc.c:1652 */
break;
case 1147:
#line 7794 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make2((yyvsp[-1].list), makeInteger(-1));
}
#line 35392 "gram.c" /* yacc.c:1652 */
break;
case 1148:
#line 7798 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make2((yyvsp[-1].list), makeInteger(0));
}
#line 35400 "gram.c" /* yacc.c:1652 */
break;
case 1149:
#line 7802 "gram.y" /* yacc.c:1652 */
{
/* this is the only case requiring consistency checking */
(yyval.list) = makeOrderedSetArgs((yyvsp[-4].list), (yyvsp[-1].list), yyscanner);
}
#line 35409 "gram.c" /* yacc.c:1652 */
break;
case 1150:
#line 7809 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].fun_param)); }
#line 35415 "gram.c" /* yacc.c:1652 */
break;
case 1151:
#line 7810 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param)); }
#line 35421 "gram.c" /* yacc.c:1652 */
break;
case 1152:
#line 7815 "gram.y" /* yacc.c:1652 */
{
ObjectWithArgs *n = makeNode(ObjectWithArgs);
n->objname = (yyvsp[-1].list);
n->objargs = extractAggrArgTypes((yyvsp[0].list));
(yyval.objwithargs) = n;
}
#line 35432 "gram.c" /* yacc.c:1652 */
break;
case 1153:
#line 7824 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].objwithargs)); }
#line 35438 "gram.c" /* yacc.c:1652 */
break;
case 1154:
#line 7826 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].objwithargs)); }
#line 35444 "gram.c" /* yacc.c:1652 */
break;
case 1155:
#line 7831 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].defelt)); }
#line 35450 "gram.c" /* yacc.c:1652 */
break;
case 1156:
#line 7832 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
#line 35456 "gram.c" /* yacc.c:1652 */
break;
case 1157:
#line 7840 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("strict", (Node *)makeInteger(false), (yylsp[-3]));
}
#line 35464 "gram.c" /* yacc.c:1652 */
break;
case 1158:
#line 7844 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("strict", (Node *)makeInteger(true), (yylsp[-4]));
}
#line 35472 "gram.c" /* yacc.c:1652 */
break;
case 1159:
#line 7848 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("strict", (Node *)makeInteger(true), (yylsp[0]));
}
#line 35480 "gram.c" /* yacc.c:1652 */
break;
case 1160:
#line 7852 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("volatility", (Node *)makeString("immutable"), (yylsp[0]));
}
#line 35488 "gram.c" /* yacc.c:1652 */
break;
case 1161:
#line 7856 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("volatility", (Node *)makeString("stable"), (yylsp[0]));
}
#line 35496 "gram.c" /* yacc.c:1652 */
break;
case 1162:
#line 7860 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("volatility", (Node *)makeString("volatile"), (yylsp[0]));
}
#line 35504 "gram.c" /* yacc.c:1652 */
break;
case 1163:
#line 7864 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("security", (Node *)makeInteger(true), (yylsp[-2]));
}
#line 35512 "gram.c" /* yacc.c:1652 */
break;
case 1164:
#line 7868 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("security", (Node *)makeInteger(false), (yylsp[-2]));
}
#line 35520 "gram.c" /* yacc.c:1652 */
break;
case 1165:
#line 7872 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("security", (Node *)makeInteger(true), (yylsp[-1]));
}
#line 35528 "gram.c" /* yacc.c:1652 */
break;
case 1166:
#line 7876 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("security", (Node *)makeInteger(false), (yylsp[-1]));
}
#line 35536 "gram.c" /* yacc.c:1652 */
break;
case 1167:
#line 7880 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("leakproof", (Node *)makeInteger(true), (yylsp[0]));
}
#line 35544 "gram.c" /* yacc.c:1652 */
break;
case 1168:
#line 7884 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("leakproof", (Node *)makeInteger(false), (yylsp[-1]));
}
#line 35552 "gram.c" /* yacc.c:1652 */
break;
case 1169:
#line 7888 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("cost", (Node *)(yyvsp[0].value), (yylsp[-1]));
}
#line 35560 "gram.c" /* yacc.c:1652 */
break;
case 1170:
#line 7892 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("rows", (Node *)(yyvsp[0].value), (yylsp[-1]));
}
#line 35568 "gram.c" /* yacc.c:1652 */
break;
case 1171:
#line 7896 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("support", (Node *)(yyvsp[0].list), (yylsp[-1]));
}
#line 35576 "gram.c" /* yacc.c:1652 */
break;
case 1172:
#line 7900 "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 35585 "gram.c" /* yacc.c:1652 */
break;
case 1173:
#line 7905 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("parallel", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
}
#line 35593 "gram.c" /* yacc.c:1652 */
break;
case 1174:
#line 7912 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("as", (Node *)(yyvsp[0].list), (yylsp[-1]));
}
#line 35601 "gram.c" /* yacc.c:1652 */
break;
case 1175:
#line 7916 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("language", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
}
#line 35609 "gram.c" /* yacc.c:1652 */
break;
case 1176:
#line 7920 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("transform", (Node *)(yyvsp[0].list), (yylsp[-1]));
}
#line 35617 "gram.c" /* yacc.c:1652 */
break;
case 1177:
#line 7924 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("window", (Node *)makeInteger(true), (yylsp[0]));
}
#line 35625 "gram.c" /* yacc.c:1652 */
break;
case 1178:
#line 7928 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = (yyvsp[0].defelt);
}
#line 35633 "gram.c" /* yacc.c:1652 */
break;
case 1179:
#line 7933 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
#line 35639 "gram.c" /* yacc.c:1652 */
break;
case 1180:
#line 7935 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make2(makeString((yyvsp[-2].str)), makeString((yyvsp[0].str)));
}
#line 35647 "gram.c" /* yacc.c:1652 */
break;
case 1181:
#line 7941 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].typnam)); }
#line 35653 "gram.c" /* yacc.c:1652 */
break;
case 1182:
#line 7942 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-4].list), (yyvsp[0].typnam)); }
#line 35659 "gram.c" /* yacc.c:1652 */
break;
case 1183:
#line 7946 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 35665 "gram.c" /* yacc.c:1652 */
break;
case 1184:
#line 7947 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 35671 "gram.c" /* yacc.c:1652 */
break;
case 1185:
#line 7951 "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 35684 "gram.c" /* yacc.c:1652 */
break;
case 1186:
#line 7963 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make1((yyvsp[0].fun_param));
}
#line 35692 "gram.c" /* yacc.c:1652 */
break;
case 1187:
#line 7967 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param));
}
#line 35700 "gram.c" /* yacc.c:1652 */
break;
case 1188:
#line 7982 "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 35712 "gram.c" /* yacc.c:1652 */
break;
case 1189:
#line 7990 "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 35724 "gram.c" /* yacc.c:1652 */
break;
case 1190:
#line 7998 "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 35736 "gram.c" /* yacc.c:1652 */
break;
case 1191:
#line 8009 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].defelt)); }
#line 35742 "gram.c" /* yacc.c:1652 */
break;
case 1192:
#line 8010 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
#line 35748 "gram.c" /* yacc.c:1652 */
break;
case 1195:
#line 8034 "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 35762 "gram.c" /* yacc.c:1652 */
break;
case 1196:
#line 8044 "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 35776 "gram.c" /* yacc.c:1652 */
break;
case 1197:
#line 8054 "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 35790 "gram.c" /* yacc.c:1652 */
break;
case 1198:
#line 8064 "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 35804 "gram.c" /* yacc.c:1652 */
break;
case 1199:
#line 8074 "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 35818 "gram.c" /* yacc.c:1652 */
break;
case 1200:
#line 8084 "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 35832 "gram.c" /* yacc.c:1652 */
break;
case 1201:
#line 8097 "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 35846 "gram.c" /* yacc.c:1652 */
break;
case 1202:
#line 8107 "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 35860 "gram.c" /* yacc.c:1652 */
break;
case 1203:
#line 8120 "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 35874 "gram.c" /* yacc.c:1652 */
break;
case 1204:
#line 8130 "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 35888 "gram.c" /* yacc.c:1652 */
break;
case 1205:
#line 8143 "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 35900 "gram.c" /* yacc.c:1652 */
break;
case 1206:
#line 8151 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make2((yyvsp[-3].typnam), (yyvsp[-1].typnam)); }
#line 35906 "gram.c" /* yacc.c:1652 */
break;
case 1207:
#line 8153 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make2(NULL, (yyvsp[-1].typnam)); }
#line 35912 "gram.c" /* yacc.c:1652 */
break;
case 1208:
#line 8155 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make2((yyvsp[-3].typnam), NULL); }
#line 35918 "gram.c" /* yacc.c:1652 */
break;
case 1209:
#line 8160 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
#line 35924 "gram.c" /* yacc.c:1652 */
break;
case 1210:
#line 8162 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lcons(makeString((yyvsp[-2].str)), (yyvsp[0].list)); }
#line 35930 "gram.c" /* yacc.c:1652 */
break;
case 1211:
#line 8166 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].objwithargs)); }
#line 35936 "gram.c" /* yacc.c:1652 */
break;
case 1212:
#line 8168 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].objwithargs)); }
#line 35942 "gram.c" /* yacc.c:1652 */
break;
case 1213:
#line 8173 "gram.y" /* yacc.c:1652 */
{
ObjectWithArgs *n = makeNode(ObjectWithArgs);
n->objname = (yyvsp[-1].list);
n->objargs = (yyvsp[0].list);
(yyval.objwithargs) = n;
}
#line 35953 "gram.c" /* yacc.c:1652 */
break;
case 1214:
#line 8191 "gram.y" /* yacc.c:1652 */
{
DoStmt *n = makeNode(DoStmt);
n->args = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 35963 "gram.c" /* yacc.c:1652 */
break;
case 1215:
#line 8199 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].defelt)); }
#line 35969 "gram.c" /* yacc.c:1652 */
break;
case 1216:
#line 8200 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
#line 35975 "gram.c" /* yacc.c:1652 */
break;
case 1217:
#line 8205 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("as", (Node *)makeString((yyvsp[0].str)), (yylsp[0]));
}
#line 35983 "gram.c" /* yacc.c:1652 */
break;
case 1218:
#line 8209 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem("language", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
}
#line 35991 "gram.c" /* yacc.c:1652 */
break;
case 1219:
#line 8222 "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 36005 "gram.c" /* yacc.c:1652 */
break;
case 1220:
#line 8233 "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 36019 "gram.c" /* yacc.c:1652 */
break;
case 1221:
#line 8244 "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 36033 "gram.c" /* yacc.c:1652 */
break;
case 1222:
#line 8255 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = COERCION_IMPLICIT; }
#line 36039 "gram.c" /* yacc.c:1652 */
break;
case 1223:
#line 8256 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = COERCION_ASSIGNMENT; }
#line 36045 "gram.c" /* yacc.c:1652 */
break;
case 1224:
#line 8257 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = COERCION_EXPLICIT; }
#line 36051 "gram.c" /* yacc.c:1652 */
break;
case 1225:
#line 8262 "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 36065 "gram.c" /* yacc.c:1652 */
break;
case 1226:
#line 8273 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = true; }
#line 36071 "gram.c" /* yacc.c:1652 */
break;
case 1227:
#line 8274 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 36077 "gram.c" /* yacc.c:1652 */
break;
case 1228:
#line 8285 "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 36091 "gram.c" /* yacc.c:1652 */
break;
case 1229:
#line 8297 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make2((yyvsp[-6].objwithargs), (yyvsp[0].objwithargs));
}
#line 36099 "gram.c" /* yacc.c:1652 */
break;
case 1230:
#line 8301 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make2((yyvsp[0].objwithargs), (yyvsp[-6].objwithargs));
}
#line 36107 "gram.c" /* yacc.c:1652 */
break;
case 1231:
#line 8305 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make2((yyvsp[0].objwithargs), NULL);
}
#line 36115 "gram.c" /* yacc.c:1652 */
break;
case 1232:
#line 8309 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make2(NULL, (yyvsp[0].objwithargs));
}
#line 36123 "gram.c" /* yacc.c:1652 */
break;
case 1233:
#line 8316 "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 36136 "gram.c" /* yacc.c:1652 */
break;
case 1234:
#line 8336 "gram.y" /* yacc.c:1652 */
{
ReindexStmt *n = makeNode(ReindexStmt);
n->kind = (yyvsp[-2].ival);
n->concurrent = (yyvsp[-1].boolean);
n->relation = (yyvsp[0].range);
n->name = NULL;
n->options = 0;
(yyval.node) = (Node *)n;
}
#line 36150 "gram.c" /* yacc.c:1652 */
break;
case 1235:
#line 8346 "gram.y" /* yacc.c:1652 */
{
ReindexStmt *n = makeNode(ReindexStmt);
n->kind = (yyvsp[-2].ival);
n->concurrent = (yyvsp[-1].boolean);
n->name = (yyvsp[0].str);
n->relation = NULL;
n->options = 0;
(yyval.node) = (Node *)n;
}
#line 36164 "gram.c" /* yacc.c:1652 */
break;
case 1236:
#line 8356 "gram.y" /* yacc.c:1652 */
{
ReindexStmt *n = makeNode(ReindexStmt);
n->kind = (yyvsp[-2].ival);
n->concurrent = (yyvsp[-1].boolean);
n->relation = (yyvsp[0].range);
n->name = NULL;
n->options = (yyvsp[-4].ival);
(yyval.node) = (Node *)n;
}
#line 36178 "gram.c" /* yacc.c:1652 */
break;
case 1237:
#line 8366 "gram.y" /* yacc.c:1652 */
{
ReindexStmt *n = makeNode(ReindexStmt);
n->kind = (yyvsp[-2].ival);
n->concurrent = (yyvsp[-1].boolean);
n->name = (yyvsp[0].str);
n->relation = NULL;
n->options = (yyvsp[-4].ival);
(yyval.node) = (Node *)n;
}
#line 36192 "gram.c" /* yacc.c:1652 */
break;
case 1238:
#line 8377 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = REINDEX_OBJECT_INDEX; }
#line 36198 "gram.c" /* yacc.c:1652 */
break;
case 1239:
#line 8378 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = REINDEX_OBJECT_TABLE; }
#line 36204 "gram.c" /* yacc.c:1652 */
break;
case 1240:
#line 8381 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = REINDEX_OBJECT_SCHEMA; }
#line 36210 "gram.c" /* yacc.c:1652 */
break;
case 1241:
#line 8382 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = REINDEX_OBJECT_SYSTEM; }
#line 36216 "gram.c" /* yacc.c:1652 */
break;
case 1242:
#line 8383 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = REINDEX_OBJECT_DATABASE; }
#line 36222 "gram.c" /* yacc.c:1652 */
break;
case 1243:
#line 8386 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = (yyvsp[0].ival); }
#line 36228 "gram.c" /* yacc.c:1652 */
break;
case 1244:
#line 8387 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = (yyvsp[-2].ival) | (yyvsp[0].ival); }
#line 36234 "gram.c" /* yacc.c:1652 */
break;
case 1245:
#line 8390 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = REINDEXOPT_VERBOSE; }
#line 36240 "gram.c" /* yacc.c:1652 */
break;
case 1246:
#line 8401 "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 36253 "gram.c" /* yacc.c:1652 */
break;
case 1247:
#line 8410 "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 36266 "gram.c" /* yacc.c:1652 */
break;
case 1248:
#line 8427 "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 36279 "gram.c" /* yacc.c:1652 */
break;
case 1249:
#line 8436 "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 36292 "gram.c" /* yacc.c:1652 */
break;
case 1250:
#line 8445 "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 36305 "gram.c" /* yacc.c:1652 */
break;
case 1251:
#line 8454 "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 36318 "gram.c" /* yacc.c:1652 */
break;
case 1252:
#line 8463 "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 36331 "gram.c" /* yacc.c:1652 */
break;
case 1253:
#line 8472 "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 36344 "gram.c" /* yacc.c:1652 */
break;
case 1254:
#line 8481 "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 36357 "gram.c" /* yacc.c:1652 */
break;
case 1255:
#line 8490 "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 36370 "gram.c" /* yacc.c:1652 */
break;
case 1256:
#line 8499 "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 36383 "gram.c" /* yacc.c:1652 */
break;
case 1257:
#line 8508 "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 36396 "gram.c" /* yacc.c:1652 */
break;
case 1258:
#line 8517 "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 36409 "gram.c" /* yacc.c:1652 */
break;
case 1259:
#line 8526 "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 36422 "gram.c" /* yacc.c:1652 */
break;
case 1260:
#line 8535 "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 36436 "gram.c" /* yacc.c:1652 */
break;
case 1261:
#line 8545 "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 36450 "gram.c" /* yacc.c:1652 */
break;
case 1262:
#line 8555 "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 36463 "gram.c" /* yacc.c:1652 */
break;
case 1263:
#line 8564 "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 36476 "gram.c" /* yacc.c:1652 */
break;
case 1264:
#line 8573 "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 36489 "gram.c" /* yacc.c:1652 */
break;
case 1265:
#line 8582 "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 36502 "gram.c" /* yacc.c:1652 */
break;
case 1266:
#line 8591 "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 36515 "gram.c" /* yacc.c:1652 */
break;
case 1267:
#line 8600 "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 36528 "gram.c" /* yacc.c:1652 */
break;
case 1268:
#line 8609 "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 36542 "gram.c" /* yacc.c:1652 */
break;
case 1269:
#line 8619 "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 36556 "gram.c" /* yacc.c:1652 */
break;
case 1270:
#line 8629 "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 36570 "gram.c" /* yacc.c:1652 */
break;
case 1271:
#line 8639 "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 36584 "gram.c" /* yacc.c:1652 */
break;
case 1272:
#line 8649 "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 36598 "gram.c" /* yacc.c:1652 */
break;
case 1273:
#line 8659 "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 36612 "gram.c" /* yacc.c:1652 */
break;
case 1274:
#line 8669 "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 36626 "gram.c" /* yacc.c:1652 */
break;
case 1275:
#line 8679 "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 36640 "gram.c" /* yacc.c:1652 */
break;
case 1276:
#line 8689 "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 36654 "gram.c" /* yacc.c:1652 */
break;
case 1277:
#line 8699 "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 36668 "gram.c" /* yacc.c:1652 */
break;
case 1278:
#line 8709 "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 36682 "gram.c" /* yacc.c:1652 */
break;
case 1279:
#line 8719 "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 36696 "gram.c" /* yacc.c:1652 */
break;
case 1280:
#line 8729 "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 36711 "gram.c" /* yacc.c:1652 */
break;
case 1281:
#line 8740 "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 36726 "gram.c" /* yacc.c:1652 */
break;
case 1282:
#line 8751 "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 36741 "gram.c" /* yacc.c:1652 */
break;
case 1283:
#line 8762 "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 36756 "gram.c" /* yacc.c:1652 */
break;
case 1284:
#line 8773 "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 36770 "gram.c" /* yacc.c:1652 */
break;
case 1285:
#line 8783 "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 36784 "gram.c" /* yacc.c:1652 */
break;
case 1286:
#line 8793 "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 36799 "gram.c" /* yacc.c:1652 */
break;
case 1287:
#line 8804 "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 36814 "gram.c" /* yacc.c:1652 */
break;
case 1288:
#line 8815 "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 36828 "gram.c" /* yacc.c:1652 */
break;
case 1289:
#line 8825 "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 36842 "gram.c" /* yacc.c:1652 */
break;
case 1290:
#line 8835 "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 36854 "gram.c" /* yacc.c:1652 */
break;
case 1291:
#line 8843 "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 36867 "gram.c" /* yacc.c:1652 */
break;
case 1292:
#line 8852 "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 36880 "gram.c" /* yacc.c:1652 */
break;
case 1293:
#line 8861 "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 36893 "gram.c" /* yacc.c:1652 */
break;
case 1294:
#line 8870 "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 36906 "gram.c" /* yacc.c:1652 */
break;
case 1295:
#line 8879 "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 36919 "gram.c" /* yacc.c:1652 */
break;
case 1296:
#line 8888 "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 36932 "gram.c" /* yacc.c:1652 */
break;
case 1297:
#line 8897 "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 36945 "gram.c" /* yacc.c:1652 */
break;
case 1298:
#line 8906 "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 36958 "gram.c" /* yacc.c:1652 */
break;
case 1299:
#line 8915 "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 36971 "gram.c" /* yacc.c:1652 */
break;
case 1300:
#line 8924 "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 36987 "gram.c" /* yacc.c:1652 */
break;
case 1301:
#line 8937 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = COLUMN; }
#line 36993 "gram.c" /* yacc.c:1652 */
break;
case 1302:
#line 8938 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = 0; }
#line 36999 "gram.c" /* yacc.c:1652 */
break;
case 1303:
#line 8941 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = 1; }
#line 37005 "gram.c" /* yacc.c:1652 */
break;
case 1304:
#line 8942 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = 0; }
#line 37011 "gram.c" /* yacc.c:1652 */
break;
case 1305:
#line 8953 "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 37023 "gram.c" /* yacc.c:1652 */
break;
case 1306:
#line 8961 "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 37035 "gram.c" /* yacc.c:1652 */
break;
case 1307:
#line 8969 "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 37047 "gram.c" /* yacc.c:1652 */
break;
case 1308:
#line 8977 "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 37060 "gram.c" /* yacc.c:1652 */
break;
case 1309:
#line 8986 "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 37072 "gram.c" /* yacc.c:1652 */
break;
case 1310:
#line 8994 "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 37084 "gram.c" /* yacc.c:1652 */
break;
case 1311:
#line 9011 "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 37097 "gram.c" /* yacc.c:1652 */
break;
case 1312:
#line 9020 "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 37110 "gram.c" /* yacc.c:1652 */
break;
case 1313:
#line 9029 "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 37123 "gram.c" /* yacc.c:1652 */
break;
case 1314:
#line 9038 "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 37136 "gram.c" /* yacc.c:1652 */
break;
case 1315:
#line 9047 "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 37149 "gram.c" /* yacc.c:1652 */
break;
case 1316:
#line 9056 "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 37162 "gram.c" /* yacc.c:1652 */
break;
case 1317:
#line 9065 "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 37175 "gram.c" /* yacc.c:1652 */
break;
case 1318:
#line 9074 "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 37188 "gram.c" /* yacc.c:1652 */
break;
case 1319:
#line 9083 "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 37201 "gram.c" /* yacc.c:1652 */
break;
case 1320:
#line 9092 "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 37214 "gram.c" /* yacc.c:1652 */
break;
case 1321:
#line 9101 "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 37227 "gram.c" /* yacc.c:1652 */
break;
case 1322:
#line 9110 "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 37240 "gram.c" /* yacc.c:1652 */
break;
case 1323:
#line 9119 "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 37253 "gram.c" /* yacc.c:1652 */
break;
case 1324:
#line 9128 "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 37266 "gram.c" /* yacc.c:1652 */
break;
case 1325:
#line 9137 "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 37279 "gram.c" /* yacc.c:1652 */
break;
case 1326:
#line 9146 "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 37292 "gram.c" /* yacc.c:1652 */
break;
case 1327:
#line 9155 "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 37305 "gram.c" /* yacc.c:1652 */
break;
case 1328:
#line 9164 "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 37318 "gram.c" /* yacc.c:1652 */
break;
case 1329:
#line 9173 "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 37331 "gram.c" /* yacc.c:1652 */
break;
case 1330:
#line 9182 "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 37344 "gram.c" /* yacc.c:1652 */
break;
case 1331:
#line 9191 "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 37357 "gram.c" /* yacc.c:1652 */
break;
case 1332:
#line 9200 "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 37370 "gram.c" /* yacc.c:1652 */
break;
case 1333:
#line 9209 "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 37383 "gram.c" /* yacc.c:1652 */
break;
case 1334:
#line 9218 "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 37396 "gram.c" /* yacc.c:1652 */
break;
case 1335:
#line 9227 "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 37409 "gram.c" /* yacc.c:1652 */
break;
case 1336:
#line 9236 "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 37422 "gram.c" /* yacc.c:1652 */
break;
case 1337:
#line 9245 "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 37435 "gram.c" /* yacc.c:1652 */
break;
case 1338:
#line 9263 "gram.y" /* yacc.c:1652 */
{
AlterOperatorStmt *n = makeNode(AlterOperatorStmt);
n->opername = (yyvsp[-4].objwithargs);
n->options = (yyvsp[-1].list);
(yyval.node) = (Node *)n;
}
#line 37446 "gram.c" /* yacc.c:1652 */
break;
case 1339:
#line 9271 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].defelt)); }
#line 37452 "gram.c" /* yacc.c:1652 */
break;
case 1340:
#line 9272 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
#line 37458 "gram.c" /* yacc.c:1652 */
break;
case 1341:
#line 9276 "gram.y" /* yacc.c:1652 */
{ (yyval.defelt) = makeDefElem((yyvsp[-2].str), NULL, (yylsp[-2])); }
#line 37464 "gram.c" /* yacc.c:1652 */
break;
case 1342:
#line 9278 "gram.y" /* yacc.c:1652 */
{ (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *) (yyvsp[0].node), (yylsp[-2])); }
#line 37470 "gram.c" /* yacc.c:1652 */
break;
case 1343:
#line 9283 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *)(yyvsp[0].typnam); }
#line 37476 "gram.c" /* yacc.c:1652 */
break;
case 1344:
#line 9284 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *)makeString(pstrdup((yyvsp[0].keyword))); }
#line 37482 "gram.c" /* yacc.c:1652 */
break;
case 1345:
#line 9285 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *)(yyvsp[0].list); }
#line 37488 "gram.c" /* yacc.c:1652 */
break;
case 1346:
#line 9286 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *)(yyvsp[0].value); }
#line 37494 "gram.c" /* yacc.c:1652 */
break;
case 1347:
#line 9287 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *)makeString((yyvsp[0].str)); }
#line 37500 "gram.c" /* yacc.c:1652 */
break;
case 1348:
#line 9297 "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 37512 "gram.c" /* yacc.c:1652 */
break;
case 1349:
#line 9305 "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 37524 "gram.c" /* yacc.c:1652 */
break;
case 1350:
#line 9313 "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 37536 "gram.c" /* yacc.c:1652 */
break;
case 1351:
#line 9321 "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 37548 "gram.c" /* yacc.c:1652 */
break;
case 1352:
#line 9329 "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 37560 "gram.c" /* yacc.c:1652 */
break;
case 1353:
#line 9337 "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 37572 "gram.c" /* yacc.c:1652 */
break;
case 1354:
#line 9345 "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 37584 "gram.c" /* yacc.c:1652 */
break;
case 1355:
#line 9353 "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 37596 "gram.c" /* yacc.c:1652 */
break;
case 1356:
#line 9361 "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 37608 "gram.c" /* yacc.c:1652 */
break;
case 1357:
#line 9369 "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 37620 "gram.c" /* yacc.c:1652 */
break;
case 1358:
#line 9377 "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 37632 "gram.c" /* yacc.c:1652 */
break;
case 1359:
#line 9385 "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 37644 "gram.c" /* yacc.c:1652 */
break;
case 1360:
#line 9393 "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 37656 "gram.c" /* yacc.c:1652 */
break;
case 1361:
#line 9401 "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 37668 "gram.c" /* yacc.c:1652 */
break;
case 1362:
#line 9409 "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 37680 "gram.c" /* yacc.c:1652 */
break;
case 1363:
#line 9417 "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 37692 "gram.c" /* yacc.c:1652 */
break;
case 1364:
#line 9425 "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 37704 "gram.c" /* yacc.c:1652 */
break;
case 1365:
#line 9433 "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 37716 "gram.c" /* yacc.c:1652 */
break;
case 1366:
#line 9441 "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 37728 "gram.c" /* yacc.c:1652 */
break;
case 1367:
#line 9449 "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 37740 "gram.c" /* yacc.c:1652 */
break;
case 1368:
#line 9457 "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 37752 "gram.c" /* yacc.c:1652 */
break;
case 1369:
#line 9465 "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 37764 "gram.c" /* yacc.c:1652 */
break;
case 1370:
#line 9473 "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 37776 "gram.c" /* yacc.c:1652 */
break;
case 1371:
#line 9481 "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 37788 "gram.c" /* yacc.c:1652 */
break;
case 1372:
#line 9499 "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 37808 "gram.c" /* yacc.c:1652 */
break;
case 1373:
#line 9517 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 37814 "gram.c" /* yacc.c:1652 */
break;
case 1374:
#line 9518 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = NULL; }
#line 37820 "gram.c" /* yacc.c:1652 */
break;
case 1375:
#line 9523 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (Node *) (yyvsp[0].list);
}
#line 37828 "gram.c" /* yacc.c:1652 */
break;
case 1376:
#line 9527 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (Node *) makeInteger(true);
}
#line 37836 "gram.c" /* yacc.c:1652 */
break;
case 1377:
#line 9547 "gram.y" /* yacc.c:1652 */
{
AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
n->pubname = (yyvsp[-2].str);
n->options = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 37847 "gram.c" /* yacc.c:1652 */
break;
case 1378:
#line 9554 "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 37859 "gram.c" /* yacc.c:1652 */
break;
case 1379:
#line 9562 "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 37871 "gram.c" /* yacc.c:1652 */
break;
case 1380:
#line 9570 "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 37883 "gram.c" /* yacc.c:1652 */
break;
case 1381:
#line 9587 "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 37897 "gram.c" /* yacc.c:1652 */
break;
case 1382:
#line 9600 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make1((yyvsp[0].value));
}
#line 37905 "gram.c" /* yacc.c:1652 */
break;
case 1383:
#line 9604 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].value));
}
#line 37913 "gram.c" /* yacc.c:1652 */
break;
case 1384:
#line 9610 "gram.y" /* yacc.c:1652 */
{ (yyval.value) = makeString((yyvsp[0].str)); }
#line 37919 "gram.c" /* yacc.c:1652 */
break;
case 1385:
#line 9620 "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 37932 "gram.c" /* yacc.c:1652 */
break;
case 1386:
#line 9629 "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 37945 "gram.c" /* yacc.c:1652 */
break;
case 1387:
#line 9638 "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 37958 "gram.c" /* yacc.c:1652 */
break;
case 1388:
#line 9647 "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 37972 "gram.c" /* yacc.c:1652 */
break;
case 1389:
#line 9657 "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 37986 "gram.c" /* yacc.c:1652 */
break;
case 1390:
#line 9667 "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 38000 "gram.c" /* yacc.c:1652 */
break;
case 1391:
#line 9685 "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 38012 "gram.c" /* yacc.c:1652 */
break;
case 1392:
#line 9693 "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 38024 "gram.c" /* yacc.c:1652 */
break;
case 1393:
#line 9711 "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 38040 "gram.c" /* yacc.c:1652 */
break;
case 1394:
#line 9725 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 38046 "gram.c" /* yacc.c:1652 */
break;
case 1395:
#line 9726 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].node)); }
#line 38052 "gram.c" /* yacc.c:1652 */
break;
case 1396:
#line 9727 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 38058 "gram.c" /* yacc.c:1652 */
break;
case 1397:
#line 9733 "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 38068 "gram.c" /* yacc.c:1652 */
break;
case 1398:
#line 9739 "gram.y" /* yacc.c:1652 */
{ if ((yyvsp[0].node) != NULL)
(yyval.list) = list_make1((yyvsp[0].node));
else
(yyval.list) = NIL;
}
#line 38078 "gram.c" /* yacc.c:1652 */
break;
case 1404:
#line 9755 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 38084 "gram.c" /* yacc.c:1652 */
break;
case 1405:
#line 9756 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = NULL; }
#line 38090 "gram.c" /* yacc.c:1652 */
break;
case 1406:
#line 9759 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = CMD_SELECT; }
#line 38096 "gram.c" /* yacc.c:1652 */
break;
case 1407:
#line 9760 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = CMD_UPDATE; }
#line 38102 "gram.c" /* yacc.c:1652 */
break;
case 1408:
#line 9761 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = CMD_DELETE; }
#line 38108 "gram.c" /* yacc.c:1652 */
break;
case 1409:
#line 9762 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = CMD_INSERT; }
#line 38114 "gram.c" /* yacc.c:1652 */
break;
case 1410:
#line 9766 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = true; }
#line 38120 "gram.c" /* yacc.c:1652 */
break;
case 1411:
#line 9767 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 38126 "gram.c" /* yacc.c:1652 */
break;
case 1412:
#line 9768 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 38132 "gram.c" /* yacc.c:1652 */
break;
case 1413:
#line 9781 "gram.y" /* yacc.c:1652 */
{
NotifyStmt *n = makeNode(NotifyStmt);
n->conditionname = (yyvsp[-1].str);
n->payload = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 38143 "gram.c" /* yacc.c:1652 */
break;
case 1414:
#line 9790 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 38149 "gram.c" /* yacc.c:1652 */
break;
case 1415:
#line 9791 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = NULL; }
#line 38155 "gram.c" /* yacc.c:1652 */
break;
case 1416:
#line 9795 "gram.y" /* yacc.c:1652 */
{
ListenStmt *n = makeNode(ListenStmt);
n->conditionname = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 38165 "gram.c" /* yacc.c:1652 */
break;
case 1417:
#line 9804 "gram.y" /* yacc.c:1652 */
{
UnlistenStmt *n = makeNode(UnlistenStmt);
n->conditionname = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 38175 "gram.c" /* yacc.c:1652 */
break;
case 1418:
#line 9810 "gram.y" /* yacc.c:1652 */
{
UnlistenStmt *n = makeNode(UnlistenStmt);
n->conditionname = NULL;
(yyval.node) = (Node *)n;
}
#line 38185 "gram.c" /* yacc.c:1652 */
break;
case 1419:
#line 9829 "gram.y" /* yacc.c:1652 */
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_ROLLBACK;
n->options = NIL;
n->chain = (yyvsp[0].boolean);
(yyval.node) = (Node *)n;
}
#line 38197 "gram.c" /* yacc.c:1652 */
break;
case 1420:
#line 9837 "gram.y" /* yacc.c:1652 */
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_BEGIN;
n->options = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 38208 "gram.c" /* yacc.c:1652 */
break;
case 1421:
#line 9844 "gram.y" /* yacc.c:1652 */
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_START;
n->options = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 38219 "gram.c" /* yacc.c:1652 */
break;
case 1422:
#line 9851 "gram.y" /* yacc.c:1652 */
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_COMMIT;
n->options = NIL;
n->chain = (yyvsp[0].boolean);
(yyval.node) = (Node *)n;
}
#line 38231 "gram.c" /* yacc.c:1652 */
break;
case 1423:
#line 9859 "gram.y" /* yacc.c:1652 */
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_COMMIT;
n->options = NIL;
n->chain = (yyvsp[0].boolean);
(yyval.node) = (Node *)n;
}
#line 38243 "gram.c" /* yacc.c:1652 */
break;
case 1424:
#line 9867 "gram.y" /* yacc.c:1652 */
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_ROLLBACK;
n->options = NIL;
n->chain = (yyvsp[0].boolean);
(yyval.node) = (Node *)n;
}
#line 38255 "gram.c" /* yacc.c:1652 */
break;
case 1425:
#line 9875 "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 38266 "gram.c" /* yacc.c:1652 */
break;
case 1426:
#line 9882 "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 38277 "gram.c" /* yacc.c:1652 */
break;
case 1427:
#line 9889 "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 38288 "gram.c" /* yacc.c:1652 */
break;
case 1428:
#line 9896 "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 38299 "gram.c" /* yacc.c:1652 */
break;
case 1429:
#line 9903 "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 38310 "gram.c" /* yacc.c:1652 */
break;
case 1430:
#line 9910 "gram.y" /* yacc.c:1652 */
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_PREPARE;
n->gid = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 38321 "gram.c" /* yacc.c:1652 */
break;
case 1431:
#line 9917 "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 38332 "gram.c" /* yacc.c:1652 */
break;
case 1432:
#line 9924 "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 38343 "gram.c" /* yacc.c:1652 */
break;
case 1433:
#line 9932 "gram.y" /* yacc.c:1652 */
{}
#line 38349 "gram.c" /* yacc.c:1652 */
break;
case 1434:
#line 9933 "gram.y" /* yacc.c:1652 */
{}
#line 38355 "gram.c" /* yacc.c:1652 */
break;
case 1435:
#line 9934 "gram.y" /* yacc.c:1652 */
{}
#line 38361 "gram.c" /* yacc.c:1652 */
break;
case 1436:
#line 9939 "gram.y" /* yacc.c:1652 */
{ (yyval.defelt) = makeDefElem("transaction_isolation",
makeStringConst((yyvsp[0].str), (yylsp[0])), (yylsp[-2])); }
#line 38368 "gram.c" /* yacc.c:1652 */
break;
case 1437:
#line 9942 "gram.y" /* yacc.c:1652 */
{ (yyval.defelt) = makeDefElem("transaction_read_only",
makeIntConst(true, (yylsp[-1])), (yylsp[-1])); }
#line 38375 "gram.c" /* yacc.c:1652 */
break;
case 1438:
#line 9945 "gram.y" /* yacc.c:1652 */
{ (yyval.defelt) = makeDefElem("transaction_read_only",
makeIntConst(false, (yylsp[-1])), (yylsp[-1])); }
#line 38382 "gram.c" /* yacc.c:1652 */
break;
case 1439:
#line 9948 "gram.y" /* yacc.c:1652 */
{ (yyval.defelt) = makeDefElem("transaction_deferrable",
makeIntConst(true, (yylsp[0])), (yylsp[0])); }
#line 38389 "gram.c" /* yacc.c:1652 */
break;
case 1440:
#line 9951 "gram.y" /* yacc.c:1652 */
{ (yyval.defelt) = makeDefElem("transaction_deferrable",
makeIntConst(false, (yylsp[-1])), (yylsp[-1])); }
#line 38396 "gram.c" /* yacc.c:1652 */
break;
case 1441:
#line 9958 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].defelt)); }
#line 38402 "gram.c" /* yacc.c:1652 */
break;
case 1442:
#line 9960 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
#line 38408 "gram.c" /* yacc.c:1652 */
break;
case 1443:
#line 9962 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
#line 38414 "gram.c" /* yacc.c:1652 */
break;
case 1445:
#line 9968 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 38420 "gram.c" /* yacc.c:1652 */
break;
case 1446:
#line 9972 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = true; }
#line 38426 "gram.c" /* yacc.c:1652 */
break;
case 1447:
#line 9973 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 38432 "gram.c" /* yacc.c:1652 */
break;
case 1448:
#line 9974 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 38438 "gram.c" /* yacc.c:1652 */
break;
case 1449:
#line 9988 "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 38454 "gram.c" /* yacc.c:1652 */
break;
case 1450:
#line 10001 "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 38470 "gram.c" /* yacc.c:1652 */
break;
case 1451:
#line 10014 "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 38491 "gram.c" /* yacc.c:1652 */
break;
case 1452:
#line 10032 "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 38512 "gram.c" /* yacc.c:1652 */
break;
case 1453:
#line 10051 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = CASCADED_CHECK_OPTION; }
#line 38518 "gram.c" /* yacc.c:1652 */
break;
case 1454:
#line 10052 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = CASCADED_CHECK_OPTION; }
#line 38524 "gram.c" /* yacc.c:1652 */
break;
case 1455:
#line 10053 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = LOCAL_CHECK_OPTION; }
#line 38530 "gram.c" /* yacc.c:1652 */
break;
case 1456:
#line 10054 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = NO_CHECK_OPTION; }
#line 38536 "gram.c" /* yacc.c:1652 */
break;
case 1457:
#line 10065 "gram.y" /* yacc.c:1652 */
{
LoadStmt *n = makeNode(LoadStmt);
n->filename = (yyvsp[0].str);
(yyval.node) = (Node *)n;
}
#line 38546 "gram.c" /* yacc.c:1652 */
break;
case 1458:
#line 10081 "gram.y" /* yacc.c:1652 */
{
CreatedbStmt *n = makeNode(CreatedbStmt);
n->dbname = (yyvsp[-2].str);
n->options = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 38557 "gram.c" /* yacc.c:1652 */
break;
case 1459:
#line 10090 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 38563 "gram.c" /* yacc.c:1652 */
break;
case 1460:
#line 10091 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 38569 "gram.c" /* yacc.c:1652 */
break;
case 1461:
#line 10095 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].defelt)); }
#line 38575 "gram.c" /* yacc.c:1652 */
break;
case 1462:
#line 10096 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
#line 38581 "gram.c" /* yacc.c:1652 */
break;
case 1463:
#line 10101 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *)makeInteger((yyvsp[0].ival)), (yylsp[-2]));
}
#line 38589 "gram.c" /* yacc.c:1652 */
break;
case 1464:
#line 10105 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
}
#line 38597 "gram.c" /* yacc.c:1652 */
break;
case 1465:
#line 10109 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem((yyvsp[-2].str), NULL, (yylsp[-2]));
}
#line 38605 "gram.c" /* yacc.c:1652 */
break;
case 1466:
#line 10126 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 38611 "gram.c" /* yacc.c:1652 */
break;
case 1467:
#line 10127 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = pstrdup("connection_limit"); }
#line 38617 "gram.c" /* yacc.c:1652 */
break;
case 1468:
#line 10128 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = pstrdup((yyvsp[0].keyword)); }
#line 38623 "gram.c" /* yacc.c:1652 */
break;
case 1469:
#line 10129 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = pstrdup((yyvsp[0].keyword)); }
#line 38629 "gram.c" /* yacc.c:1652 */
break;
case 1470:
#line 10130 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = pstrdup((yyvsp[0].keyword)); }
#line 38635 "gram.c" /* yacc.c:1652 */
break;
case 1471:
#line 10131 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = pstrdup((yyvsp[0].keyword)); }
#line 38641 "gram.c" /* yacc.c:1652 */
break;
case 1472:
#line 10132 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = pstrdup((yyvsp[0].keyword)); }
#line 38647 "gram.c" /* yacc.c:1652 */
break;
case 1473:
#line 10139 "gram.y" /* yacc.c:1652 */
{}
#line 38653 "gram.c" /* yacc.c:1652 */
break;
case 1474:
#line 10140 "gram.y" /* yacc.c:1652 */
{}
#line 38659 "gram.c" /* yacc.c:1652 */
break;
case 1475:
#line 10152 "gram.y" /* yacc.c:1652 */
{
AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
n->dbname = (yyvsp[-2].str);
n->options = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 38670 "gram.c" /* yacc.c:1652 */
break;
case 1476:
#line 10159 "gram.y" /* yacc.c:1652 */
{
AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
n->dbname = (yyvsp[-1].str);
n->options = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 38681 "gram.c" /* yacc.c:1652 */
break;
case 1477:
#line 10166 "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 38693 "gram.c" /* yacc.c:1652 */
break;
case 1478:
#line 10177 "gram.y" /* yacc.c:1652 */
{
AlterDatabaseSetStmt *n = makeNode(AlterDatabaseSetStmt);
n->dbname = (yyvsp[-1].str);
n->setstmt = (yyvsp[0].vsetstmt);
(yyval.node) = (Node *)n;
}
#line 38704 "gram.c" /* yacc.c:1652 */
break;
case 1479:
#line 10194 "gram.y" /* yacc.c:1652 */
{
DropdbStmt *n = makeNode(DropdbStmt);
n->dbname = (yyvsp[0].str);
n->missing_ok = false;
(yyval.node) = (Node *)n;
}
#line 38715 "gram.c" /* yacc.c:1652 */
break;
case 1480:
#line 10201 "gram.y" /* yacc.c:1652 */
{
DropdbStmt *n = makeNode(DropdbStmt);
n->dbname = (yyvsp[0].str);
n->missing_ok = true;
(yyval.node) = (Node *)n;
}
#line 38726 "gram.c" /* yacc.c:1652 */
break;
case 1481:
#line 10217 "gram.y" /* yacc.c:1652 */
{
AlterCollationStmt *n = makeNode(AlterCollationStmt);
n->collname = (yyvsp[-2].list);
(yyval.node) = (Node *)n;
}
#line 38736 "gram.c" /* yacc.c:1652 */
break;
case 1482:
#line 10234 "gram.y" /* yacc.c:1652 */
{
AlterSystemStmt *n = makeNode(AlterSystemStmt);
n->setstmt = (yyvsp[0].vsetstmt);
(yyval.node) = (Node *)n;
}
#line 38746 "gram.c" /* yacc.c:1652 */
break;
case 1483:
#line 10240 "gram.y" /* yacc.c:1652 */
{
AlterSystemStmt *n = makeNode(AlterSystemStmt);
n->setstmt = (yyvsp[0].vsetstmt);
(yyval.node) = (Node *)n;
}
#line 38756 "gram.c" /* yacc.c:1652 */
break;
case 1484:
#line 10256 "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 38769 "gram.c" /* yacc.c:1652 */
break;
case 1485:
#line 10269 "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 38781 "gram.c" /* yacc.c:1652 */
break;
case 1486:
#line 10278 "gram.y" /* yacc.c:1652 */
{
AlterDomainStmt *n = makeNode(AlterDomainStmt);
n->subtype = 'N';
n->typeName = (yyvsp[-3].list);
(yyval.node) = (Node *)n;
}
#line 38792 "gram.c" /* yacc.c:1652 */
break;
case 1487:
#line 10286 "gram.y" /* yacc.c:1652 */
{
AlterDomainStmt *n = makeNode(AlterDomainStmt);
n->subtype = 'O';
n->typeName = (yyvsp[-3].list);
(yyval.node) = (Node *)n;
}
#line 38803 "gram.c" /* yacc.c:1652 */
break;
case 1488:
#line 10294 "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 38815 "gram.c" /* yacc.c:1652 */
break;
case 1489:
#line 10303 "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 38829 "gram.c" /* yacc.c:1652 */
break;
case 1490:
#line 10314 "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 38843 "gram.c" /* yacc.c:1652 */
break;
case 1491:
#line 10325 "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 38855 "gram.c" /* yacc.c:1652 */
break;
case 1492:
#line 10334 "gram.y" /* yacc.c:1652 */
{}
#line 38861 "gram.c" /* yacc.c:1652 */
break;
case 1493:
#line 10335 "gram.y" /* yacc.c:1652 */
{}
#line 38867 "gram.c" /* yacc.c:1652 */
break;
case 1494:
#line 10347 "gram.y" /* yacc.c:1652 */
{
AlterTSDictionaryStmt *n = makeNode(AlterTSDictionaryStmt);
n->dictname = (yyvsp[-1].list);
n->options = (yyvsp[0].list);
(yyval.node) = (Node *)n;
}
#line 38878 "gram.c" /* yacc.c:1652 */
break;
case 1495:
#line 10357 "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 38893 "gram.c" /* yacc.c:1652 */
break;
case 1496:
#line 10368 "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 38908 "gram.c" /* yacc.c:1652 */
break;
case 1497:
#line 10379 "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 38923 "gram.c" /* yacc.c:1652 */
break;
case 1498:
#line 10390 "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 38938 "gram.c" /* yacc.c:1652 */
break;
case 1499:
#line 10401 "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 38951 "gram.c" /* yacc.c:1652 */
break;
case 1500:
#line 10410 "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 38964 "gram.c" /* yacc.c:1652 */
break;
case 1501:
#line 10421 "gram.y" /* yacc.c:1652 */
{}
#line 38970 "gram.c" /* yacc.c:1652 */
break;
case 1502:
#line 10422 "gram.y" /* yacc.c:1652 */
{}
#line 38976 "gram.c" /* yacc.c:1652 */
break;
case 1503:
#line 10438 "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 38990 "gram.c" /* yacc.c:1652 */
break;
case 1504:
#line 10460 "gram.y" /* yacc.c:1652 */
{
ClusterStmt *n = makeNode(ClusterStmt);
n->relation = (yyvsp[-1].range);
n->indexname = (yyvsp[0].str);
n->options = 0;
if ((yyvsp[-2].boolean))
n->options |= CLUOPT_VERBOSE;
(yyval.node) = (Node*)n;
}
#line 39004 "gram.c" /* yacc.c:1652 */
break;
case 1505:
#line 10470 "gram.y" /* yacc.c:1652 */
{
ClusterStmt *n = makeNode(ClusterStmt);
n->relation = NULL;
n->indexname = NULL;
n->options = 0;
if ((yyvsp[0].boolean))
n->options |= CLUOPT_VERBOSE;
(yyval.node) = (Node*)n;
}
#line 39018 "gram.c" /* yacc.c:1652 */
break;
case 1506:
#line 10481 "gram.y" /* yacc.c:1652 */
{
ClusterStmt *n = makeNode(ClusterStmt);
n->relation = (yyvsp[0].range);
n->indexname = (yyvsp[-2].str);
n->options = 0;
if ((yyvsp[-3].boolean))
n->options |= CLUOPT_VERBOSE;
(yyval.node) = (Node*)n;
}
#line 39032 "gram.c" /* yacc.c:1652 */
break;
case 1507:
#line 10493 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 39038 "gram.c" /* yacc.c:1652 */
break;
case 1508:
#line 10494 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = NULL; }
#line 39044 "gram.c" /* yacc.c:1652 */
break;
case 1509:
#line 10507 "gram.y" /* yacc.c:1652 */
{
VacuumStmt *n = makeNode(VacuumStmt);
n->options = NIL;
if ((yyvsp[-4].boolean))
n->options = lappend(n->options,
makeDefElem("full", NULL, (yylsp[-4])));
if ((yyvsp[-3].boolean))
n->options = lappend(n->options,
makeDefElem("freeze", NULL, (yylsp[-3])));
if ((yyvsp[-2].boolean))
n->options = lappend(n->options,
makeDefElem("verbose", NULL, (yylsp[-2])));
if ((yyvsp[-1].boolean))
n->options = lappend(n->options,
makeDefElem("analyze", NULL, (yylsp[-1])));
n->rels = (yyvsp[0].list);
n->is_vacuumcmd = true;
(yyval.node) = (Node *)n;
}
#line 39068 "gram.c" /* yacc.c:1652 */
break;
case 1510:
#line 10527 "gram.y" /* yacc.c:1652 */
{
VacuumStmt *n = makeNode(VacuumStmt);
n->options = (yyvsp[-2].list);
n->rels = (yyvsp[0].list);
n->is_vacuumcmd = true;
(yyval.node) = (Node *) n;
}
#line 39080 "gram.c" /* yacc.c:1652 */
break;
case 1511:
#line 10537 "gram.y" /* yacc.c:1652 */
{
VacuumStmt *n = makeNode(VacuumStmt);
n->options = NIL;
if ((yyvsp[-1].boolean))
n->options = lappend(n->options,
makeDefElem("verbose", NULL, (yylsp[-1])));
n->rels = (yyvsp[0].list);
n->is_vacuumcmd = false;
(yyval.node) = (Node *)n;
}
#line 39095 "gram.c" /* yacc.c:1652 */
break;
case 1512:
#line 10548 "gram.y" /* yacc.c:1652 */
{
VacuumStmt *n = makeNode(VacuumStmt);
n->options = (yyvsp[-2].list);
n->rels = (yyvsp[0].list);
n->is_vacuumcmd = false;
(yyval.node) = (Node *) n;
}
#line 39107 "gram.c" /* yacc.c:1652 */
break;
case 1513:
#line 10559 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make1((yyvsp[0].defelt));
}
#line 39115 "gram.c" /* yacc.c:1652 */
break;
case 1514:
#line 10563 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
}
#line 39123 "gram.c" /* yacc.c:1652 */
break;
case 1515:
#line 10569 "gram.y" /* yacc.c:1652 */
{}
#line 39129 "gram.c" /* yacc.c:1652 */
break;
case 1516:
#line 10570 "gram.y" /* yacc.c:1652 */
{}
#line 39135 "gram.c" /* yacc.c:1652 */
break;
case 1517:
#line 10575 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1]));
}
#line 39143 "gram.c" /* yacc.c:1652 */
break;
case 1518:
#line 10581 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 39149 "gram.c" /* yacc.c:1652 */
break;
case 1519:
#line 10582 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = "analyze"; }
#line 39155 "gram.c" /* yacc.c:1652 */
break;
case 1520:
#line 10586 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
#line 39161 "gram.c" /* yacc.c:1652 */
break;
case 1521:
#line 10587 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) (yyvsp[0].value); }
#line 39167 "gram.c" /* yacc.c:1652 */
break;
case 1522:
#line 10588 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = NULL; }
#line 39173 "gram.c" /* yacc.c:1652 */
break;
case 1523:
#line 10592 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = true; }
#line 39179 "gram.c" /* yacc.c:1652 */
break;
case 1524:
#line 10593 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 39185 "gram.c" /* yacc.c:1652 */
break;
case 1525:
#line 10597 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = true; }
#line 39191 "gram.c" /* yacc.c:1652 */
break;
case 1526:
#line 10598 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 39197 "gram.c" /* yacc.c:1652 */
break;
case 1527:
#line 10601 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = true; }
#line 39203 "gram.c" /* yacc.c:1652 */
break;
case 1528:
#line 10602 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 39209 "gram.c" /* yacc.c:1652 */
break;
case 1529:
#line 10605 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = true; }
#line 39215 "gram.c" /* yacc.c:1652 */
break;
case 1530:
#line 10606 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 39221 "gram.c" /* yacc.c:1652 */
break;
case 1531:
#line 10610 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 39227 "gram.c" /* yacc.c:1652 */
break;
case 1532:
#line 10611 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 39233 "gram.c" /* yacc.c:1652 */
break;
case 1533:
#line 10616 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (Node *) makeVacuumRelation((yyvsp[-1].range), InvalidOid, (yyvsp[0].list));
}
#line 39241 "gram.c" /* yacc.c:1652 */
break;
case 1534:
#line 10623 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].node)); }
#line 39247 "gram.c" /* yacc.c:1652 */
break;
case 1535:
#line 10625 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
#line 39253 "gram.c" /* yacc.c:1652 */
break;
case 1536:
#line 10629 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 39259 "gram.c" /* yacc.c:1652 */
break;
case 1537:
#line 10630 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 39265 "gram.c" /* yacc.c:1652 */
break;
case 1538:
#line 10644 "gram.y" /* yacc.c:1652 */
{
ExplainStmt *n = makeNode(ExplainStmt);
n->query = (yyvsp[0].node);
n->options = NIL;
(yyval.node) = (Node *) n;
}
#line 39276 "gram.c" /* yacc.c:1652 */
break;
case 1539:
#line 10651 "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 39290 "gram.c" /* yacc.c:1652 */
break;
case 1540:
#line 10661 "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 39301 "gram.c" /* yacc.c:1652 */
break;
case 1541:
#line 10668 "gram.y" /* yacc.c:1652 */
{
ExplainStmt *n = makeNode(ExplainStmt);
n->query = (yyvsp[0].node);
n->options = (yyvsp[-2].list);
(yyval.node) = (Node *) n;
}
#line 39312 "gram.c" /* yacc.c:1652 */
break;
case 1551:
#line 10690 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make1((yyvsp[0].defelt));
}
#line 39320 "gram.c" /* yacc.c:1652 */
break;
case 1552:
#line 10694 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
}
#line 39328 "gram.c" /* yacc.c:1652 */
break;
case 1553:
#line 10701 "gram.y" /* yacc.c:1652 */
{
(yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1]));
}
#line 39336 "gram.c" /* yacc.c:1652 */
break;
case 1554:
#line 10707 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 39342 "gram.c" /* yacc.c:1652 */
break;
case 1555:
#line 10708 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = "analyze"; }
#line 39348 "gram.c" /* yacc.c:1652 */
break;
case 1556:
#line 10712 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
#line 39354 "gram.c" /* yacc.c:1652 */
break;
case 1557:
#line 10713 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) (yyvsp[0].value); }
#line 39360 "gram.c" /* yacc.c:1652 */
break;
case 1558:
#line 10714 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = NULL; }
#line 39366 "gram.c" /* yacc.c:1652 */
break;
case 1559:
#line 10725 "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 39378 "gram.c" /* yacc.c:1652 */
break;
case 1560:
#line 10734 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 39384 "gram.c" /* yacc.c:1652 */
break;
case 1561:
#line 10735 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 39390 "gram.c" /* yacc.c:1652 */
break;
case 1566:
#line 10753 "gram.y" /* yacc.c:1652 */
{
ExecuteStmt *n = makeNode(ExecuteStmt);
n->name = (yyvsp[-1].str);
n->params = (yyvsp[0].list);
(yyval.node) = (Node *) n;
}
#line 39401 "gram.c" /* yacc.c:1652 */
break;
case 1567:
#line 10761 "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 39421 "gram.c" /* yacc.c:1652 */
break;
case 1568:
#line 10778 "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 39441 "gram.c" /* yacc.c:1652 */
break;
case 1569:
#line 10795 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 39447 "gram.c" /* yacc.c:1652 */
break;
case 1570:
#line 10796 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 39453 "gram.c" /* yacc.c:1652 */
break;
case 1571:
#line 10807 "gram.y" /* yacc.c:1652 */
{
DeallocateStmt *n = makeNode(DeallocateStmt);
n->name = (yyvsp[0].str);
(yyval.node) = (Node *) n;
}
#line 39463 "gram.c" /* yacc.c:1652 */
break;
case 1572:
#line 10813 "gram.y" /* yacc.c:1652 */
{
DeallocateStmt *n = makeNode(DeallocateStmt);
n->name = (yyvsp[0].str);
(yyval.node) = (Node *) n;
}
#line 39473 "gram.c" /* yacc.c:1652 */
break;
case 1573:
#line 10819 "gram.y" /* yacc.c:1652 */
{
DeallocateStmt *n = makeNode(DeallocateStmt);
n->name = NULL;
(yyval.node) = (Node *) n;
}
#line 39483 "gram.c" /* yacc.c:1652 */
break;
case 1574:
#line 10825 "gram.y" /* yacc.c:1652 */
{
DeallocateStmt *n = makeNode(DeallocateStmt);
n->name = NULL;
(yyval.node) = (Node *) n;
}
#line 39493 "gram.c" /* yacc.c:1652 */
break;
case 1575:
#line 10842 "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 39505 "gram.c" /* yacc.c:1652 */
break;
case 1576:
#line 10859 "gram.y" /* yacc.c:1652 */
{
(yyval.range) = (yyvsp[0].range);
}
#line 39513 "gram.c" /* yacc.c:1652 */
break;
case 1577:
#line 10863 "gram.y" /* yacc.c:1652 */
{
(yyvsp[-2].range)->alias = makeAlias((yyvsp[0].str), NIL);
(yyval.range) = (yyvsp[-2].range);
}
#line 39522 "gram.c" /* yacc.c:1652 */
break;
case 1578:
#line 10871 "gram.y" /* yacc.c:1652 */
{
(yyval.istmt) = makeNode(InsertStmt);
(yyval.istmt)->cols = NIL;
(yyval.istmt)->selectStmt = (yyvsp[0].node);
}
#line 39532 "gram.c" /* yacc.c:1652 */
break;
case 1579:
#line 10877 "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 39543 "gram.c" /* yacc.c:1652 */
break;
case 1580:
#line 10884 "gram.y" /* yacc.c:1652 */
{
(yyval.istmt) = makeNode(InsertStmt);
(yyval.istmt)->cols = (yyvsp[-2].list);
(yyval.istmt)->selectStmt = (yyvsp[0].node);
}
#line 39553 "gram.c" /* yacc.c:1652 */
break;
case 1581:
#line 10890 "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 39564 "gram.c" /* yacc.c:1652 */
break;
case 1582:
#line 10897 "gram.y" /* yacc.c:1652 */
{
(yyval.istmt) = makeNode(InsertStmt);
(yyval.istmt)->cols = NIL;
(yyval.istmt)->selectStmt = NULL;
}
#line 39574 "gram.c" /* yacc.c:1652 */
break;
case 1583:
#line 10905 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = OVERRIDING_USER_VALUE; }
#line 39580 "gram.c" /* yacc.c:1652 */
break;
case 1584:
#line 10906 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = OVERRIDING_SYSTEM_VALUE; }
#line 39586 "gram.c" /* yacc.c:1652 */
break;
case 1585:
#line 10911 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].target)); }
#line 39592 "gram.c" /* yacc.c:1652 */
break;
case 1586:
#line 10913 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
#line 39598 "gram.c" /* yacc.c:1652 */
break;
case 1587:
#line 10918 "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 39610 "gram.c" /* yacc.c:1652 */
break;
case 1588:
#line 10929 "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 39623 "gram.c" /* yacc.c:1652 */
break;
case 1589:
#line 10939 "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 39636 "gram.c" /* yacc.c:1652 */
break;
case 1590:
#line 10948 "gram.y" /* yacc.c:1652 */
{
(yyval.onconflict) = NULL;
}
#line 39644 "gram.c" /* yacc.c:1652 */
break;
case 1591:
#line 10955 "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 39656 "gram.c" /* yacc.c:1652 */
break;
case 1592:
#line 10964 "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 39668 "gram.c" /* yacc.c:1652 */
break;
case 1593:
#line 10972 "gram.y" /* yacc.c:1652 */
{
(yyval.infer) = NULL;
}
#line 39676 "gram.c" /* yacc.c:1652 */
break;
case 1594:
#line 10978 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 39682 "gram.c" /* yacc.c:1652 */
break;
case 1595:
#line 10979 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 39688 "gram.c" /* yacc.c:1652 */
break;
case 1596:
#line 10992 "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 39702 "gram.c" /* yacc.c:1652 */
break;
case 1597:
#line 11004 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 39708 "gram.c" /* yacc.c:1652 */
break;
case 1598:
#line 11005 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 39714 "gram.c" /* yacc.c:1652 */
break;
case 1599:
#line 11017 "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 39727 "gram.c" /* yacc.c:1652 */
break;
case 1600:
#line 11027 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = (yyvsp[-1].ival); }
#line 39733 "gram.c" /* yacc.c:1652 */
break;
case 1601:
#line 11028 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = AccessExclusiveLock; }
#line 39739 "gram.c" /* yacc.c:1652 */
break;
case 1602:
#line 11031 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = AccessShareLock; }
#line 39745 "gram.c" /* yacc.c:1652 */
break;
case 1603:
#line 11032 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = RowShareLock; }
#line 39751 "gram.c" /* yacc.c:1652 */
break;
case 1604:
#line 11033 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = RowExclusiveLock; }
#line 39757 "gram.c" /* yacc.c:1652 */
break;
case 1605:
#line 11034 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = ShareUpdateExclusiveLock; }
#line 39763 "gram.c" /* yacc.c:1652 */
break;
case 1606:
#line 11035 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = ShareLock; }
#line 39769 "gram.c" /* yacc.c:1652 */
break;
case 1607:
#line 11036 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = ShareRowExclusiveLock; }
#line 39775 "gram.c" /* yacc.c:1652 */
break;
case 1608:
#line 11037 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = ExclusiveLock; }
#line 39781 "gram.c" /* yacc.c:1652 */
break;
case 1609:
#line 11038 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = AccessExclusiveLock; }
#line 39787 "gram.c" /* yacc.c:1652 */
break;
case 1610:
#line 11041 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = true; }
#line 39793 "gram.c" /* yacc.c:1652 */
break;
case 1611:
#line 11042 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 39799 "gram.c" /* yacc.c:1652 */
break;
case 1612:
#line 11046 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = LockWaitError; }
#line 39805 "gram.c" /* yacc.c:1652 */
break;
case 1613:
#line 11047 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = LockWaitSkip; }
#line 39811 "gram.c" /* yacc.c:1652 */
break;
case 1614:
#line 11048 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = LockWaitBlock; }
#line 39817 "gram.c" /* yacc.c:1652 */
break;
case 1615:
#line 11064 "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 39832 "gram.c" /* yacc.c:1652 */
break;
case 1616:
#line 11077 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 39838 "gram.c" /* yacc.c:1652 */
break;
case 1617:
#line 11078 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_concat((yyvsp[-2].list),(yyvsp[0].list)); }
#line 39844 "gram.c" /* yacc.c:1652 */
break;
case 1618:
#line 11083 "gram.y" /* yacc.c:1652 */
{
(yyvsp[-2].target)->val = (Node *) (yyvsp[0].node);
(yyval.list) = list_make1((yyvsp[-2].target));
}
#line 39853 "gram.c" /* yacc.c:1652 */
break;
case 1619:
#line 11088 "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 39878 "gram.c" /* yacc.c:1652 */
break;
case 1620:
#line 11112 "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 39890 "gram.c" /* yacc.c:1652 */
break;
case 1621:
#line 11122 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].target)); }
#line 39896 "gram.c" /* yacc.c:1652 */
break;
case 1622:
#line 11123 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list),(yyvsp[0].target)); }
#line 39902 "gram.c" /* yacc.c:1652 */
break;
case 1623:
#line 11134 "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 39915 "gram.c" /* yacc.c:1652 */
break;
case 1624:
#line 11144 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 39921 "gram.c" /* yacc.c:1652 */
break;
case 1625:
#line 11147 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = 0; }
#line 39927 "gram.c" /* yacc.c:1652 */
break;
case 1626:
#line 11148 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = (yyvsp[-2].ival) | CURSOR_OPT_NO_SCROLL; }
#line 39933 "gram.c" /* yacc.c:1652 */
break;
case 1627:
#line 11149 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = (yyvsp[-1].ival) | CURSOR_OPT_SCROLL; }
#line 39939 "gram.c" /* yacc.c:1652 */
break;
case 1628:
#line 11150 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = (yyvsp[-1].ival) | CURSOR_OPT_BINARY; }
#line 39945 "gram.c" /* yacc.c:1652 */
break;
case 1629:
#line 11151 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = (yyvsp[-1].ival) | CURSOR_OPT_INSENSITIVE; }
#line 39951 "gram.c" /* yacc.c:1652 */
break;
case 1630:
#line 11154 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = 0; }
#line 39957 "gram.c" /* yacc.c:1652 */
break;
case 1631:
#line 11155 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = CURSOR_OPT_HOLD; }
#line 39963 "gram.c" /* yacc.c:1652 */
break;
case 1632:
#line 11156 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = 0; }
#line 39969 "gram.c" /* yacc.c:1652 */
break;
case 1635:
#line 11209 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[-1].node); }
#line 39975 "gram.c" /* yacc.c:1652 */
break;
case 1636:
#line 11210 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[-1].node); }
#line 39981 "gram.c" /* yacc.c:1652 */
break;
case 1637:
#line 11225 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 39987 "gram.c" /* yacc.c:1652 */
break;
case 1638:
#line 11227 "gram.y" /* yacc.c:1652 */
{
insertSelectOptions((SelectStmt *) (yyvsp[-1].node), (yyvsp[0].list), NIL,
NULL, NULL, NULL,
yyscanner);
(yyval.node) = (yyvsp[-1].node);
}
#line 39998 "gram.c" /* yacc.c:1652 */
break;
case 1639:
#line 11234 "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 40010 "gram.c" /* yacc.c:1652 */
break;
case 1640:
#line 11242 "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 40022 "gram.c" /* yacc.c:1652 */
break;
case 1641:
#line 11250 "gram.y" /* yacc.c:1652 */
{
insertSelectOptions((SelectStmt *) (yyvsp[0].node), NULL, NIL,
NULL, NULL,
(yyvsp[-1].with),
yyscanner);
(yyval.node) = (yyvsp[0].node);
}
#line 40034 "gram.c" /* yacc.c:1652 */
break;
case 1642:
#line 11258 "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 40046 "gram.c" /* yacc.c:1652 */
break;
case 1643:
#line 11266 "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 40058 "gram.c" /* yacc.c:1652 */
break;
case 1644:
#line 11274 "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 40070 "gram.c" /* yacc.c:1652 */
break;
case 1645:
#line 11284 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 40076 "gram.c" /* yacc.c:1652 */
break;
case 1646:
#line 11285 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 40082 "gram.c" /* yacc.c:1652 */
break;
case 1647:
#line 11315 "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 40098 "gram.c" /* yacc.c:1652 */
break;
case 1648:
#line 11329 "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 40115 "gram.c" /* yacc.c:1652 */
break;
case 1649:
#line 11341 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 40121 "gram.c" /* yacc.c:1652 */
break;
case 1650:
#line 11343 "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 40144 "gram.c" /* yacc.c:1652 */
break;
case 1651:
#line 11362 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeSetOp(SETOP_UNION, (yyvsp[-1].boolean), (yyvsp[-3].node), (yyvsp[0].node));
}
#line 40152 "gram.c" /* yacc.c:1652 */
break;
case 1652:
#line 11366 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeSetOp(SETOP_INTERSECT, (yyvsp[-1].boolean), (yyvsp[-3].node), (yyvsp[0].node));
}
#line 40160 "gram.c" /* yacc.c:1652 */
break;
case 1653:
#line 11370 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeSetOp(SETOP_EXCEPT, (yyvsp[-1].boolean), (yyvsp[-3].node), (yyvsp[0].node));
}
#line 40168 "gram.c" /* yacc.c:1652 */
break;
case 1654:
#line 11387 "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 40179 "gram.c" /* yacc.c:1652 */
break;
case 1655:
#line 11394 "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 40190 "gram.c" /* yacc.c:1652 */
break;
case 1656:
#line 11401 "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 40201 "gram.c" /* yacc.c:1652 */
break;
case 1657:
#line 11410 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].node)); }
#line 40207 "gram.c" /* yacc.c:1652 */
break;
case 1658:
#line 11411 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
#line 40213 "gram.c" /* yacc.c:1652 */
break;
case 1659:
#line 11415 "gram.y" /* yacc.c:1652 */
{
CommonTableExpr *n = makeNode(CommonTableExpr);
n->ctename = (yyvsp[-6].str);
n->aliascolnames = (yyvsp[-5].list);
n->ctematerialized = (yyvsp[-3].ival);
n->ctequery = (yyvsp[-1].node);
n->location = (yylsp[-6]);
(yyval.node) = (Node *) n;
}
#line 40227 "gram.c" /* yacc.c:1652 */
break;
case 1660:
#line 11427 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = CTEMaterializeAlways; }
#line 40233 "gram.c" /* yacc.c:1652 */
break;
case 1661:
#line 11428 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = CTEMaterializeNever; }
#line 40239 "gram.c" /* yacc.c:1652 */
break;
case 1662:
#line 11429 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = CTEMaterializeDefault; }
#line 40245 "gram.c" /* yacc.c:1652 */
break;
case 1663:
#line 11433 "gram.y" /* yacc.c:1652 */
{ (yyval.with) = (yyvsp[0].with); }
#line 40251 "gram.c" /* yacc.c:1652 */
break;
case 1664:
#line 11434 "gram.y" /* yacc.c:1652 */
{ (yyval.with) = NULL; }
#line 40257 "gram.c" /* yacc.c:1652 */
break;
case 1665:
#line 11439 "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 40272 "gram.c" /* yacc.c:1652 */
break;
case 1666:
#line 11450 "gram.y" /* yacc.c:1652 */
{ (yyval.into) = NULL; }
#line 40278 "gram.c" /* yacc.c:1652 */
break;
case 1667:
#line 11459 "gram.y" /* yacc.c:1652 */
{
(yyval.range) = (yyvsp[0].range);
(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
}
#line 40287 "gram.c" /* yacc.c:1652 */
break;
case 1668:
#line 11464 "gram.y" /* yacc.c:1652 */
{
(yyval.range) = (yyvsp[0].range);
(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
}
#line 40296 "gram.c" /* yacc.c:1652 */
break;
case 1669:
#line 11469 "gram.y" /* yacc.c:1652 */
{
(yyval.range) = (yyvsp[0].range);
(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
}
#line 40305 "gram.c" /* yacc.c:1652 */
break;
case 1670:
#line 11474 "gram.y" /* yacc.c:1652 */
{
(yyval.range) = (yyvsp[0].range);
(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
}
#line 40314 "gram.c" /* yacc.c:1652 */
break;
case 1671:
#line 11479 "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 40326 "gram.c" /* yacc.c:1652 */
break;
case 1672:
#line 11487 "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 40338 "gram.c" /* yacc.c:1652 */
break;
case 1673:
#line 11495 "gram.y" /* yacc.c:1652 */
{
(yyval.range) = (yyvsp[0].range);
(yyval.range)->relpersistence = RELPERSISTENCE_UNLOGGED;
}
#line 40347 "gram.c" /* yacc.c:1652 */
break;
case 1674:
#line 11500 "gram.y" /* yacc.c:1652 */
{
(yyval.range) = (yyvsp[0].range);
(yyval.range)->relpersistence = RELPERSISTENCE_PERMANENT;
}
#line 40356 "gram.c" /* yacc.c:1652 */
break;
case 1675:
#line 11505 "gram.y" /* yacc.c:1652 */
{
(yyval.range) = (yyvsp[0].range);
(yyval.range)->relpersistence = RELPERSISTENCE_PERMANENT;
}
#line 40365 "gram.c" /* yacc.c:1652 */
break;
case 1676:
#line 11511 "gram.y" /* yacc.c:1652 */
{}
#line 40371 "gram.c" /* yacc.c:1652 */
break;
case 1677:
#line 11512 "gram.y" /* yacc.c:1652 */
{}
#line 40377 "gram.c" /* yacc.c:1652 */
break;
case 1678:
#line 11516 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = true; }
#line 40383 "gram.c" /* yacc.c:1652 */
break;
case 1679:
#line 11517 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 40389 "gram.c" /* yacc.c:1652 */
break;
case 1680:
#line 11518 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 40395 "gram.c" /* yacc.c:1652 */
break;
case 1681:
#line 11525 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1(NIL); }
#line 40401 "gram.c" /* yacc.c:1652 */
break;
case 1682:
#line 11526 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 40407 "gram.c" /* yacc.c:1652 */
break;
case 1683:
#line 11530 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL;}
#line 40413 "gram.c" /* yacc.c:1652 */
break;
case 1684:
#line 11531 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 40419 "gram.c" /* yacc.c:1652 */
break;
case 1685:
#line 11535 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list);}
#line 40425 "gram.c" /* yacc.c:1652 */
break;
case 1686:
#line 11536 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 40431 "gram.c" /* yacc.c:1652 */
break;
case 1687:
#line 11540 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 40437 "gram.c" /* yacc.c:1652 */
break;
case 1688:
#line 11544 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].sortby)); }
#line 40443 "gram.c" /* yacc.c:1652 */
break;
case 1689:
#line 11545 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].sortby)); }
#line 40449 "gram.c" /* yacc.c:1652 */
break;
case 1690:
#line 11549 "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 40462 "gram.c" /* yacc.c:1652 */
break;
case 1691:
#line 11558 "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 40475 "gram.c" /* yacc.c:1652 */
break;
case 1692:
#line 11570 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make2((yyvsp[0].node), (yyvsp[-1].node)); }
#line 40481 "gram.c" /* yacc.c:1652 */
break;
case 1693:
#line 11571 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make2((yyvsp[-1].node), (yyvsp[0].node)); }
#line 40487 "gram.c" /* yacc.c:1652 */
break;
case 1694:
#line 11572 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make2(NULL, (yyvsp[0].node)); }
#line 40493 "gram.c" /* yacc.c:1652 */
break;
case 1695:
#line 11573 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make2((yyvsp[0].node), NULL); }
#line 40499 "gram.c" /* yacc.c:1652 */
break;
case 1696:
#line 11577 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 40505 "gram.c" /* yacc.c:1652 */
break;
case 1697:
#line 11578 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make2(NULL,NULL); }
#line 40511 "gram.c" /* yacc.c:1652 */
break;
case 1698:
#line 11583 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 40517 "gram.c" /* yacc.c:1652 */
break;
case 1699:
#line 11585 "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 40530 "gram.c" /* yacc.c:1652 */
break;
case 1700:
#line 11601 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[-2].node); }
#line 40536 "gram.c" /* yacc.c:1652 */
break;
case 1701:
#line 11603 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = makeIntConst(1, -1); }
#line 40542 "gram.c" /* yacc.c:1652 */
break;
case 1702:
#line 11608 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 40548 "gram.c" /* yacc.c:1652 */
break;
case 1703:
#line 11611 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[-1].node); }
#line 40554 "gram.c" /* yacc.c:1652 */
break;
case 1704:
#line 11615 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 40560 "gram.c" /* yacc.c:1652 */
break;
case 1705:
#line 11617 "gram.y" /* yacc.c:1652 */
{
/* LIMIT ALL is represented as a NULL constant */
(yyval.node) = makeNullAConst((yylsp[0]));
}
#line 40569 "gram.c" /* yacc.c:1652 */
break;
case 1706:
#line 11624 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 40575 "gram.c" /* yacc.c:1652 */
break;
case 1707:
#line 11644 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 40581 "gram.c" /* yacc.c:1652 */
break;
case 1708:
#line 11646 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[0].node), (yylsp[-1])); }
#line 40587 "gram.c" /* yacc.c:1652 */
break;
case 1709:
#line 11648 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = doNegate((yyvsp[0].node), (yylsp[-1])); }
#line 40593 "gram.c" /* yacc.c:1652 */
break;
case 1710:
#line 11652 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = makeIntConst((yyvsp[0].ival),(yylsp[0])); }
#line 40599 "gram.c" /* yacc.c:1652 */
break;
case 1711:
#line 11653 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = makeFloatConst((yyvsp[0].str),(yylsp[0])); }
#line 40605 "gram.c" /* yacc.c:1652 */
break;
case 1712:
#line 11657 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = 0; }
#line 40611 "gram.c" /* yacc.c:1652 */
break;
case 1713:
#line 11658 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = 0; }
#line 40617 "gram.c" /* yacc.c:1652 */
break;
case 1714:
#line 11661 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = 0; }
#line 40623 "gram.c" /* yacc.c:1652 */
break;
case 1715:
#line 11662 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = 0; }
#line 40629 "gram.c" /* yacc.c:1652 */
break;
case 1716:
#line 11687 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 40635 "gram.c" /* yacc.c:1652 */
break;
case 1717:
#line 11688 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 40641 "gram.c" /* yacc.c:1652 */
break;
case 1718:
#line 11692 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].node)); }
#line 40647 "gram.c" /* yacc.c:1652 */
break;
case 1719:
#line 11693 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list),(yyvsp[0].node)); }
#line 40653 "gram.c" /* yacc.c:1652 */
break;
case 1720:
#line 11697 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 40659 "gram.c" /* yacc.c:1652 */
break;
case 1721:
#line 11698 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 40665 "gram.c" /* yacc.c:1652 */
break;
case 1722:
#line 11699 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 40671 "gram.c" /* yacc.c:1652 */
break;
case 1723:
#line 11700 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 40677 "gram.c" /* yacc.c:1652 */
break;
case 1724:
#line 11701 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 40683 "gram.c" /* yacc.c:1652 */
break;
case 1725:
#line 11706 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_EMPTY, NIL, (yylsp[-1]));
}
#line 40691 "gram.c" /* yacc.c:1652 */
break;
case 1726:
#line 11719 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_ROLLUP, (yyvsp[-1].list), (yylsp[-3]));
}
#line 40699 "gram.c" /* yacc.c:1652 */
break;
case 1727:
#line 11726 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_CUBE, (yyvsp[-1].list), (yylsp[-3]));
}
#line 40707 "gram.c" /* yacc.c:1652 */
break;
case 1728:
#line 11733 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_SETS, (yyvsp[-1].list), (yylsp[-4]));
}
#line 40715 "gram.c" /* yacc.c:1652 */
break;
case 1729:
#line 11739 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 40721 "gram.c" /* yacc.c:1652 */
break;
case 1730:
#line 11740 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = NULL; }
#line 40727 "gram.c" /* yacc.c:1652 */
break;
case 1731:
#line 11744 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 40733 "gram.c" /* yacc.c:1652 */
break;
case 1732:
#line 11745 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 40739 "gram.c" /* yacc.c:1652 */
break;
case 1733:
#line 11749 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 40745 "gram.c" /* yacc.c:1652 */
break;
case 1734:
#line 11750 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 40751 "gram.c" /* yacc.c:1652 */
break;
case 1735:
#line 11754 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].node)); }
#line 40757 "gram.c" /* yacc.c:1652 */
break;
case 1736:
#line 11755 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
#line 40763 "gram.c" /* yacc.c:1652 */
break;
case 1737:
#line 11760 "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 40775 "gram.c" /* yacc.c:1652 */
break;
case 1738:
#line 11770 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = LCS_FORUPDATE; }
#line 40781 "gram.c" /* yacc.c:1652 */
break;
case 1739:
#line 11771 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = LCS_FORNOKEYUPDATE; }
#line 40787 "gram.c" /* yacc.c:1652 */
break;
case 1740:
#line 11772 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = LCS_FORSHARE; }
#line 40793 "gram.c" /* yacc.c:1652 */
break;
case 1741:
#line 11773 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = LCS_FORKEYSHARE; }
#line 40799 "gram.c" /* yacc.c:1652 */
break;
case 1742:
#line 11777 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 40805 "gram.c" /* yacc.c:1652 */
break;
case 1743:
#line 11778 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 40811 "gram.c" /* yacc.c:1652 */
break;
case 1744:
#line 11789 "gram.y" /* yacc.c:1652 */
{
SelectStmt *n = makeNode(SelectStmt);
n->valuesLists = list_make1((yyvsp[-1].list));
(yyval.node) = (Node *) n;
}
#line 40821 "gram.c" /* yacc.c:1652 */
break;
case 1745:
#line 11795 "gram.y" /* yacc.c:1652 */
{
SelectStmt *n = (SelectStmt *) (yyvsp[-4].node);
n->valuesLists = lappend(n->valuesLists, (yyvsp[-1].list));
(yyval.node) = (Node *) n;
}
#line 40831 "gram.c" /* yacc.c:1652 */
break;
case 1746:
#line 11812 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 40837 "gram.c" /* yacc.c:1652 */
break;
case 1747:
#line 11813 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 40843 "gram.c" /* yacc.c:1652 */
break;
case 1748:
#line 11817 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].node)); }
#line 40849 "gram.c" /* yacc.c:1652 */
break;
case 1749:
#line 11818 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
#line 40855 "gram.c" /* yacc.c:1652 */
break;
case 1750:
#line 11825 "gram.y" /* yacc.c:1652 */
{
(yyvsp[-1].range)->alias = (yyvsp[0].alias);
(yyval.node) = (Node *) (yyvsp[-1].range);
}
#line 40864 "gram.c" /* yacc.c:1652 */
break;
case 1751:
#line 11830 "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 40876 "gram.c" /* yacc.c:1652 */
break;
case 1752:
#line 11838 "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 40887 "gram.c" /* yacc.c:1652 */
break;
case 1753:
#line 11845 "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 40899 "gram.c" /* yacc.c:1652 */
break;
case 1754:
#line 11853 "gram.y" /* yacc.c:1652 */
{
RangeTableFunc *n = (RangeTableFunc *) (yyvsp[-1].node);
n->alias = (yyvsp[0].alias);
(yyval.node) = (Node *) n;
}
#line 40909 "gram.c" /* yacc.c:1652 */
break;
case 1755:
#line 11859 "gram.y" /* yacc.c:1652 */
{
RangeTableFunc *n = (RangeTableFunc *) (yyvsp[-1].node);
n->lateral = true;
n->alias = (yyvsp[0].alias);
(yyval.node) = (Node *) n;
}
#line 40920 "gram.c" /* yacc.c:1652 */
break;
case 1756:
#line 11866 "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 40959 "gram.c" /* yacc.c:1652 */
break;
case 1757:
#line 11901 "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 40988 "gram.c" /* yacc.c:1652 */
break;
case 1758:
#line 11926 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (Node *) (yyvsp[0].jexpr);
}
#line 40996 "gram.c" /* yacc.c:1652 */
break;
case 1759:
#line 11930 "gram.y" /* yacc.c:1652 */
{
(yyvsp[-2].jexpr)->alias = (yyvsp[0].alias);
(yyval.node) = (Node *) (yyvsp[-2].jexpr);
}
#line 41005 "gram.c" /* yacc.c:1652 */
break;
case 1760:
#line 11956 "gram.y" /* yacc.c:1652 */
{
(yyval.jexpr) = (yyvsp[-1].jexpr);
}
#line 41013 "gram.c" /* yacc.c:1652 */
break;
case 1761:
#line 11960 "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 41029 "gram.c" /* yacc.c:1652 */
break;
case 1762:
#line 11972 "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 41046 "gram.c" /* yacc.c:1652 */
break;
case 1763:
#line 11985 "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 41064 "gram.c" /* yacc.c:1652 */
break;
case 1764:
#line 11999 "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 41079 "gram.c" /* yacc.c:1652 */
break;
case 1765:
#line 12010 "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 41095 "gram.c" /* yacc.c:1652 */
break;
case 1766:
#line 12025 "gram.y" /* yacc.c:1652 */
{
(yyval.alias) = makeNode(Alias);
(yyval.alias)->aliasname = (yyvsp[-3].str);
(yyval.alias)->colnames = (yyvsp[-1].list);
}
#line 41105 "gram.c" /* yacc.c:1652 */
break;
case 1767:
#line 12031 "gram.y" /* yacc.c:1652 */
{
(yyval.alias) = makeNode(Alias);
(yyval.alias)->aliasname = (yyvsp[0].str);
}
#line 41114 "gram.c" /* yacc.c:1652 */
break;
case 1768:
#line 12036 "gram.y" /* yacc.c:1652 */
{
(yyval.alias) = makeNode(Alias);
(yyval.alias)->aliasname = (yyvsp[-3].str);
(yyval.alias)->colnames = (yyvsp[-1].list);
}
#line 41124 "gram.c" /* yacc.c:1652 */
break;
case 1769:
#line 12042 "gram.y" /* yacc.c:1652 */
{
(yyval.alias) = makeNode(Alias);
(yyval.alias)->aliasname = (yyvsp[0].str);
}
#line 41133 "gram.c" /* yacc.c:1652 */
break;
case 1770:
#line 12048 "gram.y" /* yacc.c:1652 */
{ (yyval.alias) = (yyvsp[0].alias); }
#line 41139 "gram.c" /* yacc.c:1652 */
break;
case 1771:
#line 12049 "gram.y" /* yacc.c:1652 */
{ (yyval.alias) = NULL; }
#line 41145 "gram.c" /* yacc.c:1652 */
break;
case 1772:
#line 12058 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make2((yyvsp[0].alias), NIL);
}
#line 41153 "gram.c" /* yacc.c:1652 */
break;
case 1773:
#line 12062 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make2(NULL, (yyvsp[-1].list));
}
#line 41161 "gram.c" /* yacc.c:1652 */
break;
case 1774:
#line 12066 "gram.y" /* yacc.c:1652 */
{
Alias *a = makeNode(Alias);
a->aliasname = (yyvsp[-3].str);
(yyval.list) = list_make2(a, (yyvsp[-1].list));
}
#line 41171 "gram.c" /* yacc.c:1652 */
break;
case 1775:
#line 12072 "gram.y" /* yacc.c:1652 */
{
Alias *a = makeNode(Alias);
a->aliasname = (yyvsp[-3].str);
(yyval.list) = list_make2(a, (yyvsp[-1].list));
}
#line 41181 "gram.c" /* yacc.c:1652 */
break;
case 1776:
#line 12078 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make2(NULL, NIL);
}
#line 41189 "gram.c" /* yacc.c:1652 */
break;
case 1777:
#line 12083 "gram.y" /* yacc.c:1652 */
{ (yyval.jtype) = JOIN_FULL; }
#line 41195 "gram.c" /* yacc.c:1652 */
break;
case 1778:
#line 12084 "gram.y" /* yacc.c:1652 */
{ (yyval.jtype) = JOIN_LEFT; }
#line 41201 "gram.c" /* yacc.c:1652 */
break;
case 1779:
#line 12085 "gram.y" /* yacc.c:1652 */
{ (yyval.jtype) = JOIN_RIGHT; }
#line 41207 "gram.c" /* yacc.c:1652 */
break;
case 1780:
#line 12086 "gram.y" /* yacc.c:1652 */
{ (yyval.jtype) = JOIN_INNER; }
#line 41213 "gram.c" /* yacc.c:1652 */
break;
case 1781:
#line 12090 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = NULL; }
#line 41219 "gram.c" /* yacc.c:1652 */
break;
case 1782:
#line 12091 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = NULL; }
#line 41225 "gram.c" /* yacc.c:1652 */
break;
case 1783:
#line 12103 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) (yyvsp[-1].list); }
#line 41231 "gram.c" /* yacc.c:1652 */
break;
case 1784:
#line 12104 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 41237 "gram.c" /* yacc.c:1652 */
break;
case 1785:
#line 12110 "gram.y" /* yacc.c:1652 */
{
/* inheritance query, implicitly */
(yyval.range) = (yyvsp[0].range);
(yyval.range)->inh = true;
(yyval.range)->alias = NULL;
}
#line 41248 "gram.c" /* yacc.c:1652 */
break;
case 1786:
#line 12117 "gram.y" /* yacc.c:1652 */
{
/* inheritance query, explicitly */
(yyval.range) = (yyvsp[-1].range);
(yyval.range)->inh = true;
(yyval.range)->alias = NULL;
}
#line 41259 "gram.c" /* yacc.c:1652 */
break;
case 1787:
#line 12124 "gram.y" /* yacc.c:1652 */
{
/* no inheritance */
(yyval.range) = (yyvsp[0].range);
(yyval.range)->inh = false;
(yyval.range)->alias = NULL;
}
#line 41270 "gram.c" /* yacc.c:1652 */
break;
case 1788:
#line 12131 "gram.y" /* yacc.c:1652 */
{
/* no inheritance, SQL99-style syntax */
(yyval.range) = (yyvsp[-1].range);
(yyval.range)->inh = false;
(yyval.range)->alias = NULL;
}
#line 41281 "gram.c" /* yacc.c:1652 */
break;
case 1789:
#line 12141 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].range)); }
#line 41287 "gram.c" /* yacc.c:1652 */
break;
case 1790:
#line 12142 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].range)); }
#line 41293 "gram.c" /* yacc.c:1652 */
break;
case 1791:
#line 12156 "gram.y" /* yacc.c:1652 */
{
(yyval.range) = (yyvsp[0].range);
}
#line 41301 "gram.c" /* yacc.c:1652 */
break;
case 1792:
#line 12160 "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 41312 "gram.c" /* yacc.c:1652 */
break;
case 1793:
#line 12167 "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 41323 "gram.c" /* yacc.c:1652 */
break;
case 1794:
#line 12180 "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 41337 "gram.c" /* yacc.c:1652 */
break;
case 1795:
#line 12192 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) (yyvsp[-1].node); }
#line 41343 "gram.c" /* yacc.c:1652 */
break;
case 1796:
#line 12193 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = NULL; }
#line 41349 "gram.c" /* yacc.c:1652 */
break;
case 1797:
#line 12209 "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 41363 "gram.c" /* yacc.c:1652 */
break;
case 1798:
#line 12219 "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 41377 "gram.c" /* yacc.c:1652 */
break;
case 1799:
#line 12231 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make2((yyvsp[-1].node), (yyvsp[0].list)); }
#line 41383 "gram.c" /* yacc.c:1652 */
break;
case 1800:
#line 12235 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].list)); }
#line 41389 "gram.c" /* yacc.c:1652 */
break;
case 1801:
#line 12236 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].list)); }
#line 41395 "gram.c" /* yacc.c:1652 */
break;
case 1802:
#line 12239 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 41401 "gram.c" /* yacc.c:1652 */
break;
case 1803:
#line 12240 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 41407 "gram.c" /* yacc.c:1652 */
break;
case 1804:
#line 12243 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = true; }
#line 41413 "gram.c" /* yacc.c:1652 */
break;
case 1805:
#line 12244 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 41419 "gram.c" /* yacc.c:1652 */
break;
case 1806:
#line 12249 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 41425 "gram.c" /* yacc.c:1652 */
break;
case 1807:
#line 12250 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = NULL; }
#line 41431 "gram.c" /* yacc.c:1652 */
break;
case 1808:
#line 12255 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 41437 "gram.c" /* yacc.c:1652 */
break;
case 1809:
#line 12257 "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 41449 "gram.c" /* yacc.c:1652 */
break;
case 1810:
#line 12264 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = NULL; }
#line 41455 "gram.c" /* yacc.c:1652 */
break;
case 1811:
#line 12269 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 41461 "gram.c" /* yacc.c:1652 */
break;
case 1812:
#line 12270 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 41467 "gram.c" /* yacc.c:1652 */
break;
case 1813:
#line 12275 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make1((yyvsp[0].node));
}
#line 41475 "gram.c" /* yacc.c:1652 */
break;
case 1814:
#line 12279 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
}
#line 41483 "gram.c" /* yacc.c:1652 */
break;
case 1815:
#line 12285 "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 41505 "gram.c" /* yacc.c:1652 */
break;
case 1816:
#line 12309 "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 41519 "gram.c" /* yacc.c:1652 */
break;
case 1817:
#line 12320 "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 41533 "gram.c" /* yacc.c:1652 */
break;
case 1818:
#line 12331 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].node)); }
#line 41539 "gram.c" /* yacc.c:1652 */
break;
case 1819:
#line 12332 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
#line 41545 "gram.c" /* yacc.c:1652 */
break;
case 1820:
#line 12337 "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 41563 "gram.c" /* yacc.c:1652 */
break;
case 1821:
#line 12351 "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 41624 "gram.c" /* yacc.c:1652 */
break;
case 1822:
#line 12408 "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 41639 "gram.c" /* yacc.c:1652 */
break;
case 1823:
#line 12422 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].defelt)); }
#line 41645 "gram.c" /* yacc.c:1652 */
break;
case 1824:
#line 12424 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
#line 41651 "gram.c" /* yacc.c:1652 */
break;
case 1825:
#line 12429 "gram.y" /* yacc.c:1652 */
{ (yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1])); }
#line 41657 "gram.c" /* yacc.c:1652 */
break;
case 1826:
#line 12431 "gram.y" /* yacc.c:1652 */
{ (yyval.defelt) = makeDefElem("default", (yyvsp[0].node), (yylsp[-1])); }
#line 41663 "gram.c" /* yacc.c:1652 */
break;
case 1827:
#line 12433 "gram.y" /* yacc.c:1652 */
{ (yyval.defelt) = makeDefElem("is_not_null", (Node *) makeInteger(true), (yylsp[-1])); }
#line 41669 "gram.c" /* yacc.c:1652 */
break;
case 1828:
#line 12435 "gram.y" /* yacc.c:1652 */
{ (yyval.defelt) = makeDefElem("is_not_null", (Node *) makeInteger(false), (yylsp[0])); }
#line 41675 "gram.c" /* yacc.c:1652 */
break;
case 1829:
#line 12440 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].target)); }
#line 41681 "gram.c" /* yacc.c:1652 */
break;
case 1830:
#line 12442 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
#line 41687 "gram.c" /* yacc.c:1652 */
break;
case 1831:
#line 12447 "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 41699 "gram.c" /* yacc.c:1652 */
break;
case 1832:
#line 12455 "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 41711 "gram.c" /* yacc.c:1652 */
break;
case 1833:
#line 12475 "gram.y" /* yacc.c:1652 */
{
(yyval.typnam) = (yyvsp[-1].typnam);
(yyval.typnam)->arrayBounds = (yyvsp[0].list);
}
#line 41720 "gram.c" /* yacc.c:1652 */
break;
case 1834:
#line 12480 "gram.y" /* yacc.c:1652 */
{
(yyval.typnam) = (yyvsp[-1].typnam);
(yyval.typnam)->arrayBounds = (yyvsp[0].list);
(yyval.typnam)->setof = true;
}
#line 41730 "gram.c" /* yacc.c:1652 */
break;
case 1835:
#line 12487 "gram.y" /* yacc.c:1652 */
{
(yyval.typnam) = (yyvsp[-4].typnam);
(yyval.typnam)->arrayBounds = list_make1(makeInteger((yyvsp[-1].ival)));
}
#line 41739 "gram.c" /* yacc.c:1652 */
break;
case 1836:
#line 12492 "gram.y" /* yacc.c:1652 */
{
(yyval.typnam) = (yyvsp[-4].typnam);
(yyval.typnam)->arrayBounds = list_make1(makeInteger((yyvsp[-1].ival)));
(yyval.typnam)->setof = true;
}
#line 41749 "gram.c" /* yacc.c:1652 */
break;
case 1837:
#line 12498 "gram.y" /* yacc.c:1652 */
{
(yyval.typnam) = (yyvsp[-1].typnam);
(yyval.typnam)->arrayBounds = list_make1(makeInteger(-1));
}
#line 41758 "gram.c" /* yacc.c:1652 */
break;
case 1838:
#line 12503 "gram.y" /* yacc.c:1652 */
{
(yyval.typnam) = (yyvsp[-1].typnam);
(yyval.typnam)->arrayBounds = list_make1(makeInteger(-1));
(yyval.typnam)->setof = true;
}
#line 41768 "gram.c" /* yacc.c:1652 */
break;
case 1839:
#line 12512 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), makeInteger(-1)); }
#line 41774 "gram.c" /* yacc.c:1652 */
break;
case 1840:
#line 12514 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-3].list), makeInteger((yyvsp[-1].ival))); }
#line 41780 "gram.c" /* yacc.c:1652 */
break;
case 1841:
#line 12516 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 41786 "gram.c" /* yacc.c:1652 */
break;
case 1842:
#line 12520 "gram.y" /* yacc.c:1652 */
{ (yyval.typnam) = (yyvsp[0].typnam); }
#line 41792 "gram.c" /* yacc.c:1652 */
break;
case 1843:
#line 12521 "gram.y" /* yacc.c:1652 */
{ (yyval.typnam) = (yyvsp[0].typnam); }
#line 41798 "gram.c" /* yacc.c:1652 */
break;
case 1844:
#line 12522 "gram.y" /* yacc.c:1652 */
{ (yyval.typnam) = (yyvsp[0].typnam); }
#line 41804 "gram.c" /* yacc.c:1652 */
break;
case 1845:
#line 12523 "gram.y" /* yacc.c:1652 */
{ (yyval.typnam) = (yyvsp[0].typnam); }
#line 41810 "gram.c" /* yacc.c:1652 */
break;
case 1846:
#line 12524 "gram.y" /* yacc.c:1652 */
{ (yyval.typnam) = (yyvsp[0].typnam); }
#line 41816 "gram.c" /* yacc.c:1652 */
break;
case 1847:
#line 12526 "gram.y" /* yacc.c:1652 */
{
(yyval.typnam) = (yyvsp[-1].typnam);
(yyval.typnam)->typmods = (yyvsp[0].list);
}
#line 41825 "gram.c" /* yacc.c:1652 */
break;
case 1848:
#line 12531 "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 41835 "gram.c" /* yacc.c:1652 */
break;
case 1849:
#line 12550 "gram.y" /* yacc.c:1652 */
{ (yyval.typnam) = (yyvsp[0].typnam); }
#line 41841 "gram.c" /* yacc.c:1652 */
break;
case 1850:
#line 12551 "gram.y" /* yacc.c:1652 */
{ (yyval.typnam) = (yyvsp[0].typnam); }
#line 41847 "gram.c" /* yacc.c:1652 */
break;
case 1851:
#line 12552 "gram.y" /* yacc.c:1652 */
{ (yyval.typnam) = (yyvsp[0].typnam); }
#line 41853 "gram.c" /* yacc.c:1652 */
break;
case 1852:
#line 12553 "gram.y" /* yacc.c:1652 */
{ (yyval.typnam) = (yyvsp[0].typnam); }
#line 41859 "gram.c" /* yacc.c:1652 */
break;
case 1853:
#line 12565 "gram.y" /* yacc.c:1652 */
{
(yyval.typnam) = makeTypeName((yyvsp[-1].str));
(yyval.typnam)->typmods = (yyvsp[0].list);
(yyval.typnam)->location = (yylsp[-1]);
}
#line 41869 "gram.c" /* yacc.c:1652 */
break;
case 1854:
#line 12571 "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 41879 "gram.c" /* yacc.c:1652 */
break;
case 1855:
#line 12578 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 41885 "gram.c" /* yacc.c:1652 */
break;
case 1856:
#line 12579 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 41891 "gram.c" /* yacc.c:1652 */
break;
case 1857:
#line 12586 "gram.y" /* yacc.c:1652 */
{
(yyval.typnam) = SystemTypeName("int4");
(yyval.typnam)->location = (yylsp[0]);
}
#line 41900 "gram.c" /* yacc.c:1652 */
break;
case 1858:
#line 12591 "gram.y" /* yacc.c:1652 */
{
(yyval.typnam) = SystemTypeName("int4");
(yyval.typnam)->location = (yylsp[0]);
}
#line 41909 "gram.c" /* yacc.c:1652 */
break;
case 1859:
#line 12596 "gram.y" /* yacc.c:1652 */
{
(yyval.typnam) = SystemTypeName("int2");
(yyval.typnam)->location = (yylsp[0]);
}
#line 41918 "gram.c" /* yacc.c:1652 */
break;
case 1860:
#line 12601 "gram.y" /* yacc.c:1652 */
{
(yyval.typnam) = SystemTypeName("int8");
(yyval.typnam)->location = (yylsp[0]);
}
#line 41927 "gram.c" /* yacc.c:1652 */
break;
case 1861:
#line 12606 "gram.y" /* yacc.c:1652 */
{
(yyval.typnam) = SystemTypeName("float4");
(yyval.typnam)->location = (yylsp[0]);
}
#line 41936 "gram.c" /* yacc.c:1652 */
break;
case 1862:
#line 12611 "gram.y" /* yacc.c:1652 */
{
(yyval.typnam) = (yyvsp[0].typnam);
(yyval.typnam)->location = (yylsp[-1]);
}
#line 41945 "gram.c" /* yacc.c:1652 */
break;
case 1863:
#line 12616 "gram.y" /* yacc.c:1652 */
{
(yyval.typnam) = SystemTypeName("float8");
(yyval.typnam)->location = (yylsp[-1]);
}
#line 41954 "gram.c" /* yacc.c:1652 */
break;
case 1864:
#line 12621 "gram.y" /* yacc.c:1652 */
{
(yyval.typnam) = SystemTypeName("numeric");
(yyval.typnam)->typmods = (yyvsp[0].list);
(yyval.typnam)->location = (yylsp[-1]);
}
#line 41964 "gram.c" /* yacc.c:1652 */
break;
case 1865:
#line 12627 "gram.y" /* yacc.c:1652 */
{
(yyval.typnam) = SystemTypeName("numeric");
(yyval.typnam)->typmods = (yyvsp[0].list);
(yyval.typnam)->location = (yylsp[-1]);
}
#line 41974 "gram.c" /* yacc.c:1652 */
break;
case 1866:
#line 12633 "gram.y" /* yacc.c:1652 */
{
(yyval.typnam) = SystemTypeName("numeric");
(yyval.typnam)->typmods = (yyvsp[0].list);
(yyval.typnam)->location = (yylsp[-1]);
}
#line 41984 "gram.c" /* yacc.c:1652 */
break;
case 1867:
#line 12639 "gram.y" /* yacc.c:1652 */
{
(yyval.typnam) = SystemTypeName("bool");
(yyval.typnam)->location = (yylsp[0]);
}
#line 41993 "gram.c" /* yacc.c:1652 */
break;
case 1868:
#line 12646 "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 42018 "gram.c" /* yacc.c:1652 */
break;
case 1869:
#line 12667 "gram.y" /* yacc.c:1652 */
{
(yyval.typnam) = SystemTypeName("float8");
}
#line 42026 "gram.c" /* yacc.c:1652 */
break;
case 1870:
#line 12677 "gram.y" /* yacc.c:1652 */
{
(yyval.typnam) = (yyvsp[0].typnam);
}
#line 42034 "gram.c" /* yacc.c:1652 */
break;
case 1871:
#line 12681 "gram.y" /* yacc.c:1652 */
{
(yyval.typnam) = (yyvsp[0].typnam);
}
#line 42042 "gram.c" /* yacc.c:1652 */
break;
case 1872:
#line 12689 "gram.y" /* yacc.c:1652 */
{
(yyval.typnam) = (yyvsp[0].typnam);
}
#line 42050 "gram.c" /* yacc.c:1652 */
break;
case 1873:
#line 12693 "gram.y" /* yacc.c:1652 */
{
(yyval.typnam) = (yyvsp[0].typnam);
(yyval.typnam)->typmods = NIL;
}
#line 42059 "gram.c" /* yacc.c:1652 */
break;
case 1874:
#line 12701 "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 42072 "gram.c" /* yacc.c:1652 */
break;
case 1875:
#line 12713 "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 42090 "gram.c" /* yacc.c:1652 */
break;
case 1876:
#line 12734 "gram.y" /* yacc.c:1652 */
{
(yyval.typnam) = (yyvsp[0].typnam);
}
#line 42098 "gram.c" /* yacc.c:1652 */
break;
case 1877:
#line 12738 "gram.y" /* yacc.c:1652 */
{
(yyval.typnam) = (yyvsp[0].typnam);
}
#line 42106 "gram.c" /* yacc.c:1652 */
break;
case 1878:
#line 12744 "gram.y" /* yacc.c:1652 */
{
(yyval.typnam) = (yyvsp[0].typnam);
}
#line 42114 "gram.c" /* yacc.c:1652 */
break;
case 1879:
#line 12748 "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 42129 "gram.c" /* yacc.c:1652 */
break;
case 1880:
#line 12761 "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 42139 "gram.c" /* yacc.c:1652 */
break;
case 1881:
#line 12769 "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 42151 "gram.c" /* yacc.c:1652 */
break;
case 1882:
#line 12779 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
#line 42157 "gram.c" /* yacc.c:1652 */
break;
case 1883:
#line 12781 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
#line 42163 "gram.c" /* yacc.c:1652 */
break;
case 1884:
#line 12783 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = "varchar"; }
#line 42169 "gram.c" /* yacc.c:1652 */
break;
case 1885:
#line 12785 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
#line 42175 "gram.c" /* yacc.c:1652 */
break;
case 1886:
#line 12787 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
#line 42181 "gram.c" /* yacc.c:1652 */
break;
case 1887:
#line 12789 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
#line 42187 "gram.c" /* yacc.c:1652 */
break;
case 1888:
#line 12793 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = true; }
#line 42193 "gram.c" /* yacc.c:1652 */
break;
case 1889:
#line 12794 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 42199 "gram.c" /* yacc.c:1652 */
break;
case 1890:
#line 12802 "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 42212 "gram.c" /* yacc.c:1652 */
break;
case 1891:
#line 12811 "gram.y" /* yacc.c:1652 */
{
if ((yyvsp[0].boolean))
(yyval.typnam) = SystemTypeName("timestamptz");
else
(yyval.typnam) = SystemTypeName("timestamp");
(yyval.typnam)->location = (yylsp[-1]);
}
#line 42224 "gram.c" /* yacc.c:1652 */
break;
case 1892:
#line 12819 "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 42237 "gram.c" /* yacc.c:1652 */
break;
case 1893:
#line 12828 "gram.y" /* yacc.c:1652 */
{
if ((yyvsp[0].boolean))
(yyval.typnam) = SystemTypeName("timetz");
else
(yyval.typnam) = SystemTypeName("time");
(yyval.typnam)->location = (yylsp[-1]);
}
#line 42249 "gram.c" /* yacc.c:1652 */
break;
case 1894:
#line 12839 "gram.y" /* yacc.c:1652 */
{
(yyval.typnam) = SystemTypeName("interval");
(yyval.typnam)->location = (yylsp[0]);
}
#line 42258 "gram.c" /* yacc.c:1652 */
break;
case 1895:
#line 12846 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = true; }
#line 42264 "gram.c" /* yacc.c:1652 */
break;
case 1896:
#line 12847 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 42270 "gram.c" /* yacc.c:1652 */
break;
case 1897:
#line 12848 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 42276 "gram.c" /* yacc.c:1652 */
break;
case 1898:
#line 12853 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(YEAR), (yylsp[0]))); }
#line 42282 "gram.c" /* yacc.c:1652 */
break;
case 1899:
#line 12855 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MONTH), (yylsp[0]))); }
#line 42288 "gram.c" /* yacc.c:1652 */
break;
case 1900:
#line 12857 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY), (yylsp[0]))); }
#line 42294 "gram.c" /* yacc.c:1652 */
break;
case 1901:
#line 12859 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(HOUR), (yylsp[0]))); }
#line 42300 "gram.c" /* yacc.c:1652 */
break;
case 1902:
#line 12861 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MINUTE), (yylsp[0]))); }
#line 42306 "gram.c" /* yacc.c:1652 */
break;
case 1903:
#line 12863 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 42312 "gram.c" /* yacc.c:1652 */
break;
case 1904:
#line 12865 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(YEAR) |
INTERVAL_MASK(MONTH), (yylsp[-2])));
}
#line 42321 "gram.c" /* yacc.c:1652 */
break;
case 1905:
#line 12870 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY) |
INTERVAL_MASK(HOUR), (yylsp[-2])));
}
#line 42330 "gram.c" /* yacc.c:1652 */
break;
case 1906:
#line 12875 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY) |
INTERVAL_MASK(HOUR) |
INTERVAL_MASK(MINUTE), (yylsp[-2])));
}
#line 42340 "gram.c" /* yacc.c:1652 */
break;
case 1907:
#line 12881 "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 42352 "gram.c" /* yacc.c:1652 */
break;
case 1908:
#line 12889 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(HOUR) |
INTERVAL_MASK(MINUTE), (yylsp[-2])));
}
#line 42361 "gram.c" /* yacc.c:1652 */
break;
case 1909:
#line 12894 "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 42372 "gram.c" /* yacc.c:1652 */
break;
case 1910:
#line 12901 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = (yyvsp[0].list);
linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(MINUTE) |
INTERVAL_MASK(SECOND), (yylsp[-2]));
}
#line 42382 "gram.c" /* yacc.c:1652 */
break;
case 1911:
#line 12907 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 42388 "gram.c" /* yacc.c:1652 */
break;
case 1912:
#line 12912 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(SECOND), (yylsp[0])));
}
#line 42396 "gram.c" /* yacc.c:1652 */
break;
case 1913:
#line 12916 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make2(makeIntConst(INTERVAL_MASK(SECOND), (yylsp[-3])),
makeIntConst((yyvsp[-1].ival), (yylsp[-1])));
}
#line 42405 "gram.c" /* yacc.c:1652 */
break;
case 1914:
#line 12951 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 42411 "gram.c" /* yacc.c:1652 */
break;
case 1915:
#line 12953 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = makeTypeCast((yyvsp[-2].node), (yyvsp[0].typnam), (yylsp[-1])); }
#line 42417 "gram.c" /* yacc.c:1652 */
break;
case 1916:
#line 12955 "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 42429 "gram.c" /* yacc.c:1652 */
break;
case 1917:
#line 12963 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("timezone"),
list_make2((yyvsp[0].node), (yyvsp[-4].node)),
(yylsp[-3]));
}
#line 42439 "gram.c" /* yacc.c:1652 */
break;
case 1918:
#line 12978 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[0].node), (yylsp[-1])); }
#line 42445 "gram.c" /* yacc.c:1652 */
break;
case 1919:
#line 12980 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = doNegate((yyvsp[0].node), (yylsp[-1])); }
#line 42451 "gram.c" /* yacc.c:1652 */
break;
case 1920:
#line 12982 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 42457 "gram.c" /* yacc.c:1652 */
break;
case 1921:
#line 12984 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "-", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 42463 "gram.c" /* yacc.c:1652 */
break;
case 1922:
#line 12986 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "*", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 42469 "gram.c" /* yacc.c:1652 */
break;
case 1923:
#line 12988 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "/", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 42475 "gram.c" /* yacc.c:1652 */
break;
case 1924:
#line 12990 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 42481 "gram.c" /* yacc.c:1652 */
break;
case 1925:
#line 12992 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 42487 "gram.c" /* yacc.c:1652 */
break;
case 1926:
#line 12994 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 42493 "gram.c" /* yacc.c:1652 */
break;
case 1927:
#line 12996 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 42499 "gram.c" /* yacc.c:1652 */
break;
case 1928:
#line 12998 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 42505 "gram.c" /* yacc.c:1652 */
break;
case 1929:
#line 13000 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 42511 "gram.c" /* yacc.c:1652 */
break;
case 1930:
#line 13002 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 42517 "gram.c" /* yacc.c:1652 */
break;
case 1931:
#line 13004 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<>", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 42523 "gram.c" /* yacc.c:1652 */
break;
case 1932:
#line 13007 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 42529 "gram.c" /* yacc.c:1652 */
break;
case 1933:
#line 13009 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), NULL, (yyvsp[0].node), (yylsp[-1])); }
#line 42535 "gram.c" /* yacc.c:1652 */
break;
case 1934:
#line 13011 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[0].list), (yyvsp[-1].node), NULL, (yylsp[0])); }
#line 42541 "gram.c" /* yacc.c:1652 */
break;
case 1935:
#line 13014 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = makeAndExpr((yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 42547 "gram.c" /* yacc.c:1652 */
break;
case 1936:
#line 13016 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = makeOrExpr((yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 42553 "gram.c" /* yacc.c:1652 */
break;
case 1937:
#line 13018 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = makeNotExpr((yyvsp[0].node), (yylsp[-1])); }
#line 42559 "gram.c" /* yacc.c:1652 */
break;
case 1938:
#line 13020 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = makeNotExpr((yyvsp[0].node), (yylsp[-1])); }
#line 42565 "gram.c" /* yacc.c:1652 */
break;
case 1939:
#line 13023 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "~~",
(yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1]));
}
#line 42574 "gram.c" /* yacc.c:1652 */
break;
case 1940:
#line 13028 "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 42586 "gram.c" /* yacc.c:1652 */
break;
case 1941:
#line 13036 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "!~~",
(yyvsp[-3].node), (yyvsp[0].node), (yylsp[-2]));
}
#line 42595 "gram.c" /* yacc.c:1652 */
break;
case 1942:
#line 13041 "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 42607 "gram.c" /* yacc.c:1652 */
break;
case 1943:
#line 13049 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "~~*",
(yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1]));
}
#line 42616 "gram.c" /* yacc.c:1652 */
break;
case 1944:
#line 13054 "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 42628 "gram.c" /* yacc.c:1652 */
break;
case 1945:
#line 13062 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "!~~*",
(yyvsp[-3].node), (yyvsp[0].node), (yylsp[-2]));
}
#line 42637 "gram.c" /* yacc.c:1652 */
break;
case 1946:
#line 13067 "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 42649 "gram.c" /* yacc.c:1652 */
break;
case 1947:
#line 13076 "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 42661 "gram.c" /* yacc.c:1652 */
break;
case 1948:
#line 13084 "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 42673 "gram.c" /* yacc.c:1652 */
break;
case 1949:
#line 13092 "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 42685 "gram.c" /* yacc.c:1652 */
break;
case 1950:
#line 13100 "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 42697 "gram.c" /* yacc.c:1652 */
break;
case 1951:
#line 13118 "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 42709 "gram.c" /* yacc.c:1652 */
break;
case 1952:
#line 13126 "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 42721 "gram.c" /* yacc.c:1652 */
break;
case 1953:
#line 13134 "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 42733 "gram.c" /* yacc.c:1652 */
break;
case 1954:
#line 13142 "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 42745 "gram.c" /* yacc.c:1652 */
break;
case 1955:
#line 13150 "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 42765 "gram.c" /* yacc.c:1652 */
break;
case 1956:
#line 13166 "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 42777 "gram.c" /* yacc.c:1652 */
break;
case 1957:
#line 13174 "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 42789 "gram.c" /* yacc.c:1652 */
break;
case 1958:
#line 13182 "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 42801 "gram.c" /* yacc.c:1652 */
break;
case 1959:
#line 13190 "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 42813 "gram.c" /* yacc.c:1652 */
break;
case 1960:
#line 13198 "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 42825 "gram.c" /* yacc.c:1652 */
break;
case 1961:
#line 13206 "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 42837 "gram.c" /* yacc.c:1652 */
break;
case 1962:
#line 13214 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", (yyvsp[-4].node), (yyvsp[0].node), (yylsp[-3]));
}
#line 42845 "gram.c" /* yacc.c:1652 */
break;
case 1963:
#line 13218 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_DISTINCT, "=", (yyvsp[-5].node), (yyvsp[0].node), (yylsp[-4]));
}
#line 42853 "gram.c" /* yacc.c:1652 */
break;
case 1964:
#line 13222 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "=", (yyvsp[-5].node), (Node *) (yyvsp[-1].list), (yylsp[-4]));
}
#line 42861 "gram.c" /* yacc.c:1652 */
break;
case 1965:
#line 13226 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "<>", (yyvsp[-6].node), (Node *) (yyvsp[-1].list), (yylsp[-5]));
}
#line 42869 "gram.c" /* yacc.c:1652 */
break;
case 1966:
#line 13230 "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 42881 "gram.c" /* yacc.c:1652 */
break;
case 1967:
#line 13238 "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 42893 "gram.c" /* yacc.c:1652 */
break;
case 1968:
#line 13246 "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 42905 "gram.c" /* yacc.c:1652 */
break;
case 1969:
#line 13254 "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 42917 "gram.c" /* yacc.c:1652 */
break;
case 1970:
#line 13262 "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 42941 "gram.c" /* yacc.c:1652 */
break;
case 1971:
#line 13282 "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 42967 "gram.c" /* yacc.c:1652 */
break;
case 1972:
#line 13304 "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 42982 "gram.c" /* yacc.c:1652 */
break;
case 1973:
#line 13315 "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 42993 "gram.c" /* yacc.c:1652 */
break;
case 1974:
#line 13322 "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 43013 "gram.c" /* yacc.c:1652 */
break;
case 1975:
#line 13338 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeXmlExpr(IS_DOCUMENT, NULL, NIL,
list_make1((yyvsp[-2].node)), (yylsp[-1]));
}
#line 43022 "gram.c" /* yacc.c:1652 */
break;
case 1976:
#line 13343 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeNotExpr(makeXmlExpr(IS_DOCUMENT, NULL, NIL,
list_make1((yyvsp[-3].node)), (yylsp[-2])),
(yylsp[-2]));
}
#line 43032 "gram.c" /* yacc.c:1652 */
break;
case 1977:
#line 13349 "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 43050 "gram.c" /* yacc.c:1652 */
break;
case 1978:
#line 13374 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 43056 "gram.c" /* yacc.c:1652 */
break;
case 1979:
#line 13376 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = makeTypeCast((yyvsp[-2].node), (yyvsp[0].typnam), (yylsp[-1])); }
#line 43062 "gram.c" /* yacc.c:1652 */
break;
case 1980:
#line 13378 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[0].node), (yylsp[-1])); }
#line 43068 "gram.c" /* yacc.c:1652 */
break;
case 1981:
#line 13380 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = doNegate((yyvsp[0].node), (yylsp[-1])); }
#line 43074 "gram.c" /* yacc.c:1652 */
break;
case 1982:
#line 13382 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 43080 "gram.c" /* yacc.c:1652 */
break;
case 1983:
#line 13384 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "-", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 43086 "gram.c" /* yacc.c:1652 */
break;
case 1984:
#line 13386 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "*", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 43092 "gram.c" /* yacc.c:1652 */
break;
case 1985:
#line 13388 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "/", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 43098 "gram.c" /* yacc.c:1652 */
break;
case 1986:
#line 13390 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 43104 "gram.c" /* yacc.c:1652 */
break;
case 1987:
#line 13392 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 43110 "gram.c" /* yacc.c:1652 */
break;
case 1988:
#line 13394 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 43116 "gram.c" /* yacc.c:1652 */
break;
case 1989:
#line 13396 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 43122 "gram.c" /* yacc.c:1652 */
break;
case 1990:
#line 13398 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 43128 "gram.c" /* yacc.c:1652 */
break;
case 1991:
#line 13400 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 43134 "gram.c" /* yacc.c:1652 */
break;
case 1992:
#line 13402 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 43140 "gram.c" /* yacc.c:1652 */
break;
case 1993:
#line 13404 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<>", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 43146 "gram.c" /* yacc.c:1652 */
break;
case 1994:
#line 13406 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
#line 43152 "gram.c" /* yacc.c:1652 */
break;
case 1995:
#line 13408 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), NULL, (yyvsp[0].node), (yylsp[-1])); }
#line 43158 "gram.c" /* yacc.c:1652 */
break;
case 1996:
#line 13410 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[0].list), (yyvsp[-1].node), NULL, (yylsp[0])); }
#line 43164 "gram.c" /* yacc.c:1652 */
break;
case 1997:
#line 13412 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", (yyvsp[-4].node), (yyvsp[0].node), (yylsp[-3]));
}
#line 43172 "gram.c" /* yacc.c:1652 */
break;
case 1998:
#line 13416 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_DISTINCT, "=", (yyvsp[-5].node), (yyvsp[0].node), (yylsp[-4]));
}
#line 43180 "gram.c" /* yacc.c:1652 */
break;
case 1999:
#line 13420 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "=", (yyvsp[-5].node), (Node *) (yyvsp[-1].list), (yylsp[-4]));
}
#line 43188 "gram.c" /* yacc.c:1652 */
break;
case 2000:
#line 13424 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "<>", (yyvsp[-6].node), (Node *) (yyvsp[-1].list), (yylsp[-5]));
}
#line 43196 "gram.c" /* yacc.c:1652 */
break;
case 2001:
#line 13428 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeXmlExpr(IS_DOCUMENT, NULL, NIL,
list_make1((yyvsp[-2].node)), (yylsp[-1]));
}
#line 43205 "gram.c" /* yacc.c:1652 */
break;
case 2002:
#line 13433 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeNotExpr(makeXmlExpr(IS_DOCUMENT, NULL, NIL,
list_make1((yyvsp[-3].node)), (yylsp[-2])),
(yylsp[-2]));
}
#line 43215 "gram.c" /* yacc.c:1652 */
break;
case 2003:
#line 13448 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 43221 "gram.c" /* yacc.c:1652 */
break;
case 2004:
#line 13449 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 43227 "gram.c" /* yacc.c:1652 */
break;
case 2005:
#line 13451 "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 43246 "gram.c" /* yacc.c:1652 */
break;
case 2006:
#line 13466 "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 43284 "gram.c" /* yacc.c:1652 */
break;
case 2007:
#line 13500 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 43290 "gram.c" /* yacc.c:1652 */
break;
case 2008:
#line 13502 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 43296 "gram.c" /* yacc.c:1652 */
break;
case 2009:
#line 13504 "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 43311 "gram.c" /* yacc.c:1652 */
break;
case 2010:
#line 13515 "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 43339 "gram.c" /* yacc.c:1652 */
break;
case 2011:
#line 13539 "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 43354 "gram.c" /* yacc.c:1652 */
break;
case 2012:
#line 13550 "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 43369 "gram.c" /* yacc.c:1652 */
break;
case 2013:
#line 13561 "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 43380 "gram.c" /* yacc.c:1652 */
break;
case 2014:
#line 13568 "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 43394 "gram.c" /* yacc.c:1652 */
break;
case 2015:
#line 13578 "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 43408 "gram.c" /* yacc.c:1652 */
break;
case 2016:
#line 13588 "gram.y" /* yacc.c:1652 */
{
GroupingFunc *g = makeNode(GroupingFunc);
g->args = (yyvsp[-1].list);
g->location = (yylsp[-3]);
(yyval.node) = (Node *)g;
}
#line 43419 "gram.c" /* yacc.c:1652 */
break;
case 2017:
#line 13597 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (Node *) makeFuncCall((yyvsp[-2].list), NIL, (yylsp[-2]));
}
#line 43427 "gram.c" /* yacc.c:1652 */
break;
case 2018:
#line 13601 "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 43437 "gram.c" /* yacc.c:1652 */
break;
case 2019:
#line 13607 "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 43448 "gram.c" /* yacc.c:1652 */
break;
case 2020:
#line 13614 "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 43459 "gram.c" /* yacc.c:1652 */
break;
case 2021:
#line 13621 "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 43473 "gram.c" /* yacc.c:1652 */
break;
case 2022:
#line 13631 "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 43484 "gram.c" /* yacc.c:1652 */
break;
case 2023:
#line 13638 "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 43504 "gram.c" /* yacc.c:1652 */
break;
case 2024:
#line 13666 "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 43543 "gram.c" /* yacc.c:1652 */
break;
case 2025:
#line 13701 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 43549 "gram.c" /* yacc.c:1652 */
break;
case 2026:
#line 13711 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 43555 "gram.c" /* yacc.c:1652 */
break;
case 2027:
#line 13712 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 43561 "gram.c" /* yacc.c:1652 */
break;
case 2028:
#line 13720 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("pg_collation_for"),
list_make1((yyvsp[-1].node)),
(yylsp[-4]));
}
#line 43571 "gram.c" /* yacc.c:1652 */
break;
case 2029:
#line 13726 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_DATE, -1, (yylsp[0]));
}
#line 43579 "gram.c" /* yacc.c:1652 */
break;
case 2030:
#line 13730 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIME, -1, (yylsp[0]));
}
#line 43587 "gram.c" /* yacc.c:1652 */
break;
case 2031:
#line 13734 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIME_N, (yyvsp[-1].ival), (yylsp[-3]));
}
#line 43595 "gram.c" /* yacc.c:1652 */
break;
case 2032:
#line 13738 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIMESTAMP, -1, (yylsp[0]));
}
#line 43603 "gram.c" /* yacc.c:1652 */
break;
case 2033:
#line 13742 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIMESTAMP_N, (yyvsp[-1].ival), (yylsp[-3]));
}
#line 43611 "gram.c" /* yacc.c:1652 */
break;
case 2034:
#line 13746 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIME, -1, (yylsp[0]));
}
#line 43619 "gram.c" /* yacc.c:1652 */
break;
case 2035:
#line 13750 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIME_N, (yyvsp[-1].ival), (yylsp[-3]));
}
#line 43627 "gram.c" /* yacc.c:1652 */
break;
case 2036:
#line 13754 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIMESTAMP, -1, (yylsp[0]));
}
#line 43635 "gram.c" /* yacc.c:1652 */
break;
case 2037:
#line 13758 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIMESTAMP_N, (yyvsp[-1].ival), (yylsp[-3]));
}
#line 43643 "gram.c" /* yacc.c:1652 */
break;
case 2038:
#line 13762 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_ROLE, -1, (yylsp[0]));
}
#line 43651 "gram.c" /* yacc.c:1652 */
break;
case 2039:
#line 13766 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_USER, -1, (yylsp[0]));
}
#line 43659 "gram.c" /* yacc.c:1652 */
break;
case 2040:
#line 13770 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeSQLValueFunction(SVFOP_SESSION_USER, -1, (yylsp[0]));
}
#line 43667 "gram.c" /* yacc.c:1652 */
break;
case 2041:
#line 13774 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeSQLValueFunction(SVFOP_USER, -1, (yylsp[0]));
}
#line 43675 "gram.c" /* yacc.c:1652 */
break;
case 2042:
#line 13778 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_CATALOG, -1, (yylsp[0]));
}
#line 43683 "gram.c" /* yacc.c:1652 */
break;
case 2043:
#line 13782 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_SCHEMA, -1, (yylsp[0]));
}
#line 43691 "gram.c" /* yacc.c:1652 */
break;
case 2044:
#line 13786 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = makeTypeCast((yyvsp[-3].node), (yyvsp[-1].typnam), (yylsp[-5])); }
#line 43697 "gram.c" /* yacc.c:1652 */
break;
case 2045:
#line 13788 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("date_part"), (yyvsp[-1].list), (yylsp[-3]));
}
#line 43705 "gram.c" /* yacc.c:1652 */
break;
case 2046:
#line 13792 "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 43718 "gram.c" /* yacc.c:1652 */
break;
case 2047:
#line 13801 "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 43727 "gram.c" /* yacc.c:1652 */
break;
case 2048:
#line 13806 "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 43738 "gram.c" /* yacc.c:1652 */
break;
case 2049:
#line 13813 "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 43757 "gram.c" /* yacc.c:1652 */
break;
case 2050:
#line 13828 "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 43768 "gram.c" /* yacc.c:1652 */
break;
case 2051:
#line 13835 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("ltrim"), (yyvsp[-1].list), (yylsp[-4]));
}
#line 43776 "gram.c" /* yacc.c:1652 */
break;
case 2052:
#line 13839 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("rtrim"), (yyvsp[-1].list), (yylsp[-4]));
}
#line 43784 "gram.c" /* yacc.c:1652 */
break;
case 2053:
#line 13843 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("btrim"), (yyvsp[-1].list), (yylsp[-3]));
}
#line 43792 "gram.c" /* yacc.c:1652 */
break;
case 2054:
#line 13847 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NULLIF, "=", (yyvsp[-3].node), (yyvsp[-1].node), (yylsp[-5]));
}
#line 43800 "gram.c" /* yacc.c:1652 */
break;
case 2055:
#line 13851 "gram.y" /* yacc.c:1652 */
{
CoalesceExpr *c = makeNode(CoalesceExpr);
c->args = (yyvsp[-1].list);
c->location = (yylsp[-3]);
(yyval.node) = (Node *)c;
}
#line 43811 "gram.c" /* yacc.c:1652 */
break;
case 2056:
#line 13858 "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 43823 "gram.c" /* yacc.c:1652 */
break;
case 2057:
#line 13866 "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 43835 "gram.c" /* yacc.c:1652 */
break;
case 2058:
#line 13874 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeXmlExpr(IS_XMLCONCAT, NULL, NIL, (yyvsp[-1].list), (yylsp[-3]));
}
#line 43843 "gram.c" /* yacc.c:1652 */
break;
case 2059:
#line 13878 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-1].str), NIL, NIL, (yylsp[-4]));
}
#line 43851 "gram.c" /* yacc.c:1652 */
break;
case 2060:
#line 13882 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-3].str), (yyvsp[-1].list), NIL, (yylsp[-6]));
}
#line 43859 "gram.c" /* yacc.c:1652 */
break;
case 2061:
#line 13886 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-3].str), NIL, (yyvsp[-1].list), (yylsp[-6]));
}
#line 43867 "gram.c" /* yacc.c:1652 */
break;
case 2062:
#line 13890 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-5].str), (yyvsp[-3].list), (yyvsp[-1].list), (yylsp[-8]));
}
#line 43875 "gram.c" /* yacc.c:1652 */
break;
case 2063:
#line 13894 "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 43885 "gram.c" /* yacc.c:1652 */
break;
case 2064:
#line 13900 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeXmlExpr(IS_XMLFOREST, NULL, (yyvsp[-1].list), NIL, (yylsp[-3]));
}
#line 43893 "gram.c" /* yacc.c:1652 */
break;
case 2065:
#line 13904 "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 43906 "gram.c" /* yacc.c:1652 */
break;
case 2066:
#line 13913 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeXmlExpr(IS_XMLPI, (yyvsp[-1].str), NULL, NIL, (yylsp[-4]));
}
#line 43914 "gram.c" /* yacc.c:1652 */
break;
case 2067:
#line 13917 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeXmlExpr(IS_XMLPI, (yyvsp[-3].str), NULL, list_make1((yyvsp[-1].node)), (yylsp[-6]));
}
#line 43922 "gram.c" /* yacc.c:1652 */
break;
case 2068:
#line 13921 "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 43931 "gram.c" /* yacc.c:1652 */
break;
case 2069:
#line 13926 "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 43944 "gram.c" /* yacc.c:1652 */
break;
case 2070:
#line 13940 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 43950 "gram.c" /* yacc.c:1652 */
break;
case 2071:
#line 13942 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = makeNullAConst(-1); }
#line 43956 "gram.c" /* yacc.c:1652 */
break;
case 2072:
#line 13946 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = makeIntConst(XML_STANDALONE_YES, -1); }
#line 43962 "gram.c" /* yacc.c:1652 */
break;
case 2073:
#line 13948 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = makeIntConst(XML_STANDALONE_NO, -1); }
#line 43968 "gram.c" /* yacc.c:1652 */
break;
case 2074:
#line 13950 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = makeIntConst(XML_STANDALONE_NO_VALUE, -1); }
#line 43974 "gram.c" /* yacc.c:1652 */
break;
case 2075:
#line 13952 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = makeIntConst(XML_STANDALONE_OMITTED, -1); }
#line 43980 "gram.c" /* yacc.c:1652 */
break;
case 2076:
#line 13955 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 43986 "gram.c" /* yacc.c:1652 */
break;
case 2077:
#line 13958 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].target)); }
#line 43992 "gram.c" /* yacc.c:1652 */
break;
case 2078:
#line 13959 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
#line 43998 "gram.c" /* yacc.c:1652 */
break;
case 2079:
#line 13963 "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 44010 "gram.c" /* yacc.c:1652 */
break;
case 2080:
#line 13971 "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 44022 "gram.c" /* yacc.c:1652 */
break;
case 2081:
#line 13980 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = XMLOPTION_DOCUMENT; }
#line 44028 "gram.c" /* yacc.c:1652 */
break;
case 2082:
#line 13981 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = XMLOPTION_CONTENT; }
#line 44034 "gram.c" /* yacc.c:1652 */
break;
case 2083:
#line 13984 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = true; }
#line 44040 "gram.c" /* yacc.c:1652 */
break;
case 2084:
#line 13985 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 44046 "gram.c" /* yacc.c:1652 */
break;
case 2085:
#line 13986 "gram.y" /* yacc.c:1652 */
{ (yyval.boolean) = false; }
#line 44052 "gram.c" /* yacc.c:1652 */
break;
case 2086:
#line 13992 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (yyvsp[0].node);
}
#line 44060 "gram.c" /* yacc.c:1652 */
break;
case 2087:
#line 13996 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (yyvsp[-1].node);
}
#line 44068 "gram.c" /* yacc.c:1652 */
break;
case 2088:
#line 14000 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (yyvsp[0].node);
}
#line 44076 "gram.c" /* yacc.c:1652 */
break;
case 2089:
#line 14004 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (yyvsp[-1].node);
}
#line 44084 "gram.c" /* yacc.c:1652 */
break;
case 2092:
#line 14019 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 44090 "gram.c" /* yacc.c:1652 */
break;
case 2093:
#line 14020 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 44096 "gram.c" /* yacc.c:1652 */
break;
case 2094:
#line 14024 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[-1].node); }
#line 44102 "gram.c" /* yacc.c:1652 */
break;
case 2095:
#line 14025 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = NULL; }
#line 44108 "gram.c" /* yacc.c:1652 */
break;
case 2096:
#line 14033 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 44114 "gram.c" /* yacc.c:1652 */
break;
case 2097:
#line 14034 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 44120 "gram.c" /* yacc.c:1652 */
break;
case 2098:
#line 14038 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].windef)); }
#line 44126 "gram.c" /* yacc.c:1652 */
break;
case 2099:
#line 14040 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].windef)); }
#line 44132 "gram.c" /* yacc.c:1652 */
break;
case 2100:
#line 14045 "gram.y" /* yacc.c:1652 */
{
WindowDef *n = (yyvsp[0].windef);
n->name = (yyvsp[-2].str);
(yyval.windef) = n;
}
#line 44142 "gram.c" /* yacc.c:1652 */
break;
case 2101:
#line 14053 "gram.y" /* yacc.c:1652 */
{ (yyval.windef) = (yyvsp[0].windef); }
#line 44148 "gram.c" /* yacc.c:1652 */
break;
case 2102:
#line 14055 "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 44165 "gram.c" /* yacc.c:1652 */
break;
case 2103:
#line 14068 "gram.y" /* yacc.c:1652 */
{ (yyval.windef) = NULL; }
#line 44171 "gram.c" /* yacc.c:1652 */
break;
case 2104:
#line 14073 "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 44189 "gram.c" /* yacc.c:1652 */
break;
case 2105:
#line 14098 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 44195 "gram.c" /* yacc.c:1652 */
break;
case 2106:
#line 14099 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = NULL; }
#line 44201 "gram.c" /* yacc.c:1652 */
break;
case 2107:
#line 14102 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 44207 "gram.c" /* yacc.c:1652 */
break;
case 2108:
#line 14103 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 44213 "gram.c" /* yacc.c:1652 */
break;
case 2109:
#line 14112 "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 44224 "gram.c" /* yacc.c:1652 */
break;
case 2110:
#line 14119 "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 44235 "gram.c" /* yacc.c:1652 */
break;
case 2111:
#line 14126 "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 44246 "gram.c" /* yacc.c:1652 */
break;
case 2112:
#line 14133 "gram.y" /* yacc.c:1652 */
{
WindowDef *n = makeNode(WindowDef);
n->frameOptions = FRAMEOPTION_DEFAULTS;
n->startOffset = NULL;
n->endOffset = NULL;
(yyval.windef) = n;
}
#line 44258 "gram.c" /* yacc.c:1652 */
break;
case 2113:
#line 14143 "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 44279 "gram.c" /* yacc.c:1652 */
break;
case 2114:
#line 14160 "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 44320 "gram.c" /* yacc.c:1652 */
break;
case 2115:
#line 14205 "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 44332 "gram.c" /* yacc.c:1652 */
break;
case 2116:
#line 14213 "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 44344 "gram.c" /* yacc.c:1652 */
break;
case 2117:
#line 14221 "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 44356 "gram.c" /* yacc.c:1652 */
break;
case 2118:
#line 14229 "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 44368 "gram.c" /* yacc.c:1652 */
break;
case 2119:
#line 14237 "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 44380 "gram.c" /* yacc.c:1652 */
break;
case 2120:
#line 14247 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = FRAMEOPTION_EXCLUDE_CURRENT_ROW; }
#line 44386 "gram.c" /* yacc.c:1652 */
break;
case 2121:
#line 14248 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = FRAMEOPTION_EXCLUDE_GROUP; }
#line 44392 "gram.c" /* yacc.c:1652 */
break;
case 2122:
#line 14249 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = FRAMEOPTION_EXCLUDE_TIES; }
#line 44398 "gram.c" /* yacc.c:1652 */
break;
case 2123:
#line 14250 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = 0; }
#line 44404 "gram.c" /* yacc.c:1652 */
break;
case 2124:
#line 14251 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = 0; }
#line 44410 "gram.c" /* yacc.c:1652 */
break;
case 2125:
#line 14265 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 44416 "gram.c" /* yacc.c:1652 */
break;
case 2126:
#line 14266 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 44422 "gram.c" /* yacc.c:1652 */
break;
case 2127:
#line 14267 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-3].list), (yyvsp[-1].node)); }
#line 44428 "gram.c" /* yacc.c:1652 */
break;
case 2128:
#line 14270 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 44434 "gram.c" /* yacc.c:1652 */
break;
case 2129:
#line 14271 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 44440 "gram.c" /* yacc.c:1652 */
break;
case 2130:
#line 14274 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-3].list), (yyvsp[-1].node)); }
#line 44446 "gram.c" /* yacc.c:1652 */
break;
case 2131:
#line 14277 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = ANY_SUBLINK; }
#line 44452 "gram.c" /* yacc.c:1652 */
break;
case 2132:
#line 14278 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = ANY_SUBLINK; }
#line 44458 "gram.c" /* yacc.c:1652 */
break;
case 2133:
#line 14279 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = ALL_SUBLINK; }
#line 44464 "gram.c" /* yacc.c:1652 */
break;
case 2134:
#line 14282 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 44470 "gram.c" /* yacc.c:1652 */
break;
case 2135:
#line 14283 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 44476 "gram.c" /* yacc.c:1652 */
break;
case 2136:
#line 14286 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = "+"; }
#line 44482 "gram.c" /* yacc.c:1652 */
break;
case 2137:
#line 14287 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = "-"; }
#line 44488 "gram.c" /* yacc.c:1652 */
break;
case 2138:
#line 14288 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = "*"; }
#line 44494 "gram.c" /* yacc.c:1652 */
break;
case 2139:
#line 14289 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = "/"; }
#line 44500 "gram.c" /* yacc.c:1652 */
break;
case 2140:
#line 14290 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = "%"; }
#line 44506 "gram.c" /* yacc.c:1652 */
break;
case 2141:
#line 14291 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = "^"; }
#line 44512 "gram.c" /* yacc.c:1652 */
break;
case 2142:
#line 14292 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = "<"; }
#line 44518 "gram.c" /* yacc.c:1652 */
break;
case 2143:
#line 14293 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = ">"; }
#line 44524 "gram.c" /* yacc.c:1652 */
break;
case 2144:
#line 14294 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = "="; }
#line 44530 "gram.c" /* yacc.c:1652 */
break;
case 2145:
#line 14295 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = "<="; }
#line 44536 "gram.c" /* yacc.c:1652 */
break;
case 2146:
#line 14296 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = ">="; }
#line 44542 "gram.c" /* yacc.c:1652 */
break;
case 2147:
#line 14297 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = "<>"; }
#line 44548 "gram.c" /* yacc.c:1652 */
break;
case 2148:
#line 14301 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
#line 44554 "gram.c" /* yacc.c:1652 */
break;
case 2149:
#line 14303 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 44560 "gram.c" /* yacc.c:1652 */
break;
case 2150:
#line 14308 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
#line 44566 "gram.c" /* yacc.c:1652 */
break;
case 2151:
#line 14310 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 44572 "gram.c" /* yacc.c:1652 */
break;
case 2152:
#line 14315 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
#line 44578 "gram.c" /* yacc.c:1652 */
break;
case 2153:
#line 14317 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[-1].list); }
#line 44584 "gram.c" /* yacc.c:1652 */
break;
case 2154:
#line 14319 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1(makeString("~~")); }
#line 44590 "gram.c" /* yacc.c:1652 */
break;
case 2155:
#line 14321 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1(makeString("!~~")); }
#line 44596 "gram.c" /* yacc.c:1652 */
break;
case 2156:
#line 14323 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1(makeString("~~*")); }
#line 44602 "gram.c" /* yacc.c:1652 */
break;
case 2157:
#line 14325 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1(makeString("!~~*")); }
#line 44608 "gram.c" /* yacc.c:1652 */
break;
case 2158:
#line 14337 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make1((yyvsp[0].node));
}
#line 44616 "gram.c" /* yacc.c:1652 */
break;
case 2159:
#line 14341 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
}
#line 44624 "gram.c" /* yacc.c:1652 */
break;
case 2160:
#line 14348 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make1((yyvsp[0].node));
}
#line 44632 "gram.c" /* yacc.c:1652 */
break;
case 2161:
#line 14352 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
}
#line 44640 "gram.c" /* yacc.c:1652 */
break;
case 2162:
#line 14358 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (yyvsp[0].node);
}
#line 44648 "gram.c" /* yacc.c:1652 */
break;
case 2163:
#line 14362 "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 44661 "gram.c" /* yacc.c:1652 */
break;
case 2164:
#line 14371 "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 44674 "gram.c" /* yacc.c:1652 */
break;
case 2165:
#line 14381 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].typnam)); }
#line 44680 "gram.c" /* yacc.c:1652 */
break;
case 2166:
#line 14382 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].typnam)); }
#line 44686 "gram.c" /* yacc.c:1652 */
break;
case 2167:
#line 14386 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeAArrayExpr((yyvsp[-1].list), (yylsp[-2]));
}
#line 44694 "gram.c" /* yacc.c:1652 */
break;
case 2168:
#line 14390 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeAArrayExpr((yyvsp[-1].list), (yylsp[-2]));
}
#line 44702 "gram.c" /* yacc.c:1652 */
break;
case 2169:
#line 14394 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeAArrayExpr(NIL, (yylsp[-1]));
}
#line 44710 "gram.c" /* yacc.c:1652 */
break;
case 2170:
#line 14399 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].node)); }
#line 44716 "gram.c" /* yacc.c:1652 */
break;
case 2171:
#line 14400 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
#line 44722 "gram.c" /* yacc.c:1652 */
break;
case 2172:
#line 14406 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make2(makeStringConst((yyvsp[-2].str), (yylsp[-2])), (yyvsp[0].node));
}
#line 44730 "gram.c" /* yacc.c:1652 */
break;
case 2173:
#line 14409 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 44736 "gram.c" /* yacc.c:1652 */
break;
case 2174:
#line 14416 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 44742 "gram.c" /* yacc.c:1652 */
break;
case 2175:
#line 14417 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = "year"; }
#line 44748 "gram.c" /* yacc.c:1652 */
break;
case 2176:
#line 14418 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = "month"; }
#line 44754 "gram.c" /* yacc.c:1652 */
break;
case 2177:
#line 14419 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = "day"; }
#line 44760 "gram.c" /* yacc.c:1652 */
break;
case 2178:
#line 14420 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = "hour"; }
#line 44766 "gram.c" /* yacc.c:1652 */
break;
case 2179:
#line 14421 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = "minute"; }
#line 44772 "gram.c" /* yacc.c:1652 */
break;
case 2180:
#line 14422 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = "second"; }
#line 44778 "gram.c" /* yacc.c:1652 */
break;
case 2181:
#line 14423 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 44784 "gram.c" /* yacc.c:1652 */
break;
case 2182:
#line 14434 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make4((yyvsp[-3].node), (yyvsp[-2].node), (yyvsp[-1].node), (yyvsp[0].node));
}
#line 44792 "gram.c" /* yacc.c:1652 */
break;
case 2183:
#line 14438 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make3((yyvsp[-2].node), (yyvsp[-1].node), (yyvsp[0].node));
}
#line 44800 "gram.c" /* yacc.c:1652 */
break;
case 2184:
#line 14445 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 44806 "gram.c" /* yacc.c:1652 */
break;
case 2185:
#line 14451 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make2((yyvsp[0].node), (yyvsp[-2].node)); }
#line 44812 "gram.c" /* yacc.c:1652 */
break;
case 2186:
#line 14452 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 44818 "gram.c" /* yacc.c:1652 */
break;
case 2187:
#line 14469 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make3((yyvsp[-2].node), (yyvsp[-1].node), (yyvsp[0].node));
}
#line 44826 "gram.c" /* yacc.c:1652 */
break;
case 2188:
#line 14473 "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 44835 "gram.c" /* yacc.c:1652 */
break;
case 2189:
#line 14478 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = list_make2((yyvsp[-1].node), (yyvsp[0].node));
}
#line 44843 "gram.c" /* yacc.c:1652 */
break;
case 2190:
#line 14482 "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 44862 "gram.c" /* yacc.c:1652 */
break;
case 2191:
#line 14497 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = (yyvsp[0].list);
}
#line 44870 "gram.c" /* yacc.c:1652 */
break;
case 2192:
#line 14501 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 44876 "gram.c" /* yacc.c:1652 */
break;
case 2193:
#line 14505 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 44882 "gram.c" /* yacc.c:1652 */
break;
case 2194:
#line 14508 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 44888 "gram.c" /* yacc.c:1652 */
break;
case 2195:
#line 14511 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[0].list), (yyvsp[-2].node)); }
#line 44894 "gram.c" /* yacc.c:1652 */
break;
case 2196:
#line 14512 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 44900 "gram.c" /* yacc.c:1652 */
break;
case 2197:
#line 14513 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 44906 "gram.c" /* yacc.c:1652 */
break;
case 2198:
#line 14517 "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 44917 "gram.c" /* yacc.c:1652 */
break;
case 2199:
#line 14523 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (Node *)(yyvsp[-1].list); }
#line 44923 "gram.c" /* yacc.c:1652 */
break;
case 2200:
#line 14534 "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 44937 "gram.c" /* yacc.c:1652 */
break;
case 2201:
#line 14547 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].node)); }
#line 44943 "gram.c" /* yacc.c:1652 */
break;
case 2202:
#line 14548 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
#line 44949 "gram.c" /* yacc.c:1652 */
break;
case 2203:
#line 14553 "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 44961 "gram.c" /* yacc.c:1652 */
break;
case 2204:
#line 14563 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 44967 "gram.c" /* yacc.c:1652 */
break;
case 2205:
#line 14564 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = NULL; }
#line 44973 "gram.c" /* yacc.c:1652 */
break;
case 2206:
#line 14567 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 44979 "gram.c" /* yacc.c:1652 */
break;
case 2207:
#line 14568 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = NULL; }
#line 44985 "gram.c" /* yacc.c:1652 */
break;
case 2208:
#line 14572 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeColumnRef((yyvsp[0].str), NIL, (yylsp[0]), yyscanner);
}
#line 44993 "gram.c" /* yacc.c:1652 */
break;
case 2209:
#line 14576 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeColumnRef((yyvsp[-1].str), (yyvsp[0].list), (yylsp[-1]), yyscanner);
}
#line 45001 "gram.c" /* yacc.c:1652 */
break;
case 2210:
#line 14583 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (Node *) makeString((yyvsp[0].str));
}
#line 45009 "gram.c" /* yacc.c:1652 */
break;
case 2211:
#line 14587 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = (Node *) makeNode(A_Star);
}
#line 45017 "gram.c" /* yacc.c:1652 */
break;
case 2212:
#line 14591 "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 45029 "gram.c" /* yacc.c:1652 */
break;
case 2213:
#line 14599 "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 45041 "gram.c" /* yacc.c:1652 */
break;
case 2214:
#line 14609 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = (yyvsp[0].node); }
#line 45047 "gram.c" /* yacc.c:1652 */
break;
case 2215:
#line 14610 "gram.y" /* yacc.c:1652 */
{ (yyval.node) = NULL; }
#line 45053 "gram.c" /* yacc.c:1652 */
break;
case 2216:
#line 14614 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].node)); }
#line 45059 "gram.c" /* yacc.c:1652 */
break;
case 2217:
#line 14615 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
#line 45065 "gram.c" /* yacc.c:1652 */
break;
case 2218:
#line 14619 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 45071 "gram.c" /* yacc.c:1652 */
break;
case 2219:
#line 14620 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
#line 45077 "gram.c" /* yacc.c:1652 */
break;
case 2222:
#line 14634 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = (yyvsp[0].list); }
#line 45083 "gram.c" /* yacc.c:1652 */
break;
case 2223:
#line 14635 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = NIL; }
#line 45089 "gram.c" /* yacc.c:1652 */
break;
case 2224:
#line 14639 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].target)); }
#line 45095 "gram.c" /* yacc.c:1652 */
break;
case 2225:
#line 14640 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
#line 45101 "gram.c" /* yacc.c:1652 */
break;
case 2226:
#line 14644 "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 45113 "gram.c" /* yacc.c:1652 */
break;
case 2227:
#line 14660 "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 45125 "gram.c" /* yacc.c:1652 */
break;
case 2228:
#line 14668 "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 45137 "gram.c" /* yacc.c:1652 */
break;
case 2229:
#line 14676 "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 45153 "gram.c" /* yacc.c:1652 */
break;
case 2230:
#line 14697 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].range)); }
#line 45159 "gram.c" /* yacc.c:1652 */
break;
case 2231:
#line 14698 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].range)); }
#line 45165 "gram.c" /* yacc.c:1652 */
break;
case 2232:
#line 14710 "gram.y" /* yacc.c:1652 */
{
(yyval.range) = makeRangeVar(NULL, (yyvsp[0].str), (yylsp[0]));
}
#line 45173 "gram.c" /* yacc.c:1652 */
break;
case 2233:
#line 14714 "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 45202 "gram.c" /* yacc.c:1652 */
break;
case 2234:
#line 14741 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
#line 45208 "gram.c" /* yacc.c:1652 */
break;
case 2235:
#line 14743 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
#line 45214 "gram.c" /* yacc.c:1652 */
break;
case 2236:
#line 14747 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 45220 "gram.c" /* yacc.c:1652 */
break;
case 2237:
#line 14750 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 45226 "gram.c" /* yacc.c:1652 */
break;
case 2238:
#line 14753 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 45232 "gram.c" /* yacc.c:1652 */
break;
case 2239:
#line 14755 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 45238 "gram.c" /* yacc.c:1652 */
break;
case 2240:
#line 14757 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 45244 "gram.c" /* yacc.c:1652 */
break;
case 2241:
#line 14759 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 45250 "gram.c" /* yacc.c:1652 */
break;
case 2242:
#line 14770 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
#line 45256 "gram.c" /* yacc.c:1652 */
break;
case 2243:
#line 14772 "gram.y" /* yacc.c:1652 */
{
(yyval.list) = check_func_name(lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)),
yyscanner);
}
#line 45265 "gram.c" /* yacc.c:1652 */
break;
case 2244:
#line 14783 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeIntConst((yyvsp[0].ival), (yylsp[0]));
}
#line 45273 "gram.c" /* yacc.c:1652 */
break;
case 2245:
#line 14787 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeFloatConst((yyvsp[0].str), (yylsp[0]));
}
#line 45281 "gram.c" /* yacc.c:1652 */
break;
case 2246:
#line 14791 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0]));
}
#line 45289 "gram.c" /* yacc.c:1652 */
break;
case 2247:
#line 14795 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeBitStringConst((yyvsp[0].str), (yylsp[0]));
}
#line 45297 "gram.c" /* yacc.c:1652 */
break;
case 2248:
#line 14799 "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 45310 "gram.c" /* yacc.c:1652 */
break;
case 2249:
#line 14808 "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 45321 "gram.c" /* yacc.c:1652 */
break;
case 2250:
#line 14815 "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 45357 "gram.c" /* yacc.c:1652 */
break;
case 2251:
#line 14847 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), (yyvsp[-1].typnam));
}
#line 45365 "gram.c" /* yacc.c:1652 */
break;
case 2252:
#line 14851 "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 45375 "gram.c" /* yacc.c:1652 */
break;
case 2253:
#line 14857 "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 45386 "gram.c" /* yacc.c:1652 */
break;
case 2254:
#line 14864 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeBoolAConst(true, (yylsp[0]));
}
#line 45394 "gram.c" /* yacc.c:1652 */
break;
case 2255:
#line 14868 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeBoolAConst(false, (yylsp[0]));
}
#line 45402 "gram.c" /* yacc.c:1652 */
break;
case 2256:
#line 14872 "gram.y" /* yacc.c:1652 */
{
(yyval.node) = makeNullAConst((yylsp[0]));
}
#line 45410 "gram.c" /* yacc.c:1652 */
break;
case 2257:
#line 14877 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = (yyvsp[0].ival); }
#line 45416 "gram.c" /* yacc.c:1652 */
break;
case 2258:
#line 14878 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 45422 "gram.c" /* yacc.c:1652 */
break;
case 2259:
#line 14880 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = (yyvsp[0].ival); }
#line 45428 "gram.c" /* yacc.c:1652 */
break;
case 2260:
#line 14881 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = + (yyvsp[0].ival); }
#line 45434 "gram.c" /* yacc.c:1652 */
break;
case 2261:
#line 14882 "gram.y" /* yacc.c:1652 */
{ (yyval.ival) = - (yyvsp[0].ival); }
#line 45440 "gram.c" /* yacc.c:1652 */
break;
case 2262:
#line 14887 "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 45475 "gram.c" /* yacc.c:1652 */
break;
case 2263:
#line 14920 "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 45506 "gram.c" /* yacc.c:1652 */
break;
case 2264:
#line 14947 "gram.y" /* yacc.c:1652 */
{
(yyval.rolespec) = makeRoleSpec(ROLESPEC_CURRENT_USER, (yylsp[0]));
}
#line 45514 "gram.c" /* yacc.c:1652 */
break;
case 2265:
#line 14951 "gram.y" /* yacc.c:1652 */
{
(yyval.rolespec) = makeRoleSpec(ROLESPEC_SESSION_USER, (yylsp[0]));
}
#line 45522 "gram.c" /* yacc.c:1652 */
break;
case 2266:
#line 14957 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = list_make1((yyvsp[0].rolespec)); }
#line 45528 "gram.c" /* yacc.c:1652 */
break;
case 2267:
#line 14959 "gram.y" /* yacc.c:1652 */
{ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].rolespec)); }
#line 45534 "gram.c" /* yacc.c:1652 */
break;
case 2268:
#line 14975 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 45540 "gram.c" /* yacc.c:1652 */
break;
case 2269:
#line 14976 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = pstrdup((yyvsp[0].keyword)); }
#line 45546 "gram.c" /* yacc.c:1652 */
break;
case 2270:
#line 14977 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = pstrdup((yyvsp[0].keyword)); }
#line 45552 "gram.c" /* yacc.c:1652 */
break;
case 2271:
#line 14982 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 45558 "gram.c" /* yacc.c:1652 */
break;
case 2272:
#line 14983 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = pstrdup((yyvsp[0].keyword)); }
#line 45564 "gram.c" /* yacc.c:1652 */
break;
case 2273:
#line 14984 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = pstrdup((yyvsp[0].keyword)); }
#line 45570 "gram.c" /* yacc.c:1652 */
break;
case 2274:
#line 14989 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 45576 "gram.c" /* yacc.c:1652 */
break;
case 2275:
#line 14990 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = pstrdup((yyvsp[0].keyword)); }
#line 45582 "gram.c" /* yacc.c:1652 */
break;
case 2276:
#line 14991 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = pstrdup((yyvsp[0].keyword)); }
#line 45588 "gram.c" /* yacc.c:1652 */
break;
case 2277:
#line 14992 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = pstrdup((yyvsp[0].keyword)); }
#line 45594 "gram.c" /* yacc.c:1652 */
break;
case 2278:
#line 14998 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = (yyvsp[0].str); }
#line 45600 "gram.c" /* yacc.c:1652 */
break;
case 2279:
#line 14999 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = pstrdup((yyvsp[0].keyword)); }
#line 45606 "gram.c" /* yacc.c:1652 */
break;
case 2280:
#line 15000 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = pstrdup((yyvsp[0].keyword)); }
#line 45612 "gram.c" /* yacc.c:1652 */
break;
case 2281:
#line 15001 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = pstrdup((yyvsp[0].keyword)); }
#line 45618 "gram.c" /* yacc.c:1652 */
break;
case 2282:
#line 15002 "gram.y" /* yacc.c:1652 */
{ (yyval.str) = pstrdup((yyvsp[0].keyword)); }
#line 45624 "gram.c" /* yacc.c:1652 */
break;
#line 45628 "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 15501 "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->ctematerialized = CTEMaterializeDefault;
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 */
}