summaryrefslogtreecommitdiffstats
path: root/src/backend/parser/gram.c
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-13 13:44:03 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-13 13:44:03 +0000
commit293913568e6a7a86fd1479e1cff8e2ecb58d6568 (patch)
treefc3b469a3ec5ab71b36ea97cc7aaddb838423a0c /src/backend/parser/gram.c
parentInitial commit. (diff)
downloadpostgresql-16-293913568e6a7a86fd1479e1cff8e2ecb58d6568.tar.xz
postgresql-16-293913568e6a7a86fd1479e1cff8e2ecb58d6568.zip
Adding upstream version 16.2.upstream/16.2
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/backend/parser/gram.c')
-rw-r--r--src/backend/parser/gram.c51867
1 files changed, 51867 insertions, 0 deletions
diff --git a/src/backend/parser/gram.c b/src/backend/parser/gram.c
new file mode 100644
index 0000000..9454f30
--- /dev/null
+++ b/src/backend/parser/gram.c
@@ -0,0 +1,51867 @@
+/* A Bison parser, made by GNU Bison 3.7.5. */
+
+/* Bison implementation for Yacc-like parsers in C
+
+ Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 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 <http://www.gnu.org/licenses/>. */
+
+/* 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. */
+
+/* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
+ especially those whose name start with YY_ or yy_. They are
+ private implementation details that can be changed or removed. */
+
+/* All symbols defined below should begin with yy or YY, to avoid
+ infringing on user name space. This should be done even for local
+ variables, as they might otherwise be expanded by user macros.
+ There are some unavoidable exceptions within include files to
+ define necessary library symbols; they are noted "INFRINGES ON
+ USER NAME SPACE" below. */
+
+/* Identify Bison output, and Bison version. */
+#define YYBISON 30705
+
+/* Bison version string. */
+#define YYBISON_VERSION "3.7.5"
+
+/* 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"
+
+
+/*#define YYDEBUG 1*/
+/*-------------------------------------------------------------------------
+ *
+ * gram.y
+ * POSTGRESQL BISON rules/actions
+ *
+ * Portions Copyright (c) 1996-2023, 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 <ctype.h>
+#include <limits.h>
+
+#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 "gramparse.h"
+#include "nodes/makefuncs.h"
+#include "nodes/nodeFuncs.h"
+#include "parser/parser.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.
+ */
+#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;
+
+/* Private struct for the result of opt_select_limit production */
+typedef struct SelectLimit
+{
+ Node *limitOffset;
+ Node *limitCount;
+ LimitOption limitOption;
+} SelectLimit;
+
+/* Private struct for the result of group_clause production */
+typedef struct GroupClause
+{
+ bool distinct;
+ List *list;
+} GroupClause;
+
+/* Private structs for the result of key_actions and key_action productions */
+typedef struct KeyAction
+{
+ char action;
+ List *cols;
+} KeyAction;
+
+typedef struct KeyActions
+{
+ KeyAction *updateAction;
+ KeyAction *deleteAction;
+} KeyActions;
+
+/* 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 *makeBoolAConst(bool state, int location);
+static Node *makeBitStringConst(char *str, int location);
+static Node *makeNullAConst(int location);
+static Node *makeAConst(Node *v, 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,
+ SelectLimit *limitClause,
+ 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(Float *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 RangeVar *makeRangeVarFromQualifiedName(char *name, List *namelist, int location,
+ 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 PartitionStrategy parsePartitionStrategy(char *strategy);
+static void preprocess_pubobj_list(List *pubobjspec_list,
+ core_yyscan_t yyscanner);
+static Node *makeRecursiveViewSelect(char *relname, List *aliases, Node *query);
+
+
+#line 298 "gram.c"
+
+# ifndef YY_CAST
+# ifdef __cplusplus
+# define YY_CAST(Type, Val) static_cast<Type> (Val)
+# define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)
+# else
+# define YY_CAST(Type, Val) ((Type) (Val))
+# define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val))
+# endif
+# endif
+# 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
+
+#include "gram.h"
+/* Symbol kind. */
+enum yysymbol_kind_t
+{
+ YYSYMBOL_YYEMPTY = -2,
+ YYSYMBOL_YYEOF = 0, /* "end of file" */
+ YYSYMBOL_YYerror = 1, /* error */
+ YYSYMBOL_YYUNDEF = 2, /* "invalid token" */
+ YYSYMBOL_IDENT = 3, /* IDENT */
+ YYSYMBOL_UIDENT = 4, /* UIDENT */
+ YYSYMBOL_FCONST = 5, /* FCONST */
+ YYSYMBOL_SCONST = 6, /* SCONST */
+ YYSYMBOL_USCONST = 7, /* USCONST */
+ YYSYMBOL_BCONST = 8, /* BCONST */
+ YYSYMBOL_XCONST = 9, /* XCONST */
+ YYSYMBOL_Op = 10, /* Op */
+ YYSYMBOL_ICONST = 11, /* ICONST */
+ YYSYMBOL_PARAM = 12, /* PARAM */
+ YYSYMBOL_TYPECAST = 13, /* TYPECAST */
+ YYSYMBOL_DOT_DOT = 14, /* DOT_DOT */
+ YYSYMBOL_COLON_EQUALS = 15, /* COLON_EQUALS */
+ YYSYMBOL_EQUALS_GREATER = 16, /* EQUALS_GREATER */
+ YYSYMBOL_LESS_EQUALS = 17, /* LESS_EQUALS */
+ YYSYMBOL_GREATER_EQUALS = 18, /* GREATER_EQUALS */
+ YYSYMBOL_NOT_EQUALS = 19, /* NOT_EQUALS */
+ YYSYMBOL_ABORT_P = 20, /* ABORT_P */
+ YYSYMBOL_ABSENT = 21, /* ABSENT */
+ YYSYMBOL_ABSOLUTE_P = 22, /* ABSOLUTE_P */
+ YYSYMBOL_ACCESS = 23, /* ACCESS */
+ YYSYMBOL_ACTION = 24, /* ACTION */
+ YYSYMBOL_ADD_P = 25, /* ADD_P */
+ YYSYMBOL_ADMIN = 26, /* ADMIN */
+ YYSYMBOL_AFTER = 27, /* AFTER */
+ YYSYMBOL_AGGREGATE = 28, /* AGGREGATE */
+ YYSYMBOL_ALL = 29, /* ALL */
+ YYSYMBOL_ALSO = 30, /* ALSO */
+ YYSYMBOL_ALTER = 31, /* ALTER */
+ YYSYMBOL_ALWAYS = 32, /* ALWAYS */
+ YYSYMBOL_ANALYSE = 33, /* ANALYSE */
+ YYSYMBOL_ANALYZE = 34, /* ANALYZE */
+ YYSYMBOL_AND = 35, /* AND */
+ YYSYMBOL_ANY = 36, /* ANY */
+ YYSYMBOL_ARRAY = 37, /* ARRAY */
+ YYSYMBOL_AS = 38, /* AS */
+ YYSYMBOL_ASC = 39, /* ASC */
+ YYSYMBOL_ASENSITIVE = 40, /* ASENSITIVE */
+ YYSYMBOL_ASSERTION = 41, /* ASSERTION */
+ YYSYMBOL_ASSIGNMENT = 42, /* ASSIGNMENT */
+ YYSYMBOL_ASYMMETRIC = 43, /* ASYMMETRIC */
+ YYSYMBOL_ATOMIC = 44, /* ATOMIC */
+ YYSYMBOL_AT = 45, /* AT */
+ YYSYMBOL_ATTACH = 46, /* ATTACH */
+ YYSYMBOL_ATTRIBUTE = 47, /* ATTRIBUTE */
+ YYSYMBOL_AUTHORIZATION = 48, /* AUTHORIZATION */
+ YYSYMBOL_BACKWARD = 49, /* BACKWARD */
+ YYSYMBOL_BEFORE = 50, /* BEFORE */
+ YYSYMBOL_BEGIN_P = 51, /* BEGIN_P */
+ YYSYMBOL_BETWEEN = 52, /* BETWEEN */
+ YYSYMBOL_BIGINT = 53, /* BIGINT */
+ YYSYMBOL_BINARY = 54, /* BINARY */
+ YYSYMBOL_BIT = 55, /* BIT */
+ YYSYMBOL_BOOLEAN_P = 56, /* BOOLEAN_P */
+ YYSYMBOL_BOTH = 57, /* BOTH */
+ YYSYMBOL_BREADTH = 58, /* BREADTH */
+ YYSYMBOL_BY = 59, /* BY */
+ YYSYMBOL_CACHE = 60, /* CACHE */
+ YYSYMBOL_CALL = 61, /* CALL */
+ YYSYMBOL_CALLED = 62, /* CALLED */
+ YYSYMBOL_CASCADE = 63, /* CASCADE */
+ YYSYMBOL_CASCADED = 64, /* CASCADED */
+ YYSYMBOL_CASE = 65, /* CASE */
+ YYSYMBOL_CAST = 66, /* CAST */
+ YYSYMBOL_CATALOG_P = 67, /* CATALOG_P */
+ YYSYMBOL_CHAIN = 68, /* CHAIN */
+ YYSYMBOL_CHAR_P = 69, /* CHAR_P */
+ YYSYMBOL_CHARACTER = 70, /* CHARACTER */
+ YYSYMBOL_CHARACTERISTICS = 71, /* CHARACTERISTICS */
+ YYSYMBOL_CHECK = 72, /* CHECK */
+ YYSYMBOL_CHECKPOINT = 73, /* CHECKPOINT */
+ YYSYMBOL_CLASS = 74, /* CLASS */
+ YYSYMBOL_CLOSE = 75, /* CLOSE */
+ YYSYMBOL_CLUSTER = 76, /* CLUSTER */
+ YYSYMBOL_COALESCE = 77, /* COALESCE */
+ YYSYMBOL_COLLATE = 78, /* COLLATE */
+ YYSYMBOL_COLLATION = 79, /* COLLATION */
+ YYSYMBOL_COLUMN = 80, /* COLUMN */
+ YYSYMBOL_COLUMNS = 81, /* COLUMNS */
+ YYSYMBOL_COMMENT = 82, /* COMMENT */
+ YYSYMBOL_COMMENTS = 83, /* COMMENTS */
+ YYSYMBOL_COMMIT = 84, /* COMMIT */
+ YYSYMBOL_COMMITTED = 85, /* COMMITTED */
+ YYSYMBOL_COMPRESSION = 86, /* COMPRESSION */
+ YYSYMBOL_CONCURRENTLY = 87, /* CONCURRENTLY */
+ YYSYMBOL_CONFIGURATION = 88, /* CONFIGURATION */
+ YYSYMBOL_CONFLICT = 89, /* CONFLICT */
+ YYSYMBOL_CONNECTION = 90, /* CONNECTION */
+ YYSYMBOL_CONSTRAINT = 91, /* CONSTRAINT */
+ YYSYMBOL_CONSTRAINTS = 92, /* CONSTRAINTS */
+ YYSYMBOL_CONTENT_P = 93, /* CONTENT_P */
+ YYSYMBOL_CONTINUE_P = 94, /* CONTINUE_P */
+ YYSYMBOL_CONVERSION_P = 95, /* CONVERSION_P */
+ YYSYMBOL_COPY = 96, /* COPY */
+ YYSYMBOL_COST = 97, /* COST */
+ YYSYMBOL_CREATE = 98, /* CREATE */
+ YYSYMBOL_CROSS = 99, /* CROSS */
+ YYSYMBOL_CSV = 100, /* CSV */
+ YYSYMBOL_CUBE = 101, /* CUBE */
+ YYSYMBOL_CURRENT_P = 102, /* CURRENT_P */
+ YYSYMBOL_CURRENT_CATALOG = 103, /* CURRENT_CATALOG */
+ YYSYMBOL_CURRENT_DATE = 104, /* CURRENT_DATE */
+ YYSYMBOL_CURRENT_ROLE = 105, /* CURRENT_ROLE */
+ YYSYMBOL_CURRENT_SCHEMA = 106, /* CURRENT_SCHEMA */
+ YYSYMBOL_CURRENT_TIME = 107, /* CURRENT_TIME */
+ YYSYMBOL_CURRENT_TIMESTAMP = 108, /* CURRENT_TIMESTAMP */
+ YYSYMBOL_CURRENT_USER = 109, /* CURRENT_USER */
+ YYSYMBOL_CURSOR = 110, /* CURSOR */
+ YYSYMBOL_CYCLE = 111, /* CYCLE */
+ YYSYMBOL_DATA_P = 112, /* DATA_P */
+ YYSYMBOL_DATABASE = 113, /* DATABASE */
+ YYSYMBOL_DAY_P = 114, /* DAY_P */
+ YYSYMBOL_DEALLOCATE = 115, /* DEALLOCATE */
+ YYSYMBOL_DEC = 116, /* DEC */
+ YYSYMBOL_DECIMAL_P = 117, /* DECIMAL_P */
+ YYSYMBOL_DECLARE = 118, /* DECLARE */
+ YYSYMBOL_DEFAULT = 119, /* DEFAULT */
+ YYSYMBOL_DEFAULTS = 120, /* DEFAULTS */
+ YYSYMBOL_DEFERRABLE = 121, /* DEFERRABLE */
+ YYSYMBOL_DEFERRED = 122, /* DEFERRED */
+ YYSYMBOL_DEFINER = 123, /* DEFINER */
+ YYSYMBOL_DELETE_P = 124, /* DELETE_P */
+ YYSYMBOL_DELIMITER = 125, /* DELIMITER */
+ YYSYMBOL_DELIMITERS = 126, /* DELIMITERS */
+ YYSYMBOL_DEPENDS = 127, /* DEPENDS */
+ YYSYMBOL_DEPTH = 128, /* DEPTH */
+ YYSYMBOL_DESC = 129, /* DESC */
+ YYSYMBOL_DETACH = 130, /* DETACH */
+ YYSYMBOL_DICTIONARY = 131, /* DICTIONARY */
+ YYSYMBOL_DISABLE_P = 132, /* DISABLE_P */
+ YYSYMBOL_DISCARD = 133, /* DISCARD */
+ YYSYMBOL_DISTINCT = 134, /* DISTINCT */
+ YYSYMBOL_DO = 135, /* DO */
+ YYSYMBOL_DOCUMENT_P = 136, /* DOCUMENT_P */
+ YYSYMBOL_DOMAIN_P = 137, /* DOMAIN_P */
+ YYSYMBOL_DOUBLE_P = 138, /* DOUBLE_P */
+ YYSYMBOL_DROP = 139, /* DROP */
+ YYSYMBOL_EACH = 140, /* EACH */
+ YYSYMBOL_ELSE = 141, /* ELSE */
+ YYSYMBOL_ENABLE_P = 142, /* ENABLE_P */
+ YYSYMBOL_ENCODING = 143, /* ENCODING */
+ YYSYMBOL_ENCRYPTED = 144, /* ENCRYPTED */
+ YYSYMBOL_END_P = 145, /* END_P */
+ YYSYMBOL_ENUM_P = 146, /* ENUM_P */
+ YYSYMBOL_ESCAPE = 147, /* ESCAPE */
+ YYSYMBOL_EVENT = 148, /* EVENT */
+ YYSYMBOL_EXCEPT = 149, /* EXCEPT */
+ YYSYMBOL_EXCLUDE = 150, /* EXCLUDE */
+ YYSYMBOL_EXCLUDING = 151, /* EXCLUDING */
+ YYSYMBOL_EXCLUSIVE = 152, /* EXCLUSIVE */
+ YYSYMBOL_EXECUTE = 153, /* EXECUTE */
+ YYSYMBOL_EXISTS = 154, /* EXISTS */
+ YYSYMBOL_EXPLAIN = 155, /* EXPLAIN */
+ YYSYMBOL_EXPRESSION = 156, /* EXPRESSION */
+ YYSYMBOL_EXTENSION = 157, /* EXTENSION */
+ YYSYMBOL_EXTERNAL = 158, /* EXTERNAL */
+ YYSYMBOL_EXTRACT = 159, /* EXTRACT */
+ YYSYMBOL_FALSE_P = 160, /* FALSE_P */
+ YYSYMBOL_FAMILY = 161, /* FAMILY */
+ YYSYMBOL_FETCH = 162, /* FETCH */
+ YYSYMBOL_FILTER = 163, /* FILTER */
+ YYSYMBOL_FINALIZE = 164, /* FINALIZE */
+ YYSYMBOL_FIRST_P = 165, /* FIRST_P */
+ YYSYMBOL_FLOAT_P = 166, /* FLOAT_P */
+ YYSYMBOL_FOLLOWING = 167, /* FOLLOWING */
+ YYSYMBOL_FOR = 168, /* FOR */
+ YYSYMBOL_FORCE = 169, /* FORCE */
+ YYSYMBOL_FOREIGN = 170, /* FOREIGN */
+ YYSYMBOL_FORMAT = 171, /* FORMAT */
+ YYSYMBOL_FORWARD = 172, /* FORWARD */
+ YYSYMBOL_FREEZE = 173, /* FREEZE */
+ YYSYMBOL_FROM = 174, /* FROM */
+ YYSYMBOL_FULL = 175, /* FULL */
+ YYSYMBOL_FUNCTION = 176, /* FUNCTION */
+ YYSYMBOL_FUNCTIONS = 177, /* FUNCTIONS */
+ YYSYMBOL_GENERATED = 178, /* GENERATED */
+ YYSYMBOL_GLOBAL = 179, /* GLOBAL */
+ YYSYMBOL_GRANT = 180, /* GRANT */
+ YYSYMBOL_GRANTED = 181, /* GRANTED */
+ YYSYMBOL_GREATEST = 182, /* GREATEST */
+ YYSYMBOL_GROUP_P = 183, /* GROUP_P */
+ YYSYMBOL_GROUPING = 184, /* GROUPING */
+ YYSYMBOL_GROUPS = 185, /* GROUPS */
+ YYSYMBOL_HANDLER = 186, /* HANDLER */
+ YYSYMBOL_HAVING = 187, /* HAVING */
+ YYSYMBOL_HEADER_P = 188, /* HEADER_P */
+ YYSYMBOL_HOLD = 189, /* HOLD */
+ YYSYMBOL_HOUR_P = 190, /* HOUR_P */
+ YYSYMBOL_IDENTITY_P = 191, /* IDENTITY_P */
+ YYSYMBOL_IF_P = 192, /* IF_P */
+ YYSYMBOL_ILIKE = 193, /* ILIKE */
+ YYSYMBOL_IMMEDIATE = 194, /* IMMEDIATE */
+ YYSYMBOL_IMMUTABLE = 195, /* IMMUTABLE */
+ YYSYMBOL_IMPLICIT_P = 196, /* IMPLICIT_P */
+ YYSYMBOL_IMPORT_P = 197, /* IMPORT_P */
+ YYSYMBOL_IN_P = 198, /* IN_P */
+ YYSYMBOL_INCLUDE = 199, /* INCLUDE */
+ YYSYMBOL_INCLUDING = 200, /* INCLUDING */
+ YYSYMBOL_INCREMENT = 201, /* INCREMENT */
+ YYSYMBOL_INDENT = 202, /* INDENT */
+ YYSYMBOL_INDEX = 203, /* INDEX */
+ YYSYMBOL_INDEXES = 204, /* INDEXES */
+ YYSYMBOL_INHERIT = 205, /* INHERIT */
+ YYSYMBOL_INHERITS = 206, /* INHERITS */
+ YYSYMBOL_INITIALLY = 207, /* INITIALLY */
+ YYSYMBOL_INLINE_P = 208, /* INLINE_P */
+ YYSYMBOL_INNER_P = 209, /* INNER_P */
+ YYSYMBOL_INOUT = 210, /* INOUT */
+ YYSYMBOL_INPUT_P = 211, /* INPUT_P */
+ YYSYMBOL_INSENSITIVE = 212, /* INSENSITIVE */
+ YYSYMBOL_INSERT = 213, /* INSERT */
+ YYSYMBOL_INSTEAD = 214, /* INSTEAD */
+ YYSYMBOL_INT_P = 215, /* INT_P */
+ YYSYMBOL_INTEGER = 216, /* INTEGER */
+ YYSYMBOL_INTERSECT = 217, /* INTERSECT */
+ YYSYMBOL_INTERVAL = 218, /* INTERVAL */
+ YYSYMBOL_INTO = 219, /* INTO */
+ YYSYMBOL_INVOKER = 220, /* INVOKER */
+ YYSYMBOL_IS = 221, /* IS */
+ YYSYMBOL_ISNULL = 222, /* ISNULL */
+ YYSYMBOL_ISOLATION = 223, /* ISOLATION */
+ YYSYMBOL_JOIN = 224, /* JOIN */
+ YYSYMBOL_JSON = 225, /* JSON */
+ YYSYMBOL_JSON_ARRAY = 226, /* JSON_ARRAY */
+ YYSYMBOL_JSON_ARRAYAGG = 227, /* JSON_ARRAYAGG */
+ YYSYMBOL_JSON_OBJECT = 228, /* JSON_OBJECT */
+ YYSYMBOL_JSON_OBJECTAGG = 229, /* JSON_OBJECTAGG */
+ YYSYMBOL_KEY = 230, /* KEY */
+ YYSYMBOL_KEYS = 231, /* KEYS */
+ YYSYMBOL_LABEL = 232, /* LABEL */
+ YYSYMBOL_LANGUAGE = 233, /* LANGUAGE */
+ YYSYMBOL_LARGE_P = 234, /* LARGE_P */
+ YYSYMBOL_LAST_P = 235, /* LAST_P */
+ YYSYMBOL_LATERAL_P = 236, /* LATERAL_P */
+ YYSYMBOL_LEADING = 237, /* LEADING */
+ YYSYMBOL_LEAKPROOF = 238, /* LEAKPROOF */
+ YYSYMBOL_LEAST = 239, /* LEAST */
+ YYSYMBOL_LEFT = 240, /* LEFT */
+ YYSYMBOL_LEVEL = 241, /* LEVEL */
+ YYSYMBOL_LIKE = 242, /* LIKE */
+ YYSYMBOL_LIMIT = 243, /* LIMIT */
+ YYSYMBOL_LISTEN = 244, /* LISTEN */
+ YYSYMBOL_LOAD = 245, /* LOAD */
+ YYSYMBOL_LOCAL = 246, /* LOCAL */
+ YYSYMBOL_LOCALTIME = 247, /* LOCALTIME */
+ YYSYMBOL_LOCALTIMESTAMP = 248, /* LOCALTIMESTAMP */
+ YYSYMBOL_LOCATION = 249, /* LOCATION */
+ YYSYMBOL_LOCK_P = 250, /* LOCK_P */
+ YYSYMBOL_LOCKED = 251, /* LOCKED */
+ YYSYMBOL_LOGGED = 252, /* LOGGED */
+ YYSYMBOL_MAPPING = 253, /* MAPPING */
+ YYSYMBOL_MATCH = 254, /* MATCH */
+ YYSYMBOL_MATCHED = 255, /* MATCHED */
+ YYSYMBOL_MATERIALIZED = 256, /* MATERIALIZED */
+ YYSYMBOL_MAXVALUE = 257, /* MAXVALUE */
+ YYSYMBOL_MERGE = 258, /* MERGE */
+ YYSYMBOL_METHOD = 259, /* METHOD */
+ YYSYMBOL_MINUTE_P = 260, /* MINUTE_P */
+ YYSYMBOL_MINVALUE = 261, /* MINVALUE */
+ YYSYMBOL_MODE = 262, /* MODE */
+ YYSYMBOL_MONTH_P = 263, /* MONTH_P */
+ YYSYMBOL_MOVE = 264, /* MOVE */
+ YYSYMBOL_NAME_P = 265, /* NAME_P */
+ YYSYMBOL_NAMES = 266, /* NAMES */
+ YYSYMBOL_NATIONAL = 267, /* NATIONAL */
+ YYSYMBOL_NATURAL = 268, /* NATURAL */
+ YYSYMBOL_NCHAR = 269, /* NCHAR */
+ YYSYMBOL_NEW = 270, /* NEW */
+ YYSYMBOL_NEXT = 271, /* NEXT */
+ YYSYMBOL_NFC = 272, /* NFC */
+ YYSYMBOL_NFD = 273, /* NFD */
+ YYSYMBOL_NFKC = 274, /* NFKC */
+ YYSYMBOL_NFKD = 275, /* NFKD */
+ YYSYMBOL_NO = 276, /* NO */
+ YYSYMBOL_NONE = 277, /* NONE */
+ YYSYMBOL_NORMALIZE = 278, /* NORMALIZE */
+ YYSYMBOL_NORMALIZED = 279, /* NORMALIZED */
+ YYSYMBOL_NOT = 280, /* NOT */
+ YYSYMBOL_NOTHING = 281, /* NOTHING */
+ YYSYMBOL_NOTIFY = 282, /* NOTIFY */
+ YYSYMBOL_NOTNULL = 283, /* NOTNULL */
+ YYSYMBOL_NOWAIT = 284, /* NOWAIT */
+ YYSYMBOL_NULL_P = 285, /* NULL_P */
+ YYSYMBOL_NULLIF = 286, /* NULLIF */
+ YYSYMBOL_NULLS_P = 287, /* NULLS_P */
+ YYSYMBOL_NUMERIC = 288, /* NUMERIC */
+ YYSYMBOL_OBJECT_P = 289, /* OBJECT_P */
+ YYSYMBOL_OF = 290, /* OF */
+ YYSYMBOL_OFF = 291, /* OFF */
+ YYSYMBOL_OFFSET = 292, /* OFFSET */
+ YYSYMBOL_OIDS = 293, /* OIDS */
+ YYSYMBOL_OLD = 294, /* OLD */
+ YYSYMBOL_ON = 295, /* ON */
+ YYSYMBOL_ONLY = 296, /* ONLY */
+ YYSYMBOL_OPERATOR = 297, /* OPERATOR */
+ YYSYMBOL_OPTION = 298, /* OPTION */
+ YYSYMBOL_OPTIONS = 299, /* OPTIONS */
+ YYSYMBOL_OR = 300, /* OR */
+ YYSYMBOL_ORDER = 301, /* ORDER */
+ YYSYMBOL_ORDINALITY = 302, /* ORDINALITY */
+ YYSYMBOL_OTHERS = 303, /* OTHERS */
+ YYSYMBOL_OUT_P = 304, /* OUT_P */
+ YYSYMBOL_OUTER_P = 305, /* OUTER_P */
+ YYSYMBOL_OVER = 306, /* OVER */
+ YYSYMBOL_OVERLAPS = 307, /* OVERLAPS */
+ YYSYMBOL_OVERLAY = 308, /* OVERLAY */
+ YYSYMBOL_OVERRIDING = 309, /* OVERRIDING */
+ YYSYMBOL_OWNED = 310, /* OWNED */
+ YYSYMBOL_OWNER = 311, /* OWNER */
+ YYSYMBOL_PARALLEL = 312, /* PARALLEL */
+ YYSYMBOL_PARAMETER = 313, /* PARAMETER */
+ YYSYMBOL_PARSER = 314, /* PARSER */
+ YYSYMBOL_PARTIAL = 315, /* PARTIAL */
+ YYSYMBOL_PARTITION = 316, /* PARTITION */
+ YYSYMBOL_PASSING = 317, /* PASSING */
+ YYSYMBOL_PASSWORD = 318, /* PASSWORD */
+ YYSYMBOL_PLACING = 319, /* PLACING */
+ YYSYMBOL_PLANS = 320, /* PLANS */
+ YYSYMBOL_POLICY = 321, /* POLICY */
+ YYSYMBOL_POSITION = 322, /* POSITION */
+ YYSYMBOL_PRECEDING = 323, /* PRECEDING */
+ YYSYMBOL_PRECISION = 324, /* PRECISION */
+ YYSYMBOL_PRESERVE = 325, /* PRESERVE */
+ YYSYMBOL_PREPARE = 326, /* PREPARE */
+ YYSYMBOL_PREPARED = 327, /* PREPARED */
+ YYSYMBOL_PRIMARY = 328, /* PRIMARY */
+ YYSYMBOL_PRIOR = 329, /* PRIOR */
+ YYSYMBOL_PRIVILEGES = 330, /* PRIVILEGES */
+ YYSYMBOL_PROCEDURAL = 331, /* PROCEDURAL */
+ YYSYMBOL_PROCEDURE = 332, /* PROCEDURE */
+ YYSYMBOL_PROCEDURES = 333, /* PROCEDURES */
+ YYSYMBOL_PROGRAM = 334, /* PROGRAM */
+ YYSYMBOL_PUBLICATION = 335, /* PUBLICATION */
+ YYSYMBOL_QUOTE = 336, /* QUOTE */
+ YYSYMBOL_RANGE = 337, /* RANGE */
+ YYSYMBOL_READ = 338, /* READ */
+ YYSYMBOL_REAL = 339, /* REAL */
+ YYSYMBOL_REASSIGN = 340, /* REASSIGN */
+ YYSYMBOL_RECHECK = 341, /* RECHECK */
+ YYSYMBOL_RECURSIVE = 342, /* RECURSIVE */
+ YYSYMBOL_REF_P = 343, /* REF_P */
+ YYSYMBOL_REFERENCES = 344, /* REFERENCES */
+ YYSYMBOL_REFERENCING = 345, /* REFERENCING */
+ YYSYMBOL_REFRESH = 346, /* REFRESH */
+ YYSYMBOL_REINDEX = 347, /* REINDEX */
+ YYSYMBOL_RELATIVE_P = 348, /* RELATIVE_P */
+ YYSYMBOL_RELEASE = 349, /* RELEASE */
+ YYSYMBOL_RENAME = 350, /* RENAME */
+ YYSYMBOL_REPEATABLE = 351, /* REPEATABLE */
+ YYSYMBOL_REPLACE = 352, /* REPLACE */
+ YYSYMBOL_REPLICA = 353, /* REPLICA */
+ YYSYMBOL_RESET = 354, /* RESET */
+ YYSYMBOL_RESTART = 355, /* RESTART */
+ YYSYMBOL_RESTRICT = 356, /* RESTRICT */
+ YYSYMBOL_RETURN = 357, /* RETURN */
+ YYSYMBOL_RETURNING = 358, /* RETURNING */
+ YYSYMBOL_RETURNS = 359, /* RETURNS */
+ YYSYMBOL_REVOKE = 360, /* REVOKE */
+ YYSYMBOL_RIGHT = 361, /* RIGHT */
+ YYSYMBOL_ROLE = 362, /* ROLE */
+ YYSYMBOL_ROLLBACK = 363, /* ROLLBACK */
+ YYSYMBOL_ROLLUP = 364, /* ROLLUP */
+ YYSYMBOL_ROUTINE = 365, /* ROUTINE */
+ YYSYMBOL_ROUTINES = 366, /* ROUTINES */
+ YYSYMBOL_ROW = 367, /* ROW */
+ YYSYMBOL_ROWS = 368, /* ROWS */
+ YYSYMBOL_RULE = 369, /* RULE */
+ YYSYMBOL_SAVEPOINT = 370, /* SAVEPOINT */
+ YYSYMBOL_SCALAR = 371, /* SCALAR */
+ YYSYMBOL_SCHEMA = 372, /* SCHEMA */
+ YYSYMBOL_SCHEMAS = 373, /* SCHEMAS */
+ YYSYMBOL_SCROLL = 374, /* SCROLL */
+ YYSYMBOL_SEARCH = 375, /* SEARCH */
+ YYSYMBOL_SECOND_P = 376, /* SECOND_P */
+ YYSYMBOL_SECURITY = 377, /* SECURITY */
+ YYSYMBOL_SELECT = 378, /* SELECT */
+ YYSYMBOL_SEQUENCE = 379, /* SEQUENCE */
+ YYSYMBOL_SEQUENCES = 380, /* SEQUENCES */
+ YYSYMBOL_SERIALIZABLE = 381, /* SERIALIZABLE */
+ YYSYMBOL_SERVER = 382, /* SERVER */
+ YYSYMBOL_SESSION = 383, /* SESSION */
+ YYSYMBOL_SESSION_USER = 384, /* SESSION_USER */
+ YYSYMBOL_SET = 385, /* SET */
+ YYSYMBOL_SETS = 386, /* SETS */
+ YYSYMBOL_SETOF = 387, /* SETOF */
+ YYSYMBOL_SHARE = 388, /* SHARE */
+ YYSYMBOL_SHOW = 389, /* SHOW */
+ YYSYMBOL_SIMILAR = 390, /* SIMILAR */
+ YYSYMBOL_SIMPLE = 391, /* SIMPLE */
+ YYSYMBOL_SKIP = 392, /* SKIP */
+ YYSYMBOL_SMALLINT = 393, /* SMALLINT */
+ YYSYMBOL_SNAPSHOT = 394, /* SNAPSHOT */
+ YYSYMBOL_SOME = 395, /* SOME */
+ YYSYMBOL_SQL_P = 396, /* SQL_P */
+ YYSYMBOL_STABLE = 397, /* STABLE */
+ YYSYMBOL_STANDALONE_P = 398, /* STANDALONE_P */
+ YYSYMBOL_START = 399, /* START */
+ YYSYMBOL_STATEMENT = 400, /* STATEMENT */
+ YYSYMBOL_STATISTICS = 401, /* STATISTICS */
+ YYSYMBOL_STDIN = 402, /* STDIN */
+ YYSYMBOL_STDOUT = 403, /* STDOUT */
+ YYSYMBOL_STORAGE = 404, /* STORAGE */
+ YYSYMBOL_STORED = 405, /* STORED */
+ YYSYMBOL_STRICT_P = 406, /* STRICT_P */
+ YYSYMBOL_STRIP_P = 407, /* STRIP_P */
+ YYSYMBOL_SUBSCRIPTION = 408, /* SUBSCRIPTION */
+ YYSYMBOL_SUBSTRING = 409, /* SUBSTRING */
+ YYSYMBOL_SUPPORT = 410, /* SUPPORT */
+ YYSYMBOL_SYMMETRIC = 411, /* SYMMETRIC */
+ YYSYMBOL_SYSID = 412, /* SYSID */
+ YYSYMBOL_SYSTEM_P = 413, /* SYSTEM_P */
+ YYSYMBOL_SYSTEM_USER = 414, /* SYSTEM_USER */
+ YYSYMBOL_TABLE = 415, /* TABLE */
+ YYSYMBOL_TABLES = 416, /* TABLES */
+ YYSYMBOL_TABLESAMPLE = 417, /* TABLESAMPLE */
+ YYSYMBOL_TABLESPACE = 418, /* TABLESPACE */
+ YYSYMBOL_TEMP = 419, /* TEMP */
+ YYSYMBOL_TEMPLATE = 420, /* TEMPLATE */
+ YYSYMBOL_TEMPORARY = 421, /* TEMPORARY */
+ YYSYMBOL_TEXT_P = 422, /* TEXT_P */
+ YYSYMBOL_THEN = 423, /* THEN */
+ YYSYMBOL_TIES = 424, /* TIES */
+ YYSYMBOL_TIME = 425, /* TIME */
+ YYSYMBOL_TIMESTAMP = 426, /* TIMESTAMP */
+ YYSYMBOL_TO = 427, /* TO */
+ YYSYMBOL_TRAILING = 428, /* TRAILING */
+ YYSYMBOL_TRANSACTION = 429, /* TRANSACTION */
+ YYSYMBOL_TRANSFORM = 430, /* TRANSFORM */
+ YYSYMBOL_TREAT = 431, /* TREAT */
+ YYSYMBOL_TRIGGER = 432, /* TRIGGER */
+ YYSYMBOL_TRIM = 433, /* TRIM */
+ YYSYMBOL_TRUE_P = 434, /* TRUE_P */
+ YYSYMBOL_TRUNCATE = 435, /* TRUNCATE */
+ YYSYMBOL_TRUSTED = 436, /* TRUSTED */
+ YYSYMBOL_TYPE_P = 437, /* TYPE_P */
+ YYSYMBOL_TYPES_P = 438, /* TYPES_P */
+ YYSYMBOL_UESCAPE = 439, /* UESCAPE */
+ YYSYMBOL_UNBOUNDED = 440, /* UNBOUNDED */
+ YYSYMBOL_UNCOMMITTED = 441, /* UNCOMMITTED */
+ YYSYMBOL_UNENCRYPTED = 442, /* UNENCRYPTED */
+ YYSYMBOL_UNION = 443, /* UNION */
+ YYSYMBOL_UNIQUE = 444, /* UNIQUE */
+ YYSYMBOL_UNKNOWN = 445, /* UNKNOWN */
+ YYSYMBOL_UNLISTEN = 446, /* UNLISTEN */
+ YYSYMBOL_UNLOGGED = 447, /* UNLOGGED */
+ YYSYMBOL_UNTIL = 448, /* UNTIL */
+ YYSYMBOL_UPDATE = 449, /* UPDATE */
+ YYSYMBOL_USER = 450, /* USER */
+ YYSYMBOL_USING = 451, /* USING */
+ YYSYMBOL_VACUUM = 452, /* VACUUM */
+ YYSYMBOL_VALID = 453, /* VALID */
+ YYSYMBOL_VALIDATE = 454, /* VALIDATE */
+ YYSYMBOL_VALIDATOR = 455, /* VALIDATOR */
+ YYSYMBOL_VALUE_P = 456, /* VALUE_P */
+ YYSYMBOL_VALUES = 457, /* VALUES */
+ YYSYMBOL_VARCHAR = 458, /* VARCHAR */
+ YYSYMBOL_VARIADIC = 459, /* VARIADIC */
+ YYSYMBOL_VARYING = 460, /* VARYING */
+ YYSYMBOL_VERBOSE = 461, /* VERBOSE */
+ YYSYMBOL_VERSION_P = 462, /* VERSION_P */
+ YYSYMBOL_VIEW = 463, /* VIEW */
+ YYSYMBOL_VIEWS = 464, /* VIEWS */
+ YYSYMBOL_VOLATILE = 465, /* VOLATILE */
+ YYSYMBOL_WHEN = 466, /* WHEN */
+ YYSYMBOL_WHERE = 467, /* WHERE */
+ YYSYMBOL_WHITESPACE_P = 468, /* WHITESPACE_P */
+ YYSYMBOL_WINDOW = 469, /* WINDOW */
+ YYSYMBOL_WITH = 470, /* WITH */
+ YYSYMBOL_WITHIN = 471, /* WITHIN */
+ YYSYMBOL_WITHOUT = 472, /* WITHOUT */
+ YYSYMBOL_WORK = 473, /* WORK */
+ YYSYMBOL_WRAPPER = 474, /* WRAPPER */
+ YYSYMBOL_WRITE = 475, /* WRITE */
+ YYSYMBOL_XML_P = 476, /* XML_P */
+ YYSYMBOL_XMLATTRIBUTES = 477, /* XMLATTRIBUTES */
+ YYSYMBOL_XMLCONCAT = 478, /* XMLCONCAT */
+ YYSYMBOL_XMLELEMENT = 479, /* XMLELEMENT */
+ YYSYMBOL_XMLEXISTS = 480, /* XMLEXISTS */
+ YYSYMBOL_XMLFOREST = 481, /* XMLFOREST */
+ YYSYMBOL_XMLNAMESPACES = 482, /* XMLNAMESPACES */
+ YYSYMBOL_XMLPARSE = 483, /* XMLPARSE */
+ YYSYMBOL_XMLPI = 484, /* XMLPI */
+ YYSYMBOL_XMLROOT = 485, /* XMLROOT */
+ YYSYMBOL_XMLSERIALIZE = 486, /* XMLSERIALIZE */
+ YYSYMBOL_XMLTABLE = 487, /* XMLTABLE */
+ YYSYMBOL_YEAR_P = 488, /* YEAR_P */
+ YYSYMBOL_YES_P = 489, /* YES_P */
+ YYSYMBOL_ZONE = 490, /* ZONE */
+ YYSYMBOL_FORMAT_LA = 491, /* FORMAT_LA */
+ YYSYMBOL_NOT_LA = 492, /* NOT_LA */
+ YYSYMBOL_NULLS_LA = 493, /* NULLS_LA */
+ YYSYMBOL_WITH_LA = 494, /* WITH_LA */
+ YYSYMBOL_WITHOUT_LA = 495, /* WITHOUT_LA */
+ YYSYMBOL_MODE_TYPE_NAME = 496, /* MODE_TYPE_NAME */
+ YYSYMBOL_MODE_PLPGSQL_EXPR = 497, /* MODE_PLPGSQL_EXPR */
+ YYSYMBOL_MODE_PLPGSQL_ASSIGN1 = 498, /* MODE_PLPGSQL_ASSIGN1 */
+ YYSYMBOL_MODE_PLPGSQL_ASSIGN2 = 499, /* MODE_PLPGSQL_ASSIGN2 */
+ YYSYMBOL_MODE_PLPGSQL_ASSIGN3 = 500, /* MODE_PLPGSQL_ASSIGN3 */
+ YYSYMBOL_501_ = 501, /* '<' */
+ YYSYMBOL_502_ = 502, /* '>' */
+ YYSYMBOL_503_ = 503, /* '=' */
+ YYSYMBOL_504_ = 504, /* '+' */
+ YYSYMBOL_505_ = 505, /* '-' */
+ YYSYMBOL_506_ = 506, /* '*' */
+ YYSYMBOL_507_ = 507, /* '/' */
+ YYSYMBOL_508_ = 508, /* '%' */
+ YYSYMBOL_509_ = 509, /* '^' */
+ YYSYMBOL_UMINUS = 510, /* UMINUS */
+ YYSYMBOL_511_ = 511, /* '[' */
+ YYSYMBOL_512_ = 512, /* ']' */
+ YYSYMBOL_513_ = 513, /* '(' */
+ YYSYMBOL_514_ = 514, /* ')' */
+ YYSYMBOL_515_ = 515, /* '.' */
+ YYSYMBOL_516_ = 516, /* ';' */
+ YYSYMBOL_517_ = 517, /* ',' */
+ YYSYMBOL_518_ = 518, /* ':' */
+ YYSYMBOL_YYACCEPT = 519, /* $accept */
+ YYSYMBOL_parse_toplevel = 520, /* parse_toplevel */
+ YYSYMBOL_stmtmulti = 521, /* stmtmulti */
+ YYSYMBOL_toplevel_stmt = 522, /* toplevel_stmt */
+ YYSYMBOL_stmt = 523, /* stmt */
+ YYSYMBOL_opt_single_name = 524, /* opt_single_name */
+ YYSYMBOL_opt_qualified_name = 525, /* opt_qualified_name */
+ YYSYMBOL_opt_concurrently = 526, /* opt_concurrently */
+ YYSYMBOL_opt_drop_behavior = 527, /* opt_drop_behavior */
+ YYSYMBOL_CallStmt = 528, /* CallStmt */
+ YYSYMBOL_CreateRoleStmt = 529, /* CreateRoleStmt */
+ YYSYMBOL_opt_with = 530, /* opt_with */
+ YYSYMBOL_OptRoleList = 531, /* OptRoleList */
+ YYSYMBOL_AlterOptRoleList = 532, /* AlterOptRoleList */
+ YYSYMBOL_AlterOptRoleElem = 533, /* AlterOptRoleElem */
+ YYSYMBOL_CreateOptRoleElem = 534, /* CreateOptRoleElem */
+ YYSYMBOL_CreateUserStmt = 535, /* CreateUserStmt */
+ YYSYMBOL_AlterRoleStmt = 536, /* AlterRoleStmt */
+ YYSYMBOL_opt_in_database = 537, /* opt_in_database */
+ YYSYMBOL_AlterRoleSetStmt = 538, /* AlterRoleSetStmt */
+ YYSYMBOL_DropRoleStmt = 539, /* DropRoleStmt */
+ YYSYMBOL_CreateGroupStmt = 540, /* CreateGroupStmt */
+ YYSYMBOL_AlterGroupStmt = 541, /* AlterGroupStmt */
+ YYSYMBOL_add_drop = 542, /* add_drop */
+ YYSYMBOL_CreateSchemaStmt = 543, /* CreateSchemaStmt */
+ YYSYMBOL_OptSchemaEltList = 544, /* OptSchemaEltList */
+ YYSYMBOL_schema_stmt = 545, /* schema_stmt */
+ YYSYMBOL_VariableSetStmt = 546, /* VariableSetStmt */
+ YYSYMBOL_set_rest = 547, /* set_rest */
+ YYSYMBOL_generic_set = 548, /* generic_set */
+ YYSYMBOL_set_rest_more = 549, /* set_rest_more */
+ YYSYMBOL_var_name = 550, /* var_name */
+ YYSYMBOL_var_list = 551, /* var_list */
+ YYSYMBOL_var_value = 552, /* var_value */
+ YYSYMBOL_iso_level = 553, /* iso_level */
+ YYSYMBOL_opt_boolean_or_string = 554, /* opt_boolean_or_string */
+ YYSYMBOL_zone_value = 555, /* zone_value */
+ YYSYMBOL_opt_encoding = 556, /* opt_encoding */
+ YYSYMBOL_NonReservedWord_or_Sconst = 557, /* NonReservedWord_or_Sconst */
+ YYSYMBOL_VariableResetStmt = 558, /* VariableResetStmt */
+ YYSYMBOL_reset_rest = 559, /* reset_rest */
+ YYSYMBOL_generic_reset = 560, /* generic_reset */
+ YYSYMBOL_SetResetClause = 561, /* SetResetClause */
+ YYSYMBOL_FunctionSetResetClause = 562, /* FunctionSetResetClause */
+ YYSYMBOL_VariableShowStmt = 563, /* VariableShowStmt */
+ YYSYMBOL_ConstraintsSetStmt = 564, /* ConstraintsSetStmt */
+ YYSYMBOL_constraints_set_list = 565, /* constraints_set_list */
+ YYSYMBOL_constraints_set_mode = 566, /* constraints_set_mode */
+ YYSYMBOL_CheckPointStmt = 567, /* CheckPointStmt */
+ YYSYMBOL_DiscardStmt = 568, /* DiscardStmt */
+ YYSYMBOL_AlterTableStmt = 569, /* AlterTableStmt */
+ YYSYMBOL_alter_table_cmds = 570, /* alter_table_cmds */
+ YYSYMBOL_partition_cmd = 571, /* partition_cmd */
+ YYSYMBOL_index_partition_cmd = 572, /* index_partition_cmd */
+ YYSYMBOL_alter_table_cmd = 573, /* alter_table_cmd */
+ YYSYMBOL_alter_column_default = 574, /* alter_column_default */
+ YYSYMBOL_opt_collate_clause = 575, /* opt_collate_clause */
+ YYSYMBOL_alter_using = 576, /* alter_using */
+ YYSYMBOL_replica_identity = 577, /* replica_identity */
+ YYSYMBOL_reloptions = 578, /* reloptions */
+ YYSYMBOL_opt_reloptions = 579, /* opt_reloptions */
+ YYSYMBOL_reloption_list = 580, /* reloption_list */
+ YYSYMBOL_reloption_elem = 581, /* reloption_elem */
+ YYSYMBOL_alter_identity_column_option_list = 582, /* alter_identity_column_option_list */
+ YYSYMBOL_alter_identity_column_option = 583, /* alter_identity_column_option */
+ YYSYMBOL_PartitionBoundSpec = 584, /* PartitionBoundSpec */
+ YYSYMBOL_hash_partbound_elem = 585, /* hash_partbound_elem */
+ YYSYMBOL_hash_partbound = 586, /* hash_partbound */
+ YYSYMBOL_AlterCompositeTypeStmt = 587, /* AlterCompositeTypeStmt */
+ YYSYMBOL_alter_type_cmds = 588, /* alter_type_cmds */
+ YYSYMBOL_alter_type_cmd = 589, /* alter_type_cmd */
+ YYSYMBOL_ClosePortalStmt = 590, /* ClosePortalStmt */
+ YYSYMBOL_CopyStmt = 591, /* CopyStmt */
+ YYSYMBOL_copy_from = 592, /* copy_from */
+ YYSYMBOL_opt_program = 593, /* opt_program */
+ YYSYMBOL_copy_file_name = 594, /* copy_file_name */
+ YYSYMBOL_copy_options = 595, /* copy_options */
+ YYSYMBOL_copy_opt_list = 596, /* copy_opt_list */
+ YYSYMBOL_copy_opt_item = 597, /* copy_opt_item */
+ YYSYMBOL_opt_binary = 598, /* opt_binary */
+ YYSYMBOL_copy_delimiter = 599, /* copy_delimiter */
+ YYSYMBOL_opt_using = 600, /* opt_using */
+ YYSYMBOL_copy_generic_opt_list = 601, /* copy_generic_opt_list */
+ YYSYMBOL_copy_generic_opt_elem = 602, /* copy_generic_opt_elem */
+ YYSYMBOL_copy_generic_opt_arg = 603, /* copy_generic_opt_arg */
+ YYSYMBOL_copy_generic_opt_arg_list = 604, /* copy_generic_opt_arg_list */
+ YYSYMBOL_copy_generic_opt_arg_list_item = 605, /* copy_generic_opt_arg_list_item */
+ YYSYMBOL_CreateStmt = 606, /* CreateStmt */
+ YYSYMBOL_OptTemp = 607, /* OptTemp */
+ YYSYMBOL_OptTableElementList = 608, /* OptTableElementList */
+ YYSYMBOL_OptTypedTableElementList = 609, /* OptTypedTableElementList */
+ YYSYMBOL_TableElementList = 610, /* TableElementList */
+ YYSYMBOL_TypedTableElementList = 611, /* TypedTableElementList */
+ YYSYMBOL_TableElement = 612, /* TableElement */
+ YYSYMBOL_TypedTableElement = 613, /* TypedTableElement */
+ YYSYMBOL_columnDef = 614, /* columnDef */
+ YYSYMBOL_columnOptions = 615, /* columnOptions */
+ YYSYMBOL_column_compression = 616, /* column_compression */
+ YYSYMBOL_opt_column_compression = 617, /* opt_column_compression */
+ YYSYMBOL_column_storage = 618, /* column_storage */
+ YYSYMBOL_opt_column_storage = 619, /* opt_column_storage */
+ YYSYMBOL_ColQualList = 620, /* ColQualList */
+ YYSYMBOL_ColConstraint = 621, /* ColConstraint */
+ YYSYMBOL_ColConstraintElem = 622, /* ColConstraintElem */
+ YYSYMBOL_opt_unique_null_treatment = 623, /* opt_unique_null_treatment */
+ YYSYMBOL_generated_when = 624, /* generated_when */
+ YYSYMBOL_ConstraintAttr = 625, /* ConstraintAttr */
+ YYSYMBOL_TableLikeClause = 626, /* TableLikeClause */
+ YYSYMBOL_TableLikeOptionList = 627, /* TableLikeOptionList */
+ YYSYMBOL_TableLikeOption = 628, /* TableLikeOption */
+ YYSYMBOL_TableConstraint = 629, /* TableConstraint */
+ YYSYMBOL_ConstraintElem = 630, /* ConstraintElem */
+ YYSYMBOL_opt_no_inherit = 631, /* opt_no_inherit */
+ YYSYMBOL_opt_column_list = 632, /* opt_column_list */
+ YYSYMBOL_columnList = 633, /* columnList */
+ YYSYMBOL_columnElem = 634, /* columnElem */
+ YYSYMBOL_opt_c_include = 635, /* opt_c_include */
+ YYSYMBOL_key_match = 636, /* key_match */
+ YYSYMBOL_ExclusionConstraintList = 637, /* ExclusionConstraintList */
+ YYSYMBOL_ExclusionConstraintElem = 638, /* ExclusionConstraintElem */
+ YYSYMBOL_OptWhereClause = 639, /* OptWhereClause */
+ YYSYMBOL_key_actions = 640, /* key_actions */
+ YYSYMBOL_key_update = 641, /* key_update */
+ YYSYMBOL_key_delete = 642, /* key_delete */
+ YYSYMBOL_key_action = 643, /* key_action */
+ YYSYMBOL_OptInherit = 644, /* OptInherit */
+ YYSYMBOL_OptPartitionSpec = 645, /* OptPartitionSpec */
+ YYSYMBOL_PartitionSpec = 646, /* PartitionSpec */
+ YYSYMBOL_part_params = 647, /* part_params */
+ YYSYMBOL_part_elem = 648, /* part_elem */
+ YYSYMBOL_table_access_method_clause = 649, /* table_access_method_clause */
+ YYSYMBOL_OptWith = 650, /* OptWith */
+ YYSYMBOL_OnCommitOption = 651, /* OnCommitOption */
+ YYSYMBOL_OptTableSpace = 652, /* OptTableSpace */
+ YYSYMBOL_OptConsTableSpace = 653, /* OptConsTableSpace */
+ YYSYMBOL_ExistingIndex = 654, /* ExistingIndex */
+ YYSYMBOL_CreateStatsStmt = 655, /* CreateStatsStmt */
+ YYSYMBOL_stats_params = 656, /* stats_params */
+ YYSYMBOL_stats_param = 657, /* stats_param */
+ YYSYMBOL_AlterStatsStmt = 658, /* AlterStatsStmt */
+ YYSYMBOL_CreateAsStmt = 659, /* CreateAsStmt */
+ YYSYMBOL_create_as_target = 660, /* create_as_target */
+ YYSYMBOL_opt_with_data = 661, /* opt_with_data */
+ YYSYMBOL_CreateMatViewStmt = 662, /* CreateMatViewStmt */
+ YYSYMBOL_create_mv_target = 663, /* create_mv_target */
+ YYSYMBOL_OptNoLog = 664, /* OptNoLog */
+ YYSYMBOL_RefreshMatViewStmt = 665, /* RefreshMatViewStmt */
+ YYSYMBOL_CreateSeqStmt = 666, /* CreateSeqStmt */
+ YYSYMBOL_AlterSeqStmt = 667, /* AlterSeqStmt */
+ YYSYMBOL_OptSeqOptList = 668, /* OptSeqOptList */
+ YYSYMBOL_OptParenthesizedSeqOptList = 669, /* OptParenthesizedSeqOptList */
+ YYSYMBOL_SeqOptList = 670, /* SeqOptList */
+ YYSYMBOL_SeqOptElem = 671, /* SeqOptElem */
+ YYSYMBOL_opt_by = 672, /* opt_by */
+ YYSYMBOL_NumericOnly = 673, /* NumericOnly */
+ YYSYMBOL_NumericOnly_list = 674, /* NumericOnly_list */
+ YYSYMBOL_CreatePLangStmt = 675, /* CreatePLangStmt */
+ YYSYMBOL_opt_trusted = 676, /* opt_trusted */
+ YYSYMBOL_handler_name = 677, /* handler_name */
+ YYSYMBOL_opt_inline_handler = 678, /* opt_inline_handler */
+ YYSYMBOL_validator_clause = 679, /* validator_clause */
+ YYSYMBOL_opt_validator = 680, /* opt_validator */
+ YYSYMBOL_opt_procedural = 681, /* opt_procedural */
+ YYSYMBOL_CreateTableSpaceStmt = 682, /* CreateTableSpaceStmt */
+ YYSYMBOL_OptTableSpaceOwner = 683, /* OptTableSpaceOwner */
+ YYSYMBOL_DropTableSpaceStmt = 684, /* DropTableSpaceStmt */
+ YYSYMBOL_CreateExtensionStmt = 685, /* CreateExtensionStmt */
+ YYSYMBOL_create_extension_opt_list = 686, /* create_extension_opt_list */
+ YYSYMBOL_create_extension_opt_item = 687, /* create_extension_opt_item */
+ YYSYMBOL_AlterExtensionStmt = 688, /* AlterExtensionStmt */
+ YYSYMBOL_alter_extension_opt_list = 689, /* alter_extension_opt_list */
+ YYSYMBOL_alter_extension_opt_item = 690, /* alter_extension_opt_item */
+ YYSYMBOL_AlterExtensionContentsStmt = 691, /* AlterExtensionContentsStmt */
+ YYSYMBOL_CreateFdwStmt = 692, /* CreateFdwStmt */
+ YYSYMBOL_fdw_option = 693, /* fdw_option */
+ YYSYMBOL_fdw_options = 694, /* fdw_options */
+ YYSYMBOL_opt_fdw_options = 695, /* opt_fdw_options */
+ YYSYMBOL_AlterFdwStmt = 696, /* AlterFdwStmt */
+ YYSYMBOL_create_generic_options = 697, /* create_generic_options */
+ YYSYMBOL_generic_option_list = 698, /* generic_option_list */
+ YYSYMBOL_alter_generic_options = 699, /* alter_generic_options */
+ YYSYMBOL_alter_generic_option_list = 700, /* alter_generic_option_list */
+ YYSYMBOL_alter_generic_option_elem = 701, /* alter_generic_option_elem */
+ YYSYMBOL_generic_option_elem = 702, /* generic_option_elem */
+ YYSYMBOL_generic_option_name = 703, /* generic_option_name */
+ YYSYMBOL_generic_option_arg = 704, /* generic_option_arg */
+ YYSYMBOL_CreateForeignServerStmt = 705, /* CreateForeignServerStmt */
+ YYSYMBOL_opt_type = 706, /* opt_type */
+ YYSYMBOL_foreign_server_version = 707, /* foreign_server_version */
+ YYSYMBOL_opt_foreign_server_version = 708, /* opt_foreign_server_version */
+ YYSYMBOL_AlterForeignServerStmt = 709, /* AlterForeignServerStmt */
+ YYSYMBOL_CreateForeignTableStmt = 710, /* CreateForeignTableStmt */
+ YYSYMBOL_ImportForeignSchemaStmt = 711, /* ImportForeignSchemaStmt */
+ YYSYMBOL_import_qualification_type = 712, /* import_qualification_type */
+ YYSYMBOL_import_qualification = 713, /* import_qualification */
+ YYSYMBOL_CreateUserMappingStmt = 714, /* CreateUserMappingStmt */
+ YYSYMBOL_auth_ident = 715, /* auth_ident */
+ YYSYMBOL_DropUserMappingStmt = 716, /* DropUserMappingStmt */
+ YYSYMBOL_AlterUserMappingStmt = 717, /* AlterUserMappingStmt */
+ YYSYMBOL_CreatePolicyStmt = 718, /* CreatePolicyStmt */
+ YYSYMBOL_AlterPolicyStmt = 719, /* AlterPolicyStmt */
+ YYSYMBOL_RowSecurityOptionalExpr = 720, /* RowSecurityOptionalExpr */
+ YYSYMBOL_RowSecurityOptionalWithCheck = 721, /* RowSecurityOptionalWithCheck */
+ YYSYMBOL_RowSecurityDefaultToRole = 722, /* RowSecurityDefaultToRole */
+ YYSYMBOL_RowSecurityOptionalToRole = 723, /* RowSecurityOptionalToRole */
+ YYSYMBOL_RowSecurityDefaultPermissive = 724, /* RowSecurityDefaultPermissive */
+ YYSYMBOL_RowSecurityDefaultForCmd = 725, /* RowSecurityDefaultForCmd */
+ YYSYMBOL_row_security_cmd = 726, /* row_security_cmd */
+ YYSYMBOL_CreateAmStmt = 727, /* CreateAmStmt */
+ YYSYMBOL_am_type = 728, /* am_type */
+ YYSYMBOL_CreateTrigStmt = 729, /* CreateTrigStmt */
+ YYSYMBOL_TriggerActionTime = 730, /* TriggerActionTime */
+ YYSYMBOL_TriggerEvents = 731, /* TriggerEvents */
+ YYSYMBOL_TriggerOneEvent = 732, /* TriggerOneEvent */
+ YYSYMBOL_TriggerReferencing = 733, /* TriggerReferencing */
+ YYSYMBOL_TriggerTransitions = 734, /* TriggerTransitions */
+ YYSYMBOL_TriggerTransition = 735, /* TriggerTransition */
+ YYSYMBOL_TransitionOldOrNew = 736, /* TransitionOldOrNew */
+ YYSYMBOL_TransitionRowOrTable = 737, /* TransitionRowOrTable */
+ YYSYMBOL_TransitionRelName = 738, /* TransitionRelName */
+ YYSYMBOL_TriggerForSpec = 739, /* TriggerForSpec */
+ YYSYMBOL_TriggerForOptEach = 740, /* TriggerForOptEach */
+ YYSYMBOL_TriggerForType = 741, /* TriggerForType */
+ YYSYMBOL_TriggerWhen = 742, /* TriggerWhen */
+ YYSYMBOL_FUNCTION_or_PROCEDURE = 743, /* FUNCTION_or_PROCEDURE */
+ YYSYMBOL_TriggerFuncArgs = 744, /* TriggerFuncArgs */
+ YYSYMBOL_TriggerFuncArg = 745, /* TriggerFuncArg */
+ YYSYMBOL_OptConstrFromTable = 746, /* OptConstrFromTable */
+ YYSYMBOL_ConstraintAttributeSpec = 747, /* ConstraintAttributeSpec */
+ YYSYMBOL_ConstraintAttributeElem = 748, /* ConstraintAttributeElem */
+ YYSYMBOL_CreateEventTrigStmt = 749, /* CreateEventTrigStmt */
+ YYSYMBOL_event_trigger_when_list = 750, /* event_trigger_when_list */
+ YYSYMBOL_event_trigger_when_item = 751, /* event_trigger_when_item */
+ YYSYMBOL_event_trigger_value_list = 752, /* event_trigger_value_list */
+ YYSYMBOL_AlterEventTrigStmt = 753, /* AlterEventTrigStmt */
+ YYSYMBOL_enable_trigger = 754, /* enable_trigger */
+ YYSYMBOL_CreateAssertionStmt = 755, /* CreateAssertionStmt */
+ YYSYMBOL_DefineStmt = 756, /* DefineStmt */
+ YYSYMBOL_definition = 757, /* definition */
+ YYSYMBOL_def_list = 758, /* def_list */
+ YYSYMBOL_def_elem = 759, /* def_elem */
+ YYSYMBOL_def_arg = 760, /* def_arg */
+ YYSYMBOL_old_aggr_definition = 761, /* old_aggr_definition */
+ YYSYMBOL_old_aggr_list = 762, /* old_aggr_list */
+ YYSYMBOL_old_aggr_elem = 763, /* old_aggr_elem */
+ YYSYMBOL_opt_enum_val_list = 764, /* opt_enum_val_list */
+ YYSYMBOL_enum_val_list = 765, /* enum_val_list */
+ YYSYMBOL_AlterEnumStmt = 766, /* AlterEnumStmt */
+ YYSYMBOL_opt_if_not_exists = 767, /* opt_if_not_exists */
+ YYSYMBOL_CreateOpClassStmt = 768, /* CreateOpClassStmt */
+ YYSYMBOL_opclass_item_list = 769, /* opclass_item_list */
+ YYSYMBOL_opclass_item = 770, /* opclass_item */
+ YYSYMBOL_opt_default = 771, /* opt_default */
+ YYSYMBOL_opt_opfamily = 772, /* opt_opfamily */
+ YYSYMBOL_opclass_purpose = 773, /* opclass_purpose */
+ YYSYMBOL_opt_recheck = 774, /* opt_recheck */
+ YYSYMBOL_CreateOpFamilyStmt = 775, /* CreateOpFamilyStmt */
+ YYSYMBOL_AlterOpFamilyStmt = 776, /* AlterOpFamilyStmt */
+ YYSYMBOL_opclass_drop_list = 777, /* opclass_drop_list */
+ YYSYMBOL_opclass_drop = 778, /* opclass_drop */
+ YYSYMBOL_DropOpClassStmt = 779, /* DropOpClassStmt */
+ YYSYMBOL_DropOpFamilyStmt = 780, /* DropOpFamilyStmt */
+ YYSYMBOL_DropOwnedStmt = 781, /* DropOwnedStmt */
+ YYSYMBOL_ReassignOwnedStmt = 782, /* ReassignOwnedStmt */
+ YYSYMBOL_DropStmt = 783, /* DropStmt */
+ YYSYMBOL_object_type_any_name = 784, /* object_type_any_name */
+ YYSYMBOL_object_type_name = 785, /* object_type_name */
+ YYSYMBOL_drop_type_name = 786, /* drop_type_name */
+ YYSYMBOL_object_type_name_on_any_name = 787, /* object_type_name_on_any_name */
+ YYSYMBOL_any_name_list = 788, /* any_name_list */
+ YYSYMBOL_any_name = 789, /* any_name */
+ YYSYMBOL_attrs = 790, /* attrs */
+ YYSYMBOL_type_name_list = 791, /* type_name_list */
+ YYSYMBOL_TruncateStmt = 792, /* TruncateStmt */
+ YYSYMBOL_opt_restart_seqs = 793, /* opt_restart_seqs */
+ YYSYMBOL_CommentStmt = 794, /* CommentStmt */
+ YYSYMBOL_comment_text = 795, /* comment_text */
+ YYSYMBOL_SecLabelStmt = 796, /* SecLabelStmt */
+ YYSYMBOL_opt_provider = 797, /* opt_provider */
+ YYSYMBOL_security_label = 798, /* security_label */
+ YYSYMBOL_FetchStmt = 799, /* FetchStmt */
+ YYSYMBOL_fetch_args = 800, /* fetch_args */
+ YYSYMBOL_from_in = 801, /* from_in */
+ YYSYMBOL_opt_from_in = 802, /* opt_from_in */
+ YYSYMBOL_GrantStmt = 803, /* GrantStmt */
+ YYSYMBOL_RevokeStmt = 804, /* RevokeStmt */
+ YYSYMBOL_privileges = 805, /* privileges */
+ YYSYMBOL_privilege_list = 806, /* privilege_list */
+ YYSYMBOL_privilege = 807, /* privilege */
+ YYSYMBOL_parameter_name_list = 808, /* parameter_name_list */
+ YYSYMBOL_parameter_name = 809, /* parameter_name */
+ YYSYMBOL_privilege_target = 810, /* privilege_target */
+ YYSYMBOL_grantee_list = 811, /* grantee_list */
+ YYSYMBOL_grantee = 812, /* grantee */
+ YYSYMBOL_opt_grant_grant_option = 813, /* opt_grant_grant_option */
+ YYSYMBOL_GrantRoleStmt = 814, /* GrantRoleStmt */
+ YYSYMBOL_RevokeRoleStmt = 815, /* RevokeRoleStmt */
+ YYSYMBOL_grant_role_opt_list = 816, /* grant_role_opt_list */
+ YYSYMBOL_grant_role_opt = 817, /* grant_role_opt */
+ YYSYMBOL_grant_role_opt_value = 818, /* grant_role_opt_value */
+ YYSYMBOL_opt_granted_by = 819, /* opt_granted_by */
+ YYSYMBOL_AlterDefaultPrivilegesStmt = 820, /* AlterDefaultPrivilegesStmt */
+ YYSYMBOL_DefACLOptionList = 821, /* DefACLOptionList */
+ YYSYMBOL_DefACLOption = 822, /* DefACLOption */
+ YYSYMBOL_DefACLAction = 823, /* DefACLAction */
+ YYSYMBOL_defacl_privilege_target = 824, /* defacl_privilege_target */
+ YYSYMBOL_IndexStmt = 825, /* IndexStmt */
+ YYSYMBOL_opt_unique = 826, /* opt_unique */
+ YYSYMBOL_access_method_clause = 827, /* access_method_clause */
+ YYSYMBOL_index_params = 828, /* index_params */
+ YYSYMBOL_index_elem_options = 829, /* index_elem_options */
+ YYSYMBOL_index_elem = 830, /* index_elem */
+ YYSYMBOL_opt_include = 831, /* opt_include */
+ YYSYMBOL_index_including_params = 832, /* index_including_params */
+ YYSYMBOL_opt_collate = 833, /* opt_collate */
+ YYSYMBOL_opt_asc_desc = 834, /* opt_asc_desc */
+ YYSYMBOL_opt_nulls_order = 835, /* opt_nulls_order */
+ YYSYMBOL_CreateFunctionStmt = 836, /* CreateFunctionStmt */
+ YYSYMBOL_opt_or_replace = 837, /* opt_or_replace */
+ YYSYMBOL_func_args = 838, /* func_args */
+ YYSYMBOL_func_args_list = 839, /* func_args_list */
+ YYSYMBOL_function_with_argtypes_list = 840, /* function_with_argtypes_list */
+ YYSYMBOL_function_with_argtypes = 841, /* function_with_argtypes */
+ YYSYMBOL_func_args_with_defaults = 842, /* func_args_with_defaults */
+ YYSYMBOL_func_args_with_defaults_list = 843, /* func_args_with_defaults_list */
+ YYSYMBOL_func_arg = 844, /* func_arg */
+ YYSYMBOL_arg_class = 845, /* arg_class */
+ YYSYMBOL_param_name = 846, /* param_name */
+ YYSYMBOL_func_return = 847, /* func_return */
+ YYSYMBOL_func_type = 848, /* func_type */
+ YYSYMBOL_func_arg_with_default = 849, /* func_arg_with_default */
+ YYSYMBOL_aggr_arg = 850, /* aggr_arg */
+ YYSYMBOL_aggr_args = 851, /* aggr_args */
+ YYSYMBOL_aggr_args_list = 852, /* aggr_args_list */
+ YYSYMBOL_aggregate_with_argtypes = 853, /* aggregate_with_argtypes */
+ YYSYMBOL_aggregate_with_argtypes_list = 854, /* aggregate_with_argtypes_list */
+ YYSYMBOL_opt_createfunc_opt_list = 855, /* opt_createfunc_opt_list */
+ YYSYMBOL_createfunc_opt_list = 856, /* createfunc_opt_list */
+ YYSYMBOL_common_func_opt_item = 857, /* common_func_opt_item */
+ YYSYMBOL_createfunc_opt_item = 858, /* createfunc_opt_item */
+ YYSYMBOL_func_as = 859, /* func_as */
+ YYSYMBOL_ReturnStmt = 860, /* ReturnStmt */
+ YYSYMBOL_opt_routine_body = 861, /* opt_routine_body */
+ YYSYMBOL_routine_body_stmt_list = 862, /* routine_body_stmt_list */
+ YYSYMBOL_routine_body_stmt = 863, /* routine_body_stmt */
+ YYSYMBOL_transform_type_list = 864, /* transform_type_list */
+ YYSYMBOL_opt_definition = 865, /* opt_definition */
+ YYSYMBOL_table_func_column = 866, /* table_func_column */
+ YYSYMBOL_table_func_column_list = 867, /* table_func_column_list */
+ YYSYMBOL_AlterFunctionStmt = 868, /* AlterFunctionStmt */
+ YYSYMBOL_alterfunc_opt_list = 869, /* alterfunc_opt_list */
+ YYSYMBOL_opt_restrict = 870, /* opt_restrict */
+ YYSYMBOL_RemoveFuncStmt = 871, /* RemoveFuncStmt */
+ YYSYMBOL_RemoveAggrStmt = 872, /* RemoveAggrStmt */
+ YYSYMBOL_RemoveOperStmt = 873, /* RemoveOperStmt */
+ YYSYMBOL_oper_argtypes = 874, /* oper_argtypes */
+ YYSYMBOL_any_operator = 875, /* any_operator */
+ YYSYMBOL_operator_with_argtypes_list = 876, /* operator_with_argtypes_list */
+ YYSYMBOL_operator_with_argtypes = 877, /* operator_with_argtypes */
+ YYSYMBOL_DoStmt = 878, /* DoStmt */
+ YYSYMBOL_dostmt_opt_list = 879, /* dostmt_opt_list */
+ YYSYMBOL_dostmt_opt_item = 880, /* dostmt_opt_item */
+ YYSYMBOL_CreateCastStmt = 881, /* CreateCastStmt */
+ YYSYMBOL_cast_context = 882, /* cast_context */
+ YYSYMBOL_DropCastStmt = 883, /* DropCastStmt */
+ YYSYMBOL_opt_if_exists = 884, /* opt_if_exists */
+ YYSYMBOL_CreateTransformStmt = 885, /* CreateTransformStmt */
+ YYSYMBOL_transform_element_list = 886, /* transform_element_list */
+ YYSYMBOL_DropTransformStmt = 887, /* DropTransformStmt */
+ YYSYMBOL_ReindexStmt = 888, /* ReindexStmt */
+ YYSYMBOL_reindex_target_relation = 889, /* reindex_target_relation */
+ YYSYMBOL_reindex_target_all = 890, /* reindex_target_all */
+ YYSYMBOL_opt_reindex_option_list = 891, /* opt_reindex_option_list */
+ YYSYMBOL_AlterTblSpcStmt = 892, /* AlterTblSpcStmt */
+ YYSYMBOL_RenameStmt = 893, /* RenameStmt */
+ YYSYMBOL_opt_column = 894, /* opt_column */
+ YYSYMBOL_opt_set_data = 895, /* opt_set_data */
+ YYSYMBOL_AlterObjectDependsStmt = 896, /* AlterObjectDependsStmt */
+ YYSYMBOL_opt_no = 897, /* opt_no */
+ YYSYMBOL_AlterObjectSchemaStmt = 898, /* AlterObjectSchemaStmt */
+ YYSYMBOL_AlterOperatorStmt = 899, /* AlterOperatorStmt */
+ YYSYMBOL_operator_def_list = 900, /* operator_def_list */
+ YYSYMBOL_operator_def_elem = 901, /* operator_def_elem */
+ YYSYMBOL_operator_def_arg = 902, /* operator_def_arg */
+ YYSYMBOL_AlterTypeStmt = 903, /* AlterTypeStmt */
+ YYSYMBOL_AlterOwnerStmt = 904, /* AlterOwnerStmt */
+ YYSYMBOL_CreatePublicationStmt = 905, /* CreatePublicationStmt */
+ YYSYMBOL_PublicationObjSpec = 906, /* PublicationObjSpec */
+ YYSYMBOL_pub_obj_list = 907, /* pub_obj_list */
+ YYSYMBOL_AlterPublicationStmt = 908, /* AlterPublicationStmt */
+ YYSYMBOL_CreateSubscriptionStmt = 909, /* CreateSubscriptionStmt */
+ YYSYMBOL_AlterSubscriptionStmt = 910, /* AlterSubscriptionStmt */
+ YYSYMBOL_DropSubscriptionStmt = 911, /* DropSubscriptionStmt */
+ YYSYMBOL_RuleStmt = 912, /* RuleStmt */
+ YYSYMBOL_RuleActionList = 913, /* RuleActionList */
+ YYSYMBOL_RuleActionMulti = 914, /* RuleActionMulti */
+ YYSYMBOL_RuleActionStmt = 915, /* RuleActionStmt */
+ YYSYMBOL_RuleActionStmtOrEmpty = 916, /* RuleActionStmtOrEmpty */
+ YYSYMBOL_event = 917, /* event */
+ YYSYMBOL_opt_instead = 918, /* opt_instead */
+ YYSYMBOL_NotifyStmt = 919, /* NotifyStmt */
+ YYSYMBOL_notify_payload = 920, /* notify_payload */
+ YYSYMBOL_ListenStmt = 921, /* ListenStmt */
+ YYSYMBOL_UnlistenStmt = 922, /* UnlistenStmt */
+ YYSYMBOL_TransactionStmt = 923, /* TransactionStmt */
+ YYSYMBOL_TransactionStmtLegacy = 924, /* TransactionStmtLegacy */
+ YYSYMBOL_opt_transaction = 925, /* opt_transaction */
+ YYSYMBOL_transaction_mode_item = 926, /* transaction_mode_item */
+ YYSYMBOL_transaction_mode_list = 927, /* transaction_mode_list */
+ YYSYMBOL_transaction_mode_list_or_empty = 928, /* transaction_mode_list_or_empty */
+ YYSYMBOL_opt_transaction_chain = 929, /* opt_transaction_chain */
+ YYSYMBOL_ViewStmt = 930, /* ViewStmt */
+ YYSYMBOL_opt_check_option = 931, /* opt_check_option */
+ YYSYMBOL_LoadStmt = 932, /* LoadStmt */
+ YYSYMBOL_CreatedbStmt = 933, /* CreatedbStmt */
+ YYSYMBOL_createdb_opt_list = 934, /* createdb_opt_list */
+ YYSYMBOL_createdb_opt_items = 935, /* createdb_opt_items */
+ YYSYMBOL_createdb_opt_item = 936, /* createdb_opt_item */
+ YYSYMBOL_createdb_opt_name = 937, /* createdb_opt_name */
+ YYSYMBOL_opt_equal = 938, /* opt_equal */
+ YYSYMBOL_AlterDatabaseStmt = 939, /* AlterDatabaseStmt */
+ YYSYMBOL_AlterDatabaseSetStmt = 940, /* AlterDatabaseSetStmt */
+ YYSYMBOL_DropdbStmt = 941, /* DropdbStmt */
+ YYSYMBOL_drop_option_list = 942, /* drop_option_list */
+ YYSYMBOL_drop_option = 943, /* drop_option */
+ YYSYMBOL_AlterCollationStmt = 944, /* AlterCollationStmt */
+ YYSYMBOL_AlterSystemStmt = 945, /* AlterSystemStmt */
+ YYSYMBOL_CreateDomainStmt = 946, /* CreateDomainStmt */
+ YYSYMBOL_AlterDomainStmt = 947, /* AlterDomainStmt */
+ YYSYMBOL_opt_as = 948, /* opt_as */
+ YYSYMBOL_AlterTSDictionaryStmt = 949, /* AlterTSDictionaryStmt */
+ YYSYMBOL_AlterTSConfigurationStmt = 950, /* AlterTSConfigurationStmt */
+ YYSYMBOL_any_with = 951, /* any_with */
+ YYSYMBOL_CreateConversionStmt = 952, /* CreateConversionStmt */
+ YYSYMBOL_ClusterStmt = 953, /* ClusterStmt */
+ YYSYMBOL_cluster_index_specification = 954, /* cluster_index_specification */
+ YYSYMBOL_VacuumStmt = 955, /* VacuumStmt */
+ YYSYMBOL_AnalyzeStmt = 956, /* AnalyzeStmt */
+ YYSYMBOL_utility_option_list = 957, /* utility_option_list */
+ YYSYMBOL_analyze_keyword = 958, /* analyze_keyword */
+ YYSYMBOL_utility_option_elem = 959, /* utility_option_elem */
+ YYSYMBOL_utility_option_name = 960, /* utility_option_name */
+ YYSYMBOL_utility_option_arg = 961, /* utility_option_arg */
+ YYSYMBOL_opt_analyze = 962, /* opt_analyze */
+ YYSYMBOL_opt_verbose = 963, /* opt_verbose */
+ YYSYMBOL_opt_full = 964, /* opt_full */
+ YYSYMBOL_opt_freeze = 965, /* opt_freeze */
+ YYSYMBOL_opt_name_list = 966, /* opt_name_list */
+ YYSYMBOL_vacuum_relation = 967, /* vacuum_relation */
+ YYSYMBOL_vacuum_relation_list = 968, /* vacuum_relation_list */
+ YYSYMBOL_opt_vacuum_relation_list = 969, /* opt_vacuum_relation_list */
+ YYSYMBOL_ExplainStmt = 970, /* ExplainStmt */
+ YYSYMBOL_ExplainableStmt = 971, /* ExplainableStmt */
+ YYSYMBOL_PrepareStmt = 972, /* PrepareStmt */
+ YYSYMBOL_prep_type_clause = 973, /* prep_type_clause */
+ YYSYMBOL_PreparableStmt = 974, /* PreparableStmt */
+ YYSYMBOL_ExecuteStmt = 975, /* ExecuteStmt */
+ YYSYMBOL_execute_param_clause = 976, /* execute_param_clause */
+ YYSYMBOL_DeallocateStmt = 977, /* DeallocateStmt */
+ YYSYMBOL_InsertStmt = 978, /* InsertStmt */
+ YYSYMBOL_insert_target = 979, /* insert_target */
+ YYSYMBOL_insert_rest = 980, /* insert_rest */
+ YYSYMBOL_override_kind = 981, /* override_kind */
+ YYSYMBOL_insert_column_list = 982, /* insert_column_list */
+ YYSYMBOL_insert_column_item = 983, /* insert_column_item */
+ YYSYMBOL_opt_on_conflict = 984, /* opt_on_conflict */
+ YYSYMBOL_opt_conf_expr = 985, /* opt_conf_expr */
+ YYSYMBOL_returning_clause = 986, /* returning_clause */
+ YYSYMBOL_DeleteStmt = 987, /* DeleteStmt */
+ YYSYMBOL_using_clause = 988, /* using_clause */
+ YYSYMBOL_LockStmt = 989, /* LockStmt */
+ YYSYMBOL_opt_lock = 990, /* opt_lock */
+ YYSYMBOL_lock_type = 991, /* lock_type */
+ YYSYMBOL_opt_nowait = 992, /* opt_nowait */
+ YYSYMBOL_opt_nowait_or_skip = 993, /* opt_nowait_or_skip */
+ YYSYMBOL_UpdateStmt = 994, /* UpdateStmt */
+ YYSYMBOL_set_clause_list = 995, /* set_clause_list */
+ YYSYMBOL_set_clause = 996, /* set_clause */
+ YYSYMBOL_set_target = 997, /* set_target */
+ YYSYMBOL_set_target_list = 998, /* set_target_list */
+ YYSYMBOL_MergeStmt = 999, /* MergeStmt */
+ YYSYMBOL_merge_when_list = 1000, /* merge_when_list */
+ YYSYMBOL_merge_when_clause = 1001, /* merge_when_clause */
+ YYSYMBOL_opt_merge_when_condition = 1002, /* opt_merge_when_condition */
+ YYSYMBOL_merge_update = 1003, /* merge_update */
+ YYSYMBOL_merge_delete = 1004, /* merge_delete */
+ YYSYMBOL_merge_insert = 1005, /* merge_insert */
+ YYSYMBOL_merge_values_clause = 1006, /* merge_values_clause */
+ YYSYMBOL_DeclareCursorStmt = 1007, /* DeclareCursorStmt */
+ YYSYMBOL_cursor_name = 1008, /* cursor_name */
+ YYSYMBOL_cursor_options = 1009, /* cursor_options */
+ YYSYMBOL_opt_hold = 1010, /* opt_hold */
+ YYSYMBOL_SelectStmt = 1011, /* SelectStmt */
+ YYSYMBOL_select_with_parens = 1012, /* select_with_parens */
+ YYSYMBOL_select_no_parens = 1013, /* select_no_parens */
+ YYSYMBOL_select_clause = 1014, /* select_clause */
+ YYSYMBOL_simple_select = 1015, /* simple_select */
+ YYSYMBOL_with_clause = 1016, /* with_clause */
+ YYSYMBOL_cte_list = 1017, /* cte_list */
+ YYSYMBOL_common_table_expr = 1018, /* common_table_expr */
+ YYSYMBOL_opt_materialized = 1019, /* opt_materialized */
+ YYSYMBOL_opt_search_clause = 1020, /* opt_search_clause */
+ YYSYMBOL_opt_cycle_clause = 1021, /* opt_cycle_clause */
+ YYSYMBOL_opt_with_clause = 1022, /* opt_with_clause */
+ YYSYMBOL_into_clause = 1023, /* into_clause */
+ YYSYMBOL_OptTempTableName = 1024, /* OptTempTableName */
+ YYSYMBOL_opt_table = 1025, /* opt_table */
+ YYSYMBOL_set_quantifier = 1026, /* set_quantifier */
+ YYSYMBOL_distinct_clause = 1027, /* distinct_clause */
+ YYSYMBOL_opt_all_clause = 1028, /* opt_all_clause */
+ YYSYMBOL_opt_distinct_clause = 1029, /* opt_distinct_clause */
+ YYSYMBOL_opt_sort_clause = 1030, /* opt_sort_clause */
+ YYSYMBOL_sort_clause = 1031, /* sort_clause */
+ YYSYMBOL_sortby_list = 1032, /* sortby_list */
+ YYSYMBOL_sortby = 1033, /* sortby */
+ YYSYMBOL_select_limit = 1034, /* select_limit */
+ YYSYMBOL_opt_select_limit = 1035, /* opt_select_limit */
+ YYSYMBOL_limit_clause = 1036, /* limit_clause */
+ YYSYMBOL_offset_clause = 1037, /* offset_clause */
+ YYSYMBOL_select_limit_value = 1038, /* select_limit_value */
+ YYSYMBOL_select_offset_value = 1039, /* select_offset_value */
+ YYSYMBOL_select_fetch_first_value = 1040, /* select_fetch_first_value */
+ YYSYMBOL_I_or_F_const = 1041, /* I_or_F_const */
+ YYSYMBOL_row_or_rows = 1042, /* row_or_rows */
+ YYSYMBOL_first_or_next = 1043, /* first_or_next */
+ YYSYMBOL_group_clause = 1044, /* group_clause */
+ YYSYMBOL_group_by_list = 1045, /* group_by_list */
+ YYSYMBOL_group_by_item = 1046, /* group_by_item */
+ YYSYMBOL_empty_grouping_set = 1047, /* empty_grouping_set */
+ YYSYMBOL_rollup_clause = 1048, /* rollup_clause */
+ YYSYMBOL_cube_clause = 1049, /* cube_clause */
+ YYSYMBOL_grouping_sets_clause = 1050, /* grouping_sets_clause */
+ YYSYMBOL_having_clause = 1051, /* having_clause */
+ YYSYMBOL_for_locking_clause = 1052, /* for_locking_clause */
+ YYSYMBOL_opt_for_locking_clause = 1053, /* opt_for_locking_clause */
+ YYSYMBOL_for_locking_items = 1054, /* for_locking_items */
+ YYSYMBOL_for_locking_item = 1055, /* for_locking_item */
+ YYSYMBOL_for_locking_strength = 1056, /* for_locking_strength */
+ YYSYMBOL_locked_rels_list = 1057, /* locked_rels_list */
+ YYSYMBOL_values_clause = 1058, /* values_clause */
+ YYSYMBOL_from_clause = 1059, /* from_clause */
+ YYSYMBOL_from_list = 1060, /* from_list */
+ YYSYMBOL_table_ref = 1061, /* table_ref */
+ YYSYMBOL_joined_table = 1062, /* joined_table */
+ YYSYMBOL_alias_clause = 1063, /* alias_clause */
+ YYSYMBOL_opt_alias_clause = 1064, /* opt_alias_clause */
+ YYSYMBOL_opt_alias_clause_for_join_using = 1065, /* opt_alias_clause_for_join_using */
+ YYSYMBOL_func_alias_clause = 1066, /* func_alias_clause */
+ YYSYMBOL_join_type = 1067, /* join_type */
+ YYSYMBOL_opt_outer = 1068, /* opt_outer */
+ YYSYMBOL_join_qual = 1069, /* join_qual */
+ YYSYMBOL_relation_expr = 1070, /* relation_expr */
+ YYSYMBOL_extended_relation_expr = 1071, /* extended_relation_expr */
+ YYSYMBOL_relation_expr_list = 1072, /* relation_expr_list */
+ YYSYMBOL_relation_expr_opt_alias = 1073, /* relation_expr_opt_alias */
+ YYSYMBOL_tablesample_clause = 1074, /* tablesample_clause */
+ YYSYMBOL_opt_repeatable_clause = 1075, /* opt_repeatable_clause */
+ YYSYMBOL_func_table = 1076, /* func_table */
+ YYSYMBOL_rowsfrom_item = 1077, /* rowsfrom_item */
+ YYSYMBOL_rowsfrom_list = 1078, /* rowsfrom_list */
+ YYSYMBOL_opt_col_def_list = 1079, /* opt_col_def_list */
+ YYSYMBOL_opt_ordinality = 1080, /* opt_ordinality */
+ YYSYMBOL_where_clause = 1081, /* where_clause */
+ YYSYMBOL_where_or_current_clause = 1082, /* where_or_current_clause */
+ YYSYMBOL_OptTableFuncElementList = 1083, /* OptTableFuncElementList */
+ YYSYMBOL_TableFuncElementList = 1084, /* TableFuncElementList */
+ YYSYMBOL_TableFuncElement = 1085, /* TableFuncElement */
+ YYSYMBOL_xmltable = 1086, /* xmltable */
+ YYSYMBOL_xmltable_column_list = 1087, /* xmltable_column_list */
+ YYSYMBOL_xmltable_column_el = 1088, /* xmltable_column_el */
+ YYSYMBOL_xmltable_column_option_list = 1089, /* xmltable_column_option_list */
+ YYSYMBOL_xmltable_column_option_el = 1090, /* xmltable_column_option_el */
+ YYSYMBOL_xml_namespace_list = 1091, /* xml_namespace_list */
+ YYSYMBOL_xml_namespace_el = 1092, /* xml_namespace_el */
+ YYSYMBOL_Typename = 1093, /* Typename */
+ YYSYMBOL_opt_array_bounds = 1094, /* opt_array_bounds */
+ YYSYMBOL_SimpleTypename = 1095, /* SimpleTypename */
+ YYSYMBOL_ConstTypename = 1096, /* ConstTypename */
+ YYSYMBOL_GenericType = 1097, /* GenericType */
+ YYSYMBOL_opt_type_modifiers = 1098, /* opt_type_modifiers */
+ YYSYMBOL_Numeric = 1099, /* Numeric */
+ YYSYMBOL_opt_float = 1100, /* opt_float */
+ YYSYMBOL_Bit = 1101, /* Bit */
+ YYSYMBOL_ConstBit = 1102, /* ConstBit */
+ YYSYMBOL_BitWithLength = 1103, /* BitWithLength */
+ YYSYMBOL_BitWithoutLength = 1104, /* BitWithoutLength */
+ YYSYMBOL_Character = 1105, /* Character */
+ YYSYMBOL_ConstCharacter = 1106, /* ConstCharacter */
+ YYSYMBOL_CharacterWithLength = 1107, /* CharacterWithLength */
+ YYSYMBOL_CharacterWithoutLength = 1108, /* CharacterWithoutLength */
+ YYSYMBOL_character = 1109, /* character */
+ YYSYMBOL_opt_varying = 1110, /* opt_varying */
+ YYSYMBOL_ConstDatetime = 1111, /* ConstDatetime */
+ YYSYMBOL_ConstInterval = 1112, /* ConstInterval */
+ YYSYMBOL_opt_timezone = 1113, /* opt_timezone */
+ YYSYMBOL_opt_interval = 1114, /* opt_interval */
+ YYSYMBOL_interval_second = 1115, /* interval_second */
+ YYSYMBOL_a_expr = 1116, /* a_expr */
+ YYSYMBOL_b_expr = 1117, /* b_expr */
+ YYSYMBOL_c_expr = 1118, /* c_expr */
+ YYSYMBOL_func_application = 1119, /* func_application */
+ YYSYMBOL_func_expr = 1120, /* func_expr */
+ YYSYMBOL_func_expr_windowless = 1121, /* func_expr_windowless */
+ YYSYMBOL_func_expr_common_subexpr = 1122, /* func_expr_common_subexpr */
+ YYSYMBOL_xml_root_version = 1123, /* xml_root_version */
+ YYSYMBOL_opt_xml_root_standalone = 1124, /* opt_xml_root_standalone */
+ YYSYMBOL_xml_attributes = 1125, /* xml_attributes */
+ YYSYMBOL_xml_attribute_list = 1126, /* xml_attribute_list */
+ YYSYMBOL_xml_attribute_el = 1127, /* xml_attribute_el */
+ YYSYMBOL_document_or_content = 1128, /* document_or_content */
+ YYSYMBOL_xml_indent_option = 1129, /* xml_indent_option */
+ YYSYMBOL_xml_whitespace_option = 1130, /* xml_whitespace_option */
+ YYSYMBOL_xmlexists_argument = 1131, /* xmlexists_argument */
+ YYSYMBOL_xml_passing_mech = 1132, /* xml_passing_mech */
+ YYSYMBOL_within_group_clause = 1133, /* within_group_clause */
+ YYSYMBOL_filter_clause = 1134, /* filter_clause */
+ YYSYMBOL_window_clause = 1135, /* window_clause */
+ YYSYMBOL_window_definition_list = 1136, /* window_definition_list */
+ YYSYMBOL_window_definition = 1137, /* window_definition */
+ YYSYMBOL_over_clause = 1138, /* over_clause */
+ YYSYMBOL_window_specification = 1139, /* window_specification */
+ YYSYMBOL_opt_existing_window_name = 1140, /* opt_existing_window_name */
+ YYSYMBOL_opt_partition_clause = 1141, /* opt_partition_clause */
+ YYSYMBOL_opt_frame_clause = 1142, /* opt_frame_clause */
+ YYSYMBOL_frame_extent = 1143, /* frame_extent */
+ YYSYMBOL_frame_bound = 1144, /* frame_bound */
+ YYSYMBOL_opt_window_exclusion_clause = 1145, /* opt_window_exclusion_clause */
+ YYSYMBOL_row = 1146, /* row */
+ YYSYMBOL_explicit_row = 1147, /* explicit_row */
+ YYSYMBOL_implicit_row = 1148, /* implicit_row */
+ YYSYMBOL_sub_type = 1149, /* sub_type */
+ YYSYMBOL_all_Op = 1150, /* all_Op */
+ YYSYMBOL_MathOp = 1151, /* MathOp */
+ YYSYMBOL_qual_Op = 1152, /* qual_Op */
+ YYSYMBOL_qual_all_Op = 1153, /* qual_all_Op */
+ YYSYMBOL_subquery_Op = 1154, /* subquery_Op */
+ YYSYMBOL_expr_list = 1155, /* expr_list */
+ YYSYMBOL_func_arg_list = 1156, /* func_arg_list */
+ YYSYMBOL_func_arg_expr = 1157, /* func_arg_expr */
+ YYSYMBOL_func_arg_list_opt = 1158, /* func_arg_list_opt */
+ YYSYMBOL_type_list = 1159, /* type_list */
+ YYSYMBOL_array_expr = 1160, /* array_expr */
+ YYSYMBOL_array_expr_list = 1161, /* array_expr_list */
+ YYSYMBOL_extract_list = 1162, /* extract_list */
+ YYSYMBOL_extract_arg = 1163, /* extract_arg */
+ YYSYMBOL_unicode_normal_form = 1164, /* unicode_normal_form */
+ YYSYMBOL_overlay_list = 1165, /* overlay_list */
+ YYSYMBOL_position_list = 1166, /* position_list */
+ YYSYMBOL_substr_list = 1167, /* substr_list */
+ YYSYMBOL_trim_list = 1168, /* trim_list */
+ YYSYMBOL_in_expr = 1169, /* in_expr */
+ YYSYMBOL_case_expr = 1170, /* case_expr */
+ YYSYMBOL_when_clause_list = 1171, /* when_clause_list */
+ YYSYMBOL_when_clause = 1172, /* when_clause */
+ YYSYMBOL_case_default = 1173, /* case_default */
+ YYSYMBOL_case_arg = 1174, /* case_arg */
+ YYSYMBOL_columnref = 1175, /* columnref */
+ YYSYMBOL_indirection_el = 1176, /* indirection_el */
+ YYSYMBOL_opt_slice_bound = 1177, /* opt_slice_bound */
+ YYSYMBOL_indirection = 1178, /* indirection */
+ YYSYMBOL_opt_indirection = 1179, /* opt_indirection */
+ YYSYMBOL_opt_asymmetric = 1180, /* opt_asymmetric */
+ YYSYMBOL_json_value_expr = 1181, /* json_value_expr */
+ YYSYMBOL_json_format_clause_opt = 1182, /* json_format_clause_opt */
+ YYSYMBOL_json_encoding_clause_opt = 1183, /* json_encoding_clause_opt */
+ YYSYMBOL_json_output_clause_opt = 1184, /* json_output_clause_opt */
+ YYSYMBOL_json_predicate_type_constraint = 1185, /* json_predicate_type_constraint */
+ YYSYMBOL_json_key_uniqueness_constraint_opt = 1186, /* json_key_uniqueness_constraint_opt */
+ YYSYMBOL_json_name_and_value_list = 1187, /* json_name_and_value_list */
+ YYSYMBOL_json_name_and_value = 1188, /* json_name_and_value */
+ YYSYMBOL_json_object_constructor_null_clause_opt = 1189, /* json_object_constructor_null_clause_opt */
+ YYSYMBOL_json_array_constructor_null_clause_opt = 1190, /* json_array_constructor_null_clause_opt */
+ YYSYMBOL_json_value_expr_list = 1191, /* json_value_expr_list */
+ YYSYMBOL_json_aggregate_func = 1192, /* json_aggregate_func */
+ YYSYMBOL_json_array_aggregate_order_by_clause_opt = 1193, /* json_array_aggregate_order_by_clause_opt */
+ YYSYMBOL_opt_target_list = 1194, /* opt_target_list */
+ YYSYMBOL_target_list = 1195, /* target_list */
+ YYSYMBOL_target_el = 1196, /* target_el */
+ YYSYMBOL_qualified_name_list = 1197, /* qualified_name_list */
+ YYSYMBOL_qualified_name = 1198, /* qualified_name */
+ YYSYMBOL_name_list = 1199, /* name_list */
+ YYSYMBOL_name = 1200, /* name */
+ YYSYMBOL_attr_name = 1201, /* attr_name */
+ YYSYMBOL_file_name = 1202, /* file_name */
+ YYSYMBOL_func_name = 1203, /* func_name */
+ YYSYMBOL_AexprConst = 1204, /* AexprConst */
+ YYSYMBOL_Iconst = 1205, /* Iconst */
+ YYSYMBOL_Sconst = 1206, /* Sconst */
+ YYSYMBOL_SignedIconst = 1207, /* SignedIconst */
+ YYSYMBOL_RoleId = 1208, /* RoleId */
+ YYSYMBOL_RoleSpec = 1209, /* RoleSpec */
+ YYSYMBOL_role_list = 1210, /* role_list */
+ YYSYMBOL_PLpgSQL_Expr = 1211, /* PLpgSQL_Expr */
+ YYSYMBOL_PLAssignStmt = 1212, /* PLAssignStmt */
+ YYSYMBOL_plassign_target = 1213, /* plassign_target */
+ YYSYMBOL_plassign_equals = 1214, /* plassign_equals */
+ YYSYMBOL_ColId = 1215, /* ColId */
+ YYSYMBOL_type_function_name = 1216, /* type_function_name */
+ YYSYMBOL_NonReservedWord = 1217, /* NonReservedWord */
+ YYSYMBOL_ColLabel = 1218, /* ColLabel */
+ YYSYMBOL_BareColLabel = 1219, /* BareColLabel */
+ YYSYMBOL_unreserved_keyword = 1220, /* unreserved_keyword */
+ YYSYMBOL_col_name_keyword = 1221, /* col_name_keyword */
+ YYSYMBOL_type_func_name_keyword = 1222, /* type_func_name_keyword */
+ YYSYMBOL_reserved_keyword = 1223, /* reserved_keyword */
+ YYSYMBOL_bare_label_keyword = 1224 /* bare_label_keyword */
+};
+typedef enum yysymbol_kind_t yysymbol_kind_t;
+
+
+
+
+#ifdef short
+# undef short
+#endif
+
+/* On compilers that do not define __PTRDIFF_MAX__ etc., make sure
+ <limits.h> and (if available) <stdint.h> are included
+ so that the code can choose integer types of a good width. */
+
+#ifndef __PTRDIFF_MAX__
+# include <limits.h> /* INFRINGES ON USER NAME SPACE */
+# if defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
+# include <stdint.h> /* INFRINGES ON USER NAME SPACE */
+# define YY_STDINT_H
+# endif
+#endif
+
+/* Narrow types that promote to a signed type and that can represent a
+ signed or unsigned integer of at least N bits. In tables they can
+ save space and decrease cache pressure. Promoting to a signed type
+ helps avoid bugs in integer arithmetic. */
+
+#ifdef __INT_LEAST8_MAX__
+typedef __INT_LEAST8_TYPE__ yytype_int8;
+#elif defined YY_STDINT_H
+typedef int_least8_t yytype_int8;
+#else
+typedef signed char yytype_int8;
+#endif
+
+#ifdef __INT_LEAST16_MAX__
+typedef __INT_LEAST16_TYPE__ yytype_int16;
+#elif defined YY_STDINT_H
+typedef int_least16_t yytype_int16;
+#else
+typedef short yytype_int16;
+#endif
+
+/* Work around bug in HP-UX 11.23, which defines these macros
+ incorrectly for preprocessor constants. This workaround can likely
+ be removed in 2023, as HPE has promised support for HP-UX 11.23
+ (aka HP-UX 11i v2) only through the end of 2022; see Table 2 of
+ <https://h20195.www2.hpe.com/V2/getpdf.aspx/4AA4-7673ENW.pdf>. */
+#ifdef __hpux
+# undef UINT_LEAST8_MAX
+# undef UINT_LEAST16_MAX
+# define UINT_LEAST8_MAX 255
+# define UINT_LEAST16_MAX 65535
+#endif
+
+#if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__
+typedef __UINT_LEAST8_TYPE__ yytype_uint8;
+#elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \
+ && UINT_LEAST8_MAX <= INT_MAX)
+typedef uint_least8_t yytype_uint8;
+#elif !defined __UINT_LEAST8_MAX__ && UCHAR_MAX <= INT_MAX
+typedef unsigned char yytype_uint8;
+#else
+typedef short yytype_uint8;
+#endif
+
+#if defined __UINT_LEAST16_MAX__ && __UINT_LEAST16_MAX__ <= __INT_MAX__
+typedef __UINT_LEAST16_TYPE__ yytype_uint16;
+#elif (!defined __UINT_LEAST16_MAX__ && defined YY_STDINT_H \
+ && UINT_LEAST16_MAX <= INT_MAX)
+typedef uint_least16_t yytype_uint16;
+#elif !defined __UINT_LEAST16_MAX__ && USHRT_MAX <= INT_MAX
+typedef unsigned short yytype_uint16;
+#else
+typedef int yytype_uint16;
+#endif
+
+#ifndef YYPTRDIFF_T
+# if defined __PTRDIFF_TYPE__ && defined __PTRDIFF_MAX__
+# define YYPTRDIFF_T __PTRDIFF_TYPE__
+# define YYPTRDIFF_MAXIMUM __PTRDIFF_MAX__
+# elif defined PTRDIFF_MAX
+# ifndef ptrdiff_t
+# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
+# endif
+# define YYPTRDIFF_T ptrdiff_t
+# define YYPTRDIFF_MAXIMUM PTRDIFF_MAX
+# else
+# define YYPTRDIFF_T long
+# define YYPTRDIFF_MAXIMUM LONG_MAX
+# endif
+#endif
+
+#ifndef YYSIZE_T
+# ifdef __SIZE_TYPE__
+# define YYSIZE_T __SIZE_TYPE__
+# elif defined size_t
+# define YYSIZE_T size_t
+# elif defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
+# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
+# define YYSIZE_T size_t
+# else
+# define YYSIZE_T unsigned
+# endif
+#endif
+
+#define YYSIZE_MAXIMUM \
+ YY_CAST (YYPTRDIFF_T, \
+ (YYPTRDIFF_MAXIMUM < YY_CAST (YYSIZE_T, -1) \
+ ? YYPTRDIFF_MAXIMUM \
+ : YY_CAST (YYSIZE_T, -1)))
+
+#define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X))
+
+
+/* Stored state numbers (used for stacks). */
+typedef yytype_int16 yy_state_t;
+
+/* State numbers in computations. */
+typedef int yy_state_fast_t;
+
+#ifndef YY_
+# if defined YYENABLE_NLS && YYENABLE_NLS
+# if ENABLE_NLS
+# include <libintl.h> /* 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_PURE
+# if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__)
+# define YY_ATTRIBUTE_PURE __attribute__ ((__pure__))
+# else
+# define YY_ATTRIBUTE_PURE
+# endif
+#endif
+
+#ifndef YY_ATTRIBUTE_UNUSED
+# if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
+# define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
+# else
+# define YY_ATTRIBUTE_UNUSED
+# endif
+#endif
+
+/* Suppress unused-variable warnings by "using" E. */
+#if ! defined lint || defined __GNUC__
+# define YY_USE(E) ((void) (E))
+#else
+# define YY_USE(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 __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__
+# define YY_IGNORE_USELESS_CAST_BEGIN \
+ _Pragma ("GCC diagnostic push") \
+ _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")
+# define YY_IGNORE_USELESS_CAST_END \
+ _Pragma ("GCC diagnostic pop")
+#endif
+#ifndef YY_IGNORE_USELESS_CAST_BEGIN
+# define YY_IGNORE_USELESS_CAST_BEGIN
+# define YY_IGNORE_USELESS_CAST_END
+#endif
+
+
+#define YY_ASSERT(E) ((void) (0 && (E)))
+
+#if !defined yyoverflow
+
+/* 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 <alloca.h> /* INFRINGES ON USER NAME SPACE */
+# elif defined _AIX
+# define YYSTACK_ALLOC __alloca
+# elif defined _MSC_VER
+# include <malloc.h> /* INFRINGES ON USER NAME SPACE */
+# define alloca _alloca
+# else
+# define YYSTACK_ALLOC alloca
+# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
+# include <stdlib.h> /* 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 <stdlib.h> /* 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 */
+
+#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
+{
+ yy_state_t 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 (YYSIZEOF (union yyalloc) - 1)
+
+/* The size of an array large to enough to hold all stacks, each with
+ N elements. */
+# define YYSTACK_BYTES(N) \
+ ((N) * (YYSIZEOF (yy_state_t) + YYSIZEOF (YYSTYPE) \
+ + YYSIZEOF (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 \
+ { \
+ YYPTRDIFF_T yynewbytes; \
+ YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
+ Stack = &yyptr->Stack_alloc; \
+ yynewbytes = yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \
+ yyptr += yynewbytes / YYSIZEOF (*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, YY_CAST (YYSIZE_T, (Count)) * sizeof (*(Src)))
+# else
+# define YYCOPY(Dst, Src, Count) \
+ do \
+ { \
+ YYPTRDIFF_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 906
+/* YYLAST -- Last index in YYTABLE. */
+#define YYLAST 115435
+
+/* YYNTOKENS -- Number of terminals. */
+#define YYNTOKENS 519
+/* YYNNTS -- Number of nonterminals. */
+#define YYNNTS 706
+/* YYNRULES -- Number of rules. */
+#define YYNRULES 3283
+/* YYNSTATES -- Number of states. */
+#define YYNSTATES 6221
+
+/* YYMAXUTOK -- Last valid token kind. */
+#define YYMAXUTOK 756
+
+
+/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
+ as returned by yylex, with out-of-bounds checking. */
+#define YYTRANSLATE(YYX) \
+ (0 <= (YYX) && (YYX) <= YYMAXUTOK \
+ ? YY_CAST (yysymbol_kind_t, yytranslate[YYX]) \
+ : YYSYMBOL_YYUNDEF)
+
+/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
+ as returned by yylex. */
+static const yytype_int16 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, 508, 2, 2,
+ 513, 514, 506, 504, 517, 505, 515, 507, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 518, 516,
+ 501, 503, 502, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 511, 2, 512, 509, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 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, 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, 510
+};
+
+#if YYDEBUG
+ /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
+static const yytype_int16 yyrline[] =
+{
+ 0, 886, 886, 891, 895, 900, 908, 916, 936, 948,
+ 962, 963, 967, 968, 969, 970, 971, 972, 973, 974,
+ 975, 976, 977, 978, 979, 980, 981, 982, 983, 984,
+ 985, 986, 987, 988, 989, 990, 991, 992, 993, 994,
+ 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004,
+ 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014,
+ 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024,
+ 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034,
+ 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044,
+ 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054,
+ 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064,
+ 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074,
+ 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084,
+ 1085, 1086, 1087, 1088, 1089, 1090, 1092, 1099, 1100, 1104,
+ 1105, 1109, 1110, 1114, 1115, 1116, 1125, 1141, 1153, 1154,
+ 1155, 1164, 1165, 1169, 1170, 1174, 1179, 1183, 1193, 1201,
+ 1205, 1209, 1214, 1218, 1266, 1268, 1272, 1276, 1280, 1284,
+ 1298, 1317, 1326, 1338, 1339, 1343, 1352, 1361, 1370, 1392,
+ 1400, 1408, 1416, 1424, 1432, 1450, 1469, 1481, 1482, 1493,
+ 1504, 1515, 1531, 1550, 1557, 1565, 1566, 1567, 1568, 1569,
+ 1570, 1584, 1591, 1598, 1608, 1617, 1626, 1630, 1639, 1648,
+ 1656, 1667, 1668, 1677, 1689, 1697, 1706, 1718, 1727, 1736,
+ 1744, 1754, 1765, 1766, 1770, 1771, 1774, 1776, 1780, 1781,
+ 1782, 1783, 1787, 1788, 1789, 1795, 1807, 1811, 1815, 1832,
+ 1840, 1841, 1842, 1846, 1847, 1848, 1852, 1853, 1857, 1861,
+ 1862, 1870, 1878, 1889, 1897, 1908, 1909, 1914, 1915, 1920,
+ 1927, 1934, 1941, 1948, 1959, 1970, 1971, 1975, 1976, 1984,
+ 2000, 2007, 2014, 2021, 2028, 2048, 2058, 2068, 2078, 2088,
+ 2100, 2112, 2122, 2132, 2142, 2154, 2166, 2176, 2186, 2196,
+ 2206, 2216, 2226, 2238, 2250, 2260, 2273, 2274, 2279, 2293,
+ 2306, 2322, 2339, 2349, 2359, 2369, 2379, 2389, 2398, 2407,
+ 2416, 2426, 2436, 2452, 2462, 2472, 2482, 2492, 2509, 2519,
+ 2529, 2539, 2550, 2564, 2580, 2590, 2599, 2615, 2624, 2635,
+ 2646, 2654, 2663, 2672, 2680, 2688, 2697, 2706, 2715, 2723,
+ 2731, 2740, 2748, 2756, 2765, 2774, 2783, 2792, 2801, 2810,
+ 2821, 2829, 2838, 2847, 2856, 2865, 2874, 2883, 2891, 2899,
+ 2907, 2914, 2925, 2926, 2930, 2939, 2943, 2944, 2948, 2956,
+ 2964, 2972, 2983, 2986, 2987, 2991, 2992, 2997, 3001, 3005,
+ 3010, 3017, 3019, 3024, 3028, 3032, 3043, 3051, 3104, 3117,
+ 3131, 3143, 3150, 3154, 3168, 3181, 3182, 3187, 3197, 3208,
+ 3219, 3246, 3253, 3287, 3323, 3346, 3347, 3351, 3352, 3361,
+ 3362, 3363, 3366, 3367, 3372, 3373, 3377, 3381, 3385, 3389,
+ 3393, 3397, 3401, 3405, 3409, 3413, 3417, 3421, 3425, 3434,
+ 3438, 3442, 3446, 3450, 3451, 3456, 3460, 3467, 3474, 3475,
+ 3476, 3477, 3478, 3482, 3486, 3494, 3505, 3525, 3545, 3566,
+ 3587, 3608, 3642, 3643, 3644, 3645, 3646, 3653, 3660, 3661,
+ 3665, 3666, 3670, 3671, 3675, 3679, 3686, 3690, 3697, 3698,
+ 3699, 3703, 3704, 3707, 3731, 3750, 3772, 3773, 3777, 3778,
+ 3782, 3783, 3787, 3788, 3792, 3793, 3797, 3805, 3806, 3807,
+ 3839, 3847, 3855, 3868, 3880, 3893, 3903, 3913, 3937, 3957,
+ 3958, 3959, 3963, 3964, 3983, 3991, 3999, 4007, 4019, 4031,
+ 4032, 4033, 4037, 4038, 4039, 4040, 4041, 4042, 4043, 4044,
+ 4045, 4046, 4055, 4063, 4067, 4081, 4099, 4115, 4132, 4148,
+ 4168, 4191, 4192, 4196, 4197, 4201, 4202, 4205, 4211, 4212,
+ 4215, 4219, 4227, 4232, 4238, 4239, 4243, 4248, 4255, 4256,
+ 4260, 4270, 4280, 4288, 4297, 4310, 4322, 4329, 4337, 4345,
+ 4353, 4361, 4371, 4372, 4376, 4377, 4380, 4392, 4393, 4396,
+ 4407, 4418, 4432, 4433, 4438, 4439, 4440, 4443, 4444, 4445,
+ 4446, 4449, 4450, 4453, 4454, 4457, 4477, 4490, 4512, 4513,
+ 4516, 4522, 4528, 4545, 4554, 4576, 4590, 4607, 4623, 4624,
+ 4625, 4637, 4651, 4668, 4682, 4683, 4695, 4716, 4727, 4741,
+ 4750, 4762, 4763, 4766, 4767, 4770, 4771, 4774, 4778, 4782,
+ 4786, 4790, 4794, 4798, 4802, 4806, 4810, 4814, 4819, 4823,
+ 4827, 4833, 4834, 4838, 4839, 4840, 4847, 4850, 4851, 4863,
+ 4879, 4895, 4896, 4904, 4905, 4909, 4910, 4914, 4915, 4919,
+ 4920, 4924, 4925, 4935, 4947, 4948, 4961, 4969, 4987, 4996,
+ 5008, 5011, 5015, 5019, 5023, 5030, 5042, 5053, 5056, 5060,
+ 5073, 5083, 5093, 5103, 5113, 5123, 5133, 5143, 5153, 5163,
+ 5173, 5183, 5193, 5212, 5224, 5225, 5226, 5227, 5231, 5232,
+ 5236, 5237, 5247, 5256, 5269, 5270, 5274, 5278, 5286, 5290,
+ 5294, 5301, 5305, 5310, 5315, 5322, 5329, 5334, 5344, 5357,
+ 5373, 5374, 5379, 5380, 5384, 5385, 5395, 5405, 5414, 5432,
+ 5453, 5474, 5496, 5530, 5546, 5547, 5551, 5560, 5575, 5585,
+ 5598, 5599, 5611, 5620, 5638, 5663, 5681, 5696, 5697, 5701,
+ 5702, 5706, 5707, 5711, 5712, 5716, 5730, 5734, 5735, 5739,
+ 5740, 5741, 5742, 5743, 5753, 5765, 5766, 5777, 5800, 5832,
+ 5833, 5834, 5838, 5840, 5862, 5864, 5866, 5868, 5870, 5875,
+ 5876, 5880, 5881, 5885, 5897, 5898, 5902, 5911, 5915, 5919,
+ 5924, 5934, 5935, 5939, 5940, 5944, 5945, 5949, 5950, 5954,
+ 5955, 5956, 5960, 5964, 5965, 5966, 5970, 5971, 5976, 5977,
+ 6004, 6005, 6006, 6007, 6008, 6009, 6022, 6033, 6048, 6050,
+ 6055, 6060, 6062, 6067, 6078, 6079, 6080, 6081, 6092, 6111,
+ 6123, 6136, 6147, 6158, 6170, 6179, 6187, 6195, 6205, 6215,
+ 6225, 6235, 6245, 6256, 6266, 6279, 6282, 6283, 6286, 6290,
+ 6297, 6298, 6299, 6300, 6301, 6302, 6305, 6308, 6309, 6317,
+ 6324, 6325, 6328, 6330, 6341, 6353, 6365, 6377, 6391, 6392,
+ 6408, 6424, 6425, 6429, 6442, 6453, 6462, 6472, 6482, 6483,
+ 6486, 6487, 6490, 6491, 6492, 6495, 6509, 6514, 6525, 6535,
+ 6548, 6549, 6553, 6562, 6575, 6586, 6600, 6611, 6634, 6645,
+ 6664, 6675, 6686, 6697, 6708, 6719, 6730, 6741, 6752, 6763,
+ 6774, 6785, 6800, 6801, 6802, 6803, 6804, 6805, 6806, 6807,
+ 6808, 6809, 6810, 6811, 6812, 6822, 6823, 6824, 6825, 6826,
+ 6830, 6831, 6832, 6833, 6834, 6835, 6836, 6837, 6842, 6843,
+ 6844, 6848, 6849, 6852, 6853, 6856, 6858, 6863, 6864, 6875,
+ 6887, 6888, 6889, 6899, 6908, 6917, 6926, 6935, 6944, 6953,
+ 6962, 6971, 6980, 6994, 7003, 7012, 7021, 7030, 7039, 7048,
+ 7057, 7069, 7070, 7084, 7095, 7106, 7117, 7128, 7139, 7150,
+ 7161, 7172, 7183, 7196, 7197, 7200, 7201, 7211, 7218, 7227,
+ 7236, 7245, 7254, 7263, 7272, 7281, 7290, 7299, 7308, 7317,
+ 7326, 7335, 7344, 7353, 7362, 7373, 7374, 7377, 7378, 7388,
+ 7406, 7422, 7450, 7452, 7454, 7456, 7464, 7474, 7475, 7478,
+ 7486, 7494, 7502, 7509, 7520, 7524, 7531, 7535, 7546, 7555,
+ 7564, 7573, 7582, 7591, 7600, 7609, 7618, 7627, 7636, 7645,
+ 7654, 7662, 7671, 7680, 7689, 7698, 7707, 7716, 7725, 7738,
+ 7739, 7743, 7744, 7749, 7750, 7760, 7771, 7785, 7797, 7815,
+ 7816, 7820, 7827, 7828, 7829, 7832, 7833, 7843, 7854, 7855,
+ 7859, 7863, 7867, 7878, 7892, 7907, 7925, 7926, 7927, 7928,
+ 7929, 7930, 7942, 7974, 8009, 8010, 8014, 8015, 8018, 8019,
+ 8024, 8036, 8055, 8060, 8065, 8072, 8073, 8076, 8077, 8080,
+ 8081, 8085, 8086, 8087, 8090, 8091, 8092, 8108, 8122, 8137,
+ 8151, 8168, 8169, 8172, 8173, 8177, 8178, 8182, 8183, 8188,
+ 8202, 8210, 8218, 8234, 8235, 8239, 8240, 8255, 8265, 8275,
+ 8285, 8295, 8308, 8309, 8310, 8311, 8312, 8318, 8322, 8337,
+ 8338, 8344, 8354, 8358, 8363, 8371, 8413, 8417, 8421, 8425,
+ 8433, 8434, 8438, 8450, 8451, 8456, 8457, 8462, 8463, 8470,
+ 8474, 8478, 8482, 8486, 8490, 8494, 8498, 8502, 8506, 8510,
+ 8514, 8518, 8522, 8526, 8530, 8535, 8542, 8546, 8550, 8554,
+ 8558, 8564, 8565, 8571, 8581, 8585, 8596, 8602, 8611, 8617,
+ 8618, 8622, 8623, 8627, 8628, 8631, 8644, 8648, 8663, 8672,
+ 8681, 8694, 8695, 8700, 8701, 8718, 8729, 8740, 8751, 8762,
+ 8773, 8787, 8798, 8812, 8823, 8837, 8845, 8847, 8849, 8854,
+ 8856, 8861, 8862, 8867, 8886, 8896, 8897, 8901, 8905, 8917,
+ 8929, 8941, 8955, 8956, 8957, 8961, 8974, 8975, 8985, 8998,
+ 9002, 9006, 9010, 9017, 9039, 9052, 9065, 9080, 9081, 9084,
+ 9085, 9088, 9089, 9099, 9109, 9127, 9137, 9147, 9157, 9167,
+ 9177, 9187, 9197, 9207, 9217, 9227, 9237, 9247, 9258, 9269,
+ 9279, 9289, 9299, 9309, 9319, 9329, 9340, 9351, 9362, 9373,
+ 9384, 9395, 9406, 9417, 9428, 9439, 9450, 9461, 9473, 9485,
+ 9497, 9509, 9521, 9533, 9544, 9555, 9567, 9579, 9590, 9601,
+ 9610, 9620, 9630, 9640, 9650, 9660, 9670, 9680, 9690, 9700,
+ 9715, 9716, 9719, 9720, 9730, 9740, 9750, 9760, 9771, 9781,
+ 9793, 9794, 9804, 9814, 9824, 9834, 9844, 9854, 9864, 9874,
+ 9884, 9894, 9904, 9914, 9924, 9934, 9944, 9954, 9964, 9974,
+ 9984, 9994, 10004, 10014, 10024, 10034, 10044, 10054, 10064, 10083,
+ 10093, 10094, 10097, 10099, 10105, 10106, 10107, 10108, 10109, 10121,
+ 10137, 10146, 10155, 10164, 10173, 10182, 10191, 10200, 10209, 10218,
+ 10227, 10236, 10245, 10254, 10263, 10272, 10281, 10290, 10299, 10308,
+ 10317, 10326, 10335, 10344, 10372, 10380, 10389, 10415, 10424, 10431,
+ 10437, 10464, 10475, 10484, 10492, 10494, 10516, 10524, 10534, 10544,
+ 10563, 10582, 10592, 10602, 10612, 10623, 10634, 10645, 10656, 10667,
+ 10685, 10694, 10711, 10729, 10730, 10731, 10736, 10742, 10751, 10752,
+ 10753, 10754, 10755, 10759, 10760, 10763, 10764, 10765, 10766, 10770,
+ 10771, 10772, 10784, 10795, 10796, 10799, 10809, 10816, 10836, 10845,
+ 10853, 10862, 10871, 10879, 10887, 10895, 10903, 10911, 10919, 10927,
+ 10938, 10946, 10957, 10958, 10959, 10963, 10966, 10969, 10972, 10975,
+ 10982, 10984, 10986, 10991, 10993, 10997, 10998, 10999, 11011, 11025,
+ 11039, 11058, 11080, 11081, 11082, 11083, 11093, 11110, 11121, 11122,
+ 11126, 11127, 11131, 11135, 11139, 11157, 11158, 11159, 11160, 11161,
+ 11162, 11163, 11170, 11171, 11182, 11190, 11198, 11207, 11217, 11235,
+ 11244, 11253, 11262, 11274, 11278, 11289, 11301, 11319, 11326, 11343,
+ 11357, 11367, 11376, 11385, 11395, 11407, 11419, 11430, 11431, 11442,
+ 11453, 11465, 11477, 11489, 11501, 11511, 11524, 11525, 11539, 11564,
+ 11576, 11585, 11597, 11611, 11612, 11624, 11645, 11656, 11668, 11680,
+ 11684, 11691, 11692, 11696, 11703, 11704, 11705, 11709, 11710, 11711,
+ 11715, 11716, 11720, 11721, 11724, 11725, 11728, 11729, 11733, 11734,
+ 11738, 11745, 11747, 11752, 11753, 11766, 11774, 11785, 11793, 11804,
+ 11805, 11806, 11807, 11808, 11809, 11810, 11811, 11812, 11813, 11823,
+ 11834, 11835, 11839, 11840, 11841, 11842, 11843, 11853, 11861, 11879,
+ 11899, 11900, 11910, 11917, 11924, 11931, 11948, 11966, 11970, 11978,
+ 11984, 11991, 11997, 12004, 12013, 12014, 12018, 12020, 12025, 12036,
+ 12046, 12056, 12062, 12071, 12080, 12086, 12087, 12098, 12113, 12114,
+ 12125, 12136, 12137, 12140, 12141, 12142, 12143, 12144, 12145, 12146,
+ 12147, 12150, 12151, 12155, 12156, 12157, 12168, 12187, 12188, 12192,
+ 12197, 12221, 12232, 12233, 12245, 12263, 12264, 12268, 12275, 12282,
+ 12289, 12299, 12312, 12313, 12317, 12330, 12343, 12352, 12361, 12370,
+ 12379, 12391, 12403, 12415, 12418, 12419, 12420, 12421, 12422, 12423,
+ 12426, 12427, 12428, 12476, 12477, 12481, 12482, 12497, 12498, 12505,
+ 12513, 12521, 12529, 12537, 12545, 12556, 12557, 12589, 12605, 12622,
+ 12623, 12642, 12646, 12650, 12665, 12672, 12679, 12689, 12690, 12693,
+ 12709, 12710, 12711, 12715, 12725, 12736, 12742, 12754, 12767, 12773,
+ 12774, 12778, 12790, 12798, 12803, 12808, 12813, 12818, 12826, 12834,
+ 12839, 12844, 12851, 12852, 12856, 12857, 12858, 12865, 12866, 12870,
+ 12871, 12875, 12876, 12880, 12881, 12885, 12889, 12890, 12893, 12902,
+ 12915, 12920, 12925, 12929, 12941, 12942, 12946, 12955, 12971, 12980,
+ 12989, 12998, 13010, 13013, 13018, 13019, 13027, 13047, 13048, 13050,
+ 13055, 13056, 13060, 13061, 13064, 13065, 13090, 13099, 13109, 13110,
+ 13114, 13115, 13116, 13117, 13118, 13122, 13135, 13142, 13149, 13156,
+ 13157, 13161, 13162, 13166, 13167, 13171, 13172, 13176, 13188, 13189,
+ 13190, 13191, 13195, 13196, 13206, 13213, 13232, 13233, 13237, 13238,
+ 13244, 13249, 13258, 13266, 13275, 13282, 13290, 13299, 13308, 13312,
+ 13338, 13342, 13356, 13377, 13399, 13412, 13429, 13435, 13440, 13446,
+ 13453, 13454, 13464, 13470, 13478, 13482, 13486, 13493, 13501, 13506,
+ 13507, 13508, 13509, 13513, 13514, 13529, 13533, 13541, 13548, 13555,
+ 13562, 13569, 13580, 13581, 13594, 13598, 13606, 13620, 13634, 13635,
+ 13650, 13661, 13674, 13679, 13680, 13683, 13684, 13687, 13688, 13693,
+ 13694, 13699, 13700, 13709, 13714, 13715, 13719, 13723, 13729, 13754,
+ 13765, 13779, 13780, 13784, 13798, 13855, 13869, 13871, 13876, 13878,
+ 13880, 13882, 13887, 13889, 13894, 13902, 13922, 13927, 13934, 13939,
+ 13945, 13950, 13959, 13961, 13964, 13968, 13969, 13970, 13971, 13972,
+ 13973, 13978, 13998, 13999, 14000, 14001, 14012, 14018, 14026, 14027,
+ 14033, 14038, 14043, 14048, 14053, 14058, 14063, 14068, 14074, 14080,
+ 14086, 14093, 14115, 14124, 14128, 14136, 14140, 14148, 14160, 14181,
+ 14185, 14191, 14195, 14208, 14216, 14226, 14228, 14230, 14232, 14234,
+ 14236, 14241, 14242, 14249, 14258, 14266, 14275, 14286, 14294, 14295,
+ 14296, 14300, 14302, 14304, 14306, 14308, 14310, 14312, 14317, 14322,
+ 14328, 14336, 14341, 14348, 14355, 14359, 14363, 14399, 14400, 14402,
+ 14411, 14427, 14429, 14431, 14433, 14435, 14437, 14439, 14441, 14443,
+ 14445, 14447, 14449, 14451, 14453, 14456, 14458, 14461, 14463, 14465,
+ 14467, 14470, 14475, 14484, 14489, 14498, 14503, 14512, 14517, 14527,
+ 14536, 14545, 14554, 14573, 14582, 14591, 14600, 14609, 14626, 14635,
+ 14644, 14653, 14662, 14671, 14680, 14684, 14688, 14696, 14704, 14712,
+ 14720, 14741, 14764, 14776, 14783, 14799, 14804, 14810, 14817, 14824,
+ 14832, 14840, 14858, 14878, 14904, 14906, 14908, 14910, 14912, 14914,
+ 14916, 14918, 14920, 14922, 14924, 14926, 14928, 14930, 14932, 14934,
+ 14936, 14938, 14940, 14944, 14948, 14953, 14969, 14970, 14971, 14988,
+ 15001, 15003, 15005, 15017, 15042, 15054, 15066, 15074, 15085, 15096,
+ 15106, 15112, 15121, 15131, 15141, 15154, 15164, 15195, 15231, 15241,
+ 15252, 15253, 15254, 15261, 15268, 15272, 15276, 15280, 15284, 15288,
+ 15292, 15296, 15300, 15304, 15308, 15312, 15316, 15323, 15327, 15331,
+ 15335, 15337, 15344, 15351, 15358, 15365, 15376, 15390, 15400, 15411,
+ 15427, 15437, 15444, 15451, 15458, 15462, 15470, 15479, 15488, 15492,
+ 15496, 15500, 15504, 15508, 15517, 15521, 15531, 15535, 15539, 15544,
+ 15555, 15561, 15575, 15586, 15600, 15616, 15633, 15635, 15639, 15641,
+ 15643, 15646, 15649, 15652, 15653, 15656, 15664, 15674, 15675, 15678,
+ 15679, 15680, 15683, 15684, 15685, 15690, 15694, 15698, 15702, 15709,
+ 15710, 15718, 15719, 15723, 15724, 15732, 15733, 15737, 15738, 15743,
+ 15752, 15754, 15769, 15772, 15800, 15801, 15804, 15805, 15813, 15821,
+ 15829, 15838, 15848, 15866, 15912, 15921, 15930, 15939, 15948, 15960,
+ 15961, 15962, 15963, 15964, 15978, 15979, 15980, 15983, 15984, 15987,
+ 15990, 15991, 15992, 15995, 15996, 15999, 16000, 16001, 16002, 16003,
+ 16004, 16005, 16006, 16007, 16008, 16009, 16010, 16013, 16015, 16020,
+ 16022, 16027, 16029, 16031, 16033, 16035, 16037, 16049, 16053, 16060,
+ 16064, 16070, 16074, 16084, 16096, 16097, 16100, 16101, 16104, 16108,
+ 16112, 16118, 16119, 16124, 16134, 16135, 16136, 16137, 16138, 16139,
+ 16140, 16141, 16145, 16146, 16147, 16148, 16153, 16158, 16167, 16188,
+ 16192, 16197, 16208, 16225, 16231, 16232, 16233, 16236, 16244, 16254,
+ 16269, 16270, 16274, 16286, 16287, 16290, 16291, 16294, 16298, 16305,
+ 16309, 16313, 16322, 16334, 16335, 16339, 16340, 16344, 16345, 16348,
+ 16349, 16354, 16363, 16368, 16374, 16375, 16379, 16388, 16392, 16393,
+ 16394, 16395, 16396, 16401, 16402, 16403, 16404, 16405, 16409, 16411,
+ 16421, 16424, 16430, 16431, 16432, 16436, 16437, 16438, 16442, 16443,
+ 16447, 16465, 16485, 16486, 16495, 16496, 16500, 16501, 16504, 16512,
+ 16520, 16528, 16551, 16552, 16563, 16567, 16573, 16575, 16580, 16582,
+ 16584, 16594, 16596, 16607, 16611, 16615, 16619, 16623, 16632, 16640,
+ 16672, 16676, 16683, 16691, 16695, 16699, 16705, 16706, 16708, 16709,
+ 16710, 16714, 16755, 16783, 16787, 16791, 16797, 16799, 16813, 16849,
+ 16862, 16863, 16866, 16867, 16884, 16885, 16886, 16891, 16892, 16893,
+ 16898, 16899, 16900, 16901, 16907, 16908, 16909, 16910, 16911, 16917,
+ 16918, 16938, 16939, 16940, 16941, 16942, 16943, 16944, 16945, 16946,
+ 16947, 16948, 16949, 16950, 16951, 16952, 16953, 16954, 16955, 16956,
+ 16957, 16958, 16959, 16960, 16961, 16962, 16963, 16964, 16965, 16966,
+ 16967, 16968, 16969, 16970, 16971, 16972, 16973, 16974, 16975, 16976,
+ 16977, 16978, 16979, 16980, 16981, 16982, 16983, 16984, 16985, 16986,
+ 16987, 16988, 16989, 16990, 16991, 16992, 16993, 16994, 16995, 16996,
+ 16997, 16998, 16999, 17000, 17001, 17002, 17003, 17004, 17005, 17006,
+ 17007, 17008, 17009, 17010, 17011, 17012, 17013, 17014, 17015, 17016,
+ 17017, 17018, 17019, 17020, 17021, 17022, 17023, 17024, 17025, 17026,
+ 17027, 17028, 17029, 17030, 17031, 17032, 17033, 17034, 17035, 17036,
+ 17037, 17038, 17039, 17040, 17041, 17042, 17043, 17044, 17045, 17046,
+ 17047, 17048, 17049, 17050, 17051, 17052, 17053, 17054, 17055, 17056,
+ 17057, 17058, 17059, 17060, 17061, 17062, 17063, 17064, 17065, 17066,
+ 17067, 17068, 17069, 17070, 17071, 17072, 17073, 17074, 17075, 17076,
+ 17077, 17078, 17079, 17080, 17081, 17082, 17083, 17084, 17085, 17086,
+ 17087, 17088, 17089, 17090, 17091, 17092, 17093, 17094, 17095, 17096,
+ 17097, 17098, 17099, 17100, 17101, 17102, 17103, 17104, 17105, 17106,
+ 17107, 17108, 17109, 17110, 17111, 17112, 17113, 17114, 17115, 17116,
+ 17117, 17118, 17119, 17120, 17121, 17122, 17123, 17124, 17125, 17126,
+ 17127, 17128, 17129, 17130, 17131, 17132, 17133, 17134, 17135, 17136,
+ 17137, 17138, 17139, 17140, 17141, 17142, 17143, 17144, 17145, 17146,
+ 17147, 17148, 17149, 17150, 17151, 17152, 17153, 17154, 17155, 17156,
+ 17157, 17158, 17159, 17160, 17161, 17162, 17163, 17164, 17165, 17166,
+ 17167, 17168, 17169, 17170, 17171, 17172, 17173, 17174, 17175, 17176,
+ 17177, 17178, 17179, 17180, 17181, 17182, 17183, 17184, 17185, 17186,
+ 17187, 17188, 17189, 17190, 17191, 17192, 17193, 17194, 17195, 17196,
+ 17197, 17198, 17199, 17200, 17201, 17202, 17203, 17204, 17205, 17206,
+ 17207, 17208, 17209, 17210, 17211, 17212, 17213, 17214, 17215, 17216,
+ 17217, 17218, 17219, 17220, 17221, 17222, 17223, 17224, 17225, 17226,
+ 17227, 17228, 17229, 17230, 17231, 17232, 17233, 17234, 17235, 17236,
+ 17237, 17238, 17239, 17240, 17241, 17242, 17243, 17244, 17245, 17246,
+ 17247, 17248, 17249, 17250, 17251, 17252, 17266, 17267, 17268, 17269,
+ 17270, 17271, 17272, 17273, 17274, 17275, 17276, 17277, 17278, 17279,
+ 17280, 17281, 17282, 17283, 17284, 17285, 17286, 17287, 17288, 17289,
+ 17290, 17291, 17292, 17293, 17294, 17295, 17296, 17297, 17298, 17299,
+ 17300, 17301, 17302, 17303, 17304, 17305, 17306, 17307, 17308, 17309,
+ 17310, 17311, 17312, 17313, 17314, 17315, 17316, 17317, 17318, 17319,
+ 17320, 17334, 17335, 17336, 17337, 17338, 17339, 17340, 17341, 17342,
+ 17343, 17344, 17345, 17346, 17347, 17348, 17349, 17350, 17351, 17352,
+ 17353, 17354, 17355, 17356, 17366, 17367, 17368, 17369, 17370, 17371,
+ 17372, 17373, 17374, 17375, 17376, 17377, 17378, 17379, 17380, 17381,
+ 17382, 17383, 17384, 17385, 17386, 17387, 17388, 17389, 17390, 17391,
+ 17392, 17393, 17394, 17395, 17396, 17397, 17398, 17399, 17400, 17401,
+ 17402, 17403, 17404, 17405, 17406, 17407, 17408, 17409, 17410, 17411,
+ 17412, 17413, 17414, 17415, 17416, 17417, 17418, 17419, 17420, 17421,
+ 17422, 17423, 17424, 17425, 17426, 17427, 17428, 17429, 17430, 17431,
+ 17432, 17433, 17434, 17435, 17436, 17437, 17438, 17439, 17440, 17441,
+ 17442, 17443, 17456, 17457, 17458, 17459, 17460, 17461, 17462, 17463,
+ 17464, 17465, 17466, 17467, 17468, 17469, 17470, 17471, 17472, 17473,
+ 17474, 17475, 17476, 17477, 17478, 17479, 17480, 17481, 17482, 17483,
+ 17484, 17485, 17486, 17487, 17488, 17489, 17490, 17491, 17492, 17493,
+ 17494, 17495, 17496, 17497, 17498, 17499, 17500, 17501, 17502, 17503,
+ 17504, 17505, 17506, 17507, 17508, 17509, 17510, 17511, 17512, 17513,
+ 17514, 17515, 17516, 17517, 17518, 17519, 17520, 17521, 17522, 17523,
+ 17524, 17525, 17526, 17527, 17528, 17529, 17530, 17531, 17532, 17533,
+ 17534, 17535, 17536, 17537, 17538, 17539, 17540, 17541, 17542, 17543,
+ 17544, 17545, 17546, 17547, 17548, 17549, 17550, 17551, 17552, 17553,
+ 17554, 17555, 17556, 17557, 17558, 17559, 17560, 17561, 17562, 17563,
+ 17564, 17565, 17566, 17567, 17568, 17569, 17570, 17571, 17572, 17573,
+ 17574, 17575, 17576, 17577, 17578, 17579, 17580, 17581, 17582, 17583,
+ 17584, 17585, 17586, 17587, 17588, 17589, 17590, 17591, 17592, 17593,
+ 17594, 17595, 17596, 17597, 17598, 17599, 17600, 17601, 17602, 17603,
+ 17604, 17605, 17606, 17607, 17608, 17609, 17610, 17611, 17612, 17613,
+ 17614, 17615, 17616, 17617, 17618, 17619, 17620, 17621, 17622, 17623,
+ 17624, 17625, 17626, 17627, 17628, 17629, 17630, 17631, 17632, 17633,
+ 17634, 17635, 17636, 17637, 17638, 17639, 17640, 17641, 17642, 17643,
+ 17644, 17645, 17646, 17647, 17648, 17649, 17650, 17651, 17652, 17653,
+ 17654, 17655, 17656, 17657, 17658, 17659, 17660, 17661, 17662, 17663,
+ 17664, 17665, 17666, 17667, 17668, 17669, 17670, 17671, 17672, 17673,
+ 17674, 17675, 17676, 17677, 17678, 17679, 17680, 17681, 17682, 17683,
+ 17684, 17685, 17686, 17687, 17688, 17689, 17690, 17691, 17692, 17693,
+ 17694, 17695, 17696, 17697, 17698, 17699, 17700, 17701, 17702, 17703,
+ 17704, 17705, 17706, 17707, 17708, 17709, 17710, 17711, 17712, 17713,
+ 17714, 17715, 17716, 17717, 17718, 17719, 17720, 17721, 17722, 17723,
+ 17724, 17725, 17726, 17727, 17728, 17729, 17730, 17731, 17732, 17733,
+ 17734, 17735, 17736, 17737, 17738, 17739, 17740, 17741, 17742, 17743,
+ 17744, 17745, 17746, 17747, 17748, 17749, 17750, 17751, 17752, 17753,
+ 17754, 17755, 17756, 17757, 17758, 17759, 17760, 17761, 17762, 17763,
+ 17764, 17765, 17766, 17767, 17768, 17769, 17770, 17771, 17772, 17773,
+ 17774, 17775, 17776, 17777, 17778, 17779, 17780, 17781, 17782, 17783,
+ 17784, 17785, 17786, 17787, 17788, 17789, 17790, 17791, 17792, 17793,
+ 17794, 17795, 17796, 17797, 17798, 17799, 17800, 17801, 17802, 17803,
+ 17804, 17805, 17806, 17807, 17808, 17809, 17810, 17811, 17812, 17813,
+ 17814, 17815, 17816, 17817, 17818, 17819, 17820, 17821, 17822, 17823,
+ 17824, 17825, 17826, 17827, 17828, 17829, 17830, 17831, 17832, 17833,
+ 17834, 17835, 17836, 17837, 17838, 17839, 17840, 17841, 17842, 17843,
+ 17844, 17845, 17846, 17847, 17848, 17849, 17850, 17851, 17852, 17853,
+ 17854, 17855, 17856, 17857, 17858, 17859, 17860, 17861, 17862, 17863,
+ 17864, 17865, 17866, 17867, 17868, 17869, 17870, 17871, 17872, 17873,
+ 17874, 17875, 17876, 17877, 17878, 17879, 17880, 17881, 17882, 17883,
+ 17884, 17885, 17886, 17887
+};
+#endif
+
+/** Accessing symbol of state STATE. */
+#define YY_ACCESSING_SYMBOL(State) YY_CAST (yysymbol_kind_t, yystos[State])
+
+#if YYDEBUG || 0
+/* The user-facing name of the symbol whose (internal) number is
+ YYSYMBOL. No bounds checking. */
+static const char *yysymbol_name (yysymbol_kind_t yysymbol) YY_ATTRIBUTE_UNUSED;
+
+/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
+ First, the terminals, then, starting at YYNTOKENS, nonterminals. */
+static const char *const yytname[] =
+{
+ "\"end of file\"", "error", "\"invalid token\"", "IDENT", "UIDENT",
+ "FCONST", "SCONST", "USCONST", "BCONST", "XCONST", "Op", "ICONST",
+ "PARAM", "TYPECAST", "DOT_DOT", "COLON_EQUALS", "EQUALS_GREATER",
+ "LESS_EQUALS", "GREATER_EQUALS", "NOT_EQUALS", "ABORT_P", "ABSENT",
+ "ABSOLUTE_P", "ACCESS", "ACTION", "ADD_P", "ADMIN", "AFTER", "AGGREGATE",
+ "ALL", "ALSO", "ALTER", "ALWAYS", "ANALYSE", "ANALYZE", "AND", "ANY",
+ "ARRAY", "AS", "ASC", "ASENSITIVE", "ASSERTION", "ASSIGNMENT",
+ "ASYMMETRIC", "ATOMIC", "AT", "ATTACH", "ATTRIBUTE", "AUTHORIZATION",
+ "BACKWARD", "BEFORE", "BEGIN_P", "BETWEEN", "BIGINT", "BINARY", "BIT",
+ "BOOLEAN_P", "BOTH", "BREADTH", "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", "COMPRESSION",
+ "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", "DEPTH", "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", "EXPRESSION",
+ "EXTENSION", "EXTERNAL", "EXTRACT", "FALSE_P", "FAMILY", "FETCH",
+ "FILTER", "FINALIZE", "FIRST_P", "FLOAT_P", "FOLLOWING", "FOR", "FORCE",
+ "FOREIGN", "FORMAT", "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",
+ "INDENT", "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", "JSON", "JSON_ARRAY",
+ "JSON_ARRAYAGG", "JSON_OBJECT", "JSON_OBJECTAGG", "KEY", "KEYS", "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", "MATCHED", "MATERIALIZED", "MAXVALUE", "MERGE",
+ "METHOD", "MINUTE_P", "MINVALUE", "MODE", "MONTH_P", "MOVE", "NAME_P",
+ "NAMES", "NATIONAL", "NATURAL", "NCHAR", "NEW", "NEXT", "NFC", "NFD",
+ "NFKC", "NFKD", "NO", "NONE", "NORMALIZE", "NORMALIZED", "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", "PARAMETER", "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_P", "REFERENCES", "REFERENCING",
+ "REFRESH", "REINDEX", "RELATIVE_P", "RELEASE", "RENAME", "REPEATABLE",
+ "REPLACE", "REPLICA", "RESET", "RESTART", "RESTRICT", "RETURN",
+ "RETURNING", "RETURNS", "REVOKE", "RIGHT", "ROLE", "ROLLBACK", "ROLLUP",
+ "ROUTINE", "ROUTINES", "ROW", "ROWS", "RULE", "SAVEPOINT", "SCALAR",
+ "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", "SYSTEM_USER", "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", "UESCAPE", "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",
+ "FORMAT_LA", "NOT_LA", "NULLS_LA", "WITH_LA", "WITHOUT_LA",
+ "MODE_TYPE_NAME", "MODE_PLPGSQL_EXPR", "MODE_PLPGSQL_ASSIGN1",
+ "MODE_PLPGSQL_ASSIGN2", "MODE_PLPGSQL_ASSIGN3", "'<'", "'>'", "'='",
+ "'+'", "'-'", "'*'", "'/'", "'%'", "'^'", "UMINUS", "'['", "']'", "'('",
+ "')'", "'.'", "';'", "','", "':'", "$accept", "parse_toplevel",
+ "stmtmulti", "toplevel_stmt", "stmt", "opt_single_name",
+ "opt_qualified_name", "opt_concurrently", "opt_drop_behavior",
+ "CallStmt", "CreateRoleStmt", "opt_with", "OptRoleList",
+ "AlterOptRoleList", "AlterOptRoleElem", "CreateOptRoleElem",
+ "CreateUserStmt", "AlterRoleStmt", "opt_in_database", "AlterRoleSetStmt",
+ "DropRoleStmt", "CreateGroupStmt", "AlterGroupStmt", "add_drop",
+ "CreateSchemaStmt", "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_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",
+ "column_compression", "opt_column_compression", "column_storage",
+ "opt_column_storage", "ColQualList", "ColConstraint",
+ "ColConstraintElem", "opt_unique_null_treatment", "generated_when",
+ "ConstraintAttr", "TableLikeClause", "TableLikeOptionList",
+ "TableLikeOption", "TableConstraint", "ConstraintElem", "opt_no_inherit",
+ "opt_column_list", "columnList", "columnElem", "opt_c_include",
+ "key_match", "ExclusionConstraintList", "ExclusionConstraintElem",
+ "OptWhereClause", "key_actions", "key_update", "key_delete",
+ "key_action", "OptInherit", "OptPartitionSpec", "PartitionSpec",
+ "part_params", "part_elem", "table_access_method_clause", "OptWith",
+ "OnCommitOption", "OptTableSpace", "OptConsTableSpace", "ExistingIndex",
+ "CreateStatsStmt", "stats_params", "stats_param", "AlterStatsStmt",
+ "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", "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", "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",
+ "object_type_any_name", "object_type_name", "drop_type_name",
+ "object_type_name_on_any_name", "any_name_list", "any_name", "attrs",
+ "type_name_list", "TruncateStmt", "opt_restart_seqs", "CommentStmt",
+ "comment_text", "SecLabelStmt", "opt_provider", "security_label",
+ "FetchStmt", "fetch_args", "from_in", "opt_from_in", "GrantStmt",
+ "RevokeStmt", "privileges", "privilege_list", "privilege",
+ "parameter_name_list", "parameter_name", "privilege_target",
+ "grantee_list", "grantee", "opt_grant_grant_option", "GrantRoleStmt",
+ "RevokeRoleStmt", "grant_role_opt_list", "grant_role_opt",
+ "grant_role_opt_value", "opt_granted_by", "AlterDefaultPrivilegesStmt",
+ "DefACLOptionList", "DefACLOption", "DefACLAction",
+ "defacl_privilege_target", "IndexStmt", "opt_unique",
+ "access_method_clause", "index_params", "index_elem_options",
+ "index_elem", "opt_include", "index_including_params", "opt_collate",
+ "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",
+ "opt_createfunc_opt_list", "createfunc_opt_list", "common_func_opt_item",
+ "createfunc_opt_item", "func_as", "ReturnStmt", "opt_routine_body",
+ "routine_body_stmt_list", "routine_body_stmt", "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_relation", "reindex_target_all",
+ "opt_reindex_option_list", "AlterTblSpcStmt", "RenameStmt", "opt_column",
+ "opt_set_data", "AlterObjectDependsStmt", "opt_no",
+ "AlterObjectSchemaStmt", "AlterOperatorStmt", "operator_def_list",
+ "operator_def_elem", "operator_def_arg", "AlterTypeStmt",
+ "AlterOwnerStmt", "CreatePublicationStmt", "PublicationObjSpec",
+ "pub_obj_list", "AlterPublicationStmt", "CreateSubscriptionStmt",
+ "AlterSubscriptionStmt", "DropSubscriptionStmt", "RuleStmt",
+ "RuleActionList", "RuleActionMulti", "RuleActionStmt",
+ "RuleActionStmtOrEmpty", "event", "opt_instead", "NotifyStmt",
+ "notify_payload", "ListenStmt", "UnlistenStmt", "TransactionStmt",
+ "TransactionStmtLegacy", "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",
+ "drop_option_list", "drop_option", "AlterCollationStmt",
+ "AlterSystemStmt", "CreateDomainStmt", "AlterDomainStmt", "opt_as",
+ "AlterTSDictionaryStmt", "AlterTSConfigurationStmt", "any_with",
+ "CreateConversionStmt", "ClusterStmt", "cluster_index_specification",
+ "VacuumStmt", "AnalyzeStmt", "utility_option_list", "analyze_keyword",
+ "utility_option_elem", "utility_option_name", "utility_option_arg",
+ "opt_analyze", "opt_verbose", "opt_full", "opt_freeze", "opt_name_list",
+ "vacuum_relation", "vacuum_relation_list", "opt_vacuum_relation_list",
+ "ExplainStmt", "ExplainableStmt", "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", "MergeStmt", "merge_when_list",
+ "merge_when_clause", "opt_merge_when_condition", "merge_update",
+ "merge_delete", "merge_insert", "merge_values_clause",
+ "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_search_clause", "opt_cycle_clause",
+ "opt_with_clause", "into_clause", "OptTempTableName", "opt_table",
+ "set_quantifier", "distinct_clause", "opt_all_clause",
+ "opt_distinct_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", "opt_alias_clause_for_join_using",
+ "func_alias_clause", "join_type", "opt_outer", "join_qual",
+ "relation_expr", "extended_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_indent_option",
+ "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",
+ "func_arg_list_opt", "type_list", "array_expr", "array_expr_list",
+ "extract_list", "extract_arg", "unicode_normal_form", "overlay_list",
+ "position_list", "substr_list", "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", "json_value_expr",
+ "json_format_clause_opt", "json_encoding_clause_opt",
+ "json_output_clause_opt", "json_predicate_type_constraint",
+ "json_key_uniqueness_constraint_opt", "json_name_and_value_list",
+ "json_name_and_value", "json_object_constructor_null_clause_opt",
+ "json_array_constructor_null_clause_opt", "json_value_expr_list",
+ "json_aggregate_func", "json_array_aggregate_order_by_clause_opt",
+ "opt_target_list", "target_list", "target_el", "qualified_name_list",
+ "qualified_name", "name_list", "name", "attr_name", "file_name",
+ "func_name", "AexprConst", "Iconst", "Sconst", "SignedIconst", "RoleId",
+ "RoleSpec", "role_list", "PLpgSQL_Expr", "PLAssignStmt",
+ "plassign_target", "plassign_equals", "ColId", "type_function_name",
+ "NonReservedWord", "ColLabel", "BareColLabel", "unreserved_keyword",
+ "col_name_keyword", "type_func_name_keyword", "reserved_keyword",
+ "bare_label_keyword", YY_NULLPTR
+};
+
+static const char *
+yysymbol_name (yysymbol_kind_t yysymbol)
+{
+ return yytname[yysymbol];
+}
+#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_int16 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, 718, 719, 720, 721, 722, 723, 724,
+ 725, 726, 727, 728, 729, 730, 731, 732, 733, 734,
+ 735, 736, 737, 738, 739, 740, 741, 742, 743, 744,
+ 745, 746, 747, 748, 749, 750, 751, 752, 753, 754,
+ 755, 60, 62, 61, 43, 45, 42, 47, 37, 94,
+ 756, 91, 93, 40, 41, 46, 59, 44, 58
+};
+#endif
+
+#define YYPACT_NINF (-5506)
+
+#define yypact_value_is_default(Yyn) \
+ ((Yyn) == YYPACT_NINF)
+
+#define YYTABLE_NINF (-2883)
+
+#define yytable_value_is_error(Yyn) \
+ ((Yyn) == YYTABLE_NINF)
+
+ /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
+ STATE-NUM. */
+static const int yypact[] =
+{
+ 6569, 695, 19872, -5506, -5506, 695, 68725, -5506, 77997, 1381,
+ 167, 1455, 206, 20420, 78485, 88245, 616, 1022, 8756, 695,
+ 88245, 2171, 59452, 74093, 296, 88245, 1082, 715, 59452, 88245,
+ 88733, 1012, 1267, 966, 89221, 78973, 72629, 1510, 88245, 1350,
+ 401, 89709, 79461, 1247, 79949, 715, 55559, 362, 1177, 90197,
+ 88245,112575, 401, 80437, 80437, 80437, 1936, 1744, 1464, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, 1517, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, 1720, -5506, 876,
+ 2128, 1530, 859, 1558, -5506, -5506, 1823, 68725, 88245, 88245,
+ 88245, 1719, 88245, 1746, 88245, 208, 68725, 65309, 80925, 1841,
+ 1747, 51539, 90685, -5506, 68725, 88245, 62869, 68725, 88245, 88245,
+ 91173, 88245, 91661, 88245, 94, 76533, 88245, 1807, 88245, 88245,
+ 63357, 92149, 1986, 1377, 269, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, 1751,
+ -35, -5506, 284, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, 59940, 88245, 19046, 1082, 1823, -5506, 1936, 88245,
+ 2034, 88245, 1796, 92637, 88245, -5506, 88245, 1881, 93125, 464,
+ 1324, 65309, 2026, 52046, 2045, 88245, 88245, 65309, 93613, 94101,
+ 94589, 88245, 88245, -5506, -5506, 2014, 88245, -5506, 2082, 65797,
+ 66, 2113, 2339, 2253, 1094, -5506, 81413, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, 68237, 1022, -5506, -5506, 2203,
+ 69213, 2297, -5506, -5506, 95077,113049, 2118, -5506, 510, 69701,
+ 66285, 2474, 2094, 52553, 2508, -5506, 70189, -5506, 66773, 70677,
+ -5506, -5506, -5506, -5506, -5506, 95565, -5506, 96053, 2209, 2297,
+ -5506,113523, 67261, -5506, 2396, 96541, 97029, 97517, 1823, 2086,
+ 1282, 1958, 46063, -5506, -5506, -5506, 2202, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, 368, 304, 257, 230,
+ 303, -5506, -5506, 238, 239, 252, 368, 2661, 2661, -5506,
+ 88245, -5506, -5506, 304, 57, 2283, 2201, 2201, 2201, 2450,
+ -33, -5506, 2201, 2356, -5506, -5506, -5506, -5506, 79949, -5506,
+ 2221, 1082, 2207, 2708, 2343, 59940, 996, 88245, -5506, -5506,
+ 2740, 2312, 2588, 2316, -5506, -5506, -5506, 2575, 2587, 121,
+ 1026, 1082, 313, -5506, 2718, -5506, 2601, 31515, 31515, 1082,
+ 81901, 98005, 244, 68237, 1082, 82389, 2413, 1537, 2612, -5506,
+ -5506, -5506, 456, -5506, 2868, 2436, 2710, 2316, 1377, 48039,
+ -5506, -5506, 2434, -35, 79949, -5506, -5506, -5506, 59940, 2774,
+ 34551, 88245, 2447, -5506, 2482, 2447, -5506, -5506, 2580, -5506,
+ 2580, 2580, 2530, 2530, 2723, 2538, -5506, -5506, -5506, 2409,
+ 2580, 2530, -5506,114471, -5506, 1885, 1891, -5506, -5506, 3028,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, 2574, -5506,
+ 982, 1988, -5506, -5506, -5506, 31515, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, 2577, 2579, 1530, -5506, 7639, 59940, 88245,
+ 1624, 1624, 3030, 1624, 1992, 2015, -5506, 2184, -5506, 2921,
+ 2878, 2879, 79949, 2605, 306, -5506, 1874, 2608, 1955, 2609,
+ 1917, 2183, -5506, 241, 88245, 272, 2649, 82877, 5572, 2613,
+ -35, 2614, -5506, -5506, -5506, -5506, 2775, 1442, -5506, -5506,
+ -5506, -5506, 2930, 2975, 7938, 342, 83365, -5506, -5506, -5506,
+ -5506, 88245, 88245, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, 2617, 767, -5506, -5506, 2616, 2978, 2841, 6956,
+ 856, 2939, 2788, 1413, 7541, 2844, 765, 2986, 15998, 1616,
+ 2988, 1944, 1444, 83853, 88245, 2945, 2990, 9105, 1668, 1117,
+ 2851, 1151, 2939, 2982, 2801, 1413, 2998, 3065, 88245, -5506,
+ 2912, 3034, 753, -5506, 183, -5506, 24486, 34551, 55071, -5506,
+ -35, -5506, 1632, -5506, -5506, 58964, -5506, 2706, 2863, 845,
+ 68725, 2646, 88245, 88245, -5506,112575, 68725, -5506, 2871, 53060,
+ 68725, -5506, 68725, -5506, -5506, 2993,112575, 88245, 88245, -5506,
+ 88245, -5506, -5506, 2651, -5506, -5506, -5506, -5506, -5506, 2201,
+ 88245, 3094,112575, 2888, 372, 1838, 3132, 88245, 2899, 1838,
+ 2709, 98493, -5506, -5506, 1838, -5506, -5506, -5506, 88245, 88245,
+ 2674, 1333, 2893, 802, 1838, 2909, 3143, 3145, 2914, 2759,
+ 2918, 2482, -5506, 3109, 2890, 1197, 221, 2155, 1838, 2742,
+ 98981, 99469, 88245, 2743, 88245, 3121, 68725, 2771, 68725, 68725,
+ 88245, 3041, 88245, -5506, 2880, -5506, -5506, 1516, -5506, -5506,
+ -5506, -5506, -5506, 3060, -5506, 198, 3066, 2712, 3067, 1878,
+ 3069, 211, -5506, -5506, 2745, -5506, 3072, 258, -5506, 3075,
+ -5506, 2713, 99957, -5506,100445,100933, 3078, 268, -5506, 65309,
+ 3079, 258, 3082, 2713, 3086, 258, 3087, 905, 3089, -5506,
+ 1383, 3076, 3091, 211, 3092, 2166, 2713, -5506, 3095, 314,
+ -5506, 3100, 321, -5506, 3102, 2953, -5506, 34551, -5506, 2842,
+ -5506, 1177, 1754, 1958, 304, -5506, 88245, 304, 88245, 304,
+ 88245, 304, 88245, 304, 88245, 88245, 88245, 304, -5506, -5506,
+ -5506, 88245, 2746, 88245, -5506, 88245, -5506, -5506, -5506, 75069,
+ 65309, 75557, -5506, 88245, -5506, 110, 1082, -5506, -5506,112575,
+ 3222, 65309, 3121, 1814, -5506, -5506, 3121, -5506, -5506, 3121,
+ 3121, -5506, -5506, -5506, 3021, 88245, 3096, 75069, 65309, 3104,
+ -5506,101421, -5506, 68237, 2968, 2760, -5506, -5506, -5506, -5506,
+ -5506, 2033, 3268, 270, 3269, 34551, 2763, 270, 270, 2764,
+ 3112, -5506, -5506, -5506, 286, 2768, 2772, -5506, 256, 256,
+ -5506, 2777, 2779, -5506, 264, 2782, 2783, 3278, 3281, 292,
+ 2785, 2786, 2787, 2789, 2790, 2791, 2792, 2409, 270, 2795,
+ 34551, -5506, 2799, 256, 2802, 2803, 2805, 3282, 2807, -5506,
+ 3295, 2808, -5506, 229, 243, 2810, 2811, -5506, 3019, -5506,
+ 300, 2812, 2814, 2820, 2822, 2823, 2827, 2829, 2830, 34551,
+ 34551, 34551, -5506, 28980, -35, 1082, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, 301, 51032, -5506, 2843, -5506, -5506,
+ 3039, -5506, -5506, 34551, -5506, -5506, 3184, 719, -5506, 307,
+ -5506, -5506, -5506, -35, 3130, 2835, -5506, -5506, 1727, 2836,
+ -5506, 1341, -5506, -5506, -5506, -5506, -5506, -5506, 67749, 3318,
+ -5506, 323, 1082, 183, 358, 3255, 57500, 57988, -5506, -5506,
+ 3118, -5506, 88245, -5506, -5506, -35, 175, 1999, -5506, 2202,
+ 18413, 2004, 2447, 88245, 88245, 3324, -5506, 2850, -5506, -5506,
+ 34551, -5506, -5506, -5506, 2661, -5506, 2580, 2580, -5506, -5506,
+ 3328, 2942, 2943, 2661, -5506, 2661, -5506, 2858, 2859, 2661,
+ 2944, 2947, 2951, -5506, 2866, 2954, 2661, -5506, -5506, 60917,
+ 2110, -5506, 3198, 340, -5506, -5506, -5506, 2021, -5506, 2865,
+ -5506, 2482, -5506, -5506, 1530, 1530, 34551, 1530, 254, 1397,
+ 32021, 35057, 3212, 3093, 277, 1239, 3219, -5506, 3103, 1992,
+ 2015, 79949, 88245, 79949,101909, 3009, 34551, -5506, 3329, 2973,
+ 2976, 3032, 56535, -5506, 2979, 2946, 2984, 3033, 2894, 2987,
+ 2989, 3049, -5506, 3180, -5506, -5506, 2997, 3346, 3000,102397,
+ -5506, -5506, 1067, -5506, -5506, -5506, 1067, -5506, 2925, 1611,
+ 992, 886, 3003, 423, 1001, 3341, -5506, 1352, -5506, -5506,
+ 3061, -5506, 6709, 88245, 3280, 10456, 3140, 342, 3062, -5506,
+ -5506, -5506, 3199, 3013, 88245, 3014, 3157, 342, 1329,102885,
+ -5506, -5506, 88245, -5506, -5506, -5506, -5506, 8256, 3316, 27524,
+ -5506, 2011, 3018, 3002, 3029, 88245, 71653, 379, 3137, 3153,
+ 1854, 2301, 248, 3090, 88245, 1830, 3164, 88245, 2949, 3036,
+ 3040, 3279, 2956, 435, 3369, 2957, -5506, -5506, -5506, 3345,
+ -5506, 2355, 2400, 3165, -5506, 3277, 3323, 10999, 3027, 3037,
+ 111153, -5506, 3052, 1092, 53567, 88245, 88245, 3057, 3064,103373,
+ 8256, 3365, 76045, 76045, 3074, 3083, 47545, 3381, 1415, 3099,
+ -5506, -5506, -5506, 1415, 3101, 3107,103861, 8256, 3375, 88245,
+ 3108, 3111, 88245,114471, 342, -5506, 3446, 342, 342, 1636,
+ 3447, 3113, 355, 3248, 642, 1838, 2957, 3288, -5506, 3114,
+ 3115, 346, -5506, 3217, 88245, 3119, 3123, 88, 3186, 1082,
+ -5506, 3192, -5506, 3124, 3194, 3125, 68, 2674, -5506, -5506,
+ 1423, 3135, 79949, 3214, 3215, 1830, 245, 928, 2957, -5506,
+ 3127, 3129, 2956, 2956, 88245, 88245, 88245, 88245, 88245, 235,
+ 3489, 3501, 3133, 240, 1125, 3044, -5506, 1415, 63845, 3138,
+ -5506, 1415, 88245, 242, 1004, 2957, 1862, 2006, -5506, -5506,
+ -5506, 1377, -5506, 34551, 34551, 34551, 3043, -5506, 2686, 18413,
+ 691, -5506, 309, 13826, 3048, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, 88245, 59940, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, 88245, -5506, 88245, 3347,112575, 3349, 3267, 3350, 3352,
+ 342, 88245, 88245, 3353, 3354, 3355,112575, 3356, 3357, 3358,
+ 3272, 3154, 161, 3149, 3080, 3542, 3433, 88245, 60917, -5506,
+ 1067, -5506,112575, 3294, 3437, -5506, 88245, 3312, 67, -5506,
+ 3477, 3146, -5506, -5506, 1045, 88245, 74581, 2674, -5506, -5506,
+ 3445, 65309, 1688, 3450, 1082, 3139, 3451, 3311, 1082, 65309,
+ 3360, 88245, 88245, 88245, 88245, 137, -5506, 63845, 3330, -5506,
+ 88245, 3331, 3288, 3332, 3575, 85, 2201,104349, 3448, -5506,
+ 104837, 3105, 88245, 3110, 3110, 3577,112575, 1407, 3387, -5506,
+ -5506, 2177, -5506, 3251, -5506, 68725, -5506, -5506, 68725, -5506,
+ -5506,112575, 88245, 3117,112575,112575, -5506, -5506, 68725, 68725,
+ -5506, 65309, 65309, 3468, 314, 3472, 3177, 3478, 3182, 53567,
+ 53567, -5506, 322, 68725, -5506, 65309, 68725, -5506, 88245, -5506,
+ 88245, -5506, -5506, -5506, -5506,112575,112575, -5506, 65309, 63845,
+ 3481, 88245, 88245, -5506, 88245, 88245, -5506, 88245, 88245, 2037,
+ 105325, 1958, -5506, 88245, -5506, 88245, -5506, 88245, -5506, 88245,
+ -5506, 88245, -5506, -5506, -5506, 88245, -5506, 88245, 2041, -5506,
+ -5506, 2049, 1494, 88245, 88245, 246, 68725, 88245, 3342, 88245,
+ 68725, 68725, 88245, 88245, 88245, 88245, 88245, 3207, 2836, 505,
+ -5506, 274, 566, 79949, 3361, -5506, -5506, 2061, 1936, 25,
+ 88245, -5506, 88245, 88245, 88245, -5506, -5506, 74093, 3462, 168,
+ 75557, 88245, -5506, -5506, 10320, 34551, -35, 31004, -5506, -5506,
+ 18413, 3172, 34551, 34551, 3126, 2661, 2661, -5506, 353, 34551,
+ 34551, 28474, 34551, 32527, 34551, 34551, 2661, 2661, 34551, 6107,
+ 34551, 53567, 34551, 40117, 25510, 34551, 34551, 29486, 1031, 2777,
+ 34551, 3376, 41123, 34551, 358, 3377, 34551, 358, 6107, 3627,
+ 3627, 2456, 7363, 3142, -35, -5506, 2661, 232, -5506, 475,
+ 112575, 34551, 34551, 34551, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, 34551,
+ -5506, 60917, -5506, -5506, -5506, -5506, -5506, -5506, 3221, -5506,
+ -5506, -5506, -5506, -5506, -5506, 6020, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, 88245,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, 29992, -5506, -5506, -5506, -5506, 3134, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, 3224,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ 30498, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ 3141, -5506, -5506, 34551, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, 3225, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, 1016,
+ 34551, 34551, 34551, 34551, 34551, 34551, 34551, 34551, 34551, -5506,
+ 34551, 511, -5506, -5506, 3473, 3184, 1225, 357, 3144, 3359,
+ 84341, 31515, 3198, 24486, -5506, 287, 3198, -5506, -5506, -5506,
+ 88245, 3318, -5506, -5506, 3226, -5506, -5506, -5506, -5506, -5506,
+ 310, -5506, -5506, -5506, -5506, -5506, -5506, -5506, 3147, -5506,
+ -5506, -5506, -5506, 3147, -5506, 3148, 3469, 3475, 905, 88245,
+ 2793, 34551, 3221, 324, 88245, 34551, 3134, 3224, 34551, 3141,
+ 34551, 3225, -5506, 34551, -5506, 2066, 2098, 34551, 2078, 3158,
+ -5506, -5506, 3160, 2859, 3178, 3185, 3163, 3166, 2661, 237,
+ 3167, 186, 132, 3298, 2661, 3416, 3168, -5506, 60917, -5506,
+ 43099, 3216, -5506, -5506, -5506, 401, 88245, 88245, -5506, 3467,
+ -5506, 3169, -5506, 14326, 3467, -5506, -5506, 40620, 3300, 3459,
+ 3394, -5506, -5506, -5506, 3175, 18413, 35563, 35563, -5506, 2499,
+ 18413, 2584, -5506, -5506, -5506, -5506, -5506, -5506, 1447, -5506,
+ 88245, 114, 3212, 1239, 3242, 1387, 3657, 3245, 88245, -5506,
+ 48533, 2079, -5506, 65309, 88245, 88245, 3395, -5506, 3639, -5506,
+ 114471, -5506, 3188, -5506,113997,110205, -5506, -5506, 1037, -5506,
+ 528, 65309, -5506, 88245, 88245, 65309, 88245, 88245, -5506, 65309,
+ 3238, 88245, 88245, -5506, -5506, -5506, -5506, -5506, 58476, 76,
+ 74093, 3333, 73117, -5506, -5506, 3191, 88245, 3256, 3484, 3486,
+ 751, -5506, -5506,105813, -5506, 3423, 65309, 88245, 88245, 34551,
+ 3425, 88245, 88245, -5506, 279, 3284, 3290, -5506, 88245, 3291,
+ 68725, 3206,112575, 68725, 54074, 68725, 68725, 3552,112575, 88245,
+ 88245, 1244, 79949, 336, 1074, 2957, 3439, -5506, 1370, -5506,
+ 65309, -5506, 88245, 3430, -5506, -5506, -5506, 84829, 3678, 3334,
+ -5506, -5506, -5506,106301, -5506, -5506, 3432, -5506, 2083, -5506,
+ 65309, 65309, 88245, 11298,106789, 1542, 3449, -5506, -5506,112575,
+ -5506, 88245, 85317, 88245, 88245, 3490, 88245, 77021,107277,107765,
+ 1599, 1650, 3491, 88245, 77509, 3495, -5506, 3370, 88245, -5506,
+ -5506, 61405, 65309, 88245, 883, 60917, -5506, 3479, -5506, 88245,
+ -5506, 930, -5506, 88245, 6139, 3452, -5506, -5506, 3315, 3325,
+ 88245, 405, 1078, 2957, 3617, 88245, 88245, 3228, 2095, 65309,
+ 88245, 60917, -5506, 3453, 709, 65309, 88245, 84829, -5506, 3456,
+ -5506, 79949, 3555, -5506, 3233, 2201, 2434, 1985, 3233, 65309,
+ 88245, -5506, 3233, 88245, 98005, -5506, 65309, 1298, -5506, 65309,
+ 88245, 84829, -5506, 3461, 3404, 65309, 88245, 19274, -5506, -5506,
+ -5506, 342, -5506, -5506, -5506, -5506, -5506, 88245, 88245, 342,
+ 88245, 88245, 342, 946, -5506, 65309, 88245, -5506, -5506, -5506,
+ 3372, 65309, 88245, 88245, 368, 88245, -5506, 88245, 65309, 3292,
+ 88245, 88245, -5506, -5506, 88245, 9702, 88245, 88245, 88245, 88245,
+ 88245, 88245, 65309, 88245, -5506, -5506, 1193, 1374, 749, 1605,
+ 1256, 88245, 3566, 88245,108253, 65309, 88245, 88245, 1082, 88245,
+ 60917, 2133, -5506, -5506, 3378, -5506, 65309, 1298, -5506, 11615,
+ 88245, 88245, 88245, 3336, 3339, 329, 3429, -5506, -5506, -5506,
+ 838, 838, 3470, -5506, 34551, 34551, 33033, 3254, -5506, -5506,
+ 34551, 2706, -5506, -5506, -5506, 980, 3731, 980,108741, 980,
+ 980, 3549, 3322, 3338, 980, 980, 980, 3541, 980, 980,
+ 980, 88245, 3441, -5506, -5506, 3441, 766, 34551,112575, 88245,
+ -5506, 2102, -5506, 3273, -5506, -5506, 60917, 88245, 231, 912,
+ 3625, 3494, 72141, 1853, 3612, 88245, 3335, 88245, 3743, 3371,
+ 1603, -5506, 1853, 88245, -5506, 1963, 74093, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, 88245, -5506, -5506, 3621, 88245, 43593,
+ 3457, -5506, 1082, 2674, 2674, 2674, 2674, 3283, 2674, 88245,
+ 3411, 3640, 1853, 3287, 3641, -5506, 3288, 3643, 1327, 88245,
+ 3511, 72141, 3351, 3343, 3524, 3770, 2201, 1082, 3529, 3517,
+ -5506, 57012, -5506, 2674, 3787, 27999, 6958, 7448, 3521, 3584,
+ -5506, -5506, 3528, 908, 88245, 3631, 3632, 3654, -5506, 198,
+ -5506, 3788, 1878, 3658, 211, -5506, 258, -5506, 2713, -5506,
+ 88245, -5506, 88245, 88245, 88245, 88245, 268, -5506, -5506, 258,
+ 2713, 258, 905, -5506, 3595, 211, 2713, 3454, 3662, 314,
+ -5506, 321, -5506, 3536, 905, -5506, 3553, 2201, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, 2123, -5506, 88245, -5506, 3636,
+ 3644, 3645, 3646, 3648, 3320, 3321, 3367, 88245, 3337, 3320,
+ 342, 3340, 3344, -5506, 3337, 3337, 3320, 2836, 2836, 3320,
+ 3321, 64333, 3780, 60917, -5506, -5506, 3421, 3348, 3675, 209,
+ -5506, 212, 73, 3588, -5506, -5506, -5506, -5506,112575, -5506,
+ 65309, 3382, -5506, -5506, -5506, 3558, 3362, 64333, 905, 166,
+ -5506, 68725, 88245,112575, 68725, 3567, 68725, 68725,112575, 88245,
+ 88245, 2137, -5506, 1946, -5506, 1947, 34551, 182, -5506, 14004,
+ 2141, 34551, 3363, 3364, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, 3366, 3681, -5506, 2145, 2157,112575, 2319, 3374, 14572,
+ -5506, 3379, 224, 3557, 5598, 3406, 2168, 3380, 289, -5506,
+ 5598, 958, 2172, 3384, 3385, 6660, 6700, 3386, 14905, 3368,
+ 3388, 3389, 3373, 40117, 40117, 28980, 1056, -5506, 40117, 3391,
+ 3559, 2174, 10109, 3392, 3393, 15342, 33539, 34551, 33539, 33539,
+ 15591, 3396, 3398, -5506, 3726, -5506, 2189, 60917, 3571, 15644,
+ 2194, -5506, 34551, 60917, 7242, 34551, -5506, 34551, 3402, -5506,
+ -5506, 5300, 5300, 5300, 6107, -5506, 3401, -5506, 40117, 40117,
+ -5506, 3455, 28980, -5506, -5506, 3695, -5506, -5506, 275, -5506,
+ -5506, -5506, -5506, -5506, 3961, -5506, -5506, -5506, 3596, 2206,
+ 3819, 53567, 14379, 34551, 410, 34551, 3134, 34551, 3465, 5300,
+ 5300, 5300, 455, 455, 317, 317, 317, 420, 357, -5506,
+ -5506, -5506, 3383, 3397, 3359, 3405, 34551, -5506, 3407, 49027,
+ -5506, 2359, 2399, 88245, 3420, 4636, 6060, -5506, -5506, -5506,
+ 3216, 691, 3216, -5506, 1377, 2661, 232, 58964, -5506, -5506,
+ -5506, -5506, -5506, -5506, 88245, 18413, -5506, -5506, 3652, 3408,
+ 2195, -5506, -5506, 2661, -5506, -5506, 2567, 2567, 3410, -5506,
+ 3412, -5506, -5506, -5506, -5506, -5506, -5506, -5506, 3403, -5506,
+ -5506, -5506, 44087, 3709, 3413, 42605, 85805, 3415, 2568, -5506,
+ 85805, 86293, 85805, -5506, 3426, -5506, -5506, -35, 34551, 3718,
+ -5506, -5506, -5506, 34551, -5506, -5506, 1141, 3434, 704, 113,
+ 2443, 2443, 2499, 713, -5506, -5506, 3460, -5506, 34551, 2696,
+ -5506, 2700, -5506, -5506, -5506, -5506, 2836, -5506, 3672, -5506,
+ -5506, -5506, 43099, 3458, 3471, 36, 47051, 3634, -5506, 88245,
+ 43099, -5506, 88245, 360, -5506, 3427, -5506, -5506, -5506, -5506,
+ -5506, -5506,110205, 1988, -5506,113997, -5506,113997, -5506, 1988,
+ 3879, -5506,110205, 1908, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, 65309, 65309, 3649,
+ 88245, 3642, 3650, 34551, 999, 88245, 3428, 3435, 1655, 3740,
+ 3436, -5506, 3792, 905, -5506, -5506, 3523, -5506, 18413, -5506,
+ -5506, -5506, -5506, -5506, 65309, 88245, -5506, 68237, -5506, -5506,
+ 112575, -5506, -5506, 88245, 88245, -5506, -5506, -5506,112575, -5506,
+ -5506, -5506, 88245, 926, 3525, 3526, 88245, -5506, 165, 3217,
+ 12075, 88245, 88245, 88245, 3744, -5506, -5506, -5506, -5506, 3666,
+ -5506, 3797, -5506,110205, -5506, 2713, 1212, 3538, 2957, 3676,
+ -5506, 3813, 3564, -5506, 3585, 1326, -5506, -5506, 3592, -5506,
+ -5506, -5506, -5506, 3822, 905, 3824, 905, 88245, 88245, 88245,
+ 88245, 3603, -5506, -5506, -5506, -5506, 3605, 3749, -5506, 60917,
+ 60917, 60917, 2204, -5506, -5506, 1082, -5506, -5506, -5506, -5506,
+ -5506, -5506, 3791, -5506, 2223, -5506, 1461, 88245, -5506, -5506,
+ -5506, -5506, -5506, 3834, 65309, 88245, 12357, 88245, 88245, 88245,
+ 3700, 1965, 1274,112575, -5506,111627, -5506, -5506, 2225, -5506,
+ 3493, 88245, 3572, 65309, 3550, -5506, -5506, -5506, 3845, 2201,
+ 3638, 76045, 3537, 3537, 2017, -5506, -5506, -5506, -5506, -5506,
+ 3771, 3697, -5506, 1017, 3701, 65309, 3570, -5506, -5506, -5506,
+ -5506, 3869, 3610, -5506, -5506, 3611, 1100, 2957, 3288, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, 3647, -5506,
+ -5506, -5506, -5506, 1670, 1670, -5506, -5506, -5506, 1670, 1376,
+ 504, 1221, 2957, -5506, 1821, 1057, 3619, -5506, 3620, -5506,
+ -5506, -5506, 3796, 3799, 3800, 3629, 3635, 3682, 3637, 3651,
+ 3686, -5506, 3653, 3691, 3655, 3693, 3656, 3939, 905,112575,
+ 3789, 1082, 3683, 3917, 905, -5506, 3659, -5506, 3660, -5506,
+ 2232, 4026, -5506, 88245, -5506, 476, 1223, 2957, -5506, 3661,
+ -5506, 65309, 88245, -5506, -5506, -5506, 34551, 3560, 3562, 3563,
+ 18413, 18413, 34551, -5506, -5506, 18413, 3569, -5506, -5506, -5506,
+ -5506,112575, -5506, 88245, 3858, -5506, -5506, 980, 88245, 88245,
+ -5506, -5506, -5506, 88245, -5506, -5506, -5506, 3863, -5506, 485,
+ 485, -5506, -5506, 3899, 7752, 3578, 377, -5506, 60917, 50018,
+ 2353, 171, 1838, -5506, 68237, 88245, 68237, -5506, 912, 3790,
+ 88245, 88245, 88245, 3586, 3574, -5506, -5506, -5506, -5506, 65309,
+ 971, 65309, 2661, -5506, -5506, 3664, -5506, 88245, 2201, 4101,
+ 3938, 3292, -5506, 4065, 3145, 1688, 1774, 227, 2759, 4002,
+ 2482, 34551, 374, -5506, -5506, -35, 88245, 3343, -5506, -5506,
+ -5506, -5506, 1082, -5506, 3601, 3602, -5506, 88245, 3950, 88245,
+ 88245, 88245, 88245, 3382, 3607, 88245, 3608,112575, 88245, 2302,
+ 2956, 4085, 3970, 1936, 3351, 3698, 3972, 79949, 3624, 2252,
+ -5506, -5506, 908, -5506, 2254, 146, -5506, 1082, 68237,110679,
+ 3960, -5506, 543, 7448, -5506, -5506, 543, 943, 88245, -5506,
+ -5506, -5506, -5506, 3839, 2175, -5506, 3945, -5506, -5506, 1936,
+ -5506,112575, 3626, -5506, 2268, -5506, -5506, -5506, 314, 3690,
+ 905, 3692, 905, -5506, -5506, -5506, -5506, 88245, -5506, 88245,
+ 63845, -5506, -5506, 88245, -5506, 3978, -5506, -5506, 3762, 3773,
+ 3775, 3777, 3779, 88245, 3320, -5506, 3663, 88245, 88245, 65309,
+ 1689, -5506, -5506, 65309, 382, -5506, 959, -5506, 79949, 3772,
+ -5506, -5506, -5506, -5506, 4001, 4003, -5506, -5506, -5506, 285,
+ -5506, 75069, 448, -5506, 65309, 3935, 3936, 3937, 3940, 342,
+ 3942, 3943, 3946, 3947, 3949, -5506, -5506, -5506, 3665, 16420,
+ 34551, -5506, 4014,112575, -5506, 8143, -5506, -5506, -5506, 34551,
+ -5506, -5506, 3374, 3941, 3802, -5506, -5506, 3876, 3877, 34551,
+ 3802, 4114, 1059, 34551, 34551, -5506, -5506, 3880, 3883, 34551,
+ 2206, 2206, -5506, -5506, -5506, -5506, 2371, 34551, -5506, 34551,
+ -5506, -5506, 26022, 4161, 4161, 3667,112575, 40117, 40117, 40117,
+ 40117, 1822, 2802, 40117, 40117, 40117, 40117, 40117, 40117, 40117,
+ 40117, 40117, 40117, 546, -5506, 3872, 34551, 34551, 34045, -5506,
+ -5506,112575, 3671, 3396, 3679, 3680, 34551, -5506, -5506, -5506,
+ 2270, 41617, 3684, 60917, -5506, 34551, 10762, 2286, 3719, 16467,
+ -35, 8325, 1082, 34551, 1128, 1269, 34551, 2287, 34551, -5506,
+ -5506, -5506, -5506, 4015, -5506, -5506, -5506, -5506, -5506, -5506,
+ 3911, 2206, -5506, 3748, 3751, -5506, 34551, 3687, 4152, 40117,
+ 40117, 4365, -5506, 4549, 34551, 28980, -5506, 3470, -5506, 26534,
+ 3689, 34551,109717, -5506, -5506, 715, 715, 715, 715, -5506,
+ 88245, 88245, 88245, 3718, 3694, 3718, 183, 3696, -5506, -5506,
+ -5506, -5506, 1936, -5506, 3688, -5506, -5506, -5506, -5506, -5506,
+ 85805, 86293, 85805, 3699, 42111, 27029, 2568, 3702, 88245, -5506,
+ -5506, 3705, 43099, 3979, 3891, -5506, 43099, 3891, 1994, 3891,
+ 3983, 3794, 49521, -5506, -5506, 3710, -5506, 3912, -5506, 2011,
+ 18413, 4156, 4035, -5506, 3711, -5506, 3434, 1726, -5506, -5506,
+ -5506, 1107, -5506, 3803, -5506, -5506, -5506, 3415, 36069, 3868,
+ -5506, -5506, -5506, 3781, 2298, -5506, -5506, 4139, 3868, -5506,
+ 2275, -5506, 2305, 48533, 3458, 34551, -35, 2318, 1909, -5506,
+ -5506,110205, -5506, 3804, 2713, 2713, 1543, 3320, 4061, 1543,
+ 8764, -5506, -5506, 44581, 88245, 88245, -5506, 88245, 88245, 1586,
+ 88245, -5506, 88245, -5506, -5506, -5506, 4193, 3798, 3801, 4006,
+ -5506, 2609, -5506, -5506, 65309, 88245, -5506, -5506, -5506, 519,
+ 1236, 2957, -5506, 3815, -5506, -5506, 4032, 88245, -5506, 4188,
+ 3830, 88245, 4096, 88245, 86781, -5506, 4165, 1586, 3852, 4076,
+ 1687, 2956, 355, 3116, -5506, 102, -5506, -5506, 3818, -5506,
+ 88245, -5506, 88245, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ 3881, -5506, -5506, -5506, -5506, 61405, -5506, -5506, 88245, -5506,
+ 60917, 50018, 60917, -5506, 88245, -5506, 1478, 525, 1237, 2957,
+ -5506, 3829, -5506, 4103, 3836, 3837, 3889, 202, 1272, 3838,
+ 3840, 3894, 3755, 3756, 3757, -5506, 60917, 50525, 3922, 88245,
+ 2713, 3761, 3805, 88245, 3537, 87269, -5506, 3765, -5506, -5506,
+ 3537, 368, 1082, -5506, -5506, 1082, 2713, 1082, 88245, 88245,
+ 88245, 88245, 368, -5506, -5506, -5506, 4220, 3865, 88245, 88245,
+ 88245, 88245, -5506, 3827, -5506, -5506, -5506, 88245, 88245, 4117,
+ 214, 2191, 65309, 88245, 88245, 65309, 88245, 88245, 88245, 88245,
+ 88245, 88245, 88245, 3991, -5506, 4209, 4134, 2326, 4178, 3854,
+ 88245, -5506, 88245, 1082, -5506, 3217, 88245, 88245, 88245, 88245,
+ -5506, -5506, -5506, -5506, -5506, 3470, -5506, 3778, 4072, 980,
+ -5506, 4079, 4080, 4081, 980, -5506, -5506, 1838, -5506, 228,
+ 88245, -5506, 2540, 88245, -5506, -5506, -5506, 3711, 2355, 2400,
+ -5506, -5506, -5506, -5506, -5506, -5506, 3784, 88245, 88245, 40117,
+ -5506, 2142, 1730, 1337, -5506, 4073, 88245, 3019, -5506, -5506,
+ -5506, 223, 88245, -5506, -5506, -5506, -5506, 3793, -5506, 72,
+ 3607, -5506, 4098, 72141, 2713, 65309, 65309, 2713, -5506,112575,
+ 3795, 3343, -5506, 262, 3878, -5506, 65309, 1688,109229, 3139,
+ 3833, 4017, 8918, 43099, 43593, 1670, -5506, 3817, 3812, -5506,
+ -5506, 88245, 3790, 63845, 2323, 3288, 4271, 99, 2086, -5506,
+ 73605, 3997, 3607, 4098, -5506, 2956, 4023, 4022, -5506, 1936,
+ 88245, 3382, 3343, 1082, 88245, 3256, 50018, -5506, 4315, 2193,
+ -5506,110205, 34551, 34551, -5506, 3816, -5506, 3806, 7448, -5506,
+ 3895, 3820, 4290, 34551, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, 3908, 3823, 88245, 88245, 908, 88245, -5506, 3826,
+ 3658, -5506, 3658, -5506, 88245, -5506, 88245, -5506, 905, -5506,
+ 3956, 905, 88245, 88245, 88245, 88245, 88245, 88245, 3320, 342,
+ 3344, -5506, -5506, 4162, 64333, 4160, -5506, 60917, -5506, -5506,
+ -5506, -5506, -5506, 2324, 88245, -5506, -5506, -5506, 4231, 4170,
+ 905, 168, 1027, 1027, 1027, 1027, 4125, 1027, 1027, 1027,
+ 1027, 1027, -5506, 34551, 18413, -5506, 3835, -5506, 18413, -5506,
+ 4204, 3844, 4063, 4066, -5506, 3846, 34551, 3802, -5506, -5506,
+ 4069, 4074, -5506, 3802, 3802, 3848, 9131, 16697, -5506, 2325,
+ 34551, -5506, 688, 688, 688, 4402, 4189, -5506, 2886, 688,
+ 688, 688, 434, 434, 251, 251, 251, 4161, 546, 17233,
+ 17491, 17628, 3850, -5506, -5506, -5506, 3396, -5506, 36575, 1021,
+ 4306, 41123, -5506, -5506, -5506, 3900, 3902, 3853, -5506, 34551,
+ 37081, 3856,114471, 4064, -5506, 1532, 34551, 34551, 3480, -5506,
+ 9318, 34551, -5506, -5506, 4143, 4145, 3480, 542, 34551, 1934,
+ 4263, 34551, 34551, 4823, 9667, 3866, -5506, 2330, 34551, 9832,
+ 4067, -5506, 88245, 88245, 88245, 88245, -5506, -5506, -5506, 4035,
+ 1082, 4035, 1082, 3867, -5506, -5506, -5506, -5506, 61893, 3864,
+ 3571, 85805, 3871, 88245, 2568, 43099, -5506, -5506, 2495, -5506,
+ 43099, 4155, -5506, 43099, 68725, -5506, 88245, 3873, 88245, -5506,
+ 1624, 34551, 3916, 53567, -5506, -5506, -5506, -5506, 3963, -5506,
+ 4099, 18413, 31515, -5506, 1936, 1920, 88245, -35, 671, -5506,
+ 34551, 3887, 88245, -5506, 3868, 18413, -5506, 3954, 2334, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, 3965, 74093, 4219, -5506,
+ 34551, 2335, -5506, 3926, 4319, 173, 2340, 2341, 1586, -5506,
+ 2346, -5506, 1779, 4194, 451, -5506, 905, -5506,112575, 88245,
+ 88245, 88245, 2894, -5506, -5506, 88245, 88245, 88245, 88245, -5506,
+ -5506, 65309, 88245, -5506, 88245, -5506, -5506, -5506, 87757, -5506,
+ 3790, 368, 2142, 4206, 4208, 4116, -5506, 342, -5506, 2142,
+ 4118, 368, -5506, -5506, -5506, -5506, 2955, -5506,112575, 905,
+ 905, -5506, -5506, -5506, -5506, -5506, 3901, -5506, 4343, 3987,
+ 88245, 88245, 88245, 88245, 88245, 65309, 88245, 88245, 2661, 2661,
+ 112575, 3892, -5506, 2661, 2661, 3896, -5506, 65309, 88245, 88245,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, 3981, -5506, 34551, 4339, -5506, -5506, -5506, -5506, -5506,
+ 34551, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, 65309, 88245, 3989, -5506, 3995, -5506, 910, -5506, -5506,
+ 88245, 88245, 88245, 88245, 4260, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, 4261, 88245, -5506, -5506,
+ 1082, 1082,112575, 905, 905, -5506, -5506, -5506, 3996, -5506,
+ -5506, 3913, 4207, 980, -5506, 980, 980, 980, -5506, 3918,
+ -5506, 1838, 4299, -5506, 1586, 280, 4253, -5506, 34551, -5506,
+ 1735, 4402, -5506, 4311, 4394, -5506, -5506, -5506, -5506, 3292,
+ 2201, 3292, -5506, -5506, 68725, 1553, -5506, 4236, 231, 60917,
+ 4146, 72141, 1821, 1980, 3925, 4053, -5506, 2713, 2713, 3988,
+ 88245, 4403, -5506, -5506, -5506, -5506, -5506, -5506, 65309, 3550,
+ -5506, 4166, 871, 4270, 88245, 43593, -5506, 3415, -5506, -5506,
+ -5506, 1082, -5506, -5506, 4060, 3343, -5506, 1338, 88245, 4163,
+ 72141, 3382, 2347, -5506, -5506, -5506, 3975, 4391, 3351, -5506,
+ 1821, 3997, -5506, -5506, 4368, 4036, 3986, 4419, -5506, 4036,
+ 4287, 4167, 3951, -5506, 3624, -5506, 88245, -5506, 18413, 18413,
+ 1082,114945, 543,112575, 4297, -5506, 18413, 88245, 823, 3952,
+ 4121, -5506, 4264, 905, 2348, -5506, 905, 905, -5506, 88245,
+ -5506, 3320, 3320, 3320, 3320, 3320, -5506, 4173, -5506, -5506,
+ -5506, -5506, 4249, -5506, 64333, -5506, 905, -5506, -5506, -5506,
+ -5506, -5506, -5506, 1027, -5506, -5506, -5506, -5506, -5506, 18413,
+ -5506, 88245, -5506, -5506, -5506, -5506, -5506, 3169, 3959, -5506,
+ -5506, 3962, 3967, -5506, -5506, 34551, -5506, 11264, 40117, 4301,
+ -5506, 34551, 34551, 34551, -5506, 3973, 2354, 2358, -5506, -5506,
+ 1021, -5506, 4306, -5506, -5506, -5506, 11344, 4029, 18413, 4091,
+ 3976, 1539, 3480, 3480, 9318, -5506, -5506, 3480, 34551, 34551,
+ 3480, 3480, 34551, -5506, -5506, -5506, 11680, -5506, 4432, 3470,
+ -5506, -5506, -5506, -5506, 3916, -5506, 3916, -5506, 4119, -5506,
+ 2360, 4454, 39105, 4412, -5506, 88245, 2364, -5506, 34551, 3982,
+ -5506, -5506, 43099, 2495, 3984, 2366, 88245, 2373,112575, 37587,
+ 18413, 88245, 3470, 3985, -5506, 88245, 2835, -5506, 36, -5506,
+ -5506, 4405, 44581, 4363, 18160, 34551, -5506, -5506, -5506, -5506,
+ 64333, 4205, 64333, 1586, 11820, 4303, 44581, 54581, 88245, -5506,
+ 88245, -5506, 4159, 4303, 4303, -5506, -5506, -5506, -5506, -5506,
+ -5506, 3990, -5506, -5506, -5506, -5506, 4078, -5506, -5506, 636,
+ 3361, -5506, -5506, -5506, -5506, -5506, 4468, 4353, 4354, -5506,
+ -5506, -5506, -5506, -5506, 4209, -5506, -5506, 50018, 65309, 88245,
+ -5506, 4082, -5506, -5506, -5506, -5506, -5506, -5506, 46557, 53567,
+ -5506, 202, 3998, 4005, 1272, -5506, -5506, -5506, 88245, 12121,
+ 4007, 12221, 694, 3361, 88245, 88245, 4010, 4011, 4013, 1848,
+ 1471, 1894, 3320, 4360, 88245, -5506, -5506, -5506, 4209, -5506,
+ -5506, 88245, -5506, 980, -5506, -5506, -5506, -5506, 60917, -5506,
+ 2636, 3918, 1082, 68725, 4491, 4491, 12252, 4245, -5506, -5506,
+ 297, 4083, 4277, 4083, 4019, 88245, 223, 4020, 2377, -5506,
+ 88245, 4021, 4154, 1424, 1424, 88245, 88245, 88245, 2381, 1936,
+ 2713, 3805, 1688, 4383, 72141, 4426, 3790, 375, -5506, 88245,
+ 4501, 88245, 3382, 3607, 88245, 4030, -5506, -5506, 73605, 4241,
+ 2353, 88245, 2302, 3997, 3351, 938, 88245, -5506, 1658, -5506,
+ 1936, -5506, 88245, 79949, 44581, 4369, -5506,113997, -5506, 2383,
+ -5506, -5506, -5506, 4108, 19882, 3216, 4150, 4151, 4034, 2100,
+ 4382, 88245, 922, -5506, -5506, -5506, -5506, -5506, -5506, 88245,
+ 448, -5506, -5506, -5506, -5506, -5506, -5506, 18310, -5506, 5121,
+ 40117, 18413, 18413, 18413, 34551, -5506, 34551, -5506, -5506, -5506,
+ -5506, 97, -5506, -5506, 4349, 4039, 3480, 3480, 3480, -5506,
+ 34551, 1342, -5506, -5506, 1731, 4443, 3426, 61893, 4042, -5506,
+ 40117, 2387, -5506, 2572, 88245, 2388, -5506, 18413, 88245, -5506,
+ -5506, 34551, -5506, 2394, -5506, 4043, 660, 4044, 24998, 4047,
+ -5506, -5506, -5506, -5506, -5506, 18413, 4050, -5506, 4523, 1239,
+ -5506, -5506, 4113, 88245, 2398, -5506, 726, 1901, 4104, -5506,
+ 18413, 1689, 1543, 361, 4319, 4059, 3292, -5506, 4062, -5506,
+ -5506, 381, 2956, 88245, 3292, 3292, -5506, 88245, 4158, -5506,
+ 2353, 4386, -5506, -5506, 4122, -5506, 1054, 3361, 88245,112575,
+ -5506, 141, 4406, -5506,112575,112575, -5506, -5506, -5506, 34551,
+ -5506, 4164, -5506, -5506, -5506, 34551, 34551, 71165, -5506, -5506,
+ 88245, 88245, 88245, 88245, 88245, -5506, 905, -5506, -5506, 2406,
+ -5506, 45569, -5506, -5506, 3132, 1082, 3132, 1697, -5506, -5506,
+ 3132, 3132, -5506, 3216, -5506, 4491, 974, -5506, -5506, 4302,
+ 4068, 34551, 4376, -5506, 216, 4285, -5506, 4070, -5506, 68725,
+ 4577, -5506, 60917, 3607, 4098, 88245, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -5506, -5506, 2408, 3790,
+ 4424, 3343, 3986, -5506, 88245, 4115, -5506, 43099, 3790, 1936,
+ 2086, -5506, 3997, 3607, 4098, -5506, -5506, 4075, 4022, 3351,
+ 2302, 4222, -5506, 4223, -5506, 4515, 4294, 4521, 3382, -5506,
+ 3256, 2414, 88245, -5506, -5506, 7448,114945,112575, -5506, -5506,
+ -5506, 4084, 4460, 4126, 4128, -5506, -5506, -5506, 2100, -5506,
+ 1389, 4459, 4136, -5506, 4148, 88245, -5506, -5506, 3790, 905,
+ 34551, 5121, 2420, 2421, 4149, -5506, -5506, -5506, 3396, 38093,
+ 38093, 38093, 4090, 4441, 4444, 88245, -5506, -5506, -5506, 88245,
+ 4402, 4094, 39105, 60917, 2425, -5506,112101, -5506, 2427, 2439,
+ -5506, 34551, 4100, 34551, -5506, 37587, 88245, 4105, 3212, 1936,
+ -5506, 3216, 44581, -5506, 4227, 4579, 4364, -5506, -5506, 4446,
+ -5506, -5506, 88245, 4083, 53567, 3434, 381, 2201, 4083, 4083,
+ -5506, 88245, 4068, 34551, -5506, 4211, -5506, -5506, 2444, 1511,
+ 4281, 4281, 2445, 2446, 12496, 88245, 2451, 2452, -5506, 2459,
+ 2661, 3321, 1894, 3321, -5506, 3320, -5506, -5506, 60917, -5506,
+ 64821, -5506, -5506, -5506, 1082, -5506, 1082, 4340, 88245, 56047,
+ 1082, 1082, -5506, -5506, -5506, -5506, 4421, -5506, 3288, -5506,
+ 12599, 4212, -5506, -5506, -5506, 501, -5506, 4336, 4337, -5506,
+ 4120, -5506, 2460, -5506, 1821, 4252, 3790, -5506, -5506, 88245,
+ 4597, 4599, -5506, 936, 88245, 3415, -5506, 3986, 3382, 3351,
+ 1821, 3997, 2353, 45075, 4036, 2302, 4022, -5506, -5506, 4341,
+ -5506, 4342, -5506, 4129, 4442, -5506, 2007, 543, -5506, -5506,
+ -5506, 363, 4467, 4469, -5506, -5506, -5506, 3132, -5506, 1705,
+ 4133, 4494, -5506, -5506, -5506, -5506, 18413, -5506, -5506, -5506,
+ 39611, 4282, 924, 14524, 4498, -5506, 4498, 4498, -5506, 4591,
+ 4592, 1144, 2461, 41123, -5506, -5506, -5506, 88245, 4351, 1060,
+ 4616, 4314, 2466, 37587, 2470, -5506, -5506, -5506, -5506, -5506,
+ -5506, -5506, 48533, 34551, 4244, 4579, 64333, 2471, 3537, 4169,
+ -5506, 3434, 4277, -5506, -5506, 3361, -5506, 18413, 88245, 68725,
+ 4609, -5506, -5506, -5506, -5506, -5506, -5506, -5506, 3361, 4242,
+ -5506, -5506, 71165, -5506, 88245, -5506, -5506, 2475, -5506, -5506,
+ -5506, 88245, 3952, -5506, 3952, -5506, -5506, -5506, 1563, 4267,
+ 88245, 1029, 1029, 4550, -5506, 4224, -5506, 4174, -5506, 4670,
+ 4295, 88245, -5506, -5506, 202, 1936, 72141, 3790, -5506, -5506,
+ 2302, 3997, 3351, 34551, 2480, -5506, 4319, 173, -5506, 4022,
+ 4036, -5506, -5506, 44581, 4168, 3019, 4538, -5506, -5506, -5506,
+ 1855, 68725, 68725, 88245, -5506, -5506, -5506, 34551, 223, 4644,
+ -5506, -5506, -5506, -5506, -5506, 217, -5506, -5506, -5506, 88245,
+ 88245, 88245, -5506, 3571, -5506, -5506, 40117, 40117, 4395, -5506,
+ 1060, -5506, 88245, -5506, 4171, -5506, -5506, 2486, -5506, 618,
+ 18413, 858, 4266, 361, -5506, -5506, -5506, -5506, 4285, 1586,
+ 1586, -5506, 3361, -5506, 88245, -5506, 4177, -5506, -5506, -5506,
+ 64821, 3952, -5506, -5506, -5506, -5506, 4663, -5506, 1097, -5506,
+ -5506, -5506, -5506, 88245, 3790, 3892, 3986, -5506, 4022, 3351,
+ 2302, 12656, -5506, 45075, 88245, 88245, 4036, -5506, 2487, 44581,
+ 3343, 4324, -5506, 2237, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, 920, 4176, 4180, -5506, -5506, 12850, 68725, 38599, 4327,
+ -5506, 4392, -5506, 1266, 1348, 1948, 4619, 4402, 4402, -5506,
+ -5506, -5506, 34551, -5506, -5506, -5506, 4420, 4317, -5506, -5506,
+ 1698, -5506, 1586, -5506, -5506, -5506, 34551, -5506, -5506, 2201,
+ 2201, 3790, -5506, -5506, 4036, 2302, 4022, 4319, -5506, -5506,
+ -5506, -5506, 4442, -5506, 2488, 4036, 4136, 2517, -5506, -5506,
+ 2522, 2579, 4276, 4531, -5506, 4195, -5506, -5506, -5506, 88245,
+ 88245, 62381, 88245, 88245, 13433, -5506, 48533, 4425, 162, -5506,
+ 1586, 2492, -5506, -5506, -5506, -5506, 4022, 4036, 88245, 3019,
+ -5506, 44581, 3216, 4554, -5506, 2237, 4313, 4320, 60429, -5506,
+ -5506, 311, 4594, -5506, 2494, -5506, 4198, -5506, 4254, 36,
+ 4197, 88245, -5506, -5506, 4036, -5506, -5506, 3343, -5506, -5506,
+ 223, -5506, 4247, 4250, -5506, 2500, -5506, -5506, -5506, -5506,
+ 34551, 62381, -5506, -5506, 4269, 34551, 2502, -5506, 4036, 68725,
+ 4546, 4547, -5506, 60429, 838, 4279, 4274, 2504, 1052, 3216,
+ 4225, 68725, 68725, -5506, 4229, 88245, -5506, -5506, 36, -5506,
+ -5506, 60429, -5506, -5506, 1082, -5506, 4280, 2513, 4274, -5506,
+ -5506
+};
+
+ /* 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_int16 yydefact[] =
+{
+ 1700, 1444, 652, 1532, 1531, 1444, 0, 269, 0, 1543,
+ 0, 1444, 430, 1102, 0, 0, 0, 0, 652, 1444,
+ 0, 1700, 0, 0, 0, 0, 0, 1713, 0, 0,
+ 0, 0, 0, 1242, 0, 0, 0, 1444, 0, 0,
+ 1720, 0, 0, 0, 0, 1713, 0, 1545, 0, 0,
+ 0, 0, 1720, 0, 0, 0, 0, 0, 2, 9,
+ 10, 45, 80, 81, 38, 37, 98, 63, 24, 71,
+ 133, 132, 134, 50, 46, 88, 33, 35, 47, 51,
+ 73, 75, 40, 53, 64, 110, 72, 31, 70, 76,
+ 96, 58, 19, 20, 59, 21, 60, 22, 61, 106,
+ 82, 99, 43, 69, 30, 52, 78, 79, 12, 54,
+ 86, 18, 65, 66, 68, 91, 92, 93, 116, 94,
+ 128, 49, 125, 103, 104, 122, 105, 123, 16, 107,
+ 62, 23, 119, 118, 120, 89, 55, 90, 77, 97,
+ 117, 34, 121, 25, 26, 28, 29, 27, 67, 36,
+ 74, 39, 95, 124, 114, 109, 129, 127, 11, 135,
+ 111, 83, 14, 15, 100, 13, 32, 57, 17, 42,
+ 41, 56, 48, 131, 44, 1543, 102, 115, 101, 84,
+ 108, 87, 112, 130, 113, 85, 126, 1664, 1663, 1724,
+ 1667, 1699, 0, 1679, 1443, 1442, 1457, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 651, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1454, 2364, 2381, 2382, 2383, 2384, 2385,
+ 2386, 2387, 2388, 2389, 2390, 2391, 2392, 2393, 2394, 2395,
+ 2397, 2396, 2398, 2399, 2751, 2400, 2401, 2402, 2696, 2697,
+ 2752, 2698, 2699, 2403, 2404, 2405, 2406, 2407, 2408, 2409,
+ 2410, 2411, 2700, 2701, 2412, 2413, 2414, 2415, 2416, 2702,
+ 2753, 2417, 2418, 2419, 2420, 2421, 2422, 2754, 2423, 2424,
+ 2425, 2426, 2427, 2428, 2429, 2430, 2431, 2755, 2432, 2433,
+ 2434, 2756, 2435, 2436, 2437, 2438, 2439, 2440, 2703, 2704,
+ 2441, 2442, 2443, 2444, 2445, 2446, 2447, 2448, 2449, 2450,
+ 2451, 2452, 2453, 2454, 2455, 2456, 2457, 2458, 2459, 2460,
+ 2461, 2462, 2463, 2464, 2465, 2466, 2467, 2468, 2705, 2469,
+ 2470, 2471, 2472, 2706, 2473, 2474, 2475, 2476, 2707, 2477,
+ 2478, 2479, 2480, 2757, 2758, 2481, 2482, 2483, 2484, 2485,
+ 2708, 2709, 2486, 2487, 2488, 2489, 2490, 2491, 2492, 2759,
+ 2493, 2494, 2495, 2496, 2497, 2498, 2499, 2500, 2501, 2502,
+ 2503, 2504, 2505, 2760, 2710, 2506, 2507, 2508, 2509, 2711,
+ 2712, 2713, 2510, 2761, 2762, 2511, 2763, 2512, 2714, 2715,
+ 2716, 2717, 2513, 2514, 2515, 2516, 2517, 2518, 2519, 2718,
+ 2764, 2520, 2765, 2521, 2522, 2523, 2524, 2525, 2526, 2527,
+ 2528, 2529, 2530, 2531, 2532, 2533, 2534, 2535, 2536, 2537,
+ 2538, 2539, 2540, 2541, 2719, 2766, 2720, 2542, 2543, 2544,
+ 2545, 2546, 2547, 2548, 2721, 2722, 2549, 2550, 2551, 2767,
+ 2552, 2723, 2553, 2724, 2554, 2555, 2556, 2557, 2558, 2559,
+ 2560, 2561, 2562, 2563, 2725, 2768, 2564, 2769, 2726, 2565,
+ 2566, 2567, 2568, 2569, 2570, 2571, 2572, 2573, 2574, 2575,
+ 2576, 2727, 2577, 2728, 2580, 2578, 2579, 2581, 2582, 2583,
+ 2584, 2585, 2586, 2587, 2588, 2589, 2590, 2729, 2591, 2592,
+ 2593, 2594, 2595, 2596, 2597, 2598, 2599, 2600, 2601, 2602,
+ 2603, 2604, 2605, 2606, 2607, 2608, 2609, 2770, 2610, 2611,
+ 2612, 2613, 2614, 2730, 2615, 2616, 2617, 2618, 2619, 2620,
+ 2621, 2622, 2623, 2624, 2625, 2626, 2627, 2628, 2629, 2630,
+ 2631, 2731, 2632, 2633, 2771, 2634, 2635, 2732, 2636, 2637,
+ 2638, 2639, 2640, 2641, 2642, 2643, 2644, 2645, 2646, 2647,
+ 2648, 2649, 2733, 2650, 2651, 2652, 2653, 2772, 2654, 2655,
+ 2656, 2657, 2658, 2659, 2734, 2735, 2660, 2661, 2736, 2662,
+ 2737, 2663, 2664, 2665, 2666, 2667, 2668, 2669, 2670, 2671,
+ 2672, 2673, 2674, 2675, 2676, 2677, 2678, 2679, 2680, 2738,
+ 2739, 2681, 2773, 2682, 2683, 2684, 2685, 2686, 2687, 2688,
+ 2689, 2690, 2691, 2692, 2740, 2741, 2742, 2743, 2744, 2745,
+ 2746, 2747, 2748, 2749, 2750, 2693, 2694, 2695, 146, 0,
+ 0, 2331, 2365, 2366, 2369, 2364, 402, 401, 1653, 2328,
+ 2365, 1542, 0, 1521, 652, 0, 1457, 429, 1700, 0,
+ 0, 0, 0, 0, 0, 868, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 138, 0,
+ 140, 0, 0, 453, 452, 0, 0, 1074, 458, 0,
+ 0, 0, 0, 0, 642, 1584, 2578, 1582, 1654, 270,
+ 273, 274, 271, 272, 2347, 0, 1214, 1215, 1217, 0,
+ 0, 1227, 908, 909, 0, 0, 0, 922, 0, 0,
+ 0, 906, 0, 0, 0, 928, 0, 925, 0, 0,
+ 929, 926, 903, 927, 910, 0, 902, 0, 0, 1227,
+ 930, 0, 0, 904, 0, 0, 0, 0, 1457, 1581,
+ 459, 1700, 0, 1565, 1566, 1567, 1543, 1555, 1568, 1560,
+ 1562, 1561, 1563, 1564, 1559, 2346, 2383, 998, 998, 998,
+ 998, 995, 996, 998, 998, 998, 2598, 0, 0, 977,
+ 0, 979, 2348, 998, 1003, 2391, 534, 534, 534, 0,
+ 1002, 1007, 534, 0, 1425, 1466, 2330, 1712, 0, 978,
+ 1424, 2660, 1571, 0, 0, 0, 0, 2617, 1434, 254,
+ 2629, 2734, 2660, 253, 248, 249, 222, 0, 0, 1002,
+ 534, 0, 1457, 1432, 974, 1719, 1717, 0, 2315, 2410,
+ 2426, 2523, 245, 2610, 2619, 2629, 2734, 2660, 2692, 201,
+ 211, 206, 0, 263, 2629, 2734, 2660, 259, 1454, 0,
+ 1680, 1828, 1827, 2324, 0, 1427, 1426, 1544, 0, 1547,
+ 0, 2593, 1684, 1687, 1549, 1685, 2367, 1903, 1932, 1910,
+ 1932, 1932, 1899, 1899, 2456, 1912, 1900, 1901, 1937, 0,
+ 1932, 1899, 1904, 0, 1902, 1940, 1940, 1927, 3, 1884,
+ 1885, 1886, 1887, 1913, 1914, 1888, 1919, 1920, 1924, 1889,
+ 1954, 1899, 2368, 1721, 1722, 2315, 4, 2361, 5, 2277,
+ 2360, 6, 7, 1676, 0, 0, 1, 1700, 0, 1554,
+ 1716, 1716, 0, 1716, 0, 1668, 1676, 1671, 1675, 0,
+ 0, 0, 0, 0, 0, 1428, 0, 0, 0, 933,
+ 0, 1469, 1059, 0, 0, 0, 0, 0, 1311, 0,
+ 1111, 1110, 2370, 2353, 2354, 2355, 0, 2351, 2352, 2371,
+ 2372, 2373, 0, 2492, 1311, 0, 0, 2193, 2204, 2205,
+ 2206, 2414, 2473, 2201, 2202, 2203, 2195, 2196, 2197, 2198,
+ 2199, 2200, 0, 0, 1209, 2194, 0, 2492, 0, 1311,
+ 0, 173, 0, 150, 1311, 0, 0, 2492, 0, 0,
+ 2492, 0, 0, 0, 0, 0, 2492, 0, 0, 0,
+ 0, 0, 173, 2528, 0, 150, 2492, 0, 0, 1448,
+ 0, 0, 0, 1450, 1453, 1440, 0, 2274, 0, 2275,
+ 2332, 1536, 0, 1535, 1529, 1539, 1534, 1524, 0, 2324,
+ 0, 0, 0, 0, 916, 0, 0, 906, 0, 0,
+ 0, 917, 0, 918, 919, 0, 0, 0, 0, 915,
+ 0, 1438, 1430, 0, 1573, 1575, 1574, 1576, 1572, 534,
+ 0, 0, 0, 2492, 0, 150, 1508, 0, 2492, 150,
+ 0, 0, 457, 456, 150, 2351, 455, 454, 2414, 2473,
+ 0, 1101, 0, 1184, 150, 2492, 0, 194, 2492, 711,
+ 2492, 1549, 139, 0, 655, 0, 823, 2528, 150, 0,
+ 0, 0, 0, 0, 0, 142, 0, 0, 0, 0,
+ 0, 0, 0, 641, 652, 1585, 1583, 0, 1218, 247,
+ 246, 1216, 920, 2492, 1143, 145, 0, 0, 2492, 1489,
+ 2492, 145, 937, 921, 0, 907, 2492, 145, 1107, 2492,
+ 2356, 183, 0, 905, 2414, 2473, 2492, 145, 1211, 0,
+ 2492, 145, 2492, 179, 2492, 145, 2492, 145, 2492, 656,
+ 0, 0, 2492, 145, 2492, 2528, 181, 924, 2492, 145,
+ 931, 2492, 145, 2326, 2492, 0, 1441, 0, 1577, 0,
+ 1557, 2738, 0, 1700, 998, 997, 0, 998, 0, 998,
+ 0, 998, 0, 998, 0, 0, 0, 998, 2349, 2350,
+ 980, 0, 1004, 0, 1012, 0, 1011, 1010, 1009, 0,
+ 0, 0, 1013, 0, 1832, 1612, 0, 1422, 1437, 0,
+ 0, 0, 142, 0, 1240, 1237, 142, 1239, 1238, 142,
+ 142, 1433, 252, 250, 0, 0, 0, 0, 0, 0,
+ 1439, 0, 1431, 0, 0, 0, 2334, 2336, 2337, 2207,
+ 2277, 0, 2697, 2698, 2699, 2266, 0, 2700, 2701, 2702,
+ 2753, 2088, 2074, 2083, 2089, 2075, 2077, 2084, 2703, 2704,
+ 2023, 2705, 2706, 2344, 2707, 2708, 2709, 2711, 2712, 2713,
+ 2714, 2715, 2716, 2717, 2718, 2079, 2081, 2719, 2720, 2722,
+ 0, 2345, 2723, 2724, 2559, 2726, 2727, 2729, 2730, 2085,
+ 2732, 2733, 2086, 2734, 2735, 2736, 2737, 2343, 501, 2087,
+ 2739, 2741, 2742, 2743, 2744, 2746, 2747, 2748, 2749, 0,
+ 0, 0, 2321, 0, 2052, 0, 1892, 1893, 1915, 1916,
+ 1894, 1921, 1922, 1895, 0, 2320, 1957, 2152, 2051, 2069,
+ 0, 2057, 2058, 0, 2050, 2046, 2154, 1702, 2316, 0,
+ 2047, 2333, 2335, 2267, 1702, 2314, 214, 265, 0, 266,
+ 2322, 2629, 202, 244, 216, 243, 217, 215, 0, 2412,
+ 203, 0, 0, 204, 0, 0, 0, 0, 262, 260,
+ 0, 1429, 0, 1830, 1829, 2325, 942, 0, 1546, 1543,
+ 2217, 0, 1686, 0, 0, 0, 1931, 1918, 1926, 1925,
+ 0, 1908, 1907, 1906, 0, 1905, 1932, 1932, 1930, 1909,
+ 1884, 0, 0, 0, 1936, 0, 1934, 1880, 1876, 0,
+ 1943, 1944, 1945, 1942, 1955, 1941, 0, 1890, 1946, 0,
+ 1899, 1896, 1787, 0, 1666, 1665, 8, 0, 1551, 1553,
+ 1527, 1549, 1714, 1715, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1774, 1732, 1733, 1735, 1771, 1775, 1783, 0,
+ 1672, 0, 0, 0, 1834, 0, 0, 1455, 0, 0,
+ 0, 0, 0, 1142, 0, 0, 0, 0, 934, 0,
+ 0, 0, 1475, 0, 1477, 1478, 1479, 0, 0, 0,
+ 1480, 1481, 1469, 256, 1488, 1485, 1468, 1470, 1483, 0,
+ 0, 0, 0, 0, 0, 0, 1500, 0, 187, 188,
+ 0, 668, 652, 0, 2492, 0, 0, 0, 0, 1152,
+ 1159, 1310, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1153, 1151, 0, 1154, 258, 1164, 1191, 1194, 0, 0,
+ 1109, 1112, 0, 0, 0, 0, 0, 1301, 0, 0,
+ 0, 1301, 0, 0, 0, 1310, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 281, 283, 296, 361, 0,
+ 633, 0, 0, 0, 636, 0, 2492, 1311, 0, 0,
+ 0, 1213, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1194, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 148, 149, 154, 0, 0, 0, 0, 1194, 0, 0,
+ 0, 0, 0, 0, 0, 619, 632, 0, 0, 0,
+ 0, 0, 629, 0, 0, 150, 286, 609, 615, 0,
+ 0, 0, 718, 717, 0, 0, 0, 0, 0, 0,
+ 1398, 0, 1397, 0, 0, 0, 0, 0, 1498, 1497,
+ 0, 0, 0, 0, 0, 0, 1301, 0, 275, 277,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 394, 395, 0, 0, 0,
+ 154, 0, 0, 1301, 0, 288, 0, 0, 1449, 1446,
+ 1447, 0, 1452, 0, 0, 0, 0, 2060, 0, 2221,
+ 1724, 2219, 1127, 2273, 0, 2374, 2774, 2775, 2776, 2777,
+ 2778, 2779, 2780, 2781, 2782, 2783, 2784, 2785, 2786, 2787,
+ 2788, 2789, 2790, 2791, 2792, 2793, 2794, 2795, 2796, 2797,
+ 2798, 2799, 2800, 2801, 2802, 2803, 2804, 2805, 2806, 2807,
+ 2808, 2809, 2810, 2811, 2812, 2813, 2814, 2815, 2816, 2817,
+ 2818, 2819, 2820, 2821, 2822, 2823, 2824, 2825, 2826, 2827,
+ 2828, 2829, 2830, 2831, 2832, 2833, 2834, 2835, 2836, 2837,
+ 2838, 2839, 2840, 2841, 2842, 2843, 2844, 2845, 2846, 2847,
+ 2848, 2849, 2850, 2851, 2270, 2269, 2329, 2375, 2376, 2377,
+ 2378, 2276, 0, 0, 233, 234, 232, 1537, 235, 1538,
+ 1533, 0, 1519, 0, 0, 0, 0, 0, 0, 0,
+ 0, 2414, 2473, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 831,
+ 1469, 1507, 0, 0, 0, 661, 0, 2492, 0, 152,
+ 869, 0, 821, 458, 0, 0, 0, 0, 1374, 152,
+ 0, 0, 190, 0, 0, 715, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 822, 0, 0, 152,
+ 0, 2492, 612, 2492, 0, 534, 534, 0, 0, 141,
+ 138, 0, 0, 0, 0, 0, 0, 0, 0, 1658,
+ 1657, 1660, 1659, 0, 1656, 0, 143, 144, 0, 1201,
+ 1226, 0, 0, 0, 0, 0, 898, 923, 0, 0,
+ 1195, 0, 0, 2492, 145, 2492, 0, 2492, 0, 0,
+ 0, 1203, 145, 0, 1197, 0, 0, 1199, 0, 1400,
+ 0, 914, 912, 911, 913, 0, 0, 896, 0, 0,
+ 0, 0, 0, 891, 0, 0, 893, 0, 0, 0,
+ 0, 1700, 1556, 0, 988, 0, 992, 0, 983, 0,
+ 989, 0, 984, 981, 982, 0, 987, 0, 0, 535,
+ 537, 0, 0, 2438, 2455, 0, 2481, 2516, 2517, 2569,
+ 2584, 2613, 2619, 2625, 0, 2654, 2665, 0, 1018, 1056,
+ 1008, 727, 0, 0, 1622, 1423, 2226, 0, 1700, 0,
+ 0, 1241, 0, 0, 138, 251, 223, 0, 0, 1056,
+ 0, 2617, 1436, 973, 652, 0, 2048, 0, 2055, 2056,
+ 2265, 0, 0, 0, 0, 0, 0, 2054, 0, 0,
+ 0, 2287, 0, 2287, 0, 0, 0, 0, 0, 1979,
+ 0, 0, 2225, 0, 0, 2225, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1980, 1961,
+ 1962, 2052, 2217, 0, 2053, 2340, 0, 1954, 2379, 2207,
+ 0, 2204, 2205, 2206, 2852, 2853, 2854, 2855, 2856, 2857,
+ 2858, 2859, 2860, 2861, 2862, 2863, 2864, 2865, 2866, 2867,
+ 2868, 0, 2869, 2870, 2871, 2872, 2873, 2875, 2874, 2876,
+ 2877, 2878, 2879, 2880, 2881, 2280, 2883, 2884, 2885, 2886,
+ 2887, 2888, 2889, 2890, 2891, 2892, 2893, 2894, 2895, 2896,
+ 2897, 2898, 2899, 2900, 2901, 2902, 2903, 2904, 2905, 2906,
+ 2907, 2908, 2909, 2910, 2911, 2912, 2913, 2914, 2915, 2916,
+ 2917, 2918, 2919, 2920, 2921, 2922, 2923, 2924, 2925, 2926,
+ 2927, 2928, 2929, 2930, 2931, 2932, 2933, 2934, 2935, 2936,
+ 2937, 2938, 2939, 2940, 2941, 2942, 2943, 2944, 2945, 2946,
+ 2947, 2948, 2949, 2950, 2951, 2952, 2953, 2954, 2955, 2956,
+ 2957, 2958, 2959, 2960, 2961, 2962, 2963, 2964, 2965, 2966,
+ 2967, 2968, 2969, 2970, 2971, 2972, 2973, 2974, 2975, 2976,
+ 2977, 2978, 2979, 2980, 2981, 2982, 2983, 2984, 2985, 2986,
+ 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, 2996,
+ 2997, 2998, 2999, 3000, 3001, 3002, 3003, 3004, 3005, 3006,
+ 3007, 3008, 3009, 3010, 3011, 3012, 3013, 3014, 3015, 3016,
+ 3017, 3018, 3019, 3020, 3021, 3022, 3023, 3024, 3025, 3026,
+ 3027, 3028, 3029, 3030, 3031, 3032, 3033, 3034, 3035, 3036,
+ 1994, 3037, 3038, 3039, 3040, 3041, 3042, 3043, 3044, 3045,
+ 3046, 3047, 3048, 3049, 3050, 3051, 3052, 3053, 3054, 3055,
+ 3056, 3057, 3058, 3059, 3060, 3061, 3062, 3063, 3064, 3065,
+ 3066, 3067, 3068, 3069, 3070, 3071, 3072, 3073, 3074, 3075,
+ 3076, 3077, 3078, 3079, 3080, 3081, 3082, 3083, 3084, 3085,
+ 3086, 3087, 3088, 3089, 3090, 3091, 3092, 3093, 1996, 3094,
+ 3095, 3096, 3097, 3098, 3099, 3100, 3101, 3102, 3103, 3104,
+ 3105, 3106, 3107, 3108, 3109, 3110, 3111, 3112, 3113, 3114,
+ 3115, 3116, 3117, 3118, 3119, 3120, 3121, 3122, 3123, 3124,
+ 3125, 3126, 3127, 3128, 3131, 3129, 3130, 3132, 3133, 3134,
+ 3135, 3136, 3137, 3138, 3139, 3140, 3141, 3142, 3143, 3144,
+ 3145, 3146, 3147, 3148, 3149, 3150, 3151, 3152, 3153, 3154,
+ 3155, 3156, 3157, 3158, 3159, 3160, 3161, 3162, 3163, 3164,
+ 3165, 3166, 3167, 3168, 3169, 3170, 3171, 3172, 3173, 3174,
+ 3175, 3176, 3177, 3178, 3179, 3180, 3181, 3182, 3183, 3184,
+ 3185, 3186, 3187, 3189, 3188, 3190, 3191, 3192, 3193, 3194,
+ 3195, 3196, 3197, 3198, 3199, 3200, 3201, 3202, 3203, 3204,
+ 3205, 3206, 3207, 3208, 3209, 3210, 3211, 3212, 3213, 3214,
+ 3215, 3216, 3217, 3218, 3219, 3220, 3221, 3222, 3223, 3224,
+ 3225, 3226, 3227, 3228, 3229, 3230, 3231, 3232, 3233, 3234,
+ 3235, 3236, 3237, 3238, 3239, 3240, 3241, 3242, 3243, 3244,
+ 3245, 3246, 3247, 3248, 3249, 3250, 3251, 3252, 3253, 3254,
+ 3255, 3256, 3257, 3258, 3259, 3260, 3261, 3262, 3263, 3264,
+ 3265, 3266, 3267, 3268, 3269, 3270, 3271, 3272, 3273, 3274,
+ 3275, 3276, 3277, 3278, 3279, 3280, 3281, 3282, 3283, 0,
+ 2201, 2202, 2203, 2195, 2196, 2197, 2198, 2199, 2200, 2211,
+ 0, 0, 2319, 2380, 0, 2154, 0, 1976, 0, 2162,
+ 0, 0, 1787, 0, 2338, 2268, 1787, 267, 268, 264,
+ 0, 0, 219, 218, 0, 237, 241, 242, 213, 240,
+ 0, 236, 221, 2138, 2137, 220, 212, 209, 207, 224,
+ 226, 227, 210, 208, 261, 0, 0, 0, 145, 1554,
+ 1541, 0, 0, 2280, 0, 2215, 0, 0, 2213, 0,
+ 0, 0, 1784, 0, 1688, 0, 1692, 0, 0, 0,
+ 1929, 1928, 1881, 1877, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 935, 0, 1897,
+ 0, 1850, 2362, 2363, 2278, 1720, 1554, 0, 1550, 1683,
+ 1682, 1725, 1726, 1093, 1681, 1754, 1755, 0, 0, 0,
+ 0, 1780, 1778, 1745, 1736, 1744, 0, 0, 1742, 0,
+ 1746, 1957, 1773, 1670, 1730, 1731, 1734, 1669, 0, 1776,
+ 0, 1625, 1774, 1735, 1609, 0, 1587, 0, 0, 1835,
+ 0, 0, 1456, 0, 0, 0, 1122, 1124, 0, 1123,
+ 0, 1126, 0, 1135, 0, 0, 1121, 1140, 0, 1129,
+ 1127, 0, 1496, 0, 0, 0, 0, 0, 1476, 0,
+ 0, 0, 2654, 255, 1479, 1484, 1471, 1482, 0, 0,
+ 0, 0, 0, 1058, 1057, 0, 0, 1077, 0, 0,
+ 501, 1503, 523, 0, 363, 0, 0, 0, 0, 0,
+ 0, 0, 0, 817, 814, 0, 0, 813, 0, 666,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 691, 0, 1301, 0, 294, 0, 1161, 0, 1160,
+ 0, 1165, 0, 0, 1162, 1157, 1158, 2619, 2629, 2660,
+ 257, 1163, 1193, 0, 1192, 1188, 0, 1104, 0, 1105,
+ 0, 0, 0, 0, 0, 2465, 2492, 302, 325, 0,
+ 1300, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 347, 0, 0, 350,
+ 349, 0, 0, 0, 0, 0, 355, 0, 333, 0,
+ 334, 0, 354, 0, 0, 0, 634, 635, 0, 0,
+ 0, 1301, 0, 290, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1210, 0, 744, 0, 0, 2619, 1189, 0,
+ 1383, 0, 2653, 1384, 1387, 534, 0, 534, 1389, 0,
+ 0, 1386, 1388, 0, 0, 176, 0, 171, 175, 0,
+ 0, 2619, 1190, 0, 0, 0, 0, 0, 617, 618,
+ 631, 0, 622, 623, 620, 624, 625, 0, 0, 0,
+ 0, 0, 0, 0, 616, 0, 0, 713, 712, 716,
+ 0, 0, 0, 0, 0, 0, 1392, 0, 0, 1184,
+ 0, 0, 1391, 1399, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1244, 1243, 0, 0, 0, 0,
+ 1311, 0, 859, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 178, 731, 0, 730, 0, 172, 177, 0,
+ 0, 0, 0, 0, 0, 0, 0, 231, 1445, 1451,
+ 1724, 1724, 1724, 2066, 0, 0, 0, 0, 1723, 2271,
+ 2274, 1524, 1530, 1523, 1522, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 408, 405, 406, 408, 0, 0, 0, 0,
+ 833, 0, 836, 839, 1467, 485, 0, 0, 658, 691,
+ 0, 0, 461, 185, 0, 0, 0, 0, 746, 0,
+ 1184, 1183, 147, 138, 194, 459, 0, 193, 195, 197,
+ 198, 199, 196, 200, 0, 710, 714, 0, 0, 0,
+ 0, 654, 0, 0, 0, 0, 0, 0, 0, 1855,
+ 0, 0, 170, 0, 0, 607, 611, 0, 0, 0,
+ 0, 461, 573, 374, 2492, 0, 534, 0, 2492, 0,
+ 137, 0, 820, 0, 0, 0, 1146, 1146, 0, 0,
+ 760, 759, 0, 0, 0, 0, 0, 0, 1655, 145,
+ 1144, 0, 1490, 0, 145, 938, 145, 1108, 184, 2357,
+ 0, 900, 0, 0, 0, 0, 145, 1212, 888, 145,
+ 180, 145, 145, 657, 0, 145, 182, 0, 0, 145,
+ 932, 145, 2327, 0, 145, 1580, 2492, 534, 1558, 985,
+ 994, 993, 991, 990, 986, 0, 1005, 0, 533, 0,
+ 0, 0, 0, 0, 1026, 1027, 0, 0, 1023, 1028,
+ 0, 1030, 1014, 1016, 1024, 1025, 1031, 1020, 1019, 1032,
+ 1033, 0, 0, 0, 1045, 725, 0, 0, 0, 0,
+ 1619, 0, 1617, 0, 1833, 1621, 1610, 1570, 0, 1569,
+ 0, 600, 1235, 1234, 1236, 0, 1002, 0, 145, 0,
+ 1435, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 2230, 0, 2231, 0, 0, 2264, 2260, 0,
+ 0, 0, 0, 0, 2234, 2237, 2238, 2239, 2236, 2240,
+ 2235, 0, 0, 2241, 0, 0, 0, 2052, 2283, 2283,
+ 2308, 0, 2307, 2313, 2221, 1957, 0, 0, 2304, 2298,
+ 0, 2304, 0, 0, 0, 0, 0, 0, 2221, 2224,
+ 0, 0, 2730, 0, 0, 0, 0, 2024, 0, 0,
+ 2188, 0, 2221, 0, 0, 0, 0, 0, 0, 0,
+ 2217, 2256, 0, 499, 0, 2014, 0, 0, 0, 2136,
+ 0, 2133, 0, 0, 0, 0, 2277, 0, 0, 2341,
+ 1958, 1972, 1973, 1974, 1977, 2318, 0, 2279, 0, 0,
+ 1959, 1985, 0, 2257, 2010, 0, 2015, 2000, 2288, 2242,
+ 2243, 2244, 2245, 2017, 0, 1993, 1998, 2002, 0, 2297,
+ 1981, 0, 1978, 0, 2280, 2216, 0, 2214, 0, 1969,
+ 1970, 1971, 1963, 1964, 1965, 1966, 1967, 1968, 1975, 2192,
+ 2190, 2191, 0, 0, 2162, 0, 0, 1997, 0, 0,
+ 2068, 2484, 2523, 0, 1713, 1713, 1713, 1701, 1711, 2317,
+ 1850, 1724, 1850, 2323, 0, 0, 1954, 0, 1831, 940,
+ 941, 939, 1526, 1540, 1554, 2218, 1548, 1690, 0, 0,
+ 0, 1898, 1911, 0, 1938, 1939, 1940, 1940, 0, 1882,
+ 0, 1923, 1948, 1949, 1950, 1951, 1952, 1953, 0, 1947,
+ 1891, 936, 0, 2615, 2750, 0, 1811, 1786, 1788, 1798,
+ 1811, 1818, 1811, 2070, 1848, 2071, 2072, 2324, 0, 1757,
+ 2359, 1528, 1552, 0, 1091, 1092, 0, 1096, 2730, 2615,
+ 0, 0, 0, 0, 1747, 1781, 0, 1772, 0, 2334,
+ 1748, 2333, 1749, 1752, 1753, 1743, 1782, 1623, 0, 1777,
+ 1674, 1673, 0, 1853, 0, 0, 0, 1601, 1589, 0,
+ 0, 1836, 0, 1787, 1627, 0, 2277, 1785, 1350, 1245,
+ 1312, 1125, 0, 1899, 1136, 0, 1120, 0, 1119, 1899,
+ 0, 1137, 0, 1899, 1351, 1246, 1313, 1352, 1247, 1314,
+ 1353, 1487, 1248, 1486, 1474, 1473, 1472, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 798, 2492, 145, 1501, 1354, 0, 1249, 362, 1502,
+ 1315, 1506, 816, 815, 0, 0, 1316, 0, 667, 672,
+ 0, 674, 675, 2414, 2473, 676, 679, 680, 0, 682,
+ 671, 670, 0, 0, 0, 0, 0, 688, 693, 0,
+ 0, 0, 0, 0, 0, 1155, 1156, 1355, 1252, 0,
+ 1317, 0, 1103, 0, 1253, 186, 0, 0, 282, 2492,
+ 304, 0, 483, 798, 0, 1303, 301, 331, 0, 346,
+ 341, 342, 340, 2492, 145, 2492, 145, 0, 0, 0,
+ 0, 0, 343, 338, 339, 335, 0, 0, 348, 2386,
+ 2457, 2630, 0, 699, 701, 0, 706, 351, 1273, 370,
+ 369, 368, 0, 356, 0, 375, 378, 0, 353, 332,
+ 330, 327, 297, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1205, 0, 1358, 1318, 0, 1340,
+ 0, 0, 0, 0, 738, 1361, 1259, 1321, 0, 534,
+ 0, 0, 549, 549, 534, 1372, 1260, 174, 1290, 163,
+ 0, 0, 159, 0, 0, 0, 0, 153, 1362, 1261,
+ 1322, 0, 0, 1363, 1262, 0, 0, 287, 610, 621,
+ 626, 1267, 630, 627, 1330, 628, 1370, 1263, 0, 1366,
+ 1293, 1325, 593, 1184, 1184, 1373, 1393, 1264, 1184, 0,
+ 1301, 0, 276, 278, 0, 142, 0, 1265, 0, 1323,
+ 1365, 1292, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1509, 0, 0, 0, 0, 0, 0, 145, 0,
+ 0, 0, 1303, 2492, 145, 1364, 0, 1298, 0, 1338,
+ 0, 0, 396, 0, 1291, 1301, 0, 289, 1269, 0,
+ 1332, 0, 0, 229, 228, 230, 0, 0, 0, 0,
+ 2222, 2223, 0, 2220, 2061, 2273, 0, 1520, 962, 948,
+ 961, 0, 944, 2455, 0, 947, 949, 0, 0, 0,
+ 950, 954, 955, 0, 946, 943, 945, 0, 407, 0,
+ 0, 755, 756, 0, 0, 0, 0, 835, 0, 0,
+ 1499, 0, 150, 665, 0, 0, 0, 660, 690, 695,
+ 0, 0, 0, 0, 460, 464, 468, 469, 470, 0,
+ 0, 0, 0, 164, 151, 0, 877, 0, 534, 0,
+ 748, 1184, 1376, 0, 194, 189, 0, 0, 711, 0,
+ 1549, 0, 0, 588, 591, 590, 0, 374, 830, 828,
+ 827, 829, 851, 826, 0, 1854, 1856, 0, 0, 0,
+ 0, 0, 0, 600, 463, 0, 0, 537, 0, 576,
+ 0, 0, 0, 0, 573, 0, 0, 0, 2367, 0,
+ 847, 819, 0, 1114, 0, 1132, 1115, 0, 0, 0,
+ 0, 1169, 1176, 1145, 1170, 1147, 1176, 0, 0, 761,
+ 765, 764, 768, 766, 0, 762, 639, 1661, 1662, 0,
+ 1202, 0, 0, 1495, 0, 1493, 899, 1196, 145, 0,
+ 145, 0, 145, 1204, 1198, 1200, 1401, 0, 897, 0,
+ 0, 890, 892, 0, 894, 0, 1006, 536, 0, 0,
+ 0, 0, 0, 0, 1022, 637, 1029, 0, 0, 0,
+ 1044, 1039, 1041, 0, 1056, 1050, 0, 724, 0, 0,
+ 1620, 1613, 1615, 1614, 0, 0, 1611, 2227, 889, 0,
+ 606, 0, 1056, 1047, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1718, 2228, 2229, 0, 0,
+ 0, 2261, 0, 0, 2105, 0, 2076, 2078, 2091, 0,
+ 2106, 2059, 2283, 0, 2287, 2281, 2125, 0, 0, 0,
+ 2287, 0, 2307, 0, 0, 2120, 2122, 0, 0, 0,
+ 2297, 2297, 2107, 2080, 2082, 2092, 0, 0, 2208, 0,
+ 2095, 2094, 0, 2026, 2027, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 2041, 2096, 2187, 0, 0, 0, 2098,
+ 2097, 0, 0, 2255, 0, 0, 0, 2103, 500, 2108,
+ 0, 0, 0, 0, 2114, 0, 2144, 0, 0, 0,
+ 2049, 2218, 0, 0, 0, 0, 0, 0, 0, 2290,
+ 2291, 2292, 2289, 0, 2016, 2001, 2019, 1995, 1999, 2003,
+ 0, 2297, 2018, 0, 0, 2021, 0, 0, 1989, 0,
+ 0, 1987, 2011, 1983, 0, 0, 2012, 0, 2067, 0,
+ 0, 0, 2165, 2160, 2161, 1713, 1713, 1713, 1713, 1710,
+ 0, 0, 0, 1757, 0, 1757, 205, 0, 238, 225,
+ 1525, 1691, 1700, 1917, 0, 1935, 1933, 1878, 1883, 1956,
+ 1811, 1818, 1811, 0, 0, 1676, 0, 1798, 0, 1810,
+ 1796, 1809, 0, 0, 1824, 1822, 0, 1824, 0, 1824,
+ 0, 1790, 0, 1814, 1792, 1809, 1794, 0, 1840, 2325,
+ 1849, 0, 1770, 1727, 0, 2209, 1096, 0, 1729, 1751,
+ 1750, 0, 1740, 0, 1779, 1737, 1624, 1608, 0, 1606,
+ 1593, 1595, 1594, 0, 0, 1596, 2277, 0, 1606, 1588,
+ 0, 1632, 0, 0, 1853, 0, 1631, 0, 1899, 1117,
+ 1118, 0, 1141, 0, 1061, 1062, 0, 1060, 0, 0,
+ 0, 522, 1076, 0, 0, 0, 798, 0, 0, 526,
+ 0, 1504, 0, 1371, 1289, 669, 0, 0, 0, 0,
+ 684, 643, 685, 687, 0, 0, 686, 689, 692, 1301,
+ 0, 295, 1275, 0, 1336, 1149, 0, 0, 1106, 0,
+ 0, 0, 0, 0, 0, 482, 479, 326, 0, 0,
+ 0, 0, 383, 0, 306, 318, 381, 324, 0, 358,
+ 0, 329, 0, 322, 344, 336, 345, 337, 357, 359,
+ 0, 703, 704, 702, 698, 0, 705, 707, 0, 372,
+ 0, 0, 0, 352, 0, 1357, 0, 1301, 0, 291,
+ 1271, 0, 1334, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1339, 0, 0, 0, 0,
+ 743, 0, 740, 0, 549, 0, 1385, 0, 1382, 1380,
+ 549, 0, 0, 156, 155, 0, 162, 0, 0, 0,
+ 0, 0, 0, 1394, 1395, 1396, 0, 0, 0, 0,
+ 0, 0, 390, 0, 298, 300, 299, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 397, 365, 0, 854, 0, 0,
+ 0, 399, 0, 0, 1349, 0, 0, 0, 0, 0,
+ 1356, 1254, 2064, 2065, 2062, 1724, 2272, 0, 0, 0,
+ 959, 0, 0, 0, 0, 410, 411, 150, 409, 432,
+ 0, 798, 0, 0, 832, 837, 845, 2559, 2195, 2196,
+ 843, 838, 840, 842, 844, 841, 0, 0, 0, 0,
+ 504, 0, 0, 0, 491, 0, 0, 501, 484, 487,
+ 488, 0, 0, 661, 664, 662, 663, 0, 683, 0,
+ 463, 511, 563, 0, 166, 0, 0, 167, 165, 0,
+ 0, 374, 745, 0, 742, 1375, 0, 192, 0, 715,
+ 0, 0, 0, 0, 0, 1184, 653, 0, 850, 852,
+ 824, 0, 695, 0, 0, 612, 0, 534, 1581, 595,
+ 0, 565, 463, 563, 572, 0, 0, 580, 373, 0,
+ 0, 600, 374, 0, 0, 1077, 0, 846, 0, 0,
+ 1113, 0, 0, 0, 1166, 1171, 1167, 0, 1146, 1128,
+ 0, 1168, 0, 0, 1174, 1099, 1148, 1100, 1417, 1418,
+ 1415, 1416, 0, 0, 0, 0, 0, 0, 1652, 0,
+ 0, 1491, 0, 901, 0, 884, 0, 886, 145, 732,
+ 0, 145, 0, 0, 0, 0, 0, 0, 1021, 0,
+ 1015, 1017, 1042, 0, 0, 1056, 1055, 0, 1046, 1054,
+ 1052, 1053, 1051, 0, 0, 1618, 1616, 598, 0, 0,
+ 145, 1056, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 2232, 0, 2263, 2259, 0, 2073, 2233, 2286,
+ 2285, 0, 0, 0, 2309, 0, 0, 2287, 2301, 2300,
+ 0, 0, 2299, 2287, 2287, 0, 0, 0, 2188, 0,
+ 0, 2025, 2037, 2038, 2039, 2248, 0, 2044, 0, 2034,
+ 2035, 2036, 2028, 2029, 2030, 2031, 2032, 2033, 2040, 2252,
+ 2251, 0, 0, 2100, 2101, 2102, 2254, 2109, 0, 2404,
+ 2145, 0, 2113, 2135, 2134, 0, 0, 0, 2116, 0,
+ 0, 2131, 0, 2189, 2342, 1960, 0, 0, 1986, 2258,
+ 2004, 0, 2020, 2022, 2294, 2296, 1982, 2208, 0, 0,
+ 0, 0, 0, 1991, 0, 0, 2185, 0, 0, 0,
+ 2167, 2164, 0, 0, 0, 0, 1704, 1703, 1709, 1770,
+ 2061, 1770, 0, 0, 1879, 1797, 1793, 1795, 0, 2745,
+ 0, 1800, 1807, 0, 1789, 0, 1823, 1819, 0, 1820,
+ 0, 0, 1821, 0, 0, 1791, 0, 1807, 0, 1847,
+ 1716, 0, 2156, 0, 1728, 1094, 1095, 1738, 0, 1741,
+ 2434, 1851, 0, 1607, 0, 0, 0, 1598, 1604, 1586,
+ 0, 0, 0, 1628, 1606, 1629, 1138, 0, 0, 1130,
+ 1067, 1068, 1071, 1069, 1066, 1070, 0, 0, 0, 798,
+ 0, 0, 544, 0, 1090, 1090, 0, 0, 528, 585,
+ 0, 801, 0, 0, 0, 799, 145, 1250, 0, 0,
+ 0, 0, 644, 1369, 1251, 0, 0, 0, 0, 1150,
+ 1304, 0, 0, 1274, 0, 303, 481, 480, 0, 478,
+ 695, 0, 0, 309, 319, 0, 314, 0, 1302, 0,
+ 0, 0, 313, 316, 315, 385, 0, 382, 0, 145,
+ 145, 360, 700, 371, 376, 377, 380, 1309, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 878, 861, 0, 0, 879, 880, 0, 0, 0,
+ 1207, 1208, 1206, 1341, 1342, 1347, 1344, 1343, 1346, 1348,
+ 1345, 0, 1257, 0, 0, 736, 1305, 1377, 1379, 1378,
+ 0, 1381, 160, 157, 158, 161, 1306, 1287, 1268, 1331,
+ 594, 0, 0, 0, 1266, 0, 1324, 0, 1283, 1277,
+ 0, 0, 0, 0, 0, 1368, 1297, 1329, 1367, 1295,
+ 1327, 1294, 1326, 1296, 1328, 1288, 0, 0, 1858, 858,
+ 0, 0, 0, 145, 145, 857, 734, 1270, 0, 1333,
+ 1279, 0, 0, 0, 951, 0, 0, 0, 953, 415,
+ 433, 150, 0, 754, 818, 0, 0, 834, 0, 489,
+ 0, 495, 502, 0, 0, 506, 507, 505, 490, 1184,
+ 534, 1184, 787, 788, 0, 0, 808, 0, 659, 0,
+ 0, 461, 0, 508, 0, 0, 465, 169, 168, 0,
+ 0, 0, 749, 753, 751, 750, 752, 747, 0, 738,
+ 194, 2492, 0, 0, 0, 0, 592, 586, 589, 1390,
+ 825, 0, 1857, 728, 0, 374, 608, 0, 0, 0,
+ 461, 600, 0, 466, 471, 472, 485, 0, 573, 564,
+ 0, 565, 574, 575, 0, 582, 1465, 0, 601, 582,
+ 0, 0, 0, 849, 0, 848, 0, 1116, 1133, 1134,
+ 0, 0, 1176, 0, 0, 1178, 1173, 0, 0, 767,
+ 770, 763, 646, 145, 0, 1494, 145, 145, 1233, 0,
+ 895, 1036, 1037, 1038, 1035, 1034, 638, 0, 1040, 999,
+ 1049, 726, 0, 599, 0, 1000, 145, 976, 968, 975,
+ 964, 967, 969, 0, 971, 972, 966, 963, 965, 2262,
+ 2090, 0, 2282, 2124, 2306, 2305, 2123, 2312, 0, 2303,
+ 2302, 0, 0, 2093, 2104, 0, 2187, 2218, 0, 0,
+ 2045, 0, 0, 0, 2099, 2740, 0, 0, 2149, 2150,
+ 0, 2146, 2147, 2142, 2143, 2115, 0, 2548, 2126, 0,
+ 0, 2141, 2008, 2006, 2005, 2293, 2295, 1990, 0, 0,
+ 1988, 1984, 0, 2013, 2151, 2184, 2218, 2153, 0, 1724,
+ 1708, 1707, 1706, 1705, 2156, 2339, 2156, 239, 1695, 1843,
+ 0, 1846, 0, 0, 1799, 0, 0, 1801, 0, 0,
+ 1803, 1805, 0, 0, 0, 0, 0, 0, 2328, 0,
+ 1769, 0, 1724, 0, 1739, 0, 1605, 1590, 0, 1591,
+ 1597, 0, 0, 0, 0, 0, 1633, 1626, 1131, 1139,
+ 0, 0, 0, 524, 0, 539, 0, 0, 0, 1083,
+ 140, 1082, 0, 539, 539, 803, 802, 805, 800, 804,
+ 1505, 0, 677, 678, 681, 1276, 0, 1337, 1285, 0,
+ 1622, 305, 477, 476, 485, 312, 0, 0, 0, 307,
+ 384, 386, 308, 311, 365, 328, 321, 0, 0, 0,
+ 1272, 0, 1335, 1281, 1308, 1359, 1255, 1319, 0, 0,
+ 867, 0, 0, 0, 0, 1360, 1256, 1320, 0, 0,
+ 0, 0, 0, 1622, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1514, 0, 0, 364, 856, 855, 365, 398,
+ 1299, 0, 2063, 0, 952, 957, 958, 956, 0, 404,
+ 412, 415, 0, 0, 1224, 1224, 0, 0, 486, 503,
+ 0, 584, 543, 584, 0, 0, 0, 0, 0, 696,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 741, 740, 191, 0, 461, 0, 695, 0, 853, 0,
+ 0, 0, 600, 463, 0, 0, 1578, 462, 0, 0,
+ 474, 0, 576, 565, 573, 0, 0, 597, 0, 1458,
+ 0, 603, 0, 0, 0, 797, 1172, 0, 1186, 0,
+ 1127, 1097, 1181, 0, 1700, 1850, 0, 0, 0, 0,
+ 780, 0, 650, 1225, 1492, 885, 887, 733, 1043, 0,
+ 1056, 1048, 970, 2284, 2311, 2121, 2310, 2247, 2189, 2042,
+ 0, 2250, 2249, 2253, 0, 2110, 0, 2111, 2148, 2117,
+ 2127, 0, 2118, 2139, 0, 0, 2009, 2007, 1992, 2186,
+ 0, 2171, 1678, 1677, 0, 1698, 1848, 0, 0, 1842,
+ 0, 0, 1872, 0, 0, 0, 1808, 1826, 0, 1804,
+ 1802, 0, 1815, 0, 1817, 2433, 2709, 2612, 0, 1756,
+ 1758, 1761, 1763, 1762, 1764, 1760, 2155, 2157, 0, 1735,
+ 2210, 1852, 0, 0, 0, 1078, 0, 0, 1634, 1635,
+ 1630, 1044, 0, 145, 1090, 0, 1184, 545, 2559, 546,
+ 1089, 1093, 139, 0, 1184, 1184, 673, 0, 0, 284,
+ 473, 0, 310, 320, 367, 379, 0, 1622, 0, 0,
+ 865, 874, 874, 862, 0, 0, 881, 1258, 737, 0,
+ 548, 0, 279, 1284, 1278, 0, 0, 0, 1516, 1517,
+ 0, 0, 0, 0, 0, 1307, 145, 1280, 960, 0,
+ 435, 442, 416, 420, 1508, 0, 1508, 0, 417, 421,
+ 1508, 1508, 414, 1850, 431, 1224, 0, 1221, 1220, 532,
+ 614, 0, 0, 493, 0, 554, 492, 0, 809, 0,
+ 0, 694, 0, 463, 563, 0, 521, 512, 513, 514,
+ 515, 517, 516, 518, 519, 520, 510, 509, 0, 695,
+ 871, 374, 1465, 735, 0, 0, 708, 0, 695, 0,
+ 1581, 596, 565, 463, 563, 467, 485, 0, 580, 573,
+ 576, 0, 577, 0, 581, 0, 0, 0, 600, 1518,
+ 1077, 0, 0, 798, 1185, 1146, 0, 0, 1175, 1179,
+ 1180, 0, 0, 0, 0, 1228, 774, 775, 769, 771,
+ 0, 782, 786, 645, 0, 0, 649, 640, 695, 145,
+ 0, 2043, 0, 0, 2129, 2128, 2140, 2119, 2166, 0,
+ 0, 0, 0, 0, 0, 0, 1689, 1841, 1844, 0,
+ 1875, 0, 0, 0, 0, 1861, 0, 1806, 0, 0,
+ 1816, 0, 0, 0, 1765, 0, 0, 0, 1774, 0,
+ 1603, 1850, 0, 1600, 0, 1643, 0, 1636, 1063, 0,
+ 1064, 1084, 0, 584, 0, 1096, 1093, 534, 584, 584,
+ 1286, 0, 614, 0, 323, 0, 292, 1282, 0, 0,
+ 876, 876, 0, 0, 0, 0, 0, 0, 392, 0,
+ 0, 1510, 0, 1511, 1512, 1515, 400, 413, 0, 440,
+ 0, 438, 437, 439, 0, 428, 0, 0, 0, 0,
+ 0, 0, 403, 1219, 1223, 1222, 0, 494, 0, 496,
+ 0, 0, 540, 541, 542, 0, 498, 550, 551, 806,
+ 0, 811, 0, 697, 0, 0, 695, 562, 719, 0,
+ 0, 0, 1459, 0, 0, 587, 729, 1465, 600, 573,
+ 0, 565, 475, 0, 582, 576, 580, 578, 579, 0,
+ 1462, 0, 602, 0, 1086, 796, 0, 1176, 1187, 1182,
+ 1177, 1421, 0, 0, 772, 777, 776, 1508, 781, 0,
+ 0, 0, 648, 647, 723, 1001, 2246, 2132, 2112, 2130,
+ 2696, 2434, 2668, 0, 2183, 2172, 2183, 2183, 2163, 0,
+ 0, 0, 0, 0, 1873, 1874, 1859, 0, 0, 1863,
+ 1813, 1839, 0, 0, 0, 1759, 2158, 2159, 2358, 1592,
+ 1602, 1079, 0, 0, 0, 1643, 0, 0, 549, 0,
+ 1080, 1096, 543, 798, 798, 1622, 317, 366, 0, 0,
+ 0, 872, 875, 863, 864, 883, 882, 739, 1622, 0,
+ 388, 387, 0, 391, 0, 436, 445, 0, 443, 418,
+ 423, 0, 427, 425, 424, 419, 422, 531, 0, 0,
+ 0, 0, 0, 0, 552, 0, 553, 0, 810, 0,
+ 0, 0, 721, 870, 0, 0, 461, 695, 1460, 1579,
+ 576, 565, 573, 0, 0, 567, 1090, 1090, 448, 580,
+ 582, 1463, 1464, 0, 0, 501, 0, 1098, 1420, 1419,
+ 1700, 0, 0, 0, 783, 784, 779, 0, 0, 0,
+ 2176, 2175, 2174, 2178, 2177, 0, 2170, 2168, 2169, 0,
+ 0, 0, 1845, 0, 1862, 1865, 0, 0, 0, 1871,
+ 1864, 1866, 0, 1825, 0, 1837, 1767, 0, 1766, 1850,
+ 1642, 0, 0, 145, 538, 798, 547, 1081, 554, 527,
+ 525, 285, 1622, 866, 0, 280, 0, 393, 1513, 441,
+ 0, 426, 613, 497, 583, 559, 0, 558, 0, 556,
+ 555, 807, 812, 0, 695, 860, 1465, 709, 580, 573,
+ 576, 0, 566, 0, 140, 140, 582, 446, 0, 0,
+ 374, 0, 1403, 1700, 1402, 1404, 1412, 1409, 1411, 1410,
+ 1408, 0, 1231, 1232, 773, 778, 0, 0, 0, 0,
+ 2180, 0, 2181, 0, 0, 0, 0, 1868, 1869, 1870,
+ 1867, 1812, 0, 1768, 1599, 1645, 0, 0, 1637, 1638,
+ 0, 1065, 529, 798, 293, 873, 0, 444, 557, 534,
+ 534, 695, 720, 1461, 582, 576, 580, 1090, 568, 570,
+ 569, 450, 1086, 1087, 0, 582, 786, 0, 1413, 1407,
+ 1676, 1663, 0, 0, 785, 0, 2173, 2179, 2182, 0,
+ 0, 0, 0, 0, 0, 1640, 0, 0, 0, 1639,
+ 530, 0, 561, 560, 722, 449, 580, 582, 140, 501,
+ 1085, 0, 1850, 0, 1405, 1700, 0, 0, 791, 1694,
+ 1693, 0, 0, 1697, 0, 1838, 1644, 1641, 0, 0,
+ 0, 0, 1646, 389, 582, 447, 571, 374, 1088, 1072,
+ 0, 1406, 0, 0, 793, 0, 789, 792, 794, 795,
+ 0, 0, 1860, 1650, 0, 0, 0, 451, 582, 0,
+ 0, 0, 757, 0, 1724, 0, 0, 0, 0, 1850,
+ 0, 0, 0, 790, 0, 0, 1647, 1651, 0, 1648,
+ 1073, 791, 1229, 1230, 0, 1696, 0, 0, 0, 758,
+ 1649
+};
+
+ /* YYPGOTO[NTERM-NUM]. */
+static const yytype_int16 yypgoto[] =
+{
+ -5506, -5506, -5506, 3832, -651, -1715, -5044, -1131, -619, -5506,
+ -5506, -959, 367, 3068, -2414, -5506, -5506, -5506, 1295, -5506,
+ -5506, -5506, -5506, 3809, -5506, -2890, -5506, -5506, 151, 3747,
+ -1380, 138, 3399, 1380, -5506, -1000, -5506, -5506, -610, 1,
+ -5506, 3758, 536, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ -5506, -825, 1839, -5506, 1935, 1185, -3817, -5506, -5506, -1519,
+ -3721, -5506, 452, -5506, 478, -4796, -1134, -5506, -5506, -5506,
+ 1831, -5506, -5506, -5506, 1776, 983, -538, -5506, -5506, -5506,
+ -5506, -5506, -5506, -961, -5506, -5506, -1232, 7, -652, -2919,
+ -4306, -5506, -5506, 316, -578, -1482, -5506, 508, -5506, 515,
+ -5506, -4827, -5506, -176, -2666, -2974, -5506, -5506, -5506, -545,
+ -1443, 1296, -5506, -726, -1183, 1666, -2154, -1077, -5506, -420,
+ -3546, -1201, -969, -967, -1111, -4336, -4836, -5506, -5506, -1226,
+ -3775, -5156, -5364, -4814, -5027, 1310, -5506, -196, 327, -5506,
+ 9, -3644, -3696, 13, 302, -5506, 14, 15, -5506, 319,
+ -897, -955, -1578, -5506, -784, -5506, -5506, -5506, -3419, -5506,
+ -5506, -5506, 148, -5506, -5506, -5506, -5506, 365, -5506, -5506,
+ -5506, -5506, -5506, -5506, -3188, 1825, 1827, -5506, -4359, -5506,
+ -931, -5506, 526, -3460, 1230, -5506, -5506, 994, 3841, 348,
+ -5506, -5506, -5506, -5506, -5506, -5506, -1788, -5506, -5506, -5506,
+ -5506, -171, -512, -5506, -5506, -5506, -5506, -5506, -5506, -5506,
+ 16, -5506, 962, 291, -5506, -5506, -807, -5506, -5506, -5506,
+ -5506, -5506, -5506, -1271, -5157, -1373, -1354, -5506, -3461, -5506,
+ -5506, -5506, -485, -5506, -5506, -5506, -5506, -5506, -843, -5506,
+ 1055, -4120, -5506, -5506, 326, -5506, -5506, -5506, -5506, -5506,
+ -1079, -429, 3007, -5506, -664, -866, -5506, -5506, -5506, -424,
+ -5506, -5506, -5506, -5506, -5506, -509, -1269, 4838, 4214, -1106,
+ 13029, -828, -557, -5506, -5506, -5506, -2747, -5506, -5506, -4256,
+ -5506, 4831, 2433, 954, 19, -5506, -2, 90, 3669, -5506,
+ 923, -1163, -3077, 288, -618, -5506, -5506, -5506, 305, -5506,
+ -1949, -5506, -5506, -5506, -5506, -4078, 21, -5506, -4349, -5153,
+ -4583, -4089, -1237, -5506, -4106, -4126, -4053, -5506, 1851, -5506,
+ -5506, -560, -188, 2992, -5506, -1469, 2208, -1401, -5506, -2570,
+ 364, 1409, 3005, -3264, -132, 2994, -2986, -5506, -721, 1005,
+ -5506, -497, -3759, -5506, -5506, -5506, -2739, -735, -5506, -5506,
+ 1518, 558, -5506, -5506, -5506, -5506, -631, 2974, -181, -5506,
+ -5506, 4196, -5506, -4944, -5506, 4183, -5506, -5506, -5506, -5506,
+ -5506, -5506, -5506, -5506, -5506, -1479, 1172, -5506, -826, -5506,
+ -5506, 1966, 571, -5506, -5506, -5506, -5506, 1257, -1228, -5506,
+ -5506, -5506, -5506, -5506, -5506, -5506, -1051, -1245, -5506, -5506,
+ -4377, -5506, -5506, -5506, -5506, -5506, 2165, -952, -741, 4077,
+ 690, 22, -5304, -5506, -5506, -1082, -5506, 3417, -5506, -5506,
+ -5506, -5506, -5506, 352, 366, -5506, -5506, -5506, -5506, -3932,
+ -5506, -5506, -5018, -5506, -5506, 1953, -5506, -5506, 1077, 6,
+ 3128, -5506, -5506, -5506, -30, -5506, -5506, -1014, 2303, -5506,
+ -2376, -5506, -579, -5506, -5506, -1889, 23, -4334, -5506, 4,
+ -5506, -5506, -5030, -1242, 169, -5506, -5506, -3993, 10, -5506,
+ -5506, -5506, -5506, -5004, -5506, 12, -5505, 720, -3315, -5506,
+ 8, -5506, -556, -941, -5506, -5506, -5506, -3745, 28, 39,
+ -5506, -5506, 5, 369, -45, -49, -12, 3, 133, 3534,
+ -5506, -5506, -5506, -4281, 3576, -5506, -7, -858, 4889, 4892,
+ -5506, -882, -150, 318, 1520, -702, -2580, 3482, 3485, -5506,
+ 1507, 2313, -2440, -2449, -5506, -1086, -912, -743, -5506, -5506,
+ -5506, -5506, -1665, -695, -2584, -5506, 3487, -5506, -5506, -5506,
+ -2348, -3335, -3247, 1549, -3265, -3184, -5506, 804, 789, -1109,
+ -235, 52, -1474, -785, 1593, -5506, -5506, 1557, -487, -5506,
+ -5506, -483, -3272, 747, -5506, -4551, -2800, 1562, -1167, -892,
+ -5506, -1023, -5506, -714, 356, 3551, -832, -5506, -5506, -796,
+ 11748, -5506, -5506, -5506, 14357, 14433, -5506, -5506, 15412, 15899,
+ -5506, -614, 16115, 9390, -789, -1927, 157, 18049, -1789, -927,
+ -4, -5506, -2917, -1335, -5506, -5506, -5506, -455, 897, 560,
+ -5506, -5506, -4574, -4405, -5506, 2438, -2106, -5506, -722, 1631,
+ -720, -5506, -5506, -5506, -2589, -5449, -2753, 2440, -5506, -5506,
+ -5506, -194, -5506, 18434, -3241, -5506, 74, -985, -1602, 2924,
+ -3106, -1897, -5506, -5506, -5506, -3089, -5506, -5506, -5506, -717,
+ 1656, -5506, -5506, 1777, -5506, -5506, -5506, -951, 2018, -751,
+ -1168, 1657, -1877, -3025, -5506, -1901, 1671, -2134, -5506, -1923,
+ 1748, 975, -5506, 1592, -5506, 4087, -777, 2449, -783, 17648,
+ -558, 10885, -1277, -5506, 299, -4310, 7681, 7654, 20, -122,
+ 874, -642, 2368, 3031, -5506, -5506, 5548, 8944, -581, -871,
+ -5506, -6, 13969, 12815, -3659, -5506
+};
+
+ /* YYDEFGOTO[NTERM-NUM]. */
+static const yytype_int16 yydefgoto[] =
+{
+ 0, 57, 58, 59, 60, 1086, 1091, 1880, 1899, 61,
+ 62, 1602, 3003, 2857, 3813, 3814, 63, 64, 1598, 65,
+ 66, 67, 68, 1512, 69, 1852, 3017, 70, 2693, 830,
+ 831, 832, 2558, 2559, 2948, 2560, 2548, 1364, 1798, 1534,
+ 804, 805, 1494, 1535, 72, 73, 1358, 2539, 74, 75,
+ 76, 1565, 1659, 1566, 1567, 1506, 4928, 5714, 3603, 2812,
+ 3861, 3604, 3605, 4275, 4276, 4364, 5728, 5729, 77, 1675,
+ 1676, 78, 79, 2985, 3779, 4417, 5309, 5310, 5552, 649,
+ 4951, 4952, 5539, 5540, 5742, 5897, 5898, 3018, 680, 3856,
+ 4501, 3804, 5022, 3805, 5023, 3806, 5024, 4819, 4820, 4265,
+ 4266, 3790, 4448, 4449, 2049, 4964, 4450, 3807, 4983, 5586,
+ 3808, 2712, 5757, 3052, 1971, 1969, 5486, 5565, 4781, 4782,
+ 4338, 5766, 5767, 5768, 6019, 4985, 5028, 5029, 5934, 5935,
+ 3859, 4507, 5035, 5367, 5563, 3501, 81, 3832, 3833, 82,
+ 743, 1874, 3960, 744, 3055, 681, 745, 3019, 87, 3045,
+ 5759, 3046, 1628, 2871, 4430, 3936, 88, 1114, 4240, 5392,
+ 5646, 5647, 734, 89, 1860, 90, 91, 2998, 3797, 92,
+ 2729, 3518, 93, 94, 3537, 3538, 3539, 95, 4458, 5328,
+ 1568, 3592, 3593, 3594, 3595, 4296, 96, 1855, 3026, 3027,
+ 97, 98, 99, 3157, 3158, 100, 2934, 101, 102, 103,
+ 104, 4332, 4885, 4999, 3634, 3820, 4474, 4997, 105, 3783,
+ 3020, 3073, 3894, 3895, 5390, 5638, 5639, 5640, 5817, 6054,
+ 5642, 5819, 5956, 5821, 4974, 6175, 6176, 5623, 4229, 4795,
+ 107, 4975, 4976, 5772, 108, 2727, 109, 110, 1829, 2991,
+ 2992, 4431, 3062, 3869, 3870, 4487, 4488, 111, 3721, 112,
+ 4861, 4862, 682, 5780, 5720, 5883, 113, 114, 4865, 4866,
+ 115, 116, 117, 118, 119, 735, 1048, 1049, 737, 1169,
+ 1170, 3473, 1131, 120, 2568, 121, 3759, 122, 1244, 5088,
+ 123, 769, 1185, 1186, 3021, 125, 779, 3176, 781, 3141,
+ 3142, 1987, 3940, 3941, 4575, 126, 127, 3944, 3945, 4582,
+ 3154, 128, 1499, 2703, 2704, 4776, 3022, 683, 3496, 5474,
+ 5219, 5475, 5945, 6104, 5220, 3417, 4178, 130, 684, 1540,
+ 2768, 1137, 1138, 3066, 3874, 2673, 2674, 1698, 4528, 2676,
+ 3876, 2677, 1473, 2678, 1124, 1125, 3882, 3883, 3884, 3885,
+ 4524, 4534, 4535, 5384, 5631, 4531, 1848, 5378, 5379, 131,
+ 1537, 2765, 132, 133, 134, 1581, 972, 1147, 1148, 135,
+ 696, 697, 136, 5557, 137, 1127, 138, 5388, 139, 140,
+ 1229, 1230, 796, 141, 142, 2782, 4278, 143, 1538, 144,
+ 145, 3628, 3629, 4877, 146, 147, 148, 2843, 2844, 149,
+ 150, 151, 152, 153, 6044, 6107, 6108, 6109, 4542, 5950,
+ 154, 1217, 155, 156, 157, 158, 196, 1013, 1014, 1015,
+ 925, 3023, 5369, 160, 161, 1495, 1496, 1497, 1498, 2698,
+ 162, 163, 164, 3904, 3905, 165, 166, 167, 168, 1832,
+ 169, 170, 5530, 171, 172, 1802, 173, 174, 1022, 1023,
+ 1024, 1025, 1800, 3364, 643, 849, 1389, 1395, 1438, 1439,
+ 1440, 176, 747, 177, 1220, 1053, 748, 1178, 179, 749,
+ 2655, 3447, 4193, 4194, 4195, 4198, 5203, 4753, 750, 3443,
+ 182, 1994, 3163, 3166, 3439, 751, 3453, 3454, 3455, 4202,
+ 752, 5478, 5479, 5864, 6078, 6079, 6129, 6162, 753, 771,
+ 1117, 3077, 754, 1324, 188, 189, 190, 905, 852, 853,
+ 3369, 5435, 5666, 192, 2532, 3347, 788, 1444, 893, 894,
+ 895, 914, 2958, 2621, 2622, 2646, 2647, 1453, 1454, 2634,
+ 2638, 2639, 3430, 3423, 2627, 4172, 5459, 5460, 5461, 5462,
+ 5463, 5464, 4742, 2642, 2643, 1456, 1457, 1458, 2651, 193,
+ 2611, 3397, 3398, 3399, 4149, 4150, 5983, 4164, 4160, 4727,
+ 5180, 3400, 841, 1215, 1465, 4735, 5985, 3401, 5169, 5170,
+ 5439, 4168, 3409, 4189, 3844, 3845, 3846, 3402, 5674, 5675,
+ 5980, 5981, 5441, 5442, 2679, 1418, 879, 1325, 880, 1431,
+ 1326, 1405, 882, 1327, 1328, 1329, 885, 1330, 1331, 1332,
+ 888, 1397, 1333, 1334, 1414, 1427, 1428, 1390, 5443, 1336,
+ 1337, 1338, 3404, 1339, 4671, 5140, 5126, 3270, 3271, 2555,
+ 5425, 4667, 4062, 4661, 2525, 2529, 5192, 5466, 5467, 3340,
+ 4113, 4700, 5159, 5662, 5834, 5835, 5966, 1340, 1341, 1342,
+ 3332, 2519, 975, 1343, 4433, 2521, 3261, 3239, 1701, 3240,
+ 1997, 2019, 3195, 3211, 3212, 3308, 3241, 3249, 3254, 3262,
+ 3294, 1344, 3197, 3198, 3982, 2021, 1345, 1019, 1704, 1020,
+ 1433, 3289, 3220, 3994, 5102, 3221, 3309, 4095, 3228, 3229,
+ 4010, 4000, 3222, 1346, 4002, 1354, 1355, 1348, 1988, 842,
+ 5176, 1173, 1785, 785, 1349, 1350, 1351, 1352, 1574, 946,
+ 1140, 1141, 896, 898, 899, 2615, 639, 631, 948, 3596,
+ 2522, 640, 633, 634, 1790, 2523
+};
+
+ /* 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[] =
+{
+ 632, 71, 628, 191, 180, 186, 175, 80, 184, 83,
+ 181, 904, 183, 84, 85, 86, 106, 974, 938, 124,
+ 1968, 129, 159, 178, 191, 1797, 979, 746, 185, 984,
+ 973, 1700, 1080, 1627, 808, 1459, 1914, 1359, 844, 915,
+ 1347, 1410, 773, 2806, 3500, 892, 1680, 637, 773, 2884,
+ 1206, 1207, 1208, 1445, 688, 1447, 1212, 2711, 1632, 1386,
+ 3178, 1026, 1692, 1430, 2777, 926, 1401, 1402, 3440, 1791,
+ 2769, 2675, 2789, 3441, 2008, 1409, 1153, 1857, 4123, 3040,
+ 4125, 3886, 2016, 3803, 1212, 1118, 1373, 1416, 1179, 4512,
+ 1166, 2000, 1385, 2952, 982, 2002, 840, 4339, 2003, 2004,
+ 3962, 1478, 4267, 2778, 3466, 3468, 1830, 4187, 1004, 3169,
+ 1835, 3231, 3834, 780, 1120, 1839, 4486, 4246, 2845, 2845,
+ 3194, 3718, 2845, 4744, 3825, 1849, 809, 4537, 1569, 4291,
+ 4435, 4293, 3227, 5013, 4783, 1047, 4163, 4201, 2675, 1869,
+ 3279, 4778, 917, 2914, 2915, 909, 5173, 1786, 4146, 2760,
+ 232, 3107, 2607, 1591, 4982, 3223, 1151, 4499, 1608, 1155,
+ 3686, 1026, 1180, 1626, 5021, 3059, 5042, 5031, 5472, 5569,
+ 1903, 1573, 1658, 803, 1163, 4176, 5491, 2910, 1172, 918,
+ 837, 4845, 1685, 855, 3350, 5185, 5332, 5187, 3352, 1541,
+ 3435, 632, 829, 3362, 3995, 5364, 5030, 3432, 4207, 5360,
+ 632, 949, 5221, 4200, 2941, 4759, 5608, 4496, 632, 2760,
+ 949, 632, 1452, 1366, 1026, 4090, 4161, 1536, 4166, 1455,
+ 3762, 5621, 3765, 3766, 949, 5371, 2760, 3770, 3771, 3772,
+ -2476, 3774, 3775, 3776, 5363, -1940, 5499, 1842, -2518, -2543,
+ 3411, 1799, 1120, 2740, 5794, 3997, 1398, 1399, 755, -1940,
+ 694, 5218, -2581, 1866, 3246, 5131, 1408, -2400, 1536, 1865,
+ 647, 1896, -1899, 1536, 4026, 4522, 1500, 1026, 755, 2566,
+ -1912, 3822, 5532, 5533, 1896, -2367, -1932, 997, 1385, 5522,
+ 2790, 6158, 2921, 3037, -2367, -2367, 1187, 2926, 5782, 3174,
+ -2368, 4992, -2756, -2332, 3793, 1238, 5566, 1508, -1937, -2368,
+ -2368, -2756, -2756, -2480, 1009, 629, -1927, 694, 1992, 5719,
+ 4007, 3512, 4079, 694, 755, -2331, 694, 694, 1107, 6059,
+ 936, 1896, 2780, 3980, 4451, 2780, 2545, 1026, 1570, 694,
+ 2070, 1896, 1191, 1822, 755, 2983, 2908, 5090, 5091, 5092,
+ 3964, 5094, 5095, 5096, 5097, 5098, 1420, 1570, 924, 3152,
+ 4247, 3532, 694, 755, -434, 2612, 3204, 5989, 3136, 694,
+ -150, 3950, 2572, 1363, 3952, 2848, -150, 3287, 2852, 187,
+ 2070, 5558, 2845, 5654, 1467, 3049, 3382, 1896, 4858, 755,
+ 1501, 5959, 4911, 3001, 1896, 1896, 4993, 1202, 4980, 5018,
+ 187, 5762, 3385, 5948, 1210, 2574, 5043, 4587, 3437, 4972,
+ 6060, 3050, 2572, 2901, 761, 3794, 1010, 878, 1099, -1753,
+ 2695, 1509, 761, 761, 3743, 5019, 2780, 5500, -2541, 2625,
+ 3414, 1692, 1421, 3155, 1896, 903, 761, 2618, 762, 1844,
+ 815, 761, 5940, 2070, 1791, 2574, 762, 762, 3487, 1448,
+ 3954, 3533, 2546, 3657, 1120, 1100, 3383, 4026, 993, 4191,
+ 762, 2553, 3170, 3287, 5796, 762, 5313, 4272, 2807, 2780,
+ 2893, 5244, 644, 1011, -690, 2572, 783, 3205, 2070, 974,
+ 2781, 6159, 1401, 1402, 3038, 4994, 1017, 761, 761, 994,
+ 1018, 1101, 2614, 5928, 1211, 2780, 4192, 4836, 5560, 2894,
+ 5314, 694, 1422, 6061, 2554, 1423, 927, 1409, 2574, 4859,
+ 2572, 762, 762, 5716, -2193, 939, 3438, 1922, 1424, 3998,
+ 3415, -2193, 1906, 939, 2717, 1416, 939, 3156, 1910, 974,
+ 1450, 1012, 3955, 3657, 2641, 2626, 3488, 5609, 1921, 1102,
+ 2567, 5763, 1924, 2574, 2610, 816, 1927, 847, 1929, 1074,
+ 3329, 868, 1912, 3206, 1937, 1084, 1827, 3330, 4483, 5597,
+ 1943, 4423, 1502, 1946, 1897, 4973, 2780, 1098, 1786, 4026,
+ 916, 4588, 1424, 3152, 4080, -1899, 4912, 1897, 1989, 2547,
+ 1203, -2212, 5228, 2064, 4008, 6036, 1070, 5949, -2212, 1999,
+ 3002, 1828, 1468, -1753, 2780, 4981, 5655, 2549, 2984, 3159,
+ 1791, 1503, 2561, 2561, 4532, 4358, 2009, 3951, 3051, 2780,
+ 3953, 2791, 2535, 3795, 1952, 2780, 4860, 5764, 1424, 6116,
+ 4247, 5753, 5020, 3207, 1897, 2792, 3208, 2793, 3010, 6160,
+ 3536, 6156, 1134, 937, 1897, 5911, 1504, 1993, 3137, 3152,
+ 1375, 2887, 3513, 2013, 2609, 5453, 949, 4452, 1211, 5939,
+ 4995, 6062, 4435, 1398, 1399, 689, 4081, -1899, 3196, 4523,
+ 3039, 191, 1054, 1058, 1580, 949, 1057, 1510, 1055, 1112,
+ 1056, 949, 1120, 2879, 6094, 2807, 2882, 2927, 4880, 2940,
+ 1897, -2541, 2909, 949, 1408, 6161, 5868, 1897, 1897, 4950,
+ 2794, 5873, 5874, 1211, 1017, 1912, 3152, 2808, 1018, 949,
+ 2745, 2922, 1993, 3796, 632, 1505, 2928, 904, 1249, 892,
+ 1691, 4026, 2889, 632, 949, -2883, -2883, -2883, 2950, 2951,
+ 632, 4996, 949, 632, 5894, 1898, 1183, 1897, 3160, 648,
+ 1425, 1511, 6093, 1411, 1412, 892, 949, 5418, 1905, 3209,
+ 1396, 4082, 6137, 2747, 1828, 3288, 949, 1411, 1412, 2949,
+ 1241, 3999, 1413, 2754, 191, 3190, -2476, -2541, 2994, 3379,
+ 4991, 2824, 2823, 2851, -2518, -2543, 1415, 2652, 2543, -2541,
+ 4041, 767, 768, 3541, 2653, 4788, 5789, 1460, -2581, 1400,
+ 3744, 5207, 6164, -2400, 6028, 1909, 1184, 1404, 1189, 5792,
+ 1193, 2868, -2367, -1932, 3125, 1920, 1197, 1120, 4887, 949,
+ 6038, 5039, 2590, 2591, 4891, 1120, 1120, -2368, 1017, -2756,
+ -2332, 6057, 1018, 2902, 2903, -1937, 4009, 767, 768, 1200,
+ 5561, 632, 632, -1927, 2066, 5038, 2764, 949, 2957, -2480,
+ 2533, 4099, -2331, 3355, 6180, 1600, 2518, 1571, 1572, -1899,
+ 2869, 1942, 3617, 2872, 2873, 3109, 2585, 5402, 1945, 1912,
+ 1214, 3210, 949, 2613, 632, 974, 1571, 1572, 1809, 1601,
+ 2718, 1017, 1814, 2809, 1815, 1018, 917, 4435, 1813, -150,
+ -150, 2513, 2514, 2515, 2516, 2517, 2518, 892, 3135, 2764,
+ -2193, 6001, 767, 768, 6096, 848, 4163, 4203, 4574, 1071,
+ 3150, 1592, 2810, 1376, 6005, 1828, 2764, 4415, 4416, 632,
+ 1828, 4484, 4484, 918, 2808, 4209, 1214, 4210, 1804, 4577,
+ 4533, 5701, 949, 4396, 5229, 4724, 3331, 2811, 71, 4728,
+ 191, 180, 186, 175, 80, 184, 83, 181, 4496, 183,
+ 84, 85, 86, 106, 1391, 1135, 124, 4625, 129, 159,
+ 178, 4359, 1493, 3161, 4477, 185, 690, -2212, 2530, 6136,
+ 4038, 4039, 4040, 4041, 4353, 4354, 4805, 4768, 2805, 4355,
+ 5912, 2807, 4850, 2832, 3162, 5932, 4715, 2993, 4717, 1377,
+ 4954, 2515, 2516, 2517, 2518, 4574, 5201, 4609, 1896, 3781,
+ 1846, 1235, 1362, 4181, 1464, 3153, 1370, 2713, 5920, 4007,
+ 5938, 3432, 6075, 919, 1392, 4032, 694, 5596, 4130, 1515,
+ 6099, 6100, 912, 6076, 5931, 1593, 691, 5386, 6084, 927,
+ -1752, 4953, 3599, 2739, 3011, 2714, 3609, 5693, 939, 4182,
+ 632, 632, 1787, 6189, 2881, 939, 5754, 187, 939, 949,
+ 4410, 5498, 1912, 694, 632, 910, 2971, 2807, 694, 892,
+ 632, -1899, 3890, 694, 632, 692, 632, 693, 2048, -1899,
+ 892, 1400, -1899, 1429, 919, -1899, 5682, 5602, 3226, 1689,
+ 4036, 4037, 4038, 4039, 4040, 4041, 892, 2874, 3600, 3632,
+ 2809, 1132, 5611, 5976, 2705, 2614, 1249, 4538, 3314, 4026,
+ 1482, 2705, 920, 4027, 4028, 4029, 1610, 5612, 1582, 5521,
+ 3997, 947, 4475, 2706, 5286, 3408, 4878, 1132, 694, 2810,
+ 983, 5961, 6015, 911, 6166, 6029, 1420, 2807, 3532, 3712,
+ 632, 2807, 632, 632, 1005, 4204, 3225, 3225, 5287, 1224,
+ 187, 903, 4242, 1791, 2811, 1611, 3247, 921, 5842, 4579,
+ 2719, 3891, 1106, 2807, 194, 3268, 6037, 4783, 5062, 6184,
+ 787, 803, 1650, 920, 3713, 4203, 3633, 5505, 1249, 912,
+ -2328, 4026, 2707, 949, 1879, 4027, 4028, 4029, 5007, 2707,
+ 3053, 957, 1583, 1912, 4465, 2805, 4539, 1483, 958, 959,
+ 960, 3049, 2708, 4676, 3601, 3263, 2715, 1594, 195, 2708,
+ 5755, 632, 1421, 2030, -1752, 5694, 1669, 912, 6216, 5977,
+ 2808, 3782, 1670, 4183, 5202, 1107, 191, 3050, 3533, -2883,
+ -2883, -2883, 4036, 4037, 4038, 4039, 4040, 4041, 5644, 1225,
+ 3147, 3148, 3499, 2875, 949, 1664, 1595, 2876, 2956, 3315,
+ 1484, 1912, 1026, 892, 3316, 949, 6089, 4022, 3702, 4432,
+ 3285, 4365, 6101, 3610, 3703, 1954, 5018, 1956, 1690, 1958,
+ 5778, 1960, 949, 1962, 1963, 1964, 2531, 949, 5775, 5786,
+ 1966, 1596, 1422, 4008, 2807, 1423, 2807, 5962, 1665, 632,
+ 5387, 1949, 5019, 5362, 4030, 695, 2808, 4580, 3317, 2807,
+ 2807, 1897, 1888, 5613, 3542, 3758, 5788, 5774, 5791, 3088,
+ 1108, 5803, 1847, 3465, 916, 3405, 187, 4031, 904, 1249,
+ 6135, 2720, 4026, 3100, 632, 1861, 4027, 4028, 4029, 5824,
+ 1671, 6142, 3560, 5381, 5350, 3091, 3106, 5790, 3823, 4317,
+ 2911, 3649, 4343, 3098, 4677, 6016, 4784, 6077, 922, 4529,
+ 2064, 3264, 5087, 632, 632, 632, 1485, 632, 5213, 913,
+ 2709, 4540, 793, 6165, 1239, 5356, 2808, 2709, 1862, 927,
+ 2808, 3391, 3704, 4466, 3602, 939, 1052, 632, 3470, 939,
+ 5978, 939, 3618, 3892, 3998, 5979, 2809, 3084, 3086, 4031,
+ 6187, 4269, 2808, 4032, 3753, 3746, 1017, 3893, 1424, 2570,
+ 1018, 6208, 949, 3099, 5128, 5705, 3101, 3536, 1226, 922,
+ 949, 949, 3118, 2721, 6199, 2810, 2942, 5645, 2694, 3105,
+ 5288, 4243, 6090, 2760, 5344, 6017, 3111, 3006, 3650, 1368,
+ 974, 1808, 4541, 4581, 632, 2619, 2620, 2063, 2624, 6066,
+ 2811, 1448, 1817, 4747, 5699, 1881, 3318, 1883, 1884, 1227,
+ 3237, 1228, 2541, 4318, 6018, 3134, 3138, 5922, 1825, 3139,
+ 3144, 3145, 2809, 1787, 3146, 4032, 1109, 3149, 1176, 4128,
+ 3532, 1666, 918, 918, 3070, 918, 2710, 5504, 4174, 5715,
+ 632, 2805, 3651, 2710, 632, 632, 3543, 5206, 4863, 5926,
+ 3619, 2810, 2755, 5576, 4023, 4024, 5174, 3071, 4967, 4043,
+ 632, 660, 1672, 1110, 2830, 4270, 892, 1508, 2884, 1638,
+ 1425, 1931, 4351, 2808, 2588, 2808, 2811, 5129, 5177, 795,
+ 3852, 5536, 1450, 5181, 2723, 1490, 5183, 1491, 2808, 2808,
+ 4031, 5351, 2809, 3545, 2724, 1426, 2809, 2929, 1009, 4074,
+ 4075, 1673, 1242, 3652, 3705, 3189, 3444, 5577, 3007, 6160,
+ 5578, 1863, 660, 1464, 1932, 1464, 5579, 2805, 2809, 5329,
+ 3533, 2810, 4259, 794, 1111, 2810, 1112, 5659, 662, 5971,
+ 1113, 1451, 1521, 892, 1639, 1075, 1674, 1667, -605, 1205,
+ 2661, 1075, 5052, 3706, 5580, 2070, 2811, 2810, 3351, 2756,
+ 2811, 3471, 187, 1075, 3472, 3534, 1889, 4033, 4034, 4035,
+ 4036, 4037, 4038, 4039, 4040, 4041, 4032, 3834, 6027, 4864,
+ 1890, 1912, 2811, 6046, 892, 1996, 1640, 4748, 3707, 662,
+ 5871, 1509, 814, 1641, 1791, 4319, 1642, 2805, 5325, 5610,
+ 3546, 2805, 3335, 4361, 3535, 4398, 3875, 4260, 4435, 1493,
+ 1010, 1613, 5581, 5861, 1493, 2831, 3716, 892, 4807, 4852,
+ 2574, 1597, 5744, 2805, 5746, 5582, 3653, 1864, 5750, 5751,
+ 2018, 3072, 4968, 1614, 4320, 1558, 1891, 2628, 5583, 4033,
+ 4034, 4035, 4036, 4037, 4038, 4039, 4040, 4041, 2930, 2809,
+ 2027, 2809, 963, 964, 965, 966, 967, 968, 969, 970,
+ 971, 6119, 5870, 1442, 2809, 2809, 5601, 1011, 1009, 4321,
+ 2675, 3127, 4944, 2725, 2675, 6092, 6046, 4948, 2810, 6051,
+ 2810, 3129, 949, 2629, 1615, -459, 838, 2628, 1493, 5660,
+ 4271, 4272, 1493, 2810, 2810, 3708, 4356, 632, 632, 632,
+ 850, 5012, 2061, 2811, 3405, 2811, 3445, 1933, 3485, 3536,
+ 3424, 673, 2726, 674, 2905, 40, 5326, 4791, 2811, 2811,
+ 5661, 4273, 1188, 1190, 1192, 1012, 40, 1194, 1195, 1196,
+ 4770, 3087, 5615, 2629, 3709, 974, 974, 1201, 1892, 678,
+ 5616, 4432, 6134, 6120, 2805, 2630, 2805, 1786, 3336, 3097,
+ 3654, 5423, 44, 1072, 906, 1073, 5009, 2874, 3655, 2805,
+ 2805, 3656, 673, 44, 674, 1643, 5815, 4876, 1443, 3710,
+ 1010, 4357, 6051, -2351, 1616, 40, 3080, -173, 6046, 35,
+ 4033, 4034, 4035, 4036, 4037, 4038, 4039, 4040, 4041, 2699,
+ 1843, 4971, 645, 3127, 48, 2631, 3015, 949, 4848, 5663,
+ 1644, 2700, 1893, 4792, 1645, 48, -459, 49, -173, 892,
+ 2854, 5171, 44, 1934, 5816, 2797, 2714, 4436, 49, 2701,
+ 892, 6152, 5880, 916, 916, 5424, 916, 1011, 5997, 1182,
+ 1617, 50, 1787, 5531, 1618, 5584, 892, 3130, 5585, 1646,
+ 6034, 6035, 50, 6127, 5795, 2631, 1647, 811, 1410, 2883,
+ 56, 2798, 641, 4823, 48, 949, 2632, 974, 5246, 2537,
+ 1376, 56, 4965, 949, 4439, 5251, 3649, 49, 924, 5664,
+ 3131, 949, 4793, 4849, 6051, 3127, 4794, 3436, 3016, -1676,
+ 5781, 6195, 1223, 1620, 3132, 1012, 4623, 4624, 4824, 3809,
+ 892, 50, -1676, 1600, 194, 5953, 5881, 1828, -1676, 632,
+ 1894, 4745, 632, 2875, 642, 892, 2632, 2876, 892, 892,
+ 3446, 5225, 632, 632, 5617, 949, 949, 1601, 40, 4771,
+ 3133, 6128, 3668, 4441, 3486, 1558, 4772, 632, 1622, 949,
+ 632, 2538, 5802, 4773, 4966, 1387, 1377, 1629, 195, 892,
+ 892, 1372, 949, 949, 3606, 5449, 2828, -1676, 1235, 194,
+ 4362, 5528, 1623, 3650, 1249, 44, 4432, 4026, 3558, 3361,
+ 6103, 4027, 4028, 4029, 191, 3714, 4636, 4683, 4637, 4774,
+ 3630, 4746, 1625, -1676, 4301, 5529, 1630, 4825, 3577, 5148,
+ 632, 2702, 5643, 5226, 632, 632, 4302, 5747, 641, 1660,
+ 907, 4775, 5748, 195, 3908, 1437, 3218, 48, 1945, 4363,
+ 3715, 6138, 3119, 3495, 3120, 4578, 3121, 3651, 3122, 2797,
+ 3123, 191, 1054, 1058, 3124, 3175, 1057, 5400, 1055, 632,
+ 1056, 632, -1676, 4590, 5930, 5317, 632, 632, 1661, 3579,
+ 4444, -1676, 1662, 632, 632, 632, 632, 632, 632, 632,
+ 908, 3578, 632, 5749, 632, 2798, 632, 632, 632, 632,
+ 632, 632, 3667, 56, 632, 3164, 632, 632, 5947, 932,
+ 632, 3810, 6168, 1663, -1102, -1077, 740, 3405, 3652, 3630,
+ 3405, 2675, 5331, 4445, 892, 632, 632, 632, 3747, 3748,
+ 3749, 2675, 5954, 1847, 3711, 923, 15, 6012, 1631, 4446,
+ 3692, 4602, 3580, 632, 4258, 1787, 4622, 3669, 3834, 3191,
+ 2884, 3193, 5929, 4611, 3717, 3672, 3644, 3200, 3675, 4615,
+ 3179, 5355, 4638, 3214, 3215, 5955, 3499, 3405, 4070, 3232,
+ 5342, 20, 5773, 5632, 3737, 3405, 1099, 1120, 3251, 3642,
+ 3641, 3643, 4614, 3902, 3266, 3791, 4618, 4619, 4791, 3555,
+ 955, 5333, 4560, 5481, 2855, 5483, 6042, 29, 1953, 2858,
+ 1847, 1955, 660, 1957, 3753, 1959, 1792, 1961, 2838, 1793,
+ 4405, 1965, 2675, 1100, 1448, 4031, 5695, 6030, 3731, 4573,
+ 1449, 2966, 5806, -1676, 1670, 2862, -1075, 2845, 4225, 4154,
+ 233, 3653, 2977, 2943, 4962, 5946, 646, -1723, 934, 4447,
+ 5334, 5696, 999, -1723, 738, 1469, 1482, 1945, 2995, 4478,
+ 3838, 3839, 3840, 3841, 927, 3843, 5304, 927, 5305, 5306,
+ 5307, 4963, 812, 4155, 3, 4, 4574, 939, 939, 662,
+ 956, 4360, 2944, 2932, 4792, 3811, 3012, 2938, 4730, 1008,
+ 3871, 2785, 939, 2786, 1470, 939, 5823, 632, 1479, 5198,
+ 5321, 4032, 5323, 40, 4157, 1450, 3042, 1102, 4632, 4633,
+ 4634, 4635, 3069, 4713, 4639, 4640, 4641, 4642, 4643, 4644,
+ 4645, 4646, 4647, 4648, 6095, 1635, 4397, 3081, -1723, 1471,
+ 1132, 3085, 5785, 664, 1016, 3812, 1474, 1480, 1951, 740,
+ 44, 1793, 1671, 1483, 632, 939, 4314, -1675, 1603, 939,
+ 939, 5752, 3946, 4793, 1451, 4784, 2787, 4794, 4206, 15,
+ -1675, 3104, 1132, 1060, 1636, 3654, -1675, 1677, 40, 4784,
+ 1681, 1475, 1481, 3655, 32, 1476, 3656, -1723, 1600, 1062,
+ 4689, 4690, 48, 1067, 40, 4315, 3247, 3247, 5528, 6105,
+ 187, 3247, 5995, 1867, 20, 49, 1484, 632, 2001, 1637,
+ 3864, 1793, 1601, 910, 1939, 44, 40, 3683, -604, 3684,
+ 1477, 4508, 5529, 3688, 2945, -1675, -1724, 1868, 1600, 50,
+ 4316, 44, -1724, 4930, 3367, 4159, 3935, 2946, 1940, 4913,
+ 2816, 3247, 3247, 3826, 5528, 1945, 755, 187, 6043, 1103,
+ 5636, -1675, 1601, 44, 4153, 6121, 4931, 48, 3368, 1411,
+ 1412, 2780, 673, 4914, 674, 1411, 1412, 2947, 5529, 1095,
+ 49, -150, 2788, 48, 5637, -1102, 4060, 1081, 1413, 6122,
+ 3217, 911, 4067, 5718, 1415, 2817, 49, 677, 5722, 5723,
+ 1843, 755, 5999, 6000, 50, 48, 4213, 4767, 3265, 5860,
+ -1675, 1400, 1400, 2608, 2608, 4436, 3280, -1724, 49, -1675,
+ 50, 4437, 1485, 56, 1104, 4033, 4034, 4035, 4036, 4037,
+ 4038, 4039, 4040, 4041, 4438, 1076, 6188, 1077, 4179, 56,
+ 4154, 6206, 50, 6209, 755, 770, 1105, 4784, 3976, 3977,
+ 3900, 770, 1122, 2583, 3978, 3906, 2064, 3907, -1676, 4124,
+ 4545, 56, 4439, 6220, 4440, 4546, -1724, 3913, 1406, 1407,
+ 3914, -1676, 3915, 3916, 4155, 912, 3918, -1676, 5046, 1126,
+ 3921, -2324, 3922, 4546, 1486, 3924, 1017, 1590, 1205, 4156,
+ 1018, 1400, 1607, 1429, 632, 632, 632, 632, 632, 632,
+ 632, 632, 632, 2569, 632, 4157, 1793, 32, 2582, 29,
+ 5171, 2583, 1017, -2325, -2332, 632, 1018, 632, 1017, 1487,
+ 1205, 4441, 1018, 1488, 6082, 2616, -1676, 35, 1793, 4052,
+ 974, 4054, 4055, 4158, 2017, 3522, 56, 3526, 3527, 40,
+ 1133, 3115, 2935, 3525, 2583, 3126, 5538, 1143, 3127, 3963,
+ 4442, 1142, -1676, 3128, 4366, 632, 3127, 1149, 1489, 632,
+ 4760, -1675, 632, 2561, 632, 3167, 3363, 632, 3168, 3934,
+ 3366, 632, 1249, 1945, 1160, 4026, 44, 4135, 4136, 4027,
+ 4028, 4029, 3371, 3457, 4153, 2583, 2583, 3552, 3519, 1177,
+ 3553, 1490, 1787, 1491, 632, -1676, 3403, 3293, 4248, 3624,
+ 5673, -1676, 3625, 4126, 3272, 40, 3787, 3275, -1676, 3788,
+ -1676, 632, 6130, 1400, -1676, 2608, 5079, 913, 48, 1167,
+ 632, 632, 741, 4443, 4277, 4208, 4159, 3926, 4444, 5807,
+ 3127, 49, 5086, 3299, 3300, 3301, 3302, 3075, 3554, 3076,
+ 4961, 3975, 44, 1492, 2583, 3984, 4169, 949, 2583, 3990,
+ 3448, 3370, 2583, 641, 892, 50, 4494, 4153, 892, 892,
+ 4154, 3991, 755, -1676, 2583, 949, 4093, 2609, 4094, 949,
+ 4097, 4445, 4005, 949, 742, 3746, 4012, 4432, 4045, 2583,
+ 5542, 2583, 949, 1791, 48, 4835, 1204, 4446, 3489, -1676,
+ 3492, 2954, 2955, 4059, 4155, 5014, 2583, 49, 4064, 4133,
+ 949, 4065, 2583, 632, 1205, 4251, 5108, 6074, 4294, 4156,
+ 1219, 4295, 5111, 5112, 632, 3014, 892, 632, 1213, 632,
+ 632, 50, 892, 3031, 3648, 4157, 5543, 4299, 1216, 4325,
+ 4300, 2935, 4326, 4154, 949, 1209, 4394, 5703, -1676, 4326,
+ 56, -1414, 4826, -1414, 4832, 5708, 5709, -1676, 3384, 3386,
+ 3387, 5544, -1676, 4158, 949, 949, 4517, 1221, 4520, 4518,
+ 4806, 4521, 4505, 892, 4506, 4784, 1120, 4155, 4115, 5545,
+ 4116, 4815, 4551, 5546, 4657, 4552, 3089, 4658, 1232, 5993,
+ 5178, 4309, 4156, 4031, 3540, 1787, 949, 4447, 4589, 1787,
+ 4668, 4679, 1233, 4669, 2583, 5547, 1222, 5624, 4157, 5548,
+ 2675, 1234, 4755, 2935, 3734, 4756, 4481, 3405, 4117, 4761,
+ 4118, 3405, 4762, 949, 5549, 1787, 3, 4, 4851, 949,
+ 1017, 1235, 4766, 4453, 1018, 3472, 4158, 5015, 5081, 5116,
+ 3127, 1993, 2583, 949, 5155, 4214, 4215, 2583, 5209, 5215,
+ 949, 3472, 5216, 949, 5222, 5223, 4159, 3127, 3127, 949,
+ 5224, 5357, 5394, 3127, 5358, 4552, 3433, 3434, 5415, 4032,
+ 6169, 5416, 5417, 1236, 5436, 2583, 5936, 5437, 5446, 949,
+ 5452, 1945, 1237, 4491, 4231, 949, 1243, 5454, 3405, 5688,
+ 4491, 5571, 949, 3639, 5572, 5591, 1245, 5625, 3127, -1676,
+ 5626, 5671, 5677, 1371, 5672, 1945, 949, 4235, 5680, 629,
+ 1374, 4491, 5691, 4334, 3682, 5692, 1378, 2993, 4340, 949,
+ 5737, 5550, 5777, 5738, 1787, 2540, 1379, 6210, 5804, 4159,
+ 949, 5692, 4217, 1380, 5827, 5828, 1120, 4065, 2583, 5846,
+ 1384, 5850, 5847, 4424, 1945, 3293, 5179, 1388, 632, 632,
+ 632, -1747, -1747, 5851, 632, 4281, 2583, 4283, 5879, 5885,
+ 5886, 3168, 3168, 3168, 1393, 5889, 5890, 1017, 2583, 2583,
+ 1434, 1018, 5551, 5891, 5918, 5972, 5892, 5919, 4491, 3396,
+ 5986, 632, 892, 2583, 5988, 5994, 5032, 2583, 3127, 6009,
+ 1787, 4330, 6010, 1613, 6032, 1394, 3968, 6033, 3970, 3971,
+ 6073, 6102, 6140, 5685, 5692, 6141, 6163, 5355, 6182, 2583,
+ 4955, 5847, 4956, 4346, 6192, 1614, 6198, 6193, 6207, 4756,
+ 5119, 2583, 5120, 632, 187, 3403, 4784, 6219, 4757, 927,
+ 6193, 6144, 939, 6145, 939, 939, 1434, 4709, -1664, 4711,
+ 1396, 4786, 4787, 1400, 5164, 4790, 5166, 1403, 4729, 3965,
+ 4732, 1404, 3875, 3853, 2654, 892, 2657, 5025, 5432, 892,
+ 5433, 1411, 1412, -1751, -1751, 1417, 1615, -1750, -1750, 5494,
+ 5495, 5836, 5837, 4033, 4034, 4035, 4036, 4037, 4038, 4039,
+ 4040, 4041, 3225, 5967, 5968, 901, 902, 1419, 3521, 1446,
+ 1546, 1434, 4471, 1435, 3529, 1461, 1547, 1462, 1463, 4384,
+ 3247, 3247, 3247, 3247, 5858, 4391, 3247, 3247, 3247, 3247,
+ 3247, 3247, 3247, 3247, 3247, 3247, 5936, 974, 1466, 2614,
+ 2675, 1472, 4784, 1513, 1429, 1542, 1539, -2369, 1544, 1545,
+ 1580, 1584, 1585, 4829, 4660, 3562, 1586, 1597, 1599, 1609,
+ 1612, 1549, 1634, 1651, 1652, 949, 1668, 1787, 3405, 3405,
+ 1678, 1679, 1682, 1687, 1613, 1688, 1616, 1801, 1803, 1805,
+ 1810, 1816, 892, 4583, 949, 1821, 1824, 4464, 1826, 4467,
+ 1831, 949, 3247, 3247, 1692, 632, 1614, 892, 632, 1834,
+ 632, 632, 892, 1836, 4454, 4596, 4456, 1828, 1845, 1850,
+ 632, 1851, 4663, -137, 1853, 632, 1854, 1550, 1856, 1858,
+ 904, 1859, 4818, 1882, 1551, 1870, 1877, 1552, 1879, 1886,
+ 892, 213, 1617, 1120, 1895, 1120, 1618, 4720, 1791, 1907,
+ 1900, 1902, 4175, 1904, 4784, 1901, 1908, 1615, 4828, 1911,
+ 1912, 2883, 1919, 1923, 1553, 2719, 1925, 632, 632, 632,
+ 1926, 1928, 632, 1930, 1935, 1936, 1938, 904, 1948, 1941,
+ 632, 632, 632, 632, 1944, 2614, 1947, 1950, 4835, 1967,
+ 1998, 1787, 2005, 2014, 2007, 1620, 632, 1787, 4526, 632,
+ 1554, 632, 2010, 2015, -1903, -1910, 2022, 2023, 4485, 6040,
+ 2024, 2025, 632, 632, -1900, 2026, 632, -1901, -1904, 4553,
+ 56, 4555, 2028, 4557, 4829, 2029, 2030, 1120, 2031, 2032,
+ 2033, -1902, 2034, 2035, 2036, 2037, 2048, 632, 2038, 632,
+ 1622, 632, 2040, 4827, 2524, 2041, 2042, 1616, 2043, 4025,
+ 2044, 2045, 4591, 2046, 2047, 2050, 1613, 2051, 629, 5409,
+ 632, 4053, 5241, 2052, 1623, 2053, 2054, 4120, 4121, 4122,
+ 2055, 1655, 2056, 2057, 3785, 1556, 2526, 2528, 1614, 2530,
+ 904, 949, 2531, 2540, 1625, 1557, 2544, 2556, 3295, 2564,
+ 3296, 5059, 2586, 2587, 1558, 2592, 4077, 2594, 2595, 2598,
+ 2599, 2601, 2610, 1617, 2602, 4568, 1559, 1618, 2603, 2604,
+ 1449, 2605, 2617, 3405, 3297, 1451, 632, 2648, 3403, 632,
+ 3405, 3403, 2883, 2650, 2660, 3405, 4830, 2662, 3405, 1615,
+ 2663, 904, 632, 2664, 2665, 2684, 2681, 632, 2682, 2608,
+ 4110, 2683, 2609, 4802, 2685, 1683, 2686, 187, 1561, 1562,
+ -2655, 2687, 632, 2688, 2689, 2690, 1620, 2691, 2697, 3606,
+ 2716, 4846, 2722, 2728, 2742, 2746, 632, 2749, 3403, 2748,
+ 2750, 2752, 2753, 2766, 632, 2770, 3403, 2772, 2784, 3298,
+ 1684, 5649, 2771, 2783, 2799, 3630, 892, 2795, 4949, 892,
+ 2813, 892, 2801, 2802, 4936, 2069, 892, 2803, 2070, 2805,
+ 2804, 1622, 2815, 6167, 2814, 2819, 2818, 2820, 2825, 2829,
+ 927, 949, 949, 939, 2835, 939, 939, 632, 2826, 1616,
+ 2069, 2836, 2839, 2070, 2853, 1623, 3299, 3300, 3301, 3302,
+ 2572, 2849, 2863, 3303, 3304, 2870, 2877, -2883, 949, 3305,
+ 2850, 949, 3247, 2880, 892, 1625, 1558, 4831, -2655, 1564,
+ 4264, 2895, 892, 4941, 3957, 2572, 2856, 2897, 2859, 2899,
+ 2906, 2907, -2883, 2574, 2860, 2865, 2923, 3458, 2866, 3967,
+ 2878, 2885, 2886, 4875, 3972, 1617, 2891, 892, 2924, 1618,
+ 2892, 2898, 2900, 2904, 2912, 3474, 2913, 2953, 2574, 3477,
+ 2925, 2931, 2968, 3480, 2883, 2936, 2960, 2981, 2965, -2655,
+ 2967, 2969, 3992, 2970, 2974, 2975, 2976, 2978, 2979, 2980,
+ 2988, 2982, -2655, 1787, 1787, 1787, 2986, 2989, -2655, 2996,
+ 3505, 2997, 3000, 2987, -2655, 4175, 655, 3005, 1620, 3013,
+ -2655, 1631, 4076, -2655, 3024, 3028, 3029, -2655, 949, 3032,
+ 3041, 3044, 3047, 3048, 2061, 3068, 3057, 892, 3061, 892,
+ 3074, 5651, 3090, 3065, 3547, 3078, 3092, 949, 3093, 2805,
+ 3083, 3140, 3094, 3095, 3151, 3108, 3177, -2655, 3196, 3201,
+ 2070, 3267, 3273, 1622, 1075, 3165, 3286, 3292, -2883, 949,
+ 5377, 5670, 3313, -2883, 3311, 3354, 3333, 3338, 3306, 3277,
+ 3359, 2061, 3358, -2655, 3357, 3339, 3360, 1623, 3374, 3307,
+ 3405, 3373, 3372, -2883, 1424, 3375, 3597, 3376, -2883, 3389,
+ 3377, 3381, 3390, 3408, 911, 3293, 3413, 1625, 3425, 3426,
+ 3427, 629, 3428, 3442, 629, 3449, 3450, -2883, 3462, 3461,
+ 3481, 4106, 3464, 3626, 3493, 3490, 3946, 3495, 3504, 3635,
+ 3509, 3514, -2655, 892, 3497, -2655, 3498, 3515, 3517, 3520,
+ 3528, -2655, -2883, 3645, 3544, 3549, 1368, 3551, 1372, 3561,
+ 1075, 3568, 3581, 3658, 5132, 949, 3586, 3587, 3607, 3663,
+ 632, 629, 3614, 3615, 3620, 3623, 632, 3613, 3631, 629,
+ 3641, 3638, 2579, 3640, 3662, 892, 3661, 3678, 3720, 3676,
+ 3733, 4140, 1847, 3741, 4145, 3679, 3742, 3745, 3754, 3761,
+ 3767, 912, 3685, 3768, 3773, 3778, 3789, 2579, -2655, 3800,
+ 3815, 3819, 1787, 892, 3801, 5076, 3700, 3821, 949, 3769,
+ 949, 3829, 3836, 3847, 3848, 3850, 3842, 3851, 3817, 3725,
+ 3849, 3855, 3858, 949, 3862, 949, 2614, 5338, 3863, 3866,
+ 1075, 3396, 3867, 3860, 3872, 903, 3887, 3888, 3889, 3396,
+ 3897, 3898, 3899, 4987, 4988, 632, 3901, 3903, 3917, 2069,
+ 3920, 3923, 2070, 3925, 3928, 787, 3919, 1945, 1942, 3943,
+ 5141, 3933, 3929, 3930, 3931, -2883, 3932, 3405, 3947, 3949,
+ 3956, 892, 3959, 3961, 1909, 3989, 3969, 3937, 4001, 3938,
+ 4058, 3948, 4004, -2655, 2572, 3993, -2185, 3405, 4511, 4078,
+ -2883, -2883, 949, 892, 4111, 4092, 4236, 3986, 3987, 1211,
+ 3988, 3405, 5189, 4143, 4239, 3746, 4022, -2655, 4061, -2655,
+ -2655, 4073, 4104, 3996, 4006, 892, 4105, 2574, 4013, 4014,
+ 4018, 4171, 4020, 4021, 4548, 4044, 4049, 4050, 4131, 4184,
+ 4107, -2655, 4057, 2583, 949, 5025, 4072, 4139, 4109, 4515,
+ 4167, 4132, 4137, 4186, 4138, 4188, 4144, 4177, 4190, 4197,
+ 4205, -2655, 4152, 949, -2655, -2655, -2655, 949, 4211, 5068,
+ 4218, 4223, 5070, 4227, 4216, 4219, 4230, -2883, 4224, 4228,
+ 4232, 4256, 4244, 4245, 4257, 4255, 4262, 4695, 949, 2513,
+ 2514, 2515, 2516, 2517, 2518, 4261, 4096, 4263, 4264, 4279,
+ 4268, 5085, -2883, 5706, 632, 5196, 4280, 892, 4282, 4322,
+ 4288, 4324, 4289, 632, 2513, 2514, 2515, 2516, 2517, 2518,
+ 4290, 4304, 5311, 632, 4298, 4313, 4327, 632, 632, 4329,
+ 1214, 4331, 4333, 632, 4337, 5071, 5072, 5073, 5074, 5075,
+ 4335, 632, -2883, 632, 4341, 4342, 632, -2883, 4347, 4345,
+ 892, 632, 632, 632, 632, 3942, 4348, 632, 632, 632,
+ 632, 632, 632, 632, 632, 632, 632, 4349, 4350, 3405,
+ 632, 632, 632, 5250, 3958, 892, 4367, 4368, 4352, 4369,
+ 632, 3942, 4370, 4371, 4374, 632, 4372, 1787, 4377, 632,
+ 904, -2883, 4373, 4379, 4375, 4381, 4383, 632, 4388, 4386,
+ 632, 4390, 632, 2921, 4402, 4385, 4403, 4404, 4376, 4409,
+ 4378, 4406, 4380, 4382, 4414, 4420, 4392, 4393, 4399, 4457,
+ 632, 4463, 4422, 632, 632, 4083, 4629, 4084, 632, 632,
+ 4462, 4469, 3405, 632, 4472, 632, 4473, 4175, 4702, 4703,
+ 4704, 4705, 5193, 4476, 4480, 4490, 2579, 4407, 4493, 4491,
+ 4500, 4085, 4503, 4509, 4510, 4513, 4514, 4516, 4530, 4544,
+ 4656, 4547, 4562, 4175, 4563, 191, 1054, 1058, 632, 4550,
+ 1057, 4554, 1055, 4556, 1056, 4564, 632, 4565, 3403, 4566,
+ 632, 4567, 3403, 4585, 4584, 4586, 4592, 4593, 4594, 4605,
+ 3216, 4595, 2069, 4597, 4598, 2070, 4610, 4599, 4600, 5239,
+ 4601, 4612, 4613, 4616, 4026, 4620, 2017, 5230, 4621, -2184,
+ 4569, 4670, 632, 4697, 4630, 4653, 3298, 6067, 6068, 4681,
+ 4682, 3247, 4684, 4654, 4655, 4685, 4726, 2572, 4662, 632,
+ 4714, 4687, 3406, 4725, -2883, 892, 4698, 4733, 4710, -2883,
+ 4712, 4734, 4718, 3562, 4739, 4740, 4721, 632, 4723, 3403,
+ 5255, 5256, 4741, 4738, 4743, 5377, 4752, 4749, 4758, 4777,
+ 2574, 4798, 187, 3299, 3300, 3301, 3302, 4754, 949, 4801,
+ 4086, 4769, 4808, 4809, 5322, 3247, 4087, 4811, 4812, 4799,
+ 4814, 4818, 4800, 4821, 4822, 4838, 4853, 4549, 4841, 5282,
+ 4854, 4857, 3405, 4855, 4856, 4867, 4869, 4868, 187, 4870,
+ 4871, 4872, 4881, 1249, 4883, 4884, 4026, 5431, 4890, 4901,
+ 4027, 4028, 4029, 4902, 4907, 4910, 4926, 4927, 4929, 1787,
+ 4828, 4932, 4942, 4943, 1787, 892, 1787, 4958, 5149, 4688,
+ 4945, 4946, 4947, 4969, 4984, 4998, 4979, 5004, 4990, 5017,
+ 5469, -2883, 5005, 5027, 5299, 5300, 5033, 5034, 5044, 5051,
+ 1787, 892, 4175, 2513, 2514, 2515, 2516, 2517, 2518, 5011,
+ 2884, 5010, 5053, 5050, 5055, 5057, 5058, 5054, 5069, 4606,
+ 5063, 3152, 5077, 5083, 5084, -2883, 5093, 5101, 5104, 5100,
+ -2883, 5105, 5289, 5290, 5109, 5292, 5340, 3405, 5103, 5110,
+ 5106, 4892, 5113, 5118, 5124, 5130, 949, 5135, 5133, 949,
+ 5134, -2186, 4900, 5139, 5145, 2069, 5146, 5172, 2070, 5182,
+ 5154, 5168, 4631, 5158, 5175, 5191, 5186, 5194, 4233, 5195,
+ 5205, 5208, 5210, 5212, -2883, 4088, 5217, 5218, 5247, 5227,
+ 5248, 5249, 5258, 5252, 5257, 5259, 4089, 4652, 5278, 5271,
+ 2572, 5280, 1249, 5274, 5293, 4026, 5284, -2883, 5294, 4027,
+ 4028, 4029, 5285, 5301, 5731, 5312, 5733, 5302, 5303, 5315,
+ 5319, 5308, 5320, 632, 5327, 5336, 5330, 5541, 5335, 5337,
+ 5345, 5339, 5349, 2574, 5393, 5359, 5343, 5395, 5396, 2579,
+ 5361, 629, 5365, 5354, 5366, 629, 5368, 5370, 3405, 949,
+ 949, 5372, 5373, 892, 5374, 5383, 5389, 5401, 5399, 3127,
+ 949, 5398, 5391, 5404, 2061, 5410, 5405, 632, 632, 3403,
+ 3403, 5406, 5841, 3247, 4031, 5420, 5414, 949, 4305, 5421,
+ 5422, 5430, 5438, 5444, 5434, 5448, 5473, 5451, 5476, 5470,
+ 5482, 187, 5485, 5493, 5496, 5497, 5501, 5502, 5503, 5508,
+ 892, 5514, 4691, 3247, 5036, 892, 632, 632, 5515, 5867,
+ 5519, 3396, 629, 5525, 5526, 3396, 5527, 632, 5534, 5556,
+ 4968, 5564, 5567, 5570, 5562, 5574, 5575, 5594, 5595, 5599,
+ 5606, 5741, -2883, 5622, 5604, 5627, 5633, 5634, 5635, 974,
+ 5641, 5656, 5588, 5657, 5665, 5669, 5681, 5683, -2883, 2069,
+ 4032, 5687, 2070, -2883, 5685, 5902, 5904, 5686, 949, 5689,
+ 5477, 1787, 5702, 5713, 5719, 5704, 5711, 5712, 5756, 5761,
+ 5765, 5758, 5725, 5771, 5769, 5779, 5489, 5799, 5793, 5784,
+ 5797, 5798, 5800, 5801, 2572, 5811, 5812, 632, 5813, 5818,
+ 5810, -2883, 5820, 5822, 5838, 5829, 5839, -2883, 3405, 5840,
+ 632, 5843, 5862, 5853, 5863, 4400, 5506, 5445, 4112, 5865,
+ 5866, 3406, 5882, 4031, 632, 5901, 5907, 2574, 5445, 5878,
+ 5910, 5913, 5915, 5917, 5921, 5924, -2657, 5925, 5511, 5941,
+ 5942, 5944, 5943, 5951, -2883, 5952, 5957, 5958, 5965, 5960,
+ 5969, 5970, 632, 5975, 5982, 632, 2513, 2514, 2515, 2516,
+ 2517, 2518, 2579, 632, 632, 5984, 892, 5991, 6004, 6006,
+ 632, 632, 6013, 5912, 5911, 632, 6022, 6023, 6041, 6058,
+ 6069, 6039, 632, 5996, 6072, 632, 632, 6088, 6021, 6080,
+ 6086, 6106, 632, 6112, 6117, 6118, 4692, 6113, 3405, 4032,
+ 6123, 6125, 6126, 6146, 3405, 6147, 6157, 6170, 6148, 6172,
+ 6185, 6183, 632, 6181, 3403, 4203, 6173, 6190, 6011, 632,
+ 6191, 3403, 6201, 6202, 632, 6196, 3403, 632, 632, 3403,
+ 6205, 6160, 5127, 5629, -2657, 632, 6218, 4129, 6211, 1436,
+ 5896, 1649, -2883, 6214, 3693, 3247, 632, -2883, 2937, 3612,
+ 4274, 1648, 4844, 4837, 632, -2883, 1543, 5743, 6007, 5197,
+ 5199, 3780, 3732, 4419, 4033, 4034, 4035, 4036, 4037, 4038,
+ 4039, 4040, 4041, 5553, 632, 5211, 2563, 5895, 6087, 4986,
+ 5605, 4833, 629, 629, 5318, -2657, 6063, 6064, 4834, 5587,
+ 4221, -2883, 892, 3927, 2935, 5998, 5487, 6083, -2657, 5916,
+ 5914, 6020, 5845, 5908, -2657, 949, 3405, 6098, 4226, 5347,
+ -2657, 5008, 5037, 4572, 5016, 5876, -2657, 4576, 4978, -2657,
+ 4292, 4842, 4479, -2657, 3798, 4989, 3799, 5003, 5341, 5593,
+ 1633, 5814, 892, 2069, 4519, 6143, 2070, 5061, 6217, 6203,
+ 5568, 5245, 5513, 4425, 5045, 6025, 2579, 3004, 5721, 949,
+ 5516, 5253, 3396, -2657, 892, 5884, 736, -2883, 1050, 789,
+ 4570, 949, 5078, 5698, 5700, 6139, 3827, 5541, 2572, 2513,
+ 2514, 2515, 2516, 2517, 2518, -2883, 3067, 632, 187, -2657,
+ 1990, 4212, 5080, 3467, 632, 5047, 3063, 5630, 4536, 3079,
+ 5678, 5808, 1121, 3096, 4389, 949, 3730, 4873, 4336, 6045,
+ 6171, 2574, 5064, 4033, 4034, 4035, 4036, 4037, 4038, 4039,
+ 4040, 4041, 1161, 2696, 3757, 1381, 5973, 5736, 5065, 6186,
+ 3412, 2962, 5697, 4763, 5992, 5200, 892, 2584, -2657, 817,
+ 2536, -2657, 818, 4173, 5107, 4185, 2645, -2657, 2644, -2883,
+ 3422, 5987, 5855, 2649, 4147, 4716, 5730, 4731, 5450, 4141,
+ 5668, 4764, 632, 5667, 4142, 5974, 6154, 6070, 5844, 5652,
+ 1120, 2593, 4664, 3334, 5856, 4108, 3337, 5857, 632, 3253,
+ 5152, 4100, 4102, 1787, 3981, 4091, 5735, 4617, 3756, 4011,
+ 3349, 5872, 1432, 3410, 3406, 0, 0, 3406, 0, 0,
+ 0, 0, 949, 0, -2657, 0, 0, 0, 0, 632,
+ 0, 3403, 0, 0, 0, 0, 0, 0, 0, 0,
+ 5896, 0, 0, 0, 0, 0, -2883, 629, 0, 0,
+ 0, -2883, 5352, 974, 629, 0, 0, 0, 0, 629,
+ 5825, 0, 629, 5184, 3406, 0, 0, 0, 0, 0,
+ 0, -2883, 3406, 0, 0, 892, 0, 892, 0, 3247,
+ 3247, 787, 0, 2513, 2514, 2515, 2516, 2517, 2518, 0,
+ 0, 0, 0, 4175, 0, -2883, 0, 0, 0, 0,
+ 0, 0, 0, 5869, 0, 974, 0, 0, 949, -2657,
+ 5510, 0, 0, 0, 0, 0, 0, 0, 5512, 0,
+ 0, 0, 0, 0, 3396, 0, 0, 0, 0, 3396,
+ 0, 0, 3396, -2657, 0, -2657, -2657, 0, 0, 632,
+ 0, 0, 632, 0, 0, 632, 632, 632, 4803, 0,
+ 2579, 0, 0, 187, 187, 5555, 0, -2657, 0, 0,
+ 0, 1249, 0, 0, 4026, 0, 0, 0, 4027, 4028,
+ 4029, 0, 632, 632, 0, 0, 632, -2657, 0, 0,
+ -2657, -2657, -2657, 0, 5231, 0, 0, 0, 0, 1120,
+ 0, 0, 0, 0, 0, 0, 632, 0, 0, 0,
+ 0, 0, 632, 0, 0, 0, 632, 0, 3403, 0,
+ 0, 0, 892, 632, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 5254, 6194, 632, 0, 3403, 632,
+ 0, 0, 0, 0, 949, 0, 949, 0, 0, 0,
+ 632, 0, 3403, -2883, 0, 0, 5270, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 5471, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 4915, 0, 0, 4918,
+ 0, 892, 949, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 632, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 5324, 0, 0, 0, 6179, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 5298, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1787, 0, 629, 0, 0, 632, 0, 0,
+ 2069, 5730, 6204, 2070, 0, -2883, 0, -2883, -2883, -2883,
+ 0, 0, 6179, 0, 0, 0, 0, 2513, 2514, 2515,
+ 2516, 2517, 2518, 0, 0, 0, 0, 0, 0, 0,
+ 6179, 0, -2883, 0, 5592, 2572, 0, 0, 0, 0,
+ 5000, 0, 2573, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 6132, 6133, 0, 0, 2935, 632, 0,
+ 3403, 892, 0, 0, 6081, 5618, 0, 0, 2574, 0,
+ 0, 0, 0, 0, 0, 71, 187, 191, 180, 186,
+ 175, 80, 184, 83, 181, 0, 183, 84, 85, 86,
+ 106, 0, 0, 124, 632, 129, 159, 178, 632, 5382,
+ 632, 0, 185, 904, 0, 0, 0, 0, 4032, 0,
+ 0, 0, 0, 0, 632, 5620, 0, 0, 0, 1120,
+ 0, 632, 0, 3403, 632, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 632, 0, 0, 3942, 0,
+ 0, 0, 632, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 629, 0, 0, 0, 0, 0, 0, 0, 0,
+ 5653, 0, 0, 2575, 0, 0, 0, 0, 2576, 0,
+ 0, 629, 0, 892, 5658, 0, 0, 0, 892, 892,
+ 974, 0, 0, 632, 0, 629, 0, 0, 0, 632,
+ 632, 949, 0, 0, 0, 5679, 0, 0, 0, 0,
+ 0, 0, 2063, 0, 0, 949, 0, 0, 0, 0,
+ 0, 0, 2578, 0, 4385, 0, 0, 0, 0, 0,
+ 0, 3396, 0, 0, 630, 632, 0, 0, 0, 0,
+ 0, 0, 0, 632, 0, 0, 1787, 939, 0, 0,
+ 0, 782, 0, 784, 0, 0, 0, 790, 0, 0,
+ 0, 0, 798, 806, 810, 0, 813, 0, 0, 806,
+ 806, 632, 843, 3403, 846, 0, 0, 2579, 0, 5726,
+ 5727, 900, 900, 900, 5787, 0, 0, 0, 2069, 0,
+ 0, 2070, 939, 0, 0, 2071, 2072, 2073, 0, 0,
+ 892, 892, 4033, 4034, 4035, 4036, 4037, 4038, 4039, 4040,
+ 4041, 0, 0, 2571, 1516, 0, 0, 0, 0, 0,
+ 0, 0, 0, 2572, 632, 0, 0, 0, 0, 0,
+ 2573, 0, 0, 632, 632, 632, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 632, 1787, 0, 1517,
+ 892, 0, 0, 629, 0, 632, 2574, 632, 0, 632,
+ 0, 0, 0, 0, 0, 0, 632, 0, 3403, 0,
+ 2581, 6003, 0, 0, 5859, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 632, 187, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 5265,
+ 1518, 0, 1787, 0, 949, 0, 629, 0, 0, 187,
+ 0, 5275, 0, 0, 3406, 630, 929, 929, 3406, 0,
+ 929, 0, 0, 187, 940, 5852, 843, 5854, 0, 976,
+ 0, 0, 940, 6052, 6053, 940, 0, 1519, 843, 0,
+ 929, 0, 0, 843, 0, 0, 0, 929, 0, 843,
+ 0, 0, 0, 0, 0, 0, 0, 632, 0, 3403,
+ 0, 2575, 2509, 0, 0, 0, 2576, 0, 0, 0,
+ 0, -2883, -2883, -2883, 2513, 2514, 2515, 2516, 2517, 2518,
+ 1520, 0, 0, 0, 0, 3406, 0, 0, 0, 2577,
+ 2260, 0, 0, 0, 632, 0, 0, 2061, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 632, 0, 0,
+ 2578, 0, 0, 0, 0, 0, 0, 632, 1521, 0,
+ 0, 0, 1522, 0, 0, 0, 0, 632, 0, 0,
+ 949, 0, 0, 0, 0, 1996, 0, 0, 5770, 0,
+ 1996, 1996, 0, 632, 0, 0, 0, 0, 0, 0,
+ 0, 2318, 0, 1523, 1524, 0, 949, 0, 0, 0,
+ 0, 0, 0, 0, 0, 2579, 629, 0, 2580, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1525, 0, 0, 0, 35, 632, 0, 0,
+ 6026, 1526, 0, 0, 0, 0, 0, 632, 0, 3403,
+ 1527, 0, 0, 0, 0, 632, 632, 0, 0, 1528,
+ 0, 632, 0, 191, 6047, 6050, 0, 1529, 3942, 0,
+ 6048, 0, 6049, 0, 0, 0, 3396, 0, 187, 1530,
+ 632, 632, 0, 0, 0, 0, 0, 0, 1531, 0,
+ 0, 0, 1532, 5809, 0, 0, 0, 0, 2581, 0,
+ 0, 629, 0, 0, 0, 0, 0, 0, 6111, 0,
+ 0, 0, 0, 0, 949, 0, 0, 0, 0, 0,
+ 0, 0, 0, 6212, 6213, 0, 0, 0, 0, 0,
+ -2882, 0, 0, 0, 0, 0, 0, 632, 0, 3403,
+ 0, 0, 5849, 632, 0, 3403, 0, 1533, 0, 0,
+ 0, 0, 0, 0, 0, 0, 191, 6047, 6050, 0,
+ 0, 632, 632, 6048, 0, 6049, 0, 0, 187, 0,
+ -2673, 0, 0, 3287, 0, 0, 632, 0, 0, 0,
+ 0, 0, 0, 0, 0, 3406, 3406, 0, 0, 0,
+ 632, 0, 0, 0, 3942, 0, 3942, 0, 0, 0,
+ 2509, 0, 629, 0, 0, 0, 0, 0, 0, 2510,
+ 2511, 2512, 2513, 2514, 2515, 2516, 2517, 2518, 0, 0,
+ 0, 0, 0, 0, 0, 632, 4003, 2069, -2882, 0,
+ 2070, 0, 0, 0, 2071, 2072, 2073, 0, 0, 0,
+ 0, 0, 0, 0, 0, 632, 0, 3403, 0, 0,
+ 0, 0, 1787, 0, 0, 0, 0, 0, 191, 6047,
+ 6050, 0, 2572, 0, 0, 6048, 0, 6049, -2673, 2573,
+ 6131, 0, 0, 0, 1546, 0, 0, 0, 0, -2882,
+ 1547, 0, 0, 0, 632, 632, 0, 0, 939, 632,
+ 0, 0, -2882, 632, 0, 2574, 0, 1787, -2882, 0,
+ 0, 1029, 0, 0, -2882, 632, 632, 843, 0, 929,
+ -2882, 929, 0, -2882, 929, 1787, 0, -2882, 0, -2673,
+ 0, 976, 0, 0, 0, 1549, 1087, 0, 929, 0,
+ 0, 0, -2673, 0, 929, 0, 0, 0, -2673, 0,
+ 0, 0, 0, 0, -2673, 0, 0, -2882, 0, -2882,
+ -2673, 0, 629, -2673, 0, 0, 0, -2673, 630, 0,
+ 939, 939, 0, 0, 0, 0, 0, 940, 0, 6197,
+ 0, 976, 0, -2882, 940, 0, 0, 940, 0, 0,
+ 0, 1550, 0, 0, 0, 0, 0, -2673, 1551, 0,
+ 0, 1552, 0, 929, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 187, 0, 0, 0, 0, 0,
+ 2575, 0, 0, -2673, 0, 2576, 0, 0, 1553, 0,
+ 3406, 0, -2882, 0, 0, -2882, 0, 3406, 0, 187,
+ 0, -2882, 3406, 0, 0, 3406, 0, 0, 2577, 2260,
+ 0, 0, 629, 0, 0, 0, 843, 0, 629, 0,
+ 0, 0, 0, 0, 1554, 1231, 0, 0, 0, 2578,
+ 0, 0, -2673, 0, 0, -2673, 6115, 0, 0, 0,
+ 0, -2673, 0, 0, 0, 1353, 1353, 0, 843, 806,
+ 0, 0, 0, 806, 0, 0, 0, 0, -2882, 0,
+ 0, 0, 0, 0, 0, 0, 0, 843, 0, 0,
+ 2318, 0, 843, 0, 0, 0, 0, 0, 1353, 0,
+ 0, 0, 0, 0, 2579, 0, 0, 0, 0, 0,
+ 0, 0, 6110, 0, 0, 1655, 0, 0, -2673, 1556,
+ 6151, 0, 0, 0, 0, 0, 0, 0, 0, 1557,
+ 0, 3288, 0, 0, 0, 0, 0, 0, 1558, 0,
+ 629, 0, 0, 1353, 0, 0, 0, 0, 0, 0,
+ 1559, 0, 0, 0, 0, 0, 0, 843, 0, 0,
+ 0, 0, 0, -2882, 0, 0, 0, 0, 0, 0,
+ 843, 0, 0, 0, 0, 787, 0, 0, 0, 0,
+ 6151, 0, 0, 0, 0, 843, 0, -2882, 6200, -2882,
+ -2882, 0, 1561, 1562, 0, 0, 0, 2581, 0, 0,
+ 939, 939, 0, -2673, 843, 0, 0, 0, 0, 929,
+ 929, -2882, 0, 0, 187, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1563, 0, 0, -2673, 0, -2673,
+ -2673, 0, 0, 0, -2882, 0, -2882, -2882, 0, 0,
+ 0, 806, 806, 0, 0, 0, 0, 0, 0, 0,
+ 0, -2673, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1353, 1353, 0, 0, 0, -136,
+ 0, -2673, 0, 0, -2673, -2673, -2673, 0, 630, 0,
+ 929, 0, 0, 0, 940, 0, 0, 976, 940, 1,
+ 940, 0, 0, 1564, 0, 929, 0, 3406, 0, 2509,
+ 2, 0, 3, 4, 0, 0, 0, 0, 2510, 2511,
+ 2512, 2513, 2514, 2515, 2516, 2517, 2518, 0, 0, 843,
+ 5, 0, 0, 0, 0, 0, 929, 929, 0, 0,
+ 6, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 7, 0, 8, 9, 0, 0, 843, 843,
+ 843, 10, 929, 11, 630, 0, 630, 630, 0, 0,
+ 0, 0, 0, 0, 0, 12, 0, 13, 0, 0,
+ 2069, 0, 0, 2070, 0, 0, 0, 2071, 2072, 2073,
+ 0, 0, 0, 0, 14, 0, 0, 15, 0, 0,
+ 929, 0, 929, 929, 0, 2571, 0, 0, 0, 0,
+ 0, 0, 16, 0, 17, 2572, 0, 0, 18, 0,
+ 2069, 0, 2573, 2070, 19, 0, 0, 2071, 2072, 2073,
+ 0, 0, 20, 0, 21, 1353, 0, 0, 0, 0,
+ 0, 22, 699, 0, 0, 2571, 0, 2730, 2574, 0,
+ 3942, 0, 0, 0, 0, 2572, 0, 0, 0, 23,
+ 0, 1970, 2573, 1970, 0, 0, 0, 843, 0, 782,
+ 0, 0, 0, 0, 0, 0, 24, 0, 0, 0,
+ 0, 0, 0, 0, 3406, 2731, 0, 0, 2574, 0,
+ 0, 0, 0, 2006, 0, 843, 0, 0, 702, 2012,
+ 0, 0, 0, 0, 3406, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1353, 703, 0, 0, 0, 3406, 0,
+ 0, 0, 0, 25, 26, 0, 0, 0, 0, 27,
+ 0, 0, 1034, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 28, 0, 0, 0, 0, 1353, 0,
+ 0, 0, 0, 0, 0, 0, 2732, 0, 0, 0,
+ 0, 29, 0, 2575, 0, 0, 0, 706, 2576, 0,
+ 0, 0, 0, 0, 0, 0, 707, 1353, 1353, 1353,
+ 0, 1353, 0, 0, 0, 0, 0, 0, 0, 708,
+ 0, 2577, 2260, 0, 0, 2733, 0, 0, 0, 0,
+ 0, 1353, 0, 2575, 0, 30, 0, 0, 2576, 0,
+ 0, 0, 2578, 0, 0, 0, 0, 0, 0, 31,
+ 0, 0, 1037, 0, 0, 32, 33, 0, 34, 0,
+ 0, 2577, 2260, 35, 0, 0, 0, 0, 0, 36,
+ 843, 0, 37, 0, 0, 0, 0, 0, 0, 38,
+ 0, 0, 2578, 2318, 0, 0, 39, 40, 1353, 0,
+ 0, 0, 0, 0, 41, 0, 0, 2579, 42, 0,
+ 2580, 0, 0, 0, 0, 712, 3406, 0, 43, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 2318, 44, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1353, 0, 3877, 2579, 1353, 1353,
+ 2580, 0, 0, 0, 45, 0, 2734, 0, 0, 843,
+ 843, 843, 2659, 0, 1353, 46, 0, 0, 1516, 0,
+ 1516, 47, 0, 0, 0, 0, 48, 0, 0, 3406,
+ 0, 0, 0, 0, 0, 0, 0, 806, 0, 49,
+ 213, 2735, 0, 0, 717, 0, 0, 0, 0, 0,
+ 2581, 0, 0, 1517, 0, 1517, 0, 0, 0, 0,
+ 0, 0, 0, 50, 0, 51, 52, 53, 54, 55,
+ 0, 1041, 2751, 0, 2736, 0, 0, 806, 0, 0,
+ 929, 721, 56, 0, 0, -136, 0, 0, 722, 0,
+ 2581, 723, 0, 843, 2779, 0, 0, 0, 0, 0,
+ 0, 0, 843, 0, 0, 929, 0, 0, 0, 0,
+ 724, 0, 0, 0, 1518, 0, 1518, 1043, 0, 0,
+ 0, 0, 0, 0, 726, 0, 0, 1044, 0, 0,
+ 0, 728, 976, 0, 843, 0, 0, 806, 0, 2737,
+ 2847, 2847, 0, 0, 2847, 0, 2738, 0, 0, 0,
+ 0, 1519, 2509, 1519, 806, 0, 0, 843, 0, 0,
+ 843, 2510, 2511, 2512, 2513, 2514, 2515, 2516, 2517, 2518,
+ 0, 0, 733, 0, 4015, 0, 0, 4016, 0, 0,
+ 0, 0, 929, 0, 0, 0, 0, 0, 0, 3406,
+ 0, 3878, 2509, 0, 1520, 0, 1520, 0, 0, 0,
+ 843, 2510, 2511, 2512, 2513, 2514, 2515, 2516, 2517, 2518,
+ 0, 0, 929, 929, 929, 929, 843, 4017, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 843, 0, 1521, 0, 0, 0, 1522, 0, 1522, 0,
+ 0, 1353, 1353, 1353, 0, 0, 0, 0, 0, 0,
+ 0, 0, 2069, 0, 0, 2070, 0, 0, 0, 2071,
+ 2072, 2073, 0, 0, 0, 0, 0, 1587, 1524, 0,
+ 1524, 0, 0, 0, 0, 0, 0, 2571, 0, 0,
+ 0, 0, 0, 0, 3406, 0, 0, 2572, 0, 0,
+ 0, 0, 0, 0, 2573, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1588, 0, 0, 0,
+ 35, 0, 35, 0, 0, 1526, 0, 3879, 0, 0,
+ 2574, 0, 0, 0, 1527, 0, 1527, 0, 0, 0,
+ 0, 0, 0, 1528, 0, 1528, 0, 0, 0, 0,
+ 843, 1589, 0, 2763, 0, 0, 0, 0, 0, 0,
+ 0, 843, 0, 1530, 0, 1530, 0, 0, 0, 929,
+ 929, 0, 1531, 0, 1531, 0, 1532, 0, 1532, 0,
+ 0, 0, 0, 2069, 0, 929, 2070, 0, 0, 0,
+ 2071, 2072, 2073, 0, 0, 3406, 0, 0, 3880, 0,
+ 0, 0, 0, 843, 2847, 0, 0, 0, 2571, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 2572, 929,
+ 929, 929, 929, 0, 0, 2573, 0, 0, 843, 0,
+ 0, 1533, 0, 1533, 0, 843, 0, 3881, 3060, 0,
+ 0, 0, 0, 0, 0, 2575, 0, 0, 0, 0,
+ 2576, 2574, 0, 630, 0, 0, 630, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 940, 940, 0, 0,
+ 0, 0, 0, 2577, 2260, 0, 0, 976, 976, 0,
+ 0, 940, 0, 0, 940, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 2578, 0, 3877, 0, 0, 929,
+ 929, 0, 0, 0, 0, 0, 929, 0, 843, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1516, 0, 0, 0, 0, 1970, 0, 0, 0, 0,
+ 0, 0, 929, 0, 940, 2318, 0, 3143, 940, 940,
+ 0, 843, 843, 0, 929, 3406, 0, 0, 0, 2579,
+ 0, 843, 2580, 0, 0, 1517, 0, 0, 843, 0,
+ 0, 843, 3060, 0, 0, 782, 2575, 0, 782, 3180,
+ 0, 2576, 0, 1353, 0, 1353, 0, 0, 0, 0,
+ 1353, 1353, 0, 0, 0, 0, 0, 1353, 1353, 1353,
+ 1353, 1353, 1353, 1353, 2577, 2260, 1353, 0, 1353, 976,
+ 1353, 1353, 1353, 1353, 1353, 1353, 0, 0, 1353, 0,
+ 1353, 1353, 0, 1516, 1353, 2578, 1518, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1353,
+ 1353, 1353, 0, 0, 0, 3406, 0, 0, 0, 0,
+ 0, 3406, 2581, 0, 0, 0, 0, 1353, 1517, -136,
+ 0, 0, 0, 1519, 0, 0, 2318, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ 2579, 0, 0, 2580, 0, 0, 0, 0, 0, 0,
+ 2, 698, 3, 4, 0, 0, 0, 929, 0, 0,
+ 786, 3878, 0, 0, 0, 0, 1520, 0, 0, 0,
+ 5, 0, 0, 0, 0, 0, 0, 0, 0, 1518,
+ 6, 0, 0, 772, 0, 0, 0, 0, 0, 772,
+ 0, 0, 7, 0, 8, 9, 0, 0, 0, 0,
+ 0, 10, 0, 11, 0, 0, 0, 0, 1522, 0,
+ 0, 0, 0, 3406, 2509, 12, 1519, 13, 0, 0,
+ 0, 0, 0, 2510, 2511, 2512, 2513, 2514, 2515, 2516,
+ 2517, 2518, 0, 2581, 14, 0, 0, 15, 0, 4068,
+ 1524, 0, 2069, 0, 0, 2070, 0, 0, 0, 2071,
+ 2072, 2073, 16, 0, 17, 0, 0, 0, 18, 1520,
+ 0, 1353, 0, 0, 19, 0, 0, 2571, 0, 0,
+ 0, 0, 20, 0, 21, 0, 0, 2572, 0, 0,
+ 0, 22, 35, 0, 2573, 0, 0, 1526, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1527, 1521, 0, 23,
+ 0, 1522, 0, 0, 0, 1528, 0, 0, 1353, 0,
+ 2574, 0, 0, 2763, 0, 0, 24, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1530, 0, 0, 0, 0,
+ 0, 0, 1604, 1524, 1531, 2509, 0, 0, 1532, 0,
+ 0, 0, 0, 0, 2510, 2511, 2512, 2513, 2514, 2515,
+ 2516, 2517, 2518, 0, 0, 0, 0, 3276, 3880, 0,
+ 0, 1353, 0, 25, 26, 0, 0, 0, 0, 27,
+ 0, 1605, 0, 0, 0, 35, 0, 0, 0, 0,
+ 1526, 0, 0, 28, 0, 0, 0, 0, 0, 1527,
+ 0, 0, 0, 1533, 0, 0, 0, 3881, 1528, 0,
+ 0, 29, 0, 0, 0, 0, 1606, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1530, 0,
+ 0, 0, 0, 0, 0, 2575, 0, 1531, 0, 0,
+ 2576, 1532, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1546, 0, 30, 0, 0, 0, 1547,
+ 0, 0, 0, 2577, 2260, 0, 0, 0, 0, 31,
+ 0, 0, 0, 0, 1548, 32, 33, 0, 34, 0,
+ 0, 0, 0, 35, 2578, 0, 0, 0, 0, 36,
+ 0, 0, 37, 0, 0, 0, 1533, 0, 0, 38,
+ 0, 0, 0, 0, 1549, 0, 39, 40, 0, 0,
+ 0, 0, 0, 0, 41, 0, 0, 0, 42, 0,
+ 0, 0, 0, 0, 0, 2318, 0, 0, 43, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2579,
+ 0, 0, 2580, 0, 44, 0, 0, 0, 1353, 1353,
+ 1353, 1353, 1353, 1353, 1353, 1353, 1353, 0, 1353, 0,
+ 1550, 0, 0, 0, 45, 0, 0, 1551, 843, 1353,
+ 1552, 1353, 0, 0, 0, 46, 0, 0, 843, 0,
+ 0, 47, 0, 0, 0, 0, 48, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1553, 0, 49,
+ 0, 0, 0, 0, 0, 0, 0, 843, 0, 1353,
+ 0, 0, 929, 1353, 0, 0, 1353, 0, 1353, 0,
+ 0, 1353, 0, 50, 0, 1353, 0, 0, 0, 0,
+ 0, 0, 2581, 1554, 0, 0, 0, 0, 0, 0,
+ 0, 0, 56, 2069, 0, -136, 2070, 0, 3407, 0,
+ 2071, 2072, 2073, 0, 843, 843, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1353, 0, 0, 2571, 0,
+ 0, 0, 0, 0, 1353, 1353, 0, 0, 2572, 0,
+ 0, 0, 0, 0, 0, 2573, 0, 0, 843, 0,
+ 0, 0, 0, 0, 0, 0, 3451, 0, 3456, 0,
+ 0, 0, 0, 0, 1555, 0, 0, 0, 1556, 0,
+ 0, 2574, 0, 0, 0, 0, 0, 0, 1557, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1558, 0, 0,
+ 0, 0, 0, 0, 2509, 0, 0, 0, 782, 1559,
+ 782, 0, 0, 2510, 2511, 2512, 2513, 2514, 2515, 2516,
+ 2517, 2518, 0, 0, 0, 0, 4421, 1353, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 630, 0,
+ 0, 940, 976, 940, 940, 0, 0, 929, 1560, 0,
+ 843, 1561, 1562, 0, 0, 0, 0, 0, 0, 1051,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 806, 0, 0, 0, 0, 0, 0, 1516, 0,
+ 0, 0, 2779, 1563, 0, 0, 0, 0, 0, 0,
+ 3565, 843, 0, 0, 0, 2069, 2575, 3576, 2070, 0,
+ 0, 2576, 2071, 2072, 2073, 0, 843, 0, 0, 1119,
+ 698, 0, 0, 1517, 0, 0, 0, 0, 0, 0,
+ 2571, 0, 0, 0, 2577, 2260, 0, 0, 843, 0,
+ 2572, 0, 0, 0, 0, 0, 0, 2573, 0, 0,
+ 0, 0, 0, 0, 0, 2578, 0, 0, 0, 843,
+ 0, 0, 1564, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 806, 2574, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1518, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 929, 2318, 0, 929, 0,
+ 0, 0, 0, 0, 0, 0, 0, 772, 0, 772,
+ 2579, 772, 0, 2580, 0, 1218, 0, 772, 1198, 1199,
+ 0, 1519, 0, 0, 843, 843, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1240, 0, 0, 0, 3719,
+ 0, 3722, 3724, 1356, 0, 0, 1365, 1119, 1367, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1520, 0, 0, 0, 0, 0,
+ 0, 0, 1353, 1353, 1353, 0, 0, 0, 1353, 0,
+ 0, 0, 0, 0, 0, 0, 929, 0, 2575, 0,
+ 0, 0, 0, 2576, 0, 0, 0, 0, 0, 929,
+ 0, 0, 0, 2581, 0, 1353, 1522, 929, 0, 0,
+ 0, 0, 0, 0, 0, 0, 2577, 2260, 0, 0,
+ 2779, 0, 0, 0, 0, 843, 0, 0, 0, 0,
+ 0, 3824, 0, 0, 782, 0, 0, 2578, 1524, 0,
+ 0, 0, 0, 0, 0, 0, 929, 3835, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3719, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 929, 0, 3857,
+ 0, 0, 0, 0, 0, 0, 0, 0, 2318, 0,
+ 35, 0, 2762, 0, 0, 1526, 0, 0, 0, 0,
+ 0, 0, 2579, 0, 1527, 2580, 0, 0, 0, 0,
+ 0, 0, 0, 1528, 0, 2509, 772, 0, 929, 0,
+ 929, 2763, 929, 0, 2510, 2511, 2512, 2513, 2514, 2515,
+ 2516, 2517, 2518, 1530, 0, 0, 0, 4607, 0, 0,
+ 0, 0, 1531, 0, 0, 0, 1532, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1970, 0, 0, 0, 1119,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 772, 0, 0, 0,
+ 0, 0, 0, 0, 0, 2581, 0, 0, 0, 0,
+ 0, 1533, 0, 0, 0, 0, 0, 0, 0, 630,
+ 929, 0, 940, 0, 940, 940, 0, 929, 0, 0,
+ 0, 0, 0, 0, 1353, 0, 0, 0, 0, 1353,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 2069, 0, 0, 2070, 0, 699,
+ 0, 2071, 2072, 2073, 700, 0, 0, 0, 0, 0,
+ 0, 1353, 1353, 1353, 0, 0, 1353, 0, 0, 2571,
+ 0, 0, 0, 0, 1353, 1353, 1353, 1353, 0, 2572,
+ 0, 0, 0, 0, 0, 0, 2573, 2509, 0, 0,
+ 1353, 0, 701, 1353, 0, 1353, 2510, 2511, 2512, 2513,
+ 2514, 2515, 2516, 2517, 2518, 702, 1353, 1353, 0, 4673,
+ 1353, 0, 2574, 0, 0, 0, 0, 0, 0, 0,
+ 0, 703, 0, 0, 0, 0, 0, 0, 0, 976,
+ 0, 1353, 0, 1353, 0, 1353, 0, 0, 0, 704,
+ 1995, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1353, 0, 0, 4114, 0, 0,
+ 0, 843, 0, 705, 0, 0, 0, 1119, 0, 0,
+ 0, 0, 0, 0, 706, 0, 0, 0, 0, 0,
+ 0, 0, 843, 707, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 708, 0, 2069, 0,
+ 0, 2070, 709, 0, 0, 2071, 2072, 2073, 0, 710,
+ 630, 0, 0, 3407, 4151, 0, 0, 0, 4151, 4165,
+ 4151, 0, 0, 2571, 0, 0, 1353, 2575, 0, 711,
+ 0, 1353, 2576, 2572, 0, 0, 0, 0, 0, 0,
+ 2573, 0, 0, 0, 0, 0, 1353, 0, 0, 2065,
+ 0, 0, 0, 0, 0, 2577, 2260, 0, 2067, 0,
+ 3407, 0, 0, 0, 4196, 891, 2574, 4199, 3407, 0,
+ 3456, 0, 0, 2534, 0, 0, 2578, 0, 0, 0,
+ 0, 0, 712, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1119, 0, 0, 2551, 2552, 0, 0, 0,
+ 1119, 1119, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1353, 0, 0, 0, 0, 0, 2318, 0, 0,
+ 0, 0, 772, 713, 0, 0, 0, 772, 772, 0,
+ 0, 2579, 0, 0, 2580, 0, 714, 0, 0, 0,
+ 0, 929, 929, 0, 0, 0, 0, 715, 0, 0,
+ 0, 0, 0, 0, 0, 2589, 0, 213, 716, 0,
+ 0, 717, 0, 0, 2596, 0, 2597, 0, 0, 0,
+ 2600, 0, 0, 0, 0, 0, 0, 2606, 0, 0,
+ 0, 2575, 0, 0, 0, 0, 2576, 0, 718, 0,
+ 0, 719, 0, 0, 0, 720, 0, 0, 721, 0,
+ 1546, 0, 0, 0, 0, 722, 1547, 0, 723, 2577,
+ 2260, 2069, 0, 0, 2070, 0, 0, 0, 2071, 2072,
+ 2073, 1653, 0, 0, 2581, 0, 0, 724, 0, 0,
+ 2578, 0, 0, 0, 725, 0, 2571, 0, 0, 0,
+ 0, 726, 0, 0, 727, 0, 2572, 0, 728, 843,
+ 0, 1549, 0, 2573, 0, 0, 729, 0, 730, 2847,
+ 0, 0, 0, 731, 0, 0, 0, 0, 772, 0,
+ 0, 2318, 0, 0, 0, 0, 732, 0, 772, 2574,
+ 0, 0, 0, 0, 0, 2579, 0, 0, 2580, 733,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1654, 0, 1550, 0, 0,
+ 0, 0, 0, 0, 1551, 0, 0, 1552, 0, 0,
+ 0, 0, 1198, 1199, 0, 0, 2509, 0, 0, 0,
+ 0, 0, 0, 0, 0, 2510, 2511, 2512, 2513, 2514,
+ 2515, 2516, 2517, 2518, 1553, 0, 0, 0, 4779, 0,
+ 0, 0, 0, 0, 0, 2888, 0, 0, 0, 0,
+ 0, 0, 0, 2896, 1353, 772, 0, 0, 772, 772,
+ 1353, 0, 0, 0, 0, 0, 0, 0, 2581, 0,
+ 1554, 929, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 2575, 0, 0, 0, 2069, 2576,
+ 0, 2070, 0, 0, 0, 2071, 2072, 2073, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 843, 843,
+ 843, 0, 2577, 2260, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 2572, 0, 843, 0, 0, 0, 0,
+ 2573, 0, 0, 2578, 0, 0, 0, 0, 0, 1353,
+ 0, 1655, 0, 0, 0, 1556, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1557, 2574, 1970, 843, 843,
+ 0, 0, 0, 843, 1558, 0, 0, 0, 0, 0,
+ 2509, 0, 0, 0, 2318, 843, 1559, 0, 0, 2510,
+ 2511, 2512, 2513, 2514, 2515, 2516, 2517, 2518, 2579, 0,
+ 0, 2580, 5006, 0, 0, 0, 0, 0, 0, 0,
+ 0, 890, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1656, 0, 0, 1561, 1562,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 929, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 3143, 4571, 0, 0, 0,
+ 1657, 772, 0, 0, 0, 0, 843, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 3025, 843,
+ 0, 2575, 3030, 0, 0, 0, 2576, 0, 0, 0,
+ 0, 2581, 0, 0, 0, 0, 0, 0, 1353, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1353, 0, -2883,
+ -2883, 0, 0, 0, 0, 0, 0, 1353, 0, 0,
+ 0, 1353, 1353, 0, 0, 0, 0, 1353, 0, 1564,
+ 2578, 0, 0, 0, 0, 1353, 0, 1353, 0, 0,
+ 1353, 0, 0, 0, 0, 1353, 1353, 1353, 1353, 0,
+ 0, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353,
+ 1353, 0, 0, 0, 1353, 1353, 1353, 0, 0, 0,
+ 0, -2883, 0, 0, 1353, 0, 0, 0, 0, 1353,
+ 0, 0, 0, 1353, 0, 2579, 0, 0, 0, 0,
+ 0, 1353, 0, 2509, 1353, 0, 1353, 0, 0, 0,
+ 0, 0, 2510, 2511, 2512, 2513, 2514, 2515, 2516, 2517,
+ 2518, 0, 0, 0, 1353, 5114, 0, 1353, 1353, 891,
+ 0, 0, 1353, 1353, 0, 0, 0, 1353, 0, 1353,
+ 4701, 0, 0, 0, 0, 0, 0, 0, 843, 843,
+ 843, 0, 0, 0, 0, 891, 0, 2069, 0, 0,
+ 2070, 0, 3213, 0, 2071, 2072, 2073, 0, 4151, 4165,
+ 4151, 0, 1353, 4151, 0, 0, 4722, 0, 0, 0,
+ 3407, 0, 2571, 0, 3407, 0, 3202, 3203, 2581, 0,
+ 4737, 0, 2572, 0, 0, 0, 0, 3233, 3234, 2573,
+ 0, 0, 0, 0, 0, 0, 0, 1546, 0, 0,
+ 0, 0, 0, 1547, 0, 0, 1353, 0, 0, 0,
+ 0, 0, 0, 0, 0, 2574, 0, 3278, 1653, 0,
+ 0, 3456, 0, 1353, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 4785, 1970, 1970, 0, 0, 1970, 0, 1549, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 2509, 2779, 4817, 0, 0, 0, 0, 891, 0, 2510,
+ 2511, 2512, 2513, 2514, 2515, 2516, 2517, 2518, 0, 0,
+ 4840, 0, 1654, 0, 1550, 0, 0, 0, 0, 0,
+ 0, 1551, 2069, 0, 1552, 2070, 0, 0, 0, 2071,
+ 2072, 2073, 0, 0, 0, 0, 0, 0, 0, 0,
+ 2575, 0, 0, 0, 0, 2576, 0, 2571, 0, 0,
+ 0, 1553, 0, 0, 0, 0, 0, 2572, 0, 0,
+ 0, 0, 0, 4889, 2573, 0, 0, 0, 2577, 2260,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1554, 0, 2578,
+ 2574, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 4933, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 2318, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1702, 0, 0, 0, 2579, 0, 0, 2580, 0, 0,
+ 0, 929, 0, 0, 0, 0, 0, 0, 1655, 891,
+ 0, 0, 1556, 0, 0, 929, 0, 1353, 0, 0,
+ 891, 0, 1557, 0, 843, 0, 0, 0, 0, 0,
+ 4977, 1558, 0, 0, 0, 0, 891, 0, 0, 0,
+ 0, 2779, 0, 1559, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 2575, 843, 0, 0, 0,
+ 2576, 3407, 3835, 0, 0, 0, 0, 0, 0, 3719,
+ 0, 0, 0, 0, 0, 0, 0, 0, 5026, 0,
+ 0, 0, 3690, 2577, 2260, 1561, 1562, 2581, 843, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1353, 1353, 0, 0, 2578, 0, 0, 0, 0, 0,
+ 0, 1353, 0, 0, 0, 0, 0, 3691, 0, 0,
+ 0, 0, 1970, 843, 0, 890, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 843, 0, 0, 0, 0, 2318, 0, 0, 0, 2069,
+ 0, 890, 2070, 0, 0, 0, 2071, 2072, 2073, 2579,
+ 0, 0, 2580, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 2571, 0, 0, 0, 0, 0,
+ 0, 1353, 0, 0, 2572, 0, 1564, 0, 0, 2509,
+ 0, 2573, 0, 891, 1353, 0, 0, 0, 2510, 2511,
+ 2512, 2513, 2514, 2515, 2516, 2517, 2518, 0, 1353, 0,
+ 0, 5153, 0, 0, 0, 0, 0, 2574, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 3356, 0, 1353, 0, 0, 1353,
+ 0, 0, 0, 0, 0, 0, 0, 1353, 1353, 0,
+ 0, 0, 2581, 0, 1353, 1353, 0, 0, 0, 1353,
+ 0, 0, 0, 0, 0, 0, 1353, 0, 0, 1353,
+ 1353, 0, 0, 0, 0, 0, 1353, 0, 0, 0,
+ 843, 843, 843, 843, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 890, 0, 0, 630, 0, 0, 4151,
+ 0, 0, 0, 3407, 0, 0, 0, 4046, 3407, 3378,
+ 3380, 3407, 630, 4047, 3719, 3388, 5188, 0, 0, 1353,
+ 0, 976, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1353, 0, 2575, 0, 4196, 0, 0, 2576, 1353, 0,
+ 3456, 0, 0, 0, 0, 0, 0, 3431, 3431, 0,
+ 0, 0, 0, 0, 2509, 782, 0, 0, 1353, 0,
+ 2577, 2260, 0, 2510, 2511, 2512, 2513, 2514, 2515, 2516,
+ 2517, 2518, 0, 699, 0, 0, 5157, 0, 3181, 0,
+ 0, 2578, 1119, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 2779, 0, 0, 0, 5243, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 772,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 2318, 0, 0, 0, 0, 0, 0, 702,
+ 3182, 0, 0, 0, 0, 0, 2579, 0, 0, 2580,
+ 0, 1367, 0, 0, 0, 703, 2680, 0, 0, 0,
+ 0, 0, 0, 0, 0, 890, 0, 0, 0, 0,
+ 0, 1353, 0, 1034, 0, 0, 890, 0, 1353, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 890, 0, 0, 0, 0, 3183, 0, 0,
+ 929, 0, 0, 3564, 0, 0, 0, 0, 706, 0,
+ 0, 0, 0, 0, 0, 929, 0, 707, 0, 0,
+ 0, 1546, 0, 2680, 0, 0, 0, 1547, 0, 0,
+ 708, 1367, 0, 0, 0, 0, 3184, 0, 0, 4048,
+ 0, 0, 0, 0, 0, 0, 1353, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1367, 0, 0, 0, 0,
+ 0, 0, 630, 1037, 891, 0, 0, 0, 0, 2779,
+ 0, 0, 1549, 0, 0, 0, 0, 0, 1970, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 772, 3835, 3185, 0, 0, 891, 0, 0,
+ 772, 0, 0, 772, 0, 0, 929, 0, 3857, 0,
+ 0, 0, 0, 0, 0, 772, 712, 0, 0, 0,
+ 0, 0, 3728, 0, 0, 0, 0, 0, 1550, 0,
+ 0, 0, 0, 0, 843, 1551, 0, 0, 1552, 0,
+ 0, 2509, 0, 0, 0, 843, 0, 0, 0, 890,
+ 2510, 2511, 2512, 2513, 2514, 2515, 2516, 2517, 2518, 3760,
+ 0, 3760, 0, 3760, 3760, 1553, 0, 0, 3760, 3760,
+ 3760, 0, 3760, 3760, 3760, 0, 0, 1702, 1702, 1702,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 213, 3186, 0, 0, 717, 0, 0, 0, 0,
+ 0, 1554, 0, 1353, 0, 0, 1353, 0, 0, 1353,
+ 1353, 1353, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1041, 0, 0, 3187, 3837, 0, 0, 0,
+ 0, 0, 721, 0, 0, 0, 1353, 1353, 0, 722,
+ 1353, 0, 723, 0, 0, 0, 0, 0, 0, 0,
+ 0, 3865, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1353, 724, 0, 0, 0, 0, 1353, 0, 1043, 0,
+ 3407, 0, 1655, 0, 5188, 726, 1556, 1353, 1044, 5468,
+ 0, 0, 728, 0, 0, 0, 1557, 0, 0, 891,
+ 4785, 0, 0, 1353, 0, 1558, 0, 3188, 0, 0,
+ 891, 2550, 0, 0, 4785, 976, 929, 1559, 929, 0,
+ 0, 0, 2069, 0, 0, 2070, 891, 0, 0, 2071,
+ 2072, 2073, 0, 733, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 2571, 0, 0,
+ 0, 0, 0, 0, 0, 0, 2743, 2572, 0, 1561,
+ 1562, 0, 0, 0, 2573, 0, 940, 976, 0, 0,
+ 0, 772, 0, 0, 0, 0, 0, 0, 0, 0,
+ 891, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 2574, 2744, 0, 0, 0, 891, 0, 0, 891, 891,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 940, 890, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 4977, 0, 0, 0, 0, 843, 891,
+ 891, 0, 0, 843, 0, 0, 0, 0, 0, 0,
+ 0, 0, 2779, 638, 0, 0, 0, 0, 0, 687,
+ 638, 0, 843, 0, 0, 739, 5026, 638, 0, 5607,
+ 1564, 0, 0, 638, 0, 792, 0, 0, 0, 0,
+ 929, 843, 4785, 0, 0, 0, 0, 0, 0, 890,
+ 0, 0, 0, 0, 854, 854, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 2575, 0, 0, 1353, 0,
+ 2576, 0, 1353, 0, 1353, 0, 0, 0, 0, 0,
+ 890, 0, 0, 0, 0, 0, 0, 1702, 1353, 0,
+ 0, 0, 0, 2577, 2260, 630, 1702, 0, 1353, 1702,
+ 0, 0, 5676, 0, 0, 0, 0, 0, 0, 1353,
+ 0, 0, 0, 890, 2578, 0, 1353, 0, 0, 0,
+ 0, 1119, 0, 0, 891, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1546, 0, 0, 0, 0, 0,
+ 1547, 0, 0, 0, 0, 0, 4127, 0, 772, 0,
+ 0, 843, 0, 0, 0, 2318, 0, 0, 0, 0,
+ 0, 0, 0, 0, 4134, 0, 0, 0, 0, 2579,
+ 0, 0, 2580, 0, 0, 0, 0, 1353, 0, 0,
+ 0, 0, 0, 1353, 1353, 1549, 0, 0, 929, 929,
+ 929, 929, 0, 0, 0, 931, 0, 4665, 0, 935,
+ 0, 0, 0, 0, 0, 0, 0, 978, 0, 0,
+ 980, 4180, 4180, 985, 986, 0, 989, 0, 992, 1353,
+ 0, 998, 0, 1000, 0, 0, 0, 630, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1550, 0, 0, 0, 0, 0, 0, 1551, 0,
+ 0, 1552, 843, 0, 0, 3407, 0, 0, 0, 0,
+ 0, 0, 2581, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1553, 4666,
+ 843, 1119, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 890, 0, 0, 1353, 0,
+ 0, 0, 0, 0, 1554, 0, 890, 1353, 1353, 1353,
+ 0, 0, 0, 1970, 0, 0, 0, 3719, 0, 0,
+ 1353, 0, 890, 0, 0, 0, 0, 0, 0, 1353,
+ 0, 1353, 0, 1353, 5468, 0, 0, 0, 0, 0,
+ 4785, 0, 0, 0, 0, 0, 0, 0, 0, 4297,
+ 1970, 0, 976, 0, 2509, 0, 0, 0, 0, 0,
+ 0, 1353, 0, 2510, 2511, 2512, 2513, 2514, 2515, 2516,
+ 2517, 2518, 0, 0, 2069, 1555, 890, 2070, 0, 1556,
+ 0, 2071, 2072, 2073, 0, 0, 0, 0, 0, 1557,
+ 0, 890, 0, 0, 890, 890, 1970, 1970, 1558, 2571,
+ 0, 0, 0, 0, 0, 0, 0, 4344, 0, 2572,
+ 1559, 0, 0, 0, 0, 0, 2573, 0, 0, 0,
+ 0, 0, 0, 1546, 0, 890, 890, 929, 0, 1547,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 5937, 2574, 0, 0, 0, 0, 0, 0, 2821,
+ 0, 0, 1561, 1562, 2069, 0, 0, 2070, 0, 0,
+ 0, 2071, 2072, 2073, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1549, 4387, 0, 0, 1353, 2571,
+ 0, 0, 0, 0, 2822, 0, 0, 0, 0, 2572,
+ 0, 1353, 0, 0, 0, 5676, 2573, 0, 0, 0,
+ 0, 1353, 0, 0, 0, 0, 0, 0, 0, 0,
+ 3456, 1353, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 3760, 2574, 0, 0, 0, 0, 940, 0, 0,
+ 1550, 0, 0, 4418, 4418, 0, 0, 1551, 0, 0,
+ 1552, 0, 929, 4434, 0, 0, 0, 0, 1119, 1970,
+ 1119, 0, 0, 1564, 0, 0, 0, 2575, 0, 0,
+ 890, 0, 2576, 0, 0, 0, 0, 1553, 0, 0,
+ 772, 0, 0, 0, 2779, 0, 0, 1702, 0, 0,
+ 0, 1353, 0, 0, 0, 2577, 2260, 0, 0, 0,
+ 0, 4785, 0, 4468, 0, 0, 4489, 0, 0, 940,
+ 940, 6055, 0, 1554, 0, 1353, 2578, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1970, 1970, 6065,
+ 0, 0, 0, 0, 1353, 1353, 0, 0, 1028, 0,
+ 6071, 4525, 1119, 0, 0, 0, 0, 2575, 0, 1065,
+ 0, 0, 2576, 1069, 0, 0, 0, 2318, 0, 0,
+ 1082, 1083, 929, 0, 1089, 0, 1093, 1094, 0, 0,
+ 0, 2579, 0, 0, 2580, 2577, 2260, 0, 0, 0,
+ 0, 1116, 0, 0, 1655, 0, 0, 0, 1556, 0,
+ 0, 5937, 929, 929, 0, 0, 2578, 4785, 1557, 1129,
+ 0, 0, 0, 0, 0, 0, 0, 1558, 0, 0,
+ 0, 0, 0, 0, 0, 630, 1353, 0, 0, 1559,
+ 1157, 0, 1159, 0, 3463, 0, 0, 0, 2680, 3469,
+ 1353, 0, 1175, 0, 0, 0, 0, 2318, 0, 0,
+ 0, 0, 0, 0, 1353, 0, 0, 0, 0, 0,
+ 1546, 2579, 0, 0, 2580, 0, 1547, 0, 3557, 0,
+ 772, 1561, 1562, 0, 2581, 638, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 6149, 6150, 630,
+ 6153, 5676, 0, 0, 3456, 0, 891, 0, 0, 0,
+ 0, 0, 891, 1563, 0, 0, 929, 0, 0, 4785,
+ 2069, 1549, 0, 2070, 0, 0, 0, 2071, 2072, 2073,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 4196,
+ 0, 0, 0, 0, 0, 2571, 0, 0, 0, 0,
+ 0, 0, 0, 891, 0, 2572, 4674, 0, 1353, 630,
+ 0, 0, 2573, 1353, 2581, 0, 854, 630, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1550, 0, 940,
+ 940, 0, 1564, 6215, 1551, 0, 2509, 1552, 2574, 0,
+ 0, 0, 0, 0, 0, 2510, 2511, 2512, 2513, 2514,
+ 2515, 2516, 2517, 2518, 0, 0, 0, 0, 5408, 0,
+ 0, 0, 0, 0, 1553, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 881,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1507,
+ 1554, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 2069, 0, 0, 2070, 0, 0, 2509, 2071, 2072, 2073,
+ 0, 0, 0, 0, 0, 2510, 2511, 2512, 2513, 2514,
+ 2515, 2516, 2517, 2518, 0, 2571, 0, 0, 5419, 0,
+ 0, 0, 0, 0, 0, 2572, 0, 0, 0, 0,
+ 0, 0, 2573, 2575, 0, 0, 0, 0, 2576, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1655, 0, 1686, 0, 1556, 0, 0, 2574, 0,
+ 1702, 2577, 2260, 0, 0, 1557, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1558, 0, 0, 0, 1807, 0,
+ 0, 0, 2578, 0, 0, 0, 1559, 0, 0, 0,
+ 0, 0, 891, 1819, 0, 1820, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1823, 0, 0, 0, 0,
+ 0, 0, 1833, 0, 0, 4434, 0, 0, 0, 0,
+ 0, 0, 0, 2318, 0, 3735, 0, 0, 1561, 1562,
+ 0, 0, 0, 0, 0, 0, 0, 2579, 0, 0,
+ 2580, 4879, 772, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1885, 4893, 1887, 0, 4894,
+ 3736, 4895, 0, 0, 0, 2680, 0, 0, 772, 2680,
+ 0, 0, 0, 2575, 0, 0, 0, 0, 2576, 0,
+ 0, 0, 772, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 772, 0, 0, 0, 0, 0, 0,
+ 0, 2577, 2260, 0, 0, 0, 0, 4935, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 890, 0, 2578, 3760, 890, 890, 0, 0, 3760, 1564,
+ 2581, 638, 0, 638, 0, 638, 0, 638, 0, 638,
+ 638, 638, 0, 0, 0, 0, 638, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1991, 0,
+ 1546, 0, 0, 2318, 0, 0, 1547, 0, 0, 1198,
+ 1199, 0, 891, 0, 0, 0, 0, 2579, 0, 0,
+ 2580, 0, 890, 0, 0, 0, 0, 891, 890, 0,
+ 0, 2069, 891, 0, 2070, 0, 0, 0, 2071, 2072,
+ 2073, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1549, 0, 0, 0, 0, 2571, 0, 0, 0,
+ 891, 0, 0, 0, 0, 0, 2572, 5040, 0, 890,
+ 4434, 0, 2509, 2573, 0, 0, 0, 0, 0, 0,
+ 0, 2510, 2511, 2512, 2513, 2514, 2515, 2516, 2517, 2518,
+ 0, 0, 0, 0, 5429, 0, 0, 772, 0, 2574,
+ 0, 0, 0, 0, 0, 0, 0, 1550, 0, 0,
+ 2581, 0, 0, 0, 1551, 0, 0, 1552, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 2069, 0, 0, 2070, 0, 0, 0, 2071, 2072,
+ 2073, 0, 0, 0, 1553, 0, 5089, 5089, 5089, 5089,
+ 772, 5089, 5089, 5089, 5089, 5089, 2571, 0, 0, 0,
+ 0, 0, 2069, 0, 0, 2070, 2572, 0, 0, 2071,
+ 2072, 2073, 0, 2573, 0, 0, 0, 0, 854, 0,
+ 1554, 0, 0, 0, 0, 0, 0, 2571, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 2572, 0, 2574,
+ 0, 0, 0, 0, 2573, 0, 0, 0, 0, 0,
+ 0, 0, 2509, 0, 2575, 0, 0, 0, 0, 2576,
+ 0, 2510, 2511, 2512, 2513, 2514, 2515, 2516, 2517, 2518,
+ 2574, 0, 0, 0, 5484, 0, 0, 0, 0, 0,
+ 0, 0, 2577, 2260, 0, 0, 0, 0, 0, 0,
+ 0, 1655, 0, 0, 0, 1556, 0, 0, 0, 0,
+ 0, 0, 0, 2578, 5165, 1557, 5167, 0, 0, 0,
+ 0, 0, 0, 0, 1558, 0, 0, 0, 890, 0,
+ 0, 0, 1546, 0, 0, 0, 1559, 0, 1547, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 2741, 0,
+ 0, 0, 0, 0, 2318, 0, 2680, 0, 0, 3469,
+ 0, 3469, 0, 0, 2575, 0, 2680, 0, 2579, 2576,
+ 0, 2580, 0, 0, 0, 4249, 0, 0, 1561, 1562,
+ 0, 0, 0, 1549, 0, 0, 0, 0, 0, 0,
+ 0, 0, 2577, 2260, 0, 2575, 0, 0, 0, 0,
+ 2576, 890, 0, 881, 0, 890, 0, 0, 0, 0,
+ 4250, 0, 0, 2578, 891, 0, 0, 0, 0, 0,
+ 2833, 0, 891, 2577, 2260, 0, 0, 0, 0, 881,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1550,
+ 0, 0, 0, 0, 2578, 0, 1551, 2680, 0, 1552,
+ 0, 0, 772, 0, 2318, 0, 2069, 0, 772, 2070,
+ 0, 2581, 772, 2071, 2072, 2073, 0, 0, 2579, 0,
+ 0, 2580, 0, 0, 0, 0, 1553, 0, 0, 1564,
+ 0, 2571, 0, 0, 0, 2318, 0, 0, 0, 5268,
+ 5269, 2572, 0, 0, 5272, 5273, 0, 0, 2573, 2579,
+ 0, 0, 2580, 0, 0, 0, 0, 0, 890, 0,
+ 0, 0, 1554, 0, 0, 0, 0, 891, 0, 891,
+ 0, 0, 0, 890, 2574, 0, 0, 0, 890, 0,
+ 0, 0, 0, 0, 5296, 5297, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3760, 0, 3760,
+ 3760, 3760, 0, 0, 0, 0, 890, 0, 0, 2069,
+ 0, 2581, 2070, 2509, 0, 0, 2071, 2072, 2073, 0,
+ 0, 881, 2510, 2511, 2512, 2513, 2514, 2515, 2516, 2517,
+ 2518, 0, 0, 1655, 2571, 5518, 0, 1556, 0, 0,
+ 0, 0, 2581, 0, 2572, 0, 0, 1557, 0, 0,
+ 0, 2573, 0, 0, 0, 0, 1558, 0, 0, 0,
+ 0, 0, 0, 891, 0, 5348, 2069, 0, 1559, 2070,
+ 0, 0, 0, 2071, 2072, 2073, 0, 2574, 0, 0,
+ 0, 0, 0, 0, 0, 0, 2963, 0, 0, 2575,
+ 1702, 2571, 0, 0, 2576, 0, 1702, 0, 0, 0,
+ 0, 2572, 0, 0, 5376, 891, 0, 4307, 2573, 0,
+ 1561, 1562, 0, 2509, 0, 0, 0, 2577, 2260, 0,
+ 0, 2999, 2510, 2511, 2512, 2513, 2514, 2515, 2516, 2517,
+ 2518, 0, 0, 3469, 2574, 5520, 0, 0, 2578, 0,
+ 0, 0, 4308, 0, 2509, 0, 0, 5089, 0, 0,
+ 0, 0, 0, 2510, 2511, 2512, 2513, 2514, 2515, 2516,
+ 2517, 2518, 0, 0, 0, 0, 5559, 3064, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2318,
+ 0, 0, 0, 881, 0, 0, 0, 3082, 0, 0,
+ 0, 0, 2575, 2579, 881, 0, 2580, 2576, 0, 0,
+ 0, 891, 0, 0, 0, 0, 0, 0, 0, 0,
+ 881, 1564, 0, 3102, 0, 3103, 0, 0, 0, 0,
+ 2577, 2260, 0, 3469, 0, 0, 0, 0, 0, 0,
+ 3112, 0, 3113, 0, 0, 0, 0, 0, 638, 0,
+ 638, 2578, 638, 0, 638, 891, 638, 0, 0, 2575,
+ 638, 0, 890, 0, 2576, 890, 0, 890, 0, 0,
+ 2069, 0, 890, 2070, 0, 0, 0, 2071, 2072, 2073,
+ 0, 0, 0, 0, 0, 0, 0, 2577, 2260, 0,
+ 0, 0, 2318, 0, 0, 2571, 2581, 3172, 0, 0,
+ 0, 0, 0, 0, 0, 2572, 2579, 0, 2578, 2580,
+ 0, 0, 2573, 0, 0, 0, 0, 0, 0, 0,
+ 890, 4434, 0, 0, 0, 0, 0, 0, 890, 0,
+ 0, 0, 0, 0, 0, 0, 0, 891, 2574, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 772, 2318,
+ 0, 0, 0, 890, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 2579, 0, 0, 2580, 3760, 0, 0,
+ 0, 0, 0, 0, 0, 0, 5554, 881, 0, 0,
+ 891, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 2509, 2581,
+ 0, 0, 0, 0, 0, 891, 0, 2510, 2511, 2512,
+ 2513, 2514, 2515, 2516, 2517, 2518, 0, 0, 0, 0,
+ 5887, 0, 0, 890, 0, 890, 0, 0, 0, 0,
+ 0, 941, 951, 0, 0, 0, 0, 0, 0, 941,
+ 0, 951, 941, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 2575, 0, 951, 2581, 0, 2576, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 2577, 2260, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 2509, 2578, 0, 0, 0, 0, 0, 0, 0,
+ 2510, 2511, 2512, 2513, 2514, 2515, 2516, 2517, 2518, 890,
+ 0, 0, 0, 5909, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 2318, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 2579, 2509, 0,
+ 2580, 890, 0, 0, 0, 2680, 0, 2510, 2511, 2512,
+ 2513, 2514, 2515, 2516, 2517, 2518, 0, 0, 0, 0,
+ 6097, 0, 0, 0, 0, 0, 0, 0, 0, 890,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1119, 0, 0, 0, 5745,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 881, 0, 772, 0, 0, 0, 0, 928, 930, 0,
+ 0, 933, 0, 0, 0, 0, 0, 0, 0, 0,
+ 2581, 0, 0, 0, 0, 3469, 0, 890, 0, 0,
+ 0, 991, 0, 0, 0, 0, 0, 0, 1001, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 890,
+ 0, 3469, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 881, 0, 0,
+ 0, 890, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 881, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 2509, 0, 0, 0, 0, 0, 0, 0,
+ 0, 2510, 2511, 2512, 2513, 2514, 2515, 2516, 2517, 2518,
+ 0, 881, 0, 0, 6114, 0, 0, 0, 0, 0,
+ 0, 0, 0, 890, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1119, 0, 0, 0, 5899, 0,
+ 5900, 0, 0, 0, 5905, 5906, 0, 0, 0, 0,
+ 0, 5893, 0, 891, 0, 0, 890, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 890, 0, 2069, 0, 0, 2070, 0, 0, 0,
+ 2071, 2072, 2073, 0, 0, 0, 0, 951, 0, 0,
+ 3469, 0, 0, 0, 0, 2680, 0, 0, 2571, 0,
+ 0, 0, 0, 0, 0, 0, 951, 0, 2572, 0,
+ 0, 0, 951, 0, 0, 2573, 0, 0, 0, 0,
+ 0, 0, 0, 0, 951, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 951, 2574, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 941, 951, 0, 0, 0, 0,
+ 0, 941, 0, 951, 941, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 951, 0, 3459,
+ 3460, 0, 0, 881, 0, 0, 0, 951, 0, 0,
+ 0, 0, 0, 0, 881, 0, 0, 0, 3475, 3476,
+ 0, 3478, 3479, 0, 0, 0, 3482, 3483, 0, 0,
+ 881, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 3494, 0, 0, 0, 0, 0, 0, 3503, 0,
+ 0, 890, 3506, 3507, 0, 0, 3510, 3511, 0, 0,
+ 951, 0, 0, 3516, 0, 0, 891, 0, 0, 0,
+ 0, 0, 0, 0, 0, 3531, 2575, 0, 0, 0,
+ 0, 2576, 0, 0, 881, 0, 0, 3548, 951, 0,
+ 0, 0, 3550, 0, 0, 0, 0, 0, 0, 881,
+ 0, 0, 881, 881, 2577, 2260, 0, 3556, 0, 0,
+ 0, 0, 0, 951, 1119, 0, 3563, 0, 0, 3567,
+ 0, 3569, 3572, 3574, 0, 2578, 0, 0, 3582, 3585,
+ 1061, 0, 1064, 881, 881, 1066, 0, 0, 3598, 0,
+ 0, 890, 0, 0, 3608, 0, 0, 0, 3611, 1092,
+ 0, 0, 0, 0, 0, 1096, 0, 0, 0, 0,
+ 3621, 3622, 0, 0, 0, 3627, 2318, 890, 0, 0,
+ 0, 3636, 3637, 951, 0, 0, 0, 0, 0, 0,
+ 2579, 0, 0, 2580, 0, 3646, 0, 0, 3647, 0,
+ 0, 0, 891, 0, 0, 3659, 3660, 0, 0, 0,
+ 0, 3664, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3671, 0, 0, 3674, 0, 0, 0,
+ 0, 3677, 0, 0, 0, 0, 0, 3680, 3681, 0,
+ 0, 0, 891, 0, 0, 3687, 0, 0, 0, 3689,
+ 0, 0, 0, 3696, 3697, 3698, 3699, 0, 3701, 0,
+ 0, 0, 6178, 0, 891, 2534, 0, 0, 0, 0,
+ 0, 3726, 3727, 0, 3729, 0, 0, 0, 881, 0,
+ 0, 0, 0, 2581, 0, 3738, 3739, 3740, 0, 6177,
+ 0, 0, 0, 1789, 0, 0, 2069, 0, 0, 2070,
+ 951, 0, 0, 2071, 2072, 2073, 0, 6178, 0, 0,
+ 0, 941, 0, 0, 0, 941, 0, 941, 0, 890,
+ 0, 2571, 0, 0, 0, 6178, 0, 0, 5165, 0,
+ 0, 2572, 0, 0, 6177, 0, 891, 0, 2573, 0,
+ 0, 0, 3792, 0, 0, 0, 0, 0, 0, 0,
+ 3816, 0, 6177, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 2574, 0, 890, 0, 0, 3828,
+ 0, 890, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 2509, 0, 0, 0, 0,
+ 0, 0, 0, 0, 2510, 2511, 2512, 2513, 2514, 2515,
+ 2516, 2517, 2518, 0, 0, 0, 0, 6155, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 3896,
+ 0, 0, 0, 0, 951, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 3910, 0,
+ 3912, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1578, 1579, 0, 0, 0, 5380, 0, 891, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 2069, 0, 0, 2070, 0, 2575,
+ 0, 2071, 2072, 2073, 2576, 951, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 951, 0, 0, 2571,
+ 0, 0, 3983, 0, 0, 0, 0, 2577, 2260, 2572,
+ 0, 0, 0, 951, 0, 0, 2573, 0, 951, 0,
+ 0, 1806, 890, 0, 0, 0, 0, 0, 2578, 0,
+ 0, 0, 0, 0, 0, 3974, 1818, 0, 0, 0,
+ 0, 0, 2574, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1840, 1841, 2318,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 2579, 0, 0, 2580, 0, 0, 0,
+ 0, 0, 891, 1878, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1916, 1918, 0, 950, 0, 0, 0,
+ 0, 0, 0, 951, 0, 950, 0, 0, 890, 0,
+ 0, 951, 951, 0, 0, 0, 0, 2575, 0, 950,
+ 0, 3469, 2576, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 2581, 0, 0, 0,
+ 0, 0, 0, 0, 0, 2577, 2260, 0, 890, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1789, 0, 2578, 0, 0, 0,
+ 890, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 2318, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 2579, 0, 0, 2580, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 2509, 0,
+ 0, 3469, 890, 0, 0, 0, 0, 2510, 2511, 2512,
+ 2513, 2514, 2515, 2516, 2517, 2518, 2069, 0, 2959, 2070,
+ 0, 0, 0, 2071, 2072, 2073, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 2571, 0, 0, 0, 3414, 0, 0, 0, 0,
+ 0, 2572, 0, 0, 0, 0, 0, 0, 2573, 0,
+ 4222, 0, 0, 0, 0, 0, 0, 0, 0, 2069,
+ 0, 0, 2070, 0, 2581, 0, 2071, 2072, 2073, 0,
+ 4234, 0, 0, 0, 2574, 0, 0, 0, 883, 0,
+ 0, 0, 0, 0, 2571, 0, 0, 4241, 881, 0,
+ 0, 4241, 881, 881, 2572, 0, 4252, 4253, 4254, 0,
+ 0, 2573, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 890, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 891, 0, 3415, 0, 2574, 891, 891,
+ 0, 0, 4284, 4285, 4286, 4287, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 881, 0, 0, 0, 884, 0, 881, 0, 0, 0,
+ 0, 0, 4303, 951, 0, 0, 2509, 0, 0, 0,
+ 4306, 0, 4310, 4311, 4312, 2510, 2511, 2512, 2513, 2514,
+ 2515, 2516, 2517, 2518, 0, 0, 0, 0, 0, 2575,
+ 0, 0, 0, 0, 2576, 0, 0, 881, 0, 0,
+ 0, 0, 0, 0, 2069, 0, 0, 2070, 0, 0,
+ 0, 2071, 2072, 2073, 0, 0, 0, 2577, 2260, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2571,
+ 0, 2761, 0, 0, 0, 0, 0, 0, 2578, 2572,
+ 5380, 891, 2575, 0, 0, 0, 2573, 2576, 890, 0,
+ 0, 0, 2069, 0, 0, 2070, 2800, 0, 0, 2071,
+ 2072, 2073, 0, 0, 0, 0, 0, 0, 0, 0,
+ 2577, 2260, 2574, 0, 0, 0, 0, 2571, 951, 2318,
+ 0, 950, 0, 0, 0, 0, 0, 2572, 4395, 0,
+ 891, 2578, 0, 2579, 2573, 0, 2580, 4401, 0, 0,
+ 950, 0, 0, 0, 0, 0, 950, 0, 0, 0,
+ 0, 0, 0, 1789, 0, 0, 0, 890, 950, 0,
+ 2574, 0, 0, 4411, 4412, 0, 0, 0, 4413, 0,
+ 0, 0, 2318, 2890, 950, 0, 951, 0, 0, 0,
+ 0, 0, 0, 0, 951, 0, 2579, 0, 0, 950,
+ 4455, 0, 951, 0, 0, 0, 0, 950, 0, 0,
+ 0, 5963, 0, 2916, 2917, 2918, 2919, 0, 0, 0,
+ 0, 950, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 950, 0, 0, 0, 0, 2581, 2575, 0, 0,
+ 0, 0, 2576, 941, 941, 0, 951, 951, 0, 0,
+ 0, 0, 4492, 0, 0, 0, 881, 4498, 941, 0,
+ 951, 941, 0, 4504, 0, 2577, 2260, 0, 0, 0,
+ 0, 0, 0, 951, 951, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 950, 2575, 2578, 890, 0, 2581,
+ 2576, 0, 0, 4543, 0, 0, 0, 3416, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 941, 950, 2577, 2260, 941, 941, 0, 0, 0,
+ 0, 0, 4558, 0, 4559, 0, 0, 2318, 0, 881,
+ 0, 0, 0, 881, 2578, 0, 0, 950, 2509, 0,
+ 0, 2579, 0, 0, 2580, 0, 0, 2510, 2511, 2512,
+ 2513, 2514, 2515, 2516, 2517, 2518, 0, 0, 0, 0,
+ 2972, 2973, 0, 0, 0, 0, 0, 5964, 0, 0,
+ 0, 0, 0, 0, 0, 2318, 2990, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2579,
+ 0, 2509, 2580, 0, 0, 0, 0, 950, 0, 0,
+ 2510, 2511, 2512, 2513, 2514, 2515, 2516, 2517, 2518, 0,
+ 3033, 3034, 3035, 3036, 0, 0, 0, 0, 0, 890,
+ 0, 0, 0, 0, 890, 890, 1789, 0, 0, 0,
+ 0, 0, 0, 0, 2581, 2069, 881, 0, 2070, 0,
+ 0, 0, 2071, 2072, 2073, 0, 0, 0, 0, 0,
+ 0, 881, 0, 0, 0, 0, 881, 0, 0, 0,
+ 2571, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 2572, 0, 0, 0, 0, 0, 0, 2573, 0, 0,
+ 0, 0, 2581, 0, 881, 0, 0, 0, 0, 0,
+ 0, 3110, 0, 0, 0, 0, 0, 3114, 0, 0,
+ 0, 0, 0, 2574, 0, 0, 0, 1788, 0, 0,
+ 0, 0, 0, 0, 950, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 2509, 890, 0, 0,
+ 0, 0, 0, 0, 0, 2510, 2511, 2512, 2513, 2514,
+ 2515, 2516, 2517, 2518, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 883, 3993, 2509, 0, 890, 0, 0, 0,
+ 0, 0, 0, 2510, 2511, 2512, 2513, 2514, 2515, 2516,
+ 2517, 2518, 0, 0, 0, 0, 0, 0, 883, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 2575, 0,
+ 0, 0, 0, 2576, 0, 0, 0, 0, 0, 0,
+ 0, 0, 4789, 0, 0, 4796, 0, 4797, 950, 0,
+ 0, 0, 0, 0, 1702, 0, 2577, 2260, 0, 0,
+ 4804, 0, 0, 0, 0, 0, 0, 0, 884, 0,
+ 0, 0, 4810, 0, 0, 0, 4813, 2578, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 3290, 0,
+ 0, 0, 0, 0, 884, 4839, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 950,
+ 0, 0, 0, 4843, 0, 0, 0, 0, 2318, 4847,
+ 950, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 2579, 0, 0, 2580, 0, 950, 0, 0,
+ 881, 0, 950, 881, 4882, 881, 0, 0, 4886, 0,
+ 881, 0, 0, 0, 4019, 0, 0, 0, 0, 0,
+ 883, 0, 0, 4896, 4897, 4898, 4899, 0, 0, 0,
+ 0, 0, 0, 4903, 4904, 4905, 4906, 0, 0, 0,
+ 0, 0, 4908, 4909, 0, 0, 0, 0, 4916, 4917,
+ 0, 4919, 4920, 4921, 4922, 4923, 4924, 4925, 881, 0,
+ 0, 0, 0, 0, 0, 0, 881, 4934, 0, 0,
+ 0, 4937, 4938, 4939, 4940, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 2581, 0, 0, 0, 0,
+ 0, 881, 0, 0, 0, 4241, 884, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 4960, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 950, 0, 0,
+ 0, 0, 0, 0, 0, 950, 950, 0, 0, 0,
+ 0, 0, 2069, 0, 0, 2070, 0, 0, 0, 2071,
+ 2072, 2073, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 881, 0, 881, 0, 0, 0, 2571, 0, 0,
+ 4051, 0, 0, 0, 0, 0, 0, 2572, 0, 0,
+ 0, 0, 883, 0, 2573, 0, 0, 2509, 1788, 5041,
+ 0, 0, 0, 883, 0, 0, 2510, 2511, 2512, 2513,
+ 2514, 2515, 2516, 2517, 2518, 0, 0, 0, 0, 883,
+ 2574, 0, 0, 1789, 0, 0, 0, 0, 0, 0,
+ 0, 0, 4241, 0, 0, 0, 0, 0, 0, 5066,
+ 0, 5067, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 886, 0, 0, 0, 881, 884, 5082,
+ 0, 0, 0, 0, 0, 0, 0, 0, 951, 884,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 884, 951, 0, 0, 0,
+ 951, 0, 0, 0, 951, 0, 0, 0, 0, 881,
+ 0, 0, 0, 951, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 951, 0, 0, 0, 2575, 0, 881, 0, 0,
+ 2576, 0, 0, 0, 0, 0, 0, 0, 941, 0,
+ 941, 941, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 2577, 2260, 951, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 883, 0, 0, 0,
+ 0, 0, 0, 0, 2578, 951, 951, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 2069, 0, 3290, 2070, 881, 0, 0, 2071, 2072,
+ 2073, 0, 0, 0, 0, 0, 1789, 951, 0, 0,
+ 1789, 0, 0, 0, 0, 2318, 2571, 881, 0, 0,
+ 0, 0, 0, 0, 0, 0, 2572, 0, 0, 2579,
+ 0, 0, 2580, 2573, 951, 0, 1789, 950, 0, 881,
+ 951, 0, 884, 0, 2069, 0, 0, 2070, 0, 0,
+ 0, 2071, 2072, 2073, 951, 0, 0, 0, 0, 2574,
+ 0, 951, 0, 0, 951, 0, 0, 0, 0, 2571,
+ 951, 0, 4063, 0, 5232, 5233, 5234, 0, 0, 2572,
+ 5235, 5236, 5237, 5238, 0, 0, 2573, 5240, 0, 0,
+ 951, 0, 0, 0, 0, 0, 951, 0, 0, 0,
+ 0, 0, 0, 951, 0, 0, 0, 0, 0, 0,
+ 0, 0, 2574, 0, 0, 0, 0, 951, 0, 0,
+ 0, 881, 2581, 0, 0, 5260, 5261, 5262, 5263, 5264,
+ 951, 5266, 5267, 0, 0, 1789, 0, 0, 0, 0,
+ 0, 951, 0, 5276, 5277, 0, 0, 0, 0, 0,
+ 0, 0, 950, 0, 0, 4056, 0, 0, 3530, 0,
+ 0, 0, 0, 0, 881, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 2575, 0, 0, 5283, 0, 2576,
+ 0, 0, 0, 0, 0, 0, 0, 1788, 0, 881,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1789, 2577, 2260, 0, 0, 0, 0, 0, 0,
+ 950, 0, 0, 0, 0, 0, 0, 0, 950, 883,
+ 0, 0, 0, 2578, 2509, 0, 950, 2575, 0, 0,
+ 0, 0, 2576, 2510, 2511, 2512, 2513, 2514, 2515, 2516,
+ 2517, 2518, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 2577, 2260, 0, 0, 0,
+ 0, 0, 0, 0, 2318, 0, 0, 0, 0, 0,
+ 950, 950, 0, 0, 0, 0, 2578, 0, 2579, 5346,
+ 0, 2580, 0, 0, 950, 0, 883, 0, 0, 0,
+ 0, 0, 0, 0, 0, 884, 3670, 950, 950, 3673,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 2318, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 883, 0, 0,
+ 0, 2579, 0, 0, 2580, 0, 0, 0, 0, 0,
+ 887, 0, 0, 0, 5397, 0, 0, 0, 0, 881,
+ 0, 0, 0, 0, 0, 0, 951, 0, 1789, 0,
+ 883, 0, 884, 0, 0, 0, 0, 0, 0, 0,
+ 0, 2581, 0, 0, 0, 951, 5403, 0, 0, 0,
+ 0, 0, 951, 0, 0, 0, 0, 3764, 0, 941,
+ 0, 941, 941, 0, 0, 0, 0, 0, 0, 0,
+ 3777, 0, 0, 884, 0, 0, 0, 0, 3786, 0,
+ 0, 0, 0, 1546, 0, 0, 0, 0, 0, 1547,
+ 0, 0, 0, 0, 2581, 0, 1613, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 884, 0, 0, 881,
+ 0, 0, 0, 0, 0, 0, 0, 3830, 1614, 0,
+ 1788, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1549, 881, 0, 0, 3854, 0,
+ 638, 0, 1789, 2509, 0, 0, 0, 0, 1789, 0,
+ 0, 0, 2510, 2511, 2512, 2513, 2514, 2515, 2516, 2517,
+ 2518, 0, 0, 0, 0, 0, 0, 0, 0, 1615,
+ 0, 0, 0, 0, 0, 0, 0, 886, 0, 0,
+ 0, 3909, 0, 3911, 0, 0, 0, 0, 0, 0,
+ 1550, 0, 0, 0, 0, 0, 2509, 1551, 0, 0,
+ 1552, 0, 0, 886, 5507, 2510, 2511, 2512, 2513, 2514,
+ 2515, 2516, 2517, 2518, 0, 0, 0, 0, 0, 0,
+ 0, 0, 883, 5517, 0, 0, 889, 1553, 0, 5523,
+ 5524, 0, 951, 883, 0, 0, 0, 0, 0, 5535,
+ 0, 0, 0, 0, 0, 0, 5537, 0, 0, 883,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1616,
+ 0, 0, 0, 1554, 0, 0, 0, 0, 0, 0,
+ 0, 3966, 0, 0, 0, 0, 0, 881, 3973, 0,
+ 0, 5589, 5590, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 5598, 0, 5600, 0, 884, 0,
+ 0, 0, 0, 883, 0, 0, 0, 0, 0, 884,
+ 0, 5614, 0, 0, 0, 1617, 0, 0, 883, 1618,
+ 0, 883, 883, 0, 881, 884, 0, 0, 0, 881,
+ 0, 0, 0, 0, 1619, 0, 4241, 0, 1556, 0,
+ 0, 0, 0, 0, 5648, 886, 0, 0, 1557, 0,
+ 0, 0, 883, 883, 0, 0, 0, 1558, 0, 0,
+ 0, 0, 951, 951, 0, 0, 0, 0, 1620, 1559,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 884,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 951,
+ 0, 0, 951, 0, 884, 0, 0, 884, 884, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1621, 0,
+ 0, 1561, 1562, 1622, 0, 0, 0, 0, 5690, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 884, 884,
+ 0, 0, 0, 0, 0, 0, 0, 1623, 0, 0,
+ 0, 0, 5710, 1624, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 5717, 0, 0, 0, 1625, 0, 0,
+ 0, 0, 0, 0, 1789, 1789, 1789, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 881, 0, 0, 0, 0, 0, 0, 883, 0, 951,
+ 2069, 0, 0, 2070, 0, 0, 0, 2071, 2072, 2073,
+ 0, 0, 0, 0, 0, 0, 0, 886, 951, 0,
+ 0, 0, 1564, 0, 0, 2571, 0, 0, 886, 0,
+ 5776, 0, 0, 0, 0, 2572, 0, 0, 0, 0,
+ 951, 0, 2573, 0, 886, 0, 0, 2069, 0, 0,
+ 2070, 0, 0, 0, 2071, 2072, 2073, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 2574, 0,
+ 0, 0, 2571, 884, 0, 4672, 0, 0, 0, 0,
+ 0, 0, 2572, 0, 0, 0, 0, 0, 0, 2573,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 4241, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 2574, 881, 0, 0, 0,
+ 0, 0, 4237, 4238, 0, 0, 951, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1788, 0, 0,
+ 0, 0, 0, 0, 0, 0, 881, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 5875, 0, 0, 0,
+ 0, 0, 0, 1789, 887, 0, 0, 0, 881, 951,
+ 5888, 951, 0, 2575, 0, 0, 0, 0, 2576, 0,
+ 0, 0, 0, 0, 951, 0, 951, 0, 0, 0,
+ 887, 886, 950, 0, 0, 0, 0, 0, 0, 0,
+ 0, 2577, 2260, 0, 0, 0, 0, 0, 0, 0,
+ 950, 0, 0, 0, 950, 0, 0, 0, 950, 0,
+ 2575, 0, 2578, 0, 0, 2576, 0, 950, 0, 5927,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 881, 0, 0, 0, 0, 950, 0, 0, 2577, 2260,
+ 0, 0, 0, 951, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 2318, 0, 0, 0, 2069, 0, 2578,
+ 2070, 0, 0, 0, 2071, 2072, 2073, 2579, 0, 950,
+ 2580, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 2571, 0, 0, 951, 0, 0, 0, 950,
+ 950, 0, 2572, 0, 0, 0, 0, 0, 0, 2573,
+ 2318, 0, 0, 0, 951, 0, 0, 0, 951, 0,
+ 0, 0, 0, 6002, 2579, 0, 0, 2580, 0, 0,
+ 1788, 950, 887, 0, 1788, 2574, 0, 0, 0, 951,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 4408, 0, 0, 6014, 0, 0, 950, 0,
+ 1788, 881, 0, 0, 950, 0, 6024, 0, 0, 0,
+ 2581, 0, 0, 0, 0, 0, 0, 0, 950, 0,
+ 889, 0, 0, 0, 0, 950, 0, 0, 950, 0,
+ 0, 0, 0, 0, 950, 0, 0, 0, 0, 0,
+ 0, 0, 0, 4603, 0, 0, 889, 0, 0, 0,
+ 0, 0, 0, 0, 950, 0, 0, 2581, 0, 0,
+ 950, 0, 0, 0, 0, 0, 0, 950, 0, 0,
+ 0, 5115, 0, 0, 0, 0, 0, 0, 1789, 0,
+ 0, 950, 0, 0, 886, 0, 0, 0, 0, 0,
+ 2575, 0, 0, 0, 950, 2576, 0, 0, 0, 1788,
+ 0, 0, 0, 0, 0, 950, 0, 0, 6091, 0,
+ 0, 0, 2509, 0, 0, 0, 0, 0, 2577, 2260,
+ 0, 2510, 2511, 2512, 2513, 2514, 2515, 2516, 2517, 2518,
+ 0, 0, 0, 0, 887, 0, 881, 0, 0, 2578,
+ 0, 0, 0, 0, 0, 887, 0, 0, 0, 0,
+ 0, 886, 4561, 0, 0, 0, 0, 0, 0, 2509,
+ 0, 887, 0, 0, 0, 1788, 0, 0, 2510, 2511,
+ 2512, 2513, 2514, 2515, 2516, 2517, 2518, 0, 0, 0,
+ 2318, 0, 0, 0, 0, 0, 0, 0, 889, 0,
+ 0, 0, 886, 0, 2579, 0, 0, 2580, 0, 0,
+ 0, 0, 0, 0, 0, 881, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 886, 0, 883, 0, 0,
+ 0, 883, 883, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 951,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 2581, 0, 883,
+ 0, 0, 0, 0, 0, 883, 0, 0, 0, 0,
+ 0, 0, 0, 884, 0, 0, 0, 884, 884, 0,
+ 1789, 0, 0, 0, 0, 1789, 0, 1789, 887, 0,
+ 950, 0, 1788, 0, 0, 881, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 883, 0, 0, 950,
+ 0, 1789, 0, 0, 0, 0, 950, 0, 0, 0,
+ 889, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 889, 0, 0, 0, 884, 0, 0, 0, 0,
+ 0, 884, 0, 0, 0, 0, 0, 889, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 951, 0, 2509,
+ 951, 0, 0, 0, 0, 0, 0, 0, 2510, 2511,
+ 2512, 2513, 2514, 2515, 2516, 2517, 2518, 0, 0, 0,
+ 0, 0, 884, 0, 0, 0, 0, 886, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 886, 0,
+ 0, 0, 0, 0, 0, 0, 1788, 0, 0, 0,
+ 0, 0, 1788, 2069, 886, 0, 2070, 0, 0, 0,
+ 2071, 2072, 2073, 0, 0, 0, 0, 881, 0, 0,
+ 0, 0, 881, 881, 0, 0, 0, 0, 2571, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 2572, 0,
+ 951, 951, 0, 0, 0, 2573, 0, 0, 0, 0,
+ 0, 951, 0, 0, 0, 0, 0, 0, 886, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 951, 0,
+ 0, 2574, 0, 886, 0, 0, 886, 886, 0, 0,
+ 0, 0, 0, 0, 0, 0, 950, 0, 0, 0,
+ 0, 0, 0, 0, 889, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 883, 0, 886, 886, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 887, 0, 0, 0, 881, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 951,
+ 0, 0, 1789, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 5121, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 883, 0,
+ 0, 884, 883, 0, 881, 0, 2575, 0, 0, 0,
+ 0, 2576, 0, 0, 0, 0, 0, 0, 887, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 4957, 0, 2577, 2260, 950, 950, 0, 0,
+ 0, 0, 0, 0, 0, 0, 4959, 0, 0, 0,
+ 0, 0, 0, 0, 0, 2578, 0, 0, 0, 887,
+ 0, 0, 886, 950, 0, 0, 950, 0, 0, 0,
+ 0, 0, 0, 0, 884, 0, 0, 0, 884, 0,
+ 0, 2069, 0, 0, 2070, 0, 0, 0, 2071, 2072,
+ 2073, 0, 887, 0, 0, 0, 2318, 0, 0, 0,
+ 0, 0, 0, 0, 0, 883, 2571, 0, 0, 0,
+ 2579, 0, 0, 2580, 0, 0, 2572, 0, 0, 0,
+ 883, 0, 0, 2573, 0, 883, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1788, 1788,
+ 1788, 0, 0, 0, 0, 0, 0, 0, 0, 2574,
+ 0, 0, 0, 883, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 950, 0, 0, 0, 889, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 884, 950, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 884, 0, 0, 0,
+ 0, 884, 0, 2581, 950, 0, 951, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 2069, 0,
+ 0, 2070, 0, 0, 0, 2071, 2072, 2073, 0, 884,
+ 0, 0, 0, 0, 889, 0, 0, 0, 0, 5122,
+ 0, 0, 0, 2571, 0, 0, 0, 0, 0, 0,
+ 951, 0, 0, 2572, 0, 0, 0, 0, 0, 0,
+ 2573, 0, 951, 0, 2575, 0, 0, 0, 0, 2576,
+ 0, 0, 0, 0, 0, 889, 0, 0, 0, 0,
+ 0, 0, 0, 0, 887, 0, 2574, 0, 0, 0,
+ 950, 0, 2577, 2260, 0, 887, 951, 0, 0, 0,
+ 0, 0, 0, 0, 0, 2509, 0, 0, 889, 0,
+ 0, 887, 0, 2578, 2510, 2511, 2512, 2513, 2514, 2515,
+ 2516, 2517, 2518, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1788, 0, 0,
+ 0, 0, 0, 950, 0, 950, 0, 0, 0, 0,
+ 0, 0, 0, 0, 2318, 5123, 0, 0, 950, 0,
+ 950, 0, 0, 0, 0, 887, 0, 0, 2579, 0,
+ 0, 2580, 0, 0, 1789, 0, 0, 0, 0, 0,
+ 887, 0, 0, 887, 887, 0, 0, 0, 0, 0,
+ 0, 0, 0, 951, 0, 0, 0, 0, 0, 883,
+ 0, 2575, 883, 0, 883, 0, 2576, 0, 0, 883,
+ 0, 0, 0, 0, 887, 887, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 950, 0, 2577,
+ 2260, 0, 0, 0, 0, 0, 954, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 988, 0,
+ 2578, 0, 0, 0, 0, 0, 0, 883, 0, 1007,
+ 0, 2581, 0, 0, 0, 883, 0, 0, 0, 950,
+ 0, 0, 0, 0, 0, 884, 0, 0, 884, 951,
+ 884, 0, 0, 0, 0, 884, 0, 0, 950, 0,
+ 883, 2318, 950, 0, 0, 0, 0, 0, 0, 0,
+ 889, 0, 0, 0, 0, 2579, 0, 0, 2580, 0,
+ 0, 889, 0, 950, 0, 0, 0, 0, 0, 0,
+ 0, 5291, 0, 0, 0, 0, 0, 889, 0, 0,
+ 0, 0, 0, 884, 0, 0, 5295, 0, 0, 0,
+ 0, 884, 0, 0, 0, 0, 0, 0, 0, 887,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 883, 0, 883, 2509, 0, 0, 884, 0, 0, 0,
+ 0, 0, 2510, 2511, 2512, 2513, 2514, 2515, 2516, 2517,
+ 2518, 889, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 889, 0, 2581, 889,
+ 889, 0, 0, 0, 0, 951, 0, 951, 0, 0,
+ 0, 0, 1788, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 5353, 0, 0,
+ 889, 889, 0, 0, 0, 0, 884, 0, 884, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 951, 0, 0, 883, 0, 0, 0,
+ 0, 0, 886, 941, 0, 0, 886, 886, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 883, 0,
+ 2509, 0, 0, 1789, 0, 0, 0, 0, 941, 2510,
+ 2511, 2512, 2513, 2514, 2515, 2516, 2517, 2518, 0, 0,
+ 0, 0, 0, 0, 886, 0, 883, 0, 0, 0,
+ 886, 0, 884, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 2069, 0, 0, 2070, 0, 0, 0, 2071, 2072, 2073,
+ 0, 0, 0, 0, 0, 889, 0, 0, 0, 0,
+ 0, 886, 0, 0, 884, 2571, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 2572, 0, 0, 0, 0,
+ 0, 0, 2573, 950, 883, 0, 0, 0, 0, 0,
+ 0, 0, 884, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 883, 0, 2574, 0,
+ 0, 0, 0, 0, 0, 0, 0, 5490, 0, 5492,
+ 0, 0, 0, 0, 0, 0, 0, 0, 883, 0,
+ 0, 0, 0, 0, 1788, 0, 0, 0, 0, 1788,
+ 0, 1788, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 884, 1027, 0, 0, 0, 1788, 0, 1059, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 884, 0, 0, 0, 0, 0, 0, 0,
+ 2069, 0, 0, 2070, 0, 0, 0, 2071, 2072, 2073,
+ 0, 0, 0, 0, 884, 0, 0, 0, 0, 0,
+ 883, 950, 951, 0, 950, 2571, 0, 0, 0, 0,
+ 0, 0, 0, 2575, 0, 2572, 951, 0, 2576, 0,
+ 0, 0, 2573, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 2577, 2260, 883, 0, 0, 0, 1789, 2574, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 886, 5619, 2578, 0, 0, 0, 0, 0, 883, 0,
+ 0, 0, 0, 0, 0, 0, 884, 0, 0, 0,
+ 0, 0, 0, 2069, 0, 0, 2070, 0, 0, 0,
+ 2071, 2072, 2073, 0, 950, 950, 0, 0, 0, 0,
+ 0, 0, 0, 2318, 0, 950, 0, 0, 2571, 0,
+ 0, 0, 0, 0, 0, 0, 0, 2579, 2572, 884,
+ 2580, 0, 950, 0, 0, 2573, 0, 0, 1360, 0,
+ 0, 0, 0, 886, 0, 0, 0, 886, 5650, 0,
+ 0, 0, 0, 0, 884, 0, 0, 1383, 1789, 0,
+ 0, 2574, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 2575, 0, 0, 0, 0, 2576, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 2577, 2260, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 950, 0, 0, 1788, 0, 0, 0,
+ 2581, 0, 2578, 1789, 0, 951, 0, 1441, 0, 0,
+ 5732, 0, 5734, 0, 0, 0, 0, 0, 883, 887,
+ 0, 0, 0, 887, 887, 0, 0, 0, 0, 0,
+ 886, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 2318, 0, 886, 0, 0, 0, 0,
+ 886, 0, 0, 0, 1577, 0, 2575, 2579, 0, 0,
+ 2580, 2576, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 5477, 0, 886, 0,
+ 0, 887, 0, 0, 2577, 2260, 0, 887, 0, 0,
+ 0, 0, 0, 0, 884, 0, 0, 0, 0, 0,
+ 0, 0, 2509, 0, 0, 2578, 0, 0, 883, 0,
+ 0, 2510, 2511, 2512, 2513, 2514, 2515, 2516, 2517, 2518,
+ 0, 0, 0, 0, 0, 0, 0, 0, 887, 0,
+ 0, 951, 0, 0, 883, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 941, 0, 2318, 0, 0, 0,
+ 2581, 0, 0, 0, 0, 0, 0, 951, 0, 0,
+ 2579, 0, 0, 2580, 0, 0, 0, 0, 0, 1838,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 884, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1872, 1875,
+ 1876, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 884, 0, 0, 0, 0, 0, 941, 941, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 950, 0, 0, 0, 0, 889, 0, 0, 0, 889,
+ 889, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 2509, 2581, 0, 0, 0, 0, 5923, 0,
+ 0, 2510, 2511, 2512, 2513, 2514, 2515, 2516, 2517, 2518,
+ 0, 0, 0, 0, 950, 951, 883, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 950, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 889, 0, 0,
+ 0, 0, 0, 889, 0, 0, 0, 1360, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1335, 1335, 0, 0,
+ 950, 0, 0, 883, 886, 0, 0, 886, 883, 886,
+ 0, 0, 0, 0, 886, 1360, 0, 887, 0, 0,
+ 0, 0, 0, 0, 889, 0, 0, 0, 0, 0,
+ 0, 0, 884, 0, 0, 2509, 0, 0, 0, 0,
+ 0, 0, 0, 0, 2510, 2511, 2512, 2513, 2514, 2515,
+ 2516, 2517, 2518, 6008, 0, 0, 0, 0, 0, 0,
+ 0, 0, 886, 0, 0, 0, 0, 0, 0, 0,
+ 886, 0, 0, 0, 1335, 0, 0, 0, 1788, 884,
+ 0, 0, 0, 0, 884, 0, 0, 0, 0, 0,
+ 887, 0, 0, 1789, 887, 886, 0, 950, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1789, 0,
+ 0, 0, 0, 0, 0, 0, 941, 941, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1789, 0, 0, 883,
+ 2565, 0, 0, 6085, 0, 886, 0, 886, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 950, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1092, 1092, 1699, 1703, 887, 0, 699,
+ 0, 0, 0, 0, 1030, 0, 0, 0, 0, 0,
+ 0, 0, 887, 0, 0, 0, 0, 887, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 889, 0, 884, 0, 0, 0, 0,
+ 2656, 0, 1031, 0, 0, 887, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 702, 1032, 0, 0, 0,
+ 0, 886, 0, 0, 0, 0, 0, 1033, 0, 0,
+ 0, 703, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 883, 0, 0, 0, 1034,
+ 0, 0, 0, 0, 0, 0, 0, 1092, 0, 0,
+ 0, 0, 0, 886, 0, 0, 889, 0, 0, 950,
+ 889, 950, 0, 1035, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 2773, 706, 883, 0, 0, 0, 0,
+ 0, 886, 2796, 707, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 708, 883, 0, 0,
+ 0, 0, 1036, 0, 0, 0, 0, 950, 0, 0,
+ 0, 884, 0, 0, 2834, 0, 0, 0, 0, 0,
+ 2846, 2846, 0, 0, 2846, 0, 0, 0, 0, 1037,
+ 0, 0, 0, 0, 0, 0, 0, 2864, 0, 0,
+ 2867, 0, 0, 0, 0, 0, 0, 0, 0, 886,
+ 0, 884, 0, 0, 0, 0, 0, 1788, 0, 0,
+ 1038, 0, 0, 889, 0, 0, 0, 0, 0, 883,
+ 0, 886, 0, 884, 0, 0, 0, 0, 889, 1546,
+ 0, 0, 712, 889, 2020, 1547, 0, 0, 0, 0,
+ 0, 0, 1613, 886, 0, 0, 2920, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 2939, 889, 0, 0, 1614, 0, 0, 0, 0, 2039,
+ 0, 0, 0, 1039, 0, 0, 0, 0, 0, 0,
+ 1549, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 887, 0, 0, 887, 884, 887, 715, 2058, 2059,
+ 2060, 887, 2062, 0, 0, 0, 0, 213, 1040, 0,
+ 0, 717, 0, 0, 0, 1615, 0, 0, 0, 0,
+ 0, 0, 2527, 0, 0, 886, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1550, 0, 1041, 0,
+ 883, 1042, 0, 1551, 0, 720, 1552, 0, 721, 887,
+ 0, 0, 0, 0, 0, 722, 0, 887, 723, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 886, 0,
+ 2961, 0, 0, 1553, 0, 0, 0, 724, 0, 0,
+ 0, 2964, 887, 0, 1043, 0, 0, 0, 0, 0,
+ 0, 726, 0, 886, 1044, 0, 0, 0, 728, 0,
+ 0, 0, 0, 0, 0, 1616, 1045, 0, 730, 1554,
+ 0, 0, 0, 1046, 0, 0, 884, 0, 0, 0,
+ 0, 0, 0, 3008, 2846, 2623, 950, 0, 0, 2635,
+ 2640, 0, 0, 0, 0, 0, 0, 0, 0, 733,
+ 950, 0, 0, 0, 0, 0, 0, 0, 3043, 0,
+ 0, 0, 887, 0, 887, 3056, 0, 0, 0, 0,
+ 0, 1617, 0, 0, 0, 1618, 0, 0, 0, 0,
+ 0, 1788, 0, 0, 0, 883, 0, 0, 0, 0,
+ 1619, 0, 0, 0, 1556, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1557, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1558, 0, 0, 0, 889, 0, 0,
+ 889, 0, 889, 0, 1620, 1559, 0, 889, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 3117, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 883, 0, 0, 0, 887, 0,
+ 0, 884, 0, 886, 3665, 0, 0, 1561, 1562, 1622,
+ 0, 1360, 1360, 0, 0, 889, 0, 0, 0, 0,
+ 0, 0, 1788, 889, 0, 0, 0, 0, 3171, 0,
+ 0, 3173, 0, 1623, 0, 0, 0, 0, 0, 3666,
+ 887, 0, 0, 0, 0, 0, 0, 0, 889, 0,
+ 0, 0, 0, 1625, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 887, 0,
+ 884, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1788, 0, 950,
+ 0, 0, 0, 886, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1564, 0,
+ 0, 0, 0, 0, 883, 0, 0, 0, 889, 886,
+ 889, 0, 1699, 1699, 1699, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 887, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2520,
+ 0, 0, 0, 0, 0, 0, 0, 0, 887, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 887, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 884, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 2520, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 889, 950, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 950, 0, 0, 0, 0, 883, 0, 0, 0,
+ 0, 883, 883, 0, 0, 0, 889, 0, 0, 0,
+ 0, 886, 887, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 197, 0, 1, 0, 889, 0, 0, 0, 0, 0,
+ 0, 0, 0, 2, 0, 3, 4, 0, 0, 0,
+ 0, 0, 0, 0, 0, 887, 0, 0, 886, 0,
+ 0, 0, 0, 886, 0, 0, 0, 0, 0, 0,
+ 0, 0, 884, 6, 0, 0, 0, 884, 884, 0,
+ 887, 198, 0, 0, 0, 7, 0, 8, 9, 0,
+ 0, 0, 0, 0, 10, 0, 11, 199, 0, 0,
+ 0, 0, 889, 0, 0, 0, 0, 0, 12, 950,
+ 13, 0, 0, 0, 883, 200, 0, 0, 0, 0,
+ 0, 201, 0, 0, 889, 0, 0, 14, 0, 0,
+ 15, 0, 0, 0, 0, 0, 0, 0, 0, 202,
+ 0, 0, 0, 0, 0, 16, 889, 17, 0, 0,
+ 203, 18, 0, 0, 0, 0, 0, 5628, 0, 204,
+ 0, 0, 0, 883, 0, 20, 0, 21, 0, 0,
+ 0, 0, 205, 0, 22, 0, 0, 0, 206, 0,
+ 0, 0, 0, 0, 0, 207, 0, 0, 0, 0,
+ 884, 0, 23, 0, 0, 0, 0, 0, 0, 0,
+ 0, 3199, 0, 0, 0, 208, 0, 0, 0, 24,
+ 3219, 3219, 3224, 3230, 886, 0, 0, 3235, 0, 3236,
+ 0, 3238, 0, 0, 3252, 3255, 3260, 0, 889, 0,
+ 0, 0, 3269, 0, 0, 3274, 209, 0, 0, 884,
+ 887, 0, 0, 0, 0, 0, 0, 1788, 0, 0,
+ 3281, 3282, 3283, 0, 0, 0, 25, 26, 210, 0,
+ 0, 0, 27, 2520, 0, 0, 0, 2520, 3284, 0,
+ 0, 889, 0, 0, 0, 0, 28, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1788, 0, 29, 0, 889, 0, 0, 211,
+ 0, 0, 0, 0, 0, 0, 0, 0, 3348, 0,
+ 1788, 0, 0, 0, 0, 0, 0, 0, 3353, 0,
+ 0, 0, 0, 212, 0, 0, 0, 0, 0, 0,
+ 887, 0, 0, 213, 214, 0, 0, 215, 30, 0,
+ 886, 0, 0, 0, 0, 0, 0, 1441, 0, 0,
+ 0, 0, 31, 0, 0, 0, 887, 0, 32, 33,
+ 0, 34, 0, 0, 216, 0, 35, 217, 0, 4533,
+ 0, 218, 36, 0, 219, 37, 0, 0, 0, 0,
+ 886, 220, 38, 0, 221, 0, 0, 0, 0, 39,
+ 40, 0, 0, 0, 1441, 1441, 0, 41, 0, 0,
+ 0, 42, 886, 222, 0, 0, 0, 0, 0, 0,
+ 223, 43, 3291, 0, 0, 224, 0, 225, 0, 0,
+ 226, 0, 0, 0, 227, 0, 0, 44, 1360, 0,
+ 0, 0, 0, 0, 228, 0, 0, 0, 0, 229,
+ 0, 0, 0, 0, 0, 0, 0, 45, 0, 0,
+ 0, 0, 230, 0, 0, 0, 889, 0, 46, 3310,
+ 0, 0, 0, 0, 47, 231, 0, 0, 0, 48,
+ 0, 0, 0, 0, 886, 0, 0, 0, 0, 0,
+ 0, 0, 49, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 887, 0,
+ 0, 0, 0, 0, 0, 0, 50, 0, 0, 0,
+ 0, 0, 3312, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 56, 0, 0, -136, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 887, 889, 0, 0, 0,
+ 887, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 3566, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 889, 650, 0, 0, 3588, 0, 0, 0,
+ 0, 0, 0, 0, 2520, 0, 0, 0, 0, 0,
+ 0, 651, 0, 0, 0, 886, 0, 0, 3616, 0,
+ 0, 0, 0, 2520, 0, 0, 0, 3248, 0, 0,
+ 0, 0, 0, 0, 0, 0, 652, 0, 0, 0,
+ 0, 0, 2520, 2520, 2520, 0, 2520, 0, 0, 653,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, -869, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 654, 0, 0, 0, 0, 0, 655,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 3694, 3695, 0, 656, 0, 3319,
+ 3320, 3321, 3322, 3323, 3324, 3325, 3326, 3327, 657, 3328,
+ 0, 887, 0, 0, 0, 0, 0, 658, 0, 0,
+ 1335, 0, 1699, 0, 889, 0, 0, 0, 0, 0,
+ 659, 0, 0, 0, 0, 0, 0, 0, 0, 660,
+ 886, 0, 0, 661, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 3284, 0, 0, -1075, 3291, 0, 0, 3310, 0, 3312,
+ 0, 889, 3365, 0, 0, 0, 889, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 3818, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 662, 0, 0, 886,
+ 0, 0, 0, 0, 0, 0, -605, 0, 0, 0,
+ 0, 0, 0, 0, 0, 2059, 2060, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 887, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 663, 0, 0,
+ 664, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 887, 0, 0,
+ 0, 665, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 666, 0, 0, 0, 887,
+ 0, 0, -459, 0, 0, 0, 0, 0, 3508, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 667, 0, 0, 0, 0, 889, 0, 886,
+ 0, 0, 668, 0, 0, 0, 0, 0, 0, -459,
+ 0, 0, 669, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 670, 0, 0, 0, 0, 0, 0, 671, 0,
+ 0, 887, 0, 0, 0, -459, 0, 0, 672, 673,
+ 0, 674, 675, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 676, 0, 0,
+ 0, 0, 0, 0, 677, 0, 0, 678, 0, 0,
+ 679, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, -459, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 889, 0, 0, 0, 0, 0, 0,
+ 0, 886, 0, 0, 0, 0, 886, 886, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 887, 889, 0, 0, 0, 0, 0, 0,
+ 0, 2520, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 889, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 4119, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3750, 3751, 1699, 0, 0, 0, 3755,
+ 0, 0, 1441, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 3784, 0, 0, 886,
+ 0, 0, 0, 0, 0, 0, 0, 889, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 2520, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2520,
+ 0, 0, 0, 0, 2520, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 887, 886, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 887, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 889, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 3979, 0, 0, 0, 0,
+ 3985, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 887, 0, 0, 4328,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2846,
+ 0, 0, 0, 0, 2062, 0, 0, 0, 0, 0,
+ 0, 0, 0, 889, 0, 3260, 0, 3260, 3260, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 4066, 0, 0, 4069, 0, 4071, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 4098, 0, 4101, 0, 4103, 0, 0, 0,
+ 0, 0, 889, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 887, 0,
+ 0, 0, 0, 887, 887, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 4459, 4460,
+ 4461, 0, 0, 0, 0, 0, 0, 4170, 0, 0,
+ 0, 0, 2623, 0, 0, 4470, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 2640, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 889, 0, 0, 0, 0, 0, 4495, 4497,
+ 0, 0, 0, 4502, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 887, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 4220, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 887, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1360,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 889, 0, 0, 0, 0, 889,
+ 889, 0, 0, 2520, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 2520, 0, 0, 0, 0, 2520, 0,
+ 0, 0, 0, 0, 2520, 0, 0, 0, 0, 2520,
+ 2520, 0, 2520, 0, 0, 0, 0, 3248, 3248, 0,
+ 4042, 0, 3248, 0, 0, 0, 2520, 0, 0, 2520,
+ 0, 0, 0, 0, 2520, 0, 0, 0, 0, 0,
+ 0, 0, 0, 2520, 0, 0, 0, 0, 2520, 0,
+ 0, 0, 0, 0, 0, 2520, 2520, 2520, 2520, 0,
+ 0, 0, 3248, 3248, 0, 2520, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 889, 0, 2520, 0, 2520, 0, 0, 0,
+ 0, 0, 0, 2520, 2520, 2520, 2520, 2520, 2520, 2520,
+ 2520, 2520, 2520, 0, 0, 0, 0, 0, 4706, 4707,
+ 4708, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 889, 0, 0, 0, 1699, 0, 0, 0, 2520,
+ 0, 1699, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 4482, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 2520, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 4604,
+ 0, 0, 0, 0, 0, 0, 0, 0, 4608, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 3219, 0,
+ 0, 0, 3219, 3219, 0, 0, 0, 0, 3230, 0,
+ 0, 0, 0, 0, 0, 0, 4626, 0, 4627, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 4970, 4649, 4650, 4651, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 3269, 0, 0, 0, 0, 0,
+ 0, 0, 4675, 0, 0, 4678, 5002, 4680, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 4686, 0, 0, 0, 0,
+ 0, 0, 0, 4693, 4694, 0, 0, 0, 3056, 0,
+ 4699, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 2520, 2520, 0, 0, 0, 2520,
+ 0, 0, 0, 5060, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 3117, 0, 0, 0, 0, 0, 0, 0, 2520, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 4751, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 4765, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 5160, 5161, 5162, 5163, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 2520, 0, 0, 0, 0, 0, 2520,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 4042, 4042, 0,
+ 0, 3248, 3248, 3248, 3248, 0, 0, 3248, 3248, 3248,
+ 3248, 3248, 3248, 3248, 3248, 3248, 3248, 4042, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 2520, 0, 0, 2520, 0, 2520, 0, 0, 4042, 4042,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 2520, 3248, 3248, 2520, 0, 2520, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 5048, 5049, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 5056, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 2520, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 5099, 0, 2520, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 2623, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 5117,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 5375, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 5385, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 5136, 5138,
+ 0, 0, 0, 0, 0, 5142, 5143, 0, 0, 0,
+ 5144, 0, 0, 0, 0, 0, 0, 5147, 0, 0,
+ 5150, 5151, 0, 0, 0, 0, 0, 5156, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 5190, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1335, 0, 0, 0, 0, 0, 0, 0, 5204,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 5214,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3248, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 2520, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 5279, 0, 0, 0, 0, 0, 0, 5281,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 5573, 0,
+ 0, 0, 0, 1360, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 5603, 0, 0, 0, 0, 5316, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 2520, 0,
+ 0, 0, 2520, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 2520, 2520, 0, 0, 0, 0, 4042, 4042, 4042, 4042,
+ 0, 0, 0, 4042, 4042, 4042, 4042, 4042, 4042, 4042,
+ 4042, 4042, 4042, 2520, 2520, 2520, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2520,
+ 0, 0, 2520, 0, 2520, 0, 0, 0, 0, 0,
+ 2520, 0, 0, 4042, 4042, 0, 0, 2520, 2520, 0,
+ 0, 0, 0, 2520, 0, 0, 0, 0, 0, 0,
+ 0, 5707, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 5407, 0, 0, 0, 0, 0,
+ 5411, 5412, 5413, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 2520, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 5426, 5427, 2520,
+ 0, 5428, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 5447, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 5465, 0,
+ 0, 0, 5783, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 5480, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 5805, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 4042, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3269, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 2520, 2520, 0, 0, 0, 0, 0, 0,
+ 2520, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 2062, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 2520, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 2520, 3248, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 5724, 0,
+ 2520, 0, 2520, 0, 0, 0, 2520, 2520, 2520, 0,
+ 0, 2520, 0, 0, 2520, 2520, 0, 0, 0, 0,
+ 2520, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 3248, 0, 0, 0,
+ 5760, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 2520, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 2520, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 2520, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 5826,
+ 0, 0, 0, 0, 0, 0, 0, 0, 5833, 5833,
+ 5833, 0, 0, 2520, 0, 2520, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 5465, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 2520, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 5877, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 2520, 0, 4042, 3248, 2520, 2520, 2520, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 2520, 2520, 2520, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 3248, 0, 0, 4042, 0, 5833,
+ 0, 2520, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2520,
+ 0, 0, 5465, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 5990, 0, 2520, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 6031, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 6056, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 4042, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 4042, 0, 3248, 5833, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 6124, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 2520, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 2520, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1699,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 2520, 0, 0, 0, 0, 0, 0, 2520, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 2520, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 3248, 3248, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 2520, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 2520, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 234,
+ 2520, 1246, 694, 0, 1247, 1248, 1249, 755, 1250, 0,
+ 0, 4042, 4042, 0, 0, 0, 235, 236, 237, 238,
+ 239, 240, 241, 242, 243, 1693, 244, 245, 246, 0,
+ 0, 0, 0, 1251, 0, 0, 247, 248, 249, 0,
+ 250, 251, 252, 253, 254, 255, 256, 257, 258, 1252,
+ 260, 1253, 1254, 0, 263, 264, 265, 266, 267, 268,
+ 269, 1255, 1256, 270, 271, 1257, 1258, 274, 2520, 275,
+ 276, 277, 278, 1259, 0, 1260, 0, 281, 282, 283,
+ 284, 285, 286, 287, 288, 289, 290, 0, 291, 292,
+ 293, 294, 295, 296, 0, 297, 298, 299, 300, 1261,
+ 1262, 1263, 1264, 1265, 1266, 1267, 302, 303, 304, 305,
+ 306, 307, 1268, 1269, 310, 1270, 311, 0, 312, 313,
+ 314, 315, 316, 317, 318, 0, 319, 320, 321, 322,
+ 1694, 0, 323, 324, 864, 326, 327, 0, 328, 329,
+ 330, 0, 331, 332, 333, 0, 334, 335, 336, 337,
+ 1271, 339, 340, 341, 342, 1272, 1273, 344, 0, 345,
+ 346, 347, 1274, 349, 0, 350, 0, 351, 352, 353,
+ 0, 354, 355, 356, 357, 358, 0, 359, 1275, 0,
+ 1276, 362, 363, 0, 364, 365, 366, 367, 368, 369,
+ 370, 371, 372, 373, 0, 374, 375, 376, 377, 378,
+ 379, 380, 381, 0, 382, 383, 384, 385, 386, 387,
+ 388, 1277, 1278, 0, 1279, 0, 392, 393, 394, 395,
+ 396, 397, 1280, 1281, 1282, 1283, 402, 403, 404, 405,
+ 406, 407, 0, 0, 408, 1284, 410, 411, 412, 0,
+ 413, 414, 415, 1285, 1286, 416, 417, 418, 419, 420,
+ 421, 422, 423, 424, 425, 426, 427, 428, 429, 430,
+ 431, 432, 433, 1287, 435, 1288, 437, 438, 439, 440,
+ 441, 442, 443, 444, 1289, 446, 1290, 447, 448, 449,
+ 450, 1291, 1292, 452, 1293, 454, 455, 456, 0, 457,
+ 458, 0, 0, 1294, 460, 461, 0, 0, 462, 463,
+ 464, 465, 466, 467, 1295, 469, 470, 471, 472, 473,
+ 474, 475, 476, 477, 478, 0, 479, 480, 1296, 482,
+ 483, 484, 485, 486, 0, 487, 488, 489, 490, 491,
+ 492, 493, 494, 495, 496, 1297, 498, 499, 500, 501,
+ 0, 502, 503, 504, 505, 506, 507, 508, 509, 510,
+ 511, 512, 513, 514, 0, 515, 516, 517, 518, 519,
+ 520, 521, 522, 1298, 524, 525, 526, 527, 528, 529,
+ 530, 531, 532, 533, 0, 534, 535, 536, 537, 538,
+ 1299, 539, 540, 541, 542, 543, 544, 545, 546, 1300,
+ 548, 0, 549, 550, 551, 552, 553, 554, 555, 556,
+ 557, 558, 559, 560, 561, 1301, 563, 0, 564, 565,
+ 1302, 0, 566, 567, 568, 569, 570, 571, 572, 0,
+ 573, 1303, 1304, 0, 0, 576, 577, 1305, 579, 1306,
+ 1307, 581, 582, 583, 584, 585, 586, 587, 588, 0,
+ 1308, 589, 590, 591, 592, 593, 1309, 0, 594, 595,
+ 596, 597, 598, 599, 1310, 1695, 601, 602, 603, 604,
+ 605, 606, 0, 0, 607, 0, 0, 608, 609, 610,
+ 611, 612, 613, 614, 1311, 1312, 1313, 1314, 619, 1315,
+ 1316, 1317, 1318, 624, 625, 626, 627, 0, 1319, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1320, 1321, 1696, 0, 0, 0, 0, 0, 0, 1323,
+ 1697, 234, 0, 1246, 694, 0, 1247, 1248, 1249, 755,
+ 1250, 0, 0, 0, 0, 0, 0, 0, 235, 236,
+ 237, 238, 239, 240, 241, 242, 243, 0, 244, 245,
+ 246, 0, 0, 0, 0, 1251, 0, 0, 247, 248,
+ 249, 0, 250, 251, 252, 253, 254, 255, 256, 257,
+ 258, 1252, 260, 1253, 1254, 0, 263, 264, 265, 266,
+ 267, 268, 269, 1255, 1256, 270, 271, 1257, 1258, 274,
+ 0, 275, 276, 277, 278, 1259, 0, 1260, 0, 281,
+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 0,
+ 291, 292, 293, 294, 295, 296, 0, 297, 298, 299,
+ 300, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 302, 303,
+ 304, 305, 306, 307, 1268, 1269, 310, 1270, 311, 0,
+ 312, 313, 314, 315, 316, 317, 318, 0, 319, 320,
+ 321, 322, 0, 0, 323, 324, 864, 326, 327, 0,
+ 328, 329, 330, 0, 331, 332, 333, 0, 334, 335,
+ 336, 337, 1271, 339, 340, 341, 342, 1272, 1273, 344,
+ 0, 345, 346, 347, 1274, 349, 0, 350, 0, 351,
+ 352, 353, 0, 354, 355, 356, 357, 358, 0, 359,
+ 1275, 0, 1276, 362, 363, 0, 364, 365, 366, 367,
+ 368, 369, 370, 371, 372, 373, 0, 374, 375, 376,
+ 377, 378, 379, 380, 381, 0, 382, 383, 384, 385,
+ 386, 387, 388, 1277, 1278, 0, 1279, 0, 392, 393,
+ 394, 395, 396, 397, 1280, 1281, 1282, 1283, 402, 403,
+ 404, 405, 406, 407, 0, 0, 408, 1284, 410, 411,
+ 412, 0, 413, 414, 415, 1285, 1286, 416, 417, 418,
+ 419, 420, 421, 422, 423, 424, 425, 426, 427, 428,
+ 429, 430, 431, 432, 433, 1287, 435, 1288, 437, 438,
+ 439, 440, 441, 442, 443, 444, 1289, 446, 1290, 447,
+ 448, 449, 450, 1291, 1292, 452, 1293, 454, 455, 456,
+ 0, 457, 458, 0, 0, 1294, 460, 461, 0, 0,
+ 462, 463, 464, 465, 466, 467, 1295, 469, 470, 471,
+ 472, 473, 474, 475, 476, 477, 478, 0, 479, 480,
+ 1296, 482, 483, 484, 485, 486, 0, 487, 488, 489,
+ 490, 491, 492, 493, 494, 495, 496, 1297, 498, 499,
+ 500, 501, 0, 502, 503, 504, 505, 506, 507, 508,
+ 509, 510, 511, 512, 513, 514, 0, 515, 516, 517,
+ 518, 519, 520, 521, 522, 1298, 524, 525, 526, 527,
+ 528, 529, 530, 531, 532, 533, 40, 534, 535, 536,
+ 537, 538, 1299, 539, 540, 541, 542, 543, 544, 545,
+ 546, 1300, 548, 0, 549, 550, 551, 552, 553, 554,
+ 555, 556, 557, 558, 559, 560, 561, 1301, 563, 0,
+ 564, 565, 1302, 44, 566, 567, 568, 569, 570, 571,
+ 572, 0, 573, 1303, 1304, 0, 0, 576, 577, 1305,
+ 579, 1306, 1307, 581, 582, 583, 584, 585, 586, 587,
+ 588, 0, 1308, 589, 590, 591, 592, 593, 1309, 0,
+ 594, 595, 596, 597, 598, 1181, 1310, 0, 601, 602,
+ 603, 604, 605, 606, 0, 0, 607, 0, 49, 608,
+ 609, 610, 611, 612, 613, 614, 1311, 1312, 1313, 1314,
+ 619, 1315, 1316, 1317, 1318, 624, 625, 626, 627, 0,
+ 1319, 0, 50, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1320, 1321, 0, 0, 0, 0, 0, 0,
+ 0, 1323, 5684, 234, 0, 1246, 694, 0, 1247, 1248,
+ 1249, 755, 1250, 0, 0, 0, 0, 0, 0, 0,
+ 235, 236, 237, 238, 239, 240, 241, 242, 243, 0,
+ 244, 245, 246, 0, 0, 0, 0, 1251, 0, 0,
+ 247, 248, 249, 0, 250, 251, 252, 253, 254, 255,
+ 256, 257, 258, 1252, 260, 1253, 1254, 0, 263, 264,
+ 265, 266, 267, 268, 269, 1255, 1256, 270, 271, 1257,
+ 1258, 274, 0, 275, 276, 277, 278, 1259, 0, 1260,
+ 0, 281, 282, 283, 284, 285, 286, 287, 288, 289,
+ 290, 0, 291, 292, 293, 294, 295, 296, 0, 297,
+ 298, 299, 300, 1261, 1262, 1263, 1264, 1265, 1266, 1267,
+ 302, 303, 304, 305, 306, 307, 1268, 1269, 310, 1270,
+ 311, 0, 312, 313, 314, 315, 316, 317, 318, 0,
+ 319, 320, 321, 322, 0, 0, 323, 324, 864, 326,
+ 327, 0, 328, 329, 330, 0, 331, 332, 333, 0,
+ 334, 335, 336, 337, 1271, 339, 340, 341, 342, 1272,
+ 1273, 344, 0, 345, 346, 347, 1274, 349, 0, 350,
+ 0, 351, 352, 353, 0, 354, 355, 356, 357, 358,
+ 0, 359, 1275, 0, 1276, 362, 363, 0, 364, 365,
+ 366, 367, 368, 369, 370, 371, 372, 373, 0, 374,
+ 375, 376, 377, 378, 379, 380, 381, 0, 382, 383,
+ 384, 385, 386, 387, 388, 1277, 1278, 0, 1279, 0,
+ 392, 393, 394, 395, 396, 397, 1280, 1281, 1282, 1283,
+ 402, 403, 404, 405, 406, 407, 0, 0, 408, 1284,
+ 410, 411, 412, 0, 413, 414, 415, 1285, 1286, 416,
+ 417, 418, 419, 420, 421, 422, 423, 424, 425, 426,
+ 427, 428, 429, 430, 431, 432, 433, 1287, 435, 1288,
+ 437, 438, 439, 440, 441, 442, 443, 444, 1289, 446,
+ 1290, 447, 448, 449, 450, 1291, 1292, 452, 1293, 454,
+ 455, 456, 0, 457, 458, 0, 0, 1294, 460, 461,
+ 0, 0, 462, 463, 464, 465, 466, 467, 1295, 469,
+ 470, 471, 472, 473, 474, 475, 476, 477, 478, 0,
+ 479, 480, 1296, 482, 483, 484, 485, 486, 0, 487,
+ 488, 489, 490, 491, 492, 493, 494, 495, 496, 1297,
+ 498, 499, 500, 501, 0, 502, 503, 504, 505, 506,
+ 507, 508, 509, 510, 511, 512, 513, 514, 0, 515,
+ 516, 517, 518, 519, 520, 521, 522, 1298, 524, 525,
+ 526, 527, 528, 529, 530, 531, 532, 533, 0, 534,
+ 535, 536, 537, 538, 1299, 539, 540, 541, 542, 543,
+ 544, 545, 546, 1300, 548, 0, 549, 550, 551, 552,
+ 553, 554, 555, 556, 557, 558, 559, 560, 561, 1301,
+ 563, 0, 564, 565, 1302, 0, 566, 567, 568, 569,
+ 570, 571, 572, 0, 573, 1303, 1304, 0, 0, 576,
+ 577, 1305, 579, 1306, 1307, 581, 582, 583, 584, 585,
+ 586, 587, 588, 0, 1308, 589, 590, 591, 592, 593,
+ 1309, 0, 594, 595, 596, 597, 598, 599, 1310, 0,
+ 601, 602, 603, 604, 605, 606, 0, 0, 607, 0,
+ 0, 608, 609, 610, 611, 612, 613, 614, 1311, 1312,
+ 1313, 1314, 619, 1315, 1316, 1317, 1318, 624, 625, 626,
+ 627, 0, 1319, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1320, 1321, 0, 0, 0, 0,
+ 0, 0, 0, 1323, 3250, 234, 0, 1246, 694, 0,
+ 1247, 1248, 1249, 755, 1250, 0, 0, 0, 0, 0,
+ 0, 0, 235, 236, 237, 238, 239, 240, 241, 242,
+ 243, 0, 244, 245, 246, 0, 0, 0, 0, 1251,
+ 0, 0, 247, 248, 249, 0, 250, 251, 252, 253,
+ 254, 255, 256, 257, 258, 1252, 260, 1253, 1254, 0,
+ 263, 264, 265, 266, 267, 268, 269, 1255, 1256, 270,
+ 271, 1257, 1258, 274, 0, 275, 276, 277, 278, 1259,
+ 0, 1260, 0, 281, 282, 283, 284, 285, 286, 287,
+ 288, 289, 290, 0, 291, 292, 293, 294, 295, 296,
+ 0, 297, 298, 299, 300, 1261, 1262, 1263, 1264, 1265,
+ 1266, 1267, 302, 303, 304, 305, 306, 307, 1268, 1269,
+ 310, 1270, 311, 0, 312, 313, 314, 315, 316, 317,
+ 318, 0, 319, 320, 321, 322, 0, 0, 323, 324,
+ 864, 326, 327, 0, 328, 329, 330, 0, 331, 332,
+ 333, 0, 334, 335, 336, 337, 1271, 339, 340, 341,
+ 342, 1272, 1273, 344, 0, 345, 346, 347, 1274, 349,
+ 0, 350, 0, 351, 352, 353, 0, 354, 355, 356,
+ 357, 358, 0, 359, 1275, 0, 1276, 362, 363, 0,
+ 364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
+ 0, 374, 375, 376, 377, 378, 379, 380, 381, 0,
+ 382, 383, 384, 385, 386, 387, 388, 1277, 1278, 0,
+ 1279, 0, 392, 393, 394, 395, 396, 397, 1280, 1281,
+ 1282, 1283, 402, 403, 404, 405, 406, 407, 0, 0,
+ 408, 1284, 410, 411, 412, 0, 413, 414, 415, 1285,
+ 1286, 416, 417, 418, 419, 420, 421, 422, 423, 424,
+ 425, 426, 427, 428, 429, 430, 431, 432, 433, 1287,
+ 435, 1288, 437, 438, 439, 440, 441, 442, 443, 444,
+ 1289, 446, 1290, 447, 448, 449, 450, 1291, 1292, 452,
+ 1293, 454, 455, 456, 0, 457, 458, 0, 0, 1294,
+ 460, 461, 0, 0, 462, 463, 464, 465, 466, 467,
+ 1295, 469, 470, 471, 472, 473, 474, 475, 476, 477,
+ 478, 0, 479, 480, 1296, 482, 483, 484, 485, 486,
+ 0, 487, 488, 489, 490, 491, 492, 493, 494, 495,
+ 496, 1297, 498, 499, 500, 501, 0, 502, 503, 504,
+ 505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
+ 0, 515, 516, 517, 518, 519, 520, 521, 522, 1298,
+ 524, 525, 526, 527, 528, 529, 530, 531, 532, 533,
+ 0, 534, 535, 536, 537, 538, 1299, 539, 540, 541,
+ 542, 543, 544, 545, 546, 1300, 548, 0, 549, 550,
+ 551, 552, 553, 554, 555, 556, 557, 558, 559, 560,
+ 561, 1301, 563, 0, 564, 565, 1302, 0, 566, 567,
+ 568, 569, 570, 571, 572, 0, 573, 1303, 1304, 0,
+ 0, 576, 577, 1305, 579, 1306, 1307, 581, 582, 583,
+ 584, 585, 586, 587, 588, 0, 1308, 589, 590, 591,
+ 592, 593, 1309, 0, 594, 595, 596, 597, 598, 599,
+ 1310, 0, 601, 602, 603, 604, 605, 606, 0, 0,
+ 607, 0, 0, 608, 609, 610, 611, 612, 613, 614,
+ 1311, 1312, 1313, 1314, 619, 1315, 1316, 1317, 1318, 624,
+ 625, 626, 627, 0, 1319, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1320, 1321, 0, 0,
+ 0, 0, 0, 0, 0, 1323, 4628, 234, 0, 1246,
+ 694, 0, 1247, 1248, 1249, 755, 1250, 0, 0, 0,
+ 0, 0, 0, 0, 235, 236, 237, 238, 239, 240,
+ 241, 242, 243, 0, 244, 245, 246, 0, 0, 0,
+ 0, 1251, 0, 0, 247, 248, 249, 0, 250, 251,
+ 252, 253, 254, 255, 256, 257, 258, 1252, 260, 1253,
+ 1254, 0, 263, 264, 265, 266, 267, 268, 269, 1255,
+ 1256, 270, 271, 1257, 1258, 274, 0, 275, 276, 277,
+ 278, 1259, 0, 1260, 0, 281, 282, 283, 284, 285,
+ 286, 287, 288, 289, 290, 0, 291, 292, 293, 294,
+ 295, 296, 0, 297, 298, 299, 300, 1261, 1262, 1263,
+ 1264, 1265, 1266, 1267, 302, 303, 304, 305, 306, 307,
+ 1268, 1269, 310, 1270, 311, 0, 312, 313, 314, 315,
+ 316, 317, 318, 0, 319, 320, 321, 322, 0, 0,
+ 323, 324, 864, 326, 327, 0, 328, 329, 330, 0,
+ 331, 332, 333, 0, 334, 335, 336, 337, 1271, 339,
+ 340, 341, 342, 1272, 1273, 344, 0, 345, 346, 347,
+ 1274, 349, 0, 350, 0, 351, 352, 353, 0, 354,
+ 355, 356, 357, 358, 0, 359, 1275, 0, 1276, 362,
+ 363, 0, 364, 365, 366, 367, 368, 369, 370, 371,
+ 372, 373, 0, 374, 375, 376, 377, 378, 379, 380,
+ 381, 0, 382, 383, 384, 385, 386, 387, 388, 1277,
+ 1278, 0, 1279, 0, 392, 393, 394, 395, 396, 397,
+ 1280, 1281, 1282, 1283, 402, 403, 404, 405, 406, 407,
+ 0, 0, 408, 1284, 410, 411, 412, 0, 413, 414,
+ 415, 1285, 1286, 416, 417, 418, 419, 420, 421, 422,
+ 423, 424, 425, 426, 427, 428, 429, 430, 431, 432,
+ 433, 1287, 435, 1288, 437, 438, 439, 440, 441, 442,
+ 443, 444, 1289, 446, 1290, 447, 448, 449, 450, 1291,
+ 1292, 452, 1293, 454, 455, 456, 0, 457, 458, 0,
+ 0, 1294, 460, 461, 0, 0, 462, 463, 464, 465,
+ 466, 467, 1295, 469, 470, 471, 472, 473, 474, 475,
+ 476, 477, 478, 0, 479, 480, 1296, 482, 483, 484,
+ 485, 486, 0, 487, 488, 489, 490, 491, 492, 493,
+ 494, 495, 496, 1297, 498, 499, 500, 501, 0, 502,
+ 503, 504, 505, 506, 507, 508, 509, 510, 511, 512,
+ 513, 514, 0, 515, 516, 517, 518, 519, 520, 521,
+ 522, 1298, 524, 525, 526, 527, 528, 529, 530, 531,
+ 532, 533, 0, 534, 535, 536, 537, 538, 1299, 539,
+ 540, 541, 542, 543, 544, 545, 546, 1300, 548, 0,
+ 549, 550, 551, 552, 553, 554, 555, 556, 557, 558,
+ 559, 560, 561, 1301, 563, 0, 564, 565, 1302, 0,
+ 566, 567, 568, 569, 570, 571, 572, 0, 573, 1303,
+ 1304, 0, 0, 576, 577, 1305, 579, 1306, 1307, 581,
+ 582, 583, 584, 585, 586, 587, 588, 0, 1308, 589,
+ 590, 591, 592, 593, 1309, 0, 594, 595, 596, 597,
+ 598, 599, 1310, 0, 601, 602, 603, 604, 605, 606,
+ 0, 0, 607, 0, 0, 608, 609, 610, 611, 612,
+ 613, 614, 1311, 1312, 1313, 1314, 619, 1315, 1316, 1317,
+ 1318, 624, 625, 626, 627, 0, 1319, 0, 0, 0,
+ 0, 0, 635, 0, 0, 0, 0, 0, 1320, 1321,
+ 0, 0, 0, 0, 0, 0, 0, 1323, 4696, 235,
+ 236, 237, 238, 239, 240, 241, 242, 243, 0, 244,
+ 245, 246, 0, 0, 0, 0, 0, 4148, 0, 247,
+ 248, 249, 0, 250, 251, 252, 253, 0, 255, 256,
+ 257, 258, 259, 0, 261, 262, 0, 263, 264, 265,
+ 266, 267, 268, 269, 0, 0, 270, 271, 272, 273,
+ 274, 0, 275, 276, 277, 278, 279, 0, 0, 0,
+ 281, 282, 283, 284, 285, 286, 0, 288, 289, 290,
+ 0, 291, 292, 293, 294, 295, 296, 0, -1811, 298,
+ 299, 300, 0, 0, 0, 0, 0, 0, 0, 302,
+ 303, 304, 305, 306, 307, 308, 309, 310, 0, 311,
+ 0, 312, 313, 314, 315, 316, 317, 318, 0, 319,
+ 320, 321, 322, 0, 0, 323, 324, 325, 326, 327,
+ 0, 328, 329, 330, 0, 331, 332, 333, 0, 334,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, 0,
+ 344, 0, 345, 346, 347, 348, 349, 0, 350, 0,
+ 351, 352, 0, 0, -1811, 355, 356, 357, 358, 0,
+ 359, 360, 0, 361, 362, 363, 0, 364, 365, 366,
+ 367, 368, 0, 370, 371, 372, 373, 0, 374, 375,
+ 376, 377, 378, 379, 380, 381, 0, 382, -1811, 384,
+ 385, 386, 387, 388, 389, 390, 0, 391, 0, 392,
+ 0, 0, 395, -1811, 397, 398, 399, 400, 401, 402,
+ 403, 404, 405, 406, 407, 0, 0, 408, 409, -1811,
+ 411, 0, 0, 413, 414, 415, 0, 0, 416, 417,
+ 418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
+ 428, 429, 430, 431, 432, 433, 434, -1811, 436, 437,
+ 438, 439, 440, 441, 442, 443, 444, 445, 446, 0,
+ 447, 448, 0, 450, 0, 451, 452, 453, 454, 455,
+ 456, 0, 457, 458, 0, 0, 459, 460, 461, 0,
+ 0, 462, 463, 464, 0, 466, 0, 468, 469, 470,
+ 471, 472, 473, 474, 475, 476, 477, 478, 0, 479,
+ 480, 481, 482, 483, 484, 485, 486, 0, 487, 488,
+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498,
+ 499, 500, 501, 0, 502, 503, 504, 505, 506, 507,
+ 508, 509, 510, 511, 512, 513, 514, 0, 515, 516,
+ -1811, 518, 519, 520, 521, 522, 523, 524, 525, 526,
+ 527, 528, 529, 530, 531, 532, 533, 0, 534, 535,
+ 536, 537, 538, 0, 539, 540, 541, 542, 543, 0,
+ 545, 546, 547, 548, 0, 549, 550, 551, 552, 553,
+ 554, 555, 556, 557, 558, 559, 560, 561, 562, 563,
+ 0, 564, 565, 0, 0, 566, 0, 568, 569, 570,
+ 571, 572, 0, 573, 574, 575, 0, 0, 576, 577,
+ 578, 579, 580, 0, 581, 582, 583, 584, 585, 586,
+ 587, 588, 0, 0, 589, 590, 591, 592, 593, 0,
+ 0, 594, 595, 596, 597, 598, 599, 600, 0, 601,
+ 0, 603, 604, 605, 606, 0, 0, 607, 0, 0,
+ 608, 609, 610, 611, 612, 613, 614, 615, 616, 617,
+ 618, 619, 620, 621, 622, 623, 624, 625, 626, 627,
+ 0, 0, 0, 0, 0, 0, 0, 856, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1434, 235, 236, 237, 238, 239, 240,
+ 241, 242, 243, 0, 244, 245, 246, 0, 0, 0,
+ 0, 0, 0, 0, 247, 248, 249, 0, 250, 251,
+ 252, 253, 254, 255, 256, 257, 0, 857, 260, 858,
+ 859, 0, 263, 264, 265, 266, 267, 268, 269, 0,
+ 0, 270, 271, 860, 861, 274, 0, 275, 276, 277,
+ 278, 0, 0, 280, 0, 281, 282, 283, 284, 285,
+ 286, 287, 288, 289, 290, 0, 291, 292, 293, 294,
+ 295, 296, 0, 297, 298, 299, 300, 0, 0, 0,
+ 301, 0, 0, 0, 302, 303, 304, 305, 306, 307,
+ 862, 863, 310, 0, 311, 0, 312, 313, 314, 315,
+ 316, 317, 318, 0, 319, 320, 321, 322, 0, 0,
+ 323, 324, 864, 326, 327, 0, 328, 329, 330, 0,
+ 331, 332, 333, 0, 334, 335, 336, 337, 0, 339,
+ 340, 341, 342, 0, 0, 344, 0, 345, 346, 347,
+ 865, 349, 0, 350, 0, 351, 352, 353, 0, 354,
+ 355, 356, 357, 358, 0, 359, 0, 0, 0, 362,
+ 363, 0, 364, 365, 366, 367, 368, 369, 370, 371,
+ 372, 373, 2666, 374, 375, 376, 377, 378, 379, 380,
+ 381, 0, 382, 383, 2667, 385, 386, 387, 388, 866,
+ 867, 0, 868, 0, 392, 393, 394, 395, 396, 397,
+ 0, 0, 0, 0, 402, 403, 404, 405, 406, 407,
+ 0, 0, 408, 0, 410, 411, 412, 0, 413, 414,
+ 415, 0, 0, 416, 417, 418, 419, 420, 421, 422,
+ 423, 424, 425, 426, 427, 428, 429, 430, 431, 432,
+ 433, 869, 435, 870, 437, 438, 439, 440, 441, 442,
+ 443, 0, 0, 446, 0, 447, 448, 449, 450, 0,
+ 0, 452, 871, 454, 455, 456, 0, 457, 458, 0,
+ 0, 459, 460, 461, 0, 0, 462, 463, 2669, 465,
+ 466, 467, 0, 469, 470, 471, 472, 473, 474, 475,
+ 476, 477, 478, 0, 479, 480, 0, 482, 0, 484,
+ 485, 486, 0, 487, 488, 489, 490, 491, 492, 493,
+ 494, 495, 496, 872, 498, 499, 500, 501, 0, 502,
+ 503, 504, 505, 506, 507, 508, 509, 510, 511, 512,
+ 513, 514, 0, 515, 516, 517, 518, 519, 520, 521,
+ 522, 0, 524, 525, 526, 527, 528, 529, 530, 531,
+ 532, 533, 0, 534, 535, 536, 537, 538, 0, 539,
+ 540, 2670, 542, 543, 544, 545, 546, 874, 548, 0,
+ 549, 550, 551, 552, 553, 554, 555, 556, 557, 558,
+ 559, 560, 561, 0, 563, 0, 564, 565, 0, 0,
+ 566, 567, 568, 569, 570, 571, 572, 0, 573, 875,
+ 876, 0, 0, 576, 577, 0, 579, 0, 0, 581,
+ 582, 583, 584, 585, 586, 587, 588, 0, 0, 589,
+ 590, 591, 592, 593, 0, 0, 594, 595, 596, 597,
+ 598, 0, 877, 2671, 601, 602, 603, 604, 605, 606,
+ 0, 0, 607, 0, 0, 608, 609, 610, 611, 612,
+ 613, 0, 856, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 625, 626, 627, 0, 0, 0, 0, 235,
+ 236, 237, 238, 239, 240, 241, 242, 243, 0, 244,
+ 245, 246, 0, 0, 0, 0, 0, 0, 2767, 247,
+ 248, 249, 0, 250, 251, 252, 253, 254, 255, 256,
+ 257, 0, 857, 260, 858, 859, 0, 263, 264, 265,
+ 266, 267, 268, 269, 0, 0, 270, 271, 860, 861,
+ 274, 0, 275, 276, 277, 278, 0, 0, 280, 0,
+ 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
+ 0, 291, 292, 293, 294, 295, 296, 0, 297, 298,
+ 299, 300, 0, 0, 0, 301, 0, 0, 0, 302,
+ 303, 304, 305, 306, 307, 862, 863, 310, 0, 311,
+ 0, 312, 313, 314, 315, 316, 317, 318, 0, 319,
+ 320, 321, 322, 0, 0, 323, 324, 864, 326, 327,
+ 0, 328, 329, 330, 0, 331, 332, 333, 0, 334,
+ 335, 336, 337, 0, 339, 340, 341, 342, 0, 0,
+ 344, 0, 345, 346, 347, 865, 349, 0, 350, 0,
+ 351, 352, 353, 0, 354, 355, 356, 357, 358, 0,
+ 359, 0, 0, 0, 362, 363, 0, 364, 365, 366,
+ 367, 368, 369, 370, 371, 372, 373, 2666, 374, 375,
+ 376, 377, 378, 379, 380, 381, 0, 382, 383, 2667,
+ 385, 386, 387, 388, 866, 867, 0, 868, 0, 392,
+ 393, 394, 395, 396, 397, 0, 0, 0, 0, 402,
+ 403, 404, 405, 406, 407, 0, 0, 408, 0, 410,
+ 411, 412, 0, 413, 414, 415, 0, 0, 416, 417,
+ 418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
+ 428, 429, 430, 431, 432, 433, 869, 435, 870, 437,
+ 438, 439, 440, 441, 442, 443, 0, 0, 446, 0,
+ 447, 448, 449, 450, 0, 0, 452, 871, 454, 455,
+ 456, 0, 457, 458, 0, 0, 459, 460, 461, 0,
+ 0, 462, 463, 2669, 465, 466, 467, 0, 469, 470,
+ 471, 472, 473, 474, 475, 476, 477, 478, 0, 479,
+ 480, 0, 482, 0, 484, 485, 486, 0, 487, 488,
+ 489, 490, 491, 492, 493, 494, 495, 496, 872, 498,
+ 499, 500, 501, 0, 502, 503, 504, 505, 506, 507,
+ 508, 509, 510, 511, 512, 513, 514, 0, 515, 516,
+ 517, 518, 519, 520, 521, 522, 0, 524, 525, 526,
+ 527, 528, 529, 530, 531, 532, 533, 0, 534, 535,
+ 536, 537, 538, 0, 539, 540, 2670, 542, 543, 544,
+ 545, 546, 874, 548, 0, 549, 550, 551, 552, 553,
+ 554, 555, 556, 557, 558, 559, 560, 561, 0, 563,
+ 0, 564, 565, 0, 0, 566, 567, 568, 569, 570,
+ 571, 572, 0, 573, 875, 876, 0, 0, 576, 577,
+ 0, 579, 0, 0, 581, 582, 583, 584, 585, 586,
+ 587, 588, 0, 0, 589, 590, 591, 592, 593, 0,
+ 0, 594, 595, 596, 597, 598, 0, 877, 2671, 601,
+ 602, 603, 604, 605, 606, 0, 0, 607, 0, 0,
+ 608, 609, 610, 611, 612, 613, 0, 234, 0, 1246,
+ 694, 0, 1247, 1248, 1249, 755, 1250, 625, 626, 627,
+ 0, 0, 0, 0, 235, 236, 237, 238, 239, 240,
+ 241, 242, 243, 0, 244, 245, 246, 0, 0, 0,
+ 0, 1251, 0, 3873, 247, 248, 249, 0, 250, 251,
+ 252, 253, 254, 255, 256, 257, 258, 1252, 260, 1253,
+ 1254, 0, 263, 264, 265, 266, 267, 268, 269, 1255,
+ 1256, 270, 271, 1257, 1258, 274, 0, 275, 276, 277,
+ 278, 1259, 0, 1260, 0, 281, 282, 283, 284, 285,
+ 286, 287, 288, 289, 290, 0, 291, 292, 293, 294,
+ 295, 296, 0, 297, 298, 299, 300, 1261, 1262, 1263,
+ 1264, 1265, 1266, 1267, 302, 303, 304, 305, 306, 307,
+ 1268, 1269, 310, 1270, 311, 0, 312, 313, 314, 315,
+ 316, 317, 318, 0, 319, 320, 321, 322, 0, 0,
+ 323, 324, 864, 326, 327, 0, 328, 329, 330, 0,
+ 331, 332, 333, 0, 334, 335, 336, 337, 1271, 339,
+ 340, 341, 342, 1272, 1273, 344, 0, 345, 346, 347,
+ 1274, 349, 0, 350, 0, 351, 352, 353, 0, 354,
+ 355, 356, 357, 358, 0, 359, 1275, 0, 1276, 362,
+ 363, 0, 364, 365, 366, 367, 368, 369, 370, 371,
+ 372, 373, 0, 374, 375, 376, 377, 378, 379, 380,
+ 381, 0, 382, 383, 384, 385, 386, 387, 388, 1277,
+ 1278, 0, 1279, 0, 392, 393, 394, 395, 396, 397,
+ 1280, 1281, 1282, 1283, 402, 403, 404, 405, 406, 407,
+ 0, 0, 408, 1284, 410, 411, 412, 0, 413, 414,
+ 415, 1285, 1286, 416, 417, 418, 419, 420, 421, 422,
+ 423, 424, 425, 426, 427, 428, 429, 430, 431, 432,
+ 433, 1287, 435, 1288, 437, 438, 439, 440, 441, 442,
+ 443, 444, 1289, 446, 1290, 447, 448, 449, 450, 1291,
+ 1292, 452, 1293, 454, 455, 456, 0, 457, 458, 0,
+ 0, 1294, 460, 461, 0, 0, 462, 463, 464, 465,
+ 466, 467, 1295, 469, 470, 471, 472, 473, 474, 475,
+ 476, 477, 478, 0, 479, 480, 1296, 482, 483, 484,
+ 485, 486, 0, 487, 488, 489, 490, 491, 492, 493,
+ 494, 495, 496, 1297, 498, 499, 500, 501, 0, 502,
+ 503, 504, 505, 506, 507, 508, 509, 510, 511, 512,
+ 513, 514, 3216, 515, 516, 517, 518, 519, 520, 521,
+ 522, 1298, 524, 525, 526, 527, 528, 529, 530, 531,
+ 532, 533, 40, 534, 535, 536, 537, 538, 1299, 539,
+ 540, 541, 542, 543, 544, 545, 546, 1300, 548, 0,
+ 549, 550, 551, 552, 553, 554, 555, 556, 557, 558,
+ 559, 560, 561, 1301, 563, 0, 564, 565, 1302, 44,
+ 566, 567, 568, 569, 570, 571, 572, 0, 573, 1303,
+ 1304, 0, 0, 576, 577, 1305, 579, 1306, 1307, 581,
+ 582, 583, 584, 585, 586, 587, 588, 0, 1308, 589,
+ 590, 591, 592, 593, 1309, 0, 594, 595, 596, 597,
+ 598, 1181, 1310, 0, 601, 602, 603, 604, 605, 606,
+ 0, 0, 607, 0, 49, 608, 609, 610, 611, 612,
+ 613, 614, 1311, 1312, 1313, 1314, 619, 1315, 1316, 1317,
+ 1318, 624, 625, 626, 627, 0, 1319, 0, 50, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1320, 1321,
+ 0, 0, 0, 234, 0, 1246, 694, 1323, 1247, 1248,
+ 1249, 755, 1250, 0, 0, 0, 0, 0, 0, 0,
+ 235, 236, 237, 238, 239, 240, 241, 242, 243, 0,
+ 244, 245, 246, 0, 0, 0, 0, 1251, 0, 0,
+ 247, 248, 249, 0, 250, 251, 252, 253, 254, 255,
+ 256, 257, 258, 1252, 260, 1253, 1254, 0, 263, 264,
+ 265, 266, 267, 268, 269, 1255, 1256, 270, 271, 1257,
+ 1258, 274, 0, 275, 276, 277, 278, 1259, 0, 1260,
+ 0, 281, 282, 283, 284, 285, 286, 287, 288, 289,
+ 290, 0, 291, 292, 293, 294, 295, 296, 0, 297,
+ 298, 299, 300, 1261, 1262, 1263, 1264, 1265, 1266, 1267,
+ 302, 303, 304, 305, 306, 307, 1268, 1269, 310, 1270,
+ 311, 0, 312, 313, 314, 315, 316, 317, 318, 0,
+ 319, 320, 321, 322, 0, 0, 323, 324, 864, 326,
+ 327, 0, 328, 329, 330, 0, 331, 332, 333, 0,
+ 334, 335, 336, 337, 1271, 339, 340, 341, 342, 1272,
+ 1273, 344, 0, 345, 346, 347, 1274, 349, 0, 350,
+ 0, 351, 352, 353, 0, 354, 355, 356, 357, 358,
+ 0, 359, 1275, 0, 1276, 362, 363, 0, 364, 365,
+ 366, 367, 368, 369, 370, 371, 372, 373, 0, 374,
+ 375, 376, 377, 378, 379, 380, 381, 0, 382, 383,
+ 384, 385, 386, 387, 388, 1277, 1278, 0, 1279, 0,
+ 392, 393, 394, 395, 396, 397, 1280, 1281, 1282, 1283,
+ 402, 403, 404, 405, 406, 407, 0, 0, 408, 1284,
+ 410, 411, 412, 0, 413, 414, 415, 1285, 1286, 416,
+ 417, 418, 419, 420, 421, 422, 423, 424, 425, 426,
+ 427, 428, 429, 430, 431, 432, 433, 1287, 435, 1288,
+ 437, 438, 439, 440, 441, 442, 443, 444, 1289, 446,
+ 1290, 447, 448, 449, 450, 1291, 1292, 452, 1293, 454,
+ 455, 456, 0, 457, 458, 0, 0, 1294, 460, 461,
+ 0, 0, 462, 463, 464, 465, 466, 467, 1295, 469,
+ 470, 471, 472, 473, 474, 475, 476, 477, 478, 0,
+ 479, 480, 1296, 482, 483, 484, 485, 486, 0, 487,
+ 488, 489, 490, 491, 492, 493, 494, 495, 496, 1297,
+ 498, 499, 500, 501, 0, 502, 503, 504, 505, 506,
+ 507, 508, 509, 510, 511, 512, 513, 514, 0, 515,
+ 516, 517, 518, 519, 520, 521, 522, 1298, 524, 525,
+ 526, 527, 528, 529, 530, 531, 532, 533, 40, 534,
+ 535, 536, 537, 538, 1299, 539, 540, 541, 542, 543,
+ 544, 545, 546, 1300, 548, 0, 549, 550, 551, 552,
+ 553, 554, 555, 556, 557, 558, 559, 560, 561, 1301,
+ 563, 0, 564, 565, 1302, 44, 566, 567, 568, 569,
+ 570, 571, 572, 0, 573, 1303, 1304, 0, 0, 576,
+ 577, 1305, 579, 1306, 1307, 581, 582, 583, 584, 585,
+ 586, 587, 588, 0, 1308, 589, 590, 591, 592, 593,
+ 1309, 0, 594, 595, 596, 597, 598, 1181, 1310, 0,
+ 601, 602, 603, 604, 605, 606, 0, 0, 607, 0,
+ 49, 608, 609, 610, 611, 612, 613, 614, 1311, 1312,
+ 1313, 1314, 619, 1315, 1316, 1317, 1318, 624, 625, 626,
+ 627, 0, 1319, 0, 50, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1320, 1321, 0, 0, 0, 234,
+ 0, 1246, 694, 1323, 1247, 1248, 1249, 755, 1250, 0,
+ 0, 0, 0, 0, 0, 0, 235, 236, 237, 238,
+ 239, 240, 241, 242, 243, 0, 244, 245, 246, 0,
+ 0, 0, 0, 1251, 0, 0, 247, 248, 249, 0,
+ 250, 251, 252, 253, 254, 255, 256, 257, 258, 1252,
+ 260, 1253, 1254, 3256, 263, 264, 265, 266, 267, 268,
+ 269, 1255, 1256, 270, 271, 1257, 1258, 274, 0, 275,
+ 276, 277, 278, 1259, 0, 1260, 0, 281, 282, 283,
+ 284, 285, 286, 287, 288, 289, 290, 0, 291, 292,
+ 293, 294, 295, 296, 0, 297, 298, 299, 300, 1261,
+ 1262, 1263, 1264, 1265, 1266, 1267, 302, 303, 304, 305,
+ 306, 307, 1268, 1269, 310, 1270, 311, 0, 312, 313,
+ 314, 315, 316, 317, 318, 0, 319, 320, 321, 322,
+ 0, 0, 323, 324, 864, 326, 327, 0, 328, 329,
+ 330, 0, 331, 332, 333, 0, 334, 335, 336, 337,
+ 1271, 339, 340, 341, 342, 1272, 1273, 344, 0, 345,
+ 346, 347, 1274, 349, 0, 350, 0, 351, 352, 353,
+ 3257, 354, 355, 356, 357, 358, 0, 359, 1275, 0,
+ 1276, 362, 363, 0, 364, 365, 366, 367, 368, 369,
+ 370, 371, 372, 373, 0, 374, 375, 376, 377, 378,
+ 379, 380, 381, 0, 382, 383, 384, 385, 386, 387,
+ 388, 1277, 1278, 0, 1279, 0, 392, 393, 394, 395,
+ 396, 397, 1280, 1281, 1282, 1283, 402, 403, 404, 405,
+ 406, 407, 0, 3258, 408, 1284, 410, 411, 412, 0,
+ 413, 414, 415, 1285, 1286, 416, 417, 418, 419, 420,
+ 421, 422, 423, 424, 425, 426, 427, 428, 429, 430,
+ 431, 432, 433, 1287, 435, 1288, 437, 438, 439, 440,
+ 441, 442, 443, 444, 1289, 446, 1290, 447, 448, 449,
+ 450, 1291, 1292, 452, 1293, 454, 455, 456, 0, 457,
+ 458, 0, 0, 1294, 460, 461, 0, 0, 462, 463,
+ 464, 465, 466, 467, 1295, 469, 470, 471, 472, 473,
+ 474, 475, 476, 477, 478, 0, 479, 480, 1296, 482,
+ 483, 484, 485, 486, 0, 487, 488, 489, 490, 491,
+ 492, 493, 494, 495, 496, 1297, 498, 499, 500, 501,
+ 0, 502, 503, 504, 505, 506, 507, 508, 509, 510,
+ 511, 512, 513, 514, 0, 515, 516, 517, 518, 519,
+ 520, 521, 522, 1298, 524, 525, 526, 527, 528, 529,
+ 530, 531, 532, 533, 0, 534, 535, 536, 537, 538,
+ 1299, 539, 540, 541, 542, 543, 544, 545, 546, 1300,
+ 548, 0, 549, 550, 551, 552, 553, 554, 555, 556,
+ 557, 558, 559, 560, 561, 1301, 563, 0, 564, 565,
+ 1302, 0, 566, 567, 568, 569, 570, 571, 572, 0,
+ 573, 1303, 1304, 0, 3259, 576, 577, 1305, 579, 1306,
+ 1307, 581, 582, 583, 584, 585, 586, 587, 588, 0,
+ 1308, 589, 590, 591, 592, 593, 1309, 0, 594, 595,
+ 596, 597, 598, 599, 1310, 0, 601, 602, 603, 604,
+ 605, 606, 0, 0, 607, 0, 0, 608, 609, 610,
+ 611, 612, 613, 614, 1311, 1312, 1313, 1314, 619, 1315,
+ 1316, 1317, 1318, 624, 625, 626, 627, 0, 1319, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1320, 1321, 0, 0, 0, 234, 0, 1246, 694, 1323,
+ 1247, 1248, 1249, 755, 1250, 0, 0, 0, 0, 0,
+ 0, 0, 235, 236, 237, 238, 239, 240, 241, 242,
+ 243, -2215, 244, 245, 246, 0, 0, 0, -2215, 1251,
+ 0, 0, 247, 248, 249, 0, 250, 251, 252, 253,
+ 254, 255, 256, 257, 258, 1252, 260, 1253, 1254, 0,
+ 263, 264, 265, 266, 267, 268, 269, 1255, 1256, 270,
+ 271, 1257, 1258, 274, 0, 275, 276, 277, 278, 1259,
+ 0, 1260, 0, 281, 282, 283, 284, 285, 286, 287,
+ 288, 289, 290, 0, 291, 292, 293, 294, 295, 296,
+ 0, 297, 298, 299, 300, 1261, 1262, 1263, 1264, 1265,
+ 1266, 1267, 302, 303, 304, 305, 306, 307, 1268, 1269,
+ 310, 1270, 311, 0, 312, 313, 314, 315, 316, 317,
+ 318, 0, 319, 320, 321, 322, 0, 0, 323, 324,
+ 864, 326, 327, 0, 328, 329, 330, 0, 331, 332,
+ 333, 0, 334, 335, 336, 337, 1271, 339, 340, 341,
+ 342, 1272, 1273, 344, 0, 345, 346, 347, 1274, 349,
+ 0, 350, 0, 351, 352, 353, 0, 354, 355, 356,
+ 357, 358, 0, 359, 1275, 0, 1276, 362, 363, 0,
+ 364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
+ 0, 374, 375, 376, 377, 378, 379, 380, 381, 0,
+ 382, 383, 384, 385, 386, 387, 388, 1277, 1278, 0,
+ 1279, 0, 392, 393, 394, 395, 396, 397, 1280, 1281,
+ 1282, 1283, 402, 403, 404, 405, 406, 407, 0, 0,
+ 408, 1284, 410, 411, 412, 0, 413, 414, 415, 1285,
+ 1286, 416, 417, 418, 419, 420, 421, 422, 423, 424,
+ 425, 426, 427, 428, 429, 430, 431, 432, 433, 1287,
+ 435, 1288, 437, 438, 439, 440, 441, 442, 443, 444,
+ 1289, 446, 1290, 447, 448, 449, 450, 1291, 1292, 452,
+ 1293, 454, 455, 456, 0, 457, 458, 0, 0, 1294,
+ 460, 461, 0, 0, 462, 463, 464, 465, 466, 467,
+ 1295, 469, 470, 471, 472, 473, 474, 475, 476, 477,
+ 478, 0, 479, 480, 1296, 482, 483, 484, 485, 486,
+ 0, 487, 488, 489, 490, 491, 492, 493, 494, 495,
+ 496, 1297, 498, 499, 500, 501, 0, 502, 503, 504,
+ 505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
+ 0, 515, 516, 517, 518, 519, 520, 521, 522, 1298,
+ 524, 525, 526, 527, 528, 529, 530, 531, 532, 533,
+ 0, 534, 535, 536, 537, 538, 1299, 539, 540, 541,
+ 542, 543, 544, 545, 546, 1300, 548, -2215, 549, 550,
+ 551, 552, 553, 554, 555, 556, 557, 558, 559, 560,
+ 561, 1301, 563, 0, 564, 565, 1302, 0, 566, 567,
+ 568, 569, 570, 571, 572, 0, 573, 1303, 1304, 0,
+ 0, 576, 577, 1305, 579, 1306, 1307, 581, 582, 583,
+ 584, 585, 586, 587, 588, 0, 1308, 589, 590, 591,
+ 592, 593, 1309, 0, 594, 595, 596, 597, 598, 599,
+ 1310, 0, 601, 602, 603, 604, 605, 606, 0, 0,
+ 607, 0, 0, 608, 609, 610, 611, 612, 613, 614,
+ 1311, 1312, 1313, 1314, 619, 1315, 1316, 1317, 1318, 624,
+ 625, 626, 627, 0, 1319, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1320, 1321, 0, 0,
+ 0, 234, 0, 1246, 694, 1323, 1247, 1248, 1249, 755,
+ 1250, 0, 0, 0, 0, 0, 0, 0, 235, 236,
+ 237, 238, 239, 240, 241, 242, 243, -2213, 244, 245,
+ 246, 0, 0, 0, -2213, 1251, 0, 0, 247, 248,
+ 249, 0, 250, 251, 252, 253, 254, 255, 256, 257,
+ 258, 1252, 260, 1253, 1254, 0, 263, 264, 265, 266,
+ 267, 268, 269, 1255, 1256, 270, 271, 1257, 1258, 274,
+ 0, 275, 276, 277, 278, 1259, 0, 1260, 0, 281,
+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 0,
+ 291, 292, 293, 294, 295, 296, 0, 297, 298, 299,
+ 300, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 302, 303,
+ 304, 305, 306, 307, 1268, 1269, 310, 1270, 311, 0,
+ 312, 313, 314, 315, 316, 317, 318, 0, 319, 320,
+ 321, 322, 0, 0, 323, 324, 864, 326, 327, 0,
+ 328, 329, 330, 0, 331, 332, 333, 0, 334, 335,
+ 336, 337, 1271, 339, 340, 341, 342, 1272, 1273, 344,
+ 0, 345, 346, 347, 1274, 349, 0, 350, 0, 351,
+ 352, 353, 0, 354, 355, 356, 357, 358, 0, 359,
+ 1275, 0, 1276, 362, 363, 0, 364, 365, 366, 367,
+ 368, 369, 370, 371, 372, 373, 0, 374, 375, 376,
+ 377, 378, 379, 380, 381, 0, 382, 383, 384, 385,
+ 386, 387, 388, 1277, 1278, 0, 1279, 0, 392, 393,
+ 394, 395, 396, 397, 1280, 1281, 1282, 1283, 402, 403,
+ 404, 405, 406, 407, 0, 0, 408, 1284, 410, 411,
+ 412, 0, 413, 414, 415, 1285, 1286, 416, 417, 418,
+ 419, 420, 421, 422, 423, 424, 425, 426, 427, 428,
+ 429, 430, 431, 432, 433, 1287, 435, 1288, 437, 438,
+ 439, 440, 441, 442, 443, 444, 1289, 446, 1290, 447,
+ 448, 449, 450, 1291, 1292, 452, 1293, 454, 455, 456,
+ 0, 457, 458, 0, 0, 1294, 460, 461, 0, 0,
+ 462, 463, 464, 465, 466, 467, 1295, 469, 470, 471,
+ 472, 473, 474, 475, 476, 477, 478, 0, 479, 480,
+ 1296, 482, 483, 484, 485, 486, 0, 487, 488, 489,
+ 490, 491, 492, 493, 494, 495, 496, 1297, 498, 499,
+ 500, 501, 0, 502, 503, 504, 505, 506, 507, 508,
+ 509, 510, 511, 512, 513, 514, 0, 515, 516, 517,
+ 518, 519, 520, 521, 522, 1298, 524, 525, 526, 527,
+ 528, 529, 530, 531, 532, 533, 0, 534, 535, 536,
+ 537, 538, 1299, 539, 540, 541, 542, 543, 544, 545,
+ 546, 1300, 548, -2213, 549, 550, 551, 552, 553, 554,
+ 555, 556, 557, 558, 559, 560, 561, 1301, 563, 0,
+ 564, 565, 1302, 0, 566, 567, 568, 569, 570, 571,
+ 572, 0, 573, 1303, 1304, 0, 0, 576, 577, 1305,
+ 579, 1306, 1307, 581, 582, 583, 584, 585, 586, 587,
+ 588, 0, 1308, 589, 590, 591, 592, 593, 1309, 0,
+ 594, 595, 596, 597, 598, 599, 1310, 0, 601, 602,
+ 603, 604, 605, 606, 0, 0, 607, 0, 0, 608,
+ 609, 610, 611, 612, 613, 614, 1311, 1312, 1313, 1314,
+ 619, 1315, 1316, 1317, 1318, 624, 625, 626, 627, 0,
+ 1319, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1320, 1321, 0, 0, 0, 234, 0, 1246,
+ 694, 1323, 1247, 1248, 1249, 755, 1250, 0, 0, 0,
+ 0, 0, 0, 0, 235, 236, 237, 238, 239, 240,
+ 241, 242, 243, 0, 244, 245, 246, 0, 0, 0,
+ 0, 1251, 0, 0, 247, 248, 249, 0, 250, 251,
+ 252, 253, 254, 255, 256, 257, 258, 1252, 260, 1253,
+ 1254, 0, 263, 264, 265, 266, 267, 268, 269, 1255,
+ 1256, 270, 271, 1257, 1258, 274, 0, 275, 276, 277,
+ 278, 1259, 0, 1260, 0, 281, 282, 283, 284, 285,
+ 286, 287, 288, 289, 290, 0, 291, 292, 293, 294,
+ 295, 296, 0, 297, 298, 299, 300, 1261, 1262, 1263,
+ 1264, 1265, 1266, 1267, 302, 303, 304, 305, 306, 307,
+ 1268, 1269, 310, 1270, 311, 0, 312, 313, 314, 315,
+ 316, 317, 318, 0, 319, 320, 321, 322, 0, 0,
+ 323, 324, 864, 326, 327, 0, 328, 329, 330, 0,
+ 331, 332, 333, 0, 334, 335, 336, 337, 1271, 339,
+ 340, 341, 342, 1272, 1273, 344, 0, 345, 346, 347,
+ 1274, 349, 0, 350, 0, 351, 352, 353, 0, 354,
+ 355, 356, 357, 358, 0, 359, 1275, 0, 1276, 362,
+ 363, 0, 364, 365, 366, 367, 368, 369, 370, 371,
+ 372, 373, 0, 374, 375, 376, 377, 378, 379, 380,
+ 381, 0, 382, 383, 384, 385, 386, 387, 388, 1277,
+ 1278, 0, 1279, 0, 392, 393, 394, 395, 396, 397,
+ 1280, 1281, 1282, 1283, 402, 403, 404, 405, 406, 407,
+ 0, 0, 408, 1284, 410, 411, 412, 0, 413, 414,
+ 415, 1285, 1286, 416, 417, 418, 419, 420, 421, 422,
+ 423, 424, 425, 426, 427, 428, 429, 430, 431, 432,
+ 433, 1287, 435, 1288, 437, 438, 439, 440, 441, 442,
+ 443, 444, 1289, 446, 1290, 447, 448, 449, 450, 1291,
+ 1292, 452, 1293, 454, 455, 456, 0, 457, 458, 0,
+ 0, 1294, 460, 461, 0, 0, 462, 463, 464, 465,
+ 466, 467, 1295, 469, 470, 471, 472, 473, 474, 475,
+ 476, 477, 478, 0, 479, 480, 1296, 482, 483, 484,
+ 485, 486, 0, 487, 488, 489, 490, 491, 492, 493,
+ 494, 495, 496, 1297, 498, 499, 500, 501, 0, 502,
+ 503, 504, 505, 506, 507, 508, 509, 510, 511, 512,
+ 513, 514, 0, 515, 516, 517, 518, 519, 520, 521,
+ 522, 1298, 524, 525, 526, 527, 528, 529, 530, 531,
+ 532, 533, 0, 534, 535, 536, 537, 538, 1299, 539,
+ 540, 541, 542, 543, 544, 545, 546, 1300, 548, 0,
+ 549, 550, 551, 552, 553, 554, 555, 556, 557, 558,
+ 559, 560, 561, 1301, 563, 0, 564, 565, 1302, 0,
+ 566, 567, 568, 569, 570, 571, 572, 0, 573, 1303,
+ 1304, 0, 0, 576, 577, 1305, 579, 1306, 1307, 581,
+ 582, 583, 584, 585, 586, 587, 588, 0, 1308, 589,
+ 590, 591, 592, 593, 1309, 0, 594, 595, 596, 597,
+ 598, 599, 1310, 0, 601, 602, 603, 604, 605, 606,
+ 0, 0, 607, 0, 0, 608, 609, 610, 611, 612,
+ 613, 614, 1311, 1312, 1313, 1314, 619, 1315, 1316, 1317,
+ 1318, 624, 625, 626, 627, 0, 1319, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1320, 1321,
+ 0, 0, 0, 0, 0, 2017, 3192, 1323, 234, 0,
+ 1246, 694, 0, 1247, 1248, 1249, 755, 1250, 0, 0,
+ 0, 0, 0, 0, 0, 235, 236, 237, 238, 239,
+ 240, 241, 242, 243, 0, 244, 245, 246, 0, 0,
+ 0, 0, 1251, 0, 0, 247, 248, 249, 0, 250,
+ 251, 252, 253, 254, 255, 256, 257, 258, 1252, 260,
+ 1253, 1254, 0, 263, 264, 265, 266, 267, 268, 269,
+ 1255, 1256, 270, 271, 1257, 1258, 274, 0, 275, 276,
+ 277, 278, 1259, 0, 1260, 0, 281, 282, 283, 284,
+ 285, 286, 287, 288, 289, 290, 0, 291, 292, 293,
+ 294, 295, 296, 0, 297, 298, 299, 300, 1261, 1262,
+ 1263, 1264, 1265, 1266, 1267, 302, 303, 304, 305, 306,
+ 307, 1268, 1269, 310, 1270, 311, 0, 312, 313, 314,
+ 315, 316, 317, 318, 0, 319, 320, 321, 322, 0,
+ 0, 323, 324, 864, 326, 327, 0, 328, 329, 330,
+ 0, 331, 332, 333, 0, 334, 335, 336, 337, 1271,
+ 339, 340, 341, 342, 1272, 1273, 344, 0, 345, 346,
+ 347, 1274, 349, 0, 350, 0, 351, 352, 353, 0,
+ 354, 355, 356, 357, 358, 0, 359, 1275, 0, 1276,
+ 362, 363, 0, 364, 365, 366, 367, 368, 369, 370,
+ 371, 372, 373, 0, 374, 375, 376, 377, 378, 379,
+ 380, 381, 0, 382, 383, 384, 385, 386, 387, 388,
+ 1277, 1278, 0, 1279, 0, 392, 393, 394, 395, 396,
+ 397, 1280, 1281, 1282, 1283, 402, 403, 404, 405, 406,
+ 407, 0, 0, 408, 1284, 410, 411, 412, 0, 413,
+ 414, 415, 1285, 1286, 416, 417, 418, 419, 420, 421,
+ 422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
+ 432, 433, 1287, 435, 1288, 437, 438, 439, 440, 441,
+ 442, 443, 444, 1289, 446, 1290, 447, 448, 449, 450,
+ 1291, 1292, 452, 1293, 454, 455, 456, 0, 457, 458,
+ 0, 0, 1294, 460, 461, 0, 0, 462, 463, 464,
+ 465, 466, 467, 1295, 469, 470, 471, 472, 473, 474,
+ 475, 476, 477, 478, 0, 479, 480, 1296, 482, 483,
+ 484, 485, 486, 0, 487, 488, 489, 490, 491, 492,
+ 493, 494, 495, 496, 1297, 498, 499, 500, 501, 0,
+ 502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
+ 512, 513, 514, 0, 515, 516, 517, 518, 519, 520,
+ 521, 522, 1298, 524, 525, 526, 527, 528, 529, 530,
+ 531, 532, 533, 0, 534, 535, 536, 537, 538, 1299,
+ 539, 540, 541, 542, 543, 544, 545, 546, 1300, 548,
+ 0, 549, 550, 551, 552, 553, 554, 555, 556, 557,
+ 558, 559, 560, 561, 1301, 563, 0, 564, 565, 1302,
+ 0, 566, 567, 568, 569, 570, 571, 572, 0, 573,
+ 1303, 1304, 0, 0, 576, 577, 1305, 579, 1306, 1307,
+ 581, 582, 583, 584, 585, 586, 587, 588, 0, 1308,
+ 589, 590, 591, 592, 593, 1309, 0, 594, 595, 596,
+ 597, 598, 599, 1310, 0, 601, 602, 603, 604, 605,
+ 606, 0, 0, 607, 0, 0, 608, 609, 610, 611,
+ 612, 613, 614, 1311, 1312, 1313, 1314, 619, 1315, 1316,
+ 1317, 1318, 624, 625, 626, 627, 0, 1319, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1320,
+ 1321, 1322, 0, 0, 234, 0, 1246, 694, 1323, 1247,
+ 1248, 1249, 755, 1250, 0, 0, 0, 0, 0, 0,
+ 0, 235, 236, 237, 238, 239, 240, 241, 242, 243,
+ 2633, 244, 245, 246, 0, 0, 0, 0, 1251, 0,
+ 0, 247, 248, 249, 0, 250, 251, 252, 253, 254,
+ 255, 256, 257, 258, 1252, 260, 1253, 1254, 0, 263,
+ 264, 265, 266, 267, 268, 269, 1255, 1256, 270, 271,
+ 1257, 1258, 274, 0, 275, 276, 277, 278, 1259, 0,
+ 1260, 0, 281, 282, 283, 284, 285, 286, 287, 288,
+ 289, 290, 0, 291, 292, 293, 294, 295, 296, 0,
+ 297, 298, 299, 300, 1261, 1262, 1263, 1264, 1265, 1266,
+ 1267, 302, 303, 304, 305, 306, 307, 1268, 1269, 310,
+ 1270, 311, 0, 312, 313, 314, 315, 316, 317, 318,
+ 0, 319, 320, 321, 322, 0, 0, 323, 324, 864,
+ 326, 327, 0, 328, 329, 330, 0, 331, 332, 333,
+ 0, 334, 335, 336, 337, 1271, 339, 340, 341, 342,
+ 1272, 1273, 344, 0, 345, 346, 347, 1274, 349, 0,
+ 350, 0, 351, 352, 353, 0, 354, 355, 356, 357,
+ 358, 0, 359, 1275, 0, 1276, 362, 363, 0, 364,
+ 365, 366, 367, 368, 369, 370, 371, 372, 373, 0,
+ 374, 375, 376, 377, 378, 379, 380, 381, 0, 382,
+ 383, 384, 385, 386, 387, 388, 1277, 1278, 0, 1279,
+ 0, 392, 393, 394, 395, 396, 397, 1280, 1281, 1282,
+ 1283, 402, 403, 404, 405, 406, 407, 0, 0, 408,
+ 1284, 410, 411, 412, 0, 413, 414, 415, 1285, 1286,
+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
+ 426, 427, 428, 429, 430, 431, 432, 433, 1287, 435,
+ 1288, 437, 438, 439, 440, 441, 442, 443, 444, 1289,
+ 446, 1290, 447, 448, 449, 450, 1291, 1292, 452, 1293,
+ 454, 455, 456, 0, 457, 458, 0, 0, 1294, 460,
+ 461, 0, 0, 462, 463, 464, 465, 466, 467, 1295,
+ 469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
+ 0, 479, 480, 1296, 482, 483, 484, 485, 486, 0,
+ 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
+ 1297, 498, 499, 500, 501, 0, 502, 503, 504, 505,
+ 506, 507, 508, 509, 510, 511, 512, 513, 514, 0,
+ 515, 516, 517, 518, 519, 520, 521, 522, 1298, 524,
+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 0,
+ 534, 535, 536, 537, 538, 1299, 539, 540, 541, 542,
+ 543, 544, 545, 546, 1300, 548, 0, 549, 550, 551,
+ 552, 553, 554, 555, 556, 557, 558, 559, 560, 561,
+ 1301, 563, 0, 564, 565, 1302, 0, 566, 567, 568,
+ 569, 570, 571, 572, 0, 573, 1303, 1304, 0, 0,
+ 576, 577, 1305, 579, 1306, 1307, 581, 582, 583, 584,
+ 585, 586, 587, 588, 0, 1308, 589, 590, 591, 592,
+ 593, 1309, 0, 594, 595, 596, 597, 598, 599, 1310,
+ 0, 601, 602, 603, 604, 605, 606, 0, 0, 607,
+ 0, 0, 608, 609, 610, 611, 612, 613, 614, 1311,
+ 1312, 1313, 1314, 619, 1315, 1316, 1317, 1318, 624, 625,
+ 626, 627, 0, 1319, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1320, 1321, 0, 0, 0,
+ 234, 0, 1246, 694, 1323, 1247, 1248, 1249, 755, 1250,
+ 0, 0, 0, 0, 0, 0, 0, 235, 236, 237,
+ 238, 239, 240, 241, 242, 243, 0, 244, 245, 246,
+ 0, 0, 0, 0, 1251, 0, 0, 247, 248, 249,
+ 0, 250, 251, 252, 253, 254, 255, 256, 257, 258,
+ 1252, 260, 1253, 1254, 0, 263, 264, 265, 266, 267,
+ 268, 269, 1255, 1256, 270, 271, 1257, 1258, 274, 0,
+ 275, 276, 277, 278, 1259, 0, 1260, 0, 281, 282,
+ 283, 284, 285, 286, 287, 288, 289, 290, 0, 291,
+ 292, 293, 294, 295, 296, 0, 297, 298, 299, 300,
+ 1261, 1262, 1263, 1264, 1265, 1266, 1267, 302, 303, 304,
+ 305, 306, 307, 1268, 1269, 310, 1270, 311, 0, 312,
+ 313, 314, 315, 316, 317, 318, 0, 319, 320, 321,
+ 322, 0, 0, 323, 324, 864, 326, 327, 0, 328,
+ 329, 330, 0, 331, 332, 333, 0, 334, 335, 336,
+ 337, 1271, 339, 340, 341, 342, 1272, 1273, 344, 0,
+ 345, 346, 347, 1274, 349, 0, 350, 0, 351, 352,
+ 353, 0, 354, 355, 356, 357, 358, 0, 359, 1275,
+ 0, 1276, 362, 363, 0, 364, 365, 366, 367, 368,
+ 369, 370, 371, 372, 373, 0, 374, 375, 376, 377,
+ 378, 379, 380, 381, 0, 382, 383, 384, 385, 386,
+ 387, 388, 1277, 1278, 0, 1279, 0, 392, 393, 394,
+ 395, 396, 397, 1280, 1281, 1282, 1283, 402, 403, 404,
+ 405, 406, 407, 0, 0, 408, 1284, 410, 411, 412,
+ 0, 413, 414, 415, 1285, 1286, 416, 417, 418, 419,
+ 420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
+ 430, 431, 432, 433, 1287, 435, 1288, 437, 438, 439,
+ 440, 441, 442, 443, 444, 1289, 446, 1290, 447, 448,
+ 449, 450, 1291, 1292, 452, 1293, 454, 455, 456, 0,
+ 457, 458, 0, 0, 1294, 460, 461, 0, 0, 462,
+ 463, 464, 465, 466, 467, 1295, 469, 470, 471, 472,
+ 473, 474, 475, 476, 477, 478, 0, 479, 480, 1296,
+ 482, 483, 484, 485, 486, 0, 487, 488, 489, 490,
+ 491, 492, 493, 494, 495, 496, 1297, 498, 499, 500,
+ 501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
+ 510, 511, 512, 513, 514, 3216, 515, 516, 517, 518,
+ 519, 520, 521, 522, 1298, 524, 525, 526, 527, 528,
+ 529, 530, 531, 532, 533, 0, 534, 535, 536, 537,
+ 538, 1299, 539, 540, 541, 542, 543, 544, 545, 546,
+ 1300, 548, 0, 549, 550, 551, 552, 553, 554, 555,
+ 556, 557, 558, 559, 560, 561, 1301, 563, 0, 564,
+ 565, 1302, 0, 566, 567, 568, 569, 570, 571, 572,
+ 0, 573, 1303, 1304, 0, 0, 576, 577, 1305, 579,
+ 1306, 1307, 581, 582, 583, 584, 585, 586, 587, 588,
+ 0, 1308, 589, 590, 591, 592, 593, 1309, 0, 594,
+ 595, 596, 597, 598, 599, 1310, 0, 601, 602, 603,
+ 604, 605, 606, 0, 0, 607, 0, 0, 608, 609,
+ 610, 611, 612, 613, 614, 1311, 1312, 1313, 1314, 619,
+ 1315, 1316, 1317, 1318, 624, 625, 626, 627, 0, 1319,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1320, 1321, 0, 0, 0, 234, 0, 1246, 694,
+ 1323, 1247, 1248, 1249, 755, 1250, 0, 0, 0, 0,
+ 0, 0, 0, 235, 236, 237, 238, 239, 240, 241,
+ 242, 243, 0, 244, 245, 246, 0, 0, 0, 0,
+ 1251, 0, 0, 247, 248, 249, 0, 250, 251, 252,
+ 253, 254, 255, 256, 257, 258, 1252, 260, 1253, 1254,
+ 0, 263, 264, 265, 266, 267, 268, 269, 1255, 1256,
+ 270, 271, 1257, 1258, 274, 0, 275, 276, 277, 278,
+ 1259, 0, 1260, 0, 281, 282, 283, 284, 285, 286,
+ 287, 288, 289, 290, 0, 291, 292, 293, 294, 295,
+ 296, 0, 297, 298, 299, 300, 1261, 1262, 1263, 1264,
+ 1265, 1266, 1267, 302, 303, 304, 305, 306, 307, 1268,
+ 1269, 310, 1270, 311, 0, 312, 313, 314, 315, 316,
+ 317, 318, 0, 319, 320, 321, 322, 0, 0, 323,
+ 324, 864, 326, 327, 0, 328, 329, 330, 0, 331,
+ 332, 333, 0, 334, 335, 336, 337, 1271, 339, 340,
+ 341, 342, 1272, 1273, 344, 0, 345, 346, 347, 1274,
+ 349, 0, 350, 0, 351, 352, 353, 0, 354, 355,
+ 356, 357, 358, 0, 359, 1275, 0, 1276, 362, 363,
+ 0, 364, 365, 366, 367, 368, 369, 370, 371, 372,
+ 373, 0, 374, 375, 376, 377, 378, 379, 380, 381,
+ 0, 382, 383, 384, 385, 386, 387, 388, 1277, 1278,
+ 0, 1279, 0, 392, 393, 394, 395, 396, 397, 1280,
+ 1281, 1282, 1283, 402, 403, 404, 405, 406, 407, 0,
+ 0, 408, 1284, 410, 411, 412, 0, 413, 414, 415,
+ 1285, 1286, 416, 417, 418, 419, 420, 421, 422, 423,
+ 424, 425, 426, 427, 428, 429, 430, 431, 432, 433,
+ 1287, 435, 1288, 437, 438, 439, 440, 441, 442, 443,
+ 444, 1289, 446, 1290, 447, 448, 449, 450, 1291, 1292,
+ 452, 1293, 454, 455, 456, 0, 457, 458, 0, 0,
+ 1294, 460, 461, 0, 0, 462, 463, 464, 465, 466,
+ 467, 1295, 469, 470, 471, 472, 473, 474, 475, 476,
+ 477, 478, 0, 479, 480, 1296, 482, 483, 484, 485,
+ 486, 0, 487, 488, 489, 490, 491, 492, 493, 494,
+ 495, 496, 1297, 498, 499, 500, 501, 0, 502, 503,
+ 504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
+ 514, 0, 515, 516, 517, 518, 519, 520, 521, 522,
+ 1298, 524, 525, 526, 527, 528, 529, 530, 531, 532,
+ 533, 0, 534, 535, 536, 537, 538, 1299, 539, 540,
+ 541, 542, 543, 544, 545, 546, 1300, 548, 0, 549,
+ 550, 551, 552, 553, 554, 555, 556, 557, 558, 559,
+ 560, 561, 1301, 563, 0, 564, 565, 1302, 0, 566,
+ 567, 568, 569, 570, 571, 572, 0, 573, 1303, 1304,
+ 0, 0, 576, 577, 1305, 579, 1306, 1307, 581, 582,
+ 583, 584, 585, 586, 587, 588, 0, 1308, 589, 590,
+ 591, 592, 593, 1309, 0, 594, 595, 596, 597, 598,
+ 599, 1310, 3752, 601, 602, 603, 604, 605, 606, 0,
+ 0, 607, 0, 0, 608, 609, 610, 611, 612, 613,
+ 614, 1311, 1312, 1313, 1314, 619, 1315, 1316, 1317, 1318,
+ 624, 625, 626, 627, 0, 1319, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1320, 1321, 0,
+ 0, 0, 234, 0, 1246, 694, 1323, 1247, 1248, 1249,
+ 755, 1250, 0, 0, 0, 0, 0, 0, 0, 235,
+ 236, 237, 238, 239, 240, 241, 242, 243, 0, 244,
+ 245, 246, 0, 0, 0, 0, 1251, 0, 0, 247,
+ 248, 249, 0, 250, 251, 252, 253, 254, 255, 256,
+ 257, 258, 1252, 260, 1253, 1254, 0, 263, 264, 265,
+ 266, 267, 268, 269, 1255, 1256, 270, 271, 1257, 1258,
+ 274, 0, 275, 276, 277, 278, 1259, 0, 1260, 0,
+ 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
+ 0, 291, 292, 293, 294, 295, 296, 0, 297, 298,
+ 299, 300, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 302,
+ 303, 304, 305, 306, 307, 1268, 1269, 310, 1270, 311,
+ 0, 312, 313, 314, 315, 316, 317, 318, 0, 319,
+ 320, 321, 322, 0, 0, 323, 324, 864, 326, 327,
+ 0, 328, 329, 330, 0, 331, 332, 333, 0, 334,
+ 335, 336, 337, 1271, 339, 340, 341, 342, 1272, 1273,
+ 344, 0, 345, 346, 347, 1274, 349, 0, 350, 0,
+ 351, 352, 353, 3257, 354, 355, 356, 357, 358, 0,
+ 359, 1275, 0, 1276, 362, 363, 0, 364, 365, 366,
+ 367, 368, 369, 370, 371, 372, 373, 0, 374, 375,
+ 376, 377, 378, 379, 380, 381, 0, 382, 383, 384,
+ 385, 386, 387, 388, 1277, 1278, 0, 1279, 0, 392,
+ 393, 394, 395, 396, 397, 1280, 1281, 1282, 1283, 402,
+ 403, 404, 405, 406, 407, 0, 0, 408, 1284, 410,
+ 411, 412, 0, 413, 414, 415, 1285, 1286, 416, 417,
+ 418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
+ 428, 429, 430, 431, 432, 433, 1287, 435, 1288, 437,
+ 438, 439, 440, 441, 442, 443, 444, 1289, 446, 1290,
+ 447, 448, 449, 450, 1291, 1292, 452, 1293, 454, 455,
+ 456, 0, 457, 458, 0, 0, 1294, 460, 461, 0,
+ 0, 462, 463, 464, 465, 466, 467, 1295, 469, 470,
+ 471, 472, 473, 474, 475, 476, 477, 478, 0, 479,
+ 480, 1296, 482, 483, 484, 485, 486, 0, 487, 488,
+ 489, 490, 491, 492, 493, 494, 495, 496, 1297, 498,
+ 499, 500, 501, 0, 502, 503, 504, 505, 506, 507,
+ 508, 509, 510, 511, 512, 513, 514, 0, 515, 516,
+ 517, 518, 519, 520, 521, 522, 1298, 524, 525, 526,
+ 527, 528, 529, 530, 531, 532, 533, 0, 534, 535,
+ 536, 537, 538, 1299, 539, 540, 541, 542, 543, 544,
+ 545, 546, 1300, 548, 0, 549, 550, 551, 552, 553,
+ 554, 555, 556, 557, 558, 559, 560, 561, 1301, 563,
+ 0, 564, 565, 1302, 0, 566, 567, 568, 569, 570,
+ 571, 572, 0, 573, 1303, 1304, 0, 0, 576, 577,
+ 1305, 579, 1306, 1307, 581, 582, 583, 584, 585, 586,
+ 587, 588, 0, 1308, 589, 590, 591, 592, 593, 1309,
+ 0, 594, 595, 596, 597, 598, 599, 1310, 0, 601,
+ 602, 603, 604, 605, 606, 0, 0, 607, 0, 0,
+ 608, 609, 610, 611, 612, 613, 614, 1311, 1312, 1313,
+ 1314, 619, 1315, 1316, 1317, 1318, 624, 625, 626, 627,
+ 0, 1319, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1320, 1321, 0, 0, 0, 234, 0,
+ 1246, 694, 1323, 1247, 1248, 1249, 755, 1250, 0, 0,
+ 0, 0, 0, 0, 0, 235, 236, 237, 238, 239,
+ 240, 241, 242, 243, 0, 244, 245, 246, 0, 0,
+ 0, 0, 1251, 0, 0, 247, 248, 249, 0, 250,
+ 251, 252, 253, 254, 255, 256, 257, 258, 1252, 260,
+ 1253, 1254, 0, 263, 264, 265, 266, 267, 268, 269,
+ 1255, 1256, 270, 271, 1257, 1258, 274, 0, 275, 276,
+ 277, 278, 1259, 0, 1260, 0, 281, 282, 283, 284,
+ 285, 286, 287, 288, 289, 290, 0, 291, 292, 293,
+ 294, 295, 296, 0, 297, 298, 299, 300, 1261, 1262,
+ 1263, 1264, 1265, 1266, 1267, 302, 303, 304, 305, 306,
+ 307, 1268, 1269, 310, 1270, 311, 0, 312, 313, 314,
+ 315, 316, 317, 318, 0, 319, 320, 321, 322, 0,
+ 0, 323, 324, 864, 326, 327, 0, 328, 329, 330,
+ 0, 331, 332, 333, 0, 334, 335, 336, 337, 1271,
+ 339, 340, 341, 342, 1272, 1273, 344, 0, 345, 346,
+ 347, 1274, 349, 0, 350, 0, 351, 352, 353, 0,
+ 354, 355, 356, 357, 358, 0, 359, 1275, 0, 1276,
+ 362, 363, 0, 364, 365, 366, 367, 368, 369, 370,
+ 371, 372, 373, 0, 374, 375, 376, 377, 378, 379,
+ 380, 381, 0, 382, 383, 384, 385, 386, 387, 388,
+ 1277, 1278, 0, 1279, 0, 392, 393, 394, 395, 396,
+ 397, 1280, 1281, 1282, 1283, 402, 403, 404, 405, 406,
+ 407, 0, 0, 408, 1284, 410, 411, 412, 0, 413,
+ 414, 415, 1285, 1286, 416, 417, 418, 419, 420, 421,
+ 422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
+ 432, 433, 1287, 435, 1288, 437, 438, 439, 440, 441,
+ 442, 443, 444, 1289, 446, 1290, 447, 448, 449, 450,
+ 1291, 1292, 452, 1293, 454, 455, 456, 0, 457, 458,
+ 0, 0, 1294, 460, 461, 0, 0, 462, 463, 464,
+ 465, 466, 467, 1295, 469, 470, 471, 472, 473, 474,
+ 475, 476, 477, 478, 0, 479, 480, 1296, 482, 483,
+ 484, 485, 486, 0, 487, 488, 489, 490, 491, 492,
+ 493, 494, 495, 496, 1297, 498, 499, 500, 501, 0,
+ 502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
+ 512, 513, 514, 0, 515, 516, 517, 518, 519, 520,
+ 521, 522, 1298, 524, 525, 526, 527, 528, 529, 530,
+ 531, 532, 533, 0, 534, 535, 536, 537, 538, 1299,
+ 539, 540, 541, 542, 543, 544, 545, 546, 1300, 548,
+ 0, 549, 550, 551, 552, 553, 554, 555, 556, 557,
+ 558, 559, 560, 561, 1301, 563, 0, 564, 565, 1302,
+ 0, 566, 567, 568, 569, 570, 571, 572, 0, 573,
+ 1303, 1304, 3313, 0, 576, 577, 1305, 579, 1306, 1307,
+ 581, 582, 583, 584, 585, 586, 587, 588, 0, 1308,
+ 589, 590, 591, 592, 593, 1309, 0, 594, 595, 596,
+ 597, 598, 599, 1310, 0, 601, 602, 603, 604, 605,
+ 606, 0, 0, 607, 0, 0, 608, 609, 610, 611,
+ 612, 613, 614, 1311, 1312, 1313, 1314, 619, 1315, 1316,
+ 1317, 1318, 624, 625, 626, 627, 0, 1319, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1320,
+ 1321, 0, 0, 0, 234, 0, 1246, 694, 1323, 1247,
+ 1248, 1249, 755, 1250, 0, 0, 0, 0, 0, 0,
+ 0, 235, 236, 237, 238, 239, 240, 241, 242, 243,
+ 0, 244, 245, 246, 0, 0, 0, 0, 1251, 0,
+ 0, 247, 248, 249, 0, 250, 251, 252, 253, 254,
+ 255, 256, 257, 258, 1252, 260, 1253, 1254, 0, 263,
+ 264, 265, 266, 267, 268, 269, 1255, 1256, 270, 271,
+ 1257, 1258, 274, 0, 275, 276, 277, 278, 1259, 0,
+ 1260, 0, 281, 282, 283, 284, 285, 286, 287, 288,
+ 289, 290, 0, 291, 292, 293, 294, 295, 296, 0,
+ 297, 298, 299, 300, 1261, 1262, 1263, 1264, 1265, 1266,
+ 1267, 302, 303, 304, 305, 306, 307, 1268, 1269, 310,
+ 1270, 311, 0, 312, 313, 314, 315, 316, 317, 318,
+ 0, 319, 320, 321, 322, 0, 0, 323, 324, 864,
+ 326, 327, 0, 328, 329, 330, 0, 331, 332, 333,
+ 0, 334, 335, 336, 337, 1271, 339, 340, 341, 342,
+ 1272, 1273, 344, 0, 345, 346, 347, 1274, 349, 0,
+ 350, 0, 351, 352, 353, 0, 354, 355, 356, 357,
+ 358, 0, 359, 1275, 0, 1276, 362, 363, 0, 364,
+ 365, 366, 367, 368, 369, 370, 371, 372, 373, 0,
+ 374, 375, 376, 377, 378, 379, 380, 381, 0, 382,
+ 383, 384, 385, 386, 387, 388, 1277, 1278, 0, 1279,
+ 0, 392, 393, 394, 395, 396, 397, 1280, 1281, 1282,
+ 1283, 402, 403, 404, 405, 406, 407, 0, 0, 408,
+ 1284, 410, 411, 412, 0, 413, 414, 415, 1285, 1286,
+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
+ 426, 427, 428, 429, 430, 431, 432, 433, 1287, 435,
+ 1288, 437, 438, 439, 440, 441, 442, 443, 444, 1289,
+ 446, 1290, 447, 448, 449, 450, 1291, 1292, 452, 1293,
+ 454, 455, 456, 0, 457, 458, 0, 0, 1294, 460,
+ 461, 0, 0, 462, 463, 464, 465, 466, 467, 1295,
+ 469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
+ 0, 479, 480, 1296, 482, 483, 484, 485, 486, 0,
+ 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
+ 1297, 498, 499, 500, 501, 0, 502, 503, 504, 505,
+ 506, 507, 508, 509, 510, 511, 512, 513, 514, 0,
+ 515, 516, 517, 518, 519, 520, 521, 522, 1298, 524,
+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 0,
+ 534, 535, 536, 537, 538, 1299, 539, 540, 541, 542,
+ 543, 544, 545, 546, 1300, 548, 0, 549, 550, 551,
+ 552, 553, 554, 555, 556, 557, 558, 559, 560, 561,
+ 1301, 563, 0, 564, 565, 1302, 0, 566, 567, 568,
+ 569, 570, 571, 572, 0, 573, 1303, 1304, 0, 0,
+ 576, 577, 1305, 579, 1306, 1307, 581, 582, 583, 584,
+ 585, 586, 587, 588, 0, 1308, 589, 590, 591, 592,
+ 593, 1309, 0, 594, 595, 596, 597, 598, 599, 1310,
+ 0, 601, 602, 603, 604, 605, 606, 0, 0, 607,
+ 0, 0, 608, 609, 610, 611, 612, 613, 614, 1311,
+ 1312, 1313, 1314, 619, 1315, 1316, 1317, 1318, 624, 625,
+ 626, 627, 0, 1319, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1320, 1321, 0, 0, 0,
+ 234, 0, 1246, 694, 1323, 1247, 1248, 1249, 755, 1250,
+ 0, 0, 0, 0, 0, 0, 0, 235, 236, 237,
+ 238, 239, 240, 241, 242, 243, 0, 244, 245, 246,
+ 0, 0, 0, 0, 1251, 0, 0, 247, 248, 249,
+ 0, 250, 251, 252, 253, 254, 255, 256, 257, 258,
+ 1252, 260, 1253, 1254, 0, 263, 264, 265, 266, 267,
+ 268, 269, 1255, 1256, 270, 271, 1257, 1258, 274, 0,
+ 275, 276, 277, 278, 1259, 0, 1260, 0, 281, 282,
+ 283, 284, 285, 286, 287, 288, 289, 290, 0, 291,
+ 292, 293, 294, 295, 296, 0, 297, 298, 299, 300,
+ 1261, 1262, 1263, 1264, 1265, 1266, 1267, 302, 303, 304,
+ 305, 306, 307, 1268, 1269, 310, 1270, 311, 0, 312,
+ 313, 314, 315, 316, 317, 318, 0, 319, 320, 321,
+ 322, 0, 0, 323, 324, 864, 326, 327, 0, 328,
+ 329, 330, 0, 331, 332, 333, 0, 334, 335, 336,
+ 337, 1271, 339, 340, 341, 342, 1272, 1273, 344, 0,
+ 345, 346, 347, 1274, 349, 0, 350, 0, 351, 352,
+ 353, 0, 354, 355, 356, 357, 358, 0, 359, 1275,
+ 0, 1276, 362, 363, 0, 364, 365, 366, 367, 368,
+ 369, 370, 371, 372, 373, 0, 374, 375, 376, 377,
+ 378, 379, 380, 381, 0, 382, 383, 384, 385, 386,
+ 387, 388, 1277, 1278, 0, 1279, 0, 392, 393, 394,
+ 395, 396, 397, 1280, 1281, 1282, 1283, 402, 403, 404,
+ 405, 406, 407, 0, 0, 408, 1284, 410, 411, 412,
+ 0, 413, 414, 415, 1285, 1286, 416, 417, 418, 419,
+ 420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
+ 430, 431, 432, 433, 1287, 435, 1288, 437, 438, 439,
+ 440, 441, 442, 443, 444, 1289, 446, 1290, 447, 448,
+ 449, 450, 1291, 1292, 452, 1293, 454, 455, 456, 0,
+ 457, 458, 0, 0, 1294, 460, 461, 0, 0, 462,
+ 463, 464, 465, 466, 467, 1295, 469, 470, 471, 472,
+ 473, 474, 475, 476, 477, 478, 0, 479, 480, 1296,
+ 482, 483, 484, 485, 486, 0, 487, 488, 489, 490,
+ 491, 492, 493, 494, 495, 496, 1297, 498, 499, 500,
+ 501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
+ 510, 511, 512, 513, 514, 0, 515, 516, 517, 518,
+ 519, 520, 521, 522, 1298, 524, 525, 526, 527, 528,
+ 529, 530, 531, 532, 533, 0, 534, 535, 536, 537,
+ 538, 1299, 539, 540, 541, 542, 543, 544, 545, 546,
+ 1300, 548, 0, 549, 550, 551, 552, 553, 554, 555,
+ 556, 557, 558, 559, 560, 561, 1301, 563, 0, 564,
+ 565, 1302, 0, 566, 567, 568, 569, 570, 571, 572,
+ 0, 573, 1303, 1304, 0, 0, 576, 577, 1305, 579,
+ 1306, 1307, 581, 582, 583, 584, 585, 586, 587, 588,
+ 0, 1308, 589, 590, 591, 592, 593, 1309, 0, 594,
+ 595, 596, 597, 598, 599, 1310, 0, 601, 602, 603,
+ 604, 605, 606, 0, 0, 607, 0, 0, 608, 609,
+ 610, 611, 612, 613, 614, 1311, 1312, 1313, 1314, 619,
+ 1315, 1316, 1317, 1318, 624, 625, 626, 627, 0, 1319,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 2636, 2637, 0, 0, 0, 234, 0, 3429, 694,
+ 1323, 1247, 1248, 1249, 755, 1250, 0, 0, 0, 0,
+ 0, 0, 0, 235, 236, 237, 238, 239, 240, 241,
+ 242, 243, 0, 244, 245, 246, 0, 0, 0, 0,
+ 1251, 0, 0, 247, 248, 249, 0, 250, 251, 252,
+ 253, 254, 255, 256, 257, 258, 1252, 260, 1253, 1254,
+ 0, 263, 264, 265, 266, 267, 268, 269, 1255, 1256,
+ 270, 271, 1257, 1258, 274, 0, 275, 276, 277, 278,
+ 1259, 0, 1260, 0, 281, 282, 283, 284, 285, 286,
+ 287, 288, 289, 290, 0, 291, 292, 293, 294, 295,
+ 296, 0, 297, 298, 299, 300, 1261, 1262, 1263, 1264,
+ 1265, 1266, 1267, 302, 303, 304, 305, 306, 307, 1268,
+ 1269, 310, 1270, 311, 0, 312, 313, 314, 315, 316,
+ 317, 318, 0, 319, 320, 321, 322, 0, 0, 323,
+ 324, 864, 326, 327, 0, 328, 329, 330, 0, 331,
+ 332, 333, 0, 334, 335, 336, 337, 1271, 339, 340,
+ 341, 342, 1272, 1273, 344, 0, 345, 346, 347, 1274,
+ 349, 0, 350, 0, 351, 352, 353, 0, 354, 355,
+ 356, 357, 358, 0, 359, 1275, 0, 1276, 362, 363,
+ 0, 364, 365, 366, 367, 368, 369, 370, 371, 372,
+ 373, 0, 374, 375, 376, 377, 378, 379, 380, 381,
+ 0, 382, 383, 384, 385, 386, 387, 388, 1277, 1278,
+ 0, 1279, 0, 392, 393, 394, 395, 396, 397, 1280,
+ 1281, 1282, 1283, 402, 403, 404, 405, 406, 407, 0,
+ 0, 408, 1284, 410, 411, 412, 0, 413, 414, 415,
+ 1285, 1286, 416, 417, 418, 419, 420, 421, 422, 423,
+ 424, 425, 426, 427, 428, 429, 430, 431, 432, 433,
+ 1287, 435, 1288, 437, 438, 439, 440, 441, 442, 443,
+ 444, 1289, 446, 1290, 447, 448, 449, 450, 1291, 1292,
+ 452, 1293, 454, 455, 456, 0, 457, 458, 0, 0,
+ 1294, 460, 461, 0, 0, 462, 463, 464, 465, 466,
+ 467, 1295, 469, 470, 471, 472, 473, 474, 475, 476,
+ 477, 478, 0, 479, 480, 1296, 482, 483, 484, 485,
+ 486, 0, 487, 488, 489, 490, 491, 492, 493, 494,
+ 495, 496, 1297, 498, 499, 500, 501, 0, 502, 503,
+ 504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
+ 514, 0, 515, 516, 517, 518, 519, 520, 521, 522,
+ 1298, 524, 525, 526, 527, 528, 529, 530, 531, 532,
+ 533, 0, 534, 535, 536, 537, 538, 1299, 539, 540,
+ 541, 542, 543, 544, 545, 546, 1300, 548, 0, 549,
+ 550, 551, 552, 553, 554, 555, 556, 557, 558, 559,
+ 560, 561, 1301, 563, 0, 564, 565, 1302, 0, 566,
+ 567, 568, 569, 570, 571, 572, 0, 573, 1303, 1304,
+ 0, 0, 576, 577, 1305, 579, 1306, 1307, 581, 582,
+ 583, 584, 585, 586, 587, 588, 0, 1308, 589, 590,
+ 591, 592, 593, 1309, 0, 594, 595, 596, 597, 598,
+ 599, 1310, 0, 601, 602, 603, 604, 605, 606, 0,
+ 0, 607, 0, 0, 608, 609, 610, 611, 612, 613,
+ 614, 1311, 1312, 1313, 1314, 619, 1315, 1316, 1317, 1318,
+ 624, 625, 626, 627, 0, 1319, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1320, 1321, 0,
+ 0, 0, 234, 0, 1246, 694, 1323, 1247, 1248, 1249,
+ 755, 1250, 0, 0, 0, 0, 0, 0, 0, 235,
+ 236, 237, 238, 239, 240, 241, 242, 243, 0, 244,
+ 245, 246, 0, 0, 0, 0, 1251, 0, 0, 247,
+ 248, 249, 0, 250, 251, 252, 253, 254, 255, 256,
+ 257, 258, 1252, 260, 1253, 1254, 0, 263, 264, 265,
+ 266, 267, 268, 269, 1255, 1256, 270, 271, 1257, 1258,
+ 274, 0, 275, 276, 277, 278, 1259, 0, 1260, 0,
+ 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
+ 0, 291, 292, 293, 294, 295, 296, 0, 297, 298,
+ 299, 4750, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 302,
+ 303, 304, 305, 306, 307, 1268, 1269, 310, 1270, 311,
+ 0, 312, 313, 314, 315, 316, 317, 318, 0, 319,
+ 320, 321, 322, 0, 0, 323, 324, 864, 326, 327,
+ 0, 328, 329, 330, 0, 331, 332, 333, 0, 334,
+ 335, 336, 337, 1271, 339, 340, 341, 342, 1272, 1273,
+ 344, 0, 345, 346, 347, 1274, 349, 0, 350, 0,
+ 351, 352, 353, 0, 354, 355, 356, 357, 358, 0,
+ 359, 1275, 0, 1276, 362, 363, 0, 364, 365, 366,
+ 367, 368, 369, 370, 371, 372, 373, 0, 374, 375,
+ 376, 377, 378, 379, 380, 381, 0, 382, 383, 384,
+ 385, 386, 387, 388, 1277, 1278, 0, 1279, 0, 392,
+ 393, 394, 395, 396, 397, 1280, 1281, 1282, 1283, 402,
+ 403, 404, 405, 406, 407, 0, 0, 408, 1284, 410,
+ 411, 412, 0, 413, 414, 415, 1285, 1286, 416, 417,
+ 418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
+ 428, 429, 430, 431, 432, 433, 1287, 435, 1288, 437,
+ 438, 439, 440, 441, 442, 443, 444, 1289, 446, 1290,
+ 447, 448, 449, 450, 1291, 1292, 452, 1293, 454, 455,
+ 456, 0, 457, 458, 0, 0, 1294, 460, 461, 0,
+ 0, 462, 463, 464, 465, 466, 467, 1295, 469, 470,
+ 471, 472, 473, 474, 475, 476, 477, 478, 0, 479,
+ 480, 1296, 482, 483, 484, 485, 486, 0, 487, 488,
+ 489, 490, 491, 492, 493, 494, 495, 496, 1297, 498,
+ 499, 500, 501, 0, 502, 503, 504, 505, 506, 507,
+ 508, 509, 510, 511, 512, 513, 514, 0, 515, 516,
+ 517, 518, 519, 520, 521, 522, 1298, 524, 525, 526,
+ 527, 528, 529, 530, 531, 532, 533, 0, 534, 535,
+ 536, 537, 538, 1299, 539, 540, 541, 542, 543, 544,
+ 545, 546, 1300, 548, 0, 549, 550, 551, 552, 553,
+ 554, 555, 556, 557, 558, 559, 560, 561, 1301, 563,
+ 0, 564, 565, 1302, 0, 566, 567, 568, 569, 570,
+ 571, 572, 0, 573, 1303, 1304, 0, 0, 576, 577,
+ 1305, 579, 1306, 1307, 581, 582, 583, 584, 585, 586,
+ 587, 588, 0, 1308, 589, 590, 591, 592, 593, 1309,
+ 0, 594, 595, 596, 597, 598, 599, 1310, 0, 601,
+ 602, 603, 604, 605, 606, 0, 0, 607, 0, 0,
+ 608, 609, 610, 611, 612, 613, 614, 1311, 1312, 1313,
+ 1314, 619, 1315, 1316, 1317, 1318, 624, 625, 626, 627,
+ 0, 1319, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1320, 1321, 0, 0, 0, 234, 0,
+ 1246, 694, 1323, 1247, 1248, 1249, 755, 1250, 0, 0,
+ 0, 0, 0, 0, 0, 235, 236, 237, 238, 239,
+ 240, 241, 242, 243, 0, 244, 245, 246, 0, 0,
+ 0, 0, 1251, 0, 0, 247, 248, 249, 0, 250,
+ 251, 252, 253, 254, 255, 256, 257, 258, 1252, 260,
+ 1253, 1254, 0, 263, 264, 265, 266, 267, 268, 269,
+ 1255, 1256, 270, 271, 1257, 1258, 274, 0, 275, 276,
+ 277, 278, 1259, 0, 1260, 0, 281, 282, 283, 284,
+ 285, 286, 287, 288, 289, 290, 0, 291, 292, 293,
+ 294, 295, 296, 0, 297, 298, 299, 300, 1261, 1262,
+ 1263, 1264, 1265, 1266, 1267, 302, 303, 304, 305, 306,
+ 307, 1268, 1269, 310, 1270, 311, 0, 312, 313, 314,
+ 315, 316, 317, 318, 0, 319, 320, 321, 322, 0,
+ 0, 323, 324, 864, 326, 327, 0, 328, 329, 330,
+ 0, 331, 332, 333, 0, 334, 335, 336, 337, 1271,
+ 339, 340, 341, 342, 1272, 1273, 344, 0, 345, 346,
+ 347, 1274, 349, 0, 350, 0, 351, 352, 353, 0,
+ 354, 355, 356, 357, 358, 0, 359, 1275, 0, 1276,
+ 362, 363, 0, 364, 365, 366, 367, 368, 369, 370,
+ 371, 372, 373, 0, 374, 375, 376, 377, 378, 379,
+ 380, 381, 0, 382, 383, 384, 385, 386, 387, 388,
+ 1277, 1278, 0, 1279, 0, 392, 393, 394, 395, 396,
+ 397, 1280, 1281, 1282, 1283, 402, 403, 404, 405, 406,
+ 407, 0, 0, 408, 1284, 410, 411, 412, 0, 413,
+ 414, 415, 1285, 1286, 416, 417, 418, 419, 420, 421,
+ 422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
+ 432, 433, 1287, 435, 1288, 437, 438, 439, 440, 441,
+ 442, 443, 444, 1289, 446, 1290, 447, 448, 449, 450,
+ 1291, 1292, 452, 1293, 454, 455, 456, 0, 457, 458,
+ 0, 0, 1294, 460, 461, 0, 0, 462, 463, 464,
+ 465, 466, 467, 1295, 469, 470, 471, 472, 473, 474,
+ 475, 476, 477, 478, 0, 479, 480, 1296, 482, 483,
+ 484, 485, 486, 0, 487, 488, 489, 490, 491, 492,
+ 493, 494, 495, 496, 1297, 498, 499, 500, 501, 0,
+ 502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
+ 512, 513, 514, 0, 515, 516, 517, 518, 519, 520,
+ 521, 522, 1298, 524, 525, 526, 527, 528, 529, 530,
+ 531, 532, 533, 0, 534, 535, 536, 537, 538, 1299,
+ 539, 540, 541, 542, 543, 544, 545, 546, 1300, 548,
+ 0, 549, 550, 551, 552, 553, 554, 555, 556, 557,
+ 558, 559, 560, 561, 1301, 563, 0, 564, 565, 1302,
+ 0, 566, 567, 568, 569, 570, 571, 572, 0, 573,
+ 1303, 1304, 0, 0, 576, 577, 1305, 579, 1306, 1307,
+ 581, 582, 583, 584, 585, 586, 587, 588, 0, 1308,
+ 589, 590, 591, 592, 593, 1309, 0, 594, 595, 596,
+ 597, 598, 599, 1310, 0, 601, 602, 603, 604, 605,
+ 606, 0, 0, 607, 0, 0, 608, 609, 610, 611,
+ 612, 613, 5125, 1311, 1312, 1313, 1314, 619, 1315, 1316,
+ 1317, 1318, 624, 625, 626, 627, 0, 1319, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1320,
+ 1321, 0, 0, 0, 234, 0, 1246, 694, 1323, 1247,
+ 1248, 1249, 755, 1250, 0, 0, 0, 0, 0, 0,
+ 0, 235, 236, 237, 238, 239, 240, 241, 242, 243,
+ 0, 244, 245, 246, 0, 0, 0, 0, 1251, 0,
+ 0, 247, 248, 249, 0, 250, 251, 252, 253, 254,
+ 255, 256, 257, 258, 1252, 260, 1253, 1254, 0, 263,
+ 264, 265, 266, 267, 268, 269, 1255, 1256, 270, 271,
+ 1257, 1258, 274, 0, 275, 276, 277, 278, 1259, 0,
+ 1260, 0, 281, 282, 283, 284, 285, 286, 287, 288,
+ 289, 290, 0, 291, 292, 293, 294, 295, 296, 0,
+ 297, 298, 299, 300, 1261, 1262, 1263, 1264, 1265, 1266,
+ 1267, 302, 303, 304, 305, 306, 307, 1268, 1269, 310,
+ 1270, 311, 0, 312, 313, 314, 315, 316, 317, 318,
+ 0, 319, 320, 321, 322, 0, 0, 323, 324, 864,
+ 326, 327, 0, 328, 329, 330, 0, 331, 332, 333,
+ 0, 334, 335, 336, 337, 1271, 339, 340, 341, 342,
+ 1272, 1273, 344, 0, 345, 346, 347, 1274, 349, 0,
+ 350, 0, 351, 352, 353, 0, 354, 355, 356, 357,
+ 358, 0, 359, 1275, 0, 1276, 362, 363, 0, 364,
+ 365, 366, 367, 368, 369, 370, 371, 372, 373, 0,
+ 374, 375, 376, 377, 378, 379, 380, 381, 0, 382,
+ 383, 384, 385, 386, 387, 388, 1277, 1278, 0, 1279,
+ 0, 392, 393, 394, 395, 396, 397, 1280, 1281, 1282,
+ 1283, 402, 403, 404, 405, 406, 407, 0, 0, 408,
+ 1284, 410, 411, 412, 0, 413, 414, 415, 1285, 1286,
+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
+ 426, 427, 428, 429, 430, 431, 432, 433, 1287, 435,
+ 1288, 437, 438, 439, 440, 441, 442, 5137, 444, 1289,
+ 446, 1290, 447, 448, 449, 450, 1291, 1292, 452, 1293,
+ 454, 455, 456, 0, 457, 458, 0, 0, 1294, 460,
+ 461, 0, 0, 462, 463, 464, 465, 466, 467, 1295,
+ 469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
+ 0, 479, 480, 1296, 482, 483, 484, 485, 486, 0,
+ 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
+ 1297, 498, 499, 500, 501, 0, 502, 503, 504, 505,
+ 506, 507, 508, 509, 510, 511, 512, 513, 514, 0,
+ 515, 516, 517, 518, 519, 520, 521, 522, 1298, 524,
+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 0,
+ 534, 535, 536, 537, 538, 1299, 539, 540, 541, 542,
+ 543, 544, 545, 546, 1300, 548, 0, 549, 550, 551,
+ 552, 553, 554, 555, 556, 557, 558, 559, 560, 561,
+ 1301, 563, 0, 564, 565, 1302, 0, 566, 567, 568,
+ 569, 570, 571, 572, 0, 573, 1303, 1304, 0, 0,
+ 576, 577, 1305, 579, 1306, 1307, 581, 582, 583, 584,
+ 585, 586, 587, 588, 0, 1308, 589, 590, 591, 592,
+ 593, 1309, 0, 594, 595, 596, 597, 598, 599, 1310,
+ 0, 601, 602, 603, 604, 605, 606, 0, 0, 607,
+ 0, 0, 608, 609, 610, 611, 612, 613, 614, 1311,
+ 1312, 1313, 1314, 619, 1315, 1316, 1317, 1318, 624, 625,
+ 626, 627, 0, 1319, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1320, 1321, 0, 0, 0,
+ 234, 0, 1246, 694, 1323, 1247, 1248, 1249, 755, 1250,
+ 0, 0, 0, 0, 0, 0, 0, 235, 236, 237,
+ 238, 239, 240, 241, 242, 243, 0, 244, 245, 246,
+ 0, 0, 0, 0, 1251, 0, 0, 247, 248, 249,
+ 0, 250, 251, 252, 253, 254, 255, 256, 257, 258,
+ 1252, 260, 1253, 1254, 0, 263, 264, 265, 266, 267,
+ 268, 269, 1255, 1256, 270, 271, 1257, 1258, 274, 0,
+ 275, 276, 277, 278, 1259, 0, 1260, 0, 281, 282,
+ 283, 284, 285, 286, 287, 288, 289, 290, 0, 291,
+ 292, 293, 294, 295, 296, 0, 297, 298, 5455, 300,
+ 1261, 1262, 1263, 1264, 1265, 1266, 1267, 302, 303, 304,
+ 305, 306, 307, 1268, 1269, 310, 1270, 311, 0, 312,
+ 313, 314, 315, 316, 317, 318, 0, 319, 320, 321,
+ 322, 0, 0, 323, 324, 864, 326, 327, 0, 328,
+ 329, 330, 0, 331, 332, 333, 0, 334, 335, 336,
+ 337, 1271, 339, 340, 341, 342, 1272, 1273, 344, 0,
+ 345, 346, 347, 1274, 349, 0, 350, 0, 351, 352,
+ 353, 0, 354, 355, 356, 357, 358, 0, 359, 1275,
+ 0, 5456, 362, 363, 0, 364, 365, 366, 367, 368,
+ 369, 370, 371, 372, 373, 0, 374, 375, 376, 377,
+ 378, 379, 380, 381, 0, 382, 383, 384, 385, 386,
+ 387, 388, 1277, 1278, 0, 1279, 0, 392, 393, 394,
+ 395, 396, 397, 1280, 1281, 1282, 1283, 402, 403, 404,
+ 405, 406, 407, 0, 0, 408, 1284, 410, 411, 412,
+ 0, 413, 414, 415, 1285, 1286, 416, 417, 418, 419,
+ 420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
+ 430, 431, 432, 433, 1287, 435, 1288, 437, 438, 439,
+ 440, 441, 442, 443, 444, 1289, 446, 1290, 447, 448,
+ 449, 450, 1291, 1292, 452, 1293, 454, 455, 456, 0,
+ 457, 458, 0, 0, 1294, 460, 461, 0, 0, 462,
+ 463, 464, 465, 466, 467, 1295, 469, 470, 471, 472,
+ 473, 474, 475, 476, 477, 478, 0, 479, 480, 1296,
+ 482, 483, 484, 485, 486, 0, 487, 488, 489, 490,
+ 491, 492, 493, 494, 495, 496, 1297, 498, 499, 500,
+ 501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
+ 510, 511, 512, 513, 514, 0, 515, 516, 517, 518,
+ 519, 5457, 521, 522, 1298, 524, 525, 526, 527, 528,
+ 529, 530, 531, 532, 533, 0, 534, 535, 536, 537,
+ 538, 1299, 539, 540, 541, 542, 543, 544, 545, 546,
+ 1300, 548, 0, 549, 550, 551, 552, 553, 554, 555,
+ 556, 557, 558, 559, 560, 561, 1301, 563, 0, 564,
+ 565, 1302, 0, 566, 567, 568, 569, 570, 571, 572,
+ 0, 573, 1303, 1304, 0, 0, 576, 577, 1305, 579,
+ 1306, 1307, 581, 582, 583, 584, 585, 586, 587, 588,
+ 0, 1308, 589, 590, 591, 592, 593, 1309, 0, 594,
+ 595, 596, 597, 598, 599, 1310, 0, 601, 602, 603,
+ 604, 605, 606, 0, 0, 607, 0, 0, 608, 609,
+ 610, 611, 612, 613, 614, 1311, 1312, 1313, 1314, 619,
+ 1315, 1316, 1317, 1318, 624, 625, 626, 627, 0, 1319,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 1320, 1321, 0, 0, 0, 234, 0, 1246, 694,
+ 5458, 1247, 1248, 1249, 755, 1250, 0, 0, 0, 0,
+ 0, 0, 0, 235, 236, 237, 238, 239, 240, 241,
+ 242, 243, 0, 244, 245, 246, 0, 0, 0, 0,
+ 1251, 0, 0, 247, 248, 249, 0, 250, 251, 252,
+ 253, 254, 255, 256, 257, 5830, 1252, 260, 1253, 1254,
+ 0, 263, 264, 265, 266, 267, 268, 269, 1255, 1256,
+ 270, 271, 1257, 1258, 274, 0, 275, 276, 277, 278,
+ 1259, 0, 1260, 0, 281, 282, 283, 284, 285, 286,
+ 287, 288, 289, 290, 0, 291, 292, 293, 294, 295,
+ 296, 0, 297, 298, 299, 5831, 1261, 1262, 1263, 1264,
+ 1265, 1266, 1267, 302, 303, 304, 305, 306, 307, 1268,
+ 1269, 310, 1270, 311, 0, 312, 313, 314, 315, 316,
+ 317, 318, 0, 319, 320, 321, 322, 0, 0, 323,
+ 324, 864, 326, 327, 0, 328, 329, 330, 0, 331,
+ 332, 333, 0, 334, 335, 336, 337, 1271, 339, 340,
+ 341, 342, 1272, 1273, 344, 0, 345, 346, 347, 1274,
+ 349, 0, 350, 0, 351, 352, 353, 0, 354, 355,
+ 356, 357, 358, 0, 359, 1275, 0, 1276, 362, 363,
+ 0, 364, 365, 366, 367, 368, 369, 370, 371, 372,
+ 373, 0, 374, 375, 376, 377, 378, 379, 380, 381,
+ 0, 382, 383, 384, 385, 386, 387, 388, 1277, 1278,
+ 0, 1279, 0, 392, 393, 394, 395, 396, 397, 1280,
+ 1281, 1282, 1283, 402, 403, 404, 405, 406, 407, 0,
+ 0, 408, 1284, 410, 411, 412, 0, 413, 414, 415,
+ 1285, 1286, 416, 417, 418, 419, 420, 421, 422, 423,
+ 424, 425, 426, 427, 428, 429, 430, 431, 432, 433,
+ 1287, 435, 1288, 437, 438, 439, 440, 441, 442, 443,
+ 444, 1289, 446, 1290, 447, 448, 449, 450, 1291, 1292,
+ 452, 1293, 454, 455, 456, 0, 457, 458, 0, 0,
+ 1294, 460, 461, 0, 0, 462, 463, 464, 465, 466,
+ 467, 1295, 469, 470, 471, 472, 473, 474, 475, 476,
+ 477, 478, 0, 479, 480, 1296, 482, 483, 484, 485,
+ 486, 0, 487, 488, 489, 490, 491, 492, 493, 494,
+ 495, 496, 1297, 498, 499, 500, 501, 0, 502, 503,
+ 504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
+ 514, 0, 515, 516, 517, 518, 519, 520, 521, 522,
+ 1298, 524, 525, 526, 527, 528, 529, 530, 531, 532,
+ 533, 0, 534, 535, 536, 537, 538, 1299, 539, 540,
+ 541, 542, 543, 544, 545, 546, 1300, 548, 0, 549,
+ 550, 551, 552, 553, 554, 555, 556, 557, 558, 559,
+ 560, 561, 1301, 563, 0, 564, 565, 1302, 0, 566,
+ 567, 568, 569, 570, 571, 572, 0, 573, 1303, 1304,
+ 0, 0, 576, 577, 1305, 579, 1306, 1307, 581, 582,
+ 583, 584, 585, 5832, 587, 588, 0, 1308, 589, 590,
+ 591, 592, 593, 1309, 0, 594, 595, 596, 597, 598,
+ 599, 1310, 0, 601, 602, 603, 604, 605, 606, 0,
+ 0, 607, 0, 0, 608, 609, 610, 611, 612, 613,
+ 614, 1311, 1312, 1313, 1314, 619, 1315, 1316, 1317, 1318,
+ 624, 625, 626, 627, 0, 1319, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1320, 1321, 0,
+ 0, 0, 234, 0, 1246, 694, 1323, 1247, 1248, 1249,
+ 755, 1250, 0, 0, 0, 0, 0, 0, 0, 235,
+ 236, 237, 238, 239, 240, 241, 242, 243, 0, 244,
+ 245, 246, 0, 0, 0, 0, 1251, 0, 0, 247,
+ 248, 249, 0, 250, 251, 252, 253, 254, 255, 256,
+ 257, 258, 1252, 260, 1253, 1254, 0, 263, 264, 265,
+ 266, 267, 268, 269, 1255, 1256, 270, 271, 1257, 1258,
+ 274, 0, 275, 276, 277, 278, 1259, 0, 1260, 0,
+ 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
+ 0, 291, 292, 293, 294, 295, 296, 0, 297, 298,
+ 299, 5831, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 302,
+ 303, 304, 305, 306, 307, 1268, 1269, 310, 1270, 311,
+ 0, 312, 313, 314, 315, 316, 317, 318, 0, 319,
+ 320, 321, 322, 0, 0, 323, 324, 864, 326, 327,
+ 0, 328, 329, 330, 0, 331, 332, 333, 0, 334,
+ 335, 336, 337, 1271, 339, 340, 341, 342, 1272, 1273,
+ 344, 0, 345, 346, 347, 1274, 349, 0, 350, 0,
+ 351, 352, 353, 0, 354, 355, 356, 357, 358, 0,
+ 359, 1275, 0, 1276, 362, 363, 0, 364, 365, 366,
+ 367, 368, 369, 370, 371, 372, 373, 0, 374, 375,
+ 376, 377, 378, 379, 380, 381, 0, 382, 383, 384,
+ 385, 386, 387, 388, 1277, 1278, 0, 1279, 0, 392,
+ 393, 394, 395, 396, 397, 1280, 1281, 1282, 1283, 402,
+ 403, 404, 405, 406, 407, 0, 0, 408, 1284, 410,
+ 411, 412, 0, 413, 414, 415, 1285, 1286, 416, 417,
+ 418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
+ 428, 429, 430, 431, 432, 433, 1287, 435, 1288, 437,
+ 438, 439, 440, 441, 442, 443, 444, 1289, 446, 1290,
+ 447, 448, 449, 450, 1291, 1292, 452, 1293, 454, 455,
+ 456, 0, 457, 458, 0, 0, 1294, 460, 461, 0,
+ 0, 462, 463, 464, 465, 466, 467, 1295, 469, 470,
+ 471, 472, 473, 474, 475, 476, 477, 478, 0, 479,
+ 480, 1296, 482, 483, 484, 485, 486, 0, 487, 488,
+ 489, 490, 491, 492, 493, 494, 495, 496, 1297, 498,
+ 499, 500, 501, 0, 502, 503, 504, 505, 506, 507,
+ 508, 509, 510, 511, 512, 513, 514, 0, 515, 516,
+ 517, 518, 519, 520, 521, 522, 1298, 524, 525, 526,
+ 527, 528, 529, 530, 531, 532, 533, 0, 534, 535,
+ 536, 537, 538, 1299, 539, 540, 541, 542, 543, 544,
+ 545, 546, 1300, 548, 0, 549, 550, 551, 552, 553,
+ 554, 555, 556, 557, 558, 559, 560, 561, 1301, 563,
+ 0, 564, 565, 1302, 0, 566, 567, 568, 569, 570,
+ 571, 572, 0, 573, 1303, 1304, 0, 0, 576, 577,
+ 1305, 579, 1306, 1307, 581, 582, 583, 584, 585, 5832,
+ 587, 588, 0, 1308, 589, 590, 591, 592, 593, 1309,
+ 0, 594, 595, 596, 597, 598, 599, 1310, 0, 601,
+ 602, 603, 604, 605, 606, 0, 0, 607, 0, 0,
+ 608, 609, 610, 611, 612, 613, 614, 1311, 1312, 1313,
+ 1314, 619, 1315, 1316, 1317, 1318, 624, 625, 626, 627,
+ 0, 1319, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1320, 1321, 0, 0, 0, 234, 0,
+ 1246, 694, 1323, 1247, 1248, 1249, 755, 1250, 0, 0,
+ 0, 0, 0, 0, 0, 235, 236, 237, 238, 239,
+ 240, 241, 242, 243, 0, 244, 245, 246, 0, 0,
+ 0, 0, 1251, 0, 0, 247, 248, 249, 0, 250,
+ 251, 252, 253, 254, 255, 256, 257, 258, 1252, 260,
+ 1253, 1254, 0, 263, 264, 265, 266, 267, 268, 269,
+ 1255, 1256, 270, 271, 1257, 1258, 274, 0, 275, 276,
+ 277, 278, 1259, 0, 1260, 0, 281, 282, 283, 284,
+ 285, 286, 287, 288, 289, 290, 0, 291, 292, 293,
+ 294, 295, 296, 0, 297, 298, 299, 300, 1261, 1262,
+ 1263, 1264, 1265, 1266, 1267, 302, 303, 304, 305, 306,
+ 307, 1268, 1269, 310, 5440, 311, 0, 312, 313, 314,
+ 315, 316, 317, 318, 0, 319, 320, 321, 322, 0,
+ 0, 323, 324, 864, 326, 327, 0, 328, 329, 330,
+ 0, 331, 332, 333, 0, 334, 335, 336, 337, 1271,
+ 339, 340, 341, 342, 1272, 1273, 344, 0, 345, 346,
+ 347, 1274, 349, 0, 350, 0, 351, 352, 353, 0,
+ 354, 355, 356, 357, 358, 0, 359, 1275, 0, 1276,
+ 362, 363, 0, 364, 365, 366, 367, 368, 369, 370,
+ 371, 372, 373, 0, 374, 375, 376, 377, 378, 379,
+ 380, 381, 0, 382, 383, 384, 385, 386, 387, 388,
+ 1277, 1278, 0, 1279, 0, 392, 393, 394, 395, 396,
+ 397, 1280, 1281, 1282, 1283, 402, 403, 404, 405, 406,
+ 407, 0, 0, 408, 1284, 410, 411, 412, 0, 413,
+ 414, 415, 1285, 1286, 416, 417, 418, 419, 420, 421,
+ 422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
+ 432, 433, 1287, 435, 1288, 437, 438, 439, 440, 441,
+ 442, 443, 444, 1289, 446, 0, 447, 448, 449, 450,
+ 1291, 1292, 452, 1293, 454, 455, 456, 0, 457, 458,
+ 0, 0, 1294, 460, 461, 0, 0, 462, 463, 464,
+ 465, 466, 467, 1295, 469, 470, 471, 472, 473, 474,
+ 475, 476, 477, 478, 0, 479, 480, 1296, 482, 483,
+ 484, 485, 486, 0, 487, 488, 489, 490, 491, 492,
+ 493, 494, 495, 496, 1297, 498, 499, 500, 501, 0,
+ 502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
+ 512, 513, 514, 0, 515, 516, 517, 518, 519, 520,
+ 521, 522, 3242, 524, 525, 526, 527, 528, 529, 530,
+ 531, 532, 533, 0, 534, 535, 536, 537, 538, 1299,
+ 539, 540, 541, 542, 543, 544, 545, 546, 1300, 548,
+ 0, 549, 550, 551, 552, 553, 554, 555, 556, 557,
+ 558, 559, 560, 561, 1301, 563, 0, 564, 565, 1302,
+ 0, 566, 567, 568, 569, 570, 571, 572, 0, 573,
+ 1303, 1304, 0, 0, 576, 577, 1305, 579, 1306, 1307,
+ 581, 582, 583, 584, 585, 586, 587, 588, 0, 0,
+ 589, 590, 591, 592, 593, 1309, 0, 594, 595, 596,
+ 597, 598, 599, 1310, 0, 601, 602, 603, 604, 605,
+ 606, 0, 0, 607, 0, 0, 608, 609, 610, 611,
+ 612, 613, 614, 1311, 1312, 1313, 1314, 619, 1315, 1316,
+ 1317, 1318, 624, 625, 626, 627, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 3243,
+ 3244, 0, 0, 0, 234, 0, 1246, 694, 3245, 1247,
+ 1248, 1249, 755, 1250, 0, 0, 0, 0, 0, 0,
+ 0, 235, 236, 237, 238, 239, 240, 241, 242, 243,
+ 0, 244, 245, 246, 0, 0, 0, 0, 1251, 0,
+ 0, 247, 248, 249, 0, 250, 251, 252, 253, 254,
+ 255, 256, 257, -2883, 1252, 260, 1253, 1254, 0, 263,
+ 264, 265, 266, 267, 268, 269, 1255, 1256, 270, 271,
+ 1257, 1258, 274, 0, 275, 276, 277, 278, 1259, 0,
+ 1260, 0, 281, 282, 283, 284, 285, 286, 287, 288,
+ 289, 290, 0, 291, 292, 293, 294, 295, 296, 0,
+ 297, 298, 299, 5831, 1261, 1262, 1263, 1264, 1265, 1266,
+ 1267, 302, 303, 304, 305, 306, 307, 1268, 1269, 310,
+ 1270, 311, 0, 312, 313, 314, 315, 316, 317, 318,
+ 0, 319, 320, 321, 322, 0, 0, 323, 324, 864,
+ 326, 327, 0, 328, 329, 330, 0, 331, 332, 333,
+ 0, 334, 335, 336, 337, 1271, 339, 340, 341, 342,
+ 1272, 1273, 344, 0, 345, 346, 347, 1274, 349, 0,
+ 350, 0, 351, 352, 353, 0, 354, 355, 356, 357,
+ 358, 0, 359, 1275, 0, 1276, 362, 363, 0, 364,
+ 365, 366, 367, 368, -2883, 370, 371, 372, 373, 0,
+ 374, 375, 376, 377, 378, 379, 380, 381, 0, 382,
+ 383, 384, 385, 386, 387, 388, 1277, 1278, 0, 1279,
+ 0, 392, 0, 0, 395, 396, 397, 1280, 1281, 1282,
+ 1283, 402, 403, 404, 405, 406, 407, 0, 0, 408,
+ 1284, 410, 411, -2883, 0, 413, 414, 415, 1285, 1286,
+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
+ 426, 427, 428, 429, 430, 431, 432, 433, 1287, 435,
+ 1288, 437, 438, 439, 440, 441, 442, 443, 444, 1289,
+ 446, 1290, 447, 448, 0, 450, 1291, 1292, 452, 1293,
+ 454, 455, 456, 0, 457, 458, 0, 0, 1294, 460,
+ 461, 0, 0, 462, 463, 464, 465, 466, 467, 1295,
+ 469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
+ 0, 479, 480, 1296, 482, 483, 484, 485, 486, 0,
+ 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
+ 1297, 498, 499, 500, 501, 0, 502, 503, 504, 505,
+ 506, 507, 508, 509, 510, 511, 512, 513, 514, 0,
+ 515, 516, 517, 518, 519, 520, 521, 522, 1298, 524,
+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 0,
+ 534, 535, 536, 537, 538, 1299, 539, 540, 541, 542,
+ 543, -2883, 545, 546, 1300, 548, 0, 549, 550, 551,
+ 552, 553, 554, 555, 556, 557, 558, 559, 560, 561,
+ 1301, 563, 0, 564, 565, 1302, 0, 566, 567, 568,
+ 569, 570, 571, 572, 0, 573, 1303, 1304, 0, 0,
+ 576, 577, 1305, 579, 1306, 1307, 581, 582, 583, 584,
+ 585, 5832, 587, 588, 0, 1308, 589, 590, 591, 592,
+ 593, 1309, 0, 594, 595, 596, 597, 598, 599, 1310,
+ 0, 601, 602, 603, 604, 605, 606, 0, 0, 607,
+ 0, 0, 608, 609, 610, 611, 612, 613, 614, 1311,
+ 1312, 1313, 1314, 619, 1315, 1316, 1317, 1318, 624, 625,
+ 626, 627, 0, -2883, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1320, 1321, 0, 0, 0,
+ 234, 0, 1246, 694, 1323, 1247, 1248, 1249, 755, 1250,
+ 0, 0, 0, 0, 0, 0, 0, 235, 236, 237,
+ 238, 239, 240, 241, 242, 243, 0, 244, 245, 246,
+ 0, 0, 0, 0, 1251, 0, 0, 247, 248, 249,
+ 0, 250, 251, 252, 253, 254, 255, 256, 257, 258,
+ 1252, 260, 1253, 1254, 0, 263, 264, 265, 266, 267,
+ 268, 269, 1255, 1256, 270, 271, 1257, 1258, 274, 0,
+ 275, 276, 277, 278, 1259, 0, 1260, 0, 281, 282,
+ 283, 284, 285, 286, 287, 288, 289, 290, 0, 291,
+ 292, 293, 294, 295, 296, 0, 297, 298, 299, 300,
+ 1261, 1262, 1263, 1264, 1265, 1266, 1267, 302, 303, 304,
+ 305, 306, 307, 1268, 1269, 310, 0, 311, 0, 312,
+ 313, 314, 315, 316, 317, 318, 0, 319, 320, 321,
+ 322, 0, 0, 323, 324, 864, 326, 327, 0, 328,
+ 329, 330, 0, 331, 332, 333, 0, 334, 335, 336,
+ 337, 1271, 339, 340, 341, 342, 1272, 1273, 344, 0,
+ 345, 346, 347, 1274, 349, 0, 350, 0, 351, 352,
+ 353, 0, 354, 355, 356, 357, 358, 0, 359, 1275,
+ 0, 1276, 362, 363, 0, 364, 365, 366, 367, 368,
+ 369, 370, 371, 372, 373, 0, 374, 375, 376, 377,
+ 378, 379, 380, 381, 0, 382, 383, 384, 385, 386,
+ 387, 388, 1277, 1278, 0, 1279, 0, 392, 393, 394,
+ 395, 396, 397, 1280, 1281, 1282, 1283, 402, 403, 404,
+ 405, 406, 407, 0, 0, 408, 1284, 410, 411, 412,
+ 0, 413, 414, 415, 1285, 1286, 416, 417, 418, 419,
+ 420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
+ 430, 431, 432, 433, 1287, 435, 1288, 437, 438, 439,
+ 440, 441, 442, 443, 444, 1289, 446, 0, 447, 448,
+ 449, 450, 1291, 1292, 452, 1293, 454, 455, 456, 0,
+ 457, 458, 0, 0, 1294, 460, 461, 0, 0, 462,
+ 463, 464, 465, 466, 467, 1295, 469, 470, 471, 472,
+ 473, 474, 475, 476, 477, 478, 0, 479, 480, 1296,
+ 482, 483, 484, 485, 486, 0, 487, 488, 489, 490,
+ 491, 492, 493, 494, 495, 496, 1297, 498, 499, 500,
+ 501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
+ 510, 511, 512, 513, 514, 0, 515, 516, 517, 518,
+ 519, 520, 521, 522, 3242, 524, 525, 526, 527, 528,
+ 529, 530, 531, 532, 533, 0, 534, 535, 536, 537,
+ 538, 1299, 539, 540, 541, 542, 543, 544, 545, 546,
+ 1300, 548, 0, 549, 550, 551, 552, 553, 554, 555,
+ 556, 557, 558, 559, 560, 561, 1301, 563, 0, 564,
+ 565, 1302, 0, 566, 567, 568, 569, 570, 571, 572,
+ 0, 573, 1303, 1304, 0, 0, 576, 577, 1305, 579,
+ 1306, 1307, 581, 582, 583, 584, 585, 586, 587, 588,
+ 0, 0, 589, 590, 591, 592, 593, 1309, 0, 594,
+ 595, 596, 597, 598, 599, 1310, 0, 601, 602, 603,
+ 604, 605, 606, 0, 0, 607, 0, 0, 608, 609,
+ 610, 611, 612, 613, 614, 1311, 1312, 1313, 1314, 619,
+ 1315, 1316, 1317, 1318, 624, 625, 626, 627, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 3243, 3244, 234, 0, 1246, 694, 0, 1247, 1248,
+ 3245, 755, 1250, 0, 0, 0, 0, 0, 0, 0,
+ 235, 236, 237, 238, 239, 240, 241, 242, 243, 0,
+ 244, 245, 246, 0, 0, 0, 0, 1251, 0, 0,
+ 247, 248, 249, 0, 250, 251, 252, 253, 254, 255,
+ 256, 257, 258, 1252, 260, 1253, 1254, 0, 263, 264,
+ 265, 266, 267, 268, 269, 1255, 1256, 270, 271, 1257,
+ 1258, 274, 0, 275, 276, 277, 278, 1259, 0, 1260,
+ 0, 281, 282, 283, 284, 285, 286, 287, 288, 289,
+ 290, 0, 291, 292, 293, 294, 295, 296, 0, 297,
+ 298, 299, 300, 1261, 1262, 1263, 1264, 1265, 1266, 1267,
+ 302, 303, 304, 305, 306, 307, 1268, 1269, 310, 0,
+ 311, 0, 312, 313, 314, 315, 316, 317, 318, 0,
+ 319, 320, 321, 322, 0, 0, 323, 324, 864, 326,
+ 327, 0, 328, 329, 330, 0, 331, 332, 333, 0,
+ 334, 335, 336, 337, 1271, 339, 340, 341, 342, 1272,
+ 1273, 344, 0, 345, 346, 347, 1274, 349, 0, 350,
+ 0, 351, 352, 353, 0, 354, 355, 356, 357, 358,
+ 0, 359, 1275, 0, 1276, 362, 363, 0, 364, 365,
+ 366, 367, 368, 369, 370, 371, 372, 373, 0, 374,
+ 375, 376, 377, 378, 379, 380, 381, 0, 382, 383,
+ 384, 385, 386, 387, 388, 1277, 1278, 0, 1279, 0,
+ 392, 393, 394, 395, 396, 397, 1280, 1281, 1282, 1283,
+ 402, 403, 404, 405, 406, 407, 0, 0, 408, 1284,
+ 410, 411, 412, 0, 413, 414, 415, 1285, 1286, 416,
+ 417, 418, 419, 420, 421, 422, 423, 424, 425, 426,
+ 427, 428, 429, 430, 431, 432, 433, 1287, 435, 1288,
+ 437, 438, 439, 440, 441, 442, 443, 444, 1289, 446,
+ 0, 447, 448, 449, 450, 1291, 1292, 452, 1293, 454,
+ 455, 456, 0, 457, 458, 0, 0, 459, 460, 461,
+ 0, 0, 462, 463, 464, 465, 466, 467, 1295, 469,
+ 470, 471, 472, 473, 474, 475, 476, 477, 478, 0,
+ 479, 480, 1296, 482, 483, 484, 485, 486, 0, 487,
+ 488, 489, 490, 491, 492, 493, 494, 495, 496, 1297,
+ 498, 499, 500, 501, 0, 502, 503, 504, 505, 506,
+ 507, 508, 509, 510, 511, 512, 513, 514, 0, 515,
+ 516, 517, 518, 519, 520, 521, 522, 3418, 3419, 525,
+ 526, 527, 528, 529, 530, 531, 532, 533, 0, 534,
+ 535, 536, 537, 538, 1299, 539, 540, 541, 542, 543,
+ 544, 545, 546, 1300, 548, 0, 549, 550, 551, 552,
+ 553, 554, 555, 556, 557, 558, 559, 560, 561, 1301,
+ 563, 0, 564, 565, 1302, 0, 566, 567, 568, 569,
+ 570, 571, 572, 0, 573, 1303, 1304, 0, 0, 576,
+ 577, 1305, 579, 1306, 1307, 581, 582, 583, 584, 585,
+ 586, 587, 588, 0, 0, 589, 590, 591, 592, 593,
+ 1309, 0, 594, 595, 596, 597, 598, 599, 1310, 0,
+ 601, 602, 603, 604, 605, 606, 0, 0, 607, 0,
+ 0, 608, 609, 610, 611, 612, 613, 614, 1311, 1312,
+ 1313, 1314, 619, 1315, 1316, 1317, 1318, 624, 625, 626,
+ 627, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 3420, 3421, 234, 0, 1246, 694,
+ 0, 1247, 1248, 3245, 755, 1250, 0, 0, 0, 0,
+ 0, 0, 0, 235, 236, 237, 238, 239, 240, 241,
+ 242, 243, 0, 244, 245, 246, 0, 0, 0, 0,
+ 1251, 0, 0, 247, 248, 249, 0, 250, 251, 252,
+ 253, 254, 255, 256, 257, 258, 1252, 260, 1253, 1254,
+ 0, 263, 264, 265, 266, 267, 268, 269, 1255, 1256,
+ 270, 271, 1257, 1258, 274, 0, 275, 276, 277, 278,
+ 1259, 0, 1260, 0, 281, 282, 283, 284, 285, 286,
+ 287, 288, 289, 290, 0, 291, 292, 293, 294, 295,
+ 296, 0, 297, 298, 299, 300, 1261, 1262, 1263, 1264,
+ 1265, 1266, 1267, 302, 303, 304, 305, 306, 307, 1268,
+ 1269, 310, 0, 311, 0, 312, 313, 314, 315, 316,
+ 317, 318, 0, 319, 320, 321, 322, 0, 0, 323,
+ 324, 864, 326, 327, 0, 328, 329, 330, 0, 331,
+ 332, 333, 0, 334, 335, 336, 337, 1271, 339, 340,
+ 341, 342, 1272, 1273, 344, 0, 345, 346, 347, 1274,
+ 349, 0, 350, 0, 351, 352, 353, 0, 354, 355,
+ 356, 357, 358, 0, 359, 1275, 0, 1276, 362, 363,
+ 0, 364, 365, 366, 367, 368, 369, 370, 371, 372,
+ 373, 0, 374, 375, 376, 377, 378, 379, 380, 381,
+ 0, 382, 383, 384, 385, 386, 387, 388, 1277, 1278,
+ 0, 1279, 0, 392, 393, 394, 395, 396, 397, 1280,
+ 1281, 1282, 1283, 402, 403, 404, 405, 406, 407, 0,
+ 0, 408, 1284, 410, 411, 412, 0, 413, 414, 415,
+ 1285, 1286, 416, 417, 418, 419, 420, 421, 422, 423,
+ 424, 425, 426, 427, 428, 429, 430, 431, 432, 433,
+ 1287, 435, 1288, 437, 438, 439, 440, 441, 442, 443,
+ 444, 1289, 446, 0, 447, 448, 449, 450, 1291, 1292,
+ 452, 1293, 454, 455, 456, 0, 457, 458, 0, 0,
+ 459, 460, 461, 0, 0, 462, 463, 464, 465, 466,
+ 467, 1295, 469, 470, 471, 472, 473, 474, 475, 476,
+ 477, 478, 0, 479, 480, 1296, 482, 483, 484, 485,
+ 486, 0, 487, 488, 489, 490, 491, 492, 493, 494,
+ 495, 496, 1297, 498, 499, 500, 501, 0, 502, 503,
+ 504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
+ 514, 0, 515, 516, 517, 518, 519, 520, 521, 522,
+ 3242, 524, 525, 526, 527, 528, 529, 530, 531, 532,
+ 533, 0, 534, 535, 536, 537, 538, 1299, 539, 540,
+ 541, 542, 543, 544, 545, 546, 1300, 548, 0, 549,
+ 550, 551, 552, 553, 554, 555, 556, 557, 558, 559,
+ 560, 561, 1301, 563, 0, 564, 565, 1302, 0, 566,
+ 567, 568, 569, 570, 571, 572, 0, 573, 1303, 1304,
+ 0, 0, 576, 577, 1305, 579, 1306, 1307, 581, 582,
+ 583, 584, 585, 586, 587, 588, 0, 0, 589, 590,
+ 591, 592, 593, 1309, 0, 594, 595, 596, 597, 598,
+ 599, 1310, 0, 601, 602, 603, 604, 605, 606, 0,
+ 0, 607, 0, 0, 608, 609, 610, 611, 612, 613,
+ 614, 1311, 1312, 1313, 1314, 619, 1315, 1316, 1317, 1318,
+ 624, 625, 626, 627, 0, 0, 0, 0, 0, 0,
+ 234, 0, 1246, 694, 0, 1247, 1248, 0, 755, 1250,
+ 0, 0, 0, 0, 0, 0, 3245, 235, 236, 237,
+ 238, 239, 240, 241, 242, 243, 0, 244, 245, 246,
+ 0, 0, 0, 0, 1251, 0, 0, 247, 248, 249,
+ 0, 250, 251, 252, 253, 254, 255, 256, 257, 258,
+ 1252, 260, 1253, 1254, 0, 263, 4659, 265, 266, 267,
+ 268, 269, 1255, 1256, 270, 271, 1257, 1258, 274, 0,
+ 275, 276, 277, 278, 1259, 0, 1260, 0, 281, 282,
+ 283, 284, 285, 286, 287, 288, 289, 290, 0, 291,
+ 292, 293, 294, 295, 296, 0, 297, 298, 299, 300,
+ 1261, 1262, 1263, 1264, 1265, 1266, 1267, 302, 303, 304,
+ 305, 306, 307, 1268, 1269, 310, 0, 311, 0, 312,
+ 313, 314, 315, 316, 317, 318, 0, 319, 320, 321,
+ 322, 0, 0, 323, 324, 864, 326, 327, 0, 328,
+ 329, 330, 0, 331, 332, 333, 0, 334, 335, 336,
+ 337, 1271, 339, 340, 341, 342, 1272, 1273, 344, 0,
+ 345, 346, 347, 1274, 349, 0, 350, 0, 351, 352,
+ 353, 0, 354, 355, 356, 357, 358, 0, 359, 1275,
+ 0, 1276, 362, 363, 0, 364, 365, 366, 367, 368,
+ 369, 370, 371, 372, 373, 0, 374, 375, 376, 377,
+ 378, 379, 380, 381, 0, 382, 383, 384, 385, 386,
+ 387, 388, 1277, 1278, 0, 1279, 0, 392, 393, 394,
+ 395, 396, 397, 1280, 1281, 1282, 1283, 402, 403, 404,
+ 405, 406, 407, 0, 0, 408, 1284, 410, 411, 412,
+ 0, 413, 414, 415, 1285, 1286, 416, 417, 418, 419,
+ 420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
+ 430, 431, 432, 433, 1287, 435, 1288, 437, 438, 439,
+ 440, 441, 442, 443, 444, 1289, 446, 0, 447, 448,
+ 449, 450, 1291, 1292, 452, 1293, 454, 455, 456, 0,
+ 457, 458, 0, 0, 459, 460, 461, 0, 0, 462,
+ 463, 464, 465, 466, 467, 1295, 469, 470, 471, 472,
+ 473, 474, 475, 476, 477, 478, 0, 479, 480, 1296,
+ 482, 483, 484, 485, 486, 0, 487, 488, 489, 490,
+ 491, 492, 493, 494, 495, 496, 1297, 498, 499, 500,
+ 501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
+ 510, 511, 512, 513, 514, 0, 515, 516, 517, 518,
+ 519, 520, 521, 522, 3242, 524, 525, 526, 527, 528,
+ 529, 530, 531, 532, 533, 0, 534, 535, 536, 537,
+ 538, 1299, 539, 540, 541, 542, 543, 544, 545, 546,
+ 1300, 548, 0, 549, 550, 551, 552, 553, 554, 555,
+ 556, 557, 558, 559, 560, 561, 1301, 563, 0, 564,
+ 565, 1302, 0, 566, 567, 568, 569, 570, 571, 572,
+ 0, 573, 1303, 1304, 0, 0, 576, 577, 1305, 579,
+ 1306, 1307, 581, 582, 583, 584, 585, 586, 587, 588,
+ 0, 0, 589, 590, 591, 592, 593, 1309, 0, 594,
+ 595, 596, 597, 598, 599, 1310, 0, 601, 602, 603,
+ 604, 605, 606, 0, 0, 607, 0, 0, 608, 609,
+ 610, 611, 612, 613, 614, 1311, 1312, 1313, 1314, 619,
+ 1315, 1316, 1317, 1318, 624, 625, 626, 627, 0, 0,
+ 0, 0, 0, 0, 234, 0, 1246, 694, 0, 1247,
+ 1248, 0, 755, 1250, 0, 0, 0, 0, 0, 0,
+ 3245, 235, 236, 237, 238, 239, 240, 241, 242, 243,
+ 0, 244, 245, 246, 0, 0, 0, 0, 1251, 0,
+ 0, 247, 248, 249, 0, 250, 251, 252, 253, 254,
+ 255, 256, 257, 258, 1252, 260, 1253, 1254, 0, 263,
+ 264, 265, 266, 267, 268, 269, 1255, 1256, 270, 271,
+ 1257, 1258, 274, 0, 275, 276, 277, 278, 1259, 0,
+ 1260, 0, 281, 282, 283, 284, 285, 286, 287, 288,
+ 289, 290, 0, 291, 292, 293, 294, 295, 296, 0,
+ 297, 298, 299, 300, 1261, 1262, 1263, 1264, 1265, 1266,
+ 1267, 302, 303, 304, 305, 306, 307, 1268, 1269, 310,
+ 0, 311, 0, 312, 313, 314, 315, 316, 317, 318,
+ 0, 319, 320, 321, 322, 0, 0, 323, 324, 864,
+ 326, 327, 0, 328, 329, 330, 0, 331, 332, 333,
+ 0, 334, 335, 336, 337, 1271, 339, 340, 341, 342,
+ 1272, 1273, 344, 0, 345, 346, 347, 1274, 349, 0,
+ 350, 0, 351, 352, 353, 0, 354, 355, 356, 357,
+ 358, 0, 359, 1275, 0, 1276, 362, 363, 0, 364,
+ 365, 366, 367, 368, 369, 370, 371, 372, 373, 0,
+ 374, 375, 376, 377, 378, 379, 380, 381, 0, 382,
+ 383, 384, 385, 386, 387, 388, 1277, 1278, 0, 1279,
+ 0, 392, 393, 394, 395, 396, 397, 1280, 1281, 1282,
+ 1283, 402, 403, 404, 405, 406, 407, 0, 0, 408,
+ 1284, 410, 411, 412, 0, 413, 414, 415, 1285, 1286,
+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
+ 426, 427, 428, 429, 430, 431, 432, 433, 1287, 435,
+ 1288, 437, 438, 439, 440, 441, 442, 443, 444, 1289,
+ 446, 0, 447, 448, 449, 450, 1291, 1292, 452, 1293,
+ 454, 455, 456, 0, 457, 458, 0, 0, 459, 460,
+ 461, 0, 0, 462, 463, 464, 465, 466, 467, 1295,
+ 469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
+ 0, 479, 480, 1296, 482, 483, 484, 485, 486, 0,
+ 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
+ 1297, 498, 499, 500, 501, 0, 502, 503, 504, 505,
+ 506, 507, 508, 509, 510, 511, 512, 513, 514, 0,
+ 515, 516, 517, 518, 519, 520, 521, 522, 3242, 524,
+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 0,
+ 534, 535, 536, 537, 538, 1299, 539, 540, 541, 542,
+ 543, 544, 545, 546, 1300, 548, 0, 549, 550, 551,
+ 552, 553, 554, 555, 556, 557, 558, 559, 560, 561,
+ 1301, 563, 0, 564, 565, 1302, 0, 566, 567, 568,
+ 569, 570, 571, 572, 0, 573, 1303, 1304, 0, 0,
+ 576, 577, 1305, 579, 1306, 1307, 581, 582, 583, 584,
+ 585, 586, 587, 588, 0, 0, 589, 590, 591, 592,
+ 593, 1309, 0, 594, 595, 596, 597, 598, 599, 1310,
+ 0, 601, 602, 603, 604, 605, 606, 0, 0, 607,
+ 0, 0, 608, 609, 610, 611, 612, 613, 614, 1311,
+ 1312, 1313, 1314, 4719, 1315, 1316, 1317, 1318, 624, 625,
+ 626, 627, 0, 0, 0, 0, 0, 0, 234, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 3245, 235, 236, 237, 238, 239,
+ 240, 241, 242, 243, 0, 244, 245, 246, 0, 0,
+ 0, 0, 0, 0, 0, 247, 248, 249, 0, 250,
+ 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
+ 261, 262, 0, 263, 264, 265, 266, 267, 268, 269,
+ 0, 1256, 270, 271, 272, 273, 274, 0, 275, 276,
+ 277, 278, 1259, 0, 1260, 0, 281, 282, 283, 284,
+ 285, 286, 287, 288, 289, 290, 0, 291, 292, 293,
+ 294, 295, 296, 0, 297, 298, 299, 300, 1261, 1262,
+ 1263, 1264, 1265, 1266, 1267, 302, 303, 304, 305, 306,
+ 307, 308, 309, 310, 0, 311, 0, 312, 313, 314,
+ 315, 316, 317, 318, 0, 319, 320, 321, 322, 0,
+ 0, 323, 324, 325, 326, 327, 0, 328, 329, 330,
+ 0, 331, 332, 333, 0, 334, 335, 336, 337, 338,
+ 339, 340, 341, 342, 1272, 0, 344, 0, 345, 346,
+ 347, 348, 349, 0, 350, 0, 351, 352, 353, 0,
+ 354, 355, 356, 357, 358, 0, 359, 1275, 0, 361,
+ 362, 363, 0, 364, 365, 366, 367, 368, 369, 370,
+ 371, 372, 373, 0, 374, 375, 376, 377, 378, 379,
+ 380, 381, 0, 382, 383, 384, 385, 386, 387, 388,
+ 389, 390, 0, 391, 0, 392, 393, 394, 395, 396,
+ 397, 1280, 1281, 1282, 1283, 402, 403, 404, 405, 406,
+ 407, 3392, 0, 408, 1284, 410, 411, 412, 0, 413,
+ 414, 415, 1285, 1286, 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, 1289, 446, 0, 447, 448, 449, 450,
+ 0, 1292, 452, 453, 454, 455, 456, 0, 457, 458,
+ 0, 839, 459, 460, 461, 0, 0, 462, 463, 464,
+ 465, 466, 467, 1295, 469, 470, 471, 472, 473, 474,
+ 475, 476, 477, 478, 0, 479, 480, 1296, 482, 483,
+ 484, 485, 486, 0, 487, 488, 489, 490, 491, 492,
+ 493, 494, 495, 496, 497, 498, 499, 500, 501, 0,
+ 502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
+ 512, 513, 514, 0, 515, 516, 517, 518, 519, 520,
+ 521, 522, 523, 3393, 525, 526, 527, 528, 529, 530,
+ 531, 532, 533, 40, 534, 535, 536, 537, 538, 1299,
+ 539, 540, 541, 542, 543, 544, 545, 546, 547, 548,
+ 0, 549, 550, 551, 552, 553, 554, 555, 556, 557,
+ 558, 559, 560, 561, 1301, 563, 0, 564, 565, 1302,
+ 44, 566, 567, 568, 569, 570, 571, 572, 0, 573,
+ 574, 575, 0, 0, 576, 577, 1305, 579, 1306, 0,
+ 581, 582, 583, 584, 585, 586, 587, 588, 0, 0,
+ 589, 590, 591, 592, 593, 1309, 0, 594, 595, 596,
+ 597, 598, 1181, 600, 0, 601, 602, 603, 604, 605,
+ 606, 0, 0, 607, 0, 49, 608, 609, 610, 611,
+ 612, 613, 614, 1311, 1312, 1313, 1314, 619, 1315, 1316,
+ 1317, 1318, 3394, 625, 626, 627, 0, 0, 0, 50,
+ 0, 0, 234, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 3395, 235,
+ 236, 237, 238, 239, 240, 241, 242, 243, 0, 244,
+ 245, 246, 0, 0, 0, 0, 0, 0, 0, 247,
+ 248, 249, 0, 250, 251, 252, 253, 254, 255, 256,
+ 257, 258, 259, 260, 261, 262, 0, 263, 264, 265,
+ 266, 267, 268, 269, 0, 1256, 270, 271, 272, 273,
+ 274, 0, 275, 276, 277, 278, 1259, 0, 1260, 0,
+ 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
+ 0, 291, 292, 293, 294, 295, 296, 0, 297, 298,
+ 299, 300, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 302,
+ 303, 304, 305, 306, 307, 308, 309, 310, 0, 311,
+ 0, 312, 313, 314, 315, 316, 317, 318, 0, 319,
+ 320, 321, 322, 0, 0, 323, 324, 325, 326, 327,
+ 0, 328, 329, 330, 0, 331, 332, 333, 0, 334,
+ 335, 336, 337, 338, 339, 340, 341, 342, 1272, 0,
+ 344, 0, 345, 346, 347, 348, 349, 0, 350, 0,
+ 351, 352, 353, 0, 354, 355, 356, 357, 358, 0,
+ 359, 1275, 0, 361, 362, 363, 0, 364, 365, 366,
+ 367, 368, 369, 370, 371, 372, 373, 0, 374, 375,
+ 376, 377, 378, 379, 380, 381, 0, 382, 383, 384,
+ 385, 386, 387, 388, 389, 390, 0, 391, 0, 392,
+ 393, 394, 395, 396, 397, 1280, 1281, 1282, 1283, 402,
+ 403, 404, 405, 406, 407, 3392, 0, 408, 1284, 410,
+ 411, 412, 0, 413, 414, 415, 1285, 1286, 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, 1289, 446, 0,
+ 447, 448, 449, 450, 0, 1292, 452, 453, 454, 455,
+ 456, 0, 457, 458, 0, 839, 459, 460, 461, 0,
+ 0, 462, 463, 464, 465, 466, 467, 1295, 469, 470,
+ 471, 472, 473, 474, 475, 476, 477, 478, 0, 479,
+ 480, 1296, 482, 483, 484, 485, 486, 0, 487, 488,
+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498,
+ 499, 500, 501, 0, 502, 503, 504, 505, 506, 507,
+ 508, 509, 510, 511, 512, 513, 514, 0, 515, 516,
+ 517, 518, 519, 520, 521, 522, 523, 3393, 525, 526,
+ 527, 528, 529, 530, 531, 532, 533, 0, 534, 535,
+ 536, 537, 538, 1299, 539, 540, 541, 542, 543, 544,
+ 545, 546, 547, 548, 0, 549, 550, 551, 552, 553,
+ 554, 555, 556, 557, 558, 559, 560, 561, 1301, 563,
+ 0, 564, 565, 1302, 0, 566, 567, 568, 569, 570,
+ 571, 572, 0, 573, 574, 575, 0, 0, 576, 577,
+ 1305, 579, 1306, 0, 581, 582, 583, 584, 585, 586,
+ 587, 588, 0, 0, 589, 590, 591, 592, 593, 1309,
+ 0, 594, 595, 596, 597, 598, 599, 600, 0, 601,
+ 602, 603, 604, 605, 606, 0, 0, 607, 0, 0,
+ 608, 609, 610, 611, 612, 613, 614, 1311, 1312, 1313,
+ 1314, 619, 1315, 1316, 1317, 1318, 3394, 625, 626, 627,
+ 0, 0, 0, 0, 0, 0, 234, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 3395, 235, 236, 237, 238, 239, 240, 241,
+ 242, 243, 0, 244, 245, 246, 0, 0, 0, 0,
+ 0, 0, 0, 247, 248, 249, 0, 250, 251, 252,
+ 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
+ 0, 263, 264, 265, 266, 267, 268, 269, 0, 1256,
+ 270, 271, 272, 273, 274, 0, 275, 276, 277, 278,
+ 1259, 0, 1260, 0, 281, 282, 283, 284, 285, 286,
+ 287, 288, 289, 290, 0, 291, 292, 293, 294, 295,
+ 296, 0, 297, 298, 299, 300, 1261, 1262, 1263, 1264,
+ 1265, 1266, 1267, 302, 303, 304, 305, 306, 307, 308,
+ 309, 310, 0, 311, 0, 312, 313, 314, 315, 316,
+ 317, 318, 0, 319, 320, 321, 322, 0, 0, 323,
+ 324, 325, 326, 327, 0, 328, 329, 330, 0, 331,
+ 332, 333, 0, 334, 335, 336, 337, 338, 339, 340,
+ 341, 342, 1272, 0, 344, 0, 345, 346, 347, 348,
+ 349, 0, 350, 0, 351, 352, 353, 0, 354, 355,
+ 356, 357, 358, 0, 359, 1275, 0, 361, 362, 363,
+ 0, 364, 365, 366, 367, 368, 369, 370, 371, 372,
+ 373, 0, 374, 375, 376, 377, 378, 379, 380, 381,
+ 0, 382, 383, 384, 385, 386, 387, 388, 389, 390,
+ 0, 391, 0, 392, 393, 394, 395, 396, 397, 1280,
+ 1281, 1282, 1283, 402, 403, 404, 405, 406, 407, 0,
+ 0, 408, 1284, 410, 411, 412, 0, 413, 414, 415,
+ 1285, 1286, 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, 1289, 446, 0, 447, 448, 449, 450, 0, 1292,
+ 452, 453, 454, 455, 456, 0, 457, 458, 0, 0,
+ 459, 460, 461, 0, 0, 462, 463, 464, 465, 466,
+ 467, 1295, 469, 470, 471, 472, 473, 474, 475, 476,
+ 477, 478, 0, 479, 480, 1296, 482, 483, 484, 485,
+ 486, 0, 487, 488, 489, 490, 491, 492, 493, 494,
+ 495, 496, 497, 498, 499, 500, 501, 0, 502, 503,
+ 504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
+ 514, 0, 515, 516, 517, 518, 519, 520, 521, 522,
+ 523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
+ 533, 0, 534, 535, 536, 537, 538, 1299, 539, 540,
+ 541, 542, 543, 544, 545, 546, 547, 548, 0, 549,
+ 550, 551, 552, 553, 554, 555, 556, 557, 558, 559,
+ 560, 561, 1301, 563, 0, 564, 565, 1302, 0, 566,
+ 567, 568, 569, 570, 571, 572, 0, 573, 574, 575,
+ 0, 0, 576, 577, 1305, 579, 1306, 0, 581, 582,
+ 583, 584, 585, 586, 587, 588, 0, 0, 589, 590,
+ 591, 592, 593, 1309, 0, 594, 595, 596, 597, 598,
+ 599, 600, 0, 601, 602, 603, 604, 605, 606, 0,
+ 0, 607, 0, 0, 608, 609, 610, 611, 612, 613,
+ 614, 1311, 1312, 1313, 1314, 619, 1315, 1316, 1317, 1318,
+ 624, 625, 626, 627, 0, 0, 0, 0, 0, 0,
+ 234, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 3831, 235, 236, 237,
+ 238, 239, 240, 241, 242, 243, 0, 244, 245, 246,
+ 0, 0, 0, 0, 0, 0, 0, 247, 248, 249,
+ 0, 250, 251, 252, 253, 254, 255, 256, 257, 258,
+ 259, 260, 261, 262, 0, 263, 264, 265, 266, 267,
+ 268, 269, 0, 1256, 270, 271, 272, 273, 274, 0,
+ 275, 276, 277, 278, 1259, 0, 1260, 0, 281, 282,
+ 283, 284, 285, 286, 287, 288, 289, 290, 0, 291,
+ 292, 293, 294, 295, 296, 0, 297, 298, 299, 300,
+ 1261, 1262, 1263, 1264, 1265, 1266, 1267, 302, 303, 304,
+ 305, 306, 307, 308, 309, 310, 0, 311, 0, 312,
+ 313, 314, 315, 316, 317, 318, 0, 319, 320, 321,
+ 322, 0, 0, 323, 324, 325, 326, 327, 0, 328,
+ 329, 330, 0, 331, 332, 333, 0, 334, 335, 336,
+ 337, 338, 339, 340, 341, 342, 1272, 0, 344, 0,
+ 345, 346, 347, 348, 349, 0, 350, 0, 351, 352,
+ 353, 0, 354, 355, 356, 357, 358, 0, 359, 1275,
+ 0, 361, 362, 363, 0, 364, 365, 366, 367, 368,
+ 369, 370, 371, 372, 373, 0, 374, 375, 376, 377,
+ 378, 379, 380, 381, 0, 382, 383, 384, 385, 386,
+ 387, 388, 389, 390, 0, 391, 0, 392, 393, 394,
+ 395, 396, 397, 1280, 1281, 1282, 1283, 402, 403, 404,
+ 405, 406, 407, 0, 0, 408, 1284, 410, 411, 412,
+ 0, 413, 414, 415, 1285, 1286, 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, 1289, 446, 0, 447, 448,
+ 449, 450, 0, 1292, 452, 453, 454, 455, 456, 0,
+ 457, 458, 0, 0, 459, 460, 461, 0, 0, 462,
+ 463, 464, 465, 466, 467, 1295, 469, 470, 471, 472,
+ 473, 474, 475, 476, 477, 478, 0, 479, 480, 1296,
+ 482, 483, 484, 485, 486, 0, 487, 488, 489, 490,
+ 491, 492, 493, 494, 495, 496, 497, 498, 499, 500,
+ 501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
+ 510, 511, 512, 513, 514, 0, 515, 516, 517, 518,
+ 519, 520, 521, 522, 523, 3393, 525, 526, 527, 528,
+ 529, 530, 531, 532, 533, 0, 534, 535, 536, 537,
+ 538, 1299, 539, 540, 541, 542, 543, 544, 545, 546,
+ 547, 548, 0, 549, 550, 551, 552, 553, 554, 555,
+ 556, 557, 558, 559, 560, 561, 1301, 563, 0, 564,
+ 565, 1302, 0, 566, 567, 568, 569, 570, 571, 572,
+ 0, 573, 574, 575, 0, 0, 576, 577, 1305, 579,
+ 1306, 0, 581, 582, 583, 584, 585, 586, 587, 588,
+ 0, 0, 589, 590, 591, 592, 593, 1309, 0, 594,
+ 595, 596, 597, 598, 599, 600, 0, 601, 602, 603,
+ 604, 605, 606, 0, 0, 607, 0, 0, 608, 609,
+ 610, 611, 612, 613, 614, 1311, 1312, 1313, 1314, 619,
+ 1315, 1316, 1317, 1318, 3394, 625, 626, 627, 0, 0,
+ 0, 0, 0, 0, 234, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 56, 235, 236, 237, 238, 239, 240, 241, 242, 243,
+ 0, 244, 245, 246, 0, 0, 0, 0, 0, 0,
+ 0, 247, 248, 249, 0, 250, 251, 252, 253, 254,
+ 255, 256, 257, 258, 259, 260, 261, 262, 0, 263,
+ 264, 265, 266, 267, 268, 269, 0, 1256, 270, 271,
+ 272, 273, 274, 0, 275, 276, 277, 278, 1259, 0,
+ 1260, 0, 281, 282, 283, 284, 285, 286, 287, 288,
+ 289, 290, 0, 291, 292, 293, 294, 295, 296, 0,
+ 297, 298, 299, 300, 1261, 1262, 1263, 1264, 1265, 1266,
+ 1267, 302, 303, 304, 305, 306, 307, 308, 309, 310,
+ 0, 311, 0, 312, 313, 314, 315, 316, 317, 318,
+ 0, 319, 320, 321, 322, 0, 0, 323, 324, 325,
+ 326, 327, 0, 328, 329, 330, 0, 331, 332, 333,
+ 0, 334, 335, 336, 337, 338, 339, 340, 341, 342,
+ 1272, 0, 344, 0, 345, 346, 347, 348, 349, 0,
+ 350, 0, 351, 352, 353, 0, 354, 355, 356, 357,
+ 358, 0, 359, 1275, 0, 361, 362, 363, 0, 364,
+ 365, 366, 367, 368, 369, 370, 371, 372, 373, 0,
+ 374, 375, 376, 377, 378, 379, 380, 381, 0, 382,
+ 383, 384, 385, 386, 387, 388, 389, 390, 0, 391,
+ 0, 392, 393, 394, 395, 396, 397, 1280, 1281, 1282,
+ 1283, 402, 403, 404, 405, 406, 407, 0, 0, 408,
+ 1284, 410, 411, 412, 0, 413, 414, 415, 1285, 1286,
+ 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, 1289,
+ 446, 0, 447, 448, 449, 450, 0, 1292, 452, 453,
+ 454, 455, 456, 0, 457, 458, 0, 0, 459, 460,
+ 461, 0, 0, 462, 463, 464, 465, 466, 467, 1295,
+ 469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
+ 0, 479, 480, 1296, 482, 483, 484, 485, 486, 0,
+ 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
+ 497, 498, 499, 500, 501, 0, 502, 503, 504, 505,
+ 506, 507, 508, 509, 510, 511, 512, 513, 514, 0,
+ 515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 0,
+ 534, 535, 536, 537, 538, 1299, 539, 540, 541, 542,
+ 543, 544, 545, 546, 547, 548, 0, 549, 550, 551,
+ 552, 553, 554, 555, 556, 557, 558, 559, 560, 561,
+ 1301, 563, 0, 564, 565, 1302, 0, 566, 567, 568,
+ 569, 570, 571, 572, 0, 573, 574, 575, 0, 0,
+ 576, 577, 1305, 579, 1306, 0, 581, 582, 583, 584,
+ 585, 586, 587, 588, 0, 0, 589, 590, 591, 592,
+ 593, 1309, 0, 594, 595, 596, 597, 598, 599, 600,
+ 0, 601, 602, 603, 604, 605, 606, 0, 0, 607,
+ 0, 0, 608, 609, 610, 611, 612, 613, 614, 1311,
+ 1312, 1313, 1314, 619, 1315, 1316, 1317, 1318, 624, 625,
+ 626, 627, 0, 0, 0, 0, 0, 0, 234, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 4780, 235, 236, 237, 238, 239,
+ 240, 241, 242, 243, 0, 244, 245, 246, 0, 0,
+ 0, 0, 0, 0, 0, 247, 248, 249, 0, 250,
+ 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
+ 261, 262, 0, 263, 264, 265, 266, 267, 268, 269,
+ 0, 1256, 270, 271, 272, 273, 274, 0, 275, 276,
+ 277, 278, 1259, 0, 1260, 0, 281, 282, 283, 284,
+ 285, 286, 287, 288, 289, 290, 0, 291, 292, 293,
+ 294, 295, 296, 0, 297, 298, 299, 300, 1261, 1262,
+ 1263, 1264, 1265, 1266, 1267, 302, 303, 304, 305, 306,
+ 307, 308, 309, 310, 0, 311, 0, 312, 313, 314,
+ 315, 316, 317, 318, 0, 319, 320, 321, 322, 0,
+ 0, 323, 324, 325, 326, 327, 0, 328, 329, 330,
+ 0, 331, 332, 333, 0, 334, 335, 336, 337, 338,
+ 339, 340, 341, 342, 1272, 0, 344, 0, 345, 346,
+ 347, 348, 349, 0, 350, 0, 351, 352, 353, 0,
+ 354, 355, 356, 357, 358, 0, 359, 1275, 0, 361,
+ 362, 363, 0, 364, 365, 366, 367, 368, 369, 370,
+ 371, 372, 373, 0, 374, 375, 376, 377, 378, 379,
+ 380, 381, 0, 382, 383, 384, 385, 386, 387, 388,
+ 389, 390, 0, 391, 0, 392, 393, 394, 395, 396,
+ 397, 1280, 1281, 1282, 1283, 402, 403, 404, 405, 406,
+ 407, 0, 0, 408, 1284, 410, 411, 412, 0, 413,
+ 414, 415, 1285, 1286, 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, 1289, 446, 0, 447, 448, 449, 450,
+ 0, 1292, 452, 453, 454, 455, 456, 0, 457, 458,
+ 0, 0, 459, 460, 461, 0, 0, 462, 463, 464,
+ 465, 466, 467, 1295, 469, 470, 471, 472, 473, 474,
+ 475, 476, 477, 478, 0, 479, 480, 1296, 482, 483,
+ 484, 485, 486, 0, 487, 488, 489, 490, 491, 492,
+ 493, 494, 495, 496, 497, 498, 499, 500, 501, 0,
+ 502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
+ 512, 513, 514, 0, 515, 516, 517, 518, 519, 520,
+ 521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
+ 531, 532, 533, 0, 534, 535, 536, 537, 538, 1299,
+ 539, 540, 541, 542, 543, 544, 545, 546, 547, 548,
+ 0, 549, 550, 551, 552, 553, 554, 555, 556, 557,
+ 558, 559, 560, 561, 1301, 563, 0, 564, 565, 1302,
+ 0, 566, 567, 568, 569, 570, 571, 572, 0, 573,
+ 574, 575, 0, 0, 576, 577, 1305, 579, 1306, 0,
+ 581, 582, 583, 584, 585, 586, 587, 588, 0, 0,
+ 589, 590, 591, 592, 593, 1309, 0, 594, 595, 596,
+ 597, 598, 599, 600, 0, 601, 602, 603, 604, 605,
+ 606, 0, 0, 607, 0, 0, 608, 609, 610, 611,
+ 612, 613, 614, 1311, 1312, 1313, 1314, 619, 1315, 1316,
+ 1317, 1318, 624, 625, 626, 627, 0, 0, 0, 0,
+ 0, 0, 942, 0, 1570, 694, 0, 0, 0, 0,
+ 755, 0, 0, 0, 0, 0, 0, 0, 5933, 235,
+ 236, 237, 238, 239, 240, 241, 242, 243, 0, 244,
+ 245, 246, 0, 0, 0, 0, 0, 0, 0, 247,
+ 248, 249, 0, 250, 251, 252, 253, 254, 255, 256,
+ 257, 258, 259, 260, 261, 262, 0, 263, 264, 265,
+ 266, 267, 268, 269, 0, 0, 270, 271, 272, 273,
+ 274, 0, 275, 276, 277, 278, 279, 0, 280, 0,
+ 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
+ 0, 291, 292, 293, 294, 295, 296, 0, 297, 298,
+ 299, 300, 0, 0, 0, 301, 0, 0, 0, 302,
+ 303, 304, 305, 306, 307, 308, 309, 310, 0, 311,
+ 0, 312, 313, 314, 315, 316, 317, 318, 0, 319,
+ 320, 321, 322, 0, 0, 323, 324, 325, 326, 327,
+ 0, 328, 329, 330, 0, 331, 332, 333, 0, 334,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, 1794,
+ 344, 0, 345, 346, 347, 348, 349, 0, 350, 0,
+ 351, 352, 353, 0, 354, 355, 356, 357, 358, 0,
+ 359, 360, 0, 361, 362, 363, 0, 364, 365, 366,
+ 367, 368, 369, 370, 371, 372, 373, 0, 374, 375,
+ 376, 377, 378, 379, 380, 381, 0, 382, 383, 384,
+ 385, 386, 387, 388, 389, 390, 0, 391, 0, 392,
+ 393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
+ 403, 404, 405, 406, 407, 0, 0, 408, 409, 410,
+ 411, 412, 0, 413, 414, 415, 0, 0, 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, 0,
+ 447, 448, 449, 450, 0, 451, 452, 453, 454, 455,
+ 456, 0, 457, 458, 1795, 0, 459, 460, 461, 0,
+ 0, 462, 463, 464, 465, 466, 467, 468, 469, 470,
+ 471, 472, 473, 474, 475, 476, 477, 478, 0, 479,
+ 480, 481, 482, 483, 484, 485, 486, 0, 487, 488,
+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498,
+ 499, 500, 501, 0, 502, 503, 504, 505, 506, 507,
+ 508, 509, 510, 511, 512, 513, 514, 0, 515, 516,
+ 517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
+ 527, 528, 529, 530, 531, 532, 533, 0, 534, 535,
+ 536, 537, 538, 0, 539, 540, 541, 542, 543, 544,
+ 545, 546, 547, 548, 0, 549, 550, 551, 552, 553,
+ 554, 555, 556, 557, 558, 559, 560, 561, 562, 563,
+ 0, 564, 565, 0, 0, 566, 567, 568, 569, 570,
+ 571, 572, 0, 573, 574, 575, 0, 0, 576, 577,
+ 578, 579, 580, 1796, 581, 582, 583, 584, 585, 586,
+ 587, 588, 0, 0, 589, 590, 591, 592, 593, 0,
+ 0, 594, 595, 596, 597, 598, 599, 600, 0, 601,
+ 602, 603, 604, 605, 606, 0, 0, 607, 0, 0,
+ 608, 609, 610, 611, 612, 613, 614, 615, 616, 617,
+ 618, 619, 620, 621, 622, 623, 624, 625, 626, 627,
+ 0, 0, 0, 0, 0, 0, 942, 0, 0, 0,
+ 0, 0, 0, 1571, 1572, 5739, 0, 0, 0, 0,
+ 0, 0, 5740, 235, 236, 237, 238, 239, 240, 241,
+ 242, 243, 0, 244, 245, 246, 3, 4, 0, 0,
+ 0, 0, 0, 247, 248, 249, 0, 250, 251, 252,
+ 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
+ 0, 263, 264, 265, 266, 267, 268, 269, 0, 0,
+ 270, 271, 272, 273, 274, 0, 275, 276, 277, 278,
+ 279, 0, 280, 0, 281, 282, 283, 284, 285, 286,
+ 287, 288, 289, 290, 0, 291, 292, 293, 294, 295,
+ 296, 0, 297, 298, 299, 300, 0, 0, 0, 301,
+ 0, 0, 0, 302, 303, 304, 305, 306, 307, 308,
+ 309, 310, 0, 311, 0, 312, 313, 314, 315, 316,
+ 317, 318, 0, 319, 320, 321, 322, 0, 0, 323,
+ 324, 325, 326, 327, 0, 328, 329, 330, 0, 331,
+ 332, 333, 0, 334, 335, 336, 337, 338, 339, 340,
+ 341, 342, 343, 0, 344, 0, 345, 346, 347, 348,
+ 349, 0, 350, 0, 351, 352, 353, 0, 354, 355,
+ 356, 357, 358, 0, 359, 360, 0, 361, 362, 363,
+ 0, 364, 365, 366, 367, 368, 369, 370, 371, 372,
+ 373, 0, 374, 375, 376, 377, 378, 379, 380, 381,
+ 0, 382, 383, 384, 385, 386, 387, 388, 389, 390,
+ 0, 391, 0, 392, 393, 394, 395, 396, 397, 398,
+ 399, 400, 401, 402, 403, 404, 405, 406, 407, 0,
+ 0, 408, 409, 410, 411, 412, 0, 413, 414, 415,
+ 0, 0, 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, 0, 447, 448, 449, 450, 0, 451,
+ 452, 453, 454, 455, 456, 0, 457, 458, 0, 0,
+ 459, 460, 461, 0, 0, 462, 463, 464, 465, 466,
+ 467, 468, 469, 470, 471, 472, 473, 474, 475, 476,
+ 477, 478, 0, 479, 480, 481, 482, 483, 484, 485,
+ 486, 0, 487, 488, 489, 490, 491, 492, 493, 494,
+ 495, 496, 497, 498, 499, 500, 501, 0, 502, 503,
+ 504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
+ 514, 0, 515, 516, 517, 518, 519, 520, 521, 522,
+ 523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
+ 533, 40, 534, 535, 536, 537, 538, 0, 539, 540,
+ 541, 542, 543, 544, 545, 546, 547, 548, 0, 549,
+ 550, 551, 552, 553, 554, 555, 556, 557, 558, 559,
+ 560, 561, 562, 563, 0, 564, 565, 0, 44, 566,
+ 567, 568, 569, 570, 571, 572, 0, 573, 574, 575,
+ 0, 0, 576, 577, 578, 579, 580, 0, 581, 582,
+ 583, 584, 585, 586, 587, 588, 0, 0, 589, 590,
+ 591, 592, 593, 0, 0, 594, 595, 596, 597, 598,
+ 1181, 600, 0, 601, 602, 603, 604, 605, 606, 0,
+ 0, 607, 0, 49, 608, 609, 610, 611, 612, 613,
+ 614, 615, 616, 617, 618, 619, 620, 621, 622, 623,
+ 624, 625, 626, 627, 1021, 0, 0, 50, 0, 0,
+ 234, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 56, 235, 236, 237,
+ 238, 239, 240, 241, 242, 243, 0, 244, 245, 246,
+ 0, 0, 0, 0, 0, 0, 0, 247, 248, 249,
+ 0, 250, 251, 252, 253, 254, 255, 256, 257, 258,
+ 259, 260, 261, 262, 0, 263, 264, 265, 266, 267,
+ 268, 269, 0, 0, 270, 271, 272, 273, 274, 0,
+ 275, 276, 277, 278, 279, 0, 280, 0, 281, 282,
+ 283, 284, 285, 286, 287, 288, 289, 290, 0, 291,
+ 292, 293, 294, 295, 296, 0, 297, 298, 299, 300,
+ 0, 0, 0, 301, 0, 0, 0, 302, 303, 304,
+ 305, 306, 307, 308, 309, 310, 0, 311, 0, 312,
+ 313, 314, 315, 316, 317, 318, 0, 319, 320, 321,
+ 322, 0, 0, 323, 324, 325, 326, 327, 0, 328,
+ 329, 330, 0, 331, 332, 333, 0, 334, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, 0, 344, 0,
+ 345, 346, 347, 348, 349, 0, 350, 0, 351, 352,
+ 353, 0, 354, 355, 356, 357, 358, 0, 359, 360,
+ 0, 361, 362, 363, 0, 364, 365, 366, 367, 368,
+ 369, 370, 371, 372, 373, 0, 374, 375, 376, 377,
+ 378, 379, 380, 381, 0, 382, 383, 384, 385, 386,
+ 387, 388, 389, 390, 0, 391, 0, 392, 393, 394,
+ 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
+ 405, 406, 407, 0, 0, 408, 409, 410, 411, 412,
+ 0, 413, 414, 415, 0, 0, 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, 0, 447, 448,
+ 449, 450, 0, 451, 452, 453, 454, 455, 456, 0,
+ 457, 458, 0, 0, 459, 460, 461, 0, 0, 462,
+ 463, 464, 465, 466, 467, 468, 469, 470, 471, 472,
+ 473, 474, 475, 476, 477, 478, 0, 479, 480, 481,
+ 482, 483, 484, 485, 486, 0, 487, 488, 489, 490,
+ 491, 492, 493, 494, 495, 496, 497, 498, 499, 500,
+ 501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
+ 510, 511, 512, 513, 514, 0, 515, 516, 517, 518,
+ 519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
+ 529, 530, 531, 532, 533, 0, 534, 535, 536, 537,
+ 538, 0, 539, 540, 541, 542, 543, 544, 545, 546,
+ 547, 548, 0, 549, 550, 551, 552, 553, 554, 555,
+ 556, 557, 558, 559, 560, 561, 562, 563, 0, 564,
+ 565, 0, 0, 566, 567, 568, 569, 570, 571, 572,
+ 0, 573, 574, 575, 0, 0, 576, 577, 578, 579,
+ 580, 0, 581, 582, 583, 584, 585, 586, 587, 588,
+ 0, 0, 589, 590, 591, 592, 593, 0, 0, 594,
+ 595, 596, 597, 598, 599, 600, 0, 601, 602, 603,
+ 604, 605, 606, 0, 0, 607, 0, 0, 608, 609,
+ 610, 611, 612, 613, 614, 615, 616, 617, 618, 619,
+ 620, 621, 622, 623, 624, 625, 626, 627, 0, 0,
+ 0, 0, 0, 0, 635, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 5509, 235, 236, 237, 238, 239, 240, 241, 242, 243,
+ 0, 244, 245, 246, 0, 0, 0, 0, 0, 0,
+ 0, 247, 248, 249, 0, 250, 251, 252, 253, 0,
+ 255, 256, 257, 258, 259, 0, 261, 262, 0, 263,
+ 264, 265, 266, 267, 268, 269, 0, 0, 270, 271,
+ 272, 273, 274, 0, 275, 276, 277, 278, 279, 0,
+ 0, 0, 281, 282, 283, 284, 285, 286, 0, 288,
+ 289, 290, 0, 291, 292, 293, 294, 295, 296, 0,
+ 0, 298, 299, 300, 0, 0, 0, 0, 0, 0,
+ 0, 302, 303, 304, 305, 306, 307, 308, 309, 310,
+ 0, 311, 0, 312, 313, 314, 315, 316, 317, 318,
+ 0, 319, 320, 321, 322, 0, 0, 323, 324, 325,
+ 326, 327, 0, 328, 329, 330, 0, 331, 332, 333,
+ 0, 334, 335, 336, 337, 338, 339, 340, 341, 342,
+ 343, 0, 344, 0, 345, 346, 347, 348, 349, 0,
+ 350, 0, 351, 352, 0, 0, 0, 355, 356, 357,
+ 358, 0, 359, 360, 0, 361, 362, 363, 0, 364,
+ 365, 366, 367, 368, 0, 370, 371, 372, 373, 0,
+ 374, 375, 376, 377, 378, 379, 380, 381, 0, 382,
+ 0, 384, 385, 386, 387, 388, 389, 390, 0, 391,
+ 0, 392, 0, 0, 395, 0, 397, 398, 399, 400,
+ 401, 402, 403, 404, 405, 406, 407, 0, 0, 408,
+ 409, 0, 411, 0, 0, 413, 414, 415, 0, 0,
+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
+ 426, 427, 428, 429, 430, 431, 432, 433, 434, 0,
+ 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
+ 446, 0, 447, 448, 0, 450, 0, 451, 452, 453,
+ 454, 455, 456, 0, 457, 458, 0, 0, 459, 460,
+ 461, 0, 0, 462, 463, 464, 0, 466, 0, 468,
+ 469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
+ 0, 479, 480, 481, 482, 483, 484, 485, 486, 0,
+ 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
+ 497, 498, 499, 500, 501, 0, 502, 503, 504, 505,
+ 506, 507, 508, 509, 510, 511, 512, 513, 514, 0,
+ 515, 516, 0, 518, 519, 520, 521, 522, 523, 524,
+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 40,
+ 534, 535, 536, 537, 538, 0, 539, 540, 541, 542,
+ 543, 0, 545, 546, 547, 548, 0, 549, 550, 551,
+ 552, 553, 554, 555, 556, 557, 558, 559, 560, 561,
+ 562, 563, 0, 564, 565, 0, 44, 566, 0, 568,
+ 569, 570, 571, 572, 0, 573, 574, 575, 0, 0,
+ 576, 577, 578, 579, 580, 0, 581, 582, 583, 584,
+ 585, 586, 587, 588, 0, 0, 589, 590, 591, 592,
+ 593, 0, 0, 594, 595, 596, 597, 598, 1181, 600,
+ 0, 601, 0, 603, 604, 605, 606, 0, 0, 607,
+ 0, 49, 608, 609, 610, 611, 612, 613, 614, 615,
+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625,
+ 626, 627, 0, 0, 0, 50, 0, 0, 635, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 56, 235, 236, 237, 238, 239,
+ 240, 241, 242, 243, 0, 244, 245, 246, 0, 0,
+ 0, 0, 0, 0, 0, 247, 248, 249, 0, 250,
+ 251, 252, 253, 0, 255, 256, 257, 258, 259, 0,
+ 261, 262, 0, 263, 264, 265, 266, 267, 268, 269,
+ 0, 0, 270, 271, 272, 273, 274, 0, 275, 276,
+ 277, 278, 279, 0, 0, 0, 281, 282, 283, 284,
+ 285, 286, 0, 288, 289, 290, 0, 291, 292, 293,
+ 294, 295, 296, 0, 0, 298, 299, 300, 0, 0,
+ 0, 2840, 0, 0, 0, 302, 303, 304, 305, 306,
+ 307, 308, 309, 310, 0, 311, 0, 312, 313, 314,
+ 315, 316, 317, 318, 0, 319, 320, 321, 322, 0,
+ 0, 323, 324, 325, 326, 327, 0, 328, 329, 330,
+ 0, 331, 332, 333, 0, 334, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, 0, 344, 0, 345, 346,
+ 347, 348, 349, 0, 350, 0, 351, 352, 0, 0,
+ 0, 355, 356, 357, 358, 0, 359, 360, 0, 361,
+ 362, 363, 0, 364, 365, 366, 367, 368, 0, 370,
+ 371, 372, 373, 0, 374, 375, 376, 377, 378, 379,
+ 380, 381, 0, 382, 0, 384, 385, 386, 387, 388,
+ 389, 390, 0, 391, 0, 392, 0, 0, 395, 0,
+ 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
+ 407, 0, 0, 408, 409, 0, 411, 0, 0, 413,
+ 414, 415, 0, 0, 416, 417, 418, 419, 420, 421,
+ 422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
+ 432, 433, 434, 0, 436, 437, 438, 439, 440, 441,
+ 442, 443, 444, 445, 446, 0, 447, 448, 0, 450,
+ 0, 451, 452, 453, 454, 455, 456, 0, 457, 458,
+ 0, 839, 459, 460, 461, 0, 0, 462, 463, 464,
+ 0, 466, 0, 468, 469, 470, 471, 472, 473, 474,
+ 475, 476, 477, 478, 0, 479, 480, 481, 482, 483,
+ 484, 485, 486, 0, 487, 488, 489, 490, 491, 492,
+ 493, 494, 495, 496, 497, 498, 499, 500, 501, 0,
+ 502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
+ 512, 513, 514, 0, 515, 516, 0, 518, 519, 520,
+ 521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
+ 531, 532, 533, 0, 534, 535, 536, 537, 538, 0,
+ 539, 540, 541, 542, 543, 0, 545, 546, 547, 548,
+ 0, 549, 550, 551, 552, 553, 554, 555, 556, 557,
+ 558, 559, 560, 561, 562, 563, 0, 564, 565, 0,
+ 2841, 2842, 0, 568, 569, 570, 571, 572, 0, 573,
+ 574, 575, 0, 0, 576, 577, 578, 579, 580, 0,
+ 581, 582, 583, 584, 585, 586, 587, 588, 0, 0,
+ 589, 590, 591, 592, 593, 0, 0, 594, 595, 596,
+ 597, 598, 599, 600, 0, 601, 0, 603, 604, 605,
+ 606, 0, 0, 607, 0, 0, 608, 609, 610, 611,
+ 612, 613, 614, 615, 616, 617, 618, 619, 620, 621,
+ 622, 623, 624, 625, 626, 627, 0, 0, 0, 0,
+ 0, 0, 635, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1828, 235,
+ 236, 237, 238, 239, 240, 241, 242, 243, 0, 244,
+ 245, 246, 0, 0, 0, 0, 0, 0, 0, 247,
+ 248, 249, 0, 250, 251, 252, 253, 0, 255, 256,
+ 257, 258, 259, 0, 261, 262, 0, 263, 264, 265,
+ 266, 267, 268, 269, 0, 0, 270, 271, 272, 273,
+ 274, 0, 275, 276, 277, 278, 279, 0, 0, 0,
+ 281, 282, 283, 284, 285, 286, 0, 288, 289, 290,
+ 0, 291, 292, 293, 294, 295, 296, 0, 0, 298,
+ 299, 300, 0, 0, 0, 0, 0, 0, 0, 302,
+ 303, 304, 305, 306, 307, 308, 309, 310, 0, 311,
+ 0, 312, 313, 314, 315, 316, 317, 318, 0, 319,
+ 320, 321, 322, 0, 0, 323, 324, 325, 326, 327,
+ 0, 328, 329, 330, 0, 331, 332, 333, 0, 334,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, 0,
+ 344, 0, 345, 346, 347, 348, 349, 0, 350, 0,
+ 351, 352, 0, 0, 0, 355, 356, 357, 358, 0,
+ 359, 360, 0, 361, 362, 363, 0, 364, 365, 366,
+ 367, 368, 0, 370, 371, 372, 373, 0, 374, 375,
+ 376, 377, 378, 379, 380, 381, 0, 382, 0, 384,
+ 385, 386, 387, 388, 389, 390, 0, 391, 0, 392,
+ 0, 0, 395, 0, 397, 398, 399, 400, 401, 402,
+ 403, 404, 405, 406, 407, 0, 0, 408, 409, 0,
+ 411, 0, 0, 413, 414, 415, 0, 0, 416, 417,
+ 418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
+ 428, 429, 430, 431, 432, 433, 434, 0, 436, 437,
+ 438, 439, 440, 441, 442, 443, 444, 445, 446, 0,
+ 447, 448, 0, 450, 0, 451, 452, 453, 454, 455,
+ 456, 0, 457, 458, 0, 0, 459, 460, 461, 0,
+ 0, 462, 463, 464, 0, 466, 0, 468, 469, 470,
+ 471, 472, 473, 474, 475, 476, 477, 478, 0, 479,
+ 480, 481, 482, 483, 484, 485, 486, 0, 487, 488,
+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498,
+ 499, 500, 501, 0, 502, 503, 504, 505, 506, 507,
+ 508, 509, 510, 511, 512, 513, 514, 0, 515, 516,
+ 0, 518, 519, 520, 521, 522, 523, 524, 525, 526,
+ 527, 528, 529, 530, 531, 532, 533, 0, 534, 535,
+ 536, 537, 538, 0, 539, 540, 541, 542, 543, 0,
+ 545, 546, 547, 548, 0, 549, 550, 551, 552, 553,
+ 554, 555, 556, 557, 558, 559, 560, 561, 562, 563,
+ 0, 564, 565, 0, 0, 566, 0, 568, 569, 570,
+ 571, 572, 0, 573, 574, 575, 0, 0, 576, 577,
+ 578, 579, 580, 0, 581, 582, 583, 584, 585, 586,
+ 587, 588, 0, 0, 589, 590, 591, 592, 593, 0,
+ 0, 594, 595, 596, 597, 598, 599, 600, 0, 601,
+ 0, 603, 604, 605, 606, 0, 0, 607, 0, 0,
+ 608, 609, 610, 611, 612, 613, 614, 615, 616, 617,
+ 618, 619, 620, 621, 622, 623, 624, 625, 626, 627,
+ 0, 0, 0, 0, 0, 0, 635, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1382, 235, 236, 237, 238, 239, 240, 241,
+ 242, 243, 0, 244, 245, 246, 0, 0, 0, 0,
+ 0, 0, 0, 247, 248, 249, 0, 250, 251, 252,
+ 253, 0, 255, 256, 257, 258, 259, 0, 261, 262,
+ 0, 263, 264, 265, 266, 267, 268, 269, 0, 0,
+ 270, 271, 272, 273, 274, 0, 275, 276, 277, 278,
+ 279, 0, 0, 0, 281, 282, 283, 284, 285, 286,
+ 0, 288, 289, 290, 0, 291, 292, 293, 294, 295,
+ 296, 0, 0, 298, 299, 300, 0, 0, 0, 0,
+ 0, 0, 0, 302, 303, 304, 305, 306, 307, 308,
+ 309, 310, 0, 311, 0, 312, 313, 314, 315, 316,
+ 317, 318, 0, 319, 320, 321, 322, 0, 0, 323,
+ 324, 325, 326, 327, 0, 328, 329, 330, 0, 331,
+ 332, 333, 0, 334, 335, 336, 337, 338, 339, 340,
+ 341, 342, 343, 0, 344, 0, 345, 346, 347, 348,
+ 349, 0, 350, 0, 351, 352, 0, 0, 0, 355,
+ 356, 357, 358, 0, 359, 360, 0, 361, 362, 363,
+ 0, 364, 365, 366, 367, 368, 0, 370, 371, 372,
+ 373, 0, 374, 375, 376, 377, 378, 379, 380, 381,
+ 0, 382, 0, 384, 385, 386, 387, 388, 389, 390,
+ 0, 391, 0, 392, 0, 0, 395, 0, 397, 398,
+ 399, 400, 401, 402, 403, 404, 405, 406, 407, 0,
+ 0, 408, 409, 0, 411, 0, 0, 413, 414, 415,
+ 0, 0, 416, 417, 418, 419, 420, 421, 422, 423,
+ 424, 425, 426, 427, 428, 429, 430, 431, 432, 433,
+ 434, 0, 436, 437, 438, 439, 440, 441, 442, 443,
+ 444, 445, 446, 0, 447, 448, 0, 450, 0, 451,
+ 452, 453, 454, 455, 456, 0, 457, 458, 0, 0,
+ 459, 460, 461, 0, 0, 462, 463, 464, 0, 466,
+ 0, 468, 469, 470, 471, 472, 473, 474, 475, 476,
+ 477, 478, 0, 479, 480, 481, 482, 483, 484, 485,
+ 486, 0, 487, 488, 489, 490, 491, 492, 493, 494,
+ 495, 496, 497, 498, 499, 500, 501, 0, 502, 503,
+ 504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
+ 514, 0, 515, 516, 0, 518, 519, 520, 521, 522,
+ 523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
+ 533, 0, 534, 535, 536, 537, 538, 0, 539, 540,
+ 541, 542, 543, 0, 545, 546, 547, 548, 0, 549,
+ 550, 551, 552, 553, 554, 555, 556, 557, 558, 559,
+ 560, 561, 562, 563, 0, 564, 565, 0, 0, 566,
+ 0, 568, 569, 570, 571, 572, 0, 573, 574, 575,
+ 0, 0, 576, 577, 578, 579, 580, 0, 581, 582,
+ 583, 584, 585, 586, 587, 588, 0, 0, 589, 590,
+ 591, 592, 593, 0, 0, 594, 595, 596, 597, 598,
+ 599, 600, 0, 601, 0, 603, 604, 605, 606, 0,
+ 0, 607, 0, 0, 608, 609, 610, 611, 612, 613,
+ 614, 615, 616, 617, 618, 619, 620, 621, 622, 623,
+ 624, 625, 626, 627, 0, 0, 0, 0, 0, 0,
+ 635, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 3452, 235, 236, 237,
+ 238, 239, 240, 241, 242, 243, 0, 244, 245, 246,
+ 0, 0, 0, 0, 0, 0, 0, 247, 248, 249,
+ 0, 250, 251, 252, 253, 0, 255, 256, 257, 258,
+ 259, 0, 261, 262, 0, 263, 264, 265, 266, 267,
+ 268, 269, 0, 0, 270, 271, 272, 273, 274, 0,
+ 275, 276, 277, 278, 279, 0, 0, 0, 281, 282,
+ 283, 284, 285, 286, 0, 288, 289, 290, 0, 291,
+ 292, 293, 294, 295, 296, 0, 0, 298, 299, 300,
+ 0, 0, 0, 0, 0, 0, 0, 302, 303, 304,
+ 305, 306, 307, 308, 309, 310, 0, 311, 0, 312,
+ 313, 314, 315, 316, 317, 318, 0, 319, 320, 321,
+ 322, 0, 0, 323, 324, 325, 326, 327, 0, 328,
+ 329, 330, 0, 331, 332, 333, 0, 334, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, 0, 344, 0,
+ 345, 346, 347, 348, 349, 0, 350, 0, 351, 352,
+ 0, 0, 0, 355, 356, 357, 358, 0, 359, 360,
+ 0, 361, 362, 363, 0, 364, 365, 366, 367, 368,
+ 0, 370, 371, 372, 373, 0, 374, 375, 376, 377,
+ 378, 379, 380, 381, 0, 382, 0, 384, 385, 386,
+ 387, 388, 389, 390, 0, 391, 0, 392, 0, 0,
+ 395, 0, 397, 398, 399, 400, 401, 402, 403, 404,
+ 405, 406, 407, 0, 0, 408, 409, 0, 411, 0,
+ 0, 413, 414, 415, 0, 0, 416, 417, 418, 419,
+ 420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
+ 430, 431, 432, 433, 434, 0, 436, 437, 438, 439,
+ 440, 441, 442, 443, 444, 445, 446, 0, 447, 448,
+ 0, 450, 0, 451, 452, 453, 454, 455, 456, 0,
+ 457, 458, 0, 0, 459, 460, 461, 0, 0, 462,
+ 463, 464, 0, 466, 0, 468, 469, 470, 471, 472,
+ 473, 474, 475, 476, 477, 478, 0, 479, 480, 481,
+ 482, 483, 484, 485, 486, 0, 487, 488, 489, 490,
+ 491, 492, 493, 494, 495, 496, 497, 498, 499, 500,
+ 501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
+ 510, 511, 512, 513, 514, 0, 515, 516, 0, 518,
+ 519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
+ 529, 530, 531, 532, 533, 0, 534, 535, 536, 537,
+ 538, 0, 539, 540, 541, 542, 543, 0, 545, 546,
+ 547, 548, 0, 549, 550, 551, 552, 553, 554, 555,
+ 556, 557, 558, 559, 560, 561, 562, 563, 0, 564,
+ 565, 0, 0, 566, 0, 568, 569, 570, 571, 572,
+ 0, 573, 574, 575, 0, 0, 576, 577, 578, 579,
+ 580, 0, 581, 582, 583, 584, 585, 586, 587, 588,
+ 0, 0, 589, 590, 591, 592, 593, 0, 0, 594,
+ 595, 596, 597, 598, 599, 600, 0, 601, 0, 603,
+ 604, 605, 606, 0, 0, 607, 0, 0, 608, 609,
+ 610, 611, 612, 613, 614, 615, 616, 617, 618, 619,
+ 620, 621, 622, 623, 624, 625, 626, 627, 0, 0,
+ 0, 0, 0, 0, 635, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 4112, 235, 236, 237, 238, 239, 240, 241, 242, 243,
+ 0, 244, 245, 246, 0, 0, 0, 0, 0, 0,
+ 0, 247, 248, 249, 0, 250, 251, 252, 253, 0,
+ 255, 256, 257, 258, 259, 0, 261, 262, 0, 263,
+ 264, 265, 266, 267, 268, 269, 0, 0, 270, 271,
+ 272, 273, 274, 0, 275, 276, 277, 278, 279, 0,
+ 0, 0, 281, 282, 283, 284, 285, 286, 0, 288,
+ 289, 290, 0, 291, 292, 293, 294, 295, 296, 0,
+ 0, 298, 299, 300, 0, 0, 0, 0, 0, 0,
+ 0, 302, 303, 304, 305, 306, 307, 308, 309, 310,
+ 0, 311, 0, 312, 313, 314, 315, 316, 317, 318,
+ 0, 319, 320, 321, 322, 0, 0, 323, 324, 325,
+ 326, 327, 0, 328, 329, 330, 0, 331, 332, 333,
+ 0, 334, 335, 336, 337, 338, 339, 340, 341, 342,
+ 343, 0, 344, 0, 345, 346, 347, 348, 349, 0,
+ 350, 0, 351, 352, 0, 0, 0, 355, 356, 357,
+ 358, 0, 359, 360, 0, 361, 362, 363, 0, 364,
+ 365, 366, 367, 368, 0, 370, 371, 372, 373, 0,
+ 374, 375, 376, 377, 378, 379, 380, 381, 0, 382,
+ 0, 384, 385, 386, 387, 388, 389, 390, 0, 391,
+ 0, 392, 0, 0, 395, 0, 397, 398, 399, 400,
+ 401, 402, 403, 404, 405, 406, 407, 0, 0, 408,
+ 409, 0, 411, 0, 0, 413, 414, 415, 0, 0,
+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
+ 426, 427, 428, 429, 430, 431, 432, 433, 434, 0,
+ 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
+ 446, 0, 447, 448, 0, 450, 0, 451, 452, 453,
+ 454, 455, 456, 0, 457, 458, 0, 0, 459, 460,
+ 461, 0, 0, 462, 463, 464, 0, 466, 0, 468,
+ 469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
+ 0, 479, 480, 481, 482, 483, 484, 485, 486, 0,
+ 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
+ 497, 498, 499, 500, 501, 0, 502, 503, 504, 505,
+ 506, 507, 508, 509, 510, 511, 512, 513, 514, 0,
+ 515, 516, 0, 518, 519, 520, 521, 522, 523, 524,
+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 0,
+ 534, 535, 536, 537, 538, 0, 539, 540, 541, 542,
+ 543, 0, 545, 546, 547, 548, 0, 549, 550, 551,
+ 552, 553, 554, 555, 556, 557, 558, 559, 560, 561,
+ 562, 563, 0, 564, 565, 0, 0, 566, 0, 568,
+ 569, 570, 571, 572, 0, 573, 574, 575, 0, 0,
+ 576, 577, 578, 579, 580, 0, 581, 582, 583, 584,
+ 585, 586, 587, 588, 0, 0, 589, 590, 591, 592,
+ 593, 0, 0, 594, 595, 596, 597, 598, 599, 600,
+ 0, 601, 0, 603, 604, 605, 606, 0, 0, 607,
+ 0, 0, 608, 609, 610, 611, 612, 613, 614, 615,
+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625,
+ 626, 627, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 856, 0, 1570, 694, 0, 0, 0, 957, 755,
+ 0, 0, 0, 0, 4736, 958, 959, 960, 235, 236,
+ 237, 238, 239, 240, 241, 242, 243, 1706, 244, 245,
+ 246, 1707, 1708, 1709, 1710, 1711, 1712, 1713, 247, 248,
+ 249, 1714, 250, 251, 252, 253, 254, 255, 256, 257,
+ 0, 857, 260, 858, 859, 1715, 263, 264, 265, 266,
+ 267, 268, 269, 1716, 1717, 270, 271, 860, 861, 274,
+ 1718, 275, 276, 277, 278, 0, 1719, 280, 1720, 281,
+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 1721,
+ 291, 292, 293, 294, 295, 296, 1722, 297, 298, 299,
+ 300, 1723, 1724, 1725, 301, 1726, 1727, 1728, 302, 303,
+ 304, 305, 306, 307, 862, 863, 310, 1729, 311, 1730,
+ 312, 313, 314, 315, 316, 317, 318, 1731, 319, 320,
+ 321, 322, 1732, 1733, 323, 324, 864, 326, 327, 1734,
+ 328, 329, 330, 1735, 331, 332, 333, 1736, 334, 335,
+ 336, 337, 0, 339, 340, 341, 342, 0, 1737, 344,
+ 1738, 345, 346, 347, 865, 349, 1739, 350, 1740, 351,
+ 352, 353, 1741, 354, 355, 356, 357, 358, 1742, 359,
+ 0, 1743, 0, 362, 363, 1744, 364, 365, 366, 367,
+ 368, 369, 370, 371, 372, 373, 1745, 374, 375, 376,
+ 377, 378, 379, 380, 381, 1746, 382, 383, 0, 385,
+ 386, 387, 388, 866, 867, 1747, 868, 1748, 392, 393,
+ 394, 395, 396, 397, 0, 0, 0, 0, 402, 403,
+ 404, 405, 406, 407, 1749, 1750, 408, 0, 410, 411,
+ 412, 1751, 413, 414, 415, 1752, 1753, 416, 417, 418,
+ 419, 420, 421, 422, 423, 424, 425, 426, 427, 428,
+ 429, 430, 431, 432, 433, 869, 435, 870, 437, 438,
+ 439, 440, 441, 442, 443, 4426, 0, 446, 1754, 447,
+ 448, 449, 450, 1755, 0, 452, 871, 454, 455, 456,
+ 1756, 457, 458, 1757, 1758, 4427, 460, 461, 1759, 1760,
+ 462, 463, 0, 465, 466, 467, 0, 469, 470, 471,
+ 472, 473, 474, 475, 476, 477, 478, 1761, 479, 480,
+ 0, 482, 0, 484, 485, 486, 1762, 487, 488, 489,
+ 490, 491, 492, 493, 494, 495, 496, 872, 498, 499,
+ 500, 501, 1763, 502, 503, 504, 505, 506, 507, 508,
+ 509, 510, 511, 512, 513, 514, 1764, 515, 516, 517,
+ 518, 519, 520, 521, 522, 0, 524, 525, 526, 527,
+ 528, 529, 530, 531, 532, 533, 1765, 534, 535, 536,
+ 537, 538, 1766, 539, 540, 2670, 542, 543, 544, 545,
+ 546, 874, 548, 1767, 549, 550, 551, 552, 553, 554,
+ 555, 556, 557, 558, 559, 560, 561, 0, 563, 1768,
+ 564, 565, 1769, 1770, 566, 567, 568, 569, 570, 571,
+ 572, 1771, 573, 875, 876, 1772, 1773, 576, 577, 0,
+ 579, 0, 1774, 581, 582, 583, 584, 585, 586, 587,
+ 588, 1775, 1776, 589, 590, 591, 592, 593, 1777, 1778,
+ 594, 595, 596, 597, 598, 0, 877, 1779, 601, 602,
+ 603, 604, 605, 606, 1780, 1781, 607, 1782, 1783, 608,
+ 609, 610, 611, 612, 613, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 625, 626, 627, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 963,
+ 964, 965, 4428, 4429, 968, 969, 970, 971, 856, 0,
+ 1570, 694, 0, 0, 0, 957, 755, 0, 0, 0,
+ 0, 0, 958, 959, 960, 235, 236, 237, 238, 239,
+ 240, 241, 242, 243, 1706, 244, 245, 246, 1707, 1708,
+ 1709, 1710, 1711, 1712, 1713, 247, 248, 249, 1714, 250,
+ 251, 252, 253, 254, 255, 256, 257, 0, 857, 260,
+ 858, 859, 1715, 263, 264, 265, 266, 267, 268, 269,
+ 1716, 1717, 270, 271, 860, 861, 274, 1718, 275, 276,
+ 277, 278, 0, 1719, 280, 1720, 281, 282, 283, 284,
+ 285, 286, 287, 288, 289, 290, 1721, 291, 292, 293,
+ 294, 295, 296, 1722, 297, 298, 299, 300, 1723, 1724,
+ 1725, 301, 1726, 1727, 1728, 302, 303, 304, 305, 306,
+ 307, 862, 863, 310, 1729, 311, 1730, 312, 313, 314,
+ 315, 316, 317, 318, 1731, 319, 320, 321, 322, 1732,
+ 1733, 323, 324, 864, 326, 327, 1734, 328, 329, 330,
+ 1735, 331, 332, 333, 1736, 334, 335, 336, 337, 0,
+ 339, 340, 341, 342, 0, 1737, 344, 1738, 345, 346,
+ 347, 865, 349, 1739, 350, 1740, 351, 352, 353, 1741,
+ 354, 355, 356, 357, 358, 1742, 359, 0, 1743, 0,
+ 362, 363, 1744, 364, 365, 366, 367, 368, 369, 370,
+ 371, 372, 373, 1745, 374, 375, 376, 377, 378, 379,
+ 380, 381, 1746, 382, 383, 0, 385, 386, 387, 388,
+ 866, 867, 1747, 868, 1748, 392, 393, 394, 395, 396,
+ 397, 0, 0, 0, 0, 402, 403, 404, 405, 406,
+ 407, 1749, 1750, 408, 0, 410, 411, 412, 1751, 413,
+ 414, 415, 1752, 1753, 416, 417, 418, 419, 420, 421,
+ 422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
+ 432, 433, 869, 435, 870, 437, 438, 439, 440, 441,
+ 442, 443, 4874, 0, 446, 1754, 447, 448, 449, 450,
+ 1755, 0, 452, 871, 454, 455, 456, 1756, 457, 458,
+ 1757, 1758, 4427, 460, 461, 1759, 1760, 462, 463, 0,
+ 465, 466, 467, 0, 469, 470, 471, 472, 473, 474,
+ 475, 476, 477, 478, 1761, 479, 480, 0, 482, 0,
+ 484, 485, 486, 1762, 487, 488, 489, 490, 491, 492,
+ 493, 494, 495, 496, 872, 498, 499, 500, 501, 1763,
+ 502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
+ 512, 513, 514, 1764, 515, 516, 517, 518, 519, 520,
+ 521, 522, 0, 524, 525, 526, 527, 528, 529, 530,
+ 531, 532, 533, 1765, 534, 535, 536, 537, 538, 1766,
+ 539, 540, 2670, 542, 543, 544, 545, 546, 874, 548,
+ 1767, 549, 550, 551, 552, 553, 554, 555, 556, 557,
+ 558, 559, 560, 561, 0, 563, 1768, 564, 565, 1769,
+ 1770, 566, 567, 568, 569, 570, 571, 572, 1771, 573,
+ 875, 876, 1772, 1773, 576, 577, 0, 579, 0, 1774,
+ 581, 582, 583, 584, 585, 586, 587, 588, 1775, 1776,
+ 589, 590, 591, 592, 593, 1777, 1778, 594, 595, 596,
+ 597, 598, 0, 877, 1779, 601, 602, 603, 604, 605,
+ 606, 1780, 1781, 607, 1782, 1783, 608, 609, 610, 611,
+ 612, 613, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 625, 626, 627, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 963, 964, 965, 4428,
+ 4429, 968, 969, 970, 971, 2068, 0, 0, 0, 0,
+ 0, 0, 2069, 0, 0, 2070, 0, 0, 0, 2071,
+ 2072, 2073, 2074, 2075, 2076, 2077, 2078, 2079, 2080, 2081,
+ 2082, 2083, 2084, 2085, 2086, 2087, 2088, 2089, 2090, 0,
+ 2091, 2092, 2093, 2094, 2095, 2096, 2097, 2098, 2099, 2100,
+ 2101, 2102, 2103, 2104, 2105, 2106, 2107, 2108, 2109, 2110,
+ 2111, 2112, 2113, 2114, 2115, 2116, 2117, 2118, 2119, 2120,
+ 2121, 0, 0, 2122, 2123, 2124, 2125, 2126, 2127, 2128,
+ 2129, 2130, 2131, 2132, 2133, 2134, 2135, 2136, 2137, 2138,
+ 2139, 2140, 2141, 2142, 2143, 2144, 2145, 2146, 2147, 2148,
+ 0, 2149, 2150, 2151, 2152, 2153, 2154, 2155, 2156, 2157,
+ 2158, 2159, 2160, 2161, 2162, 2163, 0, 2164, 2165, 2166,
+ 2167, 2168, 2169, 2170, 2171, 2172, 2173, 2174, 2175, 2176,
+ 2177, 2178, 2179, 2180, 2181, 2182, 2183, 2184, 2185, 2186,
+ 2187, 2188, 2189, 2190, 2191, 2192, 2193, 2194, 2195, 2196,
+ 2197, 0, 2198, 2199, 2200, 2201, 2202, 2203, 2204, 2205,
+ 2206, 2207, 2208, 2209, 0, 0, 2210, 2211, 2212, 2213,
+ 0, 2214, 2215, 2216, 2217, 2218, 0, 2219, 2220, 2221,
+ 2222, 2223, 0, 2224, 2225, 0, 2226, 2227, 2228, 0,
+ 2229, 2230, 0, 2231, 2232, 2233, 2234, 2235, 2236, 2237,
+ 2238, 2239, 2240, 2241, 2242, 2243, 2244, 2245, 2246, 2247,
+ 2248, 2249, 2250, 2251, 2252, 2253, 2254, 2255, 2256, 0,
+ 2257, 0, 2258, 2259, 2260, 2261, 2262, 2263, 2264, 2265,
+ 2266, 2267, 2268, 2269, 2270, 2271, 2272, 2273, 2274, 2275,
+ 2276, 2277, 2278, 2279, 2280, 0, 2281, 2282, 2283, 2284,
+ 2285, 2286, 2287, 2288, 2289, 2290, 2291, 2292, 2293, 2294,
+ 2295, 2296, 0, 2297, 2298, 0, 2299, 2300, 2301, 2302,
+ 2303, 2304, 2305, 2306, 2307, 2308, 2309, 2310, 2311, 2312,
+ 2313, 2314, 2315, 2316, 2317, 2318, 2319, 2320, 2321, 2322,
+ 2323, 2324, 2325, 2326, 0, 2327, 2328, 0, 2329, 2330,
+ 2331, 2332, 2333, 0, 2334, 2335, 2336, 2337, 0, 0,
+ 2338, 2339, 2340, 2341, 2342, 2343, 2344, 2345, 2346, 2347,
+ 2348, 2349, 2350, 2351, 2352, 2353, 0, 2354, 2355, 2356,
+ 2357, 2358, 2359, 2360, 2361, 2362, 2363, 2364, 2365, 2366,
+ 2367, 2368, 2369, 2370, 2371, 2372, 2373, 2374, 2375, 2376,
+ 2377, 2378, 2379, 2380, 2381, 2382, 2383, 2384, 2385, 2386,
+ 0, 2387, 2388, 2389, 2390, 2391, 2392, 2393, 2394, 2395,
+ 2396, 2397, 2398, 2399, 2400, 2401, 2402, 2403, 0, 2404,
+ 2405, 2406, 2407, 2408, 2409, 2410, 2411, 2412, 2413, 2414,
+ 2415, 2416, 2417, 2418, 2419, 2420, 2421, 2422, 2423, 2424,
+ 2425, 2426, 2427, 2428, 2429, 2430, 2431, 2432, 2433, 2434,
+ 2435, 2436, 2437, 2438, 2439, 2440, 2441, 2442, 2443, 2444,
+ 2445, 2446, 2447, 2448, 2449, 2450, 2451, 2452, 2453, 0,
+ 2454, 2455, 2456, 2457, 2458, 2459, 2460, 2461, 2462, 2463,
+ 2464, 2465, 2466, 2467, 2468, 0, 2469, 2470, 2471, 2472,
+ 2473, 2474, 2475, 2476, 2477, 2478, 2479, 2480, 2481, 2482,
+ 2483, 2484, 0, 2485, 2486, 2487, 2488, 2489, 2490, 0,
+ 2491, 0, 0, 0, 0, 2492, 2493, 2494, 2495, 2496,
+ 2497, 2498, 2499, 2500, 2501, 2502, 2503, 2504, 2505, 2506,
+ 0, 2507, 2508, 0, 2509, 0, 0, 0, 0, 0,
+ 0, 0, 0, 2510, 2511, 2512, 2513, 2514, 2515, 2516,
+ 2517, 2518, 635, 0, 0, 0, 0, 0, 0, 957,
+ 0, 0, 0, 0, 0, 0, 958, 959, 960, 235,
+ 236, 237, 238, 239, 240, 241, 242, 243, 0, 244,
+ 245, 246, 0, 0, 0, 0, 0, 0, 0, 247,
+ 248, 249, 0, 250, 251, 252, 253, 0, 255, 256,
+ 257, 258, 259, 0, 261, 262, 0, 263, 264, 265,
+ 266, 267, 268, 269, 0, 0, 270, 271, 272, 273,
+ 274, 0, 275, 961, 277, 278, 279, 0, 0, 0,
+ 281, 282, 283, 284, 285, 286, 0, 288, 289, 290,
+ 0, 291, 292, 293, 294, 295, 296, 0, 0, 298,
+ 299, 300, 0, 0, 0, 0, 0, 0, 0, 302,
+ 303, 304, 305, 306, 307, 308, 309, 310, 0, 311,
+ 0, 312, 313, 314, 315, 316, 317, 318, 0, 319,
+ 320, 321, 322, 0, 0, 323, 324, 325, 326, 327,
+ 0, 328, 329, 330, 0, 331, 332, 333, 0, 334,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, 0,
+ 962, 0, 345, 346, 347, 348, 349, 0, 350, 0,
+ 351, 352, 0, 0, 0, 355, 356, 357, 358, 0,
+ 359, 360, 0, 361, 362, 363, 0, 364, 365, 366,
+ 367, 368, 0, 370, 371, 372, 373, 0, 374, 375,
+ 376, 377, 378, 379, 380, 381, 0, 382, 0, 384,
+ 385, 386, 387, 388, 389, 390, 0, 391, 0, 392,
+ 0, 0, 395, 0, 397, 398, 399, 400, 401, 402,
+ 403, 404, 405, 406, 407, 0, 0, 408, 409, 0,
+ 411, 0, 0, 413, 414, 415, 0, 0, 416, 417,
+ 418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
+ 428, 429, 430, 431, 432, 433, 434, 0, 436, 437,
+ 438, 439, 440, 441, 442, 443, 444, 445, 446, 0,
+ 447, 448, 0, 450, 0, 451, 452, 453, 454, 455,
+ 456, 0, 457, 458, 0, 0, 459, 460, 461, 0,
+ 0, 462, 463, 464, 0, 466, 0, 468, 469, 470,
+ 471, 472, 473, 474, 475, 476, 477, 478, 0, 479,
+ 480, 481, 482, 483, 484, 485, 486, 0, 487, 488,
+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498,
+ 499, 500, 501, 0, 502, 503, 504, 505, 506, 507,
+ 508, 509, 510, 511, 512, 513, 514, 0, 515, 516,
+ 0, 518, 519, 520, 521, 522, 523, 524, 525, 526,
+ 527, 528, 529, 530, 531, 532, 533, 0, 534, 535,
+ 536, 537, 538, 0, 539, 540, 541, 542, 543, 0,
+ 545, 546, 547, 548, 0, 549, 550, 551, 552, 553,
+ 554, 555, 556, 557, 558, 559, 560, 561, 562, 563,
+ 0, 564, 565, 0, 0, 566, 0, 568, 569, 570,
+ 571, 572, 0, 573, 574, 575, 0, 0, 576, 577,
+ 578, 579, 580, 0, 581, 582, 583, 584, 585, 586,
+ 587, 588, 0, 0, 589, 590, 591, 592, 593, 0,
+ 0, 594, 595, 596, 597, 598, 599, 600, 0, 601,
+ 0, 603, 604, 605, 606, 0, 0, 607, 0, 0,
+ 608, 609, 610, 611, 612, 613, 614, 615, 616, 617,
+ 618, 619, 620, 621, 622, 623, 624, 625, 626, 627,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 963, 964, 965, 966, 967, 968, 969, 970, 971, 635,
+ 0, 0, 0, 0, 0, 0, 957, 0, 0, 0,
+ 0, 0, 0, 958, 959, 960, 235, 236, 237, 238,
+ 239, 240, 241, 242, 243, 0, 244, 245, 246, 0,
+ 0, 0, 0, 0, 0, 0, 247, 248, 249, 0,
+ 250, 251, 252, 253, 0, 255, 256, 257, 258, 259,
+ 0, 261, 262, 0, 263, 264, 265, 266, 267, 268,
+ 269, 0, 0, 270, 271, 272, 273, 274, 0, 275,
+ 1078, 277, 278, 279, 0, 0, 0, 281, 282, 283,
+ 284, 285, 286, 0, 288, 289, 290, 0, 291, 292,
+ 293, 294, 295, 296, 0, 0, 298, 299, 300, 0,
+ 0, 0, 0, 0, 0, 0, 302, 303, 304, 305,
+ 306, 307, 308, 309, 310, 0, 311, 0, 312, 313,
+ 314, 315, 316, 317, 318, 0, 319, 320, 321, 322,
+ 0, 0, 323, 324, 325, 326, 327, 0, 328, 329,
+ 330, 0, 331, 332, 333, 0, 334, 335, 336, 337,
+ 338, 339, 340, 341, 342, 343, 0, 1079, 0, 345,
+ 346, 347, 348, 349, 0, 350, 0, 351, 352, 0,
+ 0, 0, 355, 356, 357, 358, 0, 359, 360, 0,
+ 361, 362, 363, 0, 364, 365, 366, 367, 368, 0,
+ 370, 371, 372, 373, 0, 374, 375, 376, 377, 378,
+ 379, 380, 381, 0, 382, 0, 384, 385, 386, 387,
+ 388, 389, 390, 0, 391, 0, 392, 0, 0, 395,
+ 0, 397, 398, 399, 400, 401, 402, 403, 404, 405,
+ 406, 407, 0, 0, 408, 409, 0, 411, 0, 0,
+ 413, 414, 415, 0, 0, 416, 417, 418, 419, 420,
+ 421, 422, 423, 424, 425, 426, 427, 428, 429, 430,
+ 431, 432, 433, 434, 0, 436, 437, 438, 439, 440,
+ 441, 442, 443, 444, 445, 446, 0, 447, 448, 0,
+ 450, 0, 451, 452, 453, 454, 455, 456, 0, 457,
+ 458, 0, 0, 459, 460, 461, 0, 0, 462, 463,
+ 464, 0, 466, 0, 468, 469, 470, 471, 472, 473,
+ 474, 475, 476, 477, 478, 0, 479, 480, 481, 482,
+ 483, 484, 485, 486, 0, 487, 488, 489, 490, 491,
+ 492, 493, 494, 495, 496, 497, 498, 499, 500, 501,
+ 0, 502, 503, 504, 505, 506, 507, 508, 509, 510,
+ 511, 512, 513, 514, 0, 515, 516, 0, 518, 519,
+ 520, 521, 522, 523, 524, 525, 526, 527, 528, 529,
+ 530, 531, 532, 533, 0, 534, 535, 536, 537, 538,
+ 0, 539, 540, 541, 542, 543, 0, 545, 546, 547,
+ 548, 0, 549, 550, 551, 552, 553, 554, 555, 556,
+ 557, 558, 559, 560, 561, 562, 563, 0, 564, 565,
+ 0, 0, 566, 0, 568, 569, 570, 571, 572, 0,
+ 573, 574, 575, 0, 0, 576, 577, 578, 579, 580,
+ 0, 581, 582, 583, 584, 585, 586, 587, 588, 0,
+ 0, 589, 590, 591, 592, 593, 0, 0, 594, 595,
+ 596, 597, 598, 599, 600, 0, 601, 0, 603, 604,
+ 605, 606, 0, 0, 607, 0, 0, 608, 609, 610,
+ 611, 612, 613, 614, 615, 616, 617, 618, 619, 620,
+ 621, 622, 623, 624, 625, 626, 627, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 963, 964, 965,
+ 966, 967, 968, 969, 970, 971, 635, 0, 0, 0,
+ 0, 0, 0, 957, 0, 0, 0, 0, 0, 0,
+ 958, 959, 960, 235, 236, 237, 238, 239, 240, 241,
+ 242, 243, 0, 244, 245, 246, 0, 0, 0, 0,
+ 0, 0, 0, 247, 248, 249, 0, 250, 251, 252,
+ 253, 0, 255, 256, 257, 258, 259, 0, 261, 262,
+ 0, 263, 264, 265, 266, 267, 268, 269, 0, 0,
+ 270, 271, 272, 273, 274, 0, 275, 1144, 277, 278,
+ 279, 0, 0, 0, 281, 282, 283, 284, 285, 286,
+ 0, 288, 289, 290, 0, 291, 292, 293, 294, 295,
+ 296, 0, 0, 298, 299, 300, 0, 0, 0, 0,
+ 0, 0, 0, 302, 303, 304, 305, 306, 307, 308,
+ 309, 310, 0, 311, 0, 312, 313, 314, 315, 316,
+ 317, 318, 0, 319, 320, 321, 322, 0, 0, 323,
+ 324, 325, 326, 327, 0, 328, 329, 330, 0, 331,
+ 332, 333, 0, 334, 335, 336, 337, 338, 339, 340,
+ 341, 342, 343, 0, 1145, 0, 345, 346, 347, 348,
+ 349, 0, 350, 0, 351, 352, 0, 0, 0, 355,
+ 356, 357, 358, 0, 359, 360, 0, 361, 362, 363,
+ 0, 364, 365, 366, 367, 1146, 0, 370, 371, 372,
+ 373, 0, 374, 375, 376, 377, 378, 379, 380, 381,
+ 0, 382, 0, 384, 385, 386, 387, 388, 389, 390,
+ 0, 391, 0, 392, 0, 0, 395, 0, 397, 398,
+ 399, 400, 401, 402, 403, 404, 405, 406, 407, 0,
+ 0, 408, 409, 0, 411, 0, 0, 413, 414, 415,
+ 0, 0, 416, 417, 418, 419, 420, 421, 422, 423,
+ 424, 425, 426, 427, 428, 429, 430, 431, 432, 433,
+ 434, 0, 436, 437, 438, 439, 440, 441, 442, 443,
+ 444, 445, 446, 0, 447, 448, 0, 450, 0, 451,
+ 452, 453, 454, 455, 456, 0, 457, 458, 0, 0,
+ 459, 460, 461, 0, 0, 462, 463, 464, 0, 466,
+ 0, 468, 469, 470, 471, 472, 473, 474, 475, 476,
+ 477, 478, 0, 479, 480, 481, 482, 483, 484, 485,
+ 486, 0, 487, 488, 489, 490, 491, 492, 493, 494,
+ 495, 496, 497, 498, 499, 500, 501, 0, 502, 503,
+ 504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
+ 514, 0, 515, 516, 0, 518, 519, 520, 521, 522,
+ 523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
+ 533, 0, 534, 535, 536, 537, 538, 0, 539, 540,
+ 541, 542, 543, 0, 545, 546, 547, 548, 0, 549,
+ 550, 551, 552, 553, 554, 555, 556, 557, 558, 559,
+ 560, 561, 562, 563, 0, 564, 565, 0, 0, 566,
+ 0, 568, 569, 570, 571, 572, 0, 573, 574, 575,
+ 0, 0, 576, 577, 578, 579, 580, 0, 581, 582,
+ 583, 584, 585, 586, 587, 588, 0, 0, 589, 590,
+ 591, 592, 593, 0, 0, 594, 595, 596, 597, 598,
+ 599, 600, 0, 601, 0, 603, 604, 605, 606, 0,
+ 0, 607, 0, 0, 608, 609, 610, 611, 612, 613,
+ 614, 615, 616, 617, 618, 619, 620, 621, 622, 623,
+ 624, 625, 626, 627, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 963, 964, 965, 966, 967, 968,
+ 969, 970, 971, 635, 0, 0, 0, 0, 0, 0,
+ 957, 0, 0, 0, 0, 0, 0, 958, 959, 960,
+ 235, 236, 237, 238, 239, 240, 241, 242, 243, 0,
+ 244, 245, 246, 0, 0, 0, 0, 0, 0, 0,
+ 247, 248, 249, 0, 250, 251, 252, 253, 0, 255,
+ 256, 257, 258, 259, 0, 261, 262, 0, 263, 264,
+ 265, 266, 267, 268, 269, 0, 0, 270, 271, 272,
+ 273, 274, 0, 275, 1811, 277, 278, 279, 0, 0,
+ 0, 281, 282, 283, 284, 285, 286, 0, 288, 289,
+ 290, 0, 291, 292, 293, 294, 295, 296, 0, 0,
+ 298, 299, 300, 0, 0, 0, 0, 0, 0, 0,
+ 302, 303, 304, 305, 306, 307, 308, 309, 310, 0,
+ 311, 0, 312, 313, 314, 315, 316, 317, 318, 0,
+ 319, 320, 321, 322, 0, 0, 323, 324, 325, 326,
+ 327, 0, 328, 329, 330, 0, 331, 332, 333, 0,
+ 334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
+ 0, 1812, 0, 345, 346, 347, 348, 349, 0, 350,
+ 0, 351, 352, 0, 0, 0, 355, 356, 357, 358,
+ 0, 359, 360, 0, 361, 362, 363, 0, 364, 365,
+ 366, 367, 368, 0, 370, 371, 372, 373, 0, 374,
+ 375, 376, 377, 378, 379, 380, 381, 0, 382, 0,
+ 384, 385, 386, 387, 388, 389, 390, 0, 391, 0,
+ 392, 0, 0, 395, 0, 397, 398, 399, 400, 401,
+ 402, 403, 404, 405, 406, 407, 0, 0, 408, 409,
+ 0, 411, 0, 0, 413, 414, 415, 0, 0, 416,
+ 417, 418, 419, 420, 421, 422, 423, 424, 425, 426,
+ 427, 428, 429, 430, 431, 432, 433, 434, 0, 436,
+ 437, 438, 439, 440, 441, 442, 443, 444, 445, 446,
+ 0, 447, 448, 0, 450, 0, 451, 452, 453, 454,
+ 455, 456, 0, 457, 458, 0, 0, 459, 460, 461,
+ 0, 0, 462, 463, 464, 0, 466, 0, 468, 469,
+ 470, 471, 472, 473, 474, 475, 476, 477, 478, 0,
+ 479, 480, 481, 482, 483, 484, 485, 486, 0, 487,
+ 488, 489, 490, 491, 492, 493, 494, 495, 496, 497,
+ 498, 499, 500, 501, 0, 502, 503, 504, 505, 506,
+ 507, 508, 509, 510, 511, 512, 513, 514, 0, 515,
+ 516, 0, 518, 519, 520, 521, 522, 523, 524, 525,
+ 526, 527, 528, 529, 530, 531, 532, 533, 0, 534,
+ 535, 536, 537, 538, 0, 539, 540, 541, 542, 543,
+ 0, 545, 546, 547, 548, 0, 549, 550, 551, 552,
+ 553, 554, 555, 556, 557, 558, 559, 560, 561, 562,
+ 563, 0, 564, 565, 0, 0, 566, 0, 568, 569,
+ 570, 571, 572, 0, 573, 574, 575, 0, 0, 576,
+ 577, 578, 579, 580, 0, 581, 582, 583, 584, 585,
+ 586, 587, 588, 0, 0, 589, 590, 591, 592, 593,
+ 0, 0, 594, 595, 596, 597, 598, 599, 600, 0,
+ 601, 0, 603, 604, 605, 606, 0, 0, 607, 0,
+ 0, 608, 609, 610, 611, 612, 613, 614, 615, 616,
+ 617, 618, 619, 620, 621, 622, 623, 624, 625, 626,
+ 627, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 963, 964, 965, 966, 967, 968, 969, 970, 971,
+ 635, 0, 0, 0, 0, 0, 0, 957, 0, 0,
+ 0, 0, 0, 0, 958, 959, 960, 235, 236, 237,
+ 238, 239, 240, 241, 242, 243, 0, 244, 245, 246,
+ 0, 0, 0, 0, 0, 0, 0, 247, 248, 249,
+ 0, 250, 251, 252, 253, 0, 255, 256, 257, 258,
+ 259, 0, 261, 262, 0, 263, 264, 265, 266, 267,
+ 268, 269, 0, 0, 270, 271, 272, 273, 274, 0,
+ 275, 276, 277, 278, 279, 0, 0, 0, 281, 282,
+ 283, 284, 285, 286, 0, 288, 289, 290, 0, 291,
+ 292, 293, 294, 295, 296, 0, 0, 298, 299, 300,
+ 0, 0, 0, 0, 0, 0, 0, 302, 303, 304,
+ 305, 306, 307, 308, 309, 310, 0, 311, 0, 312,
+ 313, 314, 315, 316, 317, 318, 0, 319, 320, 321,
+ 322, 0, 0, 323, 324, 325, 326, 327, 0, 328,
+ 329, 330, 0, 331, 332, 333, 0, 334, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, 0, 344, 0,
+ 345, 346, 347, 348, 349, 0, 350, 0, 351, 352,
+ 0, 0, 0, 355, 356, 357, 358, 0, 359, 360,
+ 0, 361, 362, 363, 0, 364, 365, 366, 367, 368,
+ 0, 370, 371, 372, 373, 0, 374, 375, 376, 377,
+ 378, 379, 380, 381, 0, 382, 0, 384, 385, 386,
+ 387, 388, 389, 390, 0, 391, 0, 392, 0, 0,
+ 395, 0, 397, 398, 399, 400, 401, 402, 403, 404,
+ 405, 406, 407, 0, 0, 408, 409, 0, 411, 0,
+ 0, 413, 414, 415, 0, 0, 416, 417, 418, 419,
+ 420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
+ 430, 431, 432, 433, 434, 0, 436, 437, 438, 439,
+ 440, 441, 442, 443, 444, 445, 446, 0, 447, 448,
+ 0, 450, 0, 451, 452, 453, 454, 455, 456, 0,
+ 457, 458, 0, 0, 459, 460, 461, 0, 0, 462,
+ 463, 464, 0, 466, 0, 468, 469, 470, 471, 472,
+ 473, 474, 475, 476, 477, 478, 0, 479, 480, 481,
+ 482, 483, 484, 485, 486, 0, 487, 488, 489, 490,
+ 491, 492, 493, 494, 495, 496, 497, 498, 499, 500,
+ 501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
+ 510, 511, 512, 513, 514, 0, 515, 516, 0, 518,
+ 519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
+ 529, 530, 531, 532, 533, 0, 534, 535, 536, 537,
+ 538, 0, 539, 540, 541, 542, 543, 0, 545, 546,
+ 547, 548, 0, 549, 550, 551, 552, 553, 554, 555,
+ 556, 557, 558, 559, 560, 561, 562, 563, 0, 564,
+ 565, 0, 0, 566, 0, 568, 569, 570, 571, 572,
+ 0, 573, 574, 575, 0, 0, 576, 577, 578, 579,
+ 580, 0, 581, 582, 583, 584, 585, 586, 587, 588,
+ 0, 0, 589, 590, 591, 592, 593, 0, 0, 594,
+ 595, 596, 597, 598, 599, 600, 0, 601, 0, 603,
+ 604, 605, 606, 0, 0, 607, 0, 0, 608, 609,
+ 610, 611, 612, 613, 614, 615, 616, 617, 618, 619,
+ 620, 621, 622, 623, 624, 625, 626, 627, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 963, 964,
+ 965, 966, 967, 968, 969, 970, 971, 635, 0, 0,
+ 0, 0, 0, 0, 957, 0, 0, 0, 0, 0,
+ 0, 958, 959, 960, 235, 236, 237, 238, 239, 240,
+ 241, 242, 243, 0, 244, 245, 246, 0, 0, 0,
+ 0, 0, 0, 0, 247, 248, 249, 0, 250, 251,
+ 252, 253, 0, 255, 256, 257, 258, 259, 0, 261,
+ 262, 0, 263, 264, 265, 266, 267, 268, 269, 0,
+ 0, 270, 271, 272, 273, 274, 0, 275, 3523, 277,
+ 278, 279, 0, 0, 0, 281, 282, 283, 284, 285,
+ 286, 0, 288, 289, 290, 0, 291, 292, 293, 294,
+ 295, 296, 0, 0, 298, 299, 300, 0, 0, 0,
+ 0, 0, 0, 0, 302, 303, 304, 305, 306, 307,
+ 308, 309, 310, 0, 311, 0, 312, 313, 314, 315,
+ 316, 317, 318, 0, 319, 320, 321, 322, 0, 0,
+ 323, 324, 325, 326, 327, 0, 328, 329, 330, 0,
+ 331, 332, 333, 0, 334, 335, 336, 337, 338, 339,
+ 340, 341, 342, 343, 0, 3524, 0, 345, 346, 347,
+ 348, 349, 0, 350, 0, 351, 352, 0, 0, 0,
+ 355, 356, 357, 358, 0, 359, 360, 0, 361, 362,
+ 363, 0, 364, 365, 366, 367, 368, 0, 370, 371,
+ 372, 373, 0, 374, 375, 376, 377, 378, 379, 380,
+ 381, 0, 382, 0, 384, 385, 386, 387, 388, 389,
+ 390, 0, 391, 0, 392, 0, 0, 395, 0, 397,
+ 398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
+ 0, 0, 408, 409, 0, 411, 0, 0, 413, 414,
+ 415, 0, 0, 416, 417, 418, 419, 420, 421, 422,
+ 423, 424, 425, 426, 427, 428, 429, 430, 431, 432,
+ 433, 434, 0, 436, 437, 438, 439, 440, 441, 442,
+ 443, 444, 445, 446, 0, 447, 448, 0, 450, 0,
+ 451, 452, 453, 454, 455, 456, 0, 457, 458, 0,
+ 0, 459, 460, 461, 0, 0, 462, 463, 464, 0,
+ 466, 0, 468, 469, 470, 471, 472, 473, 474, 475,
+ 476, 477, 478, 0, 479, 480, 481, 482, 483, 484,
+ 485, 486, 0, 487, 488, 489, 490, 491, 492, 493,
+ 494, 495, 496, 497, 498, 499, 500, 501, 0, 502,
+ 503, 504, 505, 506, 507, 508, 509, 510, 511, 512,
+ 513, 514, 0, 515, 516, 0, 518, 519, 520, 521,
+ 522, 523, 524, 525, 526, 527, 528, 529, 530, 531,
+ 532, 533, 0, 534, 535, 536, 537, 538, 0, 539,
+ 540, 541, 542, 543, 0, 545, 546, 547, 548, 0,
+ 549, 550, 551, 552, 553, 554, 555, 556, 557, 558,
+ 559, 560, 561, 562, 563, 0, 564, 565, 0, 0,
+ 566, 0, 568, 569, 570, 571, 572, 0, 573, 574,
+ 575, 0, 0, 576, 577, 578, 579, 580, 0, 581,
+ 582, 583, 584, 585, 586, 587, 588, 0, 0, 589,
+ 590, 591, 592, 593, 0, 0, 594, 595, 596, 597,
+ 598, 599, 600, 0, 601, 0, 603, 604, 605, 606,
+ 0, 0, 607, 0, 0, 608, 609, 610, 611, 612,
+ 613, 614, 615, 616, 617, 618, 619, 620, 621, 622,
+ 623, 624, 625, 626, 627, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 963, 964, 965, 966, 967,
+ 968, 969, 970, 971, 635, 0, 0, 0, 0, 0,
+ 0, 957, 0, 0, 0, 0, 0, 0, 958, 959,
+ 960, 235, 236, 237, 238, 239, 240, 241, 242, 243,
+ 0, 244, 245, 246, 0, 0, 0, 0, 0, 0,
+ 0, 247, 248, 249, 0, 250, 251, 252, 253, 0,
+ 255, 256, 257, 258, 259, 0, 261, 262, 0, 263,
+ 264, 265, 266, 267, 268, 269, 0, 0, 270, 271,
+ 272, 273, 274, 0, 275, 276, 277, 278, 279, 0,
+ 0, 0, 281, 282, 283, 284, 285, 286, 0, 288,
+ 289, 290, 0, 291, 292, 293, 294, 295, 296, 0,
+ 0, 298, 299, 300, 0, 0, 0, 0, 0, 0,
+ 0, 302, 303, 304, 305, 306, 307, 308, 309, 310,
+ 0, 311, 0, 312, 313, 314, 315, 316, 317, 318,
+ 0, 319, 320, 321, 322, 0, 0, 323, 324, 325,
+ 326, 327, 0, 328, 329, 330, 0, 331, 332, 333,
+ 0, 334, 335, 336, 337, 338, 339, 340, 341, 342,
+ 343, 0, 344, 0, 345, 346, 347, 348, 349, 0,
+ 350, 0, 351, 352, 0, 0, 0, 355, 356, 357,
+ 358, 0, 359, 360, 0, 361, 362, 363, 0, 364,
+ 365, 366, 367, 368, 0, 370, 371, 372, 373, 0,
+ 374, 375, 376, 377, 378, 379, 380, 381, 0, 382,
+ 0, 384, 385, 386, 387, 388, 389, 390, 0, 391,
+ 0, 392, 0, 0, 395, 0, 397, 398, 399, 400,
+ 401, 402, 403, 404, 405, 406, 407, 0, 0, 408,
+ 409, 0, 411, 0, 0, 413, 414, 415, 0, 0,
+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
+ 426, 427, 428, 429, 430, 431, 432, 433, 434, 0,
+ 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
+ 446, 0, 447, 448, 0, 450, 0, 451, 452, 453,
+ 454, 455, 456, 0, 457, 458, 0, 0, 5488, 460,
+ 461, 0, 0, 462, 463, 464, 0, 466, 0, 468,
+ 469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
+ 0, 479, 480, 481, 482, 483, 484, 485, 486, 0,
+ 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
+ 497, 498, 499, 500, 501, 0, 502, 503, 504, 505,
+ 506, 507, 508, 509, 510, 511, 512, 513, 514, 0,
+ 515, 516, 0, 518, 519, 520, 521, 522, 523, 524,
+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 0,
+ 534, 535, 536, 537, 538, 0, 539, 540, 541, 542,
+ 543, 0, 545, 546, 547, 548, 0, 549, 550, 551,
+ 552, 553, 554, 555, 556, 557, 558, 559, 560, 561,
+ 562, 563, 0, 564, 565, 0, 0, 566, 0, 568,
+ 569, 570, 571, 572, 0, 573, 574, 575, 0, 0,
+ 576, 577, 578, 579, 580, 0, 581, 582, 583, 584,
+ 585, 586, 587, 588, 0, 0, 589, 590, 591, 592,
+ 593, 0, 0, 594, 595, 596, 597, 598, 599, 600,
+ 0, 601, 0, 603, 604, 605, 606, 0, 0, 607,
+ 0, 0, 608, 609, 610, 611, 612, 613, 614, 615,
+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625,
+ 626, 627, 0, 0, 1705, 0, 0, 0, 0, 0,
+ 0, 0, 963, 964, 965, 966, 967, 968, 969, 970,
+ 971, 235, 236, 237, 238, 239, 240, 241, 242, 243,
+ 1706, 244, 245, 246, 1707, 1708, 1709, 1710, 1711, 1712,
+ 1713, 247, 248, 249, 1714, 250, 251, 252, 253, 254,
+ 255, 256, 257, 258, 259, 260, 261, 262, 1715, 263,
+ 264, 265, 266, 267, 268, 269, 1716, 1717, 270, 271,
+ 272, 273, 274, 1718, 275, 276, 277, 278, 279, 1719,
+ 280, 1720, 281, 282, 283, 284, 285, 286, 287, 288,
+ 289, 290, 1721, 291, 292, 293, 294, 295, 296, 1722,
+ 297, 298, 299, 300, 1723, 1724, 1725, 301, 1726, 1727,
+ 1728, 302, 303, 304, 305, 306, 307, 308, 309, 310,
+ 1729, 311, 1730, 312, 313, 314, 315, 316, 317, 318,
+ 1731, 319, 320, 321, 322, 1732, 1733, 323, 324, 325,
+ 326, 327, 1734, 328, 329, 330, 1735, 331, 332, 333,
+ 1736, 334, 335, 336, 337, 338, 339, 340, 341, 342,
+ 343, 1737, 344, 1738, 345, 346, 347, 348, 349, 1739,
+ 350, 1740, 351, 352, 353, 1741, 354, 355, 356, 357,
+ 358, 1742, 359, 360, 1743, 361, 362, 363, 1744, 364,
+ 365, 366, 367, 368, 369, 370, 371, 372, 373, 1745,
+ 374, 375, 376, 377, 378, 379, 380, 381, 1746, 382,
+ 383, 384, 385, 386, 387, 388, 389, 390, 1747, 391,
+ 1748, 392, 393, 394, 395, 396, 397, 398, 399, 400,
+ 401, 402, 403, 404, 405, 406, 407, 1749, 1750, 408,
+ 409, 410, 411, 412, 1751, 413, 414, 415, 1752, 1753,
+ 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, 1754, 447, 448, 449, 450, 1755, 451, 452, 453,
+ 454, 455, 456, 1756, 457, 458, 1757, 1758, 459, 460,
+ 461, 1759, 1760, 462, 463, 464, 465, 466, 467, 468,
+ 469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
+ 1761, 479, 480, 481, 482, 483, 484, 485, 486, 1762,
+ 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
+ 497, 498, 499, 500, 501, 1763, 502, 503, 504, 505,
+ 506, 507, 508, 509, 510, 511, 512, 513, 514, 1764,
+ 515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 1765,
+ 534, 535, 536, 537, 538, 1766, 539, 540, 541, 542,
+ 543, 544, 545, 546, 547, 548, 1767, 549, 550, 551,
+ 552, 553, 554, 555, 556, 557, 558, 559, 560, 561,
+ 562, 563, 1768, 564, 565, 1769, 1770, 566, 567, 568,
+ 569, 570, 571, 572, 1771, 573, 574, 575, 1772, 1773,
+ 576, 577, 578, 579, 580, 1774, 581, 582, 583, 584,
+ 585, 586, 587, 588, 1775, 1776, 589, 590, 591, 592,
+ 593, 1777, 1778, 594, 595, 596, 597, 598, 599, 600,
+ 1779, 601, 602, 603, 604, 605, 606, 1780, 1781, 607,
+ 1782, 1783, 608, 609, 610, 611, 612, 613, 614, 615,
+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625,
+ 626, 627, 635, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1784, 0, 235,
+ 236, 237, 238, 239, 240, 241, 242, 243, 0, 244,
+ 245, 246, 0, 0, 0, 0, 0, 0, 0, 247,
+ 248, 249, 0, 250, 251, 252, 253, 0, 255, 256,
+ 257, 258, 259, 0, 261, 262, 0, 263, 264, 265,
+ 266, 267, 268, 269, 0, 0, 270, 271, 272, 273,
+ 274, 0, 275, 276, 277, 278, 279, 0, 0, 0,
+ 281, 282, 283, 284, 285, 286, 0, 288, 289, 290,
+ 0, 291, 292, 293, 294, 295, 296, 0, 0, 298,
+ 299, 300, 0, 0, 0, 0, 0, 0, 0, 302,
+ 303, 304, 305, 306, 307, 308, 309, 310, 0, 311,
+ 0, 312, 313, 314, 315, 316, 317, 318, 0, 319,
+ 320, 321, 322, 0, 0, 323, 324, 325, 326, 327,
+ 0, 328, 329, 330, 0, 331, 332, 333, 0, 334,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, 0,
+ 344, 0, 345, 346, 347, 348, 349, 0, 350, 0,
+ 351, 352, 0, 0, 0, 355, 356, 357, 358, 0,
+ 359, 360, 0, 361, 362, 363, 0, 364, 365, 366,
+ 367, 368, 0, 370, 371, 372, 373, 0, 374, 375,
+ 376, 377, 378, 379, 380, 381, 0, 382, 0, 384,
+ 385, 386, 387, 388, 389, 390, 0, 391, 0, 392,
+ 0, 0, 395, 0, 397, 398, 399, 400, 401, 402,
+ 403, 404, 405, 406, 407, 0, 0, 408, 409, 0,
+ 411, 0, 0, 413, 414, 415, 0, 0, 416, 417,
+ 418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
+ 428, 429, 430, 431, 432, 433, 434, 0, 436, 437,
+ 438, 439, 440, 441, 442, 443, 444, 445, 446, 0,
+ 447, 448, 0, 450, 0, 451, 452, 453, 454, 455,
+ 456, 0, 457, 458, 0, 0, 459, 460, 461, 0,
+ 0, 462, 463, 464, 0, 466, 0, 468, 469, 470,
+ 471, 472, 473, 474, 475, 476, 477, 478, 0, 479,
+ 480, 481, 482, 483, 484, 485, 486, 0, 487, 488,
+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498,
+ 499, 500, 501, 0, 502, 503, 504, 505, 506, 507,
+ 508, 509, 510, 511, 512, 513, 514, 0, 515, 516,
+ 0, 518, 519, 520, 521, 522, 523, 524, 525, 526,
+ 527, 528, 529, 530, 531, 532, 533, 0, 534, 535,
+ 536, 537, 538, 0, 539, 540, 541, 542, 543, 0,
+ 545, 546, 547, 548, 0, 549, 550, 551, 552, 553,
+ 554, 555, 556, 557, 558, 559, 560, 561, 562, 563,
+ 0, 564, 565, 0, 0, 566, 0, 568, 569, 570,
+ 571, 572, 0, 573, 574, 575, 0, 0, 576, 577,
+ 578, 579, 580, 0, 581, 582, 583, 584, 585, 586,
+ 587, 588, 0, 0, 589, 590, 591, 592, 593, 0,
+ 0, 594, 595, 596, 597, 598, 599, 600, 0, 601,
+ 0, 603, 604, 605, 606, 0, 0, 607, 0, 0,
+ 608, 609, 610, 611, 612, 613, 614, 615, 616, 617,
+ 618, 619, 620, 621, 622, 623, 624, 625, 626, 627,
+ 635, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 845, 0, 235, 236, 237,
+ 238, 239, 240, 241, 242, 243, 0, 244, 245, 246,
+ 0, 0, 0, 0, 0, 0, 0, 247, 248, 249,
+ 0, 250, 251, 252, 253, 0, 255, 256, 257, 258,
+ 259, 0, 261, 262, 0, 263, 264, 265, 266, 267,
+ 268, 269, 0, 0, 270, 271, 272, 273, 274, 0,
+ 275, 276, 277, 278, 279, 0, 0, 0, 281, 282,
+ 283, 284, 285, 286, 0, 288, 289, 290, 0, 291,
+ 292, 293, 294, 295, 296, 0, 0, 298, 299, 300,
+ 0, 0, 0, 0, 0, 0, 0, 302, 303, 304,
+ 305, 306, 307, 308, 309, 310, 0, 311, 0, 312,
+ 313, 314, 315, 316, 317, 318, 0, 319, 320, 321,
+ 322, 0, 0, 323, 324, 325, 326, 327, 0, 328,
+ 329, 330, 0, 331, 332, 333, 0, 334, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, 0, 344, 0,
+ 345, 346, 347, 348, 349, 0, 350, 0, 351, 352,
+ 0, 0, 0, 355, 356, 357, 358, 0, 359, 360,
+ 0, 361, 362, 363, 0, 364, 365, 366, 367, 368,
+ 0, 370, 371, 372, 373, 0, 374, 375, 376, 377,
+ 378, 379, 380, 381, 0, 382, 0, 384, 385, 386,
+ 387, 388, 389, 390, 0, 391, 0, 392, 0, 0,
+ 395, 0, 397, 398, 399, 400, 401, 402, 403, 404,
+ 405, 406, 407, 0, 0, 408, 409, 0, 411, 0,
+ 0, 413, 414, 415, 0, 0, 416, 417, 418, 419,
+ 420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
+ 430, 431, 432, 433, 434, 0, 436, 437, 438, 439,
+ 440, 441, 442, 443, 444, 445, 446, 0, 447, 448,
+ 0, 450, 0, 451, 452, 453, 454, 455, 456, 0,
+ 457, 458, 0, 0, 459, 460, 461, 0, 0, 462,
+ 463, 464, 0, 466, 0, 468, 469, 470, 471, 472,
+ 473, 474, 475, 476, 477, 478, 0, 479, 480, 481,
+ 482, 483, 484, 485, 486, 0, 487, 488, 489, 490,
+ 491, 492, 493, 494, 495, 496, 497, 498, 499, 500,
+ 501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
+ 510, 511, 512, 513, 514, 0, 515, 516, 0, 518,
+ 519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
+ 529, 530, 531, 532, 533, 0, 534, 535, 536, 537,
+ 538, 0, 539, 540, 541, 542, 543, 0, 545, 546,
+ 547, 548, 0, 549, 550, 551, 552, 553, 554, 555,
+ 556, 557, 558, 559, 560, 561, 562, 563, 0, 564,
+ 565, 0, 0, 566, 0, 568, 569, 570, 571, 572,
+ 0, 573, 574, 575, 0, 0, 576, 577, 578, 579,
+ 580, 0, 581, 582, 583, 584, 585, 586, 587, 588,
+ 0, 0, 589, 590, 591, 592, 593, 0, 0, 594,
+ 595, 596, 597, 598, 599, 600, 0, 601, 0, 603,
+ 604, 605, 606, 0, 0, 607, 0, 0, 608, 609,
+ 610, 611, 612, 613, 614, 615, 616, 617, 618, 619,
+ 620, 621, 622, 623, 624, 625, 626, 627, 856, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 5903, 0, 235, 236, 237, 238, 239,
+ 240, 241, 242, 243, 0, 244, 245, 246, 0, 0,
+ 0, 0, 0, 0, 0, 247, 248, 249, 0, 250,
+ 251, 252, 253, 254, 255, 256, 257, 0, 857, 260,
+ 858, 859, 0, 263, 264, 265, 266, 267, 268, 269,
+ 0, 0, 270, 271, 860, 861, 274, 0, 275, 276,
+ 277, 278, 0, 0, 280, 0, 281, 282, 283, 284,
+ 285, 286, 287, 288, 289, 290, 0, 291, 292, 293,
+ 294, 295, 296, 0, 297, 298, 299, 300, 0, 0,
+ 0, 301, 0, 0, 0, 302, 303, 304, 305, 306,
+ 307, 862, 863, 310, 0, 311, 0, 312, 313, 314,
+ 315, 316, 317, 318, 0, 319, 320, 321, 322, 0,
+ 0, 323, 324, 864, 326, 327, 0, 328, 329, 330,
+ 0, 331, 332, 333, 0, 334, 335, 336, 337, 0,
+ 339, 340, 341, 342, 0, 0, 344, 0, 345, 346,
+ 347, 865, 349, 0, 350, 0, 351, 352, 353, 0,
+ 354, 355, 356, 357, 358, 0, 359, 0, 0, 0,
+ 362, 363, 0, 364, 365, 366, 367, 368, 369, 370,
+ 371, 372, 373, 2666, 374, 375, 376, 377, 378, 379,
+ 380, 381, 0, 382, 383, 2667, 385, 386, 387, 388,
+ 866, 867, 0, 868, 0, 392, 393, 394, 395, 396,
+ 397, 0, 0, 0, 0, 402, 403, 404, 405, 406,
+ 407, 0, 0, 408, 0, 410, 411, 412, 0, 413,
+ 414, 415, 0, 0, 416, 417, 418, 419, 420, 421,
+ 422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
+ 432, 433, 869, 435, 870, 437, 438, 439, 440, 441,
+ 442, 443, 0, 0, 446, 0, 447, 448, 449, 450,
+ 0, 0, 452, 871, 454, 455, 456, 0, 457, 458,
+ 0, 0, 459, 460, 461, 0, 2668, 462, 463, 2669,
+ 465, 466, 467, 0, 469, 470, 471, 472, 473, 474,
+ 475, 476, 477, 478, 0, 479, 480, 0, 482, 0,
+ 484, 485, 486, 0, 487, 488, 489, 490, 491, 492,
+ 493, 494, 495, 496, 872, 498, 499, 500, 501, 0,
+ 502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
+ 512, 513, 514, 0, 515, 516, 517, 518, 519, 520,
+ 521, 522, 0, 524, 525, 526, 527, 528, 529, 530,
+ 531, 532, 533, 0, 534, 535, 536, 537, 538, 0,
+ 539, 540, 2670, 542, 543, 544, 545, 546, 874, 548,
+ 0, 549, 550, 551, 552, 553, 554, 555, 556, 557,
+ 558, 559, 560, 561, 0, 563, 0, 564, 565, 0,
+ 0, 566, 567, 568, 569, 570, 571, 572, 0, 573,
+ 875, 876, 0, 0, 576, 577, 0, 579, 0, 0,
+ 581, 582, 583, 584, 585, 586, 587, 588, 0, 0,
+ 589, 590, 591, 592, 593, 0, 0, 594, 595, 596,
+ 597, 598, 0, 877, 2671, 601, 602, 603, 604, 605,
+ 606, 0, 0, 607, 0, 0, 608, 609, 610, 611,
+ 612, 613, 0, 0, 0, 3868, 0, 0, 0, 0,
+ 0, 0, 0, 625, 626, 627, 0, 0, 0, 0,
+ 0, 0, 235, 236, 237, 238, 239, 240, 241, 242,
+ 243, 2672, 244, 245, 246, 0, 0, 0, 0, 0,
+ 0, 0, 247, 248, 249, 0, 250, 251, 252, 253,
+ 254, 255, 256, 257, 0, 857, 260, 858, 859, 0,
+ 263, 264, 265, 266, 267, 268, 269, 0, 0, 270,
+ 271, 860, 861, 274, 0, 275, 276, 277, 278, 0,
+ 0, 280, 0, 281, 282, 283, 284, 285, 286, 287,
+ 288, 289, 290, 0, 291, 292, 293, 294, 295, 296,
+ 0, 297, 298, 299, 300, 0, 0, 0, 301, 0,
+ 0, 0, 302, 303, 304, 305, 306, 307, 862, 863,
+ 310, 0, 311, 0, 312, 313, 314, 315, 316, 317,
+ 318, 0, 319, 320, 321, 322, 0, 0, 323, 324,
+ 864, 326, 327, 0, 328, 329, 330, 0, 331, 332,
+ 333, 0, 334, 335, 336, 337, 0, 339, 340, 341,
+ 342, 0, 0, 344, 0, 345, 346, 347, 865, 349,
+ 0, 350, 0, 351, 352, 353, 0, 354, 355, 356,
+ 357, 358, 0, 359, 0, 0, 0, 362, 363, 0,
+ 364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
+ 2666, 374, 375, 376, 377, 378, 379, 380, 381, 0,
+ 382, 383, 2667, 385, 386, 387, 388, 866, 867, 0,
+ 868, 0, 392, 393, 394, 395, 396, 397, 0, 0,
+ 0, 0, 402, 403, 404, 405, 406, 407, 0, 0,
+ 408, 0, 410, 411, 412, 0, 413, 414, 415, 0,
+ 0, 416, 417, 418, 419, 420, 421, 422, 423, 424,
+ 425, 426, 427, 428, 429, 430, 431, 432, 433, 869,
+ 435, 870, 437, 438, 439, 440, 441, 442, 443, 0,
+ 0, 446, 0, 447, 448, 449, 450, 0, 0, 452,
+ 871, 454, 455, 456, 0, 457, 458, 0, 0, 459,
+ 460, 461, 0, 2668, 462, 463, 2669, 465, 466, 467,
+ 0, 469, 470, 471, 472, 473, 474, 475, 476, 477,
+ 478, 0, 479, 480, 0, 482, 0, 484, 485, 486,
+ 0, 487, 488, 489, 490, 491, 492, 493, 494, 495,
+ 496, 872, 498, 499, 500, 501, 0, 502, 503, 504,
+ 505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
+ 0, 515, 516, 517, 518, 519, 520, 521, 522, 0,
+ 524, 525, 526, 527, 528, 529, 530, 531, 532, 533,
+ 0, 534, 535, 536, 537, 538, 0, 539, 540, 2670,
+ 542, 543, 544, 545, 546, 874, 548, 0, 549, 550,
+ 551, 552, 553, 554, 555, 556, 557, 558, 559, 560,
+ 561, 0, 563, 0, 564, 565, 0, 0, 566, 567,
+ 568, 569, 570, 571, 572, 0, 573, 875, 876, 0,
+ 0, 576, 577, 0, 579, 0, 0, 581, 582, 583,
+ 584, 585, 586, 587, 588, 0, 0, 589, 590, 591,
+ 592, 593, 0, 0, 594, 595, 596, 597, 598, 0,
+ 877, 2671, 601, 602, 603, 604, 605, 606, 0, 0,
+ 607, 0, 0, 608, 609, 610, 611, 612, 613, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 625, 626, 627, 942, 0, 1570, 694, 0, 0, 0,
+ 0, 755, 0, 0, 0, 0, 0, 0, 2672, 0,
+ 235, 236, 237, 238, 239, 240, 241, 242, 243, 0,
+ 244, 245, 246, 0, 0, 0, 0, 0, 0, 0,
+ 247, 248, 249, 0, 250, 251, 252, 253, 254, 255,
+ 256, 257, 258, 259, 260, 261, 262, 0, 263, 264,
+ 265, 266, 267, 268, 269, 0, 0, 270, 271, 272,
+ 273, 274, 0, 275, 276, 277, 278, 279, 0, 280,
+ 0, 281, 282, 283, 284, 285, 286, 287, 288, 289,
+ 290, 0, 291, 292, 293, 294, 295, 296, 0, 297,
+ 298, 299, 300, 0, 0, 0, 301, 0, 0, 0,
+ 302, 303, 304, 305, 306, 307, 308, 309, 310, 2557,
+ 311, 0, 312, 313, 314, 315, 316, 317, 318, 0,
+ 319, 320, 321, 322, 0, 0, 323, 324, 325, 326,
+ 327, 0, 328, 329, 330, 0, 331, 332, 333, 0,
+ 334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
+ 1794, 344, 0, 345, 346, 347, 348, 349, 0, 350,
+ 0, 351, 352, 353, 0, 354, 355, 356, 357, 358,
+ 0, 359, 360, 0, 361, 362, 363, 0, 364, 365,
+ 366, 367, 368, 369, 370, 371, 372, 373, 0, 374,
+ 375, 376, 377, 378, 379, 380, 381, 0, 382, 383,
+ 384, 385, 386, 387, 388, 389, 390, 0, 391, 0,
+ 392, 393, 394, 395, 396, 397, 398, 399, 400, 401,
+ 402, 403, 404, 405, 406, 407, 0, 0, 408, 409,
+ 410, 411, 412, 0, 413, 414, 415, 0, 0, 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,
+ 0, 447, 448, 449, 450, 0, 451, 452, 453, 454,
+ 455, 456, 0, 457, 458, 1795, 0, 459, 460, 461,
+ 0, 0, 462, 463, 464, 465, 466, 467, 468, 469,
+ 470, 471, 472, 473, 474, 475, 476, 477, 478, 0,
+ 479, 480, 481, 482, 483, 484, 485, 486, 0, 487,
+ 488, 489, 490, 491, 492, 493, 494, 495, 496, 497,
+ 498, 499, 500, 501, 0, 502, 503, 504, 505, 506,
+ 507, 508, 509, 510, 511, 512, 513, 514, 0, 515,
+ 516, 517, 518, 519, 520, 521, 522, 523, 524, 525,
+ 526, 527, 528, 529, 530, 531, 532, 533, 0, 534,
+ 535, 536, 537, 538, 0, 539, 540, 541, 542, 543,
+ 544, 545, 546, 547, 548, 0, 549, 550, 551, 552,
+ 553, 554, 555, 556, 557, 558, 559, 560, 561, 562,
+ 563, 0, 564, 565, 0, 0, 566, 567, 568, 569,
+ 570, 571, 572, 0, 573, 574, 575, 0, 0, 576,
+ 577, 578, 579, 580, 1796, 581, 582, 583, 584, 585,
+ 586, 587, 588, 0, 0, 589, 590, 591, 592, 593,
+ 0, 0, 594, 595, 596, 597, 598, 599, 600, 0,
+ 601, 602, 603, 604, 605, 606, 0, 0, 607, 0,
+ 0, 608, 609, 610, 611, 612, 613, 614, 615, 616,
+ 617, 618, 619, 620, 621, 622, 623, 624, 625, 626,
+ 627, 942, 0, 1570, 694, 0, 0, 0, 0, 755,
+ 0, 0, 0, 0, 1571, 1572, 0, 0, 235, 236,
+ 237, 238, 239, 240, 241, 242, 243, 0, 244, 245,
+ 246, 0, 0, 0, 0, 0, 0, 0, 247, 248,
+ 249, 0, 250, 251, 252, 253, 254, 255, 256, 257,
+ 258, 259, 260, 261, 262, 0, 263, 264, 265, 266,
+ 267, 268, 269, 0, 0, 270, 271, 272, 273, 274,
+ 0, 275, 276, 277, 278, 279, 0, 280, 0, 281,
+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 0,
+ 291, 292, 293, 294, 295, 296, 0, 297, 298, 299,
+ 300, 0, 0, 0, 301, 0, 0, 0, 302, 303,
+ 304, 305, 306, 307, 308, 309, 310, 2562, 311, 0,
+ 312, 313, 314, 315, 316, 317, 318, 0, 319, 320,
+ 321, 322, 0, 0, 323, 324, 325, 326, 327, 0,
+ 328, 329, 330, 0, 331, 332, 333, 0, 334, 335,
+ 336, 337, 338, 339, 340, 341, 342, 343, 1794, 344,
+ 0, 345, 346, 347, 348, 349, 0, 350, 0, 351,
+ 352, 353, 0, 354, 355, 356, 357, 358, 0, 359,
+ 360, 0, 361, 362, 363, 0, 364, 365, 366, 367,
+ 368, 369, 370, 371, 372, 373, 0, 374, 375, 376,
+ 377, 378, 379, 380, 381, 0, 382, 383, 384, 385,
+ 386, 387, 388, 389, 390, 0, 391, 0, 392, 393,
+ 394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
+ 404, 405, 406, 407, 0, 0, 408, 409, 410, 411,
+ 412, 0, 413, 414, 415, 0, 0, 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, 0, 447,
+ 448, 449, 450, 0, 451, 452, 453, 454, 455, 456,
+ 0, 457, 458, 1795, 0, 459, 460, 461, 0, 0,
+ 462, 463, 464, 465, 466, 467, 468, 469, 470, 471,
+ 472, 473, 474, 475, 476, 477, 478, 0, 479, 480,
+ 481, 482, 483, 484, 485, 486, 0, 487, 488, 489,
+ 490, 491, 492, 493, 494, 495, 496, 497, 498, 499,
+ 500, 501, 0, 502, 503, 504, 505, 506, 507, 508,
+ 509, 510, 511, 512, 513, 514, 0, 515, 516, 517,
+ 518, 519, 520, 521, 522, 523, 524, 525, 526, 527,
+ 528, 529, 530, 531, 532, 533, 0, 534, 535, 536,
+ 537, 538, 0, 539, 540, 541, 542, 543, 544, 545,
+ 546, 547, 548, 0, 549, 550, 551, 552, 553, 554,
+ 555, 556, 557, 558, 559, 560, 561, 562, 563, 0,
+ 564, 565, 0, 0, 566, 567, 568, 569, 570, 571,
+ 572, 0, 573, 574, 575, 0, 0, 576, 577, 578,
+ 579, 580, 1796, 581, 582, 583, 584, 585, 586, 587,
+ 588, 0, 0, 589, 590, 591, 592, 593, 0, 0,
+ 594, 595, 596, 597, 598, 599, 600, 0, 601, 602,
+ 603, 604, 605, 606, 0, 0, 607, 0, 0, 608,
+ 609, 610, 611, 612, 613, 614, 615, 616, 617, 618,
+ 619, 620, 621, 622, 623, 624, 625, 626, 627, 942,
+ 0, 1570, 694, 0, 0, 0, 0, 755, 0, 0,
+ 0, 0, 1571, 1572, 0, 0, 235, 236, 237, 238,
+ 239, 240, 241, 242, 243, 0, 244, 245, 246, 0,
+ 0, 0, 0, 0, 0, 0, 247, 248, 249, 0,
+ 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
+ 260, 261, 262, 0, 263, 264, 265, 266, 267, 268,
+ 269, 0, 0, 270, 271, 272, 273, 274, 0, 275,
+ 276, 277, 278, 279, 0, 280, 0, 281, 282, 283,
+ 284, 285, 286, 287, 288, 289, 290, 0, 291, 292,
+ 293, 294, 295, 296, 0, 297, 298, 299, 300, 0,
+ 0, 0, 301, 0, 0, 0, 302, 303, 304, 305,
+ 306, 307, 308, 309, 310, 3484, 311, 0, 312, 313,
+ 314, 315, 316, 317, 318, 0, 319, 320, 321, 322,
+ 0, 0, 323, 324, 325, 326, 327, 0, 328, 329,
+ 330, 0, 331, 332, 333, 0, 334, 335, 336, 337,
+ 338, 339, 340, 341, 342, 343, 1794, 344, 0, 345,
+ 346, 347, 348, 349, 0, 350, 0, 351, 352, 353,
+ 0, 354, 355, 356, 357, 358, 0, 359, 360, 0,
+ 361, 362, 363, 0, 364, 365, 366, 367, 368, 369,
+ 370, 371, 372, 373, 0, 374, 375, 376, 377, 378,
+ 379, 380, 381, 0, 382, 383, 384, 385, 386, 387,
+ 388, 389, 390, 0, 391, 0, 392, 393, 394, 395,
+ 396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
+ 406, 407, 0, 0, 408, 409, 410, 411, 412, 0,
+ 413, 414, 415, 0, 0, 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, 0, 447, 448, 449,
+ 450, 0, 451, 452, 453, 454, 455, 456, 0, 457,
+ 458, 1795, 0, 459, 460, 461, 0, 0, 462, 463,
+ 464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
+ 474, 475, 476, 477, 478, 0, 479, 480, 481, 482,
+ 483, 484, 485, 486, 0, 487, 488, 489, 490, 491,
+ 492, 493, 494, 495, 496, 497, 498, 499, 500, 501,
+ 0, 502, 503, 504, 505, 506, 507, 508, 509, 510,
+ 511, 512, 513, 514, 0, 515, 516, 517, 518, 519,
+ 520, 521, 522, 523, 524, 525, 526, 527, 528, 529,
+ 530, 531, 532, 533, 0, 534, 535, 536, 537, 538,
+ 0, 539, 540, 541, 542, 543, 544, 545, 546, 547,
+ 548, 0, 549, 550, 551, 552, 553, 554, 555, 556,
+ 557, 558, 559, 560, 561, 562, 563, 0, 564, 565,
+ 0, 0, 566, 567, 568, 569, 570, 571, 572, 0,
+ 573, 574, 575, 0, 0, 576, 577, 578, 579, 580,
+ 1796, 581, 582, 583, 584, 585, 586, 587, 588, 0,
+ 0, 589, 590, 591, 592, 593, 0, 0, 594, 595,
+ 596, 597, 598, 599, 600, 0, 601, 602, 603, 604,
+ 605, 606, 0, 0, 607, 0, 0, 608, 609, 610,
+ 611, 612, 613, 614, 615, 616, 617, 618, 619, 620,
+ 621, 622, 623, 624, 625, 626, 627, 942, 0, 1570,
+ 694, 0, 0, 0, 0, 755, 0, 0, 0, 0,
+ 1571, 1572, 0, 0, 235, 236, 237, 238, 239, 240,
+ 241, 242, 243, 0, 244, 245, 246, 0, 0, 0,
+ 0, 0, 0, 0, 247, 248, 249, 0, 250, 251,
+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
+ 262, 0, 263, 264, 265, 266, 267, 268, 269, 0,
+ 0, 270, 271, 272, 273, 274, 0, 275, 276, 277,
+ 278, 279, 0, 280, 0, 281, 282, 283, 284, 285,
+ 286, 287, 288, 289, 290, 0, 291, 292, 293, 294,
+ 295, 296, 0, 297, 298, 299, 300, 0, 0, 0,
+ 301, 0, 0, 0, 302, 303, 304, 305, 306, 307,
+ 308, 309, 310, 0, 311, 0, 312, 313, 314, 315,
+ 316, 317, 318, 0, 319, 320, 321, 322, 0, 0,
+ 323, 324, 325, 326, 327, 0, 328, 329, 330, 0,
+ 331, 332, 333, 0, 334, 335, 336, 337, 338, 339,
+ 340, 341, 342, 343, 1794, 344, 0, 345, 346, 347,
+ 348, 349, 0, 350, 0, 351, 352, 353, 0, 354,
+ 355, 356, 357, 358, 0, 359, 360, 0, 361, 362,
+ 363, 0, 364, 365, 366, 367, 368, 369, 370, 371,
+ 372, 373, 0, 374, 375, 376, 377, 378, 379, 380,
+ 381, 0, 382, 383, 384, 385, 386, 387, 388, 389,
+ 390, 0, 391, 0, 392, 393, 394, 395, 396, 397,
+ 398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
+ 0, 0, 408, 409, 410, 411, 412, 0, 413, 414,
+ 415, 0, 0, 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, 0, 447, 448, 449, 450, 0,
+ 451, 452, 453, 454, 455, 456, 0, 457, 458, 1795,
+ 0, 459, 460, 461, 0, 0, 462, 463, 464, 465,
+ 466, 467, 468, 469, 470, 471, 472, 473, 474, 475,
+ 476, 477, 478, 0, 479, 480, 481, 482, 483, 484,
+ 485, 486, 0, 487, 488, 489, 490, 491, 492, 493,
+ 494, 495, 496, 497, 498, 499, 500, 501, 0, 502,
+ 503, 504, 505, 506, 507, 508, 509, 510, 511, 512,
+ 513, 514, 0, 515, 516, 517, 518, 519, 520, 521,
+ 522, 523, 524, 525, 526, 527, 528, 529, 530, 531,
+ 532, 533, 0, 534, 535, 536, 537, 538, 0, 539,
+ 540, 541, 542, 543, 544, 545, 546, 547, 548, 0,
+ 549, 550, 551, 552, 553, 554, 555, 556, 557, 558,
+ 559, 560, 561, 562, 563, 0, 564, 565, 0, 0,
+ 566, 567, 568, 569, 570, 571, 572, 0, 573, 574,
+ 575, 0, 0, 576, 577, 578, 579, 580, 1796, 581,
+ 582, 583, 584, 585, 586, 587, 588, 0, 0, 589,
+ 590, 591, 592, 593, 0, 0, 594, 595, 596, 597,
+ 598, 599, 600, 0, 601, 602, 603, 604, 605, 606,
+ 0, 0, 607, 0, 0, 608, 609, 610, 611, 612,
+ 613, 614, 615, 616, 617, 618, 619, 620, 621, 622,
+ 623, 624, 625, 626, 627, 635, 0, 0, 0, 0,
+ 0, 0, 0, 755, 0, 0, 0, 0, 1571, 1572,
+ 0, 0, 235, 236, 756, 238, 239, 240, 241, 242,
+ 243, 757, 244, 245, 246, 0, 0, 0, 0, 0,
+ 0, 0, 247, 248, 249, 0, 250, 251, 252, 253,
+ 0, 758, 256, 257, 258, 259, 0, 261, 262, 0,
+ 263, 264, 265, 266, 267, 268, 269, 0, 0, 270,
+ 271, 272, 273, 274, 0, 275, 276, 277, 278, 279,
+ 0, 0, 0, 281, 282, 283, 284, 285, 286, 0,
+ 288, 289, 290, 0, 291, 292, 293, 294, 295, 296,
+ 0, 0, 298, 299, 300, 0, 0, 0, 0, 0,
+ 0, 0, 302, 303, 304, 305, 306, 307, 308, 309,
+ 310, 0, 311, 0, 312, 313, 314, 315, 316, 317,
+ 318, 0, 319, 320, 321, 322, 0, 0, 323, 324,
+ 325, 326, 327, 0, 328, 329, 330, 0, 331, 332,
+ 333, 0, 334, 335, 336, 337, 338, 339, 340, 341,
+ 342, 343, 0, 344, 0, 345, 346, 759, 348, 349,
+ 0, 350, 0, 351, 760, 0, 761, 0, 355, 356,
+ 357, 358, 0, 359, 360, 0, 361, 362, 363, 0,
+ 364, 365, 366, 367, 368, 0, 370, 371, 372, 373,
+ 762, 374, 375, 376, 377, 378, 379, 380, 381, 0,
+ 382, 0, 384, 385, 386, 387, 388, 389, 390, 0,
+ 391, 0, 392, 0, 0, 395, 0, 397, 398, 399,
+ 400, 401, 402, 403, 404, 405, 406, 763, 0, 0,
+ 408, 409, 0, 411, 0, 0, 413, 414, 415, 0,
+ 0, 416, 417, 418, 419, 420, 421, 422, 423, 424,
+ 425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
+ 0, 436, 437, 764, 439, 440, 441, 442, 443, 444,
+ 445, 446, 0, 447, 448, 0, 450, 0, 451, 452,
+ 453, 454, 455, 456, 0, 457, 458, 0, 0, 459,
+ 460, 461, 0, 0, 462, 463, 464, 0, 466, 0,
+ 468, 469, 470, 471, 472, 473, 474, 475, 476, 477,
+ 478, 0, 479, 480, 481, 482, 483, 484, 485, 486,
+ 0, 765, 488, 489, 490, 491, 492, 493, 494, 495,
+ 496, 497, 498, 499, 500, 501, 0, 502, 503, 504,
+ 766, 506, 507, 508, 509, 510, 511, 512, 513, 514,
+ 0, 515, 516, 0, 518, 519, 520, 521, 522, 523,
+ 524, 525, 526, 527, 528, 529, 530, 531, 532, 533,
+ 0, 534, 535, 536, 537, 538, 0, 539, 540, 541,
+ 542, 543, 0, 545, 546, 547, 548, 0, 549, 550,
+ 551, 552, 553, 554, 555, 556, 557, 558, 559, 560,
+ 561, 562, 563, 0, 564, 565, 0, 0, 566, 0,
+ 568, 569, 570, 571, 572, 0, 573, 574, 575, 0,
+ 0, 576, 577, 578, 579, 580, 0, 581, 582, 583,
+ 584, 585, 586, 587, 588, 0, 0, 589, 590, 591,
+ 592, 593, 0, 0, 594, 595, 596, 597, 598, 599,
+ 600, 0, 601, 0, 603, 604, 605, 606, 0, 0,
+ 607, 0, 0, 608, 609, 610, 611, 612, 613, 614,
+ 615, 616, 617, 618, 619, 620, 621, 622, 623, 624,
+ 625, 626, 627, 942, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 767, 768, 0, 0,
+ 235, 236, 237, 238, 239, 240, 241, 242, 243, 0,
+ 244, 245, 246, 3, 4, 0, 0, 0, 0, 0,
+ 247, 248, 249, 0, 250, 251, 252, 253, 254, 255,
+ 256, 257, 258, 259, 260, 261, 262, 0, 263, 264,
+ 265, 266, 267, 268, 269, 0, 0, 270, 271, 272,
+ 273, 274, 0, 275, 276, 277, 278, 279, 0, 280,
+ 0, 281, 282, 283, 284, 285, 286, 287, 288, 289,
+ 290, 0, 291, 292, 293, 294, 295, 296, 0, 297,
+ 298, 299, 300, 0, 0, 0, 301, 0, 0, 0,
+ 302, 303, 304, 305, 306, 307, 308, 309, 310, 0,
+ 311, 0, 312, 313, 314, 315, 316, 317, 318, 0,
+ 319, 320, 321, 322, 0, 0, 323, 324, 325, 326,
+ 327, 0, 328, 329, 330, 0, 331, 332, 333, 0,
+ 334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
+ 0, 344, 0, 345, 346, 347, 348, 349, 0, 350,
+ 0, 351, 352, 353, 0, 354, 355, 356, 357, 358,
+ 0, 359, 360, 0, 361, 362, 363, 0, 364, 365,
+ 366, 367, 368, 369, 370, 371, 372, 373, 0, 374,
+ 375, 376, 377, 378, 379, 380, 381, 0, 382, 383,
+ 384, 385, 386, 387, 388, 389, 390, 0, 391, 0,
+ 392, 393, 394, 395, 396, 397, 398, 399, 400, 401,
+ 402, 403, 404, 405, 406, 407, 0, 0, 408, 409,
+ 410, 411, 412, 0, 413, 414, 415, 0, 0, 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,
+ 0, 447, 448, 449, 450, 0, 451, 452, 453, 454,
+ 455, 456, 0, 457, 458, 0, 0, 459, 460, 461,
+ 0, 0, 462, 463, 464, 465, 466, 467, 468, 469,
+ 470, 471, 472, 473, 474, 475, 476, 477, 478, 0,
+ 479, 480, 481, 482, 483, 484, 485, 486, 0, 487,
+ 488, 489, 490, 491, 492, 493, 494, 495, 496, 497,
+ 498, 499, 500, 501, 0, 502, 503, 504, 505, 506,
+ 507, 508, 509, 510, 511, 512, 513, 514, 0, 515,
+ 516, 517, 518, 519, 520, 521, 522, 523, 524, 525,
+ 526, 527, 528, 529, 530, 531, 532, 533, 0, 534,
+ 535, 536, 537, 538, 0, 539, 540, 541, 542, 543,
+ 544, 545, 546, 547, 548, 0, 549, 550, 551, 552,
+ 553, 554, 555, 556, 557, 558, 559, 560, 561, 562,
+ 563, 0, 564, 565, 0, 0, 566, 567, 568, 569,
+ 570, 571, 572, 0, 573, 574, 575, 0, 0, 576,
+ 577, 578, 579, 580, 0, 581, 582, 583, 584, 585,
+ 586, 587, 588, 0, 0, 589, 590, 591, 592, 593,
+ 0, 0, 594, 595, 596, 597, 598, 599, 600, 0,
+ 601, 602, 603, 604, 605, 606, 0, 0, 607, 0,
+ 0, 608, 609, 610, 611, 612, 613, 614, 615, 616,
+ 617, 618, 619, 620, 621, 622, 623, 624, 625, 626,
+ 627, 1021, 1705, 0, 6174, 694, 0, 0, 0, 0,
+ 755, 0, 0, 0, 0, 0, 0, 0, 0, 235,
+ 236, 237, 238, 239, 240, 241, 242, 243, 1706, 244,
+ 245, 246, 1707, 1708, 1709, 1710, 1711, 1712, 1713, 247,
+ 248, 249, 1714, 250, 251, 252, 253, 254, 255, 256,
+ 257, 258, 259, 260, 261, 262, 1715, 263, 264, 265,
+ 266, 267, 268, 269, 1716, 1717, 270, 271, 272, 273,
+ 274, 1718, 275, 276, 277, 278, 279, 1719, 280, 1720,
+ 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
+ 1721, 291, 292, 293, 294, 295, 296, 1722, 297, 298,
+ 299, 300, 1723, 1724, 1725, 301, 1726, 1727, 1728, 302,
+ 303, 304, 305, 306, 307, 308, 309, 310, 1729, 311,
+ 1730, 312, 313, 314, 315, 316, 317, 318, 1731, 319,
+ 320, 321, 322, 1732, 1733, 323, 324, 325, 326, 327,
+ 1734, 328, 329, 330, 1735, 331, 332, 333, 1736, 334,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, 1737,
+ 344, 1738, 345, 346, 347, 348, 349, 1739, 350, 1740,
+ 351, 352, 353, 1741, 354, 355, 356, 357, 358, 1742,
+ 359, 360, 1743, 361, 362, 363, 1744, 364, 365, 366,
+ 367, 368, 369, 370, 371, 372, 373, 1745, 374, 375,
+ 376, 377, 378, 379, 380, 381, 1746, 382, 383, 384,
+ 385, 386, 387, 388, 389, 390, 1747, 391, 1748, 392,
+ 393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
+ 403, 404, 405, 406, 407, 1749, 1750, 408, 409, 410,
+ 411, 412, 1751, 413, 414, 415, 1752, 1753, 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, 1754,
+ 447, 448, 449, 450, 1755, 451, 452, 453, 454, 455,
+ 456, 1756, 457, 458, 1757, 1758, 459, 460, 461, 1759,
+ 1760, 462, 463, 464, 465, 466, 467, 468, 469, 470,
+ 471, 472, 473, 474, 475, 476, 477, 478, 1761, 479,
+ 480, 481, 482, 483, 484, 485, 486, 1762, 487, 488,
+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498,
+ 499, 500, 501, 1763, 502, 503, 504, 505, 506, 507,
+ 508, 509, 510, 511, 512, 513, 514, 1764, 515, 516,
+ 517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
+ 527, 528, 529, 530, 531, 532, 533, 1765, 534, 535,
+ 536, 537, 538, 1766, 539, 540, 541, 542, 543, 544,
+ 545, 546, 547, 548, 1767, 549, 550, 551, 552, 553,
+ 554, 555, 556, 557, 558, 559, 560, 561, 562, 563,
+ 1768, 564, 565, 1769, 1770, 566, 567, 568, 569, 570,
+ 571, 572, 1771, 573, 574, 575, 1772, 1773, 576, 577,
+ 578, 579, 580, 1774, 581, 582, 583, 584, 585, 586,
+ 587, 588, 1775, 1776, 589, 590, 591, 592, 593, 1777,
+ 1778, 594, 595, 596, 597, 598, 599, 600, 1779, 601,
+ 602, 603, 604, 605, 606, 1780, 1781, 607, 1782, 1783,
+ 608, 609, 610, 611, 612, 613, 614, 615, 616, 617,
+ 618, 619, 620, 621, 622, 623, 624, 625, 626, 627,
+ 1705, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 235, 236, 237,
+ 238, 239, 240, 241, 242, 243, 1706, 244, 245, 246,
+ 1707, 1708, 1709, 1710, 1711, 1712, 1713, 247, 248, 249,
+ 1714, 250, 251, 252, 253, 254, 255, 256, 257, 258,
+ 259, 260, 261, 262, 1715, 263, 264, 265, 266, 267,
+ 268, 269, 1716, 1717, 270, 271, 272, 273, 274, 1718,
+ 275, 276, 277, 278, 279, 1719, 280, 1720, 281, 282,
+ 283, 284, 285, 286, 287, 288, 289, 290, 1721, 291,
+ 292, 293, 294, 295, 296, 1722, 297, 298, 299, 300,
+ 1723, 1724, 1725, 301, 1726, 1727, 1728, 302, 303, 304,
+ 305, 306, 307, 308, 309, 310, 1729, 311, 1730, 312,
+ 313, 314, 315, 316, 317, 318, 1731, 319, 320, 321,
+ 322, 1732, 1733, 323, 324, 325, 326, 327, 1734, 328,
+ 329, 330, 1735, 331, 332, 333, 1736, 334, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, 1737, 344, 1738,
+ 345, 346, 347, 348, 349, 1739, 350, 1740, 351, 352,
+ 353, 1741, 354, 355, 356, 357, 358, 1742, 359, 360,
+ 1743, 361, 362, 363, 1744, 364, 365, 366, 367, 368,
+ 369, 370, 371, 372, 373, 1745, 374, 375, 376, 377,
+ 378, 379, 380, 381, 1746, 382, 383, 384, 385, 386,
+ 387, 388, 389, 390, 1747, 391, 1748, 392, 393, 394,
+ 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
+ 405, 406, 407, 1749, 1750, 408, 409, 410, 411, 412,
+ 1751, 413, 414, 415, 1752, 1753, 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, 1754, 447, 448,
+ 449, 450, 1755, 451, 452, 453, 454, 455, 456, 1756,
+ 457, 458, 1757, 1758, 459, 460, 461, 1759, 1760, 462,
+ 463, 464, 465, 466, 467, 468, 469, 470, 471, 472,
+ 473, 474, 475, 476, 477, 478, 1761, 479, 480, 481,
+ 482, 483, 484, 485, 486, 1762, 487, 488, 489, 490,
+ 491, 492, 493, 494, 495, 496, 497, 498, 499, 500,
+ 501, 1763, 502, 503, 504, 505, 506, 507, 508, 509,
+ 510, 511, 512, 513, 514, 1764, 515, 516, 517, 518,
+ 519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
+ 529, 530, 531, 532, 533, 1765, 534, 535, 536, 537,
+ 538, 1766, 539, 540, 541, 542, 543, 544, 545, 546,
+ 547, 548, 1767, 549, 550, 551, 552, 553, 554, 555,
+ 556, 557, 558, 559, 560, 561, 562, 563, 1768, 564,
+ 565, 1769, 1770, 566, 567, 568, 569, 570, 571, 572,
+ 1771, 573, 574, 575, 1772, 1773, 576, 577, 578, 579,
+ 580, 1774, 581, 582, 583, 584, 585, 586, 587, 588,
+ 1775, 1776, 589, 590, 591, 592, 593, 1777, 1778, 594,
+ 595, 596, 597, 598, 599, 600, 1779, 601, 602, 603,
+ 604, 605, 606, 1780, 1781, 607, 1782, 1783, 608, 609,
+ 610, 611, 612, 613, 614, 615, 616, 617, 618, 619,
+ 620, 621, 622, 623, 624, 625, 626, 627, 1705, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 235, 236, 237, 238, 239,
+ 3589, 241, 242, 243, 1706, 244, 245, 246, 1707, 1708,
+ 1709, 1710, 1711, 1712, 1713, 247, 248, 249, 1714, 250,
+ 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
+ 261, 262, 1715, 263, 264, 265, 266, 267, 268, 269,
+ 1716, 1717, 270, 271, 272, 273, 274, 1718, 275, 276,
+ 277, 278, 279, 1719, 280, 1720, 281, 282, 283, 284,
+ 285, 286, 287, 288, 289, 290, 1721, 291, 292, 293,
+ 294, 295, 296, 1722, 297, 298, 299, 300, 1723, 1724,
+ 1725, 301, 1726, 1727, 1728, 302, 303, 304, 305, 306,
+ 307, 308, 309, 310, 1729, 311, 1730, 312, 313, 314,
+ 315, 316, 317, 318, 1731, 319, 320, 321, 322, 1732,
+ 1733, 323, 324, 325, 3590, 327, 1734, 328, 329, 330,
+ 1735, 331, 332, 333, 1736, 334, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, 1737, 344, 1738, 345, 346,
+ 347, 348, 349, 1739, 350, 1740, 351, 352, 353, 1741,
+ 354, 355, 356, 357, 358, 1742, 359, 360, 1743, 361,
+ 362, 363, 1744, 364, 365, 366, 367, 368, 369, 370,
+ 371, 372, 373, 1745, 374, 375, 376, 377, 378, 379,
+ 380, 381, 1746, 382, 383, 384, 385, 386, 387, 388,
+ 389, 390, 1747, 391, 1748, 392, 393, 394, 395, 396,
+ 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
+ 407, 1749, 1750, 408, 409, 410, 411, 412, 1751, 413,
+ 414, 415, 1752, 1753, 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, 1754, 447, 448, 449, 450,
+ 1755, 451, 452, 453, 454, 455, 456, 1756, 457, 458,
+ 1757, 1758, 459, 460, 461, 1759, 1760, 462, 463, 464,
+ 465, 466, 467, 468, 469, 470, 471, 472, 473, 474,
+ 475, 476, 477, 478, 1761, 479, 480, 481, 482, 483,
+ 484, 485, 486, 1762, 487, 488, 489, 490, 491, 492,
+ 493, 494, 495, 496, 497, 498, 499, 500, 501, 1763,
+ 502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
+ 512, 513, 514, 1764, 515, 516, 517, 518, 519, 520,
+ 521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
+ 531, 532, 533, 1765, 534, 535, 536, 537, 538, 1766,
+ 3591, 540, 541, 542, 543, 544, 545, 546, 547, 548,
+ 1767, 549, 550, 551, 552, 553, 554, 555, 556, 557,
+ 558, 559, 560, 561, 562, 563, 1768, 564, 565, 1769,
+ 1770, 566, 567, 568, 569, 570, 571, 572, 1771, 573,
+ 574, 575, 1772, 1773, 576, 577, 578, 579, 580, 1774,
+ 581, 582, 583, 584, 585, 586, 587, 588, 1775, 1776,
+ 589, 590, 591, 592, 593, 1777, 1778, 594, 595, 596,
+ 597, 598, 599, 600, 1779, 601, 602, 603, 604, 605,
+ 606, 1780, 1781, 607, 1782, 1783, 608, 609, 610, 611,
+ 612, 613, 614, 615, 616, 617, 618, 619, 620, 621,
+ 622, 623, 624, 625, 626, 627, 234, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 235, 236, 237, 238, 239, 240, 241,
+ 242, 243, 0, 244, 245, 246, 0, 0, 0, 0,
+ 0, 0, 0, 247, 248, 249, 0, 250, 251, 252,
+ 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
+ 0, 263, 264, 265, 266, 267, 268, 269, 0, 1256,
+ 270, 271, 272, 273, 274, 0, 275, 276, 277, 278,
+ 1259, 0, 1260, 0, 281, 282, 283, 284, 285, 286,
+ 287, 288, 289, 290, 0, 291, 292, 293, 294, 295,
+ 296, 0, 297, 298, 299, 300, 1261, 1262, 1263, 1264,
+ 1265, 1266, 1267, 302, 303, 304, 305, 306, 307, 308,
+ 309, 310, 0, 311, 0, 312, 313, 314, 315, 316,
+ 317, 318, 0, 319, 320, 321, 322, 0, 0, 323,
+ 324, 325, 326, 327, 0, 328, 329, 330, 0, 331,
+ 332, 333, 0, 334, 335, 336, 337, 338, 339, 340,
+ 341, 342, 1272, 0, 344, 0, 345, 346, 347, 348,
+ 349, 0, 350, 0, 351, 352, 353, 0, 354, 355,
+ 356, 357, 358, 0, 359, 1275, 0, 361, 362, 363,
+ 0, 364, 365, 366, 367, 368, 369, 370, 371, 372,
+ 373, 0, 374, 375, 376, 377, 378, 379, 380, 381,
+ 0, 382, 383, 384, 385, 386, 387, 388, 389, 390,
+ 0, 391, 0, 392, 393, 394, 395, 396, 397, 1280,
+ 1281, 1282, 1283, 402, 403, 404, 405, 406, 407, 0,
+ 0, 408, 1284, 410, 411, 412, 0, 413, 414, 415,
+ 1285, 1286, 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, 1289, 446, 0, 447, 448, 449, 450, 0, 1292,
+ 452, 453, 454, 455, 456, 0, 457, 458, 0, 0,
+ 459, 460, 461, 0, 0, 462, 463, 464, 465, 466,
+ 467, 1295, 469, 470, 471, 472, 473, 474, 475, 476,
+ 477, 478, 0, 479, 480, 1296, 482, 483, 484, 485,
+ 486, 0, 487, 488, 489, 490, 491, 492, 493, 494,
+ 495, 496, 497, 498, 499, 500, 501, 0, 502, 503,
+ 504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
+ 514, 0, 515, 516, 517, 518, 519, 520, 521, 522,
+ 523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
+ 533, 0, 534, 535, 536, 537, 538, 1299, 539, 540,
+ 541, 542, 543, 544, 545, 546, 547, 548, 0, 549,
+ 550, 551, 552, 553, 554, 555, 556, 557, 558, 559,
+ 560, 561, 1301, 563, 0, 564, 565, 1302, 0, 566,
+ 567, 568, 569, 570, 571, 572, 0, 573, 574, 575,
+ 0, 0, 576, 577, 1305, 579, 1306, 0, 581, 582,
+ 583, 584, 585, 586, 587, 588, 0, 0, 589, 590,
+ 591, 592, 593, 1309, 0, 594, 595, 596, 597, 598,
+ 599, 600, 0, 601, 602, 603, 604, 605, 606, 0,
+ 0, 607, 0, 0, 608, 609, 610, 611, 612, 613,
+ 614, 1311, 1312, 1313, 1314, 619, 1315, 1316, 1317, 1318,
+ 624, 625, 626, 627, 234, 0, 1246, 694, 0, 1247,
+ 1248, 0, 755, 0, 0, 0, 0, 0, 0, 0,
+ 0, 235, 236, 237, 238, 239, 240, 241, 242, 243,
+ 0, 244, 245, 246, 0, 0, 0, 0, 0, 0,
+ 0, 247, 248, 249, 0, 250, 251, 252, 253, 254,
+ 255, 256, 257, 258, 1252, 260, 1253, 1254, 0, 263,
+ 264, 265, 266, 267, 268, 269, 0, 0, 270, 271,
+ 1257, 1258, 274, 0, 275, 276, 277, 278, 279, 0,
+ 280, 0, 281, 282, 283, 284, 285, 286, 287, 288,
+ 289, 290, 0, 291, 292, 293, 294, 295, 296, 0,
+ 297, 298, 299, 300, 0, 0, 0, 301, 0, 0,
+ 0, 302, 303, 304, 305, 306, 307, 1268, 1269, 310,
+ 0, 311, 0, 312, 313, 314, 315, 316, 317, 318,
+ 0, 319, 320, 321, 322, 0, 0, 323, 324, 864,
+ 326, 327, 0, 328, 329, 330, 0, 331, 332, 333,
+ 0, 334, 335, 336, 337, 338, 339, 340, 341, 342,
+ 343, 1273, 344, 0, 345, 346, 347, 1274, 349, 0,
+ 350, 0, 351, 352, 353, 0, 354, 355, 356, 357,
+ 358, 0, 359, 360, 0, 361, 362, 363, 0, 364,
+ 365, 366, 367, 368, 369, 370, 371, 372, 373, 0,
+ 374, 375, 376, 377, 378, 379, 380, 381, 0, 382,
+ 383, 384, 385, 386, 387, 388, 1277, 1278, 0, 1279,
+ 0, 392, 393, 394, 395, 396, 397, 398, 399, 400,
+ 401, 402, 403, 404, 405, 406, 407, 0, 0, 408,
+ 409, 410, 411, 412, 0, 413, 414, 415, 0, 0,
+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
+ 426, 427, 428, 429, 430, 431, 432, 433, 1287, 435,
+ 1288, 437, 438, 439, 440, 441, 442, 443, 444, 445,
+ 446, 0, 447, 448, 449, 450, 1291, 451, 452, 1293,
+ 454, 455, 456, 0, 457, 458, 0, 0, 459, 460,
+ 461, 0, 0, 462, 463, 464, 465, 466, 467, 468,
+ 469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
+ 0, 479, 480, 481, 482, 483, 484, 485, 486, 0,
+ 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
+ 1297, 498, 499, 500, 501, 0, 502, 503, 504, 505,
+ 506, 507, 508, 509, 510, 511, 512, 513, 514, 0,
+ 515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 0,
+ 534, 535, 536, 537, 538, 0, 539, 540, 541, 542,
+ 543, 544, 545, 546, 1300, 548, 0, 549, 550, 551,
+ 552, 553, 554, 555, 556, 557, 558, 559, 560, 561,
+ 562, 563, 0, 564, 565, 0, 0, 566, 567, 568,
+ 569, 570, 571, 572, 0, 573, 1303, 1304, 0, 0,
+ 576, 577, 578, 579, 580, 1307, 581, 582, 583, 584,
+ 585, 586, 587, 588, 0, 0, 589, 590, 591, 592,
+ 593, 0, 0, 594, 595, 596, 597, 598, 599, 1310,
+ 0, 601, 602, 603, 604, 605, 606, 0, 0, 607,
+ 0, 0, 608, 609, 610, 611, 612, 613, 614, 615,
+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625,
+ 626, 627, 942, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 235,
+ 236, 237, 238, 239, 240, 241, 242, 243, 981, 244,
+ 245, 246, 0, 0, 0, 0, 0, 0, 0, 247,
+ 248, 249, 0, 250, 251, 252, 253, 254, 255, 256,
+ 257, 258, 259, 260, 261, 262, 0, 263, 264, 265,
+ 266, 267, 268, 269, 0, 0, 270, 271, 272, 273,
+ 274, 0, 275, 276, 277, 278, 279, 0, 280, 0,
+ 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
+ 0, 291, 292, 293, 294, 295, 296, 0, 297, 298,
+ 299, 300, 0, 0, 943, 301, 0, 0, 944, 302,
+ 303, 304, 305, 306, 307, 308, 309, 310, 0, 311,
+ 0, 312, 313, 314, 315, 316, 317, 318, 0, 319,
+ 320, 321, 322, 0, 0, 323, 324, 325, 326, 327,
+ 0, 328, 329, 330, 0, 331, 332, 333, 0, 334,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, 0,
+ 344, 0, 345, 346, 347, 348, 349, 0, 350, 0,
+ 351, 352, 353, 0, 354, 355, 356, 357, 358, 0,
+ 359, 360, 0, 361, 362, 363, 0, 364, 365, 366,
+ 367, 368, 369, 370, 371, 372, 373, 0, 374, 375,
+ 376, 377, 378, 379, 380, 381, 0, 382, 383, 384,
+ 385, 386, 387, 388, 389, 390, 0, 391, 0, 392,
+ 393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
+ 403, 404, 405, 406, 407, 0, 0, 408, 409, 410,
+ 411, 412, 0, 413, 414, 415, 0, 0, 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, 0,
+ 447, 448, 449, 450, 0, 451, 452, 453, 454, 455,
+ 456, 0, 457, 458, 0, 0, 459, 460, 461, 0,
+ 0, 462, 463, 464, 465, 466, 467, 468, 469, 470,
+ 471, 472, 473, 474, 475, 476, 477, 478, 0, 479,
+ 480, 481, 482, 483, 484, 485, 486, 0, 487, 488,
+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498,
+ 499, 500, 501, 0, 502, 503, 504, 505, 506, 507,
+ 508, 509, 510, 511, 512, 513, 514, 0, 515, 516,
+ 517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
+ 527, 528, 529, 530, 531, 532, 533, 0, 534, 535,
+ 536, 537, 538, 945, 539, 540, 541, 542, 543, 544,
+ 545, 546, 547, 548, 0, 549, 550, 551, 552, 553,
+ 554, 555, 556, 557, 558, 559, 560, 561, 562, 563,
+ 0, 564, 565, 0, 0, 566, 567, 568, 569, 570,
+ 571, 572, 0, 573, 574, 575, 0, 0, 576, 577,
+ 578, 579, 580, 0, 581, 582, 583, 584, 585, 586,
+ 587, 588, 0, 0, 589, 590, 591, 592, 593, 0,
+ 0, 594, 595, 596, 597, 598, 599, 600, 0, 601,
+ 602, 603, 604, 605, 606, 0, 0, 607, 0, 0,
+ 608, 609, 610, 611, 612, 613, 614, 615, 616, 617,
+ 618, 619, 620, 621, 622, 623, 624, 625, 626, 627,
+ 942, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 235, 236, 237,
+ 238, 239, 240, 241, 242, 243, 1002, 244, 245, 246,
+ 0, 0, 0, 0, 0, 0, 0, 247, 248, 249,
+ 0, 250, 251, 252, 253, 254, 255, 256, 257, 258,
+ 259, 260, 261, 262, 0, 263, 264, 265, 266, 267,
+ 268, 269, 0, 0, 270, 271, 272, 273, 274, 0,
+ 275, 276, 277, 278, 279, 0, 280, 0, 281, 282,
+ 283, 284, 285, 286, 287, 288, 289, 290, 0, 291,
+ 292, 293, 294, 295, 296, 0, 297, 298, 299, 300,
+ 0, 0, 943, 301, 0, 0, 944, 302, 303, 304,
+ 305, 306, 307, 308, 309, 310, 0, 311, 0, 312,
+ 313, 314, 315, 316, 317, 318, 0, 319, 320, 321,
+ 322, 0, 0, 323, 324, 325, 326, 327, 0, 328,
+ 329, 330, 0, 331, 332, 333, 0, 334, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, 0, 344, 0,
+ 345, 346, 347, 348, 349, 0, 350, 0, 351, 352,
+ 353, 0, 354, 355, 356, 357, 358, 0, 359, 360,
+ 0, 361, 362, 363, 0, 364, 365, 366, 367, 368,
+ 369, 370, 371, 372, 373, 0, 374, 375, 376, 377,
+ 378, 379, 380, 381, 0, 382, 383, 384, 385, 386,
+ 387, 388, 389, 390, 0, 391, 0, 392, 393, 394,
+ 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
+ 405, 406, 407, 0, 0, 408, 409, 410, 411, 412,
+ 0, 413, 414, 415, 0, 0, 416, 417, 418, 419,
+ 1003, 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, 0, 447, 448,
+ 449, 450, 0, 451, 452, 453, 454, 455, 456, 0,
+ 457, 458, 0, 0, 459, 460, 461, 0, 0, 462,
+ 463, 464, 465, 466, 467, 468, 469, 470, 471, 472,
+ 473, 474, 475, 476, 477, 478, 0, 479, 480, 481,
+ 482, 483, 484, 485, 486, 0, 487, 488, 489, 490,
+ 491, 492, 493, 494, 495, 496, 497, 498, 499, 500,
+ 501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
+ 510, 511, 512, 513, 514, 0, 515, 516, 517, 518,
+ 519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
+ 529, 530, 531, 532, 533, 0, 534, 535, 536, 537,
+ 538, 945, 539, 540, 541, 542, 543, 544, 545, 546,
+ 547, 548, 0, 549, 550, 551, 552, 553, 554, 555,
+ 556, 557, 558, 559, 560, 561, 562, 563, 0, 564,
+ 565, 0, 0, 566, 567, 568, 569, 570, 571, 572,
+ 0, 573, 574, 575, 0, 0, 576, 577, 578, 579,
+ 580, 0, 581, 582, 583, 584, 585, 586, 587, 588,
+ 0, 0, 589, 590, 591, 592, 593, 0, 0, 594,
+ 595, 596, 597, 598, 599, 600, 0, 601, 602, 603,
+ 604, 605, 606, 0, 0, 607, 0, 0, 608, 609,
+ 610, 611, 612, 613, 614, 615, 616, 617, 618, 619,
+ 620, 621, 622, 623, 624, 625, 626, 627, 942, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 235, 236, 237, 238, 239,
+ 240, 241, 242, 243, 0, 244, 245, 246, 0, 0,
+ 0, 0, 0, 0, 0, 247, 248, 249, 0, 250,
+ 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
+ 261, 262, 0, 263, 264, 265, 266, 267, 268, 269,
+ 0, 0, 270, 271, 272, 273, 274, 0, 275, 276,
+ 277, 278, 279, 0, 280, 0, 281, 282, 283, 284,
+ 285, 286, 287, 288, 289, 290, 0, 291, 292, 293,
+ 294, 295, 296, 0, 297, 298, 299, 300, 0, 0,
+ 943, 301, 0, 0, 944, 302, 303, 304, 305, 306,
+ 307, 308, 309, 310, 0, 311, 0, 312, 313, 314,
+ 315, 316, 317, 318, 0, 319, 320, 321, 322, 0,
+ 0, 323, 324, 325, 326, 327, 0, 328, 329, 330,
+ 0, 331, 332, 333, 0, 334, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, 0, 344, 0, 345, 346,
+ 347, 348, 349, 0, 350, 0, 351, 352, 353, 0,
+ 354, 355, 356, 357, 358, 0, 359, 360, 0, 361,
+ 362, 363, 0, 364, 365, 366, 367, 368, 369, 370,
+ 371, 372, 373, 0, 374, 375, 376, 377, 378, 379,
+ 380, 381, 0, 382, 383, 384, 385, 386, 387, 388,
+ 389, 390, 0, 391, 0, 392, 393, 394, 395, 396,
+ 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
+ 407, 0, 0, 408, 409, 410, 411, 412, 0, 413,
+ 414, 415, 0, 0, 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, 0, 447, 448, 449, 450,
+ 0, 451, 452, 453, 454, 455, 456, 0, 457, 458,
+ 0, 0, 459, 460, 461, 0, 0, 462, 463, 464,
+ 465, 466, 467, 468, 469, 470, 471, 472, 473, 474,
+ 475, 476, 477, 478, 0, 479, 480, 481, 482, 483,
+ 484, 485, 486, 0, 487, 488, 489, 490, 491, 492,
+ 493, 494, 495, 496, 497, 498, 499, 500, 501, 0,
+ 502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
+ 512, 513, 514, 0, 515, 516, 517, 518, 519, 520,
+ 521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
+ 531, 532, 533, 0, 534, 535, 536, 537, 538, 945,
+ 539, 540, 541, 542, 543, 544, 545, 546, 547, 548,
+ 0, 549, 550, 551, 552, 553, 554, 555, 556, 557,
+ 558, 559, 560, 561, 562, 563, 0, 564, 565, 0,
+ 0, 566, 567, 568, 569, 570, 571, 572, 0, 573,
+ 574, 575, 0, 0, 576, 577, 578, 579, 580, 0,
+ 581, 582, 583, 584, 585, 586, 587, 588, 0, 0,
+ 589, 590, 591, 592, 593, 2933, 0, 594, 595, 596,
+ 597, 598, 599, 600, 0, 601, 602, 603, 604, 605,
+ 606, 0, 0, 607, 0, 0, 608, 609, 610, 611,
+ 612, 613, 614, 615, 616, 617, 618, 619, 620, 621,
+ 622, 623, 624, 625, 626, 627, 942, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 235, 236, 237, 238, 239, 240, 241,
+ 242, 243, 0, 244, 245, 246, 0, 0, 0, 0,
+ 0, 0, 0, 247, 248, 249, 0, 250, 251, 252,
+ 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
+ 0, 263, 264, 265, 266, 267, 268, 269, 0, 0,
+ 270, 271, 272, 273, 274, 0, 275, 276, 277, 278,
+ 279, 0, 280, 0, 281, 282, 283, 284, 285, 286,
+ 287, 288, 289, 290, 0, 291, 292, 293, 294, 295,
+ 296, 0, 297, 298, 299, 300, 0, 0, 943, 301,
+ 0, 0, 944, 302, 303, 304, 305, 306, 307, 308,
+ 309, 310, 0, 311, 0, 312, 313, 314, 315, 316,
+ 317, 318, 0, 319, 320, 321, 322, 0, 0, 323,
+ 324, 325, 326, 327, 0, 328, 329, 330, 0, 331,
+ 332, 333, 0, 334, 335, 336, 337, 338, 339, 340,
+ 341, 342, 343, 0, 344, 0, 345, 346, 347, 348,
+ 349, 0, 350, 0, 351, 352, 353, 0, 354, 355,
+ 356, 357, 358, 0, 359, 360, 3939, 361, 362, 363,
+ 0, 364, 365, 366, 367, 368, 369, 370, 371, 372,
+ 373, 0, 374, 375, 376, 377, 378, 379, 380, 381,
+ 0, 382, 383, 384, 385, 386, 387, 388, 389, 390,
+ 0, 391, 0, 392, 393, 394, 395, 396, 397, 398,
+ 399, 400, 401, 402, 403, 404, 405, 406, 407, 0,
+ 0, 408, 409, 410, 411, 412, 0, 413, 414, 415,
+ 0, 0, 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, 0, 447, 448, 449, 450, 0, 451,
+ 452, 453, 454, 455, 456, 0, 457, 458, 0, 0,
+ 459, 460, 461, 0, 0, 462, 463, 464, 465, 466,
+ 467, 468, 469, 470, 471, 472, 473, 474, 475, 476,
+ 477, 478, 0, 479, 480, 481, 482, 483, 484, 485,
+ 486, 0, 487, 488, 489, 490, 491, 492, 493, 494,
+ 495, 496, 497, 498, 499, 500, 501, 0, 502, 503,
+ 504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
+ 514, 0, 515, 516, 517, 518, 519, 520, 521, 522,
+ 523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
+ 533, 0, 534, 535, 536, 537, 538, 945, 539, 540,
+ 541, 542, 543, 544, 545, 546, 547, 548, 0, 549,
+ 550, 551, 552, 553, 554, 555, 556, 557, 558, 559,
+ 560, 561, 562, 563, 0, 564, 565, 0, 0, 566,
+ 567, 568, 569, 570, 571, 572, 0, 573, 574, 575,
+ 0, 0, 576, 577, 578, 579, 580, 0, 581, 582,
+ 583, 584, 585, 586, 587, 588, 0, 0, 589, 590,
+ 591, 592, 593, 0, 0, 594, 595, 596, 597, 598,
+ 599, 600, 0, 601, 602, 603, 604, 605, 606, 0,
+ 0, 607, 0, 0, 608, 609, 610, 611, 612, 613,
+ 614, 615, 616, 617, 618, 619, 620, 621, 622, 623,
+ 624, 625, 626, 627, 942, 0, 0, 694, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 235, 236, 237, 238, 239, 240, 241, 242, 243,
+ 0, 244, 245, 246, 0, 0, 0, 0, 0, 0,
+ 0, 247, 248, 249, 0, 250, 251, 252, 253, 254,
+ 255, 256, 257, 258, 259, 260, 261, 262, 0, 263,
+ 264, 265, 266, 267, 268, 269, 0, 0, 270, 271,
+ 272, 273, 274, 0, 275, 276, 277, 278, 279, 0,
+ 280, 0, 281, 282, 283, 284, 285, 286, 287, 288,
+ 289, 290, 0, 291, 292, 293, 294, 295, 296, 0,
+ 297, 298, 299, 300, 0, 0, 0, 301, 0, 0,
+ 0, 302, 303, 304, 305, 306, 307, 308, 309, 310,
+ 0, 311, 0, 312, 313, 314, 315, 316, 317, 318,
+ 0, 319, 320, 321, 322, 0, 0, 323, 324, 325,
+ 326, 327, 0, 328, 329, 330, 0, 331, 332, 333,
+ 0, 334, 335, 336, 337, 338, 339, 340, 341, 342,
+ 343, 1794, 344, 0, 345, 346, 347, 348, 349, 0,
+ 350, 0, 351, 352, 353, 0, 354, 355, 356, 357,
+ 358, 0, 359, 360, 0, 361, 362, 363, 0, 364,
+ 365, 366, 367, 368, 369, 370, 371, 372, 373, 0,
+ 374, 375, 376, 377, 378, 379, 380, 381, 0, 382,
+ 383, 384, 385, 386, 387, 388, 389, 390, 0, 391,
+ 0, 392, 393, 394, 395, 396, 397, 398, 399, 400,
+ 401, 402, 403, 404, 405, 406, 407, 0, 0, 408,
+ 409, 410, 411, 412, 0, 413, 414, 415, 0, 0,
+ 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, 0, 447, 448, 449, 450, 0, 451, 452, 453,
+ 454, 455, 456, 0, 457, 458, 1795, 0, 459, 460,
+ 461, 0, 0, 462, 463, 464, 465, 466, 467, 468,
+ 469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
+ 0, 479, 480, 481, 482, 483, 484, 485, 486, 0,
+ 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
+ 497, 498, 499, 500, 501, 0, 502, 503, 504, 505,
+ 506, 507, 508, 509, 510, 511, 512, 513, 514, 0,
+ 515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 0,
+ 534, 535, 536, 537, 538, 0, 539, 540, 541, 542,
+ 543, 544, 545, 546, 547, 548, 0, 549, 550, 551,
+ 552, 553, 554, 555, 556, 557, 558, 559, 560, 561,
+ 562, 563, 0, 564, 565, 0, 0, 566, 567, 568,
+ 569, 570, 571, 572, 0, 573, 574, 575, 0, 0,
+ 576, 577, 578, 579, 580, 1796, 581, 582, 583, 584,
+ 585, 586, 587, 588, 0, 0, 589, 590, 591, 592,
+ 593, 0, 0, 594, 595, 596, 597, 598, 599, 600,
+ 0, 601, 602, 603, 604, 605, 606, 0, 0, 607,
+ 0, 0, 608, 609, 610, 611, 612, 613, 614, 615,
+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625,
+ 626, 627, 942, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 235,
+ 236, 237, 238, 239, 240, 241, 242, 243, 0, 244,
+ 245, 246, 0, 0, 0, 0, 0, 0, 0, 247,
+ 248, 249, 0, 250, 251, 252, 253, 254, 255, 256,
+ 257, 258, 259, 260, 261, 262, 0, 263, 264, 265,
+ 266, 267, 268, 269, 0, 0, 270, 271, 272, 273,
+ 274, 0, 275, 276, 277, 278, 279, 0, 280, 0,
+ 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
+ 0, 291, 292, 293, 294, 295, 296, 0, 297, 298,
+ 299, 300, 0, 0, 943, 301, 0, 0, 944, 302,
+ 303, 304, 305, 306, 307, 308, 309, 310, 0, 311,
+ 0, 312, 313, 314, 315, 316, 317, 318, 0, 319,
+ 320, 321, 322, 0, 0, 323, 324, 325, 326, 327,
+ 0, 328, 329, 330, 0, 331, 332, 333, 0, 334,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, 0,
+ 344, 0, 345, 346, 347, 348, 349, 0, 350, 0,
+ 351, 352, 353, 0, 354, 355, 356, 357, 358, 0,
+ 359, 360, 0, 361, 362, 363, 0, 364, 365, 366,
+ 367, 368, 369, 370, 371, 372, 373, 0, 374, 375,
+ 376, 377, 378, 379, 380, 381, 0, 382, 383, 384,
+ 385, 386, 387, 388, 389, 390, 0, 391, 0, 392,
+ 393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
+ 403, 404, 405, 406, 407, 0, 0, 408, 409, 410,
+ 411, 412, 0, 413, 414, 415, 0, 0, 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, 0,
+ 447, 448, 449, 450, 0, 451, 452, 453, 454, 455,
+ 456, 0, 457, 458, 0, 0, 459, 460, 461, 0,
+ 0, 462, 463, 464, 465, 466, 467, 468, 469, 470,
+ 471, 472, 473, 474, 475, 476, 477, 478, 0, 479,
+ 480, 481, 482, 483, 484, 485, 486, 0, 487, 488,
+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498,
+ 499, 500, 501, 0, 502, 503, 504, 505, 506, 507,
+ 508, 509, 510, 511, 512, 513, 514, 0, 515, 516,
+ 517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
+ 527, 528, 529, 530, 531, 532, 533, 0, 534, 535,
+ 536, 537, 538, 945, 539, 540, 541, 542, 543, 544,
+ 545, 546, 547, 548, 0, 549, 550, 551, 552, 553,
+ 554, 555, 556, 557, 558, 559, 560, 561, 562, 563,
+ 0, 564, 565, 0, 0, 566, 567, 568, 569, 570,
+ 571, 572, 0, 573, 574, 575, 0, 0, 576, 577,
+ 578, 579, 580, 0, 581, 582, 583, 584, 585, 586,
+ 587, 588, 0, 0, 589, 590, 591, 592, 593, 0,
+ 0, 594, 595, 596, 597, 598, 599, 600, 0, 601,
+ 602, 603, 604, 605, 606, 0, 0, 607, 0, 0,
+ 608, 609, 610, 611, 612, 613, 614, 615, 616, 617,
+ 618, 619, 620, 621, 622, 623, 624, 625, 626, 627,
+ 942, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 235, 236, 237,
+ 238, 239, 240, 241, 242, 243, 0, 244, 245, 246,
+ 0, 0, 0, 0, 0, 0, 0, 247, 248, 249,
+ 0, 250, 251, 252, 253, 254, 255, 256, 257, 258,
+ 259, 260, 261, 262, 0, 263, 264, 265, 266, 267,
+ 268, 269, 0, 0, 270, 271, 272, 273, 274, 0,
+ 275, 276, 277, 278, 279, 0, 280, 0, 281, 282,
+ 283, 284, 285, 286, 287, 288, 289, 290, 0, 291,
+ 292, 293, 294, 295, 296, 0, 297, 298, 299, 300,
+ 0, 0, 943, 301, 0, 0, 944, 302, 303, 304,
+ 305, 306, 307, 308, 309, 310, 0, 311, 0, 312,
+ 313, 314, 315, 316, 317, 318, 0, 319, 320, 321,
+ 322, 0, 0, 323, 324, 325, 326, 327, 0, 328,
+ 329, 330, 0, 331, 332, 333, 0, 334, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, 0, 344, 0,
+ 345, 346, 347, 348, 349, 0, 350, 0, 351, 352,
+ 353, 0, 354, 355, 356, 357, 358, 0, 359, 360,
+ 0, 361, 362, 363, 0, 364, 365, 366, 367, 368,
+ 369, 370, 371, 372, 373, 0, 374, 375, 376, 377,
+ 378, 379, 380, 381, 0, 382, 383, 384, 385, 386,
+ 387, 388, 389, 390, 0, 391, 0, 392, 393, 394,
+ 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
+ 405, 406, 407, 0, 0, 408, 409, 410, 411, 412,
+ 0, 413, 414, 415, 0, 0, 416, 417, 418, 419,
+ 1097, 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, 0, 447, 448,
+ 449, 450, 0, 451, 452, 453, 454, 455, 456, 0,
+ 457, 458, 0, 0, 459, 460, 461, 0, 0, 462,
+ 463, 464, 465, 466, 467, 468, 469, 470, 471, 472,
+ 473, 474, 475, 476, 477, 478, 0, 479, 480, 481,
+ 482, 483, 484, 485, 486, 0, 487, 488, 489, 490,
+ 491, 492, 493, 494, 495, 496, 497, 498, 499, 500,
+ 501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
+ 510, 511, 512, 513, 514, 0, 515, 516, 517, 518,
+ 519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
+ 529, 530, 531, 532, 533, 0, 534, 535, 536, 537,
+ 538, 945, 539, 540, 541, 542, 543, 544, 545, 546,
+ 547, 548, 0, 549, 550, 551, 552, 553, 554, 555,
+ 556, 557, 558, 559, 560, 561, 562, 563, 0, 564,
+ 565, 0, 0, 566, 567, 568, 569, 570, 571, 572,
+ 0, 573, 574, 575, 0, 0, 576, 577, 578, 579,
+ 580, 0, 581, 582, 583, 584, 585, 586, 587, 588,
+ 0, 0, 589, 590, 591, 592, 593, 0, 0, 594,
+ 595, 596, 597, 598, 599, 600, 0, 601, 602, 603,
+ 604, 605, 606, 0, 0, 607, 0, 0, 608, 609,
+ 610, 611, 612, 613, 614, 615, 616, 617, 618, 619,
+ 620, 621, 622, 623, 624, 625, 626, 627, 942, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 235, 236, 237, 238, 239,
+ 240, 241, 242, 243, 0, 244, 245, 246, 0, 0,
+ 0, 0, 0, 0, 0, 247, 248, 249, 0, 250,
+ 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
+ 261, 262, 0, 263, 264, 265, 266, 267, 268, 269,
+ 0, 0, 270, 271, 272, 273, 274, 0, 275, 276,
+ 277, 278, 279, 0, 280, 0, 281, 282, 283, 284,
+ 285, 286, 287, 288, 289, 290, 0, 291, 292, 293,
+ 294, 295, 296, 0, 297, 298, 299, 300, 0, 0,
+ 943, 301, 0, 0, 944, 302, 303, 304, 305, 306,
+ 307, 308, 309, 310, 0, 311, 0, 312, 313, 314,
+ 315, 316, 317, 318, 0, 319, 320, 321, 322, 0,
+ 0, 323, 324, 325, 326, 327, 0, 328, 329, 330,
+ 0, 331, 332, 333, 0, 334, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, 0, 344, 0, 345, 346,
+ 347, 348, 349, 0, 350, 0, 351, 352, 353, 0,
+ 354, 355, 356, 357, 358, 0, 359, 360, 0, 361,
+ 362, 363, 0, 364, 365, 366, 367, 1139, 369, 370,
+ 371, 372, 373, 0, 374, 375, 376, 377, 378, 379,
+ 380, 381, 0, 382, 383, 384, 385, 386, 387, 388,
+ 389, 390, 0, 391, 0, 392, 393, 394, 395, 396,
+ 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
+ 407, 0, 0, 408, 409, 410, 411, 412, 0, 413,
+ 414, 415, 0, 0, 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, 0, 447, 448, 449, 450,
+ 0, 451, 452, 453, 454, 455, 456, 0, 457, 458,
+ 0, 0, 459, 460, 461, 0, 0, 462, 463, 464,
+ 465, 466, 467, 468, 469, 470, 471, 472, 473, 474,
+ 475, 476, 477, 478, 0, 479, 480, 481, 482, 483,
+ 484, 485, 486, 0, 487, 488, 489, 490, 491, 492,
+ 493, 494, 495, 496, 497, 498, 499, 500, 501, 0,
+ 502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
+ 512, 513, 514, 0, 515, 516, 517, 518, 519, 520,
+ 521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
+ 531, 532, 533, 0, 534, 535, 536, 537, 538, 945,
+ 539, 540, 541, 542, 543, 544, 545, 546, 547, 548,
+ 0, 549, 550, 551, 552, 553, 554, 555, 556, 557,
+ 558, 559, 560, 561, 562, 563, 0, 564, 565, 0,
+ 0, 566, 567, 568, 569, 570, 571, 572, 0, 573,
+ 574, 575, 0, 0, 576, 577, 578, 579, 580, 0,
+ 581, 582, 583, 584, 585, 586, 587, 588, 0, 0,
+ 589, 590, 591, 592, 593, 0, 0, 594, 595, 596,
+ 597, 598, 599, 600, 0, 601, 602, 603, 604, 605,
+ 606, 0, 0, 607, 0, 0, 608, 609, 610, 611,
+ 612, 613, 614, 615, 616, 617, 618, 619, 620, 621,
+ 622, 623, 624, 625, 626, 627, 942, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 235, 236, 237, 238, 239, 240, 241,
+ 242, 243, 0, 244, 245, 246, 0, 0, 0, 0,
+ 0, 0, 0, 247, 248, 249, 0, 250, 251, 252,
+ 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
+ 0, 263, 264, 265, 266, 267, 268, 269, 0, 0,
+ 270, 271, 272, 273, 274, 0, 275, 276, 277, 278,
+ 279, 0, 280, 0, 281, 282, 283, 284, 285, 286,
+ 287, 288, 289, 290, 0, 291, 292, 293, 294, 295,
+ 296, 0, 297, 298, 299, 300, 0, 0, 943, 301,
+ 0, 0, 944, 302, 303, 304, 305, 306, 307, 308,
+ 309, 310, 0, 311, 0, 312, 313, 314, 315, 316,
+ 317, 318, 0, 319, 320, 321, 322, 0, 0, 323,
+ 324, 325, 326, 327, 0, 328, 329, 330, 0, 331,
+ 332, 333, 0, 334, 335, 336, 337, 338, 339, 340,
+ 341, 342, 343, 0, 344, 0, 345, 346, 347, 348,
+ 349, 0, 350, 0, 351, 352, 353, 0, 354, 355,
+ 356, 357, 358, 0, 359, 360, 0, 361, 362, 363,
+ 0, 364, 365, 366, 367, 1152, 369, 370, 371, 372,
+ 373, 0, 374, 375, 376, 377, 378, 379, 380, 381,
+ 0, 382, 383, 384, 385, 386, 387, 388, 389, 390,
+ 0, 391, 0, 392, 393, 394, 395, 396, 397, 398,
+ 399, 400, 401, 402, 403, 404, 405, 406, 407, 0,
+ 0, 408, 409, 410, 411, 412, 0, 413, 414, 415,
+ 0, 0, 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, 0, 447, 448, 449, 450, 0, 451,
+ 452, 453, 454, 455, 456, 0, 457, 458, 0, 0,
+ 459, 460, 461, 0, 0, 462, 463, 464, 465, 466,
+ 467, 468, 469, 470, 471, 472, 473, 474, 475, 476,
+ 477, 478, 0, 479, 480, 481, 482, 483, 484, 485,
+ 486, 0, 487, 488, 489, 490, 491, 492, 493, 494,
+ 495, 496, 497, 498, 499, 500, 501, 0, 502, 503,
+ 504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
+ 514, 0, 515, 516, 517, 518, 519, 520, 521, 522,
+ 523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
+ 533, 0, 534, 535, 536, 537, 538, 945, 539, 540,
+ 541, 542, 543, 544, 545, 546, 547, 548, 0, 549,
+ 550, 551, 552, 553, 554, 555, 556, 557, 558, 559,
+ 560, 561, 562, 563, 0, 564, 565, 0, 0, 566,
+ 567, 568, 569, 570, 571, 572, 0, 573, 574, 575,
+ 0, 0, 576, 577, 578, 579, 580, 0, 581, 582,
+ 583, 584, 585, 586, 587, 588, 0, 0, 589, 590,
+ 591, 592, 593, 0, 0, 594, 595, 596, 597, 598,
+ 599, 600, 0, 601, 602, 603, 604, 605, 606, 0,
+ 0, 607, 0, 0, 608, 609, 610, 611, 612, 613,
+ 614, 615, 616, 617, 618, 619, 620, 621, 622, 623,
+ 624, 625, 626, 627, 942, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 235, 236, 237, 238, 239, 240, 241, 242, 243,
+ 0, 244, 245, 246, 0, 0, 0, 0, 0, 0,
+ 0, 247, 248, 249, 0, 250, 251, 252, 253, 254,
+ 255, 256, 257, 258, 259, 260, 261, 262, 0, 263,
+ 264, 265, 266, 267, 268, 269, 0, 0, 270, 271,
+ 272, 273, 274, 0, 275, 276, 277, 278, 279, 0,
+ 280, 0, 281, 282, 283, 284, 285, 286, 287, 288,
+ 289, 290, 0, 291, 292, 293, 294, 295, 296, 0,
+ 297, 298, 299, 300, 0, 0, 943, 301, 0, 0,
+ 944, 302, 303, 304, 305, 306, 307, 308, 309, 310,
+ 0, 311, 0, 312, 313, 314, 315, 316, 317, 318,
+ 0, 319, 320, 321, 322, 0, 0, 323, 324, 325,
+ 326, 327, 0, 328, 329, 330, 0, 331, 332, 333,
+ 0, 334, 335, 336, 337, 338, 339, 340, 341, 342,
+ 343, 0, 344, 0, 345, 346, 347, 348, 349, 0,
+ 350, 0, 351, 352, 353, 0, 354, 355, 356, 357,
+ 358, 0, 359, 360, 0, 361, 362, 363, 0, 364,
+ 365, 366, 367, 1164, 369, 370, 371, 372, 373, 0,
+ 374, 375, 376, 377, 378, 379, 380, 381, 0, 382,
+ 383, 384, 385, 386, 387, 388, 389, 390, 0, 391,
+ 0, 392, 393, 394, 395, 396, 397, 398, 399, 400,
+ 401, 402, 403, 404, 405, 406, 407, 0, 0, 408,
+ 409, 410, 411, 412, 0, 413, 414, 415, 0, 0,
+ 416, 417, 418, 419, 1165, 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, 0, 447, 448, 449, 450, 0, 451, 452, 453,
+ 454, 455, 456, 0, 457, 458, 0, 0, 459, 460,
+ 461, 0, 0, 462, 463, 464, 465, 466, 467, 468,
+ 469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
+ 0, 479, 480, 481, 482, 483, 484, 485, 486, 0,
+ 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
+ 497, 498, 499, 500, 501, 0, 502, 503, 504, 505,
+ 506, 507, 508, 509, 510, 511, 512, 513, 514, 0,
+ 515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 0,
+ 534, 535, 536, 537, 538, 945, 539, 540, 541, 542,
+ 543, 544, 545, 546, 547, 548, 0, 549, 550, 551,
+ 552, 553, 554, 555, 556, 557, 558, 559, 560, 561,
+ 562, 563, 0, 564, 565, 0, 0, 566, 567, 568,
+ 569, 570, 571, 572, 0, 573, 574, 575, 0, 0,
+ 576, 577, 578, 579, 580, 0, 581, 582, 583, 584,
+ 585, 586, 587, 588, 0, 0, 589, 590, 591, 592,
+ 593, 0, 0, 594, 595, 596, 597, 598, 599, 600,
+ 0, 601, 602, 603, 604, 605, 606, 0, 0, 607,
+ 0, 0, 608, 609, 610, 611, 612, 613, 614, 615,
+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625,
+ 626, 627, 942, 0, 0, 694, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 235,
+ 236, 237, 238, 239, 240, 241, 242, 243, 0, 244,
+ 245, 246, 0, 0, 0, 0, 0, 0, 0, 247,
+ 248, 249, 0, 250, 251, 252, 253, 254, 255, 256,
+ 257, 258, 259, 260, 261, 262, 0, 263, 264, 265,
+ 266, 267, 268, 269, 0, 0, 270, 271, 272, 273,
+ 274, 0, 275, 276, 277, 278, 279, 0, 280, 0,
+ 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
+ 0, 291, 292, 293, 294, 295, 296, 0, 297, 298,
+ 299, 300, 0, 0, 0, 301, 0, 0, 0, 302,
+ 303, 304, 305, 306, 307, 308, 309, 310, 2542, 311,
+ 0, 312, 313, 314, 315, 316, 317, 318, 0, 319,
+ 320, 321, 322, 0, 0, 323, 324, 325, 326, 327,
+ 0, 328, 329, 330, 0, 331, 332, 333, 0, 334,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, 0,
+ 344, 0, 345, 346, 347, 348, 349, 0, 350, 0,
+ 351, 352, 353, 0, 354, 355, 356, 357, 358, 0,
+ 359, 360, 0, 361, 362, 363, 0, 364, 365, 366,
+ 367, 368, 369, 370, 371, 372, 373, 0, 374, 375,
+ 376, 377, 378, 379, 380, 381, 0, 382, 383, 384,
+ 385, 386, 387, 388, 389, 390, 0, 391, 0, 392,
+ 393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
+ 403, 404, 405, 406, 407, 0, 0, 408, 409, 410,
+ 411, 412, 0, 413, 414, 415, 0, 0, 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, 0,
+ 447, 448, 449, 450, 0, 451, 452, 453, 454, 455,
+ 456, 0, 457, 458, 0, 0, 459, 460, 461, 0,
+ 0, 462, 463, 464, 465, 466, 467, 468, 469, 470,
+ 471, 472, 473, 474, 475, 476, 477, 478, 0, 479,
+ 480, 481, 482, 483, 484, 485, 486, 0, 487, 488,
+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498,
+ 499, 500, 501, 0, 502, 503, 504, 505, 506, 507,
+ 508, 509, 510, 511, 512, 513, 514, 0, 515, 516,
+ 517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
+ 527, 528, 529, 530, 531, 532, 533, 0, 534, 535,
+ 536, 537, 538, 0, 539, 540, 541, 542, 543, 544,
+ 545, 546, 547, 548, 0, 549, 550, 551, 552, 553,
+ 554, 555, 556, 557, 558, 559, 560, 561, 562, 563,
+ 0, 564, 565, 0, 0, 566, 567, 568, 569, 570,
+ 571, 572, 0, 573, 574, 575, 0, 0, 576, 577,
+ 578, 579, 580, 0, 581, 582, 583, 584, 585, 586,
+ 587, 588, 0, 0, 589, 590, 591, 592, 593, 0,
+ 0, 594, 595, 596, 597, 598, 599, 600, 0, 601,
+ 602, 603, 604, 605, 606, 0, 0, 607, 0, 0,
+ 608, 609, 610, 611, 612, 613, 614, 615, 616, 617,
+ 618, 619, 620, 621, 622, 623, 624, 625, 626, 627,
+ 942, 0, 0, 694, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 235, 236, 237,
+ 238, 239, 240, 241, 242, 243, 0, 244, 245, 246,
+ 0, 0, 0, 0, 0, 0, 0, 247, 248, 249,
+ 0, 250, 251, 252, 253, 254, 255, 256, 257, 258,
+ 259, 260, 261, 262, 0, 263, 264, 265, 266, 267,
+ 268, 269, 0, 0, 270, 271, 272, 273, 274, 0,
+ 275, 276, 277, 278, 279, 0, 280, 0, 281, 282,
+ 283, 284, 285, 286, 287, 288, 289, 290, 0, 291,
+ 292, 293, 294, 295, 296, 0, 297, 298, 299, 300,
+ 0, 0, 0, 301, 0, 0, 0, 302, 303, 304,
+ 305, 306, 307, 308, 309, 310, 0, 311, 0, 312,
+ 313, 314, 315, 316, 317, 318, 0, 319, 320, 321,
+ 322, 0, 0, 323, 324, 325, 326, 327, 0, 328,
+ 329, 330, 0, 331, 332, 333, 0, 334, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, 0, 344, 0,
+ 345, 346, 347, 348, 349, 0, 350, 0, 351, 352,
+ 353, 0, 354, 355, 356, 357, 358, 0, 359, 360,
+ 0, 361, 362, 363, 0, 364, 365, 366, 367, 368,
+ 369, 370, 371, 372, 373, 0, 374, 375, 376, 377,
+ 378, 379, 380, 381, 0, 382, 383, 384, 385, 386,
+ 387, 388, 389, 390, 0, 391, 0, 392, 393, 394,
+ 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
+ 405, 406, 407, 0, 0, 408, 409, 410, 411, 412,
+ 0, 413, 414, 415, 0, 0, 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, 0, 447, 448,
+ 449, 450, 0, 451, 452, 453, 454, 455, 456, 0,
+ 457, 458, 0, 0, 459, 460, 461, 0, 0, 462,
+ 463, 464, 465, 466, 467, 468, 469, 470, 471, 472,
+ 473, 474, 475, 476, 477, 478, 0, 479, 480, 481,
+ 482, 483, 484, 485, 486, 0, 487, 488, 489, 490,
+ 491, 492, 493, 494, 495, 496, 497, 498, 499, 500,
+ 501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
+ 510, 511, 512, 513, 514, 0, 515, 516, 517, 518,
+ 519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
+ 529, 530, 531, 532, 533, 0, 534, 535, 536, 537,
+ 538, 0, 539, 540, 541, 542, 543, 544, 545, 546,
+ 547, 548, 0, 549, 550, 551, 552, 553, 554, 555,
+ 556, 557, 558, 559, 560, 561, 562, 563, 0, 564,
+ 565, 0, 0, 566, 567, 568, 569, 570, 571, 572,
+ 0, 573, 574, 575, 0, 0, 576, 577, 578, 579,
+ 580, 0, 581, 582, 583, 584, 585, 586, 587, 588,
+ 0, 0, 589, 590, 591, 592, 593, 0, 0, 594,
+ 595, 596, 597, 598, 599, 600, 0, 601, 602, 603,
+ 604, 605, 606, 0, 0, 607, 0, 0, 608, 609,
+ 610, 611, 612, 613, 614, 615, 616, 617, 618, 619,
+ 620, 621, 622, 623, 624, 625, 626, 627, 234, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 235, 236, 237, 238, 239,
+ 240, 241, 242, 243, 0, 244, 245, 246, 0, 0,
+ 0, 0, 0, 0, 0, 247, 248, 249, 0, 250,
+ 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
+ 261, 262, 0, 263, 264, 265, 266, 267, 268, 269,
+ 0, 0, 270, 271, 272, 273, 274, 0, 275, 276,
+ 277, 278, 279, 0, 280, 0, 281, 282, 283, 284,
+ 285, 286, 287, 288, 289, 290, 0, 291, 292, 293,
+ 294, 295, 296, 0, 297, 298, 299, 300, 0, 0,
+ 0, 301, 0, 0, 0, 302, 303, 304, 305, 306,
+ 307, 308, 309, 310, 0, 311, 0, 312, 313, 314,
+ 315, 316, 317, 318, 0, 319, 320, 321, 322, 0,
+ 0, 323, 324, 325, 326, 327, 0, 328, 329, 330,
+ 0, 331, 332, 333, 0, 334, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, 0, 344, 0, 345, 346,
+ 347, 348, 349, 0, 350, 0, 351, 352, 353, 0,
+ 354, 355, 356, 357, 358, 0, 359, 360, 0, 361,
+ 362, 363, 0, 364, 365, 366, 367, 368, 369, 370,
+ 371, 372, 373, 0, 374, 375, 376, 377, 378, 379,
+ 380, 381, 0, 382, 383, 384, 385, 386, 387, 388,
+ 389, 390, 0, 391, 0, 392, 393, 394, 395, 396,
+ 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
+ 407, 0, 0, 408, 409, 410, 411, 412, 0, 413,
+ 414, 415, 0, 0, 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, 0, 447, 448, 449, 450,
+ 0, 451, 452, 453, 454, 455, 456, 0, 457, 458,
+ 0, 0, 459, 460, 461, 0, 0, 462, 463, 464,
+ 465, 466, 467, 468, 469, 470, 471, 472, 473, 474,
+ 475, 476, 477, 478, 0, 479, 480, 481, 482, 483,
+ 484, 485, 486, 0, 487, 488, 489, 490, 491, 492,
+ 493, 494, 495, 496, 497, 498, 499, 500, 501, 0,
+ 502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
+ 512, 513, 514, 0, 515, 516, 517, 518, 519, 520,
+ 521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
+ 531, 532, 533, 0, 534, 535, 536, 537, 538, 0,
+ 539, 540, 541, 542, 543, 544, 545, 546, 547, 548,
+ 0, 549, 550, 551, 552, 553, 554, 555, 556, 557,
+ 558, 559, 560, 561, 562, 563, 0, 564, 565, 0,
+ 0, 566, 567, 568, 569, 570, 571, 572, 0, 573,
+ 574, 575, 0, 0, 576, 577, 578, 579, 580, 0,
+ 581, 582, 583, 584, 585, 586, 587, 588, 0, 0,
+ 589, 590, 591, 592, 593, 0, 0, 594, 595, 596,
+ 597, 598, 599, 600, 0, 601, 602, 603, 604, 605,
+ 606, 0, 0, 607, 0, 0, 608, 609, 610, 611,
+ 612, 613, 614, 615, 616, 617, 618, 619, 620, 621,
+ 622, 623, 624, 625, 626, 627, 234, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 235, 236, 237, 238, 239, 240, 241,
+ 242, 243, 0, 244, 245, 246, 0, 0, 0, 0,
+ 0, 0, 0, 247, 248, 249, 0, 250, 251, 252,
+ 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
+ 0, 263, 264, 265, 266, 267, 268, 269, 0, 0,
+ 270, 271, 272, 273, 274, 0, 275, 276, 277, 278,
+ 279, 0, 280, 0, 281, 282, 283, 284, 285, 286,
+ 287, 288, 289, 290, 0, 291, 292, 293, 294, 295,
+ 296, 0, 297, 298, 299, 300, 0, 0, 0, 301,
+ 0, 0, 0, 302, 303, 304, 305, 306, 307, 308,
+ 309, 310, 0, 311, 0, 312, 313, 314, 315, 316,
+ 317, 318, 0, 319, 320, 321, 322, 0, 0, 323,
+ 324, 325, 326, 327, 0, 328, 329, 330, 0, 331,
+ 332, 333, 0, 334, 335, 336, 337, 338, 339, 340,
+ 341, 342, 343, 0, 344, 0, 345, 346, 347, 348,
+ 349, 0, 350, 0, 351, 352, 353, 0, 354, 355,
+ 356, 357, 358, 0, 359, 360, 0, 361, 362, 363,
+ 0, 364, 365, 366, 367, 1123, 369, 370, 371, 372,
+ 373, 0, 374, 375, 376, 377, 378, 379, 380, 381,
+ 0, 382, 383, 384, 385, 386, 387, 388, 389, 390,
+ 0, 391, 0, 392, 393, 394, 395, 396, 397, 398,
+ 399, 400, 401, 402, 403, 404, 405, 406, 407, 0,
+ 0, 408, 409, 410, 411, 412, 0, 413, 414, 415,
+ 0, 0, 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, 0, 447, 448, 449, 450, 0, 451,
+ 452, 453, 454, 455, 456, 0, 457, 458, 0, 0,
+ 459, 460, 461, 0, 0, 462, 463, 464, 465, 466,
+ 467, 468, 469, 470, 471, 472, 473, 474, 475, 476,
+ 477, 478, 0, 479, 480, 481, 482, 483, 484, 485,
+ 486, 0, 487, 488, 489, 490, 491, 492, 493, 494,
+ 495, 496, 497, 498, 499, 500, 501, 0, 502, 503,
+ 504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
+ 514, 0, 515, 516, 517, 518, 519, 520, 521, 522,
+ 523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
+ 533, 0, 534, 535, 536, 537, 538, 0, 539, 540,
+ 541, 542, 543, 544, 545, 546, 547, 548, 0, 549,
+ 550, 551, 552, 553, 554, 555, 556, 557, 558, 559,
+ 560, 561, 562, 563, 0, 564, 565, 0, 0, 566,
+ 567, 568, 569, 570, 571, 572, 0, 573, 574, 575,
+ 0, 0, 576, 577, 578, 579, 580, 0, 581, 582,
+ 583, 584, 585, 586, 587, 588, 0, 0, 589, 590,
+ 591, 592, 593, 0, 0, 594, 595, 596, 597, 598,
+ 599, 600, 0, 601, 602, 603, 604, 605, 606, 0,
+ 0, 607, 0, 0, 608, 609, 610, 611, 612, 613,
+ 614, 615, 616, 617, 618, 619, 620, 621, 622, 623,
+ 624, 625, 626, 627, 234, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 235, 236, 237, 238, 239, 240, 241, 242, 243,
+ 0, 244, 245, 246, 0, 0, 0, 0, 0, 0,
+ 0, 247, 248, 249, 0, 250, 251, 252, 253, 254,
+ 255, 256, 257, 258, 259, 260, 261, 262, 0, 263,
+ 264, 265, 266, 267, 268, 269, 0, 0, 270, 271,
+ 272, 273, 274, 0, 275, 276, 277, 278, 279, 0,
+ 280, 0, 281, 282, 283, 284, 285, 286, 287, 288,
+ 289, 290, 0, 291, 292, 293, 294, 295, 296, 0,
+ 297, 298, 299, 300, 0, 0, 0, 301, 0, 0,
+ 0, 302, 303, 304, 305, 306, 307, 308, 309, 310,
+ 0, 311, 0, 312, 313, 314, 315, 316, 317, 318,
+ 0, 319, 320, 321, 322, 0, 0, 323, 324, 325,
+ 326, 327, 0, 328, 329, 330, 0, 331, 332, 333,
+ 0, 334, 335, 336, 337, 338, 339, 340, 341, 342,
+ 343, 0, 344, 0, 345, 346, 347, 348, 349, 0,
+ 350, 0, 351, 352, 353, 0, 354, 355, 356, 357,
+ 358, 0, 359, 360, 0, 361, 362, 363, 0, 364,
+ 365, 366, 367, 1136, 369, 370, 371, 372, 373, 0,
+ 374, 375, 376, 377, 378, 379, 380, 381, 0, 382,
+ 383, 384, 385, 386, 387, 388, 389, 390, 0, 391,
+ 0, 392, 393, 394, 395, 396, 397, 398, 399, 400,
+ 401, 402, 403, 404, 405, 406, 407, 0, 0, 408,
+ 409, 410, 411, 412, 0, 413, 414, 415, 0, 0,
+ 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, 0, 447, 448, 449, 450, 0, 451, 452, 453,
+ 454, 455, 456, 0, 457, 458, 0, 0, 459, 460,
+ 461, 0, 0, 462, 463, 464, 465, 466, 467, 468,
+ 469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
+ 0, 479, 480, 481, 482, 483, 484, 485, 486, 0,
+ 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
+ 497, 498, 499, 500, 501, 0, 502, 503, 504, 505,
+ 506, 507, 508, 509, 510, 511, 512, 513, 514, 0,
+ 515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 0,
+ 534, 535, 536, 537, 538, 0, 539, 540, 541, 542,
+ 543, 544, 545, 546, 547, 548, 0, 549, 550, 551,
+ 552, 553, 554, 555, 556, 557, 558, 559, 560, 561,
+ 562, 563, 0, 564, 565, 0, 0, 566, 567, 568,
+ 569, 570, 571, 572, 0, 573, 574, 575, 0, 0,
+ 576, 577, 578, 579, 580, 0, 581, 582, 583, 584,
+ 585, 586, 587, 588, 0, 0, 589, 590, 591, 592,
+ 593, 0, 0, 594, 595, 596, 597, 598, 599, 600,
+ 0, 601, 602, 603, 604, 605, 606, 0, 0, 607,
+ 0, 0, 608, 609, 610, 611, 612, 613, 614, 615,
+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625,
+ 626, 627, 234, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 235,
+ 236, 237, 238, 239, 240, 241, 242, 243, 0, 244,
+ 245, 246, 0, 0, 0, 0, 0, 0, 0, 247,
+ 248, 249, 0, 250, 251, 252, 253, 254, 255, 256,
+ 257, 258, 259, 260, 261, 262, 0, 263, 264, 265,
+ 266, 267, 268, 269, 0, 0, 270, 271, 272, 273,
+ 274, 0, 275, 276, 277, 278, 279, 0, 280, 0,
+ 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
+ 0, 291, 292, 293, 294, 295, 296, 0, 297, 298,
+ 299, 300, 0, 0, 0, 301, 0, 0, 0, 302,
+ 303, 304, 305, 306, 307, 308, 309, 310, 0, 311,
+ 0, 312, 313, 314, 315, 316, 317, 318, 0, 319,
+ 320, 321, 322, 0, 0, 323, 324, 325, 326, 327,
+ 0, 328, 329, 330, 0, 331, 332, 333, 0, 334,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, 0,
+ 344, 0, 345, 346, 347, 348, 349, 0, 350, 0,
+ 351, 352, 353, 0, 354, 355, 356, 357, 358, 0,
+ 359, 360, 0, 361, 362, 363, 0, 364, 365, 366,
+ 367, 1150, 369, 370, 371, 372, 373, 0, 374, 375,
+ 376, 377, 378, 379, 380, 381, 0, 382, 383, 384,
+ 385, 386, 387, 388, 389, 390, 0, 391, 0, 392,
+ 393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
+ 403, 404, 405, 406, 407, 0, 0, 408, 409, 410,
+ 411, 412, 0, 413, 414, 415, 0, 0, 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, 0,
+ 447, 448, 449, 450, 0, 451, 452, 453, 454, 455,
+ 456, 0, 457, 458, 0, 0, 459, 460, 461, 0,
+ 0, 462, 463, 464, 465, 466, 467, 468, 469, 470,
+ 471, 472, 473, 474, 475, 476, 477, 478, 0, 479,
+ 480, 481, 482, 483, 484, 485, 486, 0, 487, 488,
+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498,
+ 499, 500, 501, 0, 502, 503, 504, 505, 506, 507,
+ 508, 509, 510, 511, 512, 513, 514, 0, 515, 516,
+ 517, 518, 519, 520, 521, 522, 523, 524, 525, 526,
+ 527, 528, 529, 530, 531, 532, 533, 0, 534, 535,
+ 536, 537, 538, 0, 539, 540, 541, 542, 543, 544,
+ 545, 546, 547, 548, 0, 549, 550, 551, 552, 553,
+ 554, 555, 556, 557, 558, 559, 560, 561, 562, 563,
+ 0, 564, 565, 0, 0, 566, 567, 568, 569, 570,
+ 571, 572, 0, 573, 574, 575, 0, 0, 576, 577,
+ 578, 579, 580, 0, 581, 582, 583, 584, 585, 586,
+ 587, 588, 0, 0, 589, 590, 591, 592, 593, 0,
+ 0, 594, 595, 596, 597, 598, 599, 600, 0, 601,
+ 602, 603, 604, 605, 606, 0, 0, 607, 0, 0,
+ 608, 609, 610, 611, 612, 613, 614, 615, 616, 617,
+ 618, 619, 620, 621, 622, 623, 624, 625, 626, 627,
+ 234, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 235, 236, 237,
+ 238, 239, 240, 241, 242, 243, 0, 244, 245, 246,
+ 0, 0, 0, 0, 0, 0, 0, 247, 248, 249,
+ 0, 250, 251, 252, 253, 254, 255, 256, 257, 258,
+ 259, 260, 261, 262, 0, 263, 264, 265, 266, 267,
+ 268, 269, 0, 0, 270, 271, 272, 273, 274, 0,
+ 275, 276, 277, 278, 279, 0, 280, 0, 281, 282,
+ 283, 284, 285, 286, 287, 288, 289, 290, 0, 291,
+ 292, 293, 294, 295, 296, 0, 297, 298, 299, 300,
+ 0, 0, 0, 301, 0, 0, 0, 302, 303, 304,
+ 305, 306, 307, 308, 309, 310, 0, 311, 0, 312,
+ 313, 314, 315, 316, 317, 318, 0, 319, 320, 321,
+ 322, 0, 0, 323, 324, 325, 326, 327, 0, 328,
+ 329, 330, 0, 331, 332, 333, 0, 334, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, 0, 344, 0,
+ 345, 346, 347, 348, 349, 0, 350, 0, 351, 352,
+ 353, 0, 354, 355, 356, 357, 358, 0, 359, 360,
+ 0, 361, 362, 363, 0, 364, 365, 366, 367, 1154,
+ 369, 370, 371, 372, 373, 0, 374, 375, 376, 377,
+ 378, 379, 380, 381, 0, 382, 383, 384, 385, 386,
+ 387, 388, 389, 390, 0, 391, 0, 392, 393, 394,
+ 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
+ 405, 406, 407, 0, 0, 408, 409, 410, 411, 412,
+ 0, 413, 414, 415, 0, 0, 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, 0, 447, 448,
+ 449, 450, 0, 451, 452, 453, 454, 455, 456, 0,
+ 457, 458, 0, 0, 459, 460, 461, 0, 0, 462,
+ 463, 464, 465, 466, 467, 468, 469, 470, 471, 472,
+ 473, 474, 475, 476, 477, 478, 0, 479, 480, 481,
+ 482, 483, 484, 485, 486, 0, 487, 488, 489, 490,
+ 491, 492, 493, 494, 495, 496, 497, 498, 499, 500,
+ 501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
+ 510, 511, 512, 513, 514, 0, 515, 516, 517, 518,
+ 519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
+ 529, 530, 531, 532, 533, 0, 534, 535, 536, 537,
+ 538, 0, 539, 540, 541, 542, 543, 544, 545, 546,
+ 547, 548, 0, 549, 550, 551, 552, 553, 554, 555,
+ 556, 557, 558, 559, 560, 561, 562, 563, 0, 564,
+ 565, 0, 0, 566, 567, 568, 569, 570, 571, 572,
+ 0, 573, 574, 575, 0, 0, 576, 577, 578, 579,
+ 580, 0, 581, 582, 583, 584, 585, 586, 587, 588,
+ 0, 0, 589, 590, 591, 592, 593, 0, 0, 594,
+ 595, 596, 597, 598, 599, 600, 0, 601, 602, 603,
+ 604, 605, 606, 0, 0, 607, 0, 0, 608, 609,
+ 610, 611, 612, 613, 614, 615, 616, 617, 618, 619,
+ 620, 621, 622, 623, 624, 625, 626, 627, 942, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 235, 236, 237, 238, 239,
+ 240, 241, 242, 243, 0, 244, 245, 246, 0, 0,
+ 0, 0, 0, 0, 0, 247, 248, 249, 0, 250,
+ 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
+ 261, 262, 0, 263, 264, 265, 266, 267, 268, 269,
+ 0, 0, 270, 271, 272, 273, 274, 0, 275, 276,
+ 277, 278, 279, 0, 280, 0, 281, 282, 283, 284,
+ 285, 286, 287, 288, 289, 290, 0, 291, 292, 293,
+ 294, 295, 296, 0, 297, 298, 299, 300, 0, 0,
+ 0, 301, 0, 0, 0, 302, 303, 304, 305, 306,
+ 307, 308, 309, 310, 0, 311, 0, 312, 313, 314,
+ 315, 316, 317, 318, 0, 319, 320, 321, 322, 0,
+ 0, 323, 324, 325, 326, 327, 0, 328, 329, 330,
+ 0, 331, 332, 333, 0, 334, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, 0, 344, 0, 345, 346,
+ 347, 348, 349, 0, 350, 0, 351, 352, 353, 0,
+ 354, 355, 356, 357, 358, 0, 359, 360, 0, 361,
+ 362, 363, 0, 364, 365, 366, 367, 368, 369, 370,
+ 371, 372, 373, 0, 374, 375, 376, 377, 378, 379,
+ 380, 381, 0, 382, 383, 384, 385, 386, 387, 388,
+ 389, 390, 0, 391, 0, 392, 393, 394, 395, 396,
+ 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
+ 407, 0, 0, 408, 409, 410, 411, 412, 0, 413,
+ 414, 415, 0, 0, 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, 0, 447, 448, 449, 450,
+ 0, 451, 452, 453, 454, 455, 456, 0, 457, 458,
+ 0, 0, 459, 460, 461, 0, 0, 462, 463, 464,
+ 465, 466, 467, 468, 469, 470, 471, 472, 473, 474,
+ 475, 476, 477, 478, 0, 479, 480, 481, 482, 483,
+ 484, 485, 486, 0, 487, 488, 489, 490, 491, 492,
+ 493, 494, 495, 496, 497, 498, 499, 500, 501, 0,
+ 502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
+ 512, 513, 514, 0, 515, 516, 517, 518, 519, 520,
+ 521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
+ 531, 532, 533, 0, 534, 535, 536, 537, 538, 0,
+ 539, 540, 541, 542, 543, 544, 545, 546, 547, 548,
+ 0, 549, 550, 551, 552, 553, 554, 555, 556, 557,
+ 558, 559, 560, 561, 562, 563, 0, 564, 565, 0,
+ 0, 566, 567, 568, 569, 570, 571, 572, 0, 573,
+ 574, 575, 0, 0, 576, 577, 578, 579, 580, 0,
+ 581, 582, 583, 584, 585, 586, 587, 588, 0, 0,
+ 589, 590, 591, 592, 593, 0, 0, 594, 595, 596,
+ 597, 598, 599, 600, 0, 601, 602, 603, 604, 605,
+ 606, 0, 0, 607, 0, 0, 608, 609, 610, 611,
+ 612, 613, 614, 615, 616, 617, 618, 619, 620, 621,
+ 622, 623, 624, 625, 626, 627, 635, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 235, 236, 237, 238, 239, 240, 241,
+ 242, 243, 0, 244, 245, 246, 0, 0, 0, 0,
+ 0, 0, 0, 247, 248, 249, 0, 250, 251, 252,
+ 253, 0, 255, 256, 257, 258, 259, 0, 261, 262,
+ 0, 263, 264, 265, 266, 267, 268, 269, 0, 0,
+ 270, 271, 272, 273, 274, 2705, 275, 276, 277, 278,
+ 279, 0, 0, 2774, 281, 282, 283, 284, 285, 286,
+ 0, 288, 289, 290, 2706, 291, 292, 293, 294, 295,
+ 296, 0, 0, 298, 299, 300, 0, 0, 0, 0,
+ 0, 0, 0, 302, 303, 304, 305, 306, 307, 308,
+ 309, 310, 0, 311, 0, 312, 313, 314, 315, 316,
+ 317, 318, 0, 319, 320, 321, 322, 0, 0, 323,
+ 324, 325, 326, 327, 0, 328, 329, 330, 0, 331,
+ 332, 333, 0, 2775, 335, 336, 337, 338, 339, 340,
+ 341, 342, 343, 0, 344, 0, 345, 346, 347, 348,
+ 349, 0, 350, 2708, 351, 352, 0, 0, 0, 355,
+ 356, 357, 358, 0, 359, 360, 0, 361, 362, 363,
+ 0, 364, 365, 366, 367, 2776, 0, 370, 371, 372,
+ 373, 0, 374, 375, 376, 377, 378, 379, 380, 381,
+ 0, 382, 0, 384, 385, 386, 387, 388, 389, 390,
+ 0, 391, 0, 392, 0, 0, 395, 0, 397, 398,
+ 399, 400, 401, 402, 403, 404, 405, 406, 407, 0,
+ 0, 408, 409, 0, 411, 0, 0, 413, 414, 415,
+ 0, 0, 416, 417, 418, 419, 420, 421, 422, 423,
+ 424, 425, 426, 427, 428, 429, 430, 431, 432, 433,
+ 434, 0, 436, 437, 438, 439, 440, 441, 442, 443,
+ 444, 445, 446, 0, 447, 448, 0, 450, 0, 451,
+ 452, 453, 454, 455, 456, 0, 457, 458, 0, 0,
+ 459, 460, 461, 0, 0, 462, 463, 464, 0, 466,
+ 0, 468, 469, 470, 471, 472, 473, 474, 475, 476,
+ 477, 478, 0, 479, 480, 481, 482, 483, 484, 485,
+ 486, 2709, 487, 488, 489, 490, 491, 492, 493, 494,
+ 495, 496, 497, 498, 499, 500, 501, 0, 502, 503,
+ 504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
+ 514, 0, 515, 516, 0, 518, 519, 520, 521, 522,
+ 523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
+ 533, 0, 534, 535, 536, 537, 538, 0, 539, 540,
+ 541, 542, 543, 0, 545, 546, 547, 548, 0, 549,
+ 550, 551, 552, 553, 554, 555, 556, 557, 558, 559,
+ 560, 561, 562, 563, 0, 564, 565, 0, 0, 566,
+ 0, 568, 569, 570, 571, 572, 0, 573, 574, 575,
+ 0, 0, 576, 577, 578, 579, 580, 0, 581, 582,
+ 583, 584, 585, 586, 587, 588, 0, 2710, 589, 590,
+ 591, 592, 593, 0, 0, 594, 595, 596, 597, 598,
+ 599, 600, 0, 601, 0, 603, 604, 605, 606, 0,
+ 0, 607, 0, 0, 608, 609, 610, 611, 612, 613,
+ 614, 615, 616, 617, 618, 619, 620, 621, 622, 623,
+ 624, 625, 626, 627, 635, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 235, 236, 237, 238, 239, 240, 241, 242, 243,
+ 0, 244, 245, 246, 0, 0, 0, 0, 0, 0,
+ 0, 247, 248, 249, 0, 250, 251, 252, 253, 0,
+ 255, 256, 257, 258, 259, 0, 261, 262, 0, 263,
+ 264, 265, 266, 267, 268, 269, 0, 0, 270, 271,
+ 272, 273, 274, 2705, 275, 276, 277, 278, 279, 0,
+ 0, 0, 281, 282, 283, 284, 285, 286, 0, 288,
+ 289, 290, 2706, 291, 292, 293, 294, 295, 296, 0,
+ 0, 298, 299, 300, 0, 0, 0, 0, 0, 0,
+ 0, 302, 303, 304, 305, 306, 307, 308, 309, 310,
+ 0, 311, 0, 312, 313, 314, 315, 316, 317, 318,
+ 0, 319, 320, 321, 322, 0, 0, 323, 324, 325,
+ 326, 327, 0, 328, 329, 330, 0, 331, 332, 333,
+ 0, 2775, 335, 336, 337, 338, 339, 340, 341, 342,
+ 343, 0, 344, 0, 345, 346, 347, 348, 349, 0,
+ 350, 2708, 351, 352, 0, 0, 0, 355, 356, 357,
+ 358, 0, 359, 360, 0, 361, 362, 363, 0, 364,
+ 365, 366, 367, 368, 0, 370, 371, 372, 373, 0,
+ 374, 375, 376, 377, 378, 379, 380, 381, 0, 382,
+ 0, 384, 385, 386, 387, 388, 389, 390, 0, 391,
+ 0, 392, 0, 0, 395, 0, 397, 398, 399, 400,
+ 401, 402, 403, 404, 405, 406, 407, 0, 0, 408,
+ 409, 0, 411, 3802, 0, 413, 414, 415, 0, 0,
+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
+ 426, 427, 428, 429, 430, 431, 432, 433, 434, 0,
+ 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
+ 446, 0, 447, 448, 0, 450, 0, 451, 452, 453,
+ 454, 455, 456, 0, 457, 458, 0, 0, 459, 460,
+ 461, 0, 0, 462, 463, 464, 0, 466, 0, 468,
+ 469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
+ 0, 479, 480, 481, 482, 483, 484, 485, 486, 2709,
+ 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
+ 497, 498, 499, 500, 501, 0, 502, 503, 504, 505,
+ 506, 507, 508, 509, 510, 511, 512, 513, 514, 0,
+ 515, 516, 0, 518, 519, 520, 521, 522, 523, 524,
+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 0,
+ 534, 535, 536, 537, 538, 0, 539, 540, 541, 542,
+ 543, 0, 545, 546, 547, 548, 0, 549, 550, 551,
+ 552, 553, 554, 555, 556, 557, 558, 559, 560, 561,
+ 562, 563, 0, 564, 565, 0, 0, 566, 0, 568,
+ 569, 570, 571, 572, 0, 573, 574, 575, 0, 0,
+ 576, 577, 578, 579, 580, 0, 581, 582, 583, 584,
+ 585, 586, 587, 588, 0, 2710, 589, 590, 591, 592,
+ 593, 0, 0, 594, 595, 596, 597, 598, 599, 600,
+ 0, 601, 0, 603, 604, 605, 606, 0, 0, 607,
+ 0, 0, 608, 609, 610, 611, 612, 613, 614, 615,
+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625,
+ 626, 627, 635, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 235,
+ 236, 237, 238, 239, 240, 241, 242, 243, 774, 244,
+ 775, 246, 0, 0, 0, 0, 0, 0, 0, 247,
+ 248, 249, 0, 250, 251, 252, 253, 0, 255, 256,
+ 257, 258, 259, 0, 261, 262, 0, 263, 264, 265,
+ 266, 267, 268, 269, 0, 0, 270, 271, 272, 273,
+ 274, 0, 275, 276, 277, 278, 279, 0, 0, 0,
+ 281, 282, 283, 284, 285, 286, 0, 288, 289, 290,
+ 0, 291, 292, 293, 294, 295, 296, 776, 0, 298,
+ 299, 300, 0, 0, 0, 0, 0, 0, 0, 302,
+ 303, 304, 305, 306, 307, 308, 309, 310, 0, 311,
+ 0, 312, 313, 314, 315, 316, 317, 318, 0, 319,
+ 320, 321, 322, 0, 0, 323, 324, 325, 326, 327,
+ 0, 328, 329, 330, 0, 331, 332, 333, 0, 334,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, 0,
+ 344, 0, 345, 346, 347, 348, 349, 0, 350, 0,
+ 351, 352, 0, 0, 0, 355, 356, 357, 358, 807,
+ 359, 360, 0, 361, 362, 363, 0, 364, 365, 366,
+ 367, 368, 0, 370, 371, 372, 373, 0, 374, 375,
+ 376, 377, 378, 379, 380, 381, 0, 382, 0, 384,
+ 385, 386, 387, 388, 389, 390, 0, 391, 0, 392,
+ 0, 0, 395, 0, 397, 398, 399, 400, 401, 402,
+ 403, 404, 405, 406, 407, 0, 0, 408, 409, 0,
+ 411, 0, 0, 413, 414, 415, 0, 0, 416, 417,
+ 418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
+ 428, 429, 430, 431, 432, 433, 434, 0, 436, 437,
+ 438, 439, 440, 441, 442, 443, 444, 445, 446, 0,
+ 447, 448, 0, 450, 0, 451, 452, 453, 454, 455,
+ 456, 0, 457, 458, 0, 0, 459, 460, 461, 0,
+ 0, 462, 463, 464, 0, 466, 0, 468, 469, 470,
+ 471, 472, 473, 474, 475, 476, 477, 478, 0, 479,
+ 480, 481, 482, 483, 484, 485, 486, 0, 487, 488,
+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498,
+ 499, 500, 501, 777, 502, 503, 504, 505, 506, 507,
+ 508, 509, 510, 511, 512, 513, 514, 0, 515, 516,
+ 0, 518, 519, 520, 521, 522, 523, 524, 525, 526,
+ 527, 528, 529, 530, 531, 532, 533, 778, 534, 535,
+ 536, 537, 538, 0, 539, 540, 541, 542, 543, 0,
+ 545, 546, 547, 548, 0, 549, 550, 551, 552, 553,
+ 554, 555, 556, 557, 558, 559, 560, 561, 562, 563,
+ 0, 564, 565, 0, 0, 566, 0, 568, 569, 570,
+ 571, 572, 0, 573, 574, 575, 0, 0, 576, 577,
+ 578, 579, 580, 0, 581, 582, 583, 584, 585, 586,
+ 587, 588, 0, 0, 589, 590, 591, 592, 593, 0,
+ 0, 594, 595, 596, 597, 598, 599, 600, 0, 601,
+ 0, 603, 604, 605, 606, 0, 0, 607, 0, 0,
+ 608, 609, 610, 611, 612, 613, 614, 615, 616, 617,
+ 618, 619, 620, 621, 622, 623, 624, 625, 626, 627,
+ 635, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 235, 236, 237,
+ 238, 239, 240, 241, 242, 243, 774, 244, 775, 246,
+ 0, 0, 0, 0, 0, 0, 0, 247, 248, 249,
+ 0, 250, 251, 252, 253, 0, 255, 256, 257, 258,
+ 259, 0, 261, 262, 0, 263, 264, 265, 266, 267,
+ 268, 269, 0, 0, 270, 271, 272, 273, 274, 0,
+ 275, 276, 277, 278, 279, 0, 0, 0, 281, 282,
+ 283, 284, 285, 286, 0, 288, 289, 290, 0, 291,
+ 292, 293, 294, 295, 296, 776, 0, 298, 299, 300,
+ 0, 0, 0, 0, 0, 0, 0, 302, 303, 304,
+ 305, 306, 307, 308, 309, 310, 0, 311, 0, 312,
+ 313, 314, 315, 316, 317, 318, 0, 319, 320, 321,
+ 322, 0, 0, 323, 324, 325, 326, 327, 0, 328,
+ 329, 330, 0, 331, 332, 333, 0, 334, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, 0, 344, 0,
+ 345, 346, 347, 348, 349, 0, 350, 0, 351, 352,
+ 0, 0, 0, 355, 356, 357, 358, 3491, 359, 360,
+ 0, 361, 362, 363, 0, 364, 365, 366, 367, 368,
+ 0, 370, 371, 372, 373, 0, 374, 375, 376, 377,
+ 378, 379, 380, 381, 0, 382, 0, 384, 385, 386,
+ 387, 388, 389, 390, 0, 391, 0, 392, 0, 0,
+ 395, 0, 397, 398, 399, 400, 401, 402, 403, 404,
+ 405, 406, 407, 0, 0, 408, 409, 0, 411, 0,
+ 0, 413, 414, 415, 0, 0, 416, 417, 418, 419,
+ 420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
+ 430, 431, 432, 433, 434, 0, 436, 437, 438, 439,
+ 440, 441, 442, 443, 444, 445, 446, 0, 447, 448,
+ 0, 450, 0, 451, 452, 453, 454, 455, 456, 0,
+ 457, 458, 0, 0, 459, 460, 461, 0, 0, 462,
+ 463, 464, 0, 466, 0, 468, 469, 470, 471, 472,
+ 473, 474, 475, 476, 477, 478, 0, 479, 480, 481,
+ 482, 483, 484, 485, 486, 0, 487, 488, 489, 490,
+ 491, 492, 493, 494, 495, 496, 497, 498, 499, 500,
+ 501, 777, 502, 503, 504, 505, 506, 507, 508, 509,
+ 510, 511, 512, 513, 514, 0, 515, 516, 0, 518,
+ 519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
+ 529, 530, 531, 532, 533, 778, 534, 535, 536, 537,
+ 538, 0, 539, 540, 541, 542, 543, 0, 545, 546,
+ 547, 548, 0, 549, 550, 551, 552, 553, 554, 555,
+ 556, 557, 558, 559, 560, 561, 562, 563, 0, 564,
+ 565, 0, 0, 566, 0, 568, 569, 570, 571, 572,
+ 0, 573, 574, 575, 0, 0, 576, 577, 578, 579,
+ 580, 0, 581, 582, 583, 584, 585, 586, 587, 588,
+ 0, 0, 589, 590, 591, 592, 593, 0, 0, 594,
+ 595, 596, 597, 598, 599, 600, 0, 601, 0, 603,
+ 604, 605, 606, 0, 0, 607, 0, 0, 608, 609,
+ 610, 611, 612, 613, 614, 615, 616, 617, 618, 619,
+ 620, 621, 622, 623, 624, 625, 626, 627, 635, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 235, 236, 237, 238, 239,
+ 240, 241, 242, 243, 0, 244, 245, 246, 0, 0,
+ 0, 0, 0, 0, 0, 247, 248, 249, 0, 250,
+ 251, 252, 253, 0, 255, 256, 257, 258, 259, 0,
+ 261, 262, 0, 263, 264, 265, 266, 267, 268, 269,
+ 0, 0, 270, 271, 272, 273, 274, 2705, 275, 276,
+ 277, 278, 279, 0, 0, 0, 281, 282, 283, 284,
+ 285, 286, 0, 288, 289, 290, 2706, 291, 292, 293,
+ 294, 295, 296, 0, 0, 298, 299, 300, 0, 0,
+ 0, 0, 0, 0, 0, 302, 303, 304, 305, 306,
+ 307, 308, 309, 310, 0, 311, 0, 312, 313, 314,
+ 315, 316, 317, 318, 0, 319, 320, 321, 322, 0,
+ 0, 323, 324, 325, 326, 327, 0, 328, 329, 330,
+ 0, 331, 332, 333, 0, 2775, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, 0, 344, 0, 345, 346,
+ 347, 348, 349, 0, 350, 2708, 351, 352, 0, 0,
+ 0, 355, 356, 357, 358, 0, 359, 360, 0, 361,
+ 362, 363, 0, 364, 365, 366, 367, 368, 0, 370,
+ 371, 372, 373, 0, 374, 375, 376, 377, 378, 379,
+ 380, 381, 0, 382, 0, 384, 385, 386, 387, 388,
+ 389, 390, 0, 391, 0, 392, 0, 0, 395, 0,
+ 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
+ 407, 0, 0, 408, 409, 0, 411, 0, 0, 413,
+ 414, 415, 0, 0, 416, 417, 418, 419, 420, 421,
+ 422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
+ 432, 433, 434, 0, 436, 437, 438, 439, 440, 441,
+ 442, 443, 444, 445, 446, 0, 447, 448, 0, 450,
+ 0, 451, 452, 453, 454, 455, 456, 0, 457, 458,
+ 0, 0, 459, 460, 461, 0, 0, 462, 463, 464,
+ 0, 466, 0, 468, 469, 470, 471, 472, 473, 474,
+ 475, 476, 477, 478, 0, 479, 480, 481, 482, 483,
+ 484, 485, 486, 2709, 487, 488, 489, 490, 491, 492,
+ 493, 494, 495, 496, 497, 498, 499, 500, 501, 0,
+ 502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
+ 512, 513, 514, 0, 515, 516, 0, 518, 519, 520,
+ 521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
+ 531, 532, 533, 0, 534, 535, 536, 537, 538, 0,
+ 539, 540, 541, 542, 543, 0, 545, 546, 547, 548,
+ 0, 549, 550, 551, 552, 553, 554, 555, 556, 557,
+ 558, 559, 560, 561, 562, 563, 0, 564, 565, 0,
+ 0, 566, 0, 568, 569, 570, 571, 572, 0, 573,
+ 574, 575, 0, 0, 576, 577, 578, 579, 580, 0,
+ 581, 582, 583, 584, 585, 586, 587, 588, 0, 2710,
+ 589, 590, 591, 592, 593, 0, 0, 594, 595, 596,
+ 597, 598, 599, 600, 0, 601, 0, 603, 604, 605,
+ 606, 0, 0, 607, 0, 0, 608, 609, 610, 611,
+ 612, 613, 614, 615, 616, 617, 618, 619, 620, 621,
+ 622, 623, 624, 625, 626, 627, 635, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 235, 236, 237, 238, 239, 240, 241,
+ 242, 243, 774, 244, 775, 246, 0, 0, 0, 0,
+ 0, 0, 0, 247, 248, 249, 0, 250, 251, 252,
+ 253, 0, 255, 256, 257, 258, 259, 0, 261, 262,
+ 0, 263, 264, 265, 266, 267, 268, 269, 0, 0,
+ 270, 271, 272, 273, 274, 0, 275, 276, 277, 278,
+ 279, 0, 0, 0, 281, 282, 283, 284, 285, 286,
+ 0, 288, 289, 290, 0, 291, 292, 293, 294, 295,
+ 296, 776, 0, 298, 299, 300, 0, 0, 0, 0,
+ 0, 0, 0, 302, 303, 304, 305, 306, 307, 308,
+ 309, 310, 0, 311, 0, 312, 313, 314, 315, 316,
+ 317, 318, 0, 319, 320, 321, 322, 0, 0, 323,
+ 324, 325, 326, 327, 0, 328, 329, 330, 0, 331,
+ 332, 333, 0, 334, 335, 336, 337, 338, 339, 340,
+ 341, 342, 343, 0, 344, 0, 345, 346, 347, 348,
+ 349, 0, 350, 0, 351, 352, 0, 0, 0, 355,
+ 356, 357, 358, 0, 359, 360, 0, 361, 362, 363,
+ 0, 364, 365, 366, 367, 368, 0, 370, 371, 372,
+ 373, 0, 374, 375, 376, 377, 378, 379, 380, 381,
+ 0, 382, 0, 384, 385, 386, 387, 388, 389, 390,
+ 0, 391, 0, 392, 0, 0, 395, 0, 397, 398,
+ 399, 400, 401, 402, 403, 404, 405, 406, 407, 0,
+ 0, 408, 409, 0, 411, 0, 0, 413, 414, 415,
+ 0, 0, 416, 417, 418, 419, 420, 421, 422, 423,
+ 424, 425, 426, 427, 428, 429, 430, 431, 432, 433,
+ 434, 0, 436, 437, 438, 439, 440, 441, 442, 443,
+ 444, 445, 446, 0, 447, 448, 0, 450, 0, 451,
+ 452, 453, 454, 455, 456, 0, 457, 458, 0, 0,
+ 459, 460, 461, 0, 0, 462, 463, 464, 0, 466,
+ 0, 468, 469, 470, 471, 472, 473, 474, 475, 476,
+ 477, 478, 0, 479, 480, 481, 482, 483, 484, 485,
+ 486, 0, 487, 488, 489, 490, 491, 492, 493, 494,
+ 495, 496, 497, 498, 499, 500, 501, 777, 502, 503,
+ 504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
+ 514, 0, 515, 516, 0, 518, 519, 520, 521, 522,
+ 523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
+ 533, 778, 534, 535, 536, 537, 538, 0, 539, 540,
+ 541, 542, 543, 0, 545, 546, 547, 548, 0, 549,
+ 550, 551, 552, 553, 554, 555, 556, 557, 558, 559,
+ 560, 561, 562, 563, 0, 564, 565, 0, 0, 566,
+ 0, 568, 569, 570, 571, 572, 0, 573, 574, 575,
+ 0, 0, 576, 577, 578, 579, 580, 0, 581, 582,
+ 583, 584, 585, 586, 587, 588, 0, 0, 589, 590,
+ 591, 592, 593, 0, 0, 594, 595, 596, 597, 598,
+ 599, 600, 0, 601, 0, 603, 604, 605, 606, 0,
+ 0, 607, 0, 0, 608, 609, 610, 611, 612, 613,
+ 614, 615, 616, 617, 618, 619, 620, 621, 622, 623,
+ 624, 625, 626, 627, 635, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 235, 236, 237, 238, 239, 240, 241, 242, 243,
+ 3009, 244, 245, 246, 0, 0, 0, 0, 0, 0,
+ 0, 247, 248, 249, 0, 250, 251, 252, 253, 0,
+ 255, 256, 257, 258, 259, 0, 261, 262, 0, 263,
+ 264, 265, 266, 267, 268, 269, 0, 0, 270, 271,
+ 272, 273, 274, 0, 275, 276, 277, 278, 279, 0,
+ 0, 0, 281, 282, 283, 284, 285, 286, 0, 288,
+ 289, 290, 0, 291, 292, 293, 294, 295, 296, 0,
+ 0, 298, 299, 300, 0, 0, 0, 2840, 0, 0,
+ 0, 302, 303, 304, 305, 306, 307, 308, 309, 310,
+ 0, 311, 0, 312, 313, 314, 315, 316, 317, 318,
+ 0, 319, 320, 321, 322, 0, 0, 323, 324, 325,
+ 326, 327, 0, 328, 329, 330, 0, 331, 332, 333,
+ 0, 334, 335, 336, 337, 338, 339, 340, 341, 342,
+ 343, 0, 344, 0, 345, 346, 347, 348, 349, 0,
+ 350, 0, 351, 352, 0, 0, 0, 355, 356, 357,
+ 358, 0, 359, 360, 0, 361, 362, 363, 0, 364,
+ 365, 366, 367, 368, 0, 370, 371, 372, 373, 0,
+ 374, 375, 376, 377, 378, 379, 380, 381, 0, 382,
+ 0, 384, 385, 386, 387, 388, 389, 390, 0, 391,
+ 0, 392, 0, 0, 395, 0, 397, 398, 399, 400,
+ 401, 402, 403, 404, 405, 406, 407, 0, 0, 408,
+ 409, 0, 411, 0, 0, 413, 414, 415, 0, 0,
+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
+ 426, 427, 428, 429, 430, 431, 432, 433, 434, 0,
+ 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
+ 446, 0, 447, 448, 0, 450, 0, 451, 452, 453,
+ 454, 455, 456, 0, 457, 458, 0, 839, 459, 460,
+ 461, 0, 0, 462, 463, 464, 0, 466, 0, 468,
+ 469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
+ 0, 479, 480, 481, 482, 483, 484, 485, 486, 0,
+ 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
+ 497, 498, 499, 500, 501, 0, 502, 503, 504, 505,
+ 506, 507, 508, 509, 510, 511, 512, 513, 514, 0,
+ 515, 516, 0, 518, 519, 520, 521, 522, 523, 524,
+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 0,
+ 534, 535, 536, 537, 538, 0, 539, 540, 541, 542,
+ 543, 0, 545, 546, 547, 548, 0, 549, 550, 551,
+ 552, 553, 554, 555, 556, 557, 558, 559, 560, 561,
+ 562, 563, 0, 564, 565, 0, 2841, 2842, 0, 568,
+ 569, 570, 571, 572, 0, 573, 574, 575, 0, 0,
+ 576, 577, 578, 579, 580, 0, 581, 582, 583, 584,
+ 585, 586, 587, 588, 0, 0, 589, 590, 591, 592,
+ 593, 0, 0, 594, 595, 596, 597, 598, 599, 600,
+ 0, 601, 0, 603, 604, 605, 606, 0, 0, 607,
+ 0, 0, 608, 609, 610, 611, 612, 613, 614, 615,
+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625,
+ 626, 627, 635, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 235,
+ 236, 237, 238, 239, 240, 241, 242, 243, 1972, 244,
+ 245, 246, 0, 0, 0, 0, 0, 0, 0, 247,
+ 248, 249, 0, 250, 251, 252, 253, 0, 255, 256,
+ 257, 258, 259, 0, 261, 262, 0, 263, 264, 265,
+ 266, 267, 268, 269, 0, 0, 270, 271, 272, 273,
+ 274, 0, 275, 276, 277, 278, 279, 0, 0, 0,
+ 281, 282, 283, 284, 285, 286, 0, 288, 289, 290,
+ 0, 291, 292, 293, 294, 295, 296, 0, 0, 298,
+ 299, 300, 0, 0, 0, 0, 0, 0, 0, 302,
+ 303, 304, 1973, 306, 307, 308, 309, 310, 0, 311,
+ 0, 312, 313, 314, 315, 316, 317, 318, 0, 319,
+ 320, 321, 322, 0, 0, 323, 1974, 325, 326, 327,
+ 0, 328, 329, 330, 0, 331, 332, 333, 0, 334,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, 0,
+ 344, 0, 345, 346, 347, 348, 349, 0, 350, 1975,
+ 351, 352, 0, 0, 0, 1976, 356, 357, 358, 0,
+ 359, 360, 0, 361, 362, 363, 0, 364, 365, 366,
+ 367, 368, 0, 370, 371, 372, 373, 0, 374, 375,
+ 376, 377, 378, 379, 380, 381, 0, 382, 0, 384,
+ 385, 386, 387, 388, 389, 390, 0, 391, 0, 392,
+ 0, 0, 395, 0, 397, 398, 399, 400, 401, 402,
+ 403, 404, 1977, 1978, 407, 0, 0, 408, 409, 0,
+ 411, 0, 0, 413, 414, 415, 0, 0, 416, 417,
+ 418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
+ 428, 429, 430, 431, 432, 433, 434, 0, 436, 437,
+ 438, 439, 440, 441, 442, 443, 444, 445, 446, 0,
+ 447, 448, 0, 450, 0, 451, 452, 453, 454, 455,
+ 456, 0, 457, 458, 0, 0, 459, 460, 461, 0,
+ 0, 462, 463, 464, 0, 466, 0, 468, 469, 470,
+ 471, 472, 1979, 474, 475, 476, 477, 478, 0, 479,
+ 480, 481, 482, 483, 484, 485, 486, 0, 487, 488,
+ 489, 1980, 491, 492, 493, 494, 495, 496, 497, 498,
+ 499, 500, 501, 0, 502, 503, 504, 505, 506, 507,
+ 508, 509, 510, 511, 512, 513, 514, 0, 515, 516,
+ 0, 518, 519, 520, 1981, 522, 523, 524, 525, 526,
+ 527, 1982, 529, 530, 531, 532, 533, 0, 1983, 535,
+ 536, 537, 538, 0, 539, 540, 541, 542, 543, 0,
+ 545, 546, 547, 548, 0, 549, 550, 551, 552, 553,
+ 554, 555, 556, 557, 558, 559, 560, 561, 562, 563,
+ 0, 564, 565, 0, 1984, 566, 0, 1985, 569, 570,
+ 571, 572, 0, 573, 574, 575, 0, 0, 576, 577,
+ 578, 579, 580, 0, 581, 582, 1986, 584, 585, 586,
+ 587, 588, 0, 0, 589, 590, 591, 592, 593, 0,
+ 0, 594, 595, 596, 597, 598, 599, 600, 0, 601,
+ 0, 603, 604, 605, 606, 0, 0, 607, 0, 0,
+ 608, 609, 610, 611, 612, 613, 614, 615, 616, 617,
+ 618, 619, 620, 621, 622, 623, 624, 625, 626, 627,
+ 635, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 235, 236, 237,
+ 238, 239, 240, 241, 242, 243, 0, 244, 775, 246,
+ 0, 0, 0, 0, 0, 0, 0, 247, 248, 249,
+ 0, 250, 251, 252, 253, 0, 255, 256, 257, 258,
+ 259, 0, 261, 262, 0, 263, 264, 265, 266, 267,
+ 268, 269, 0, 0, 270, 271, 272, 273, 274, 0,
+ 275, 276, 277, 278, 279, 0, 0, 0, 281, 282,
+ 283, 284, 285, 286, 0, 288, 289, 290, 0, 291,
+ 292, 293, 294, 295, 296, 776, 0, 298, 299, 300,
+ 0, 0, 0, 0, 0, 0, 0, 302, 303, 304,
+ 305, 306, 307, 308, 309, 310, 0, 311, 0, 312,
+ 313, 314, 315, 316, 317, 318, 0, 319, 320, 321,
+ 322, 0, 0, 323, 324, 325, 326, 327, 0, 328,
+ 329, 330, 0, 331, 332, 333, 0, 334, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, 0, 344, 0,
+ 345, 346, 347, 348, 349, 0, 350, 0, 351, 352,
+ 0, 0, 0, 355, 356, 357, 358, 0, 359, 360,
+ 0, 361, 362, 363, 0, 364, 365, 366, 367, 368,
+ 0, 370, 371, 372, 373, 0, 374, 375, 376, 377,
+ 378, 379, 380, 381, 0, 382, 0, 384, 385, 386,
+ 387, 388, 389, 390, 0, 391, 0, 392, 0, 0,
+ 395, 0, 397, 398, 399, 400, 401, 402, 403, 404,
+ 405, 406, 407, 0, 0, 408, 409, 0, 411, 0,
+ 0, 413, 414, 415, 0, 0, 416, 417, 418, 419,
+ 420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
+ 430, 431, 432, 433, 434, 0, 436, 437, 438, 439,
+ 440, 441, 442, 443, 444, 445, 446, 0, 447, 448,
+ 0, 450, 0, 451, 452, 453, 454, 455, 456, 0,
+ 457, 458, 0, 0, 459, 460, 461, 0, 0, 462,
+ 463, 464, 0, 466, 0, 468, 469, 470, 471, 472,
+ 473, 474, 475, 476, 477, 478, 0, 479, 480, 481,
+ 482, 483, 484, 485, 486, 0, 487, 488, 489, 490,
+ 491, 492, 493, 494, 495, 496, 497, 498, 499, 500,
+ 501, 777, 502, 503, 504, 505, 506, 507, 508, 509,
+ 510, 511, 512, 513, 514, 0, 515, 516, 0, 518,
+ 519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
+ 529, 530, 531, 532, 533, 778, 534, 535, 536, 537,
+ 538, 0, 539, 540, 541, 542, 543, 0, 545, 546,
+ 547, 548, 0, 549, 550, 551, 552, 553, 554, 555,
+ 556, 557, 558, 559, 560, 561, 562, 563, 0, 564,
+ 565, 0, 0, 566, 0, 568, 569, 570, 571, 572,
+ 0, 573, 574, 575, 0, 0, 576, 577, 578, 579,
+ 580, 0, 581, 582, 583, 584, 585, 586, 587, 588,
+ 0, 0, 589, 590, 591, 592, 593, 0, 0, 594,
+ 595, 596, 597, 598, 599, 600, 0, 601, 0, 603,
+ 604, 605, 606, 0, 0, 607, 0, 0, 608, 609,
+ 610, 611, 612, 613, 614, 615, 616, 617, 618, 619,
+ 620, 621, 622, 623, 624, 625, 626, 627, 635, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 235, 236, 237, 238, 239,
+ 240, 241, 242, 243, 0, 244, 245, 246, 0, 0,
+ 0, 0, 0, 0, 0, 247, 248, 249, 0, 250,
+ 251, 252, 253, 0, 255, 256, 257, 258, 259, 0,
+ 261, 262, 0, 263, 264, 265, 266, 267, 268, 269,
+ 0, 0, 270, 271, 272, 273, 274, 0, 275, 276,
+ 277, 278, 279, 0, 0, 0, 281, 282, 283, 284,
+ 285, 286, 0, 288, 289, 290, 0, 291, 292, 293,
+ 294, 295, 296, 0, 0, 298, 299, 300, 0, 0,
+ 0, 2840, 0, 0, 0, 302, 303, 304, 305, 306,
+ 307, 308, 309, 310, 0, 311, 0, 312, 313, 314,
+ 315, 316, 317, 318, 0, 319, 320, 321, 322, 0,
+ 0, 323, 324, 325, 326, 327, 0, 328, 329, 330,
+ 0, 331, 332, 333, 0, 334, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, 0, 344, 0, 345, 346,
+ 347, 348, 349, 0, 350, 0, 351, 352, 0, 0,
+ 0, 355, 356, 357, 358, 0, 359, 360, 0, 361,
+ 362, 363, 0, 364, 365, 366, 367, 368, 0, 370,
+ 371, 372, 373, 0, 374, 375, 376, 377, 378, 379,
+ 380, 381, 0, 382, 0, 384, 385, 386, 387, 388,
+ 389, 390, 0, 391, 0, 392, 0, 0, 395, 0,
+ 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
+ 407, 0, 0, 408, 409, 0, 411, 0, 0, 413,
+ 414, 415, 0, 0, 416, 417, 418, 419, 420, 421,
+ 422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
+ 432, 433, 434, 0, 436, 437, 438, 439, 440, 441,
+ 442, 443, 444, 445, 446, 0, 447, 448, 0, 450,
+ 0, 451, 452, 453, 454, 455, 456, 0, 457, 458,
+ 0, 839, 459, 460, 461, 0, 0, 462, 463, 464,
+ 0, 466, 0, 468, 469, 470, 471, 472, 473, 474,
+ 475, 476, 477, 478, 0, 479, 480, 481, 482, 483,
+ 484, 485, 486, 0, 487, 488, 489, 490, 491, 492,
+ 493, 494, 495, 496, 497, 498, 499, 500, 501, 0,
+ 502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
+ 512, 513, 514, 0, 515, 516, 0, 518, 519, 520,
+ 521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
+ 531, 532, 533, 0, 534, 535, 536, 537, 538, 0,
+ 539, 540, 541, 542, 543, 0, 545, 546, 547, 548,
+ 0, 549, 550, 551, 552, 553, 554, 555, 556, 557,
+ 558, 559, 560, 561, 562, 563, 0, 564, 565, 0,
+ 2841, 2842, 0, 568, 569, 570, 571, 572, 0, 573,
+ 574, 575, 0, 0, 576, 577, 578, 579, 580, 0,
+ 581, 582, 583, 584, 585, 586, 587, 588, 0, 0,
+ 589, 590, 591, 592, 593, 0, 0, 594, 595, 596,
+ 597, 598, 599, 600, 0, 601, 0, 603, 604, 605,
+ 606, 0, 0, 607, 0, 0, 608, 609, 610, 611,
+ 612, 613, 614, 615, 616, 617, 618, 619, 620, 621,
+ 622, 623, 624, 625, 626, 627, 635, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 235, 236, 237, 238, 239, 240, 241,
+ 242, 243, 995, 244, 245, 246, 0, 0, 0, 0,
+ 0, 0, 0, 247, 248, 249, 0, 250, 251, 252,
+ 253, 0, 255, 256, 257, 258, 259, 0, 261, 262,
+ 0, 263, 264, 265, 266, 267, 268, 269, 0, 0,
+ 270, 271, 272, 273, 274, 0, 275, 276, 277, 278,
+ 279, 0, 0, 0, 281, 282, 283, 284, 285, 286,
+ 0, 288, 289, 290, 0, 291, 292, 293, 294, 295,
+ 296, 0, 0, 298, 299, 300, 0, 0, 0, 0,
+ 0, 0, 0, 302, 303, 304, 305, 306, 307, 308,
+ 309, 310, 0, 311, 0, 312, 313, 314, 315, 316,
+ 317, 318, 0, 319, 320, 321, 322, 0, 0, 323,
+ 324, 325, 326, 327, 0, 328, 329, 330, 0, 331,
+ 332, 333, 0, 334, 335, 336, 337, 338, 339, 340,
+ 341, 342, 343, 0, 344, 0, 345, 346, 347, 348,
+ 349, 0, 350, 0, 351, 352, 0, 0, 0, 355,
+ 356, 357, 358, 0, 359, 360, 0, 361, 362, 363,
+ 0, 364, 365, 366, 367, 996, 0, 370, 371, 372,
+ 373, 0, 374, 375, 376, 377, 378, 379, 380, 381,
+ 0, 382, 0, 384, 385, 386, 387, 388, 389, 390,
+ 0, 391, 0, 392, 0, 0, 395, 0, 397, 398,
+ 399, 400, 401, 402, 403, 404, 405, 406, 407, 0,
+ 0, 408, 409, 0, 411, 0, 0, 413, 414, 415,
+ 0, 0, 416, 417, 418, 419, 420, 421, 422, 423,
+ 424, 425, 426, 427, 428, 429, 430, 431, 432, 433,
+ 434, 0, 436, 437, 438, 439, 440, 441, 442, 443,
+ 444, 445, 446, 0, 447, 448, 0, 450, 0, 451,
+ 452, 453, 454, 455, 456, 0, 457, 458, 0, 839,
+ 459, 460, 461, 0, 0, 462, 463, 464, 0, 466,
+ 0, 468, 469, 470, 471, 472, 473, 474, 475, 476,
+ 477, 478, 0, 479, 480, 481, 482, 483, 484, 485,
+ 486, 0, 487, 488, 489, 490, 491, 492, 493, 494,
+ 495, 496, 497, 498, 499, 500, 501, 0, 502, 503,
+ 504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
+ 514, 0, 515, 516, 0, 518, 519, 520, 521, 522,
+ 523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
+ 533, 0, 534, 535, 536, 537, 538, 0, 539, 540,
+ 541, 542, 543, 0, 545, 546, 547, 548, 0, 549,
+ 550, 551, 552, 553, 554, 555, 556, 557, 558, 559,
+ 560, 561, 562, 563, 0, 564, 565, 0, 0, 566,
+ 0, 568, 569, 570, 571, 572, 0, 573, 574, 575,
+ 0, 0, 576, 577, 578, 579, 580, 0, 581, 582,
+ 583, 584, 585, 586, 587, 588, 0, 0, 589, 590,
+ 591, 592, 593, 0, 0, 594, 595, 596, 597, 598,
+ 599, 600, 0, 601, 0, 603, 604, 605, 606, 0,
+ 0, 607, 0, 0, 608, 609, 610, 611, 612, 613,
+ 614, 615, 616, 617, 618, 619, 620, 621, 622, 623,
+ 624, 625, 626, 627, 635, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 235, 236, 237, 238, 239, 240, 241, 242, 243,
+ 3570, 244, 245, 246, 0, 0, 0, 0, 0, 0,
+ 0, 247, 248, 249, 0, 250, 251, 252, 253, 0,
+ 255, 256, 257, 258, 259, 0, 261, 262, 0, 263,
+ 264, 265, 266, 267, 268, 269, 0, 0, 270, 271,
+ 272, 273, 274, 0, 275, 276, 277, 278, 279, 0,
+ 0, 0, 281, 282, 283, 284, 285, 286, 0, 288,
+ 289, 290, 0, 291, 292, 293, 294, 295, 296, 0,
+ 0, 298, 299, 300, 0, 0, 0, 0, 0, 0,
+ 0, 302, 303, 304, 305, 306, 307, 308, 309, 310,
+ 0, 311, 0, 312, 313, 314, 315, 316, 317, 318,
+ 0, 319, 320, 321, 322, 0, 0, 323, 324, 325,
+ 326, 327, 0, 328, 329, 330, 0, 331, 332, 333,
+ 0, 334, 335, 336, 337, 338, 339, 340, 341, 342,
+ 343, 0, 344, 0, 345, 346, 347, 348, 349, 0,
+ 350, 0, 351, 352, 0, 0, 0, 355, 356, 357,
+ 358, 0, 359, 360, 0, 361, 362, 363, 0, 364,
+ 365, 366, 367, 368, 0, 370, 371, 372, 373, 0,
+ 374, 375, 376, 377, 378, 379, 380, 381, 0, 382,
+ 0, 384, 385, 386, 387, 388, 389, 390, 0, 391,
+ 0, 392, 0, 0, 395, 0, 397, 398, 399, 400,
+ 401, 402, 403, 404, 405, 406, 407, 0, 0, 408,
+ 409, 0, 411, 0, 0, 413, 414, 415, 0, 0,
+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
+ 426, 427, 428, 429, 430, 431, 432, 433, 434, 0,
+ 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
+ 446, 0, 447, 448, 0, 450, 0, 451, 452, 453,
+ 454, 455, 456, 0, 457, 458, 0, 0, 459, 460,
+ 461, 0, 0, 462, 463, 464, 0, 466, 0, 468,
+ 469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
+ 0, 479, 480, 481, 482, 483, 484, 485, 486, 0,
+ 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
+ 497, 498, 499, 500, 501, 0, 502, 503, 504, 505,
+ 506, 507, 508, 509, 510, 511, 512, 513, 514, 0,
+ 515, 516, 0, 518, 519, 520, 521, 522, 523, 524,
+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 0,
+ 534, 535, 536, 537, 538, 0, 539, 540, 541, 542,
+ 543, 0, 545, 546, 547, 548, 0, 549, 550, 551,
+ 552, 553, 554, 555, 556, 557, 558, 559, 560, 561,
+ 562, 563, 0, 564, 565, 0, 0, 566, 0, 568,
+ 569, 570, 571, 572, 0, 573, 574, 575, 0, 0,
+ 576, 577, 578, 579, 580, 0, 581, 582, 583, 584,
+ 585, 586, 587, 588, 0, 0, 589, 590, 591, 592,
+ 593, 3571, 0, 594, 595, 596, 597, 598, 599, 600,
+ 0, 601, 0, 603, 604, 605, 606, 0, 0, 607,
+ 0, 0, 608, 609, 610, 611, 612, 613, 614, 615,
+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625,
+ 626, 627, 635, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 235,
+ 236, 237, 238, 239, 240, 241, 242, 243, 3583, 244,
+ 245, 246, 0, 0, 0, 0, 0, 0, 0, 247,
+ 248, 249, 0, 250, 251, 252, 253, 0, 255, 256,
+ 257, 258, 259, 0, 261, 262, 0, 263, 264, 265,
+ 266, 267, 268, 269, 0, 0, 270, 271, 272, 273,
+ 274, 0, 275, 276, 277, 278, 279, 0, 0, 0,
+ 281, 282, 283, 284, 285, 286, 0, 288, 289, 290,
+ 0, 291, 292, 293, 294, 295, 296, 0, 0, 298,
+ 299, 300, 0, 0, 0, 0, 0, 0, 0, 302,
+ 303, 304, 305, 306, 307, 308, 309, 310, 0, 311,
+ 0, 312, 313, 314, 315, 316, 317, 318, 0, 319,
+ 320, 321, 322, 0, 0, 323, 324, 325, 326, 327,
+ 0, 328, 329, 330, 0, 331, 332, 333, 0, 334,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, 0,
+ 344, 0, 345, 346, 347, 348, 349, 0, 350, 0,
+ 351, 352, 0, 0, 0, 355, 356, 357, 358, 0,
+ 359, 360, 0, 361, 362, 363, 0, 364, 365, 366,
+ 367, 368, 0, 370, 371, 372, 373, 0, 374, 375,
+ 376, 377, 378, 379, 380, 381, 0, 382, 0, 384,
+ 385, 386, 387, 388, 389, 390, 0, 391, 0, 392,
+ 0, 0, 395, 0, 397, 398, 399, 400, 401, 402,
+ 403, 404, 405, 406, 407, 0, 0, 408, 409, 0,
+ 411, 0, 0, 413, 414, 415, 0, 0, 416, 417,
+ 418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
+ 428, 429, 430, 431, 432, 433, 434, 0, 436, 437,
+ 438, 439, 440, 441, 442, 443, 444, 445, 446, 0,
+ 447, 448, 0, 450, 0, 451, 452, 453, 454, 455,
+ 456, 0, 457, 458, 0, 0, 459, 460, 461, 0,
+ 0, 462, 463, 464, 0, 466, 0, 468, 469, 470,
+ 471, 472, 473, 474, 475, 476, 477, 478, 0, 479,
+ 480, 481, 482, 483, 484, 485, 486, 0, 487, 488,
+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498,
+ 499, 500, 501, 0, 502, 503, 504, 505, 506, 507,
+ 508, 509, 510, 511, 512, 513, 514, 0, 515, 516,
+ 0, 518, 519, 520, 521, 522, 523, 524, 525, 526,
+ 527, 528, 529, 530, 531, 532, 533, 0, 534, 535,
+ 536, 537, 538, 0, 539, 540, 541, 542, 543, 0,
+ 545, 546, 547, 548, 0, 549, 550, 551, 552, 553,
+ 554, 555, 556, 557, 558, 559, 560, 561, 562, 563,
+ 0, 564, 565, 0, 0, 566, 0, 568, 569, 570,
+ 571, 572, 0, 573, 574, 575, 0, 0, 576, 577,
+ 578, 579, 580, 0, 581, 582, 583, 584, 585, 586,
+ 587, 588, 0, 0, 589, 590, 591, 592, 593, 3584,
+ 0, 594, 595, 596, 597, 598, 599, 600, 0, 601,
+ 0, 603, 604, 605, 606, 0, 0, 607, 0, 0,
+ 608, 609, 610, 611, 612, 613, 614, 615, 616, 617,
+ 618, 619, 620, 621, 622, 623, 624, 625, 626, 627,
+ 635, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 235, 236, 237,
+ 238, 239, 240, 241, 242, 243, 636, 244, 245, 246,
+ 0, 0, 0, 0, 0, 0, 0, 247, 248, 249,
+ 0, 250, 251, 252, 253, 0, 255, 256, 257, 258,
+ 259, 0, 261, 262, 0, 263, 264, 265, 266, 267,
+ 268, 269, 0, 0, 270, 271, 272, 273, 274, 0,
+ 275, 276, 277, 278, 279, 0, 0, 0, 281, 282,
+ 283, 284, 285, 286, 0, 288, 289, 290, 0, 291,
+ 292, 293, 294, 295, 296, 0, 0, 298, 299, 300,
+ 0, 0, 0, 0, 0, 0, 0, 302, 303, 304,
+ 305, 306, 307, 308, 309, 310, 0, 311, 0, 312,
+ 313, 314, 315, 316, 317, 318, 0, 319, 320, 321,
+ 322, 0, 0, 323, 324, 325, 326, 327, 0, 328,
+ 329, 330, 0, 331, 332, 333, 0, 334, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, 0, 344, 0,
+ 345, 346, 347, 348, 349, 0, 350, 0, 351, 352,
+ 0, 0, 0, 355, 356, 357, 358, 0, 359, 360,
+ 0, 361, 362, 363, 0, 364, 365, 366, 367, 368,
+ 0, 370, 371, 372, 373, 0, 374, 375, 376, 377,
+ 378, 379, 380, 381, 0, 382, 0, 384, 385, 386,
+ 387, 388, 389, 390, 0, 391, 0, 392, 0, 0,
+ 395, 0, 397, 398, 399, 400, 401, 402, 403, 404,
+ 405, 406, 407, 0, 0, 408, 409, 0, 411, 0,
+ 0, 413, 414, 415, 0, 0, 416, 417, 418, 419,
+ 420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
+ 430, 431, 432, 433, 434, 0, 436, 437, 438, 439,
+ 440, 441, 442, 443, 444, 445, 446, 0, 447, 448,
+ 0, 450, 0, 451, 452, 453, 454, 455, 456, 0,
+ 457, 458, 0, 0, 459, 460, 461, 0, 0, 462,
+ 463, 464, 0, 466, 0, 468, 469, 470, 471, 472,
+ 473, 474, 475, 476, 477, 478, 0, 479, 480, 481,
+ 482, 483, 484, 485, 486, 0, 487, 488, 489, 490,
+ 491, 492, 493, 494, 495, 496, 497, 498, 499, 500,
+ 501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
+ 510, 511, 512, 513, 514, 0, 515, 516, 0, 518,
+ 519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
+ 529, 530, 531, 532, 533, 0, 534, 535, 536, 537,
+ 538, 0, 539, 540, 541, 542, 543, 0, 545, 546,
+ 547, 548, 0, 549, 550, 551, 552, 553, 554, 555,
+ 556, 557, 558, 559, 560, 561, 562, 563, 0, 564,
+ 565, 0, 0, 566, 0, 568, 569, 570, 571, 572,
+ 0, 573, 574, 575, 0, 0, 576, 577, 578, 579,
+ 580, 0, 581, 582, 583, 584, 585, 586, 587, 588,
+ 0, 0, 589, 590, 591, 592, 593, 0, 0, 594,
+ 595, 596, 597, 598, 599, 600, 0, 601, 0, 603,
+ 604, 605, 606, 0, 0, 607, 0, 0, 608, 609,
+ 610, 611, 612, 613, 614, 615, 616, 617, 618, 619,
+ 620, 621, 622, 623, 624, 625, 626, 627, 635, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 235, 236, 237, 238, 239,
+ 240, 241, 242, 243, 685, 244, 245, 246, 0, 0,
+ 0, 0, 0, 0, 0, 247, 248, 249, 0, 250,
+ 251, 252, 253, 0, 255, 256, 257, 258, 259, 0,
+ 261, 262, 0, 263, 264, 265, 266, 267, 268, 269,
+ 0, 0, 270, 271, 272, 273, 274, 0, 275, 276,
+ 277, 278, 279, 0, 0, 0, 281, 282, 283, 284,
+ 285, 286, 0, 288, 289, 290, 0, 291, 292, 293,
+ 294, 295, 296, 0, 0, 298, 299, 300, 0, 0,
+ 0, 0, 0, 0, 0, 302, 303, 304, 305, 306,
+ 307, 308, 309, 310, 0, 311, 0, 312, 313, 314,
+ 315, 316, 317, 318, 0, 319, 320, 321, 322, 0,
+ 0, 323, 324, 325, 326, 327, 0, 328, 329, 330,
+ 0, 331, 332, 333, 0, 334, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, 0, 344, 0, 345, 346,
+ 347, 348, 349, 0, 350, 0, 351, 352, 0, 0,
+ 0, 355, 356, 357, 358, 0, 359, 360, 0, 361,
+ 362, 363, 0, 364, 365, 366, 367, 368, 0, 370,
+ 371, 372, 373, 0, 374, 375, 376, 377, 378, 379,
+ 380, 381, 0, 382, 0, 384, 385, 386, 387, 388,
+ 389, 390, 0, 391, 0, 392, 0, 0, 395, 0,
+ 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
+ 407, 0, 0, 408, 409, 0, 411, 0, 0, 413,
+ 414, 415, 0, 0, 416, 417, 418, 419, 420, 421,
+ 422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
+ 432, 433, 434, 0, 436, 437, 438, 439, 440, 441,
+ 442, 443, 444, 445, 446, 0, 447, 448, 0, 450,
+ 0, 451, 452, 453, 454, 455, 456, 0, 457, 458,
+ 0, 0, 459, 460, 461, 0, 0, 462, 463, 464,
+ 0, 466, 0, 468, 469, 470, 471, 472, 473, 474,
+ 475, 476, 477, 478, 0, 479, 480, 481, 482, 483,
+ 484, 686, 486, 0, 487, 488, 489, 490, 491, 492,
+ 493, 494, 495, 496, 497, 498, 499, 500, 501, 0,
+ 502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
+ 512, 513, 514, 0, 515, 516, 0, 518, 519, 520,
+ 521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
+ 531, 532, 533, 0, 534, 535, 536, 537, 538, 0,
+ 539, 540, 541, 542, 543, 0, 545, 546, 547, 548,
+ 0, 549, 550, 551, 552, 553, 554, 555, 556, 557,
+ 558, 559, 560, 561, 562, 563, 0, 564, 565, 0,
+ 0, 566, 0, 568, 569, 570, 571, 572, 0, 573,
+ 574, 575, 0, 0, 576, 577, 578, 579, 580, 0,
+ 581, 582, 583, 584, 585, 586, 587, 588, 0, 0,
+ 589, 590, 591, 592, 593, 0, 0, 594, 595, 596,
+ 597, 598, 599, 600, 0, 601, 0, 603, 604, 605,
+ 606, 0, 0, 607, 0, 0, 608, 609, 610, 611,
+ 612, 613, 614, 615, 616, 617, 618, 619, 620, 621,
+ 622, 623, 624, 625, 626, 627, 635, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 235, 236, 237, 238, 239, 240, 241,
+ 242, 243, 799, 244, 245, 246, 0, 0, 0, 0,
+ 0, 0, 0, 247, 248, 249, 0, 250, 251, 252,
+ 253, 0, 255, 256, 257, 258, 259, 0, 261, 262,
+ 0, 263, 264, 265, 266, 267, 268, 269, 0, 0,
+ 270, 271, 272, 273, 274, 0, 275, 276, 277, 278,
+ 279, 0, 0, 0, 281, 282, 283, 284, 285, 286,
+ 0, 288, 289, 290, 0, 291, 292, 293, 294, 295,
+ 296, 0, 0, 298, 299, 300, 0, 0, 0, 0,
+ 0, 0, 0, 302, 303, 304, 305, 306, 307, 308,
+ 309, 310, 0, 311, 0, 312, 313, 314, 315, 316,
+ 317, 318, 0, 319, 320, 321, 322, 0, 0, 323,
+ 324, 325, 326, 327, 0, 328, 329, 330, 0, 331,
+ 332, 333, 0, 334, 335, 336, 337, 338, 339, 340,
+ 341, 342, 343, 0, 344, 0, 345, 346, 347, 348,
+ 349, 0, 350, 0, 351, 352, 0, 0, 0, 355,
+ 356, 357, 358, 0, 359, 360, 0, 361, 362, 363,
+ 0, 364, 365, 366, 367, 368, 0, 370, 371, 372,
+ 373, 0, 374, 375, 376, 377, 378, 379, 380, 381,
+ 0, 382, 0, 384, 385, 386, 387, 388, 389, 390,
+ 0, 391, 0, 392, 0, 0, 395, 0, 397, 398,
+ 399, 400, 401, 402, 403, 404, 405, 406, 407, 0,
+ 0, 408, 409, 0, 411, 0, 0, 413, 414, 415,
+ 0, 0, 416, 417, 418, 419, 420, 421, 422, 423,
+ 424, 425, 426, 427, 428, 429, 430, 431, 432, 433,
+ 434, 0, 436, 437, 438, 439, 440, 441, 442, 443,
+ 444, 445, 446, 0, 447, 448, 0, 450, 0, 451,
+ 452, 453, 454, 455, 456, 0, 457, 458, 0, 0,
+ 459, 460, 461, 0, 0, 462, 463, 464, 0, 466,
+ 0, 468, 469, 470, 471, 472, 473, 474, 475, 476,
+ 477, 478, 0, 479, 480, 481, 482, 483, 484, 485,
+ 486, 0, 487, 488, 489, 490, 491, 492, 493, 494,
+ 495, 496, 497, 498, 499, 500, 501, 0, 502, 503,
+ 504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
+ 514, 0, 515, 516, 0, 518, 519, 520, 521, 522,
+ 523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
+ 533, 0, 534, 535, 536, 537, 800, 0, 539, 540,
+ 541, 542, 543, 0, 545, 546, 547, 548, 0, 549,
+ 550, 551, 552, 553, 554, 555, 556, 557, 558, 559,
+ 560, 561, 562, 563, 0, 564, 565, 0, 0, 566,
+ 0, 568, 569, 570, 571, 572, 0, 573, 801, 575,
+ 0, 0, 802, 577, 578, 579, 580, 0, 581, 582,
+ 583, 584, 585, 586, 587, 588, 0, 0, 589, 590,
+ 591, 592, 593, 0, 0, 594, 595, 596, 597, 598,
+ 599, 600, 0, 601, 0, 603, 604, 605, 606, 0,
+ 0, 607, 0, 0, 608, 609, 610, 611, 612, 613,
+ 614, 615, 616, 617, 618, 619, 620, 621, 622, 623,
+ 624, 625, 626, 627, 635, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 235, 236, 237, 238, 239, 240, 241, 242, 243,
+ 833, 244, 245, 246, 0, 0, 0, 0, 0, 0,
+ 0, 247, 248, 249, 0, 250, 251, 252, 253, 0,
+ 255, 256, 257, 258, 259, 0, 261, 262, 0, 263,
+ 264, 265, 266, 267, 268, 269, 0, 0, 270, 271,
+ 272, 273, 274, 0, 275, 276, 277, 278, 279, 0,
+ 0, 0, 281, 282, 283, 284, 285, 286, 0, 288,
+ 289, 290, 0, 291, 292, 293, 294, 295, 296, 0,
+ 0, 298, 299, 300, 0, 0, 0, 0, 0, 0,
+ 0, 302, 303, 304, 305, 306, 307, 308, 309, 310,
+ 0, 311, 0, 312, 313, 314, 315, 316, 317, 318,
+ 0, 319, 320, 321, 322, 0, 0, 323, 324, 325,
+ 326, 327, 0, 328, 329, 330, 0, 331, 332, 333,
+ 0, 334, 335, 336, 337, 338, 339, 340, 341, 342,
+ 343, 0, 344, 0, 345, 346, 347, 348, 349, 0,
+ 350, 0, 351, 352, 0, 0, 0, 355, 356, 357,
+ 358, 0, 359, 360, 0, 361, 362, 363, 0, 364,
+ 365, 366, 367, 368, 0, 370, 371, 372, 373, 0,
+ 374, 375, 376, 377, 378, 379, 380, 381, 0, 382,
+ 0, 384, 385, 386, 387, 388, 389, 390, 0, 391,
+ 0, 392, 0, 0, 395, 0, 397, 398, 399, 400,
+ 401, 402, 403, 404, 405, 406, 407, 0, 0, 408,
+ 409, 0, 411, 0, 0, 413, 414, 415, 0, 0,
+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
+ 426, 427, 428, 429, 430, 431, 432, 433, 434, 0,
+ 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
+ 446, 0, 447, 448, 0, 450, 0, 451, 452, 453,
+ 454, 455, 456, 0, 457, 458, 0, 0, 459, 460,
+ 461, 0, 0, 462, 463, 464, 0, 466, 0, 468,
+ 469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
+ 0, 479, 480, 481, 482, 483, 484, 485, 486, 0,
+ 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
+ 497, 498, 499, 500, 501, 0, 502, 503, 504, 505,
+ 506, 507, 508, 509, 510, 511, 512, 513, 514, 0,
+ 515, 516, 0, 518, 519, 520, 521, 522, 523, 524,
+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 0,
+ 534, 535, 536, 537, 834, 0, 539, 540, 541, 542,
+ 543, 0, 545, 546, 547, 548, 0, 549, 550, 551,
+ 552, 553, 554, 555, 556, 557, 558, 559, 560, 561,
+ 562, 563, 0, 564, 565, 0, 0, 566, 0, 568,
+ 569, 570, 571, 572, 0, 573, 835, 575, 0, 0,
+ 836, 577, 578, 579, 580, 0, 581, 582, 583, 584,
+ 585, 586, 587, 588, 0, 0, 589, 590, 591, 592,
+ 593, 0, 0, 594, 595, 596, 597, 598, 599, 600,
+ 0, 601, 0, 603, 604, 605, 606, 0, 0, 607,
+ 0, 0, 608, 609, 610, 611, 612, 613, 614, 615,
+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625,
+ 626, 627, 635, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 235,
+ 236, 237, 238, 239, 240, 241, 242, 243, 0, 244,
+ 245, 246, 0, 0, 0, 0, 0, 0, 0, 247,
+ 248, 249, 0, 250, 251, 252, 253, 0, 255, 256,
+ 257, 258, 259, 0, 261, 262, 0, 263, 264, 265,
+ 266, 267, 268, 269, 0, 0, 270, 271, 272, 273,
+ 274, 0, 275, 276, 277, 278, 279, 0, 0, 0,
+ 281, 282, 283, 284, 285, 286, 0, 288, 289, 290,
+ 0, 291, 292, 293, 294, 295, 296, 0, 0, 298,
+ 299, 300, 0, 0, 0, 0, 0, 0, 0, 302,
+ 303, 304, 305, 306, 307, 308, 309, 310, 0, 311,
+ 0, 312, 313, 314, 315, 316, 317, 318, 0, 319,
+ 320, 321, 322, 0, 0, 323, 324, 325, 326, 327,
+ 0, 328, 329, 330, 0, 331, 332, 333, 0, 334,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, 0,
+ 344, 0, 345, 346, 347, 348, 349, 0, 350, 0,
+ 351, 352, 0, 0, 0, 355, 356, 357, 358, 0,
+ 359, 360, 0, 361, 362, 363, 0, 364, 365, 366,
+ 367, 368, 0, 370, 371, 372, 373, 0, 374, 375,
+ 376, 377, 378, 379, 380, 381, 0, 382, 0, 384,
+ 385, 386, 387, 388, 389, 390, 0, 391, 0, 392,
+ 0, 0, 395, 0, 397, 398, 399, 400, 401, 402,
+ 403, 404, 405, 406, 407, 0, 0, 408, 409, 0,
+ 411, 0, 0, 413, 414, 415, 0, 0, 416, 417,
+ 418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
+ 428, 429, 430, 431, 432, 433, 434, 0, 436, 437,
+ 438, 439, 440, 441, 442, 443, 444, 445, 446, 0,
+ 447, 448, 0, 450, 0, 451, 452, 453, 454, 455,
+ 456, 0, 457, 458, 0, 839, 459, 460, 461, 0,
+ 0, 462, 463, 464, 0, 466, 0, 468, 469, 470,
+ 471, 472, 473, 474, 475, 476, 477, 478, 0, 479,
+ 480, 481, 482, 483, 484, 485, 486, 0, 487, 488,
+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498,
+ 499, 500, 501, 0, 502, 503, 504, 505, 506, 507,
+ 508, 509, 510, 511, 512, 513, 514, 0, 515, 516,
+ 0, 518, 519, 520, 521, 522, 523, 524, 525, 526,
+ 527, 528, 529, 530, 531, 532, 533, 0, 534, 535,
+ 536, 537, 538, 0, 539, 540, 541, 542, 543, 0,
+ 545, 546, 547, 548, 0, 549, 550, 551, 552, 553,
+ 554, 555, 556, 557, 558, 559, 560, 561, 562, 563,
+ 0, 564, 565, 0, 0, 566, 0, 568, 569, 570,
+ 571, 572, 0, 573, 574, 575, 0, 0, 576, 577,
+ 578, 579, 580, 0, 581, 582, 583, 584, 585, 586,
+ 587, 588, 0, 0, 589, 590, 591, 592, 593, 0,
+ 0, 594, 595, 596, 597, 598, 599, 600, 0, 601,
+ 0, 603, 604, 605, 606, 0, 0, 607, 0, 0,
+ 608, 609, 610, 611, 612, 613, 614, 615, 616, 617,
+ 618, 619, 620, 621, 622, 623, 624, 625, 626, 627,
+ 635, 0, 0, 0, 0, 0, 0, 0, 0, 897,
+ 0, 0, 0, 0, 0, 0, 0, 235, 236, 237,
+ 238, 239, 240, 241, 242, 243, 0, 244, 245, 246,
+ 0, 0, 0, 0, 0, 0, 0, 247, 248, 249,
+ 0, 250, 251, 252, 253, 0, 255, 256, 257, 258,
+ 259, 0, 261, 262, 0, 263, 264, 265, 266, 267,
+ 268, 269, 0, 0, 270, 271, 272, 273, 274, 0,
+ 275, 276, 277, 278, 279, 0, 0, 0, 281, 282,
+ 283, 284, 285, 286, 0, 288, 289, 290, 0, 291,
+ 292, 293, 294, 295, 296, 0, 0, 298, 299, 300,
+ 0, 0, 0, 0, 0, 0, 0, 302, 303, 304,
+ 305, 306, 307, 308, 309, 310, 0, 311, 0, 312,
+ 313, 314, 315, 316, 317, 318, 0, 319, 320, 321,
+ 322, 0, 0, 323, 324, 325, 326, 327, 0, 328,
+ 329, 330, 0, 331, 332, 333, 0, 334, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, 0, 344, 0,
+ 345, 346, 347, 348, 349, 0, 350, 0, 351, 352,
+ 0, 0, 0, 355, 356, 357, 358, 0, 359, 360,
+ 0, 361, 362, 363, 0, 364, 365, 366, 367, 368,
+ 0, 370, 371, 372, 373, 0, 374, 375, 376, 377,
+ 378, 379, 380, 381, 0, 382, 0, 384, 385, 386,
+ 387, 388, 389, 390, 0, 391, 0, 392, 0, 0,
+ 395, 0, 397, 398, 399, 400, 401, 402, 403, 404,
+ 405, 406, 407, 0, 0, 408, 409, 0, 411, 0,
+ 0, 413, 414, 415, 0, 0, 416, 417, 418, 419,
+ 420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
+ 430, 431, 432, 433, 434, 0, 436, 437, 438, 439,
+ 440, 441, 442, 443, 444, 445, 446, 0, 447, 448,
+ 0, 450, 0, 451, 452, 453, 454, 455, 456, 0,
+ 457, 458, 0, 0, 459, 460, 461, 0, 0, 462,
+ 463, 464, 0, 466, 0, 468, 469, 470, 471, 472,
+ 473, 474, 475, 476, 477, 478, 0, 479, 480, 481,
+ 482, 483, 484, 485, 486, 0, 487, 488, 489, 490,
+ 491, 492, 493, 494, 495, 496, 497, 498, 499, 500,
+ 501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
+ 510, 511, 512, 513, 514, 0, 515, 516, 0, 518,
+ 519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
+ 529, 530, 531, 532, 533, 0, 534, 535, 536, 537,
+ 538, 0, 539, 540, 541, 542, 543, 0, 545, 546,
+ 547, 548, 0, 549, 550, 551, 552, 553, 554, 555,
+ 556, 557, 558, 559, 560, 561, 562, 563, 0, 564,
+ 565, 0, 0, 566, 0, 568, 569, 570, 571, 572,
+ 0, 573, 574, 575, 0, 0, 576, 577, 578, 579,
+ 580, 0, 581, 582, 583, 584, 585, 586, 587, 588,
+ 0, 0, 589, 590, 591, 592, 593, 0, 0, 594,
+ 595, 596, 597, 598, 599, 600, 0, 601, 0, 603,
+ 604, 605, 606, 0, 0, 607, 0, 0, 608, 609,
+ 610, 611, 612, 613, 614, 615, 616, 617, 618, 619,
+ 620, 621, 622, 623, 624, 625, 626, 627, 635, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 235, 236, 237, 238, 239,
+ 240, 241, 242, 243, 952, 244, 245, 246, 0, 0,
+ 0, 0, 0, 0, 0, 247, 248, 249, 0, 250,
+ 251, 252, 253, 0, 255, 256, 257, 258, 259, 0,
+ 261, 262, 0, 263, 264, 265, 266, 267, 268, 269,
+ 0, 0, 270, 271, 272, 273, 274, 0, 275, 276,
+ 277, 278, 279, 0, 0, 0, 281, 282, 283, 284,
+ 285, 286, 0, 288, 289, 290, 0, 291, 292, 293,
+ 294, 295, 296, 0, 0, 298, 299, 300, 0, 0,
+ 0, 0, 0, 0, 0, 302, 303, 304, 305, 306,
+ 307, 308, 309, 310, 0, 311, 0, 312, 313, 314,
+ 315, 316, 317, 318, 0, 319, 320, 321, 322, 0,
+ 0, 323, 324, 325, 326, 327, 0, 328, 329, 330,
+ 0, 331, 332, 333, 0, 334, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, 0, 344, 0, 345, 346,
+ 347, 348, 349, 0, 350, 0, 351, 352, 0, 0,
+ 0, 355, 356, 357, 358, 0, 359, 360, 0, 361,
+ 362, 363, 0, 364, 365, 366, 367, 953, 0, 370,
+ 371, 372, 373, 0, 374, 375, 376, 377, 378, 379,
+ 380, 381, 0, 382, 0, 384, 385, 386, 387, 388,
+ 389, 390, 0, 391, 0, 392, 0, 0, 395, 0,
+ 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
+ 407, 0, 0, 408, 409, 0, 411, 0, 0, 413,
+ 414, 415, 0, 0, 416, 417, 418, 419, 420, 421,
+ 422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
+ 432, 433, 434, 0, 436, 437, 438, 439, 440, 441,
+ 442, 443, 444, 445, 446, 0, 447, 448, 0, 450,
+ 0, 451, 452, 453, 454, 455, 456, 0, 457, 458,
+ 0, 0, 459, 460, 461, 0, 0, 462, 463, 464,
+ 0, 466, 0, 468, 469, 470, 471, 472, 473, 474,
+ 475, 476, 477, 478, 0, 479, 480, 481, 482, 483,
+ 484, 485, 486, 0, 487, 488, 489, 490, 491, 492,
+ 493, 494, 495, 496, 497, 498, 499, 500, 501, 0,
+ 502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
+ 512, 513, 514, 0, 515, 516, 0, 518, 519, 520,
+ 521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
+ 531, 532, 533, 0, 534, 535, 536, 537, 538, 0,
+ 539, 540, 541, 542, 543, 0, 545, 546, 547, 548,
+ 0, 549, 550, 551, 552, 553, 554, 555, 556, 557,
+ 558, 559, 560, 561, 562, 563, 0, 564, 565, 0,
+ 0, 566, 0, 568, 569, 570, 571, 572, 0, 573,
+ 574, 575, 0, 0, 576, 577, 578, 579, 580, 0,
+ 581, 582, 583, 584, 585, 586, 587, 588, 0, 0,
+ 589, 590, 591, 592, 593, 0, 0, 594, 595, 596,
+ 597, 598, 599, 600, 0, 601, 0, 603, 604, 605,
+ 606, 0, 0, 607, 0, 0, 608, 609, 610, 611,
+ 612, 613, 614, 615, 616, 617, 618, 619, 620, 621,
+ 622, 623, 624, 625, 626, 627, 635, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 235, 236, 237, 238, 239, 240, 241,
+ 242, 243, 1115, 244, 245, 246, 0, 0, 0, 0,
+ 0, 0, 0, 247, 248, 249, 0, 250, 251, 252,
+ 253, 0, 255, 256, 257, 258, 259, 0, 261, 262,
+ 0, 263, 264, 265, 266, 267, 268, 269, 0, 0,
+ 270, 271, 272, 273, 274, 0, 275, 276, 277, 278,
+ 279, 0, 0, 0, 281, 282, 283, 284, 285, 286,
+ 0, 288, 289, 290, 0, 291, 292, 293, 294, 295,
+ 296, 0, 0, 298, 299, 300, 0, 0, 0, 0,
+ 0, 0, 0, 302, 303, 304, 305, 306, 307, 308,
+ 309, 310, 0, 311, 0, 312, 313, 314, 315, 316,
+ 317, 318, 0, 319, 320, 321, 322, 0, 0, 323,
+ 324, 325, 326, 327, 0, 328, 329, 330, 0, 331,
+ 332, 333, 0, 334, 335, 336, 337, 338, 339, 340,
+ 341, 342, 343, 0, 344, 0, 345, 346, 347, 348,
+ 349, 0, 350, 0, 351, 352, 0, 0, 0, 355,
+ 356, 357, 358, 0, 359, 360, 0, 361, 362, 363,
+ 0, 364, 365, 366, 367, 368, 0, 370, 371, 372,
+ 373, 0, 374, 375, 376, 377, 378, 379, 380, 381,
+ 0, 382, 0, 384, 385, 386, 387, 388, 389, 390,
+ 0, 391, 0, 392, 0, 0, 395, 0, 397, 398,
+ 399, 400, 401, 402, 403, 404, 405, 406, 407, 0,
+ 0, 408, 409, 0, 411, 0, 0, 413, 414, 415,
+ 0, 0, 416, 417, 418, 419, 420, 421, 422, 423,
+ 424, 425, 426, 427, 428, 429, 430, 431, 432, 433,
+ 434, 0, 436, 437, 438, 439, 440, 441, 442, 443,
+ 444, 445, 446, 0, 447, 448, 0, 450, 0, 451,
+ 452, 453, 454, 455, 456, 0, 457, 458, 0, 0,
+ 459, 460, 461, 0, 0, 462, 463, 464, 0, 466,
+ 0, 468, 469, 470, 471, 472, 473, 474, 475, 476,
+ 477, 478, 0, 479, 480, 481, 482, 483, 484, 485,
+ 486, 0, 487, 488, 489, 490, 491, 492, 493, 494,
+ 495, 496, 497, 498, 499, 500, 501, 0, 502, 503,
+ 504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
+ 514, 0, 515, 516, 0, 518, 519, 520, 521, 522,
+ 523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
+ 533, 0, 534, 535, 536, 537, 538, 0, 539, 540,
+ 541, 542, 543, 0, 545, 546, 547, 548, 0, 549,
+ 550, 551, 552, 553, 554, 555, 556, 557, 558, 559,
+ 560, 561, 562, 563, 0, 564, 565, 0, 0, 566,
+ 0, 568, 569, 570, 571, 572, 0, 573, 574, 575,
+ 0, 0, 576, 577, 578, 579, 580, 0, 581, 582,
+ 583, 584, 585, 586, 587, 588, 0, 0, 589, 590,
+ 591, 592, 593, 0, 0, 594, 595, 596, 597, 598,
+ 599, 600, 0, 601, 0, 603, 604, 605, 606, 0,
+ 0, 607, 0, 0, 608, 609, 610, 611, 612, 613,
+ 614, 615, 616, 617, 618, 619, 620, 621, 622, 623,
+ 624, 625, 626, 627, 635, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 235, 236, 237, 238, 239, 240, 241, 242, 243,
+ 1357, 244, 245, 246, 0, 0, 0, 0, 0, 0,
+ 0, 247, 248, 249, 0, 250, 251, 252, 253, 0,
+ 255, 256, 257, 258, 259, 0, 261, 262, 0, 263,
+ 264, 265, 266, 267, 268, 269, 0, 0, 270, 271,
+ 272, 273, 274, 0, 275, 276, 277, 278, 279, 0,
+ 0, 0, 281, 282, 283, 284, 285, 286, 0, 288,
+ 289, 290, 0, 291, 292, 293, 294, 295, 296, 0,
+ 0, 298, 299, 300, 0, 0, 0, 0, 0, 0,
+ 0, 302, 303, 304, 305, 306, 307, 308, 309, 310,
+ 0, 311, 0, 312, 313, 314, 315, 316, 317, 318,
+ 0, 319, 320, 321, 322, 0, 0, 323, 324, 325,
+ 326, 327, 0, 328, 329, 330, 0, 331, 332, 333,
+ 0, 334, 335, 336, 337, 338, 339, 340, 341, 342,
+ 343, 0, 344, 0, 345, 346, 347, 348, 349, 0,
+ 350, 0, 351, 352, 0, 0, 0, 355, 356, 357,
+ 358, 0, 359, 360, 0, 361, 362, 363, 0, 364,
+ 365, 366, 367, 368, 0, 370, 371, 372, 373, 0,
+ 374, 375, 376, 377, 378, 379, 380, 381, 0, 382,
+ 0, 384, 385, 386, 387, 388, 389, 390, 0, 391,
+ 0, 392, 0, 0, 395, 0, 397, 398, 399, 400,
+ 401, 402, 403, 404, 405, 406, 407, 0, 0, 408,
+ 409, 0, 411, 0, 0, 413, 414, 415, 0, 0,
+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
+ 426, 427, 428, 429, 430, 431, 432, 433, 434, 0,
+ 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
+ 446, 0, 447, 448, 0, 450, 0, 451, 452, 453,
+ 454, 455, 456, 0, 457, 458, 0, 0, 459, 460,
+ 461, 0, 0, 462, 463, 464, 0, 466, 0, 468,
+ 469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
+ 0, 479, 480, 481, 482, 483, 484, 485, 486, 0,
+ 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
+ 497, 498, 499, 500, 501, 0, 502, 503, 504, 505,
+ 506, 507, 508, 509, 510, 511, 512, 513, 514, 0,
+ 515, 516, 0, 518, 519, 520, 521, 522, 523, 524,
+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 0,
+ 534, 535, 536, 537, 538, 0, 539, 540, 541, 542,
+ 543, 0, 545, 546, 547, 548, 0, 549, 550, 551,
+ 552, 553, 554, 555, 556, 557, 558, 559, 560, 561,
+ 562, 563, 0, 564, 565, 0, 0, 566, 0, 568,
+ 569, 570, 571, 572, 0, 573, 574, 575, 0, 0,
+ 576, 577, 578, 579, 580, 0, 581, 582, 583, 584,
+ 585, 586, 587, 588, 0, 0, 589, 590, 591, 592,
+ 593, 0, 0, 594, 595, 596, 597, 598, 599, 600,
+ 0, 601, 0, 603, 604, 605, 606, 0, 0, 607,
+ 0, 0, 608, 609, 610, 611, 612, 613, 614, 615,
+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625,
+ 626, 627, 635, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 235,
+ 236, 237, 238, 239, 240, 241, 242, 243, 0, 244,
+ 245, 246, 0, 0, 0, 0, 0, 0, 0, 247,
+ 248, 249, 0, 250, 251, 252, 253, 1368, 255, 256,
+ 257, 258, 259, 0, 261, 262, 0, 263, 264, 265,
+ 266, 267, 268, 269, 0, 0, 819, 271, 272, 273,
+ 1369, 0, 275, 276, 277, 278, 279, 0, 0, 0,
+ 281, 282, 283, 284, 285, 286, 0, 288, 289, 290,
+ 0, 291, 292, 293, 294, 295, 296, 0, 0, 298,
+ 299, 300, 0, 0, 0, 0, 0, 0, 0, 302,
+ 303, 304, 305, 306, 307, 308, 309, 310, 0, 311,
+ 0, 312, 313, 314, 315, 316, 317, 318, 0, 319,
+ 320, 321, 322, 0, 0, 323, 324, 325, 326, 327,
+ 0, 328, 329, 330, 0, 331, 332, 333, 0, 334,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, 0,
+ 344, 0, 345, 346, 347, 348, 349, 0, 350, 0,
+ 351, 352, 0, 0, 0, 355, 356, 357, 358, 0,
+ 359, 360, 0, 361, 362, 363, 0, 364, 365, 366,
+ 367, 368, 0, 370, 371, 372, 373, 0, 374, 375,
+ 376, 377, 378, 379, 380, 381, 0, 382, 0, 384,
+ 385, 386, 387, 388, 389, 390, 0, 391, 0, 392,
+ 0, 0, 395, 0, 397, 398, 399, 400, 401, 402,
+ 403, 404, 405, 406, 407, 0, 0, 408, 409, 0,
+ 411, 0, 0, 413, 414, 415, 0, 0, 416, 417,
+ 418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
+ 428, 429, 430, 431, 432, 822, 434, 0, 436, 437,
+ 438, 439, 440, 441, 442, 443, 444, 445, 446, 0,
+ 447, 448, 0, 450, 0, 451, 452, 453, 454, 455,
+ 456, 0, 457, 458, 0, 0, 459, 460, 461, 0,
+ 0, 462, 463, 464, 0, 466, 0, 468, 469, 470,
+ 471, 472, 473, 474, 475, 476, 477, 478, 0, 479,
+ 480, 481, 482, 483, 484, 485, 486, 0, 487, 488,
+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498,
+ 499, 500, 501, 0, 502, 503, 504, 505, 506, 507,
+ 508, 509, 510, 511, 512, 513, 514, 0, 515, 516,
+ 0, 823, 519, 520, 521, 522, 523, 524, 525, 526,
+ 527, 824, 529, 530, 531, 532, 533, 0, 534, 535,
+ 536, 537, 1361, 0, 539, 540, 541, 542, 543, 0,
+ 545, 546, 547, 548, 0, 549, 550, 551, 552, 553,
+ 554, 555, 556, 557, 558, 559, 560, 561, 562, 563,
+ 0, 564, 565, 0, 0, 566, 0, 568, 569, 570,
+ 571, 572, 0, 573, 826, 575, 0, 0, 827, 577,
+ 578, 579, 580, 0, 581, 582, 583, 584, 585, 586,
+ 587, 588, 0, 0, 589, 590, 591, 592, 593, 0,
+ 0, 594, 595, 596, 597, 598, 599, 600, 0, 601,
+ 0, 603, 604, 605, 606, 0, 0, 607, 0, 0,
+ 608, 609, 610, 611, 612, 828, 614, 615, 616, 617,
+ 618, 619, 620, 621, 622, 623, 624, 625, 626, 627,
+ 635, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 235, 236, 237,
+ 238, 239, 240, 241, 242, 243, 0, 244, 245, 246,
+ 0, 0, 0, 0, 0, 0, 0, 247, 248, 249,
+ 0, 250, 251, 252, 253, 0, 255, 256, 257, 258,
+ 259, 0, 261, 262, 0, 263, 264, 265, 266, 267,
+ 268, 269, 0, 0, 270, 271, 272, 273, 274, 0,
+ 275, 276, 277, 278, 279, 0, 0, 0, 281, 282,
+ 283, 284, 285, 286, 0, 288, 289, 290, 0, 291,
+ 292, 293, 294, 295, 296, 0, 0, 298, 299, 300,
+ 0, 0, 0, 0, 0, 0, 0, 302, 303, 304,
+ 305, 306, 307, 308, 309, 310, 0, 311, 0, 312,
+ 313, 314, 315, 316, 317, 318, 0, 319, 320, 321,
+ 322, 0, 0, 323, 324, 325, 326, 327, 0, 328,
+ 329, 330, 0, 331, 332, 333, 0, 334, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, 0, 344, 0,
+ 345, 346, 347, 348, 349, 0, 350, 0, 351, 352,
+ 0, 0, 0, 355, 356, 357, 358, 0, 359, 360,
+ 0, 361, 362, 363, 0, 364, 365, 366, 367, 1514,
+ 0, 370, 371, 372, 373, 0, 374, 375, 376, 377,
+ 378, 379, 380, 381, 0, 382, 0, 384, 385, 386,
+ 387, 388, 389, 390, 0, 391, 0, 392, 0, 0,
+ 395, 0, 397, 398, 399, 400, 401, 402, 403, 404,
+ 405, 406, 407, 0, 0, 408, 409, 0, 411, 0,
+ 0, 413, 414, 415, 0, 0, 416, 417, 418, 419,
+ 420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
+ 430, 431, 432, 433, 434, 0, 436, 437, 438, 439,
+ 440, 441, 442, 443, 444, 445, 446, 0, 447, 448,
+ 0, 450, 0, 451, 452, 453, 454, 455, 456, 0,
+ 457, 458, 0, 839, 459, 460, 461, 0, 0, 462,
+ 463, 464, 0, 466, 0, 468, 469, 470, 471, 472,
+ 473, 474, 475, 476, 477, 478, 0, 479, 480, 481,
+ 482, 483, 484, 485, 486, 0, 487, 488, 489, 490,
+ 491, 492, 493, 494, 495, 496, 497, 498, 499, 500,
+ 501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
+ 510, 511, 512, 513, 514, 0, 515, 516, 0, 518,
+ 519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
+ 529, 530, 531, 532, 533, 0, 534, 535, 536, 537,
+ 538, 0, 539, 540, 541, 542, 543, 0, 545, 546,
+ 547, 548, 0, 549, 550, 551, 552, 553, 554, 555,
+ 556, 557, 558, 559, 560, 561, 562, 563, 0, 564,
+ 565, 0, 0, 566, 0, 568, 569, 570, 571, 572,
+ 0, 573, 574, 575, 0, 0, 576, 577, 578, 579,
+ 580, 0, 581, 582, 583, 584, 585, 586, 587, 588,
+ 0, 0, 589, 590, 591, 592, 593, 0, 0, 594,
+ 595, 596, 597, 598, 599, 600, 0, 601, 0, 603,
+ 604, 605, 606, 0, 0, 607, 0, 0, 608, 609,
+ 610, 611, 612, 613, 614, 615, 616, 617, 618, 619,
+ 620, 621, 622, 623, 624, 625, 626, 627, 635, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 235, 236, 237, 238, 239,
+ 240, 241, 242, 243, 1575, 244, 245, 246, 0, 0,
+ 0, 0, 0, 0, 0, 247, 248, 249, 0, 250,
+ 251, 252, 253, 0, 255, 256, 257, 258, 259, 0,
+ 261, 262, 0, 263, 264, 265, 266, 267, 268, 269,
+ 0, 0, 270, 271, 272, 273, 274, 0, 275, 276,
+ 277, 278, 279, 0, 0, 0, 281, 282, 283, 284,
+ 285, 286, 0, 288, 289, 290, 0, 291, 292, 293,
+ 294, 295, 296, 0, 0, 298, 299, 300, 0, 0,
+ 0, 0, 0, 0, 0, 302, 303, 304, 305, 306,
+ 307, 308, 309, 310, 0, 311, 0, 312, 313, 314,
+ 315, 316, 317, 318, 0, 319, 320, 321, 322, 0,
+ 0, 323, 324, 325, 326, 327, 0, 328, 329, 330,
+ 0, 331, 332, 333, 0, 334, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, 0, 344, 0, 345, 346,
+ 347, 348, 349, 0, 350, 0, 351, 352, 0, 0,
+ 0, 355, 356, 357, 358, 0, 359, 360, 0, 361,
+ 362, 363, 0, 364, 365, 366, 367, 1576, 0, 370,
+ 371, 372, 373, 0, 374, 375, 376, 377, 378, 379,
+ 380, 381, 0, 382, 0, 384, 385, 386, 387, 388,
+ 389, 390, 0, 391, 0, 392, 0, 0, 395, 0,
+ 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
+ 407, 0, 0, 408, 409, 0, 411, 0, 0, 413,
+ 414, 415, 0, 0, 416, 417, 418, 419, 420, 421,
+ 422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
+ 432, 433, 434, 0, 436, 437, 438, 439, 440, 441,
+ 442, 443, 444, 445, 446, 0, 447, 448, 0, 450,
+ 0, 451, 452, 453, 454, 455, 456, 0, 457, 458,
+ 0, 0, 459, 460, 461, 0, 0, 462, 463, 464,
+ 0, 466, 0, 468, 469, 470, 471, 472, 473, 474,
+ 475, 476, 477, 478, 0, 479, 480, 481, 482, 483,
+ 484, 485, 486, 0, 487, 488, 489, 490, 491, 492,
+ 493, 494, 495, 496, 497, 498, 499, 500, 501, 0,
+ 502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
+ 512, 513, 514, 0, 515, 516, 0, 518, 519, 520,
+ 521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
+ 531, 532, 533, 0, 534, 535, 536, 537, 538, 0,
+ 539, 540, 541, 542, 543, 0, 545, 546, 547, 548,
+ 0, 549, 550, 551, 552, 553, 554, 555, 556, 557,
+ 558, 559, 560, 561, 562, 563, 0, 564, 565, 0,
+ 0, 566, 0, 568, 569, 570, 571, 572, 0, 573,
+ 574, 575, 0, 0, 576, 577, 578, 579, 580, 0,
+ 581, 582, 583, 584, 585, 586, 587, 588, 0, 0,
+ 589, 590, 591, 592, 593, 0, 0, 594, 595, 596,
+ 597, 598, 599, 600, 0, 601, 0, 603, 604, 605,
+ 606, 0, 0, 607, 0, 0, 608, 609, 610, 611,
+ 612, 613, 614, 615, 616, 617, 618, 619, 620, 621,
+ 622, 623, 624, 625, 626, 627, 635, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 235, 236, 237, 238, 239, 240, 241,
+ 242, 243, 799, 244, 245, 246, 0, 0, 0, 0,
+ 0, 0, 0, 247, 248, 249, 0, 250, 251, 252,
+ 253, 0, 255, 256, 257, 258, 259, 0, 261, 262,
+ 0, 263, 264, 265, 266, 267, 268, 269, 0, 0,
+ 270, 271, 272, 273, 274, 0, 275, 276, 277, 278,
+ 279, 0, 0, 0, 281, 282, 283, 284, 285, 286,
+ 0, 288, 289, 290, 0, 291, 292, 293, 294, 295,
+ 296, 0, 0, 298, 299, 300, 0, 0, 0, 0,
+ 0, 0, 0, 302, 303, 304, 305, 306, 307, 308,
+ 309, 310, 0, 311, 0, 312, 313, 314, 315, 316,
+ 317, 318, 0, 319, 320, 321, 322, 0, 0, 323,
+ 324, 325, 326, 327, 0, 328, 329, 330, 0, 331,
+ 332, 333, 0, 334, 335, 336, 337, 338, 339, 340,
+ 341, 342, 343, 0, 344, 0, 345, 346, 347, 348,
+ 349, 0, 350, 0, 351, 352, 0, 0, 0, 355,
+ 356, 357, 358, 0, 359, 360, 0, 361, 362, 363,
+ 0, 364, 365, 366, 367, 368, 0, 370, 371, 372,
+ 373, 0, 374, 375, 376, 377, 378, 379, 380, 381,
+ 0, 382, 0, 384, 385, 386, 387, 388, 389, 390,
+ 0, 391, 0, 392, 0, 0, 395, 0, 397, 398,
+ 399, 400, 401, 402, 403, 404, 405, 406, 407, 0,
+ 0, 408, 409, 0, 411, 0, 0, 413, 414, 415,
+ 0, 0, 416, 417, 418, 419, 420, 421, 422, 423,
+ 424, 425, 426, 427, 428, 429, 430, 431, 432, 433,
+ 434, 0, 436, 437, 438, 439, 440, 441, 442, 443,
+ 444, 445, 446, 0, 447, 448, 0, 450, 0, 451,
+ 452, 453, 454, 455, 456, 0, 457, 458, 0, 0,
+ 459, 460, 461, 0, 0, 462, 463, 464, 0, 466,
+ 0, 468, 469, 470, 471, 472, 473, 474, 475, 476,
+ 477, 478, 0, 479, 480, 481, 482, 483, 484, 485,
+ 486, 0, 487, 488, 489, 490, 491, 492, 493, 494,
+ 495, 496, 497, 498, 499, 500, 501, 0, 502, 503,
+ 504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
+ 514, 0, 515, 516, 0, 518, 519, 520, 521, 522,
+ 523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
+ 533, 0, 534, 535, 536, 537, 538, 0, 539, 540,
+ 541, 542, 543, 0, 545, 546, 547, 548, 0, 549,
+ 550, 551, 552, 553, 554, 555, 556, 557, 558, 559,
+ 560, 561, 562, 563, 0, 564, 565, 0, 0, 566,
+ 0, 568, 569, 570, 571, 572, 0, 573, 574, 575,
+ 0, 0, 576, 577, 578, 579, 580, 0, 581, 582,
+ 583, 584, 585, 586, 587, 588, 0, 0, 589, 590,
+ 591, 592, 593, 0, 0, 594, 595, 596, 597, 598,
+ 599, 600, 0, 601, 0, 603, 604, 605, 606, 0,
+ 0, 607, 0, 0, 608, 609, 610, 611, 612, 613,
+ 614, 615, 616, 617, 618, 619, 620, 621, 622, 623,
+ 624, 625, 626, 627, 635, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 235, 236, 237, 238, 239, 240, 241, 242, 243,
+ 0, 244, 245, 246, 0, 0, 0, 0, 0, 0,
+ 0, 247, 248, 249, 0, 250, 251, 252, 253, 0,
+ 255, 256, 257, 258, 259, 0, 261, 262, 0, 263,
+ 264, 265, 266, 267, 268, 269, 0, 0, 270, 271,
+ 272, 273, 274, 0, 275, 276, 277, 278, 279, 0,
+ 0, 0, 281, 282, 283, 284, 285, 286, 0, 288,
+ 289, 290, 0, 291, 292, 293, 294, 295, 296, 0,
+ 0, 298, 299, 300, 0, 0, 0, 0, 0, 0,
+ 0, 302, 303, 304, 305, 306, 307, 308, 309, 310,
+ 0, 311, 0, 312, 313, 314, 315, 316, 317, 318,
+ 0, 319, 320, 321, 322, 0, 0, 323, 324, 325,
+ 326, 327, 0, 328, 329, 330, 0, 331, 332, 333,
+ 0, 334, 335, 336, 337, 338, 339, 340, 341, 342,
+ 343, 0, 344, 0, 345, 346, 347, 348, 349, 0,
+ 350, 0, 351, 352, 0, 0, 0, 355, 356, 357,
+ 3341, 0, 359, 360, 0, 361, 362, 363, 0, 364,
+ 365, 366, 367, 368, 0, 370, 371, 372, 373, 0,
+ 374, 375, 376, 377, 378, 379, 380, 381, 0, 382,
+ 0, 384, 385, 386, 387, 388, 389, 390, 0, 391,
+ 0, 392, 0, 0, 395, 0, 397, 398, 399, 400,
+ 401, 402, 403, 404, 405, 406, 407, 0, 0, 408,
+ 409, 0, 411, 0, 0, 413, 414, 3342, 0, 0,
+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
+ 426, 427, 428, 429, 430, 431, 432, 433, 434, 0,
+ 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
+ 446, 0, 447, 448, 0, 450, 0, 451, 452, 453,
+ 454, 455, 456, 0, 457, 458, 0, 0, 459, 460,
+ 461, 0, 0, 462, 463, 464, 0, 466, 0, 468,
+ 469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
+ 0, 479, 480, 481, 482, 483, 484, 485, 486, 0,
+ 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
+ 497, 498, 499, 500, 501, 0, 502, 503, 504, 505,
+ 506, 507, 508, 509, 510, 511, 512, 513, 514, 0,
+ 515, 516, 0, 518, 519, 520, 521, 522, 523, 524,
+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 0,
+ 534, 535, 536, 537, 538, 0, 539, 540, 541, 542,
+ 543, 0, 545, 546, 547, 548, 0, 549, 550, 551,
+ 552, 553, 554, 555, 556, 557, 558, 559, 560, 561,
+ 562, 563, 0, 564, 565, 0, 3343, 566, 0, 568,
+ 3344, 570, 3345, 572, 0, 573, 574, 575, 0, 0,
+ 576, 577, 578, 579, 580, 0, 581, 582, 583, 584,
+ 585, 586, 587, 588, 0, 0, 589, 590, 3346, 592,
+ 593, 0, 0, 594, 595, 596, 597, 598, 599, 600,
+ 0, 601, 0, 603, 604, 605, 606, 0, 0, 607,
+ 0, 0, 608, 609, 610, 611, 612, 613, 614, 615,
+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625,
+ 626, 627, 635, 0, 0, 694, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 235,
+ 236, 237, 238, 239, 240, 241, 242, 243, 0, 244,
+ 245, 246, 0, 0, 0, 0, 0, 0, 0, 247,
+ 248, 249, 0, 250, 251, 252, 253, 0, 255, 256,
+ 257, 258, 259, 0, 261, 262, 0, 263, 264, 265,
+ 266, 267, 268, 269, 0, 0, 270, 271, 272, 273,
+ 274, 0, 275, 276, 277, 278, 279, 0, 0, 0,
+ 281, 282, 283, 284, 285, 286, 0, 288, 289, 290,
+ 0, 291, 292, 293, 294, 295, 296, 0, 0, 298,
+ 299, 300, 0, 0, 0, 0, 0, 0, 0, 302,
+ 303, 304, 305, 306, 307, 308, 309, 310, 0, 311,
+ 0, 312, 313, 314, 315, 316, 317, 318, 0, 319,
+ 320, 321, 322, 0, 0, 323, 324, 325, 326, 327,
+ 0, 328, 329, 330, 0, 331, 332, 333, 0, 334,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, 0,
+ 344, 0, 345, 346, 347, 348, 349, 0, 350, 0,
+ 351, 352, 0, 0, 0, 355, 356, 357, 358, 0,
+ 359, 360, 0, 361, 362, 363, 0, 364, 365, 366,
+ 367, 368, 0, 370, 371, 372, 373, 0, 374, 375,
+ 376, 377, 378, 379, 380, 381, 0, 382, 0, 384,
+ 385, 386, 387, 388, 389, 390, 0, 391, 0, 392,
+ 0, 0, 395, 0, 397, 398, 399, 400, 401, 402,
+ 403, 404, 405, 406, 407, 0, 0, 408, 409, 0,
+ 411, 0, 0, 413, 414, 415, 0, 0, 416, 417,
+ 418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
+ 428, 429, 430, 431, 432, 433, 434, 0, 436, 437,
+ 438, 439, 440, 441, 442, 443, 444, 445, 446, 0,
+ 447, 448, 0, 450, 0, 451, 452, 453, 454, 455,
+ 456, 0, 457, 458, 0, 0, 459, 460, 461, 0,
+ 0, 462, 463, 464, 0, 466, 0, 468, 469, 470,
+ 471, 472, 473, 474, 475, 476, 477, 478, 0, 479,
+ 480, 481, 482, 483, 484, 485, 486, 0, 487, 488,
+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498,
+ 499, 500, 501, 0, 502, 503, 504, 505, 506, 507,
+ 508, 509, 510, 511, 512, 513, 514, 0, 515, 516,
+ 0, 518, 519, 520, 521, 522, 523, 524, 525, 526,
+ 527, 528, 529, 530, 531, 532, 533, 0, 534, 535,
+ 536, 537, 538, 0, 539, 540, 541, 542, 543, 0,
+ 545, 546, 547, 548, 0, 549, 550, 551, 552, 553,
+ 554, 555, 556, 557, 558, 559, 560, 561, 562, 563,
+ 0, 564, 565, 0, 0, 566, 0, 568, 569, 570,
+ 571, 572, 0, 573, 574, 575, 0, 0, 576, 577,
+ 578, 579, 580, 0, 581, 582, 583, 584, 585, 586,
+ 587, 588, 0, 0, 589, 590, 591, 592, 593, 0,
+ 0, 594, 595, 596, 597, 598, 599, 600, 0, 601,
+ 0, 603, 604, 605, 606, 0, 0, 607, 0, 0,
+ 608, 609, 610, 611, 612, 613, 614, 615, 616, 617,
+ 618, 619, 620, 621, 622, 623, 624, 625, 626, 627,
+ 635, 0, 0, 0, 0, 0, 0, 0, 755, 0,
+ 0, 0, 0, 0, 0, 0, 0, 235, 236, 237,
+ 238, 239, 240, 241, 242, 243, 0, 244, 245, 246,
+ 0, 0, 0, 0, 0, 0, 0, 247, 248, 249,
+ 0, 250, 251, 252, 253, 0, 255, 256, 257, 258,
+ 259, 0, 261, 262, 0, 263, 264, 265, 266, 267,
+ 268, 269, 0, 0, 270, 271, 272, 273, 274, 0,
+ 275, 276, 277, 278, 279, 0, 0, 0, 281, 282,
+ 283, 284, 285, 286, 0, 288, 289, 290, 0, 291,
+ 292, 293, 294, 295, 296, 0, 0, 298, 299, 300,
+ 0, 0, 0, 0, 0, 0, 0, 302, 303, 304,
+ 305, 306, 307, 308, 309, 310, 0, 311, 0, 312,
+ 313, 314, 315, 316, 317, 318, 0, 319, 320, 321,
+ 322, 0, 0, 323, 324, 325, 326, 327, 0, 328,
+ 329, 330, 0, 331, 332, 333, 0, 334, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, 0, 344, 0,
+ 345, 346, 347, 348, 349, 0, 350, 0, 351, 352,
+ 0, 0, 0, 355, 356, 357, 358, 0, 359, 360,
+ 0, 361, 362, 363, 0, 364, 365, 366, 367, 368,
+ 0, 370, 371, 372, 373, 0, 374, 375, 376, 377,
+ 378, 379, 380, 381, 0, 382, 0, 384, 385, 386,
+ 387, 388, 389, 390, 0, 391, 0, 392, 0, 0,
+ 395, 0, 397, 398, 399, 400, 401, 402, 403, 404,
+ 405, 406, 407, 0, 0, 408, 409, 0, 411, 0,
+ 0, 413, 414, 415, 0, 0, 416, 417, 418, 419,
+ 420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
+ 430, 431, 432, 433, 434, 0, 436, 437, 438, 439,
+ 440, 441, 442, 443, 444, 445, 446, 0, 447, 448,
+ 0, 450, 0, 451, 452, 453, 454, 455, 456, 0,
+ 457, 458, 0, 0, 459, 460, 461, 0, 0, 462,
+ 463, 464, 0, 466, 0, 468, 469, 470, 471, 472,
+ 473, 474, 475, 476, 477, 478, 0, 479, 480, 481,
+ 482, 483, 484, 485, 486, 0, 487, 488, 489, 490,
+ 491, 492, 493, 494, 495, 496, 497, 498, 499, 500,
+ 501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
+ 510, 511, 512, 513, 514, 0, 515, 516, 0, 518,
+ 519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
+ 529, 530, 531, 532, 533, 0, 534, 535, 536, 537,
+ 538, 0, 539, 540, 541, 542, 543, 0, 545, 546,
+ 547, 548, 0, 549, 550, 551, 552, 553, 554, 555,
+ 556, 557, 558, 559, 560, 561, 562, 563, 0, 564,
+ 565, 0, 0, 566, 0, 568, 569, 570, 571, 572,
+ 0, 573, 574, 575, 0, 0, 576, 577, 578, 579,
+ 580, 0, 581, 582, 583, 584, 585, 586, 587, 588,
+ 0, 0, 589, 590, 591, 592, 593, 0, 0, 594,
+ 595, 596, 597, 598, 599, 600, 0, 601, 0, 603,
+ 604, 605, 606, 0, 0, 607, 0, 0, 608, 609,
+ 610, 611, 612, 613, 614, 615, 616, 617, 618, 619,
+ 620, 621, 622, 623, 624, 625, 626, 627, 635, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 235, 236, 237, 238, 239,
+ 240, 241, 242, 243, 0, 244, 245, 246, 0, 0,
+ 0, 0, 0, 4148, 0, 247, 248, 249, 0, 250,
+ 251, 252, 253, 0, 255, 256, 257, 258, 259, 0,
+ 261, 262, 0, 263, 264, 265, 266, 267, 268, 269,
+ 0, 0, 270, 271, 272, 273, 274, 0, 275, 276,
+ 277, 278, 279, 0, 0, 0, 281, 282, 283, 284,
+ 285, 286, 0, 288, 289, 290, 0, 291, 292, 293,
+ 294, 295, 296, 0, 0, 298, 299, 300, 0, 0,
+ 0, 0, 0, 0, 0, 302, 303, 304, 305, 306,
+ 307, 308, 309, 310, 0, 311, 0, 312, 313, 314,
+ 315, 316, 317, 318, 0, 319, 320, 321, 322, 0,
+ 0, 323, 324, 325, 326, 327, 0, 328, 329, 330,
+ 0, 331, 332, 333, 0, 334, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, 0, 344, 0, 345, 346,
+ 347, 348, 349, 0, 350, 0, 351, 352, 0, 0,
+ 0, 355, 356, 357, 358, 0, 359, 360, 0, 361,
+ 362, 363, 0, 364, 365, 366, 367, 368, 0, 370,
+ 371, 372, 373, 0, 374, 375, 376, 377, 378, 379,
+ 380, 381, 0, 382, 0, 384, 385, 386, 387, 388,
+ 389, 390, 0, 391, 0, 392, 0, 0, 395, 0,
+ 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
+ 407, 0, 0, 408, 409, 0, 411, 0, 0, 413,
+ 414, 415, 0, 0, 416, 417, 418, 419, 420, 421,
+ 422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
+ 432, 433, 434, 0, 436, 437, 438, 439, 440, 441,
+ 442, 443, 444, 445, 446, 0, 447, 448, 0, 450,
+ 0, 451, 452, 453, 454, 455, 456, 0, 457, 458,
+ 0, 0, 459, 460, 461, 0, 0, 462, 463, 464,
+ 0, 466, 0, 468, 469, 470, 471, 472, 473, 474,
+ 475, 476, 477, 478, 0, 479, 480, 481, 482, 483,
+ 484, 485, 486, 0, 487, 488, 489, 490, 491, 492,
+ 493, 494, 495, 496, 497, 498, 499, 500, 501, 0,
+ 502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
+ 512, 513, 514, 0, 515, 516, 0, 518, 519, 520,
+ 521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
+ 531, 532, 533, 0, 534, 535, 536, 537, 538, 0,
+ 539, 540, 541, 542, 543, 0, 545, 546, 547, 548,
+ 0, 549, 550, 551, 552, 553, 554, 555, 556, 557,
+ 558, 559, 560, 561, 562, 563, 0, 564, 565, 0,
+ 0, 566, 0, 568, 569, 570, 571, 572, 0, 573,
+ 574, 575, 0, 0, 576, 577, 578, 579, 580, 0,
+ 581, 582, 583, 584, 585, 586, 587, 588, 0, 0,
+ 589, 590, 591, 592, 593, 0, 0, 594, 595, 596,
+ 597, 598, 599, 600, 0, 601, 0, 603, 604, 605,
+ 606, 0, 0, 607, 0, 0, 608, 609, 610, 611,
+ 612, 613, 614, 615, 616, 617, 618, 619, 620, 621,
+ 622, 623, 624, 625, 626, 627, 635, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 235, 236, 237, 238, 239, 240, 241,
+ 242, 243, 0, 244, 245, 246, 0, 0, 0, 0,
+ 0, 4162, 0, 247, 248, 249, 0, 250, 251, 252,
+ 253, 0, 255, 256, 257, 258, 259, 0, 261, 262,
+ 0, 263, 264, 265, 266, 267, 268, 269, 0, 0,
+ 270, 271, 272, 273, 274, 0, 275, 276, 277, 278,
+ 279, 0, 0, 0, 281, 282, 283, 284, 285, 286,
+ 0, 288, 289, 290, 0, 291, 292, 293, 294, 295,
+ 296, 0, 0, 298, 299, 300, 0, 0, 0, 0,
+ 0, 0, 0, 302, 303, 304, 305, 306, 307, 308,
+ 309, 310, 0, 311, 0, 312, 313, 314, 315, 316,
+ 317, 318, 0, 319, 320, 321, 322, 0, 0, 323,
+ 324, 325, 326, 327, 0, 328, 329, 330, 0, 331,
+ 332, 333, 0, 334, 335, 336, 337, 338, 339, 340,
+ 341, 342, 343, 0, 344, 0, 345, 346, 347, 348,
+ 349, 0, 350, 0, 351, 352, 0, 0, 0, 355,
+ 356, 357, 358, 0, 359, 360, 0, 361, 362, 363,
+ 0, 364, 365, 366, 367, 368, 0, 370, 371, 372,
+ 373, 0, 374, 375, 376, 377, 378, 379, 380, 381,
+ 0, 382, 0, 384, 385, 386, 387, 388, 389, 390,
+ 0, 391, 0, 392, 0, 0, 395, 0, 397, 398,
+ 399, 400, 401, 402, 403, 404, 405, 406, 407, 0,
+ 0, 408, 409, 0, 411, 0, 0, 413, 414, 415,
+ 0, 0, 416, 417, 418, 419, 420, 421, 422, 423,
+ 424, 425, 426, 427, 428, 429, 430, 431, 432, 433,
+ 434, 0, 436, 437, 438, 439, 440, 441, 442, 443,
+ 444, 445, 446, 0, 447, 448, 0, 450, 0, 451,
+ 452, 453, 454, 455, 456, 0, 457, 458, 0, 0,
+ 459, 460, 461, 0, 0, 462, 463, 464, 0, 466,
+ 0, 468, 469, 470, 471, 472, 473, 474, 475, 476,
+ 477, 478, 0, 479, 480, 481, 482, 483, 484, 485,
+ 486, 0, 487, 488, 489, 490, 491, 492, 493, 494,
+ 495, 496, 497, 498, 499, 500, 501, 0, 502, 503,
+ 504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
+ 514, 0, 515, 516, 0, 518, 519, 520, 521, 522,
+ 523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
+ 533, 0, 534, 535, 536, 537, 538, 0, 539, 540,
+ 541, 542, 543, 0, 545, 546, 547, 548, 0, 549,
+ 550, 551, 552, 553, 554, 555, 556, 557, 558, 559,
+ 560, 561, 562, 563, 0, 564, 565, 0, 0, 566,
+ 0, 568, 569, 570, 571, 572, 0, 573, 574, 575,
+ 0, 0, 576, 577, 578, 579, 580, 0, 581, 582,
+ 583, 584, 585, 586, 587, 588, 0, 0, 589, 590,
+ 591, 592, 593, 0, 0, 594, 595, 596, 597, 598,
+ 599, 600, 0, 601, 0, 603, 604, 605, 606, 0,
+ 0, 607, 0, 0, 608, 609, 610, 611, 612, 613,
+ 614, 615, 616, 617, 618, 619, 620, 621, 622, 623,
+ 624, 625, 626, 627, 635, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 235, 236, 237, 238, 239, 240, 241, 242, 243,
+ 0, 244, 245, 246, 0, 0, 0, 0, 0, 0,
+ 0, 247, 248, 249, 0, 250, 251, 252, 253, 0,
+ 255, 256, 257, 258, 259, 0, 261, 262, 0, 263,
+ 264, 265, 266, 267, 268, 269, 0, 0, 270, 271,
+ 272, 273, 274, 0, 275, 276, 277, 278, 279, 0,
+ 0, 0, 281, 282, 283, 284, 285, 286, 0, 288,
+ 289, 290, 0, 291, 292, 293, 294, 295, 296, 0,
+ 0, 298, 299, 300, 0, 0, 0, 0, 0, 0,
+ 0, 302, 303, 304, 305, 306, 307, 308, 309, 310,
+ 4816, 311, 0, 312, 313, 314, 315, 316, 317, 318,
+ 0, 319, 320, 321, 322, 0, 0, 323, 324, 325,
+ 326, 327, 0, 328, 329, 330, 0, 331, 332, 333,
+ 0, 334, 335, 336, 337, 338, 339, 340, 341, 342,
+ 343, 0, 344, 0, 345, 346, 347, 348, 349, 0,
+ 350, 0, 351, 352, 0, 0, 0, 355, 356, 357,
+ 358, 0, 359, 360, 0, 361, 362, 363, 0, 364,
+ 365, 366, 367, 368, 0, 370, 371, 372, 373, 0,
+ 374, 375, 376, 377, 378, 379, 380, 381, 0, 382,
+ 0, 384, 385, 386, 387, 388, 389, 390, 0, 391,
+ 0, 392, 0, 0, 395, 0, 397, 398, 399, 400,
+ 401, 402, 403, 404, 405, 406, 407, 0, 0, 408,
+ 409, 0, 411, 0, 0, 413, 414, 415, 0, 0,
+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
+ 426, 427, 428, 429, 430, 431, 432, 433, 434, 0,
+ 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
+ 446, 0, 447, 448, 0, 450, 0, 451, 452, 453,
+ 454, 455, 456, 0, 457, 458, 0, 0, 459, 460,
+ 461, 0, 0, 462, 463, 464, 0, 466, 0, 468,
+ 469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
+ 0, 479, 480, 481, 482, 483, 484, 485, 486, 0,
+ 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
+ 497, 498, 499, 500, 501, 0, 502, 503, 504, 505,
+ 506, 507, 508, 509, 510, 511, 512, 513, 514, 0,
+ 515, 516, 0, 518, 519, 520, 521, 522, 523, 524,
+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 0,
+ 534, 535, 536, 537, 538, 0, 539, 540, 541, 542,
+ 543, 0, 545, 546, 547, 548, 0, 549, 550, 551,
+ 552, 553, 554, 555, 556, 557, 558, 559, 560, 561,
+ 562, 563, 0, 564, 565, 0, 0, 566, 0, 568,
+ 569, 570, 571, 572, 0, 573, 574, 575, 0, 0,
+ 576, 577, 578, 579, 580, 0, 581, 582, 583, 584,
+ 585, 586, 587, 588, 0, 0, 589, 590, 591, 592,
+ 593, 0, 0, 594, 595, 596, 597, 598, 599, 600,
+ 0, 601, 0, 603, 604, 605, 606, 0, 0, 607,
+ 0, 0, 608, 609, 610, 611, 612, 613, 614, 615,
+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625,
+ 626, 627, 635, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 235,
+ 236, 237, 238, 239, 240, 241, 242, 243, 0, 244,
+ 245, 246, 0, 0, 0, 0, 0, 0, 0, 247,
+ 248, 249, 0, 250, 251, 252, 253, 0, 255, 256,
+ 257, 258, 259, 0, 261, 262, 0, 263, 264, 265,
+ 266, 267, 268, 269, 0, 0, 270, 271, 272, 273,
+ 274, 0, 275, 276, 277, 278, 279, 0, 0, 0,
+ 281, 282, 283, 284, 285, 286, 0, 288, 289, 290,
+ 0, 291, 292, 293, 294, 295, 296, 0, 0, 298,
+ 299, 300, 0, 0, 0, 4888, 0, 0, 0, 302,
+ 303, 304, 305, 306, 307, 308, 309, 310, 0, 311,
+ 0, 312, 313, 314, 315, 316, 317, 318, 0, 319,
+ 320, 321, 322, 0, 0, 323, 324, 325, 326, 327,
+ 0, 328, 329, 330, 0, 331, 332, 333, 0, 334,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, 0,
+ 344, 0, 345, 346, 347, 348, 349, 0, 350, 0,
+ 351, 352, 0, 0, 0, 355, 356, 357, 358, 0,
+ 359, 360, 0, 361, 362, 363, 0, 364, 365, 366,
+ 367, 368, 0, 370, 371, 372, 373, 0, 374, 375,
+ 376, 377, 378, 379, 380, 381, 0, 382, 0, 384,
+ 385, 386, 387, 388, 389, 390, 0, 391, 0, 392,
+ 0, 0, 395, 0, 397, 398, 399, 400, 401, 402,
+ 403, 404, 405, 406, 407, 0, 0, 408, 409, 0,
+ 411, 0, 0, 413, 414, 415, 0, 0, 416, 417,
+ 418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
+ 428, 429, 430, 431, 432, 433, 434, 0, 436, 437,
+ 438, 439, 440, 441, 442, 443, 444, 445, 446, 0,
+ 447, 448, 0, 450, 0, 451, 452, 453, 454, 455,
+ 456, 0, 457, 458, 0, 0, 459, 460, 461, 0,
+ 0, 462, 463, 464, 0, 466, 0, 468, 469, 470,
+ 471, 472, 473, 474, 475, 476, 477, 478, 0, 479,
+ 480, 481, 482, 483, 484, 485, 486, 0, 487, 488,
+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498,
+ 499, 500, 501, 0, 502, 503, 504, 505, 506, 507,
+ 508, 509, 510, 511, 512, 513, 514, 0, 515, 516,
+ 0, 518, 519, 520, 521, 522, 523, 524, 525, 526,
+ 527, 528, 529, 530, 531, 532, 533, 0, 534, 535,
+ 536, 537, 538, 0, 539, 540, 541, 542, 543, 0,
+ 545, 546, 547, 548, 0, 549, 550, 551, 552, 553,
+ 554, 555, 556, 557, 558, 559, 560, 561, 562, 563,
+ 0, 564, 565, 0, 0, 566, 0, 568, 569, 570,
+ 571, 572, 0, 573, 574, 575, 0, 0, 576, 577,
+ 578, 579, 580, 0, 581, 582, 583, 584, 585, 586,
+ 587, 588, 0, 0, 589, 590, 591, 592, 593, 0,
+ 0, 594, 595, 596, 597, 598, 599, 600, 0, 601,
+ 0, 603, 604, 605, 606, 0, 0, 607, 0, 0,
+ 608, 609, 610, 611, 612, 613, 614, 615, 616, 617,
+ 618, 619, 620, 621, 622, 623, 624, 625, 626, 627,
+ 635, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 235, 236, 237,
+ 238, 239, 240, 241, 242, 243, 0, 244, 245, 246,
+ 0, 0, 0, 0, 0, 0, 0, 247, 248, 249,
+ 0, 250, 251, 252, 253, 0, 255, 256, 257, 258,
+ 259, 0, 261, 262, 0, 263, 264, 265, 266, 267,
+ 268, 269, 0, 0, 270, 271, 272, 273, 274, 0,
+ 275, 276, 277, 278, 279, 0, 0, 0, 281, 282,
+ 283, 284, 285, 286, 0, 288, 289, 290, 0, 291,
+ 292, 293, 294, 295, 296, 0, 0, 298, 299, 300,
+ 0, 0, 0, 0, 0, 0, 0, 302, 303, 304,
+ 305, 306, 307, 308, 309, 310, 5242, 311, 0, 312,
+ 313, 314, 315, 316, 317, 318, 0, 319, 320, 321,
+ 322, 0, 0, 323, 324, 325, 326, 327, 0, 328,
+ 329, 330, 0, 331, 332, 333, 0, 334, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, 0, 344, 0,
+ 345, 346, 347, 348, 349, 0, 350, 0, 351, 352,
+ 0, 0, 0, 355, 356, 357, 358, 0, 359, 360,
+ 0, 361, 362, 363, 0, 364, 365, 366, 367, 368,
+ 0, 370, 371, 372, 373, 0, 374, 375, 376, 377,
+ 378, 379, 380, 381, 0, 382, 0, 384, 385, 386,
+ 387, 388, 389, 390, 0, 391, 0, 392, 0, 0,
+ 395, 0, 397, 398, 399, 400, 401, 402, 403, 404,
+ 405, 406, 407, 0, 0, 408, 409, 0, 411, 0,
+ 0, 413, 414, 415, 0, 0, 416, 417, 418, 419,
+ 420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
+ 430, 431, 432, 433, 434, 0, 436, 437, 438, 439,
+ 440, 441, 442, 443, 444, 445, 446, 0, 447, 448,
+ 0, 450, 0, 451, 452, 453, 454, 455, 456, 0,
+ 457, 458, 0, 0, 459, 460, 461, 0, 0, 462,
+ 463, 464, 0, 466, 0, 468, 469, 470, 471, 472,
+ 473, 474, 475, 476, 477, 478, 0, 479, 480, 481,
+ 482, 483, 484, 485, 486, 0, 487, 488, 489, 490,
+ 491, 492, 493, 494, 495, 496, 497, 498, 499, 500,
+ 501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
+ 510, 511, 512, 513, 514, 0, 515, 516, 0, 518,
+ 519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
+ 529, 530, 531, 532, 533, 0, 534, 535, 536, 537,
+ 538, 0, 539, 540, 541, 542, 543, 0, 545, 546,
+ 547, 548, 0, 549, 550, 551, 552, 553, 554, 555,
+ 556, 557, 558, 559, 560, 561, 562, 563, 0, 564,
+ 565, 0, 0, 566, 0, 568, 569, 570, 571, 572,
+ 0, 573, 574, 575, 0, 0, 576, 577, 578, 579,
+ 580, 0, 581, 582, 583, 584, 585, 586, 587, 588,
+ 0, 0, 589, 590, 591, 592, 593, 0, 0, 594,
+ 595, 596, 597, 598, 599, 600, 0, 601, 0, 603,
+ 604, 605, 606, 0, 0, 607, 0, 0, 608, 609,
+ 610, 611, 612, 613, 614, 615, 616, 617, 618, 619,
+ 620, 621, 622, 623, 624, 625, 626, 627, 635, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 235, 236, 237, 238, 239,
+ 240, 241, 242, 243, 0, 244, 245, 246, 0, 0,
+ 0, 0, 0, 0, 0, 247, 248, 249, 0, 250,
+ 251, 252, 253, 0, 255, 256, 257, 258, 259, 0,
+ 261, 262, 0, 263, 264, 265, 266, 267, 268, 269,
+ 0, 0, 270, 271, 272, 273, 274, 0, 275, 276,
+ 277, 278, 279, 0, 0, 0, 281, 282, 283, 284,
+ 285, 286, 0, 288, 289, 290, 0, 291, 292, 293,
+ 294, 295, 296, 0, 0, 298, 299, 300, 0, 0,
+ 0, 0, 0, 0, 0, 302, 303, 304, 305, 306,
+ 307, 308, 309, 310, 0, 311, 0, 312, 313, 314,
+ 315, 316, 317, 318, 0, 319, 320, 321, 322, 0,
+ 0, 323, 324, 325, 326, 327, 0, 328, 329, 330,
+ 0, 331, 332, 333, 0, 334, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, 0, 344, 0, 345, 346,
+ 347, 348, 349, 0, 350, 0, 351, 352, 0, 0,
+ 0, 355, 356, 357, 358, 0, 359, 360, 0, 361,
+ 362, 363, 0, 364, 365, 366, 367, 368, 0, 370,
+ 371, 372, 373, 0, 374, 375, 376, 377, 378, 379,
+ 380, 381, 0, 382, 0, 384, 385, 386, 387, 388,
+ 389, 390, 0, 391, 0, 392, 0, 0, 395, 0,
+ 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
+ 407, 0, 0, 408, 409, 0, 411, 0, 0, 413,
+ 414, 415, 0, 0, 416, 417, 418, 419, 420, 421,
+ 422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
+ 432, 433, 434, 0, 436, 437, 438, 439, 440, 441,
+ 442, 443, 444, 445, 446, 0, 447, 448, 0, 450,
+ 0, 451, 452, 453, 454, 455, 456, 0, 457, 458,
+ 0, 0, 459, 460, 461, 0, 0, 462, 463, 464,
+ 0, 466, 0, 468, 469, 470, 471, 472, 473, 474,
+ 475, 476, 477, 478, 0, 479, 480, 481, 482, 483,
+ 484, 485, 486, 0, 487, 488, 489, 490, 491, 492,
+ 493, 494, 495, 496, 497, 498, 499, 500, 501, 0,
+ 502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
+ 512, 513, 514, 0, 515, 516, 0, 518, 519, 520,
+ 521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
+ 531, 532, 533, 0, 534, 535, 536, 537, 538, 0,
+ 539, 540, 541, 542, 543, 0, 545, 546, 547, 548,
+ 0, 549, 550, 551, 552, 553, 554, 555, 556, 557,
+ 558, 559, 560, 561, 562, 563, 0, 564, 565, 0,
+ 0, 566, 0, 568, 569, 570, 571, 572, 0, 573,
+ 574, 575, 0, 0, 576, 577, 578, 579, 580, 0,
+ 581, 582, 583, 584, 585, 586, 587, 588, 0, 0,
+ 589, 590, 591, 592, 593, 0, 0, 594, 595, 596,
+ 597, 598, 599, 600, 0, 601, 0, 603, 604, 605,
+ 606, 0, 0, 607, 0, 0, 608, 609, 610, 611,
+ 612, 613, 614, 615, 616, 617, 618, 619, 620, 621,
+ 622, 623, 624, 625, 626, 627, 635, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 235, 236, 237, 238, 239, 240, 241,
+ 242, 243, 0, 244, 245, 246, 0, 0, 0, 0,
+ 0, 0, 0, 247, 248, 249, 0, 250, 251, 252,
+ 253, 0, 255, 256, 257, 258, 259, 0, 261, 262,
+ 0, 263, 264, 265, 266, 267, 268, 269, 0, 0,
+ 270, 271, 272, 273, 274, 0, 275, 276, 277, 278,
+ 279, 0, 0, 0, 281, 282, 283, 284, 285, 286,
+ 0, 288, 289, 290, 0, 291, 292, 293, 294, 295,
+ 296, 0, 0, 298, 299, 300, 0, 0, 0, 0,
+ 0, 0, 0, 302, 303, 304, 305, 306, 307, 308,
+ 309, 310, 0, 311, 0, 312, 313, 314, 315, 316,
+ 317, 318, 0, 319, 320, 321, 322, 0, 0, 323,
+ 324, 325, 326, 327, 0, 328, 329, 330, 0, 331,
+ 332, 333, 0, 334, 335, 336, 337, 338, 339, 340,
+ 341, 342, 343, 0, 344, 0, 345, 346, 347, 348,
+ 349, 0, 350, 0, 351, 352, 0, 0, 0, 355,
+ 356, 357, 358, 0, 359, 360, 0, 361, 362, 363,
+ 0, 364, 365, 366, 367, 368, 0, 370, 371, 372,
+ 373, 0, 374, 375, 376, 377, 378, 379, 380, 381,
+ 0, 382, 0, 384, 385, 386, 387, 388, 389, 390,
+ 0, 391, 0, 392, 0, 0, 395, 0, 397, 398,
+ 399, 400, 401, 402, 403, 404, 405, 406, 407, 0,
+ 0, 408, 409, 0, 411, 0, 0, 413, 414, 415,
+ 0, 0, 416, 417, 418, 419, 420, 421, 422, 423,
+ 424, 425, 426, 427, 428, 429, 430, 431, 432, 433,
+ 434, 0, 436, 437, 438, 439, 440, 441, 442, 443,
+ 444, 445, 446, 0, 447, 448, 0, 450, 0, 451,
+ 452, 453, 454, 455, 456, 0, 457, 458, 0, 0,
+ 459, 460, 461, 0, 0, 462, 463, 464, 0, 466,
+ 0, 468, 469, 470, 471, 472, 473, 474, 475, 476,
+ 477, 478, 0, 479, 480, 481, 482, 483, 484, 485,
+ 486, 0, 487, 488, 489, 490, 491, 492, 493, 494,
+ 495, 496, 497, 498, 499, 500, 501, 0, 502, 503,
+ 504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
+ 514, 0, 515, 516, 0, 518, 519, 520, 521, 522,
+ 523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
+ 533, 0, 534, 535, 536, 537, 538, 0, 539, 540,
+ 541, 542, 543, 0, 545, 546, 547, 548, 0, 549,
+ 550, 551, 552, 553, 554, 555, 556, 557, 558, 559,
+ 560, 561, 562, 563, 0, 564, 565, 0, 0, 566,
+ 0, 568, 569, 570, 571, 572, 0, 573, 574, 575,
+ 0, 0, 791, 577, 578, 579, 580, 0, 581, 582,
+ 583, 584, 585, 586, 587, 588, 0, 0, 589, 590,
+ 591, 592, 593, 0, 0, 594, 595, 596, 597, 598,
+ 599, 600, 0, 601, 0, 603, 604, 605, 606, 0,
+ 0, 607, 0, 0, 608, 609, 610, 611, 612, 613,
+ 614, 615, 616, 617, 618, 619, 620, 621, 622, 623,
+ 624, 625, 626, 627, 635, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 235, 236, 237, 238, 239, 240, 241, 242, 243,
+ 0, 244, 245, 246, 0, 0, 0, 0, 0, 0,
+ 0, 247, 248, 249, 0, 250, 251, 252, 253, 0,
+ 255, 256, 257, 258, 259, 0, 261, 262, 0, 263,
+ 264, 265, 266, 267, 268, 269, 0, 0, 270, 271,
+ 272, 273, 274, 0, 275, 276, 277, 278, 279, 0,
+ 0, 0, 281, 282, 283, 284, 285, 286, 0, 288,
+ 289, 290, 0, 291, 292, 293, 294, 295, 296, 0,
+ 0, 298, 299, 300, 0, 0, 0, 0, 0, 0,
+ 0, 302, 303, 304, 305, 306, 307, 308, 309, 310,
+ 0, 311, 0, 312, 313, 314, 315, 316, 317, 318,
+ 0, 319, 320, 321, 322, 0, 0, 323, 324, 325,
+ 326, 327, 0, 328, 329, 330, 0, 331, 332, 333,
+ 0, 334, 335, 336, 337, 338, 339, 340, 341, 342,
+ 343, 0, 344, 0, 345, 346, 347, 348, 349, 0,
+ 350, 0, 351, 352, 0, 0, 0, 355, 356, 357,
+ 358, 0, 359, 360, 0, 361, 362, 363, 0, 364,
+ 365, 366, 367, 368, 0, 370, 371, 372, 373, 0,
+ 374, 375, 376, 377, 378, 379, 380, 381, 0, 382,
+ 0, 384, 385, 386, 387, 388, 389, 390, 0, 391,
+ 0, 392, 0, 0, 395, 0, 397, 398, 399, 400,
+ 401, 402, 403, 404, 405, 406, 407, 0, 0, 408,
+ 409, 0, 411, 0, 0, 413, 414, 415, 0, 0,
+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
+ 426, 427, 428, 429, 430, 431, 432, 433, 434, 0,
+ 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
+ 446, 0, 447, 448, 0, 450, 0, 451, 452, 453,
+ 454, 455, 456, 0, 457, 458, 0, 0, 459, 460,
+ 461, 0, 0, 462, 463, 464, 0, 466, 0, 468,
+ 469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
+ 0, 479, 480, 481, 482, 483, 484, 485, 486, 0,
+ 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
+ 497, 498, 499, 500, 501, 0, 502, 503, 504, 505,
+ 506, 507, 508, 509, 510, 511, 512, 513, 514, 0,
+ 515, 516, 0, 518, 519, 520, 521, 522, 523, 524,
+ 525, 797, 527, 528, 529, 530, 531, 532, 533, 0,
+ 534, 535, 536, 537, 538, 0, 539, 540, 541, 542,
+ 543, 0, 545, 546, 547, 548, 0, 549, 550, 551,
+ 552, 553, 554, 555, 556, 557, 558, 559, 560, 561,
+ 562, 563, 0, 564, 565, 0, 0, 566, 0, 568,
+ 569, 570, 571, 572, 0, 573, 574, 575, 0, 0,
+ 576, 577, 578, 579, 580, 0, 581, 582, 583, 584,
+ 585, 586, 587, 588, 0, 0, 589, 590, 591, 592,
+ 593, 0, 0, 594, 595, 596, 597, 598, 599, 600,
+ 0, 601, 0, 603, 604, 605, 606, 0, 0, 607,
+ 0, 0, 608, 609, 610, 611, 612, 613, 614, 615,
+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625,
+ 626, 627, 635, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 235,
+ 236, 237, 238, 239, 240, 241, 242, 243, 0, 244,
+ 245, 246, 0, 0, 0, 0, 0, 0, 0, 247,
+ 248, 249, 0, 250, 251, 252, 253, 0, 255, 256,
+ 257, 258, 259, 0, 261, 262, 0, 263, 264, 265,
+ 266, 267, 268, 269, 0, 0, 819, 271, 272, 273,
+ 274, 0, 275, 276, 277, 278, 279, 0, 0, 0,
+ 281, 282, 283, 284, 285, 286, 0, 288, 289, 290,
+ 0, 820, 292, 293, 294, 295, 296, 0, 0, 298,
+ 299, 300, 0, 0, 0, 0, 0, 0, 0, 302,
+ 303, 304, 305, 306, 307, 308, 309, 310, 0, 311,
+ 0, 312, 313, 314, 315, 316, 317, 318, 0, 319,
+ 320, 321, 322, 0, 0, 323, 324, 325, 326, 327,
+ 0, 328, 329, 330, 0, 331, 332, 333, 0, 334,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, 0,
+ 344, 0, 345, 346, 347, 348, 349, 0, 350, 0,
+ 351, 352, 0, 0, 0, 355, 356, 357, 358, 0,
+ 359, 360, 0, 361, 362, 363, 0, 364, 365, 366,
+ 367, 368, 0, 370, 371, 372, 373, 0, 374, 375,
+ 376, 377, 378, 379, 380, 381, 0, 382, 0, 384,
+ 385, 386, 387, 388, 389, 390, 0, 391, 0, 392,
+ 0, 0, 395, 0, 397, 398, 399, 400, 401, 402,
+ 403, 404, 405, 406, 407, 0, 0, 408, 409, 0,
+ 411, 0, 0, 413, 414, 821, 0, 0, 416, 417,
+ 418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
+ 428, 429, 430, 431, 432, 822, 434, 0, 436, 437,
+ 438, 439, 440, 441, 442, 443, 444, 445, 446, 0,
+ 447, 448, 0, 450, 0, 451, 452, 453, 454, 455,
+ 456, 0, 457, 458, 0, 0, 459, 460, 461, 0,
+ 0, 462, 463, 464, 0, 466, 0, 468, 469, 470,
+ 471, 472, 473, 474, 475, 476, 477, 478, 0, 479,
+ 480, 481, 482, 483, 484, 485, 486, 0, 487, 488,
+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498,
+ 499, 500, 501, 0, 502, 503, 504, 505, 506, 507,
+ 508, 509, 510, 511, 512, 513, 514, 0, 515, 516,
+ 0, 823, 519, 520, 521, 522, 523, 524, 525, 526,
+ 527, 824, 529, 530, 531, 532, 533, 0, 534, 535,
+ 536, 537, 825, 0, 539, 540, 541, 542, 543, 0,
+ 545, 546, 547, 548, 0, 549, 550, 551, 552, 553,
+ 554, 555, 556, 557, 558, 559, 560, 561, 562, 563,
+ 0, 564, 565, 0, 0, 566, 0, 568, 569, 570,
+ 571, 572, 0, 573, 826, 575, 0, 0, 827, 577,
+ 578, 579, 580, 0, 581, 582, 583, 584, 585, 586,
+ 587, 588, 0, 0, 589, 590, 591, 592, 593, 0,
+ 0, 594, 595, 596, 597, 598, 599, 600, 0, 601,
+ 0, 603, 604, 605, 606, 0, 0, 607, 0, 0,
+ 608, 609, 610, 611, 612, 828, 614, 615, 616, 617,
+ 618, 619, 620, 621, 622, 623, 624, 625, 626, 627,
+ 635, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 235, 236, 237,
+ 238, 239, 240, 241, 242, 243, 0, 244, 245, 246,
+ 0, 0, 0, 0, 0, 0, 0, 247, 248, 249,
+ 0, 250, 251, 252, 253, 0, 255, 256, 257, 258,
+ 259, 0, 261, 262, 0, 263, 264, 265, 266, 267,
+ 268, 269, 0, 0, 270, 271, 272, 273, 274, 0,
+ 275, 276, 277, 278, 279, 0, 0, 0, 281, 282,
+ 283, 284, 285, 286, 0, 288, 289, 290, 0, 291,
+ 292, 293, 294, 295, 296, 0, 0, 298, 299, 300,
+ 0, 0, 0, 0, 0, 0, 0, 302, 303, 304,
+ 305, 306, 307, 308, 309, 310, 0, 311, 0, 312,
+ 313, 314, 315, 316, 317, 318, 0, 319, 320, 321,
+ 322, 0, 0, 323, 324, 325, 326, 327, 0, 328,
+ 329, 330, 0, 331, 332, 333, 0, 334, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, 0, 344, 0,
+ 345, 346, 347, 348, 349, 0, 350, 0, 351, 352,
+ 0, 0, 0, 355, 356, 357, 358, 0, 359, 360,
+ 0, 361, 362, 363, 0, 364, 365, 366, 367, 368,
+ 0, 370, 371, 372, 373, 0, 374, 375, 376, 377,
+ 378, 379, 380, 381, 0, 382, 0, 384, 385, 386,
+ 387, 388, 389, 390, 0, 391, 0, 392, 0, 0,
+ 395, 0, 397, 398, 399, 400, 401, 402, 403, 404,
+ 405, 406, 407, 0, 0, 408, 409, 0, 411, 0,
+ 0, 413, 414, 415, 0, 0, 416, 417, 418, 419,
+ 420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
+ 430, 431, 432, 433, 434, 0, 436, 437, 438, 439,
+ 440, 441, 442, 443, 444, 445, 446, 0, 447, 448,
+ 0, 450, 0, 451, 452, 453, 454, 455, 456, 0,
+ 457, 458, 0, 0, 459, 460, 461, 0, 0, 462,
+ 463, 464, 0, 466, 0, 468, 469, 470, 471, 472,
+ 473, 474, 475, 476, 477, 478, 0, 479, 480, 481,
+ 482, 483, 484, 485, 486, 0, 487, 488, 489, 490,
+ 491, 492, 493, 494, 495, 496, 497, 498, 499, 851,
+ 501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
+ 510, 511, 512, 513, 514, 0, 515, 516, 0, 518,
+ 519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
+ 529, 530, 531, 532, 533, 0, 534, 535, 536, 537,
+ 538, 0, 539, 540, 541, 542, 543, 0, 545, 546,
+ 547, 548, 0, 549, 550, 551, 552, 553, 554, 555,
+ 556, 557, 558, 559, 560, 561, 562, 563, 0, 564,
+ 565, 0, 0, 566, 0, 568, 569, 570, 571, 572,
+ 0, 573, 574, 575, 0, 0, 576, 577, 578, 579,
+ 580, 0, 581, 582, 583, 584, 585, 586, 587, 588,
+ 0, 0, 589, 590, 591, 592, 593, 0, 0, 594,
+ 595, 596, 597, 598, 599, 600, 0, 601, 0, 603,
+ 604, 605, 606, 0, 0, 607, 0, 0, 608, 609,
+ 610, 611, 612, 613, 614, 615, 616, 617, 618, 619,
+ 620, 621, 622, 623, 624, 625, 626, 627, 635, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 235, 236, 237, 238, 239,
+ 240, 241, 242, 243, 0, 244, 245, 246, 0, 0,
+ 0, 0, 0, 0, 0, 247, 248, 249, 0, 250,
+ 251, 252, 253, 0, 255, 256, 257, 258, 259, 0,
+ 261, 262, 0, 263, 264, 265, 266, 267, 268, 269,
+ 0, 0, 270, 271, 272, 273, 274, 0, 275, 276,
+ 277, 278, 279, 0, 0, 0, 281, 282, 283, 284,
+ 285, 286, 0, 288, 289, 290, 0, 291, 292, 293,
+ 294, 295, 296, 0, 0, 298, 299, 300, 0, 0,
+ 0, 0, 0, 0, 0, 302, 303, 304, 305, 306,
+ 307, 308, 309, 310, 0, 311, 0, 312, 313, 314,
+ 315, 316, 317, 318, 0, 319, 320, 321, 322, 0,
+ 0, 323, 324, 325, 326, 327, 0, 328, 329, 330,
+ 0, 331, 332, 333, 0, 334, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, 0, 344, 0, 345, 346,
+ 347, 348, 349, 0, 350, 0, 351, 352, 0, 0,
+ 0, 355, 356, 357, 358, 0, 359, 360, 0, 361,
+ 362, 363, 0, 364, 365, 366, 367, 977, 0, 370,
+ 371, 372, 373, 0, 374, 375, 376, 377, 378, 379,
+ 380, 381, 0, 382, 0, 384, 385, 386, 387, 388,
+ 389, 390, 0, 391, 0, 392, 0, 0, 395, 0,
+ 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
+ 407, 0, 0, 408, 409, 0, 411, 0, 0, 413,
+ 414, 415, 0, 0, 416, 417, 418, 419, 420, 421,
+ 422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
+ 432, 433, 434, 0, 436, 437, 438, 439, 440, 441,
+ 442, 443, 444, 445, 446, 0, 447, 448, 0, 450,
+ 0, 451, 452, 453, 454, 455, 456, 0, 457, 458,
+ 0, 0, 459, 460, 461, 0, 0, 462, 463, 464,
+ 0, 466, 0, 468, 469, 470, 471, 472, 473, 474,
+ 475, 476, 477, 478, 0, 479, 480, 481, 482, 483,
+ 484, 485, 486, 0, 487, 488, 489, 490, 491, 492,
+ 493, 494, 495, 496, 497, 498, 499, 500, 501, 0,
+ 502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
+ 512, 513, 514, 0, 515, 516, 0, 518, 519, 520,
+ 521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
+ 531, 532, 533, 0, 534, 535, 536, 537, 538, 0,
+ 539, 540, 541, 542, 543, 0, 545, 546, 547, 548,
+ 0, 549, 550, 551, 552, 553, 554, 555, 556, 557,
+ 558, 559, 560, 561, 562, 563, 0, 564, 565, 0,
+ 0, 566, 0, 568, 569, 570, 571, 572, 0, 573,
+ 574, 575, 0, 0, 576, 577, 578, 579, 580, 0,
+ 581, 582, 583, 584, 585, 586, 587, 588, 0, 0,
+ 589, 590, 591, 592, 593, 0, 0, 594, 595, 596,
+ 597, 598, 599, 600, 0, 601, 0, 603, 604, 605,
+ 606, 0, 0, 607, 0, 0, 608, 609, 610, 611,
+ 612, 613, 614, 615, 616, 617, 618, 619, 620, 621,
+ 622, 623, 624, 625, 626, 627, 635, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 235, 236, 237, 238, 239, 240, 241,
+ 242, 243, 0, 244, 245, 246, 0, 0, 0, 0,
+ 0, 0, 0, 247, 248, 249, 0, 250, 251, 252,
+ 253, 0, 255, 256, 257, 258, 259, 0, 261, 262,
+ 0, 263, 264, 265, 266, 267, 268, 269, 0, 0,
+ 270, 271, 272, 273, 274, 0, 275, 276, 277, 278,
+ 279, 0, 0, 0, 281, 282, 283, 284, 285, 286,
+ 0, 288, 289, 290, 0, 291, 292, 293, 294, 295,
+ 296, 0, 0, 298, 299, 300, 0, 0, 0, 0,
+ 0, 0, 0, 302, 303, 304, 305, 306, 307, 308,
+ 309, 310, 0, 311, 0, 312, 313, 314, 315, 316,
+ 317, 318, 0, 319, 320, 321, 322, 0, 0, 323,
+ 324, 325, 326, 327, 0, 328, 329, 330, 0, 331,
+ 332, 333, 0, 334, 335, 336, 337, 338, 339, 340,
+ 341, 342, 343, 0, 344, 0, 345, 346, 347, 348,
+ 349, 0, 350, 0, 351, 352, 0, 0, 0, 355,
+ 356, 357, 358, 0, 359, 360, 0, 361, 362, 363,
+ 0, 364, 365, 366, 367, 987, 0, 370, 371, 372,
+ 373, 0, 374, 375, 376, 377, 378, 379, 380, 381,
+ 0, 382, 0, 384, 385, 386, 387, 388, 389, 390,
+ 0, 391, 0, 392, 0, 0, 395, 0, 397, 398,
+ 399, 400, 401, 402, 403, 404, 405, 406, 407, 0,
+ 0, 408, 409, 0, 411, 0, 0, 413, 414, 415,
+ 0, 0, 416, 417, 418, 419, 420, 421, 422, 423,
+ 424, 425, 426, 427, 428, 429, 430, 431, 432, 433,
+ 434, 0, 436, 437, 438, 439, 440, 441, 442, 443,
+ 444, 445, 446, 0, 447, 448, 0, 450, 0, 451,
+ 452, 453, 454, 455, 456, 0, 457, 458, 0, 0,
+ 459, 460, 461, 0, 0, 462, 463, 464, 0, 466,
+ 0, 468, 469, 470, 471, 472, 473, 474, 475, 476,
+ 477, 478, 0, 479, 480, 481, 482, 483, 484, 485,
+ 486, 0, 487, 488, 489, 490, 491, 492, 493, 494,
+ 495, 496, 497, 498, 499, 500, 501, 0, 502, 503,
+ 504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
+ 514, 0, 515, 516, 0, 518, 519, 520, 521, 522,
+ 523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
+ 533, 0, 534, 535, 536, 537, 538, 0, 539, 540,
+ 541, 542, 543, 0, 545, 546, 547, 548, 0, 549,
+ 550, 551, 552, 553, 554, 555, 556, 557, 558, 559,
+ 560, 561, 562, 563, 0, 564, 565, 0, 0, 566,
+ 0, 568, 569, 570, 571, 572, 0, 573, 574, 575,
+ 0, 0, 576, 577, 578, 579, 580, 0, 581, 582,
+ 583, 584, 585, 586, 587, 588, 0, 0, 589, 590,
+ 591, 592, 593, 0, 0, 594, 595, 596, 597, 598,
+ 599, 600, 0, 601, 0, 603, 604, 605, 606, 0,
+ 0, 607, 0, 0, 608, 609, 610, 611, 612, 613,
+ 614, 615, 616, 617, 618, 619, 620, 621, 622, 623,
+ 624, 625, 626, 627, 635, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 235, 236, 237, 238, 239, 240, 241, 242, 243,
+ 0, 244, 245, 246, 0, 0, 0, 0, 0, 0,
+ 0, 247, 248, 249, 0, 250, 251, 252, 253, 0,
+ 255, 256, 257, 258, 259, 0, 261, 262, 0, 263,
+ 264, 265, 266, 267, 268, 269, 0, 0, 270, 271,
+ 272, 273, 274, 0, 275, 276, 277, 278, 279, 0,
+ 0, 0, 281, 282, 283, 284, 285, 286, 0, 288,
+ 289, 290, 0, 291, 292, 293, 294, 295, 296, 0,
+ 0, 298, 299, 300, 0, 0, 0, 0, 0, 0,
+ 0, 302, 303, 304, 305, 306, 307, 308, 309, 310,
+ 0, 311, 0, 312, 313, 314, 315, 316, 317, 318,
+ 0, 319, 320, 321, 322, 0, 0, 323, 324, 325,
+ 326, 327, 0, 328, 329, 330, 0, 331, 332, 333,
+ 0, 334, 335, 336, 337, 338, 339, 340, 341, 342,
+ 343, 0, 344, 0, 345, 346, 347, 348, 349, 0,
+ 350, 0, 351, 352, 0, 0, 0, 355, 356, 357,
+ 358, 0, 359, 360, 0, 361, 362, 363, 0, 364,
+ 365, 366, 367, 990, 0, 370, 371, 372, 373, 0,
+ 374, 375, 376, 377, 378, 379, 380, 381, 0, 382,
+ 0, 384, 385, 386, 387, 388, 389, 390, 0, 391,
+ 0, 392, 0, 0, 395, 0, 397, 398, 399, 400,
+ 401, 402, 403, 404, 405, 406, 407, 0, 0, 408,
+ 409, 0, 411, 0, 0, 413, 414, 415, 0, 0,
+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
+ 426, 427, 428, 429, 430, 431, 432, 433, 434, 0,
+ 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
+ 446, 0, 447, 448, 0, 450, 0, 451, 452, 453,
+ 454, 455, 456, 0, 457, 458, 0, 0, 459, 460,
+ 461, 0, 0, 462, 463, 464, 0, 466, 0, 468,
+ 469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
+ 0, 479, 480, 481, 482, 483, 484, 485, 486, 0,
+ 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
+ 497, 498, 499, 500, 501, 0, 502, 503, 504, 505,
+ 506, 507, 508, 509, 510, 511, 512, 513, 514, 0,
+ 515, 516, 0, 518, 519, 520, 521, 522, 523, 524,
+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 0,
+ 534, 535, 536, 537, 538, 0, 539, 540, 541, 542,
+ 543, 0, 545, 546, 547, 548, 0, 549, 550, 551,
+ 552, 553, 554, 555, 556, 557, 558, 559, 560, 561,
+ 562, 563, 0, 564, 565, 0, 0, 566, 0, 568,
+ 569, 570, 571, 572, 0, 573, 574, 575, 0, 0,
+ 576, 577, 578, 579, 580, 0, 581, 582, 583, 584,
+ 585, 586, 587, 588, 0, 0, 589, 590, 591, 592,
+ 593, 0, 0, 594, 595, 596, 597, 598, 599, 600,
+ 0, 601, 0, 603, 604, 605, 606, 0, 0, 607,
+ 0, 0, 608, 609, 610, 611, 612, 613, 614, 615,
+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625,
+ 626, 627, 635, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 235,
+ 236, 237, 238, 239, 240, 241, 242, 243, 0, 244,
+ 245, 246, 0, 0, 0, 0, 0, 0, 0, 247,
+ 248, 249, 0, 250, 251, 252, 253, 0, 255, 256,
+ 257, 258, 259, 0, 261, 262, 0, 263, 264, 265,
+ 266, 267, 268, 269, 0, 0, 270, 271, 272, 273,
+ 274, 0, 275, 276, 277, 278, 279, 0, 0, 0,
+ 281, 282, 283, 284, 285, 286, 0, 288, 289, 290,
+ 0, 291, 292, 293, 294, 295, 296, 0, 0, 298,
+ 299, 300, 0, 0, 0, 0, 0, 0, 0, 302,
+ 303, 304, 305, 306, 307, 308, 309, 310, 0, 311,
+ 0, 312, 313, 314, 315, 316, 317, 318, 0, 319,
+ 320, 321, 322, 0, 0, 323, 324, 325, 326, 327,
+ 0, 328, 329, 330, 0, 331, 332, 333, 0, 334,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, 0,
+ 344, 0, 345, 346, 347, 348, 349, 0, 350, 0,
+ 351, 352, 0, 0, 0, 355, 356, 357, 358, 0,
+ 359, 360, 0, 361, 362, 363, 0, 364, 365, 366,
+ 367, 1006, 0, 370, 371, 372, 373, 0, 374, 375,
+ 376, 377, 378, 379, 380, 381, 0, 382, 0, 384,
+ 385, 386, 387, 388, 389, 390, 0, 391, 0, 392,
+ 0, 0, 395, 0, 397, 398, 399, 400, 401, 402,
+ 403, 404, 405, 406, 407, 0, 0, 408, 409, 0,
+ 411, 0, 0, 413, 414, 415, 0, 0, 416, 417,
+ 418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
+ 428, 429, 430, 431, 432, 433, 434, 0, 436, 437,
+ 438, 439, 440, 441, 442, 443, 444, 445, 446, 0,
+ 447, 448, 0, 450, 0, 451, 452, 453, 454, 455,
+ 456, 0, 457, 458, 0, 0, 459, 460, 461, 0,
+ 0, 462, 463, 464, 0, 466, 0, 468, 469, 470,
+ 471, 472, 473, 474, 475, 476, 477, 478, 0, 479,
+ 480, 481, 482, 483, 484, 485, 486, 0, 487, 488,
+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498,
+ 499, 500, 501, 0, 502, 503, 504, 505, 506, 507,
+ 508, 509, 510, 511, 512, 513, 514, 0, 515, 516,
+ 0, 518, 519, 520, 521, 522, 523, 524, 525, 526,
+ 527, 528, 529, 530, 531, 532, 533, 0, 534, 535,
+ 536, 537, 538, 0, 539, 540, 541, 542, 543, 0,
+ 545, 546, 547, 548, 0, 549, 550, 551, 552, 553,
+ 554, 555, 556, 557, 558, 559, 560, 561, 562, 563,
+ 0, 564, 565, 0, 0, 566, 0, 568, 569, 570,
+ 571, 572, 0, 573, 574, 575, 0, 0, 576, 577,
+ 578, 579, 580, 0, 581, 582, 583, 584, 585, 586,
+ 587, 588, 0, 0, 589, 590, 591, 592, 593, 0,
+ 0, 594, 595, 596, 597, 598, 599, 600, 0, 601,
+ 0, 603, 604, 605, 606, 0, 0, 607, 0, 0,
+ 608, 609, 610, 611, 612, 613, 614, 615, 616, 617,
+ 618, 619, 620, 621, 622, 623, 624, 625, 626, 627,
+ 635, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 235, 236, 237,
+ 238, 239, 240, 241, 242, 243, 0, 244, 245, 246,
+ 0, 0, 0, 0, 0, 0, 0, 247, 248, 249,
+ 0, 250, 251, 252, 253, 0, 255, 256, 257, 258,
+ 259, 0, 261, 262, 0, 263, 264, 265, 266, 267,
+ 268, 269, 0, 0, 270, 271, 272, 273, 274, 0,
+ 275, 276, 277, 278, 279, 0, 0, 0, 281, 282,
+ 283, 284, 285, 286, 0, 288, 289, 290, 0, 291,
+ 292, 293, 294, 295, 296, 0, 0, 298, 299, 300,
+ 0, 0, 0, 0, 0, 0, 0, 302, 303, 304,
+ 305, 306, 307, 308, 309, 310, 0, 311, 0, 312,
+ 313, 314, 315, 316, 317, 318, 0, 319, 320, 321,
+ 322, 0, 0, 323, 324, 325, 326, 327, 0, 328,
+ 329, 330, 0, 331, 332, 333, 0, 334, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, 0, 344, 0,
+ 345, 346, 347, 348, 349, 0, 350, 0, 351, 352,
+ 0, 0, 0, 355, 356, 357, 358, 0, 359, 360,
+ 0, 361, 362, 363, 0, 364, 365, 366, 367, 1063,
+ 0, 370, 371, 372, 373, 0, 374, 375, 376, 377,
+ 378, 379, 380, 381, 0, 382, 0, 384, 385, 386,
+ 387, 388, 389, 390, 0, 391, 0, 392, 0, 0,
+ 395, 0, 397, 398, 399, 400, 401, 402, 403, 404,
+ 405, 406, 407, 0, 0, 408, 409, 0, 411, 0,
+ 0, 413, 414, 415, 0, 0, 416, 417, 418, 419,
+ 420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
+ 430, 431, 432, 433, 434, 0, 436, 437, 438, 439,
+ 440, 441, 442, 443, 444, 445, 446, 0, 447, 448,
+ 0, 450, 0, 451, 452, 453, 454, 455, 456, 0,
+ 457, 458, 0, 0, 459, 460, 461, 0, 0, 462,
+ 463, 464, 0, 466, 0, 468, 469, 470, 471, 472,
+ 473, 474, 475, 476, 477, 478, 0, 479, 480, 481,
+ 482, 483, 484, 485, 486, 0, 487, 488, 489, 490,
+ 491, 492, 493, 494, 495, 496, 497, 498, 499, 500,
+ 501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
+ 510, 511, 512, 513, 514, 0, 515, 516, 0, 518,
+ 519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
+ 529, 530, 531, 532, 533, 0, 534, 535, 536, 537,
+ 538, 0, 539, 540, 541, 542, 543, 0, 545, 546,
+ 547, 548, 0, 549, 550, 551, 552, 553, 554, 555,
+ 556, 557, 558, 559, 560, 561, 562, 563, 0, 564,
+ 565, 0, 0, 566, 0, 568, 569, 570, 571, 572,
+ 0, 573, 574, 575, 0, 0, 576, 577, 578, 579,
+ 580, 0, 581, 582, 583, 584, 585, 586, 587, 588,
+ 0, 0, 589, 590, 591, 592, 593, 0, 0, 594,
+ 595, 596, 597, 598, 599, 600, 0, 601, 0, 603,
+ 604, 605, 606, 0, 0, 607, 0, 0, 608, 609,
+ 610, 611, 612, 613, 614, 615, 616, 617, 618, 619,
+ 620, 621, 622, 623, 624, 625, 626, 627, 635, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 235, 236, 237, 238, 239,
+ 240, 241, 242, 243, 0, 244, 245, 246, 0, 0,
+ 0, 0, 0, 0, 0, 247, 248, 249, 0, 250,
+ 251, 252, 253, 0, 255, 256, 257, 258, 259, 0,
+ 261, 262, 0, 263, 264, 265, 266, 267, 268, 269,
+ 0, 0, 270, 271, 272, 273, 274, 0, 275, 276,
+ 277, 278, 279, 0, 0, 0, 281, 282, 283, 284,
+ 285, 286, 0, 288, 289, 290, 0, 291, 292, 293,
+ 294, 295, 296, 0, 0, 298, 299, 300, 0, 0,
+ 0, 0, 0, 0, 0, 302, 303, 304, 305, 306,
+ 307, 308, 309, 310, 0, 311, 0, 312, 313, 314,
+ 315, 316, 317, 318, 0, 319, 320, 321, 322, 0,
+ 0, 323, 324, 325, 326, 327, 0, 328, 329, 330,
+ 0, 331, 332, 333, 0, 334, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, 0, 344, 0, 345, 346,
+ 347, 348, 349, 0, 350, 0, 351, 352, 0, 0,
+ 0, 355, 356, 357, 358, 0, 359, 360, 0, 361,
+ 362, 363, 0, 364, 365, 366, 367, 1068, 0, 370,
+ 371, 372, 373, 0, 374, 375, 376, 377, 378, 379,
+ 380, 381, 0, 382, 0, 384, 385, 386, 387, 388,
+ 389, 390, 0, 391, 0, 392, 0, 0, 395, 0,
+ 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
+ 407, 0, 0, 408, 409, 0, 411, 0, 0, 413,
+ 414, 415, 0, 0, 416, 417, 418, 419, 420, 421,
+ 422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
+ 432, 433, 434, 0, 436, 437, 438, 439, 440, 441,
+ 442, 443, 444, 445, 446, 0, 447, 448, 0, 450,
+ 0, 451, 452, 453, 454, 455, 456, 0, 457, 458,
+ 0, 0, 459, 460, 461, 0, 0, 462, 463, 464,
+ 0, 466, 0, 468, 469, 470, 471, 472, 473, 474,
+ 475, 476, 477, 478, 0, 479, 480, 481, 482, 483,
+ 484, 485, 486, 0, 487, 488, 489, 490, 491, 492,
+ 493, 494, 495, 496, 497, 498, 499, 500, 501, 0,
+ 502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
+ 512, 513, 514, 0, 515, 516, 0, 518, 519, 520,
+ 521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
+ 531, 532, 533, 0, 534, 535, 536, 537, 538, 0,
+ 539, 540, 541, 542, 543, 0, 545, 546, 547, 548,
+ 0, 549, 550, 551, 552, 553, 554, 555, 556, 557,
+ 558, 559, 560, 561, 562, 563, 0, 564, 565, 0,
+ 0, 566, 0, 568, 569, 570, 571, 572, 0, 573,
+ 574, 575, 0, 0, 576, 577, 578, 579, 580, 0,
+ 581, 582, 583, 584, 585, 586, 587, 588, 0, 0,
+ 589, 590, 591, 592, 593, 0, 0, 594, 595, 596,
+ 597, 598, 599, 600, 0, 601, 0, 603, 604, 605,
+ 606, 0, 0, 607, 0, 0, 608, 609, 610, 611,
+ 612, 613, 614, 615, 616, 617, 618, 619, 620, 621,
+ 622, 623, 624, 625, 626, 627, 635, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 235, 236, 237, 238, 239, 240, 241,
+ 242, 243, 0, 244, 245, 246, 0, 0, 0, 0,
+ 0, 0, 0, 247, 248, 249, 0, 250, 251, 252,
+ 253, 0, 255, 256, 257, 258, 259, 0, 261, 262,
+ 0, 263, 264, 265, 266, 267, 268, 269, 0, 0,
+ 270, 271, 272, 273, 274, 0, 275, 276, 277, 278,
+ 279, 0, 0, 0, 281, 282, 283, 284, 285, 286,
+ 0, 288, 289, 290, 0, 291, 292, 293, 294, 295,
+ 296, 0, 0, 298, 299, 300, 0, 0, 0, 0,
+ 0, 0, 0, 302, 303, 304, 305, 306, 307, 308,
+ 309, 310, 0, 311, 0, 312, 313, 314, 315, 316,
+ 317, 318, 0, 319, 320, 321, 322, 0, 0, 323,
+ 324, 325, 326, 327, 0, 328, 329, 330, 0, 331,
+ 332, 333, 0, 334, 335, 336, 337, 338, 339, 340,
+ 341, 342, 343, 0, 344, 0, 345, 346, 347, 348,
+ 349, 0, 350, 0, 351, 352, 0, 0, 0, 355,
+ 356, 357, 358, 0, 359, 360, 0, 361, 362, 363,
+ 0, 364, 365, 366, 367, 1085, 0, 370, 371, 372,
+ 373, 0, 374, 375, 376, 377, 378, 379, 380, 381,
+ 0, 382, 0, 384, 385, 386, 387, 388, 389, 390,
+ 0, 391, 0, 392, 0, 0, 395, 0, 397, 398,
+ 399, 400, 401, 402, 403, 404, 405, 406, 407, 0,
+ 0, 408, 409, 0, 411, 0, 0, 413, 414, 415,
+ 0, 0, 416, 417, 418, 419, 420, 421, 422, 423,
+ 424, 425, 426, 427, 428, 429, 430, 431, 432, 433,
+ 434, 0, 436, 437, 438, 439, 440, 441, 442, 443,
+ 444, 445, 446, 0, 447, 448, 0, 450, 0, 451,
+ 452, 453, 454, 455, 456, 0, 457, 458, 0, 0,
+ 459, 460, 461, 0, 0, 462, 463, 464, 0, 466,
+ 0, 468, 469, 470, 471, 472, 473, 474, 475, 476,
+ 477, 478, 0, 479, 480, 481, 482, 483, 484, 485,
+ 486, 0, 487, 488, 489, 490, 491, 492, 493, 494,
+ 495, 496, 497, 498, 499, 500, 501, 0, 502, 503,
+ 504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
+ 514, 0, 515, 516, 0, 518, 519, 520, 521, 522,
+ 523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
+ 533, 0, 534, 535, 536, 537, 538, 0, 539, 540,
+ 541, 542, 543, 0, 545, 546, 547, 548, 0, 549,
+ 550, 551, 552, 553, 554, 555, 556, 557, 558, 559,
+ 560, 561, 562, 563, 0, 564, 565, 0, 0, 566,
+ 0, 568, 569, 570, 571, 572, 0, 573, 574, 575,
+ 0, 0, 576, 577, 578, 579, 580, 0, 581, 582,
+ 583, 584, 585, 586, 587, 588, 0, 0, 589, 590,
+ 591, 592, 593, 0, 0, 594, 595, 596, 597, 598,
+ 599, 600, 0, 601, 0, 603, 604, 605, 606, 0,
+ 0, 607, 0, 0, 608, 609, 610, 611, 612, 613,
+ 614, 615, 616, 617, 618, 619, 620, 621, 622, 623,
+ 624, 625, 626, 627, 635, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 235, 236, 237, 238, 239, 240, 241, 242, 243,
+ 0, 244, 245, 246, 0, 0, 0, 0, 0, 0,
+ 0, 247, 248, 249, 0, 250, 251, 252, 253, 0,
+ 255, 256, 257, 258, 259, 0, 261, 262, 0, 263,
+ 264, 265, 266, 267, 268, 269, 0, 0, 270, 271,
+ 272, 273, 274, 0, 275, 276, 277, 278, 279, 0,
+ 0, 0, 281, 282, 283, 284, 285, 286, 0, 288,
+ 289, 290, 0, 291, 292, 293, 294, 295, 296, 0,
+ 0, 298, 299, 300, 0, 0, 0, 0, 0, 0,
+ 0, 302, 303, 304, 305, 306, 307, 308, 309, 310,
+ 0, 311, 0, 312, 313, 314, 315, 316, 317, 318,
+ 0, 319, 320, 321, 322, 0, 0, 323, 324, 325,
+ 326, 327, 0, 328, 329, 330, 0, 331, 332, 333,
+ 0, 334, 335, 336, 337, 338, 339, 340, 341, 342,
+ 343, 0, 344, 0, 345, 346, 347, 348, 349, 0,
+ 350, 0, 351, 352, 0, 0, 0, 355, 356, 357,
+ 358, 0, 359, 360, 0, 361, 362, 363, 0, 364,
+ 365, 366, 367, 1088, 0, 370, 371, 372, 373, 0,
+ 374, 375, 376, 377, 378, 379, 380, 381, 0, 382,
+ 0, 384, 385, 386, 387, 388, 389, 390, 0, 391,
+ 0, 392, 0, 0, 395, 0, 397, 398, 399, 400,
+ 401, 402, 403, 404, 405, 406, 407, 0, 0, 408,
+ 409, 0, 411, 0, 0, 413, 414, 415, 0, 0,
+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
+ 426, 427, 428, 429, 430, 431, 432, 433, 434, 0,
+ 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
+ 446, 0, 447, 448, 0, 450, 0, 451, 452, 453,
+ 454, 455, 456, 0, 457, 458, 0, 0, 459, 460,
+ 461, 0, 0, 462, 463, 464, 0, 466, 0, 468,
+ 469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
+ 0, 479, 480, 481, 482, 483, 484, 485, 486, 0,
+ 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
+ 497, 498, 499, 500, 501, 0, 502, 503, 504, 505,
+ 506, 507, 508, 509, 510, 511, 512, 513, 514, 0,
+ 515, 516, 0, 518, 519, 520, 521, 522, 523, 524,
+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 0,
+ 534, 535, 536, 537, 538, 0, 539, 540, 541, 542,
+ 543, 0, 545, 546, 547, 548, 0, 549, 550, 551,
+ 552, 553, 554, 555, 556, 557, 558, 559, 560, 561,
+ 562, 563, 0, 564, 565, 0, 0, 566, 0, 568,
+ 569, 570, 571, 572, 0, 573, 574, 575, 0, 0,
+ 576, 577, 578, 579, 580, 0, 581, 582, 583, 584,
+ 585, 586, 587, 588, 0, 0, 589, 590, 591, 592,
+ 593, 0, 0, 594, 595, 596, 597, 598, 599, 600,
+ 0, 601, 0, 603, 604, 605, 606, 0, 0, 607,
+ 0, 0, 608, 609, 610, 611, 612, 613, 614, 615,
+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625,
+ 626, 627, 635, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 235,
+ 236, 237, 238, 239, 240, 241, 242, 243, 0, 244,
+ 245, 246, 0, 0, 0, 0, 0, 0, 0, 247,
+ 248, 249, 0, 250, 251, 252, 253, 0, 255, 256,
+ 257, 258, 259, 0, 261, 262, 0, 263, 264, 265,
+ 266, 267, 268, 269, 0, 0, 270, 271, 272, 273,
+ 274, 0, 275, 276, 277, 278, 279, 0, 0, 0,
+ 281, 282, 283, 284, 285, 286, 0, 288, 289, 290,
+ 0, 291, 292, 293, 294, 295, 296, 0, 0, 298,
+ 299, 300, 0, 0, 0, 0, 0, 0, 0, 302,
+ 303, 304, 305, 306, 307, 308, 309, 310, 0, 311,
+ 0, 312, 313, 314, 315, 316, 317, 318, 0, 319,
+ 320, 321, 322, 0, 0, 323, 324, 325, 326, 327,
+ 0, 328, 329, 330, 0, 331, 332, 333, 0, 334,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, 0,
+ 344, 0, 345, 346, 347, 348, 349, 0, 350, 0,
+ 351, 352, 0, 0, 0, 355, 356, 357, 358, 0,
+ 359, 360, 0, 361, 362, 363, 0, 364, 365, 366,
+ 367, 1090, 0, 370, 371, 372, 373, 0, 374, 375,
+ 376, 377, 378, 379, 380, 381, 0, 382, 0, 384,
+ 385, 386, 387, 388, 389, 390, 0, 391, 0, 392,
+ 0, 0, 395, 0, 397, 398, 399, 400, 401, 402,
+ 403, 404, 405, 406, 407, 0, 0, 408, 409, 0,
+ 411, 0, 0, 413, 414, 415, 0, 0, 416, 417,
+ 418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
+ 428, 429, 430, 431, 432, 433, 434, 0, 436, 437,
+ 438, 439, 440, 441, 442, 443, 444, 445, 446, 0,
+ 447, 448, 0, 450, 0, 451, 452, 453, 454, 455,
+ 456, 0, 457, 458, 0, 0, 459, 460, 461, 0,
+ 0, 462, 463, 464, 0, 466, 0, 468, 469, 470,
+ 471, 472, 473, 474, 475, 476, 477, 478, 0, 479,
+ 480, 481, 482, 483, 484, 485, 486, 0, 487, 488,
+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498,
+ 499, 500, 501, 0, 502, 503, 504, 505, 506, 507,
+ 508, 509, 510, 511, 512, 513, 514, 0, 515, 516,
+ 0, 518, 519, 520, 521, 522, 523, 524, 525, 526,
+ 527, 528, 529, 530, 531, 532, 533, 0, 534, 535,
+ 536, 537, 538, 0, 539, 540, 541, 542, 543, 0,
+ 545, 546, 547, 548, 0, 549, 550, 551, 552, 553,
+ 554, 555, 556, 557, 558, 559, 560, 561, 562, 563,
+ 0, 564, 565, 0, 0, 566, 0, 568, 569, 570,
+ 571, 572, 0, 573, 574, 575, 0, 0, 576, 577,
+ 578, 579, 580, 0, 581, 582, 583, 584, 585, 586,
+ 587, 588, 0, 0, 589, 590, 591, 592, 593, 0,
+ 0, 594, 595, 596, 597, 598, 599, 600, 0, 601,
+ 0, 603, 604, 605, 606, 0, 0, 607, 0, 0,
+ 608, 609, 610, 611, 612, 613, 614, 615, 616, 617,
+ 618, 619, 620, 621, 622, 623, 624, 625, 626, 627,
+ 635, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 235, 236, 237,
+ 238, 239, 240, 241, 242, 243, 0, 244, 245, 246,
+ 0, 0, 0, 0, 0, 0, 0, 247, 248, 249,
+ 0, 250, 251, 252, 253, 0, 255, 256, 257, 258,
+ 259, 0, 261, 262, 0, 263, 264, 265, 266, 267,
+ 268, 269, 0, 0, 270, 271, 272, 273, 274, 0,
+ 275, 276, 277, 278, 279, 0, 0, 0, 281, 282,
+ 283, 284, 285, 286, 0, 288, 289, 290, 0, 291,
+ 292, 293, 294, 295, 296, 0, 0, 298, 299, 300,
+ 0, 0, 0, 0, 0, 0, 0, 302, 303, 304,
+ 305, 306, 307, 308, 309, 310, 0, 311, 0, 312,
+ 313, 314, 315, 316, 317, 318, 0, 319, 320, 321,
+ 322, 0, 0, 323, 324, 325, 326, 327, 0, 328,
+ 329, 330, 0, 331, 332, 333, 0, 334, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, 0, 344, 0,
+ 345, 346, 347, 348, 349, 0, 350, 0, 351, 352,
+ 0, 0, 0, 355, 356, 357, 358, 0, 359, 360,
+ 0, 361, 362, 363, 0, 364, 365, 366, 367, 1128,
+ 0, 370, 371, 372, 373, 0, 374, 375, 376, 377,
+ 378, 379, 380, 381, 0, 382, 0, 384, 385, 386,
+ 387, 388, 389, 390, 0, 391, 0, 392, 0, 0,
+ 395, 0, 397, 398, 399, 400, 401, 402, 403, 404,
+ 405, 406, 407, 0, 0, 408, 409, 0, 411, 0,
+ 0, 413, 414, 415, 0, 0, 416, 417, 418, 419,
+ 420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
+ 430, 431, 432, 433, 434, 0, 436, 437, 438, 439,
+ 440, 441, 442, 443, 444, 445, 446, 0, 447, 448,
+ 0, 450, 0, 451, 452, 453, 454, 455, 456, 0,
+ 457, 458, 0, 0, 459, 460, 461, 0, 0, 462,
+ 463, 464, 0, 466, 0, 468, 469, 470, 471, 472,
+ 473, 474, 475, 476, 477, 478, 0, 479, 480, 481,
+ 482, 483, 484, 485, 486, 0, 487, 488, 489, 490,
+ 491, 492, 493, 494, 495, 496, 497, 498, 499, 500,
+ 501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
+ 510, 511, 512, 513, 514, 0, 515, 516, 0, 518,
+ 519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
+ 529, 530, 531, 532, 533, 0, 534, 535, 536, 537,
+ 538, 0, 539, 540, 541, 542, 543, 0, 545, 546,
+ 547, 548, 0, 549, 550, 551, 552, 553, 554, 555,
+ 556, 557, 558, 559, 560, 561, 562, 563, 0, 564,
+ 565, 0, 0, 566, 0, 568, 569, 570, 571, 572,
+ 0, 573, 574, 575, 0, 0, 576, 577, 578, 579,
+ 580, 0, 581, 582, 583, 584, 585, 586, 587, 588,
+ 0, 0, 589, 590, 591, 592, 593, 0, 0, 594,
+ 595, 596, 597, 598, 599, 600, 0, 601, 0, 603,
+ 604, 605, 606, 0, 0, 607, 0, 0, 608, 609,
+ 610, 611, 612, 613, 614, 615, 616, 617, 618, 619,
+ 620, 621, 622, 623, 624, 625, 626, 627, 635, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 235, 236, 237, 238, 239,
+ 240, 241, 242, 243, 0, 244, 245, 246, 0, 0,
+ 0, 0, 0, 0, 0, 247, 248, 249, 0, 250,
+ 251, 252, 253, 0, 255, 256, 257, 258, 259, 0,
+ 261, 262, 0, 263, 264, 265, 266, 267, 268, 269,
+ 0, 0, 270, 271, 272, 273, 274, 0, 275, 276,
+ 277, 278, 279, 0, 0, 0, 281, 282, 283, 284,
+ 285, 286, 0, 288, 289, 290, 0, 291, 292, 293,
+ 294, 295, 296, 0, 0, 298, 299, 300, 0, 0,
+ 0, 0, 0, 0, 0, 302, 303, 304, 305, 306,
+ 307, 308, 309, 310, 0, 311, 0, 312, 313, 314,
+ 315, 316, 317, 318, 0, 319, 320, 321, 322, 0,
+ 0, 323, 324, 325, 326, 327, 0, 328, 329, 330,
+ 0, 331, 332, 333, 0, 334, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, 0, 344, 0, 345, 346,
+ 347, 348, 349, 0, 350, 0, 351, 352, 0, 0,
+ 0, 355, 356, 357, 358, 0, 359, 360, 0, 361,
+ 362, 363, 0, 364, 365, 366, 367, 1156, 0, 370,
+ 371, 372, 373, 0, 374, 375, 376, 377, 378, 379,
+ 380, 381, 0, 382, 0, 384, 385, 386, 387, 388,
+ 389, 390, 0, 391, 0, 392, 0, 0, 395, 0,
+ 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
+ 407, 0, 0, 408, 409, 0, 411, 0, 0, 413,
+ 414, 415, 0, 0, 416, 417, 418, 419, 420, 421,
+ 422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
+ 432, 433, 434, 0, 436, 437, 438, 439, 440, 441,
+ 442, 443, 444, 445, 446, 0, 447, 448, 0, 450,
+ 0, 451, 452, 453, 454, 455, 456, 0, 457, 458,
+ 0, 0, 459, 460, 461, 0, 0, 462, 463, 464,
+ 0, 466, 0, 468, 469, 470, 471, 472, 473, 474,
+ 475, 476, 477, 478, 0, 479, 480, 481, 482, 483,
+ 484, 485, 486, 0, 487, 488, 489, 490, 491, 492,
+ 493, 494, 495, 496, 497, 498, 499, 500, 501, 0,
+ 502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
+ 512, 513, 514, 0, 515, 516, 0, 518, 519, 520,
+ 521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
+ 531, 532, 533, 0, 534, 535, 536, 537, 538, 0,
+ 539, 540, 541, 542, 543, 0, 545, 546, 547, 548,
+ 0, 549, 550, 551, 552, 553, 554, 555, 556, 557,
+ 558, 559, 560, 561, 562, 563, 0, 564, 565, 0,
+ 0, 566, 0, 568, 569, 570, 571, 572, 0, 573,
+ 574, 575, 0, 0, 576, 577, 578, 579, 580, 0,
+ 581, 582, 583, 584, 585, 586, 587, 588, 0, 0,
+ 589, 590, 591, 592, 593, 0, 0, 594, 595, 596,
+ 597, 598, 599, 600, 0, 601, 0, 603, 604, 605,
+ 606, 0, 0, 607, 0, 0, 608, 609, 610, 611,
+ 612, 613, 614, 615, 616, 617, 618, 619, 620, 621,
+ 622, 623, 624, 625, 626, 627, 635, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 235, 236, 237, 238, 239, 240, 241,
+ 242, 243, 0, 244, 245, 246, 0, 0, 0, 0,
+ 0, 0, 0, 247, 248, 249, 0, 250, 251, 252,
+ 253, 0, 255, 256, 257, 258, 259, 0, 261, 262,
+ 0, 263, 264, 265, 266, 267, 268, 269, 0, 0,
+ 270, 271, 272, 273, 274, 0, 275, 276, 277, 278,
+ 279, 0, 0, 0, 281, 282, 283, 284, 285, 286,
+ 0, 288, 289, 290, 0, 291, 292, 293, 294, 295,
+ 296, 0, 0, 298, 299, 300, 0, 0, 0, 0,
+ 0, 0, 0, 302, 303, 304, 305, 306, 307, 308,
+ 309, 310, 0, 311, 0, 312, 313, 314, 315, 316,
+ 317, 318, 0, 319, 320, 321, 322, 0, 0, 323,
+ 324, 325, 326, 327, 0, 328, 329, 330, 0, 331,
+ 332, 333, 0, 334, 335, 336, 337, 338, 339, 340,
+ 341, 342, 343, 0, 344, 0, 345, 346, 347, 348,
+ 349, 0, 350, 0, 351, 352, 0, 0, 0, 355,
+ 356, 357, 358, 0, 359, 360, 0, 361, 362, 363,
+ 0, 364, 365, 366, 367, 1158, 0, 370, 371, 372,
+ 373, 0, 374, 375, 376, 377, 378, 379, 380, 381,
+ 0, 382, 0, 384, 385, 386, 387, 388, 389, 390,
+ 0, 391, 0, 392, 0, 0, 395, 0, 397, 398,
+ 399, 400, 401, 402, 403, 404, 405, 406, 407, 0,
+ 0, 408, 409, 0, 411, 0, 0, 413, 414, 415,
+ 0, 0, 416, 417, 418, 419, 420, 421, 422, 423,
+ 424, 425, 426, 427, 428, 429, 430, 431, 432, 433,
+ 434, 0, 436, 437, 438, 439, 440, 441, 442, 443,
+ 444, 445, 446, 0, 447, 448, 0, 450, 0, 451,
+ 452, 453, 454, 455, 456, 0, 457, 458, 0, 0,
+ 459, 460, 461, 0, 0, 462, 463, 464, 0, 466,
+ 0, 468, 469, 470, 471, 472, 473, 474, 475, 476,
+ 477, 478, 0, 479, 480, 481, 482, 483, 484, 485,
+ 486, 0, 487, 488, 489, 490, 491, 492, 493, 494,
+ 495, 496, 497, 498, 499, 500, 501, 0, 502, 503,
+ 504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
+ 514, 0, 515, 516, 0, 518, 519, 520, 521, 522,
+ 523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
+ 533, 0, 534, 535, 536, 537, 538, 0, 539, 540,
+ 541, 542, 543, 0, 545, 546, 547, 548, 0, 549,
+ 550, 551, 552, 553, 554, 555, 556, 557, 558, 559,
+ 560, 561, 562, 563, 0, 564, 565, 0, 0, 566,
+ 0, 568, 569, 570, 571, 572, 0, 573, 574, 575,
+ 0, 0, 576, 577, 578, 579, 580, 0, 581, 582,
+ 583, 584, 585, 586, 587, 588, 0, 0, 589, 590,
+ 591, 592, 593, 0, 0, 594, 595, 596, 597, 598,
+ 599, 600, 0, 601, 0, 603, 604, 605, 606, 0,
+ 0, 607, 0, 0, 608, 609, 610, 611, 612, 613,
+ 614, 615, 616, 617, 618, 619, 620, 621, 622, 623,
+ 624, 625, 626, 627, 635, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 235, 236, 237, 238, 239, 240, 241, 242, 243,
+ 0, 244, 245, 246, 0, 0, 0, 0, 0, 0,
+ 0, 247, 248, 249, 0, 250, 251, 252, 253, 0,
+ 255, 256, 257, 258, 259, 0, 261, 262, 0, 263,
+ 264, 265, 266, 267, 268, 269, 0, 0, 270, 271,
+ 272, 273, 274, 0, 275, 276, 277, 278, 279, 0,
+ 0, 0, 281, 282, 283, 284, 285, 286, 0, 288,
+ 289, 290, 0, 291, 292, 293, 294, 295, 296, 0,
+ 0, 298, 299, 300, 0, 0, 0, 0, 0, 0,
+ 0, 302, 303, 304, 305, 306, 307, 308, 309, 310,
+ 0, 311, 0, 312, 313, 314, 315, 316, 317, 318,
+ 0, 319, 320, 321, 322, 0, 0, 323, 324, 325,
+ 326, 327, 0, 328, 329, 330, 0, 331, 332, 333,
+ 0, 334, 335, 336, 337, 338, 339, 340, 341, 342,
+ 343, 0, 344, 0, 345, 346, 347, 348, 349, 0,
+ 350, 0, 351, 352, 0, 0, 0, 355, 356, 357,
+ 358, 0, 359, 360, 0, 361, 362, 363, 0, 364,
+ 365, 366, 367, 1168, 0, 370, 371, 372, 373, 0,
+ 374, 375, 376, 377, 378, 379, 380, 381, 0, 382,
+ 0, 384, 385, 386, 387, 388, 389, 390, 0, 391,
+ 0, 392, 0, 0, 395, 0, 397, 398, 399, 400,
+ 401, 402, 403, 404, 405, 406, 407, 0, 0, 408,
+ 409, 0, 411, 0, 0, 413, 414, 415, 0, 0,
+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
+ 426, 427, 428, 429, 430, 431, 432, 433, 434, 0,
+ 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
+ 446, 0, 447, 448, 0, 450, 0, 451, 452, 453,
+ 454, 455, 456, 0, 457, 458, 0, 0, 459, 460,
+ 461, 0, 0, 462, 463, 464, 0, 466, 0, 468,
+ 469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
+ 0, 479, 480, 481, 482, 483, 484, 485, 486, 0,
+ 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
+ 497, 498, 499, 500, 501, 0, 502, 503, 504, 505,
+ 506, 507, 508, 509, 510, 511, 512, 513, 514, 0,
+ 515, 516, 0, 518, 519, 520, 521, 522, 523, 524,
+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 0,
+ 534, 535, 536, 537, 538, 0, 539, 540, 541, 542,
+ 543, 0, 545, 546, 547, 548, 0, 549, 550, 551,
+ 552, 553, 554, 555, 556, 557, 558, 559, 560, 561,
+ 562, 563, 0, 564, 565, 0, 0, 566, 0, 568,
+ 569, 570, 571, 572, 0, 573, 574, 575, 0, 0,
+ 576, 577, 578, 579, 580, 0, 581, 582, 583, 584,
+ 585, 586, 587, 588, 0, 0, 589, 590, 591, 592,
+ 593, 0, 0, 594, 595, 596, 597, 598, 599, 600,
+ 0, 601, 0, 603, 604, 605, 606, 0, 0, 607,
+ 0, 0, 608, 609, 610, 611, 612, 613, 614, 615,
+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625,
+ 626, 627, 635, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 235,
+ 236, 237, 238, 239, 240, 241, 242, 243, 0, 244,
+ 245, 246, 0, 0, 0, 0, 0, 0, 0, 247,
+ 248, 249, 0, 250, 251, 252, 253, 0, 255, 256,
+ 257, 258, 259, 0, 261, 262, 0, 263, 264, 265,
+ 266, 267, 268, 269, 0, 0, 270, 271, 272, 273,
+ 274, 0, 275, 276, 277, 278, 279, 0, 0, 0,
+ 281, 282, 283, 284, 285, 286, 0, 288, 289, 290,
+ 0, 291, 292, 293, 294, 295, 296, 0, 0, 298,
+ 299, 300, 0, 0, 0, 0, 0, 0, 0, 302,
+ 303, 304, 305, 306, 307, 308, 309, 310, 0, 311,
+ 0, 312, 313, 314, 315, 316, 317, 318, 0, 319,
+ 320, 321, 322, 0, 0, 323, 324, 325, 326, 327,
+ 0, 328, 329, 330, 0, 331, 332, 333, 0, 334,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, 0,
+ 344, 0, 345, 346, 347, 348, 349, 0, 350, 0,
+ 351, 352, 0, 0, 0, 355, 356, 357, 358, 0,
+ 359, 360, 0, 361, 362, 363, 0, 364, 365, 366,
+ 367, 1171, 0, 370, 371, 372, 373, 0, 374, 375,
+ 376, 377, 378, 379, 380, 381, 0, 382, 0, 384,
+ 385, 386, 387, 388, 389, 390, 0, 391, 0, 392,
+ 0, 0, 395, 0, 397, 398, 399, 400, 401, 402,
+ 403, 404, 405, 406, 407, 0, 0, 408, 409, 0,
+ 411, 0, 0, 413, 414, 415, 0, 0, 416, 417,
+ 418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
+ 428, 429, 430, 431, 432, 433, 434, 0, 436, 437,
+ 438, 439, 440, 441, 442, 443, 444, 445, 446, 0,
+ 447, 448, 0, 450, 0, 451, 452, 453, 454, 455,
+ 456, 0, 457, 458, 0, 0, 459, 460, 461, 0,
+ 0, 462, 463, 464, 0, 466, 0, 468, 469, 470,
+ 471, 472, 473, 474, 475, 476, 477, 478, 0, 479,
+ 480, 481, 482, 483, 484, 485, 486, 0, 487, 488,
+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498,
+ 499, 500, 501, 0, 502, 503, 504, 505, 506, 507,
+ 508, 509, 510, 511, 512, 513, 514, 0, 515, 516,
+ 0, 518, 519, 520, 521, 522, 523, 524, 525, 526,
+ 527, 528, 529, 530, 531, 532, 533, 0, 534, 535,
+ 536, 537, 538, 0, 539, 540, 541, 542, 543, 0,
+ 545, 546, 547, 548, 0, 549, 550, 551, 552, 553,
+ 554, 555, 556, 557, 558, 559, 560, 561, 562, 563,
+ 0, 564, 565, 0, 0, 566, 0, 568, 569, 570,
+ 571, 572, 0, 573, 574, 575, 0, 0, 576, 577,
+ 578, 579, 580, 0, 581, 582, 583, 584, 585, 586,
+ 587, 588, 0, 0, 589, 590, 591, 592, 593, 0,
+ 0, 594, 595, 596, 597, 598, 599, 600, 0, 601,
+ 0, 603, 604, 605, 606, 0, 0, 607, 0, 0,
+ 608, 609, 610, 611, 612, 613, 614, 615, 616, 617,
+ 618, 619, 620, 621, 622, 623, 624, 625, 626, 627,
+ 635, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 235, 236, 237,
+ 238, 239, 240, 241, 242, 243, 0, 244, 245, 246,
+ 0, 0, 0, 0, 0, 0, 0, 247, 248, 249,
+ 0, 250, 251, 252, 253, 0, 255, 256, 257, 258,
+ 259, 0, 261, 262, 0, 263, 264, 265, 266, 267,
+ 268, 269, 0, 0, 270, 271, 272, 273, 274, 0,
+ 275, 276, 277, 278, 279, 0, 0, 0, 281, 282,
+ 283, 284, 285, 286, 0, 288, 289, 290, 0, 291,
+ 292, 293, 294, 295, 296, 0, 0, 298, 299, 300,
+ 0, 0, 0, 0, 0, 0, 0, 302, 303, 304,
+ 305, 306, 307, 308, 309, 310, 0, 311, 0, 312,
+ 313, 314, 315, 316, 317, 318, 0, 319, 320, 321,
+ 322, 0, 0, 323, 324, 325, 326, 327, 0, 328,
+ 329, 330, 0, 331, 332, 333, 0, 334, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, 0, 344, 0,
+ 345, 346, 347, 348, 349, 0, 350, 0, 351, 352,
+ 0, 0, 0, 355, 356, 357, 358, 0, 359, 360,
+ 0, 361, 362, 363, 0, 364, 365, 366, 367, 1174,
+ 0, 370, 371, 372, 373, 0, 374, 375, 376, 377,
+ 378, 379, 380, 381, 0, 382, 0, 384, 385, 386,
+ 387, 388, 389, 390, 0, 391, 0, 392, 0, 0,
+ 395, 0, 397, 398, 399, 400, 401, 402, 403, 404,
+ 405, 406, 407, 0, 0, 408, 409, 0, 411, 0,
+ 0, 413, 414, 415, 0, 0, 416, 417, 418, 419,
+ 420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
+ 430, 431, 432, 433, 434, 0, 436, 437, 438, 439,
+ 440, 441, 442, 443, 444, 445, 446, 0, 447, 448,
+ 0, 450, 0, 451, 452, 453, 454, 455, 456, 0,
+ 457, 458, 0, 0, 459, 460, 461, 0, 0, 462,
+ 463, 464, 0, 466, 0, 468, 469, 470, 471, 472,
+ 473, 474, 475, 476, 477, 478, 0, 479, 480, 481,
+ 482, 483, 484, 485, 486, 0, 487, 488, 489, 490,
+ 491, 492, 493, 494, 495, 496, 497, 498, 499, 500,
+ 501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
+ 510, 511, 512, 513, 514, 0, 515, 516, 0, 518,
+ 519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
+ 529, 530, 531, 532, 533, 0, 534, 535, 536, 537,
+ 538, 0, 539, 540, 541, 542, 543, 0, 545, 546,
+ 547, 548, 0, 549, 550, 551, 552, 553, 554, 555,
+ 556, 557, 558, 559, 560, 561, 562, 563, 0, 564,
+ 565, 0, 0, 566, 0, 568, 569, 570, 571, 572,
+ 0, 573, 574, 575, 0, 0, 576, 577, 578, 579,
+ 580, 0, 581, 582, 583, 584, 585, 586, 587, 588,
+ 0, 0, 589, 590, 591, 592, 593, 0, 0, 594,
+ 595, 596, 597, 598, 599, 600, 0, 601, 0, 603,
+ 604, 605, 606, 0, 0, 607, 0, 0, 608, 609,
+ 610, 611, 612, 613, 614, 615, 616, 617, 618, 619,
+ 620, 621, 622, 623, 624, 625, 626, 627, 635, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 235, 236, 237, 238, 239,
+ 240, 241, 242, 243, 0, 244, 245, 246, 0, 0,
+ 0, 0, 0, 0, 0, 247, 248, 249, 0, 250,
+ 251, 252, 253, 0, 255, 256, 257, 258, 259, 0,
+ 261, 262, 0, 263, 264, 265, 266, 267, 268, 269,
+ 0, 0, 819, 271, 272, 273, 274, 0, 275, 276,
+ 277, 278, 279, 0, 0, 0, 281, 282, 283, 284,
+ 285, 286, 0, 288, 289, 290, 0, 291, 292, 293,
+ 294, 295, 296, 0, 0, 298, 299, 300, 0, 0,
+ 0, 0, 0, 0, 0, 302, 303, 304, 305, 306,
+ 307, 308, 309, 310, 0, 311, 0, 312, 313, 314,
+ 315, 316, 317, 318, 0, 319, 320, 321, 322, 0,
+ 0, 323, 324, 325, 326, 327, 0, 328, 329, 330,
+ 0, 331, 332, 333, 0, 334, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, 0, 344, 0, 345, 346,
+ 347, 348, 349, 0, 350, 0, 351, 352, 0, 0,
+ 0, 355, 356, 357, 358, 0, 359, 360, 0, 361,
+ 362, 363, 0, 364, 365, 366, 367, 368, 0, 370,
+ 371, 372, 373, 0, 374, 375, 376, 377, 378, 379,
+ 380, 381, 0, 382, 0, 384, 385, 386, 387, 388,
+ 389, 390, 0, 391, 0, 392, 0, 0, 395, 0,
+ 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
+ 407, 0, 0, 408, 409, 0, 411, 0, 0, 413,
+ 414, 415, 0, 0, 416, 417, 418, 419, 420, 421,
+ 422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
+ 432, 822, 434, 0, 436, 437, 438, 439, 440, 441,
+ 442, 443, 444, 445, 446, 0, 447, 448, 0, 450,
+ 0, 451, 452, 453, 454, 455, 456, 0, 457, 458,
+ 0, 0, 459, 460, 461, 0, 0, 462, 463, 464,
+ 0, 466, 0, 468, 469, 470, 471, 472, 473, 474,
+ 475, 476, 477, 478, 0, 479, 480, 481, 482, 483,
+ 484, 485, 486, 0, 487, 488, 489, 490, 491, 492,
+ 493, 494, 495, 496, 497, 498, 499, 500, 501, 0,
+ 502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
+ 512, 513, 514, 0, 515, 516, 0, 823, 519, 520,
+ 521, 522, 523, 524, 525, 526, 527, 824, 529, 530,
+ 531, 532, 533, 0, 534, 535, 536, 537, 1361, 0,
+ 539, 540, 541, 542, 543, 0, 545, 546, 547, 548,
+ 0, 549, 550, 551, 552, 553, 554, 555, 556, 557,
+ 558, 559, 560, 561, 562, 563, 0, 564, 565, 0,
+ 0, 566, 0, 568, 569, 570, 571, 572, 0, 573,
+ 826, 575, 0, 0, 827, 577, 578, 579, 580, 0,
+ 581, 582, 583, 584, 585, 586, 587, 588, 0, 0,
+ 589, 590, 591, 592, 593, 0, 0, 594, 595, 596,
+ 597, 598, 599, 600, 0, 601, 0, 603, 604, 605,
+ 606, 0, 0, 607, 0, 0, 608, 609, 610, 611,
+ 612, 828, 614, 615, 616, 617, 618, 619, 620, 621,
+ 622, 623, 624, 625, 626, 627, 635, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 235, 236, 237, 238, 239, 240, 241,
+ 242, 243, 0, 244, 245, 246, 0, 0, 0, 0,
+ 0, 0, 0, 247, 248, 249, 0, 250, 251, 252,
+ 253, 0, 255, 256, 257, 258, 259, 0, 261, 262,
+ 0, 263, 264, 265, 266, 267, 268, 269, 0, 0,
+ 270, 271, 272, 273, 274, 0, 275, 276, 277, 278,
+ 279, 0, 0, 0, 281, 282, 283, 284, 285, 286,
+ 0, 288, 289, 290, 0, 291, 292, 293, 294, 295,
+ 296, 0, 0, 298, 299, 300, 0, 0, 0, 0,
+ 0, 0, 0, 302, 303, 304, 305, 306, 307, 308,
+ 309, 310, 0, 311, 0, 312, 313, 314, 315, 316,
+ 317, 318, 0, 319, 320, 321, 322, 0, 0, 323,
+ 324, 325, 326, 327, 0, 328, 329, 330, 0, 331,
+ 332, 333, 0, 334, 335, 336, 337, 338, 339, 340,
+ 341, 342, 343, 0, 344, 0, 345, 346, 347, 348,
+ 349, 0, 350, 0, 351, 352, 0, 0, 0, 355,
+ 356, 357, 358, 0, 359, 360, 0, 361, 362, 363,
+ 0, 364, 365, 366, 367, 1837, 0, 370, 371, 372,
+ 373, 0, 374, 375, 376, 377, 378, 379, 380, 381,
+ 0, 382, 0, 384, 385, 386, 387, 388, 389, 390,
+ 0, 391, 0, 392, 0, 0, 395, 0, 397, 398,
+ 399, 400, 401, 402, 403, 404, 405, 406, 407, 0,
+ 0, 408, 409, 0, 411, 0, 0, 413, 414, 415,
+ 0, 0, 416, 417, 418, 419, 420, 421, 422, 423,
+ 424, 425, 426, 427, 428, 429, 430, 431, 432, 433,
+ 434, 0, 436, 437, 438, 439, 440, 441, 442, 443,
+ 444, 445, 446, 0, 447, 448, 0, 450, 0, 451,
+ 452, 453, 454, 455, 456, 0, 457, 458, 0, 0,
+ 459, 460, 461, 0, 0, 462, 463, 464, 0, 466,
+ 0, 468, 469, 470, 471, 472, 473, 474, 475, 476,
+ 477, 478, 0, 479, 480, 481, 482, 483, 484, 485,
+ 486, 0, 487, 488, 489, 490, 491, 492, 493, 494,
+ 495, 496, 497, 498, 499, 500, 501, 0, 502, 503,
+ 504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
+ 514, 0, 515, 516, 0, 518, 519, 520, 521, 522,
+ 523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
+ 533, 0, 534, 535, 536, 537, 538, 0, 539, 540,
+ 541, 542, 543, 0, 545, 546, 547, 548, 0, 549,
+ 550, 551, 552, 553, 554, 555, 556, 557, 558, 559,
+ 560, 561, 562, 563, 0, 564, 565, 0, 0, 566,
+ 0, 568, 569, 570, 571, 572, 0, 573, 574, 575,
+ 0, 0, 576, 577, 578, 579, 580, 0, 581, 582,
+ 583, 584, 585, 586, 587, 588, 0, 0, 589, 590,
+ 591, 592, 593, 0, 0, 594, 595, 596, 597, 598,
+ 599, 600, 0, 601, 0, 603, 604, 605, 606, 0,
+ 0, 607, 0, 0, 608, 609, 610, 611, 612, 613,
+ 614, 615, 616, 617, 618, 619, 620, 621, 622, 623,
+ 624, 625, 626, 627, 635, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 235, 236, 237, 238, 239, 240, 241, 242, 243,
+ 0, 244, 245, 246, 0, 0, 0, 0, 0, 0,
+ 0, 247, 248, 249, 0, 250, 251, 252, 253, 0,
+ 255, 256, 257, 258, 259, 0, 261, 262, 0, 263,
+ 264, 265, 266, 267, 268, 269, 0, 0, 270, 271,
+ 272, 273, 274, 0, 275, 276, 277, 278, 279, 0,
+ 0, 0, 281, 282, 283, 284, 285, 286, 0, 288,
+ 289, 290, 0, 291, 292, 293, 294, 295, 296, 0,
+ 0, 298, 299, 300, 0, 0, 0, 0, 0, 0,
+ 0, 302, 303, 304, 305, 306, 307, 308, 309, 310,
+ 0, 311, 0, 312, 313, 314, 315, 316, 317, 318,
+ 0, 319, 320, 321, 322, 0, 0, 323, 324, 325,
+ 326, 327, 0, 328, 329, 330, 0, 331, 332, 333,
+ 0, 334, 335, 336, 337, 338, 339, 340, 341, 342,
+ 343, 0, 344, 0, 345, 346, 347, 348, 349, 0,
+ 350, 0, 351, 352, 0, 0, 0, 355, 356, 357,
+ 358, 0, 359, 360, 0, 361, 362, 363, 0, 364,
+ 365, 366, 367, 1871, 0, 370, 371, 372, 373, 0,
+ 374, 375, 376, 377, 378, 379, 380, 381, 0, 382,
+ 0, 384, 385, 386, 387, 388, 389, 390, 0, 391,
+ 0, 392, 0, 0, 395, 0, 397, 398, 399, 400,
+ 401, 402, 403, 404, 405, 406, 407, 0, 0, 408,
+ 409, 0, 411, 0, 0, 413, 414, 415, 0, 0,
+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
+ 426, 427, 428, 429, 430, 431, 432, 433, 434, 0,
+ 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
+ 446, 0, 447, 448, 0, 450, 0, 451, 452, 453,
+ 454, 455, 456, 0, 457, 458, 0, 0, 459, 460,
+ 461, 0, 0, 462, 463, 464, 0, 466, 0, 468,
+ 469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
+ 0, 479, 480, 481, 482, 483, 484, 485, 486, 0,
+ 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
+ 497, 498, 499, 500, 501, 0, 502, 503, 504, 505,
+ 506, 507, 508, 509, 510, 511, 512, 513, 514, 0,
+ 515, 516, 0, 518, 519, 520, 521, 522, 523, 524,
+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 0,
+ 534, 535, 536, 537, 538, 0, 539, 540, 541, 542,
+ 543, 0, 545, 546, 547, 548, 0, 549, 550, 551,
+ 552, 553, 554, 555, 556, 557, 558, 559, 560, 561,
+ 562, 563, 0, 564, 565, 0, 0, 566, 0, 568,
+ 569, 570, 571, 572, 0, 573, 574, 575, 0, 0,
+ 576, 577, 578, 579, 580, 0, 581, 582, 583, 584,
+ 585, 586, 587, 588, 0, 0, 589, 590, 591, 592,
+ 593, 0, 0, 594, 595, 596, 597, 598, 599, 600,
+ 0, 601, 0, 603, 604, 605, 606, 0, 0, 607,
+ 0, 0, 608, 609, 610, 611, 612, 613, 614, 615,
+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625,
+ 626, 627, 635, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 235,
+ 236, 237, 238, 239, 240, 241, 242, 243, 0, 244,
+ 245, 246, 0, 0, 0, 0, 0, 0, 0, 247,
+ 248, 249, 0, 250, 251, 252, 253, 0, 255, 256,
+ 257, 258, 259, 0, 261, 262, 0, 263, 264, 265,
+ 266, 267, 268, 269, 0, 0, 270, 271, 272, 273,
+ 274, 0, 275, 276, 277, 278, 279, 0, 0, 0,
+ 281, 282, 283, 284, 285, 286, 0, 288, 289, 290,
+ 0, 291, 292, 293, 294, 295, 296, 0, 0, 298,
+ 299, 300, 0, 0, 0, 0, 0, 0, 0, 302,
+ 303, 304, 305, 306, 307, 308, 309, 310, 0, 311,
+ 0, 312, 313, 314, 315, 316, 317, 318, 0, 319,
+ 320, 321, 322, 0, 0, 323, 324, 325, 326, 327,
+ 0, 328, 329, 330, 0, 331, 332, 333, 0, 334,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, 0,
+ 344, 0, 345, 346, 347, 348, 349, 0, 350, 0,
+ 351, 352, 0, 0, 0, 355, 356, 357, 358, 0,
+ 359, 360, 0, 361, 362, 363, 0, 364, 365, 366,
+ 367, 1873, 0, 370, 371, 372, 373, 0, 374, 375,
+ 376, 377, 378, 379, 380, 381, 0, 382, 0, 384,
+ 385, 386, 387, 388, 389, 390, 0, 391, 0, 392,
+ 0, 0, 395, 0, 397, 398, 399, 400, 401, 402,
+ 403, 404, 405, 406, 407, 0, 0, 408, 409, 0,
+ 411, 0, 0, 413, 414, 415, 0, 0, 416, 417,
+ 418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
+ 428, 429, 430, 431, 432, 433, 434, 0, 436, 437,
+ 438, 439, 440, 441, 442, 443, 444, 445, 446, 0,
+ 447, 448, 0, 450, 0, 451, 452, 453, 454, 455,
+ 456, 0, 457, 458, 0, 0, 459, 460, 461, 0,
+ 0, 462, 463, 464, 0, 466, 0, 468, 469, 470,
+ 471, 472, 473, 474, 475, 476, 477, 478, 0, 479,
+ 480, 481, 482, 483, 484, 485, 486, 0, 487, 488,
+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498,
+ 499, 500, 501, 0, 502, 503, 504, 505, 506, 507,
+ 508, 509, 510, 511, 512, 513, 514, 0, 515, 516,
+ 0, 518, 519, 520, 521, 522, 523, 524, 525, 526,
+ 527, 528, 529, 530, 531, 532, 533, 0, 534, 535,
+ 536, 537, 538, 0, 539, 540, 541, 542, 543, 0,
+ 545, 546, 547, 548, 0, 549, 550, 551, 552, 553,
+ 554, 555, 556, 557, 558, 559, 560, 561, 562, 563,
+ 0, 564, 565, 0, 0, 566, 0, 568, 569, 570,
+ 571, 572, 0, 573, 574, 575, 0, 0, 576, 577,
+ 578, 579, 580, 0, 581, 582, 583, 584, 585, 586,
+ 587, 588, 0, 0, 589, 590, 591, 592, 593, 0,
+ 0, 594, 595, 596, 597, 598, 599, 600, 0, 601,
+ 0, 603, 604, 605, 606, 0, 0, 607, 0, 0,
+ 608, 609, 610, 611, 612, 613, 614, 615, 616, 617,
+ 618, 619, 620, 621, 622, 623, 624, 625, 626, 627,
+ 635, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 235, 236, 237,
+ 238, 239, 240, 241, 242, 243, 0, 244, 245, 246,
+ 0, 0, 0, 0, 0, 0, 0, 247, 248, 249,
+ 0, 250, 251, 252, 253, 0, 255, 256, 257, 258,
+ 259, 0, 261, 262, 0, 263, 264, 265, 266, 267,
+ 268, 269, 0, 0, 270, 271, 272, 273, 274, 0,
+ 275, 276, 277, 278, 279, 0, 0, 0, 281, 282,
+ 283, 284, 285, 286, 0, 288, 289, 290, 0, 291,
+ 292, 293, 294, 295, 296, 0, 0, 298, 299, 300,
+ 0, 0, 0, 0, 0, 0, 0, 302, 303, 304,
+ 305, 306, 307, 308, 309, 310, 0, 311, 0, 312,
+ 313, 314, 315, 316, 317, 318, 0, 319, 320, 321,
+ 322, 0, 0, 323, 324, 325, 326, 327, 0, 328,
+ 329, 330, 0, 331, 332, 333, 0, 334, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, 0, 344, 0,
+ 345, 346, 347, 348, 349, 0, 350, 0, 351, 352,
+ 0, 0, 0, 355, 356, 357, 358, 0, 359, 360,
+ 0, 361, 362, 363, 0, 364, 365, 366, 367, 1913,
+ 0, 370, 371, 372, 373, 0, 374, 375, 376, 377,
+ 378, 379, 380, 381, 0, 382, 0, 384, 385, 386,
+ 387, 388, 389, 390, 0, 391, 0, 392, 0, 0,
+ 395, 0, 397, 398, 399, 400, 401, 402, 403, 404,
+ 405, 406, 407, 0, 0, 408, 409, 0, 411, 0,
+ 0, 413, 414, 415, 0, 0, 416, 417, 418, 419,
+ 420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
+ 430, 431, 432, 433, 434, 0, 436, 437, 438, 439,
+ 440, 441, 442, 443, 444, 445, 446, 0, 447, 448,
+ 0, 450, 0, 451, 452, 453, 454, 455, 456, 0,
+ 457, 458, 0, 0, 459, 460, 461, 0, 0, 462,
+ 463, 464, 0, 466, 0, 468, 469, 470, 471, 472,
+ 473, 474, 475, 476, 477, 478, 0, 479, 480, 481,
+ 482, 483, 484, 485, 486, 0, 487, 488, 489, 490,
+ 491, 492, 493, 494, 495, 496, 497, 498, 499, 500,
+ 501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
+ 510, 511, 512, 513, 514, 0, 515, 516, 0, 518,
+ 519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
+ 529, 530, 531, 532, 533, 0, 534, 535, 536, 537,
+ 538, 0, 539, 540, 541, 542, 543, 0, 545, 546,
+ 547, 548, 0, 549, 550, 551, 552, 553, 554, 555,
+ 556, 557, 558, 559, 560, 561, 562, 563, 0, 564,
+ 565, 0, 0, 566, 0, 568, 569, 570, 571, 572,
+ 0, 573, 574, 575, 0, 0, 576, 577, 578, 579,
+ 580, 0, 581, 582, 583, 584, 585, 586, 587, 588,
+ 0, 0, 589, 590, 591, 592, 593, 0, 0, 594,
+ 595, 596, 597, 598, 599, 600, 0, 601, 0, 603,
+ 604, 605, 606, 0, 0, 607, 0, 0, 608, 609,
+ 610, 611, 612, 613, 614, 615, 616, 617, 618, 619,
+ 620, 621, 622, 623, 624, 625, 626, 627, 635, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 235, 236, 237, 238, 239,
+ 240, 241, 242, 243, 0, 244, 245, 246, 0, 0,
+ 0, 0, 0, 0, 0, 247, 248, 249, 0, 250,
+ 251, 252, 253, 0, 255, 256, 257, 258, 259, 0,
+ 261, 262, 0, 263, 264, 265, 266, 267, 268, 269,
+ 0, 0, 270, 271, 272, 273, 274, 0, 275, 276,
+ 277, 278, 279, 0, 0, 0, 281, 282, 283, 284,
+ 285, 286, 0, 288, 289, 290, 0, 291, 292, 293,
+ 294, 295, 296, 0, 0, 298, 299, 300, 0, 0,
+ 0, 0, 0, 0, 0, 302, 303, 304, 305, 306,
+ 307, 308, 309, 310, 0, 311, 0, 312, 313, 314,
+ 315, 316, 317, 318, 0, 319, 320, 321, 322, 0,
+ 0, 323, 324, 325, 326, 327, 0, 328, 329, 330,
+ 0, 331, 332, 333, 0, 334, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, 0, 344, 0, 345, 346,
+ 347, 348, 349, 0, 350, 0, 351, 352, 0, 0,
+ 0, 355, 356, 357, 358, 0, 359, 360, 0, 361,
+ 362, 363, 0, 364, 365, 366, 367, 1915, 0, 370,
+ 371, 372, 373, 0, 374, 375, 376, 377, 378, 379,
+ 380, 381, 0, 382, 0, 384, 385, 386, 387, 388,
+ 389, 390, 0, 391, 0, 392, 0, 0, 395, 0,
+ 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
+ 407, 0, 0, 408, 409, 0, 411, 0, 0, 413,
+ 414, 415, 0, 0, 416, 417, 418, 419, 420, 421,
+ 422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
+ 432, 433, 434, 0, 436, 437, 438, 439, 440, 441,
+ 442, 443, 444, 445, 446, 0, 447, 448, 0, 450,
+ 0, 451, 452, 453, 454, 455, 456, 0, 457, 458,
+ 0, 0, 459, 460, 461, 0, 0, 462, 463, 464,
+ 0, 466, 0, 468, 469, 470, 471, 472, 473, 474,
+ 475, 476, 477, 478, 0, 479, 480, 481, 482, 483,
+ 484, 485, 486, 0, 487, 488, 489, 490, 491, 492,
+ 493, 494, 495, 496, 497, 498, 499, 500, 501, 0,
+ 502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
+ 512, 513, 514, 0, 515, 516, 0, 518, 519, 520,
+ 521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
+ 531, 532, 533, 0, 534, 535, 536, 537, 538, 0,
+ 539, 540, 541, 542, 543, 0, 545, 546, 547, 548,
+ 0, 549, 550, 551, 552, 553, 554, 555, 556, 557,
+ 558, 559, 560, 561, 562, 563, 0, 564, 565, 0,
+ 0, 566, 0, 568, 569, 570, 571, 572, 0, 573,
+ 574, 575, 0, 0, 576, 577, 578, 579, 580, 0,
+ 581, 582, 583, 584, 585, 586, 587, 588, 0, 0,
+ 589, 590, 591, 592, 593, 0, 0, 594, 595, 596,
+ 597, 598, 599, 600, 0, 601, 0, 603, 604, 605,
+ 606, 0, 0, 607, 0, 0, 608, 609, 610, 611,
+ 612, 613, 614, 615, 616, 617, 618, 619, 620, 621,
+ 622, 623, 624, 625, 626, 627, 635, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 235, 236, 237, 238, 239, 240, 241,
+ 242, 243, 0, 244, 245, 246, 0, 0, 0, 0,
+ 0, 0, 0, 247, 248, 249, 0, 250, 251, 252,
+ 253, 0, 255, 256, 257, 258, 259, 0, 261, 262,
+ 0, 263, 264, 265, 266, 267, 268, 269, 0, 0,
+ 270, 271, 272, 273, 274, 0, 275, 276, 277, 278,
+ 279, 0, 0, 0, 281, 282, 283, 284, 285, 286,
+ 0, 288, 289, 290, 0, 291, 292, 293, 294, 295,
+ 296, 0, 0, 298, 299, 300, 0, 0, 0, 0,
+ 0, 0, 0, 302, 303, 304, 305, 306, 307, 308,
+ 309, 310, 0, 311, 0, 312, 313, 314, 315, 316,
+ 317, 318, 0, 319, 320, 321, 322, 0, 0, 323,
+ 324, 325, 326, 327, 0, 328, 329, 330, 0, 331,
+ 332, 333, 0, 334, 335, 336, 337, 338, 339, 340,
+ 341, 342, 343, 0, 344, 0, 345, 346, 347, 348,
+ 349, 0, 350, 0, 351, 352, 0, 0, 0, 355,
+ 356, 357, 358, 0, 359, 360, 0, 361, 362, 363,
+ 0, 364, 365, 366, 367, 1917, 0, 370, 371, 372,
+ 373, 0, 374, 375, 376, 377, 378, 379, 380, 381,
+ 0, 382, 0, 384, 385, 386, 387, 388, 389, 390,
+ 0, 391, 0, 392, 0, 0, 395, 0, 397, 398,
+ 399, 400, 401, 402, 403, 404, 405, 406, 407, 0,
+ 0, 408, 409, 0, 411, 0, 0, 413, 414, 415,
+ 0, 0, 416, 417, 418, 419, 420, 421, 422, 423,
+ 424, 425, 426, 427, 428, 429, 430, 431, 432, 433,
+ 434, 0, 436, 437, 438, 439, 440, 441, 442, 443,
+ 444, 445, 446, 0, 447, 448, 0, 450, 0, 451,
+ 452, 453, 454, 455, 456, 0, 457, 458, 0, 0,
+ 459, 460, 461, 0, 0, 462, 463, 464, 0, 466,
+ 0, 468, 469, 470, 471, 472, 473, 474, 475, 476,
+ 477, 478, 0, 479, 480, 481, 482, 483, 484, 485,
+ 486, 0, 487, 488, 489, 490, 491, 492, 493, 494,
+ 495, 496, 497, 498, 499, 500, 501, 0, 502, 503,
+ 504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
+ 514, 0, 515, 516, 0, 518, 519, 520, 521, 522,
+ 523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
+ 533, 0, 534, 535, 536, 537, 538, 0, 539, 540,
+ 541, 542, 543, 0, 545, 546, 547, 548, 0, 549,
+ 550, 551, 552, 553, 554, 555, 556, 557, 558, 559,
+ 560, 561, 562, 563, 0, 564, 565, 0, 0, 566,
+ 0, 568, 569, 570, 571, 572, 0, 573, 574, 575,
+ 0, 0, 576, 577, 578, 579, 580, 0, 581, 582,
+ 583, 584, 585, 586, 587, 588, 0, 0, 589, 590,
+ 591, 592, 593, 0, 0, 594, 595, 596, 597, 598,
+ 599, 600, 0, 601, 0, 603, 604, 605, 606, 0,
+ 0, 607, 0, 0, 608, 609, 610, 611, 612, 613,
+ 614, 615, 616, 617, 618, 619, 620, 621, 622, 623,
+ 624, 625, 626, 627, 635, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 235, 236, 237, 238, 239, 240, 241, 242, 243,
+ 0, 244, 245, 246, 0, 0, 0, 0, 0, 0,
+ 0, 247, 248, 249, 0, 250, 251, 252, 253, 0,
+ 255, 256, 257, 258, 259, 0, 261, 262, 0, 263,
+ 264, 265, 266, 267, 268, 269, 0, 0, 270, 271,
+ 272, 273, 274, 0, 275, 276, 277, 278, 279, 0,
+ 0, 0, 281, 282, 283, 284, 285, 286, 0, 288,
+ 289, 290, 0, 291, 292, 293, 294, 295, 296, 0,
+ 0, 298, 299, 300, 0, 0, 0, 0, 0, 0,
+ 0, 302, 303, 304, 305, 306, 307, 308, 309, 310,
+ 0, 311, 0, 312, 313, 314, 315, 316, 317, 318,
+ 0, 319, 320, 321, 322, 0, 0, 323, 324, 325,
+ 326, 327, 0, 328, 329, 330, 0, 331, 332, 333,
+ 0, 334, 335, 336, 337, 338, 339, 340, 341, 342,
+ 343, 0, 344, 0, 345, 346, 347, 348, 349, 0,
+ 350, 0, 351, 352, 0, 0, 0, 355, 356, 357,
+ 358, 0, 359, 360, 0, 361, 362, 363, 0, 364,
+ 365, 366, 367, 368, 0, 370, 371, 372, 373, 0,
+ 374, 375, 376, 377, 378, 379, 380, 381, 0, 382,
+ 0, 384, 385, 386, 387, 388, 389, 390, 0, 391,
+ 0, 392, 0, 0, 395, 0, 397, 398, 399, 400,
+ 401, 402, 403, 404, 405, 406, 407, 0, 0, 408,
+ 409, 0, 411, 0, 0, 413, 414, 415, 0, 0,
+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
+ 426, 427, 428, 429, 430, 431, 432, 433, 434, 0,
+ 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
+ 446, 0, 447, 448, 0, 450, 0, 451, 452, 453,
+ 454, 455, 456, 0, 457, 458, 0, 0, 459, 460,
+ 461, 0, 0, 462, 463, 464, 0, 466, 0, 468,
+ 469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
+ 0, 479, 480, 481, 482, 483, 484, 485, 486, 0,
+ 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
+ 497, 498, 499, 500, 501, 0, 502, 503, 504, 505,
+ 506, 507, 508, 509, 510, 511, 512, 513, 514, 0,
+ 515, 516, 0, 518, 519, 520, 521, 522, 523, 524,
+ 525, 2011, 527, 528, 529, 530, 531, 532, 533, 0,
+ 534, 535, 536, 537, 538, 0, 539, 540, 541, 542,
+ 543, 0, 545, 546, 547, 548, 0, 549, 550, 551,
+ 552, 553, 554, 555, 556, 557, 558, 559, 560, 561,
+ 562, 563, 0, 564, 565, 0, 0, 566, 0, 568,
+ 569, 570, 571, 572, 0, 573, 574, 575, 0, 0,
+ 576, 577, 578, 579, 580, 0, 581, 582, 583, 584,
+ 585, 586, 587, 588, 0, 0, 589, 590, 591, 592,
+ 593, 0, 0, 594, 595, 596, 597, 598, 599, 600,
+ 0, 601, 0, 603, 604, 605, 606, 0, 0, 607,
+ 0, 0, 608, 609, 610, 611, 612, 613, 614, 615,
+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625,
+ 626, 627, 635, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 235,
+ 236, 237, 238, 239, 240, 241, 242, 243, 0, 244,
+ 245, 246, 0, 0, 0, 0, 0, 2658, 0, 247,
+ 248, 249, 0, 250, 251, 252, 253, 0, 255, 256,
+ 257, 258, 259, 0, 261, 262, 0, 263, 264, 265,
+ 266, 267, 268, 269, 0, 0, 270, 271, 272, 273,
+ 274, 0, 275, 276, 277, 278, 279, 0, 0, 0,
+ 281, 282, 283, 284, 285, 286, 0, 288, 289, 290,
+ 0, 291, 292, 293, 294, 295, 296, 0, 0, 298,
+ 299, 300, 0, 0, 0, 0, 0, 0, 0, 302,
+ 303, 304, 305, 306, 307, 308, 309, 310, 0, 311,
+ 0, 312, 313, 314, 315, 316, 317, 318, 0, 319,
+ 320, 321, 322, 0, 0, 323, 324, 325, 326, 327,
+ 0, 328, 329, 330, 0, 331, 332, 333, 0, 334,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, 0,
+ 344, 0, 345, 346, 347, 348, 349, 0, 350, 0,
+ 351, 352, 0, 0, 0, 355, 356, 357, 358, 0,
+ 359, 360, 0, 361, 362, 363, 0, 364, 365, 366,
+ 367, 368, 0, 370, 371, 372, 373, 0, 374, 375,
+ 376, 377, 378, 379, 380, 381, 0, 382, 0, 384,
+ 385, 386, 387, 388, 389, 390, 0, 391, 0, 392,
+ 0, 0, 395, 0, 397, 398, 399, 400, 401, 402,
+ 403, 404, 405, 406, 407, 0, 0, 408, 409, 0,
+ 411, 0, 0, 413, 414, 415, 0, 0, 416, 417,
+ 418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
+ 428, 429, 430, 431, 432, 433, 434, 0, 436, 437,
+ 438, 439, 440, 441, 442, 443, 444, 445, 446, 0,
+ 447, 448, 0, 450, 0, 451, 452, 453, 454, 455,
+ 456, 0, 457, 458, 0, 0, 459, 460, 461, 0,
+ 0, 462, 463, 464, 0, 466, 0, 468, 469, 470,
+ 471, 472, 473, 474, 475, 476, 477, 478, 0, 479,
+ 480, 481, 482, 483, 484, 485, 486, 0, 487, 488,
+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498,
+ 499, 500, 501, 0, 502, 503, 504, 505, 506, 507,
+ 508, 509, 510, 511, 512, 513, 514, 0, 515, 516,
+ 0, 518, 519, 520, 521, 522, 523, 524, 525, 526,
+ 527, 528, 529, 530, 531, 532, 533, 0, 534, 535,
+ 536, 537, 538, 0, 0, 540, 541, 542, 543, 0,
+ 545, 546, 547, 548, 0, 549, 550, 551, 552, 553,
+ 554, 555, 556, 557, 558, 559, 560, 561, 562, 563,
+ 0, 564, 565, 0, 0, 566, 0, 568, 569, 570,
+ 571, 572, 0, 573, 574, 575, 0, 0, 576, 577,
+ 578, 579, 580, 0, 581, 582, 583, 584, 585, 586,
+ 587, 588, 0, 0, 589, 590, 591, 592, 593, 0,
+ 0, 594, 595, 596, 597, 598, 599, 600, 0, 601,
+ 0, 603, 604, 605, 606, 0, 0, 607, 0, 0,
+ 608, 609, 610, 611, 612, 613, 614, 615, 616, 617,
+ 618, 619, 620, 621, 622, 623, 624, 625, 626, 627,
+ 635, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 235, 236, 237,
+ 238, 239, 240, 241, 242, 243, 0, 244, 245, 246,
+ 0, 0, 0, 0, 0, 0, 0, 247, 248, 249,
+ 0, 250, 251, 252, 253, 0, 255, 256, 257, 258,
+ 259, 0, 261, 262, 0, 263, 264, 265, 266, 267,
+ 268, 269, 0, 0, 819, 271, 272, 273, 274, 0,
+ 275, 276, 277, 278, 279, 0, 0, 0, 281, 282,
+ 283, 284, 285, 286, 0, 288, 289, 290, 0, 291,
+ 292, 293, 294, 295, 296, 0, 0, 298, 299, 300,
+ 0, 0, 0, 0, 0, 0, 0, 302, 303, 304,
+ 305, 306, 307, 308, 309, 310, 0, 311, 0, 312,
+ 313, 314, 315, 316, 317, 318, 0, 319, 320, 321,
+ 322, 0, 0, 323, 324, 325, 326, 327, 0, 328,
+ 329, 330, 0, 331, 332, 333, 0, 334, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, 0, 344, 0,
+ 345, 346, 347, 348, 349, 0, 350, 0, 351, 352,
+ 0, 0, 0, 355, 356, 357, 358, 0, 359, 360,
+ 0, 361, 362, 363, 0, 364, 365, 366, 367, 368,
+ 0, 370, 371, 372, 373, 0, 374, 375, 376, 377,
+ 378, 379, 380, 381, 0, 382, 0, 384, 385, 386,
+ 387, 388, 389, 390, 0, 391, 0, 392, 0, 0,
+ 395, 0, 397, 398, 399, 400, 401, 402, 403, 404,
+ 405, 406, 407, 0, 0, 408, 409, 0, 411, 0,
+ 0, 413, 414, 415, 0, 0, 416, 417, 418, 419,
+ 420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
+ 430, 431, 432, 822, 434, 0, 436, 437, 438, 439,
+ 440, 441, 442, 443, 444, 445, 446, 0, 447, 448,
+ 0, 450, 0, 451, 452, 453, 454, 455, 456, 0,
+ 457, 458, 0, 0, 459, 460, 461, 0, 0, 462,
+ 463, 464, 0, 466, 0, 468, 469, 470, 471, 472,
+ 473, 474, 475, 476, 477, 478, 0, 479, 480, 481,
+ 482, 483, 484, 485, 486, 0, 487, 488, 489, 490,
+ 491, 492, 493, 494, 495, 496, 497, 498, 499, 500,
+ 501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
+ 510, 511, 512, 513, 514, 0, 515, 516, 0, 823,
+ 519, 520, 521, 522, 523, 524, 525, 526, 527, 824,
+ 529, 530, 531, 532, 533, 0, 534, 535, 536, 537,
+ 1361, 0, 539, 540, 541, 542, 543, 0, 545, 546,
+ 547, 548, 0, 549, 550, 551, 552, 553, 554, 555,
+ 556, 557, 558, 559, 560, 561, 562, 563, 0, 564,
+ 565, 0, 0, 566, 0, 2692, 569, 570, 571, 572,
+ 0, 573, 826, 575, 0, 0, 827, 577, 578, 579,
+ 580, 0, 581, 582, 583, 584, 585, 586, 587, 588,
+ 0, 0, 589, 590, 591, 592, 593, 0, 0, 594,
+ 595, 596, 597, 598, 599, 600, 0, 601, 0, 603,
+ 604, 605, 606, 0, 0, 607, 0, 0, 608, 609,
+ 610, 611, 612, 828, 614, 615, 616, 617, 618, 619,
+ 620, 621, 622, 623, 624, 625, 626, 627, 635, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 235, 236, 237, 238, 239,
+ 240, 241, 242, 243, 0, 244, 245, 246, 0, 0,
+ 0, 0, 0, 0, 0, 247, 248, 249, 0, 250,
+ 251, 252, 253, 0, 255, 256, 257, 258, 259, 0,
+ 261, 262, 0, 263, 264, 265, 266, 267, 268, 269,
+ 0, 0, 819, 271, 272, 273, 274, 0, 275, 276,
+ 277, 278, 279, 0, 0, 0, 281, 282, 283, 284,
+ 285, 286, 0, 288, 289, 290, 0, 291, 292, 293,
+ 294, 295, 296, 0, 0, 298, 299, 300, 0, 0,
+ 0, 0, 0, 0, 0, 302, 303, 304, 305, 306,
+ 307, 308, 309, 310, 0, 311, 0, 312, 313, 314,
+ 315, 316, 317, 318, 0, 319, 320, 321, 322, 0,
+ 0, 323, 324, 325, 326, 327, 0, 328, 329, 330,
+ 0, 331, 332, 333, 0, 334, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, 0, 344, 0, 345, 346,
+ 347, 348, 349, 0, 350, 0, 351, 352, 0, 0,
+ 0, 355, 356, 357, 358, 0, 359, 360, 0, 361,
+ 362, 363, 0, 364, 365, 366, 367, 368, 0, 370,
+ 371, 372, 373, 0, 374, 375, 376, 377, 378, 379,
+ 380, 381, 0, 382, 0, 384, 385, 386, 387, 388,
+ 389, 390, 0, 391, 0, 392, 0, 0, 395, 0,
+ 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
+ 407, 0, 0, 408, 409, 0, 411, 0, 0, 413,
+ 414, 415, 0, 0, 416, 417, 418, 419, 420, 421,
+ 422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
+ 432, 822, 434, 0, 436, 437, 438, 439, 440, 441,
+ 442, 443, 444, 445, 446, 0, 447, 448, 0, 450,
+ 0, 451, 452, 453, 454, 455, 456, 0, 457, 458,
+ 0, 0, 459, 460, 461, 0, 0, 462, 463, 464,
+ 0, 466, 0, 468, 469, 470, 471, 472, 473, 474,
+ 475, 476, 477, 478, 0, 479, 480, 481, 482, 483,
+ 484, 485, 486, 0, 487, 488, 489, 490, 491, 492,
+ 493, 494, 495, 496, 497, 498, 499, 500, 501, 0,
+ 502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
+ 512, 513, 514, 0, 515, 516, 0, 823, 519, 520,
+ 521, 522, 523, 524, 525, 526, 527, 2757, 529, 530,
+ 531, 532, 533, 0, 534, 535, 536, 537, 2758, 0,
+ 539, 540, 541, 542, 543, 0, 545, 546, 547, 548,
+ 0, 549, 550, 551, 552, 553, 554, 555, 556, 557,
+ 558, 559, 560, 561, 562, 563, 0, 564, 565, 0,
+ 0, 566, 0, 568, 569, 570, 571, 572, 0, 573,
+ 826, 575, 0, 0, 2759, 577, 578, 579, 580, 0,
+ 581, 582, 583, 584, 585, 586, 587, 588, 0, 0,
+ 589, 590, 591, 592, 593, 0, 0, 594, 595, 596,
+ 597, 598, 599, 600, 0, 601, 0, 603, 604, 605,
+ 606, 0, 0, 607, 0, 0, 608, 609, 610, 611,
+ 612, 828, 614, 615, 616, 617, 618, 619, 620, 621,
+ 622, 623, 624, 625, 626, 627, 635, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 235, 236, 237, 238, 239, 240, 241,
+ 242, 243, 0, 244, 245, 246, 0, 0, 0, 0,
+ 0, 0, 0, 247, 248, 249, 0, 250, 251, 252,
+ 253, 0, 255, 256, 257, 258, 259, 0, 261, 262,
+ 0, 263, 264, 265, 266, 267, 268, 269, 0, 0,
+ 819, 271, 272, 273, 274, 0, 275, 276, 277, 278,
+ 279, 0, 0, 0, 281, 282, 283, 284, 285, 286,
+ 0, 288, 289, 290, 0, 291, 292, 293, 294, 295,
+ 296, 0, 0, 298, 299, 300, 0, 0, 0, 0,
+ 0, 0, 0, 302, 303, 304, 305, 306, 307, 308,
+ 309, 310, 0, 311, 0, 312, 313, 314, 315, 316,
+ 317, 318, 0, 319, 320, 321, 322, 0, 0, 323,
+ 324, 325, 326, 327, 0, 328, 329, 330, 0, 331,
+ 332, 333, 0, 334, 335, 336, 337, 338, 339, 340,
+ 341, 342, 343, 0, 344, 0, 345, 346, 347, 348,
+ 349, 0, 350, 0, 351, 352, 0, 0, 0, 355,
+ 356, 357, 358, 0, 359, 360, 0, 361, 362, 363,
+ 0, 364, 365, 366, 367, 368, 0, 370, 371, 372,
+ 373, 0, 374, 375, 376, 377, 378, 379, 380, 381,
+ 0, 382, 0, 384, 385, 386, 387, 388, 389, 390,
+ 0, 391, 0, 392, 0, 0, 395, 0, 397, 398,
+ 399, 400, 401, 402, 403, 404, 405, 406, 407, 0,
+ 0, 408, 409, 0, 411, 0, 0, 413, 414, 415,
+ 0, 0, 416, 417, 418, 419, 420, 421, 422, 423,
+ 424, 425, 426, 427, 428, 429, 430, 431, 432, 822,
+ 434, 0, 436, 437, 438, 439, 440, 441, 442, 443,
+ 444, 445, 446, 0, 447, 448, 0, 450, 0, 451,
+ 452, 453, 454, 455, 456, 0, 457, 458, 0, 0,
+ 459, 460, 461, 0, 0, 462, 463, 464, 0, 466,
+ 0, 468, 469, 470, 471, 472, 473, 474, 475, 476,
+ 477, 478, 0, 479, 480, 481, 482, 483, 484, 485,
+ 486, 0, 487, 488, 489, 490, 491, 492, 493, 494,
+ 495, 496, 497, 498, 499, 500, 501, 0, 502, 503,
+ 504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
+ 514, 0, 515, 516, 0, 823, 519, 520, 521, 522,
+ 523, 524, 525, 526, 527, 2837, 529, 530, 531, 532,
+ 533, 0, 534, 535, 536, 537, 2758, 0, 539, 540,
+ 541, 542, 543, 0, 545, 546, 547, 548, 0, 549,
+ 550, 551, 552, 553, 554, 555, 556, 557, 558, 559,
+ 560, 561, 562, 563, 0, 564, 565, 0, 0, 566,
+ 0, 568, 569, 570, 571, 572, 0, 573, 826, 575,
+ 0, 0, 2759, 577, 578, 579, 580, 0, 581, 582,
+ 583, 584, 585, 586, 587, 588, 0, 0, 589, 590,
+ 591, 592, 593, 0, 0, 594, 595, 596, 597, 598,
+ 599, 600, 0, 601, 0, 603, 604, 605, 606, 0,
+ 0, 607, 0, 0, 608, 609, 610, 611, 612, 828,
+ 614, 615, 616, 617, 618, 619, 620, 621, 622, 623,
+ 624, 625, 626, 627, 635, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 235, 236, 237, 238, 239, 240, 241, 242, 243,
+ 0, 244, 245, 246, 0, 0, 0, 0, 0, 0,
+ 0, 247, 248, 249, 0, 250, 251, 252, 253, 0,
+ 255, 256, 257, 258, 259, 0, 261, 262, 0, 263,
+ 264, 265, 266, 267, 268, 269, 0, 0, 819, 271,
+ 272, 273, 274, 0, 275, 276, 277, 278, 279, 0,
+ 0, 0, 281, 282, 283, 284, 285, 286, 0, 288,
+ 289, 290, 0, 291, 292, 293, 294, 295, 296, 0,
+ 0, 298, 299, 300, 0, 0, 0, 0, 0, 0,
+ 0, 302, 303, 304, 305, 306, 307, 308, 309, 310,
+ 0, 311, 0, 312, 313, 314, 315, 316, 317, 318,
+ 0, 319, 320, 321, 322, 0, 0, 323, 324, 325,
+ 326, 327, 0, 328, 329, 330, 0, 331, 332, 333,
+ 0, 334, 335, 336, 337, 338, 339, 340, 341, 342,
+ 343, 0, 344, 0, 345, 346, 347, 348, 349, 0,
+ 350, 0, 351, 352, 0, 0, 0, 355, 356, 357,
+ 358, 0, 359, 360, 0, 361, 362, 363, 0, 364,
+ 365, 366, 367, 368, 0, 370, 371, 372, 373, 0,
+ 374, 375, 376, 377, 378, 379, 380, 381, 0, 382,
+ 0, 384, 385, 386, 387, 388, 389, 390, 0, 391,
+ 0, 392, 0, 0, 395, 0, 397, 398, 399, 400,
+ 401, 402, 403, 404, 405, 406, 407, 0, 0, 408,
+ 409, 0, 411, 0, 0, 413, 414, 415, 0, 0,
+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
+ 426, 427, 428, 429, 430, 431, 432, 822, 434, 0,
+ 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
+ 446, 0, 447, 448, 0, 450, 0, 451, 452, 453,
+ 454, 455, 456, 0, 457, 458, 0, 0, 459, 460,
+ 461, 0, 0, 462, 463, 464, 0, 466, 0, 468,
+ 469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
+ 0, 479, 480, 481, 482, 483, 484, 485, 486, 0,
+ 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
+ 497, 498, 499, 500, 501, 0, 502, 503, 504, 505,
+ 506, 507, 508, 509, 510, 511, 512, 513, 514, 0,
+ 515, 516, 0, 823, 519, 520, 521, 522, 523, 524,
+ 525, 526, 527, 2861, 529, 530, 531, 532, 533, 0,
+ 534, 535, 536, 537, 2758, 0, 539, 540, 541, 542,
+ 543, 0, 545, 546, 547, 548, 0, 549, 550, 551,
+ 552, 553, 554, 555, 556, 557, 558, 559, 560, 561,
+ 562, 563, 0, 564, 565, 0, 0, 566, 0, 568,
+ 569, 570, 571, 572, 0, 573, 826, 575, 0, 0,
+ 2759, 577, 578, 579, 580, 0, 581, 582, 583, 584,
+ 585, 586, 587, 588, 0, 0, 589, 590, 591, 592,
+ 593, 0, 0, 594, 595, 596, 597, 598, 599, 600,
+ 0, 601, 0, 603, 604, 605, 606, 0, 0, 607,
+ 0, 0, 608, 609, 610, 611, 612, 828, 614, 615,
+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625,
+ 626, 627, 635, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 235,
+ 236, 237, 238, 239, 240, 241, 242, 243, 0, 244,
+ 245, 246, 0, 0, 0, 0, 0, 0, 0, 247,
+ 248, 249, 0, 250, 251, 252, 253, 0, 255, 256,
+ 257, 258, 259, 0, 261, 262, 0, 263, 264, 265,
+ 266, 267, 268, 269, 0, 0, 270, 271, 272, 273,
+ 274, 0, 275, 276, 277, 278, 279, 0, 0, 0,
+ 281, 282, 283, 284, 285, 286, 0, 288, 289, 290,
+ 0, 291, 292, 293, 294, 295, 296, 0, 0, 298,
+ 299, 300, 0, 0, 0, 0, 0, 0, 0, 302,
+ 303, 304, 305, 306, 307, 308, 309, 310, 0, 311,
+ 0, 312, 313, 314, 315, 316, 317, 318, 0, 319,
+ 320, 321, 322, 0, 0, 323, 324, 325, 326, 327,
+ 0, 328, 329, 330, 0, 331, 332, 333, 0, 334,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, 0,
+ 344, 0, 345, 346, 347, 348, 349, 0, 350, 0,
+ 351, 352, 0, 0, 0, 355, 356, 357, 358, 0,
+ 359, 360, 0, 361, 362, 363, 0, 364, 365, 366,
+ 367, 3054, 0, 370, 371, 372, 373, 0, 374, 375,
+ 376, 377, 378, 379, 380, 381, 0, 382, 0, 384,
+ 385, 386, 387, 388, 389, 390, 0, 391, 0, 392,
+ 0, 0, 395, 0, 397, 398, 399, 400, 401, 402,
+ 403, 404, 405, 406, 407, 0, 0, 408, 409, 0,
+ 411, 0, 0, 413, 414, 415, 0, 0, 416, 417,
+ 418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
+ 428, 429, 430, 431, 432, 433, 434, 0, 436, 437,
+ 438, 439, 440, 441, 442, 443, 444, 445, 446, 0,
+ 447, 448, 0, 450, 0, 451, 452, 453, 454, 455,
+ 456, 0, 457, 458, 0, 0, 459, 460, 461, 0,
+ 0, 462, 463, 464, 0, 466, 0, 468, 469, 470,
+ 471, 472, 473, 474, 475, 476, 477, 478, 0, 479,
+ 480, 481, 482, 483, 484, 485, 486, 0, 487, 488,
+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498,
+ 499, 500, 501, 0, 502, 503, 504, 505, 506, 507,
+ 508, 509, 510, 511, 512, 513, 514, 0, 515, 516,
+ 0, 518, 519, 520, 521, 522, 523, 524, 525, 526,
+ 527, 528, 529, 530, 531, 532, 533, 0, 534, 535,
+ 536, 537, 538, 0, 539, 540, 541, 542, 543, 0,
+ 545, 546, 547, 548, 0, 549, 550, 551, 552, 553,
+ 554, 555, 556, 557, 558, 559, 560, 561, 562, 563,
+ 0, 564, 565, 0, 0, 566, 0, 568, 569, 570,
+ 571, 572, 0, 573, 574, 575, 0, 0, 576, 577,
+ 578, 579, 580, 0, 581, 582, 583, 584, 585, 586,
+ 587, 588, 0, 0, 589, 590, 591, 592, 593, 0,
+ 0, 594, 595, 596, 597, 598, 599, 600, 0, 601,
+ 0, 603, 604, 605, 606, 0, 0, 607, 0, 0,
+ 608, 609, 610, 611, 612, 613, 614, 615, 616, 617,
+ 618, 619, 620, 621, 622, 623, 624, 625, 626, 627,
+ 635, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 235, 236, 237,
+ 238, 239, 240, 241, 242, 243, 0, 244, 245, 246,
+ 0, 0, 0, 0, 0, 0, 0, 247, 248, 249,
+ 0, 250, 251, 252, 253, 0, 255, 256, 257, 258,
+ 259, 0, 261, 262, 0, 263, 264, 265, 266, 267,
+ 268, 269, 0, 0, 270, 271, 272, 273, 274, 0,
+ 275, 276, 277, 278, 279, 0, 0, 0, 281, 282,
+ 283, 284, 285, 286, 0, 288, 289, 290, 0, 291,
+ 292, 293, 294, 295, 296, 0, 0, 298, 299, 300,
+ 0, 0, 0, 0, 0, 0, 0, 302, 303, 304,
+ 305, 306, 307, 308, 309, 310, 0, 311, 0, 312,
+ 313, 314, 315, 316, 317, 318, 0, 319, 320, 321,
+ 322, 0, 0, 323, 324, 325, 326, 327, 0, 328,
+ 329, 330, 0, 331, 332, 333, 0, 334, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, 0, 344, 0,
+ 345, 346, 347, 348, 349, 0, 350, 0, 351, 352,
+ 0, 0, 0, 355, 356, 357, 358, 0, 359, 360,
+ 0, 361, 362, 363, 0, 364, 365, 366, 367, 3058,
+ 0, 370, 371, 372, 373, 0, 374, 375, 376, 377,
+ 378, 379, 380, 381, 0, 382, 0, 384, 385, 386,
+ 387, 388, 389, 390, 0, 391, 0, 392, 0, 0,
+ 395, 0, 397, 398, 399, 400, 401, 402, 403, 404,
+ 405, 406, 407, 0, 0, 408, 409, 0, 411, 0,
+ 0, 413, 414, 415, 0, 0, 416, 417, 418, 419,
+ 420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
+ 430, 431, 432, 433, 434, 0, 436, 437, 438, 439,
+ 440, 441, 442, 443, 444, 445, 446, 0, 447, 448,
+ 0, 450, 0, 451, 452, 453, 454, 455, 456, 0,
+ 457, 458, 0, 0, 459, 460, 461, 0, 0, 462,
+ 463, 464, 0, 466, 0, 468, 469, 470, 471, 472,
+ 473, 474, 475, 476, 477, 478, 0, 479, 480, 481,
+ 482, 483, 484, 485, 486, 0, 487, 488, 489, 490,
+ 491, 492, 493, 494, 495, 496, 497, 498, 499, 500,
+ 501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
+ 510, 511, 512, 513, 514, 0, 515, 516, 0, 518,
+ 519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
+ 529, 530, 531, 532, 533, 0, 534, 535, 536, 537,
+ 538, 0, 539, 540, 541, 542, 543, 0, 545, 546,
+ 547, 548, 0, 549, 550, 551, 552, 553, 554, 555,
+ 556, 557, 558, 559, 560, 561, 562, 563, 0, 564,
+ 565, 0, 0, 566, 0, 568, 569, 570, 571, 572,
+ 0, 573, 574, 575, 0, 0, 576, 577, 578, 579,
+ 580, 0, 581, 582, 583, 584, 585, 586, 587, 588,
+ 0, 0, 589, 590, 591, 592, 593, 0, 0, 594,
+ 595, 596, 597, 598, 599, 600, 0, 601, 0, 603,
+ 604, 605, 606, 0, 0, 607, 0, 0, 608, 609,
+ 610, 611, 612, 613, 614, 615, 616, 617, 618, 619,
+ 620, 621, 622, 623, 624, 625, 626, 627, 635, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 235, 236, 237, 238, 239,
+ 240, 241, 242, 243, 0, 244, 245, 246, 0, 0,
+ 0, 0, 0, 0, 0, 247, 248, 249, 0, 250,
+ 251, 252, 253, 0, 255, 256, 257, 258, 259, 0,
+ 261, 262, 0, 263, 264, 265, 266, 267, 268, 269,
+ 0, 0, 270, 271, 272, 273, 274, 0, 275, 276,
+ 277, 278, 279, 0, 0, 0, 281, 282, 283, 284,
+ 285, 286, 0, 288, 289, 290, 0, 291, 292, 293,
+ 294, 295, 296, 0, 0, 298, 299, 300, 0, 0,
+ 0, 0, 0, 0, 0, 302, 303, 304, 305, 306,
+ 307, 308, 309, 310, 0, 311, 0, 312, 313, 314,
+ 315, 316, 317, 318, 0, 319, 320, 321, 322, 0,
+ 0, 323, 324, 325, 326, 327, 0, 328, 329, 330,
+ 0, 331, 332, 333, 0, 334, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, 0, 344, 0, 345, 346,
+ 347, 348, 349, 0, 350, 0, 351, 352, 0, 0,
+ 0, 355, 356, 357, 358, 0, 359, 360, 0, 361,
+ 362, 363, 0, 364, 365, 366, 367, 3116, 0, 370,
+ 371, 372, 373, 0, 374, 375, 376, 377, 378, 379,
+ 380, 381, 0, 382, 0, 384, 385, 386, 387, 388,
+ 389, 390, 0, 391, 0, 392, 0, 0, 395, 0,
+ 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
+ 407, 0, 0, 408, 409, 0, 411, 0, 0, 413,
+ 414, 415, 0, 0, 416, 417, 418, 419, 420, 421,
+ 422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
+ 432, 433, 434, 0, 436, 437, 438, 439, 440, 441,
+ 442, 443, 444, 445, 446, 0, 447, 448, 0, 450,
+ 0, 451, 452, 453, 454, 455, 456, 0, 457, 458,
+ 0, 0, 459, 460, 461, 0, 0, 462, 463, 464,
+ 0, 466, 0, 468, 469, 470, 471, 472, 473, 474,
+ 475, 476, 477, 478, 0, 479, 480, 481, 482, 483,
+ 484, 485, 486, 0, 487, 488, 489, 490, 491, 492,
+ 493, 494, 495, 496, 497, 498, 499, 500, 501, 0,
+ 502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
+ 512, 513, 514, 0, 515, 516, 0, 518, 519, 520,
+ 521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
+ 531, 532, 533, 0, 534, 535, 536, 537, 538, 0,
+ 539, 540, 541, 542, 543, 0, 545, 546, 547, 548,
+ 0, 549, 550, 551, 552, 553, 554, 555, 556, 557,
+ 558, 559, 560, 561, 562, 563, 0, 564, 565, 0,
+ 0, 566, 0, 568, 569, 570, 571, 572, 0, 573,
+ 574, 575, 0, 0, 576, 577, 578, 579, 580, 0,
+ 581, 582, 583, 584, 585, 586, 587, 588, 0, 0,
+ 589, 590, 591, 592, 593, 0, 0, 594, 595, 596,
+ 597, 598, 599, 600, 0, 601, 0, 603, 604, 605,
+ 606, 0, 0, 607, 0, 0, 608, 609, 610, 611,
+ 612, 613, 614, 615, 616, 617, 618, 619, 620, 621,
+ 622, 623, 624, 625, 626, 627, 635, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 235, 236, 237, 238, 239, 240, 241,
+ 242, 243, 0, 244, 245, 246, 0, 0, 0, 0,
+ 0, 0, 0, 247, 248, 249, 0, 250, 251, 252,
+ 253, 0, 255, 256, 257, 258, 259, 0, 261, 262,
+ 0, 263, 264, 265, 266, 267, 268, 269, 0, 0,
+ 270, 271, 272, 273, 274, 0, 275, 276, 277, 278,
+ 279, 0, 0, 0, 281, 282, 283, 284, 285, 286,
+ 0, 288, 289, 290, 0, 291, 292, 293, 294, 295,
+ 296, 0, 0, 298, 299, 300, 0, 0, 0, 0,
+ 0, 0, 0, 302, 303, 304, 305, 306, 307, 308,
+ 309, 310, 0, 311, 0, 312, 313, 314, 315, 316,
+ 317, 318, 0, 319, 320, 321, 322, 0, 0, 323,
+ 324, 325, 326, 327, 0, 328, 329, 330, 0, 331,
+ 332, 333, 0, 334, 335, 336, 337, 338, 339, 340,
+ 341, 342, 343, 0, 344, 0, 345, 346, 347, 348,
+ 349, 0, 350, 0, 351, 352, 0, 0, 0, 355,
+ 356, 357, 358, 0, 359, 360, 0, 361, 362, 363,
+ 0, 364, 365, 366, 367, 3502, 0, 370, 371, 372,
+ 373, 0, 374, 375, 376, 377, 378, 379, 380, 381,
+ 0, 382, 0, 384, 385, 386, 387, 388, 389, 390,
+ 0, 391, 0, 392, 0, 0, 395, 0, 397, 398,
+ 399, 400, 401, 402, 403, 404, 405, 406, 407, 0,
+ 0, 408, 409, 0, 411, 0, 0, 413, 414, 415,
+ 0, 0, 416, 417, 418, 419, 420, 421, 422, 423,
+ 424, 425, 426, 427, 428, 429, 430, 431, 432, 433,
+ 434, 0, 436, 437, 438, 439, 440, 441, 442, 443,
+ 444, 445, 446, 0, 447, 448, 0, 450, 0, 451,
+ 452, 453, 454, 455, 456, 0, 457, 458, 0, 0,
+ 459, 460, 461, 0, 0, 462, 463, 464, 0, 466,
+ 0, 468, 469, 470, 471, 472, 473, 474, 475, 476,
+ 477, 478, 0, 479, 480, 481, 482, 483, 484, 485,
+ 486, 0, 487, 488, 489, 490, 491, 492, 493, 494,
+ 495, 496, 497, 498, 499, 500, 501, 0, 502, 503,
+ 504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
+ 514, 0, 515, 516, 0, 518, 519, 520, 521, 522,
+ 523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
+ 533, 0, 534, 535, 536, 537, 538, 0, 539, 540,
+ 541, 542, 543, 0, 545, 546, 547, 548, 0, 549,
+ 550, 551, 552, 553, 554, 555, 556, 557, 558, 559,
+ 560, 561, 562, 563, 0, 564, 565, 0, 0, 566,
+ 0, 568, 569, 570, 571, 572, 0, 573, 574, 575,
+ 0, 0, 576, 577, 578, 579, 580, 0, 581, 582,
+ 583, 584, 585, 586, 587, 588, 0, 0, 589, 590,
+ 591, 592, 593, 0, 0, 594, 595, 596, 597, 598,
+ 599, 600, 0, 601, 0, 603, 604, 605, 606, 0,
+ 0, 607, 0, 0, 608, 609, 610, 611, 612, 613,
+ 614, 615, 616, 617, 618, 619, 620, 621, 622, 623,
+ 624, 625, 626, 627, 635, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 235, 236, 237, 238, 239, 240, 241, 242, 243,
+ 0, 244, 245, 246, 0, 0, 0, 0, 0, 0,
+ 0, 247, 248, 249, 0, 250, 251, 252, 253, 0,
+ 255, 256, 257, 258, 259, 0, 261, 262, 0, 263,
+ 264, 265, 266, 267, 268, 269, 0, 0, 819, 271,
+ 272, 273, 274, 0, 275, 276, 277, 278, 279, 0,
+ 0, 0, 281, 282, 283, 284, 285, 286, 0, 288,
+ 289, 290, 0, 291, 292, 293, 294, 295, 296, 0,
+ 0, 298, 299, 300, 0, 0, 0, 0, 0, 0,
+ 0, 302, 303, 304, 305, 306, 307, 308, 309, 310,
+ 0, 311, 0, 312, 313, 314, 315, 316, 317, 318,
+ 0, 319, 320, 321, 322, 0, 0, 323, 324, 325,
+ 326, 327, 0, 328, 329, 330, 0, 331, 332, 333,
+ 0, 334, 335, 336, 337, 338, 339, 340, 341, 342,
+ 343, 0, 344, 0, 345, 346, 347, 348, 349, 0,
+ 350, 0, 351, 352, 0, 0, 0, 355, 356, 357,
+ 358, 0, 359, 360, 0, 361, 362, 363, 0, 364,
+ 365, 366, 367, 368, 0, 370, 371, 372, 373, 0,
+ 374, 375, 376, 377, 378, 379, 380, 381, 0, 382,
+ 0, 384, 385, 386, 387, 388, 389, 390, 0, 391,
+ 0, 392, 0, 0, 395, 0, 397, 398, 399, 400,
+ 401, 402, 403, 404, 405, 406, 407, 0, 0, 408,
+ 409, 0, 411, 0, 0, 413, 414, 415, 0, 0,
+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
+ 426, 427, 428, 429, 430, 431, 432, 822, 434, 0,
+ 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
+ 446, 0, 447, 448, 0, 450, 0, 451, 452, 453,
+ 454, 455, 456, 0, 457, 458, 0, 0, 459, 460,
+ 461, 0, 0, 462, 463, 464, 0, 466, 0, 468,
+ 469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
+ 0, 479, 480, 481, 482, 483, 484, 485, 486, 0,
+ 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
+ 497, 498, 499, 500, 501, 0, 502, 503, 504, 505,
+ 506, 507, 508, 509, 510, 511, 512, 513, 514, 0,
+ 515, 516, 0, 823, 519, 520, 521, 522, 523, 524,
+ 525, 526, 527, 824, 529, 530, 531, 532, 533, 0,
+ 534, 535, 536, 537, 2758, 0, 539, 540, 541, 542,
+ 543, 0, 545, 546, 547, 548, 0, 549, 550, 551,
+ 552, 553, 554, 555, 556, 557, 558, 559, 560, 561,
+ 562, 563, 0, 564, 565, 0, 0, 566, 0, 568,
+ 569, 570, 571, 572, 0, 573, 826, 575, 0, 0,
+ 2759, 577, 578, 579, 580, 0, 581, 582, 583, 584,
+ 585, 586, 587, 588, 0, 0, 589, 590, 591, 592,
+ 593, 0, 0, 594, 595, 596, 597, 598, 599, 600,
+ 0, 601, 0, 603, 604, 605, 606, 0, 0, 607,
+ 0, 0, 608, 609, 610, 611, 612, 828, 614, 615,
+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625,
+ 626, 627, 635, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 235,
+ 236, 237, 238, 239, 240, 241, 242, 243, 0, 244,
+ 245, 246, 0, 0, 0, 0, 0, 0, 0, 247,
+ 248, 249, 0, 250, 251, 252, 253, 0, 255, 256,
+ 257, 258, 259, 0, 261, 262, 0, 263, 264, 265,
+ 266, 267, 268, 269, 0, 0, 270, 271, 272, 273,
+ 274, 0, 275, 276, 277, 278, 279, 0, 0, 0,
+ 281, 282, 283, 284, 285, 286, 0, 288, 289, 290,
+ 0, 291, 292, 293, 294, 295, 296, 0, 0, 298,
+ 299, 300, 0, 0, 0, 0, 0, 0, 0, 302,
+ 303, 304, 305, 306, 307, 308, 309, 310, 0, 311,
+ 0, 312, 313, 314, 315, 316, 317, 318, 0, 319,
+ 320, 321, 322, 0, 0, 323, 324, 325, 326, 327,
+ 0, 328, 329, 330, 0, 331, 332, 333, 0, 334,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, 0,
+ 344, 0, 345, 346, 347, 348, 349, 0, 350, 0,
+ 351, 352, 0, 0, 0, 355, 356, 357, 358, 0,
+ 359, 360, 0, 361, 362, 363, 0, 364, 365, 366,
+ 367, 3559, 0, 370, 371, 372, 373, 0, 374, 375,
+ 376, 377, 378, 379, 380, 381, 0, 382, 0, 384,
+ 385, 386, 387, 388, 389, 390, 0, 391, 0, 392,
+ 0, 0, 395, 0, 397, 398, 399, 400, 401, 402,
+ 403, 404, 405, 406, 407, 0, 0, 408, 409, 0,
+ 411, 0, 0, 413, 414, 415, 0, 0, 416, 417,
+ 418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
+ 428, 429, 430, 431, 432, 433, 434, 0, 436, 437,
+ 438, 439, 440, 441, 442, 443, 444, 445, 446, 0,
+ 447, 448, 0, 450, 0, 451, 452, 453, 454, 455,
+ 456, 0, 457, 458, 0, 0, 459, 460, 461, 0,
+ 0, 462, 463, 464, 0, 466, 0, 468, 469, 470,
+ 471, 472, 473, 474, 475, 476, 477, 478, 0, 479,
+ 480, 481, 482, 483, 484, 485, 486, 0, 487, 488,
+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498,
+ 499, 500, 501, 0, 502, 503, 504, 505, 506, 507,
+ 508, 509, 510, 511, 512, 513, 514, 0, 515, 516,
+ 0, 518, 519, 520, 521, 522, 523, 524, 525, 526,
+ 527, 528, 529, 530, 531, 532, 533, 0, 534, 535,
+ 536, 537, 538, 0, 539, 540, 541, 542, 543, 0,
+ 545, 546, 547, 548, 0, 549, 550, 551, 552, 553,
+ 554, 555, 556, 557, 558, 559, 560, 561, 562, 563,
+ 0, 564, 565, 0, 0, 566, 0, 568, 569, 570,
+ 571, 572, 0, 573, 574, 575, 0, 0, 576, 577,
+ 578, 579, 580, 0, 581, 582, 583, 584, 585, 586,
+ 587, 588, 0, 0, 589, 590, 591, 592, 593, 0,
+ 0, 594, 595, 596, 597, 598, 599, 600, 0, 601,
+ 0, 603, 604, 605, 606, 0, 0, 607, 0, 0,
+ 608, 609, 610, 611, 612, 613, 614, 615, 616, 617,
+ 618, 619, 620, 621, 622, 623, 624, 625, 626, 627,
+ 635, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 235, 236, 237,
+ 238, 239, 240, 241, 242, 243, 0, 244, 245, 246,
+ 0, 0, 0, 0, 0, 0, 0, 247, 248, 249,
+ 0, 250, 251, 252, 253, 0, 255, 256, 257, 258,
+ 259, 0, 261, 262, 0, 263, 264, 265, 266, 267,
+ 268, 269, 0, 0, 270, 271, 272, 273, 274, 0,
+ 275, 276, 277, 278, 279, 0, 0, 0, 281, 282,
+ 283, 284, 285, 286, 0, 288, 289, 290, 0, 291,
+ 292, 293, 294, 295, 296, 0, 0, 298, 299, 300,
+ 0, 0, 0, 0, 0, 0, 0, 302, 303, 304,
+ 305, 306, 307, 308, 309, 310, 0, 311, 0, 312,
+ 313, 314, 315, 316, 317, 318, 0, 319, 320, 321,
+ 322, 0, 0, 323, 324, 325, 326, 327, 0, 328,
+ 329, 330, 0, 331, 332, 333, 0, 334, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, 0, 344, 0,
+ 345, 346, 347, 348, 349, 0, 350, 0, 351, 352,
+ 0, 0, 0, 355, 356, 357, 358, 0, 359, 360,
+ 0, 361, 362, 363, 0, 364, 365, 366, 367, 3573,
+ 0, 370, 371, 372, 373, 0, 374, 375, 376, 377,
+ 378, 379, 380, 381, 0, 382, 0, 384, 385, 386,
+ 387, 388, 389, 390, 0, 391, 0, 392, 0, 0,
+ 395, 0, 397, 398, 399, 400, 401, 402, 403, 404,
+ 405, 406, 407, 0, 0, 408, 409, 0, 411, 0,
+ 0, 413, 414, 415, 0, 0, 416, 417, 418, 419,
+ 420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
+ 430, 431, 432, 433, 434, 0, 436, 437, 438, 439,
+ 440, 441, 442, 443, 444, 445, 446, 0, 447, 448,
+ 0, 450, 0, 451, 452, 453, 454, 455, 456, 0,
+ 457, 458, 0, 0, 459, 460, 461, 0, 0, 462,
+ 463, 464, 0, 466, 0, 468, 469, 470, 471, 472,
+ 473, 474, 475, 476, 477, 478, 0, 479, 480, 481,
+ 482, 483, 484, 485, 486, 0, 487, 488, 489, 490,
+ 491, 492, 493, 494, 495, 496, 497, 498, 499, 500,
+ 501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
+ 510, 511, 512, 513, 514, 0, 515, 516, 0, 518,
+ 519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
+ 529, 530, 531, 532, 533, 0, 534, 535, 536, 537,
+ 538, 0, 539, 540, 541, 542, 543, 0, 545, 546,
+ 547, 548, 0, 549, 550, 551, 552, 553, 554, 555,
+ 556, 557, 558, 559, 560, 561, 562, 563, 0, 564,
+ 565, 0, 0, 566, 0, 568, 569, 570, 571, 572,
+ 0, 573, 574, 575, 0, 0, 576, 577, 578, 579,
+ 580, 0, 581, 582, 583, 584, 585, 586, 587, 588,
+ 0, 0, 589, 590, 591, 592, 593, 0, 0, 594,
+ 595, 596, 597, 598, 599, 600, 0, 601, 0, 603,
+ 604, 605, 606, 0, 0, 607, 0, 0, 608, 609,
+ 610, 611, 612, 613, 614, 615, 616, 617, 618, 619,
+ 620, 621, 622, 623, 624, 625, 626, 627, 635, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 235, 236, 237, 238, 239,
+ 240, 241, 242, 243, 0, 244, 245, 246, 0, 0,
+ 0, 0, 0, 0, 0, 247, 248, 249, 0, 250,
+ 251, 252, 253, 0, 255, 256, 257, 258, 259, 0,
+ 261, 262, 0, 263, 264, 265, 266, 267, 268, 269,
+ 0, 0, 270, 271, 272, 273, 274, 0, 275, 276,
+ 277, 278, 279, 0, 0, 0, 281, 282, 283, 284,
+ 285, 286, 0, 288, 289, 290, 0, 291, 292, 293,
+ 294, 295, 296, 0, 0, 298, 299, 300, 0, 0,
+ 0, 0, 0, 0, 0, 302, 303, 304, 305, 306,
+ 307, 308, 309, 310, 0, 311, 0, 312, 313, 314,
+ 315, 316, 317, 318, 0, 319, 320, 321, 322, 0,
+ 0, 323, 324, 325, 326, 327, 0, 328, 329, 330,
+ 0, 331, 332, 333, 0, 334, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, 0, 344, 0, 345, 346,
+ 347, 348, 349, 0, 350, 0, 351, 352, 0, 0,
+ 0, 355, 356, 357, 358, 0, 359, 360, 0, 361,
+ 362, 363, 0, 364, 365, 366, 367, 3575, 0, 370,
+ 371, 372, 373, 0, 374, 375, 376, 377, 378, 379,
+ 380, 381, 0, 382, 0, 384, 385, 386, 387, 388,
+ 389, 390, 0, 391, 0, 392, 0, 0, 395, 0,
+ 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
+ 407, 0, 0, 408, 409, 0, 411, 0, 0, 413,
+ 414, 415, 0, 0, 416, 417, 418, 419, 420, 421,
+ 422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
+ 432, 433, 434, 0, 436, 437, 438, 439, 440, 441,
+ 442, 443, 444, 445, 446, 0, 447, 448, 0, 450,
+ 0, 451, 452, 453, 454, 455, 456, 0, 457, 458,
+ 0, 0, 459, 460, 461, 0, 0, 462, 463, 464,
+ 0, 466, 0, 468, 469, 470, 471, 472, 473, 474,
+ 475, 476, 477, 478, 0, 479, 480, 481, 482, 483,
+ 484, 485, 486, 0, 487, 488, 489, 490, 491, 492,
+ 493, 494, 495, 496, 497, 498, 499, 500, 501, 0,
+ 502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
+ 512, 513, 514, 0, 515, 516, 0, 518, 519, 520,
+ 521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
+ 531, 532, 533, 0, 534, 535, 536, 537, 538, 0,
+ 539, 540, 541, 542, 543, 0, 545, 546, 547, 548,
+ 0, 549, 550, 551, 552, 553, 554, 555, 556, 557,
+ 558, 559, 560, 561, 562, 563, 0, 564, 565, 0,
+ 0, 566, 0, 568, 569, 570, 571, 572, 0, 573,
+ 574, 575, 0, 0, 576, 577, 578, 579, 580, 0,
+ 581, 582, 583, 584, 585, 586, 587, 588, 0, 0,
+ 589, 590, 591, 592, 593, 0, 0, 594, 595, 596,
+ 597, 598, 599, 600, 0, 601, 0, 603, 604, 605,
+ 606, 0, 0, 607, 0, 0, 608, 609, 610, 611,
+ 612, 613, 614, 615, 616, 617, 618, 619, 620, 621,
+ 622, 623, 624, 625, 626, 627, 635, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 235, 236, 237, 238, 239, 240, 241,
+ 242, 243, 0, 244, 245, 246, 0, 0, 0, 0,
+ 0, 0, 0, 247, 248, 249, 0, 250, 251, 252,
+ 253, 0, 255, 256, 257, 258, 259, 0, 261, 262,
+ 0, 263, 264, 265, 266, 267, 268, 269, 0, 0,
+ 270, 271, 272, 273, 274, 0, 275, 276, 277, 278,
+ 279, 0, 0, 0, 281, 282, 283, 284, 285, 286,
+ 0, 288, 289, 290, 0, 291, 292, 293, 294, 295,
+ 296, 0, 0, 298, 299, 300, 0, 0, 0, 0,
+ 0, 0, 0, 302, 303, 304, 305, 306, 307, 308,
+ 309, 310, 0, 311, 0, 312, 313, 314, 315, 316,
+ 317, 318, 0, 319, 320, 321, 322, 0, 0, 323,
+ 324, 325, 326, 327, 0, 328, 329, 330, 0, 331,
+ 332, 333, 0, 334, 335, 336, 337, 338, 339, 340,
+ 341, 342, 343, 0, 344, 0, 345, 346, 347, 348,
+ 349, 0, 350, 0, 351, 352, 0, 0, 0, 355,
+ 356, 357, 358, 0, 359, 360, 0, 361, 362, 363,
+ 0, 364, 365, 366, 367, 3723, 0, 370, 371, 372,
+ 373, 0, 374, 375, 376, 377, 378, 379, 380, 381,
+ 0, 382, 0, 384, 385, 386, 387, 388, 389, 390,
+ 0, 391, 0, 392, 0, 0, 395, 0, 397, 398,
+ 399, 400, 401, 402, 403, 404, 405, 406, 407, 0,
+ 0, 408, 409, 0, 411, 0, 0, 413, 414, 415,
+ 0, 0, 416, 417, 418, 419, 420, 421, 422, 423,
+ 424, 425, 426, 427, 428, 429, 430, 431, 432, 433,
+ 434, 0, 436, 437, 438, 439, 440, 441, 442, 443,
+ 444, 445, 446, 0, 447, 448, 0, 450, 0, 451,
+ 452, 453, 454, 455, 456, 0, 457, 458, 0, 0,
+ 459, 460, 461, 0, 0, 462, 463, 464, 0, 466,
+ 0, 468, 469, 470, 471, 472, 473, 474, 475, 476,
+ 477, 478, 0, 479, 480, 481, 482, 483, 484, 485,
+ 486, 0, 487, 488, 489, 490, 491, 492, 493, 494,
+ 495, 496, 497, 498, 499, 500, 501, 0, 502, 503,
+ 504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
+ 514, 0, 515, 516, 0, 518, 519, 520, 521, 522,
+ 523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
+ 533, 0, 534, 535, 536, 537, 538, 0, 539, 540,
+ 541, 542, 543, 0, 545, 546, 547, 548, 0, 549,
+ 550, 551, 552, 553, 554, 555, 556, 557, 558, 559,
+ 560, 561, 562, 563, 0, 564, 565, 0, 0, 566,
+ 0, 568, 569, 570, 571, 572, 0, 573, 574, 575,
+ 0, 0, 576, 577, 578, 579, 580, 0, 581, 582,
+ 583, 584, 585, 586, 587, 588, 0, 0, 589, 590,
+ 591, 592, 593, 0, 0, 594, 595, 596, 597, 598,
+ 599, 600, 0, 601, 0, 603, 604, 605, 606, 0,
+ 0, 607, 0, 0, 608, 609, 610, 611, 612, 613,
+ 614, 615, 616, 617, 618, 619, 620, 621, 622, 623,
+ 624, 625, 626, 627, 635, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 235, 236, 237, 238, 239, 240, 241, 242, 243,
+ 0, 244, 245, 246, 0, 0, 0, 0, 0, 0,
+ 0, 247, 248, 249, 0, 250, 251, 252, 253, 0,
+ 255, 256, 257, 258, 259, 0, 261, 262, 0, 263,
+ 264, 265, 266, 267, 268, 269, 0, 0, 270, 271,
+ 272, 273, 274, 0, 275, 276, 277, 278, 279, 0,
+ 0, 0, 281, 282, 283, 284, 285, 286, 0, 288,
+ 289, 290, 0, 291, 292, 293, 294, 295, 296, 0,
+ 0, 298, 299, 300, 0, 0, 0, 0, 0, 0,
+ 0, 302, 303, 304, 305, 306, 307, 308, 309, 310,
+ 0, 311, 0, 312, 313, 314, 315, 316, 317, 318,
+ 0, 319, 320, 321, 322, 0, 0, 323, 3763, 325,
+ 326, 327, 0, 328, 329, 330, 0, 331, 332, 333,
+ 0, 334, 335, 336, 337, 338, 339, 340, 341, 342,
+ 343, 0, 344, 0, 345, 346, 347, 348, 349, 0,
+ 350, 0, 351, 352, 0, 0, 0, 355, 356, 357,
+ 358, 0, 359, 360, 0, 361, 362, 363, 0, 364,
+ 365, 366, 367, 368, 0, 370, 371, 372, 373, 0,
+ 374, 375, 376, 377, 378, 379, 380, 381, 0, 382,
+ 0, 384, 385, 386, 387, 388, 389, 390, 0, 391,
+ 0, 392, 0, 0, 395, 0, 397, 398, 399, 400,
+ 401, 402, 403, 404, 405, 406, 407, 0, 0, 408,
+ 409, 0, 411, 0, 0, 413, 414, 415, 0, 0,
+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
+ 426, 427, 428, 429, 430, 431, 432, 433, 434, 0,
+ 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
+ 446, 0, 447, 448, 0, 450, 0, 451, 452, 453,
+ 454, 455, 456, 0, 457, 458, 0, 0, 459, 460,
+ 461, 0, 0, 462, 463, 464, 0, 466, 0, 468,
+ 469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
+ 0, 479, 480, 481, 482, 483, 484, 485, 486, 0,
+ 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
+ 497, 498, 499, 500, 501, 0, 502, 503, 504, 505,
+ 506, 507, 508, 509, 510, 511, 512, 513, 514, 0,
+ 515, 516, 0, 518, 519, 520, 521, 522, 523, 524,
+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 0,
+ 534, 535, 536, 537, 538, 0, 539, 540, 541, 542,
+ 543, 0, 545, 546, 547, 548, 0, 549, 550, 551,
+ 552, 553, 554, 555, 556, 557, 558, 559, 560, 561,
+ 562, 563, 0, 564, 565, 0, 0, 566, 0, 568,
+ 569, 570, 571, 572, 0, 573, 574, 575, 0, 0,
+ 576, 577, 578, 579, 580, 0, 581, 582, 583, 584,
+ 585, 586, 587, 588, 0, 0, 589, 590, 591, 592,
+ 593, 0, 0, 594, 595, 596, 597, 598, 599, 600,
+ 0, 601, 0, 603, 604, 605, 606, 0, 0, 607,
+ 0, 0, 608, 609, 610, 611, 612, 613, 614, 615,
+ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625,
+ 626, 627, 635, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 235,
+ 236, 237, 238, 239, 240, 241, 242, 243, 0, 244,
+ 245, 246, 0, 0, 0, 0, 0, 0, 0, 247,
+ 248, 249, 0, 250, 251, 252, 253, 0, 255, 256,
+ 257, 258, 259, 0, 261, 262, 0, 263, 264, 265,
+ 266, 267, 268, 269, 0, 0, 270, 271, 272, 273,
+ 274, 0, 275, 276, 277, 278, 279, 0, 0, 0,
+ 281, 282, 283, 284, 285, 286, 0, 288, 289, 290,
+ 0, 291, 292, 293, 294, 295, 296, 0, 0, 298,
+ 299, 300, 0, 0, 0, 0, 0, 0, 0, 302,
+ 303, 304, 305, 306, 307, 308, 309, 310, 0, 311,
+ 0, 312, 313, 314, 315, 316, 317, 318, 0, 319,
+ 320, 321, 322, 0, 0, 323, 324, 325, 326, 327,
+ 0, 328, 329, 330, 0, 331, 332, 333, 0, 334,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, 0,
+ 344, 0, 345, 346, 347, 348, 349, 0, 350, 0,
+ 351, 352, 0, 0, 0, 355, 356, 357, 358, 0,
+ 359, 360, 0, 361, 362, 363, 0, 364, 365, 366,
+ 367, 5001, 0, 370, 371, 372, 373, 0, 374, 375,
+ 376, 377, 378, 379, 380, 381, 0, 382, 0, 384,
+ 385, 386, 387, 388, 389, 390, 0, 391, 0, 392,
+ 0, 0, 395, 0, 397, 398, 399, 400, 401, 402,
+ 403, 404, 405, 406, 407, 0, 0, 408, 409, 0,
+ 411, 0, 0, 413, 414, 415, 0, 0, 416, 417,
+ 418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
+ 428, 429, 430, 431, 432, 433, 434, 0, 436, 437,
+ 438, 439, 440, 441, 442, 443, 444, 445, 446, 0,
+ 447, 448, 0, 450, 0, 451, 452, 453, 454, 455,
+ 456, 0, 457, 458, 0, 0, 459, 460, 461, 0,
+ 0, 462, 463, 464, 0, 466, 0, 468, 469, 470,
+ 471, 472, 473, 474, 475, 476, 477, 478, 0, 479,
+ 480, 481, 482, 483, 484, 485, 486, 0, 487, 488,
+ 489, 490, 491, 492, 493, 494, 495, 496, 497, 498,
+ 499, 500, 501, 0, 502, 503, 504, 505, 506, 507,
+ 508, 509, 510, 511, 512, 513, 514, 0, 515, 516,
+ 0, 518, 519, 520, 521, 522, 523, 524, 525, 526,
+ 527, 528, 529, 530, 531, 532, 533, 0, 534, 535,
+ 536, 537, 538, 0, 539, 540, 541, 542, 543, 0,
+ 545, 546, 547, 548, 0, 549, 550, 551, 552, 553,
+ 554, 555, 556, 557, 558, 559, 560, 561, 562, 563,
+ 0, 564, 565, 0, 0, 566, 0, 568, 569, 570,
+ 571, 572, 0, 573, 574, 575, 0, 0, 576, 577,
+ 578, 579, 580, 0, 581, 582, 583, 584, 585, 586,
+ 587, 588, 0, 0, 589, 590, 591, 592, 593, 0,
+ 0, 594, 595, 596, 597, 598, 599, 600, 0, 601,
+ 0, 603, 604, 605, 606, 0, 0, 607, 0, 0,
+ 608, 609, 610, 611, 612, 613, 614, 615, 616, 617,
+ 618, 619, 620, 621, 622, 623, 624, 625, 626, 627,
+ 635, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 235, 236, 237,
+ 238, 239, 240, 241, 242, 243, 0, 244, 245, 246,
+ 0, 0, 0, 0, 0, 0, 0, 247, 248, 249,
+ 0, 250, 251, 252, 253, 0, 255, 256, 257, 258,
+ 259, 0, 261, 262, 0, 263, 264, 265, 266, 267,
+ 268, 269, 0, 0, 270, 271, 272, 273, 274, 0,
+ 275, 276, 277, 278, 279, 0, 0, 0, 281, 282,
+ 283, 284, 285, 286, 0, 288, 289, 290, 0, 291,
+ 292, 293, 294, 295, 296, 0, 0, 298, 299, 300,
+ 0, 0, 0, 0, 0, 0, 0, 302, 303, 304,
+ 305, 306, 307, 308, 309, 310, 0, 311, 0, 312,
+ 313, 314, 315, 316, 317, 318, 0, 319, 320, 321,
+ 322, 0, 0, 323, 324, 325, 326, 327, 0, 328,
+ 329, 330, 0, 331, 332, 333, 0, 334, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, 0, 344, 0,
+ 345, 346, 347, 348, 349, 0, 350, 0, 351, 352,
+ 0, 0, 0, 355, 356, 357, 358, 0, 359, 360,
+ 0, 361, 0, 363, 0, 364, 365, 366, 367, 368,
+ 0, 370, 371, 372, 373, 0, 374, 375, 376, 377,
+ 378, 379, 380, 381, 0, 382, 0, 384, 385, 386,
+ 387, 388, 389, 390, 0, 391, 0, 392, 0, 0,
+ 395, 0, 397, 398, 399, 400, 401, 402, 403, 404,
+ 405, 406, 407, 0, 0, 408, 409, 0, 411, 0,
+ 0, 413, 414, 415, 0, 0, 416, 417, 418, 419,
+ 420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
+ 430, 431, 432, 433, 434, 0, 436, 437, 438, 439,
+ 440, 441, 442, 443, 444, 445, 446, 0, 447, 448,
+ 0, 450, 0, 451, 452, 453, 454, 455, 456, 0,
+ 457, 458, 0, 0, 459, 460, 461, 0, 0, 462,
+ 463, 464, 0, 466, 0, 468, 469, 470, 471, 472,
+ 473, 474, 475, 0, 477, 478, 0, 479, 480, 481,
+ 482, 483, 484, 485, 486, 0, 487, 488, 489, 490,
+ 491, 492, 493, 494, 0, 496, 497, 498, 499, 500,
+ 501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
+ 510, 511, 512, 513, 514, 0, 515, 516, 0, 518,
+ 519, 520, 521, 522, 523, 0, 525, 526, 527, 528,
+ 529, 530, 531, 532, 533, 0, 534, 535, 536, 537,
+ 538, 0, 539, 540, 541, 542, 543, 0, 545, 546,
+ 547, 548, 0, 549, 550, 551, 552, 553, 554, 555,
+ 556, 557, 558, 559, 560, 561, 562, 563, 0, 564,
+ 565, 0, 0, 566, 0, 568, 569, 570, 571, 572,
+ 0, 573, 574, 575, 0, 0, 576, 577, 578, 579,
+ 580, 0, 581, 582, 583, 584, 585, 586, 587, 588,
+ 0, 0, 589, 590, 591, 592, 593, 0, 0, 594,
+ 595, 596, 597, 598, 599, 600, 0, 601, 0, 603,
+ 604, 605, 606, 0, 0, 607, 0, 0, 608, 609,
+ 610, 611, 612, 613, 614, 615, 616, 617, 618, 619,
+ 620, 621, 622, 623, 624, 625, 626, 627, 856, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 235, 236, 237, 238, 239,
+ 240, 241, 242, 243, 0, 244, 245, 246, 0, 0,
+ 0, 0, 0, 0, 0, 247, 248, 249, 0, 250,
+ 251, 252, 253, 254, 255, 256, 257, 0, 857, 260,
+ 858, 859, 0, 263, 264, 265, 266, 267, 268, 269,
+ 0, 0, 270, 271, 860, 861, 274, 0, 275, 276,
+ 277, 278, 0, 0, 280, 0, 281, 282, 283, 284,
+ 285, 286, 287, 288, 289, 290, 0, 291, 292, 293,
+ 294, 295, 296, 0, 297, 298, 299, 300, 0, 0,
+ 0, 301, 0, 0, 0, 302, 303, 304, 305, 306,
+ 307, 862, 863, 310, 0, 311, 0, 312, 313, 314,
+ 315, 316, 317, 318, 0, 319, 320, 321, 322, 0,
+ 0, 323, 324, 864, 326, 327, 0, 328, 329, 330,
+ 0, 331, 332, 333, 0, 334, 335, 336, 337, 0,
+ 339, 340, 341, 342, 0, 0, 344, 0, 345, 346,
+ 347, 865, 349, 0, 350, 0, 351, 352, 353, 0,
+ 354, 355, 356, 357, 358, 0, 359, 0, 0, 0,
+ 362, 363, 0, 364, 365, 366, 367, 368, 369, 370,
+ 371, 372, 373, 2666, 374, 375, 376, 377, 378, 379,
+ 380, 381, 0, 382, 383, 2667, 385, 386, 387, 388,
+ 866, 867, 0, 868, 0, 392, 393, 394, 395, 396,
+ 397, 0, 0, 0, 0, 402, 403, 404, 405, 406,
+ 407, 0, 0, 408, 0, 410, 411, 412, 0, 413,
+ 414, 415, 0, 0, 416, 417, 418, 419, 420, 421,
+ 422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
+ 432, 433, 869, 435, 870, 437, 438, 439, 440, 441,
+ 442, 443, 0, 0, 446, 0, 447, 448, 449, 450,
+ 0, 0, 452, 871, 454, 455, 456, 0, 457, 458,
+ 0, 0, 459, 460, 461, 0, 0, 462, 463, 2669,
+ 465, 466, 467, 0, 469, 470, 471, 472, 473, 474,
+ 475, 476, 477, 478, 0, 479, 480, 0, 482, 0,
+ 484, 485, 486, 0, 487, 488, 489, 490, 491, 492,
+ 493, 494, 495, 496, 872, 498, 499, 500, 501, 0,
+ 502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
+ 512, 513, 514, 0, 515, 516, 517, 518, 519, 520,
+ 521, 522, 0, 524, 525, 526, 527, 528, 529, 530,
+ 531, 532, 533, 0, 534, 535, 536, 537, 538, 0,
+ 539, 540, 2670, 542, 543, 544, 545, 546, 874, 548,
+ 0, 549, 550, 551, 552, 553, 554, 555, 556, 557,
+ 558, 559, 560, 561, 0, 563, 0, 564, 565, 0,
+ 0, 566, 567, 568, 569, 570, 571, 572, 0, 573,
+ 875, 876, 0, 0, 576, 577, 0, 579, 0, 0,
+ 581, 582, 583, 584, 585, 586, 587, 588, 0, 0,
+ 589, 590, 591, 592, 593, 0, 0, 594, 595, 596,
+ 597, 598, 0, 877, 2671, 601, 602, 603, 604, 605,
+ 606, 0, 0, 607, 0, 0, 608, 609, 610, 611,
+ 612, 613, 856, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 625, 626, 627, 0, 0, 0, 235,
+ 236, 237, 238, 239, 240, 241, 242, 243, 0, 244,
+ 245, 246, 0, 0, 0, 0, 0, 0, 0, 247,
+ 248, 249, 0, 250, 251, 252, 253, 254, 255, 256,
+ 257, 0, 857, 260, 858, 859, 0, 263, 264, 265,
+ 266, 267, 268, 269, 0, 0, 270, 271, 860, 861,
+ 274, 0, 275, 276, 277, 278, 0, 0, 280, 0,
+ 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
+ 0, 291, 292, 293, 294, 295, 296, 0, 297, 298,
+ 299, 300, 0, 0, 0, 301, 0, 0, 0, 302,
+ 303, 304, 305, 306, 307, 862, 863, 310, 0, 311,
+ 0, 312, 313, 314, 315, 316, 317, 318, 0, 319,
+ 320, 321, 322, 0, 0, 323, 324, 864, 326, 327,
+ 0, 328, 329, 330, 0, 331, 332, 333, 0, 334,
+ 335, 336, 337, 0, 339, 340, 341, 342, 0, 0,
+ 344, 0, 345, 346, 347, 865, 349, 0, 350, 0,
+ 351, 352, 353, 0, 354, 355, 356, 357, 358, 0,
+ 359, 0, 0, 0, 362, 363, 0, 364, 365, 366,
+ 367, 368, 369, 370, 371, 372, 373, 0, 374, 375,
+ 376, 377, 378, 379, 380, 381, 0, 382, 383, 0,
+ 385, 386, 387, 388, 866, 867, 0, 868, 0, 392,
+ 393, 394, 395, 396, 397, 0, 0, 0, 0, 402,
+ 403, 404, 405, 406, 407, 0, 0, 408, 0, 410,
+ 411, 412, 0, 413, 414, 415, 0, 0, 416, 417,
+ 418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
+ 428, 429, 430, 431, 432, 433, 869, 435, 870, 437,
+ 438, 439, 440, 441, 442, 443, 0, 0, 446, 0,
+ 447, 448, 449, 450, 2753, 0, 452, 871, 454, 455,
+ 456, 0, 457, 458, 0, 0, 459, 460, 461, 0,
+ 0, 462, 463, 0, 465, 466, 467, 0, 469, 470,
+ 471, 472, 473, 474, 475, 476, 477, 478, 0, 479,
+ 480, 0, 482, 0, 484, 485, 486, 0, 487, 488,
+ 489, 490, 491, 492, 493, 494, 495, 496, 872, 498,
+ 499, 500, 501, 0, 502, 503, 504, 505, 506, 507,
+ 508, 509, 510, 511, 512, 513, 514, 0, 515, 516,
+ 517, 518, 519, 520, 521, 522, 0, 524, 525, 526,
+ 527, 528, 529, 530, 531, 532, 533, 0, 534, 535,
+ 536, 537, 538, 0, 539, 540, 2670, 542, 543, 544,
+ 545, 546, 874, 548, 0, 549, 550, 551, 552, 553,
+ 554, 555, 556, 557, 558, 559, 560, 561, 0, 563,
+ 0, 564, 565, 0, 4527, 566, 567, 568, 569, 570,
+ 571, 572, 0, 573, 875, 876, 0, 0, 576, 577,
+ 0, 579, 0, 0, 581, 582, 583, 584, 585, 586,
+ 587, 588, 0, 0, 589, 590, 591, 592, 593, 0,
+ 0, 594, 595, 596, 597, 598, 0, 877, 0, 601,
+ 602, 603, 604, 605, 606, 0, 0, 607, 0, 0,
+ 608, 609, 610, 611, 612, 613, 856, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 625, 626, 627,
+ 0, 0, 0, 235, 236, 237, 238, 239, 240, 241,
+ 242, 243, 0, 244, 245, 246, 0, 0, 0, 0,
+ 0, 0, 0, 247, 248, 249, 0, 250, 251, 252,
+ 253, 254, 255, 256, 257, 0, 857, 260, 858, 859,
+ 0, 263, 264, 265, 266, 267, 268, 269, 0, 0,
+ 270, 271, 860, 861, 274, 0, 275, 276, 277, 278,
+ 0, 0, 280, 0, 281, 282, 283, 284, 285, 286,
+ 287, 288, 289, 290, 0, 291, 292, 293, 294, 295,
+ 296, 0, 297, 298, 299, 300, 0, 0, 0, 301,
+ 0, 0, 0, 302, 303, 304, 305, 306, 307, 862,
+ 863, 310, 0, 311, 0, 312, 313, 314, 315, 316,
+ 317, 318, 0, 319, 320, 321, 322, 0, 0, 323,
+ 324, 864, 326, 327, 0, 328, 329, 330, 0, 331,
+ 332, 333, 0, 334, 335, 336, 337, 0, 339, 340,
+ 341, 342, 0, 0, 344, 0, 345, 346, 347, 865,
+ 349, 0, 350, 0, 351, 352, 353, 0, 354, 355,
+ 356, 357, 358, 0, 359, 0, 0, 0, 362, 363,
+ 0, 364, 365, 366, 367, 368, 369, 370, 371, 372,
+ 373, 0, 374, 375, 376, 377, 378, 379, 380, 381,
+ 0, 382, 383, 0, 385, 386, 387, 388, 866, 867,
+ 0, 868, 0, 392, 393, 394, 395, 396, 397, 0,
+ 0, 0, 0, 402, 403, 404, 405, 406, 407, 0,
+ 0, 408, 0, 410, 411, 412, 0, 413, 414, 415,
+ 0, 0, 416, 417, 418, 419, 420, 421, 422, 423,
+ 424, 425, 426, 427, 428, 429, 430, 431, 432, 433,
+ 869, 435, 870, 437, 438, 439, 440, 441, 442, 443,
+ 2827, 0, 446, 0, 447, 448, 449, 450, 0, 0,
+ 452, 871, 454, 455, 456, 0, 457, 458, 0, 0,
+ 459, 460, 461, 0, 0, 462, 463, 0, 465, 466,
+ 467, 0, 469, 470, 471, 472, 473, 474, 475, 476,
+ 477, 478, 0, 479, 480, 0, 482, 0, 484, 485,
+ 486, 0, 487, 488, 489, 490, 491, 492, 493, 494,
+ 495, 496, 872, 498, 499, 500, 501, 0, 502, 503,
+ 504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
+ 514, 0, 515, 516, 517, 518, 519, 520, 521, 522,
+ 0, 524, 525, 526, 527, 528, 529, 530, 531, 532,
+ 533, 0, 534, 535, 536, 537, 538, 0, 539, 540,
+ 873, 542, 543, 544, 545, 546, 874, 548, 0, 549,
+ 550, 551, 552, 553, 554, 555, 556, 557, 558, 559,
+ 560, 561, 0, 563, 0, 564, 565, 0, 0, 566,
+ 567, 568, 569, 570, 571, 572, 0, 573, 875, 876,
+ 0, 0, 576, 577, 0, 579, 0, 0, 581, 582,
+ 583, 584, 585, 586, 587, 588, 0, 0, 589, 590,
+ 591, 592, 593, 0, 0, 594, 595, 596, 597, 598,
+ 0, 877, 0, 601, 602, 603, 604, 605, 606, 0,
+ 0, 607, 0, 0, 608, 609, 610, 611, 612, 613,
+ 856, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 625, 626, 627, 0, 0, 0, 235, 236, 237,
+ 238, 239, 240, 241, 242, 243, 0, 244, 245, 246,
+ 0, 0, 0, 0, 0, 0, 0, 247, 248, 249,
+ 0, 250, 251, 252, 253, 254, 255, 256, 257, 0,
+ 857, 260, 858, 859, 0, 263, 264, 265, 266, 267,
+ 268, 269, 0, 0, 270, 271, 860, 861, 274, 0,
+ 275, 276, 277, 278, 0, 0, 280, 0, 281, 282,
+ 283, 284, 285, 286, 287, 288, 289, 290, 0, 291,
+ 292, 293, 294, 295, 296, 0, 297, 298, 299, 300,
+ 0, 0, 0, 301, 0, 0, 0, 302, 303, 304,
+ 305, 306, 307, 862, 863, 310, 0, 311, 0, 312,
+ 313, 314, 315, 316, 317, 318, 0, 319, 320, 321,
+ 322, 0, 0, 323, 324, 864, 326, 327, 0, 328,
+ 329, 330, 0, 331, 332, 333, 0, 334, 335, 336,
+ 337, 0, 339, 340, 341, 342, 0, 0, 344, 0,
+ 345, 346, 347, 865, 349, 0, 350, 0, 351, 352,
+ 353, 0, 354, 355, 356, 357, 358, 0, 359, 0,
+ 0, 0, 362, 363, 0, 364, 365, 366, 367, 368,
+ 369, 370, 371, 372, 373, 0, 374, 375, 376, 377,
+ 378, 379, 380, 381, 0, 382, 383, 0, 385, 386,
+ 387, 388, 866, 867, 0, 868, 0, 392, 393, 394,
+ 395, 396, 397, 0, 0, 0, 0, 402, 403, 404,
+ 405, 406, 407, 0, 0, 408, 0, 410, 411, 412,
+ 0, 413, 414, 415, 0, 0, 416, 417, 418, 419,
+ 420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
+ 430, 431, 432, 433, 869, 435, 870, 437, 438, 439,
+ 440, 441, 442, 443, 4323, 0, 446, 0, 447, 448,
+ 449, 450, 0, 0, 452, 871, 454, 455, 456, 0,
+ 457, 458, 0, 0, 459, 460, 461, 0, 0, 462,
+ 463, 0, 465, 466, 467, 0, 469, 470, 471, 472,
+ 473, 474, 475, 476, 477, 478, 0, 479, 480, 0,
+ 482, 0, 484, 485, 486, 0, 487, 488, 489, 490,
+ 491, 492, 493, 494, 495, 496, 872, 498, 499, 500,
+ 501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
+ 510, 511, 512, 513, 514, 0, 515, 516, 517, 518,
+ 519, 520, 521, 522, 0, 524, 525, 526, 527, 528,
+ 529, 530, 531, 532, 533, 0, 534, 535, 536, 537,
+ 538, 0, 539, 540, 873, 542, 543, 544, 545, 546,
+ 874, 548, 0, 549, 550, 551, 552, 553, 554, 555,
+ 556, 557, 558, 559, 560, 561, 0, 563, 0, 564,
+ 565, 0, 0, 566, 567, 568, 569, 570, 571, 572,
+ 0, 573, 875, 876, 0, 0, 576, 577, 0, 579,
+ 0, 0, 581, 582, 583, 584, 585, 586, 587, 588,
+ 0, 0, 589, 590, 591, 592, 593, 0, 0, 594,
+ 595, 596, 597, 598, 0, 877, 0, 601, 602, 603,
+ 604, 605, 606, 0, 0, 607, 0, 0, 608, 609,
+ 610, 611, 612, 613, 856, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 625, 626, 627, 0, 0,
+ 0, 235, 236, 237, 238, 239, 240, 241, 242, 243,
+ 0, 244, 245, 246, 0, 0, 0, 0, 0, 0,
+ 0, 247, 248, 249, 0, 250, 251, 252, 253, 254,
+ 255, 256, 257, 0, 857, 260, 858, 859, 0, 263,
+ 264, 265, 266, 267, 268, 269, 0, 0, 270, 271,
+ 860, 861, 274, 0, 275, 276, 277, 278, 0, 0,
+ 280, 0, 281, 282, 283, 284, 285, 286, 287, 288,
+ 289, 290, 0, 291, 292, 293, 294, 295, 296, 0,
+ 297, 298, 299, 300, 0, 0, 0, 301, 0, 0,
+ 0, 302, 303, 304, 305, 306, 307, 862, 863, 310,
+ 0, 311, 0, 312, 313, 314, 315, 316, 317, 318,
+ 0, 319, 320, 321, 322, 0, 0, 323, 324, 864,
+ 326, 327, 0, 328, 329, 330, 0, 331, 332, 333,
+ 0, 334, 335, 336, 337, 0, 339, 340, 341, 342,
+ 0, 0, 344, 0, 345, 346, 347, 865, 349, 5848,
+ 350, 0, 351, 352, 353, 0, 354, 355, 356, 357,
+ 358, 0, 359, 0, 0, 0, 362, 363, 0, 364,
+ 365, 366, 367, 368, 369, 370, 371, 372, 373, 0,
+ 374, 375, 376, 377, 378, 379, 380, 381, 0, 382,
+ 383, 0, 385, 386, 387, 388, 866, 867, 0, 868,
+ 0, 392, 393, 394, 395, 396, 397, 0, 0, 0,
+ 0, 402, 403, 404, 405, 406, 407, 0, 0, 408,
+ 0, 410, 411, 412, 0, 413, 414, 415, 0, 0,
+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
+ 426, 427, 428, 429, 430, 431, 432, 433, 869, 435,
+ 870, 437, 438, 439, 440, 441, 442, 443, 0, 0,
+ 446, 0, 447, 448, 449, 450, 0, 0, 452, 871,
+ 454, 455, 456, 0, 457, 458, 0, 0, 459, 460,
+ 461, 0, 0, 462, 463, 0, 465, 466, 467, 0,
+ 469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
+ 0, 479, 480, 0, 482, 0, 484, 485, 486, 0,
+ 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
+ 872, 498, 499, 500, 501, 0, 502, 503, 504, 505,
+ 506, 507, 508, 509, 510, 511, 512, 513, 514, 0,
+ 515, 516, 517, 518, 519, 520, 521, 522, 0, 524,
+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 0,
+ 534, 535, 536, 537, 538, 0, 539, 540, 873, 542,
+ 543, 544, 545, 546, 874, 548, 0, 549, 550, 551,
+ 552, 553, 554, 555, 556, 557, 558, 559, 560, 561,
+ 0, 563, 0, 564, 565, 0, 0, 566, 567, 568,
+ 569, 570, 571, 572, 0, 573, 875, 876, 0, 0,
+ 576, 577, 0, 579, 0, 0, 581, 582, 583, 584,
+ 585, 586, 587, 588, 0, 0, 589, 590, 591, 592,
+ 593, 0, 0, 594, 595, 596, 597, 598, 0, 877,
+ 0, 601, 602, 603, 604, 605, 606, 0, 0, 607,
+ 0, 0, 608, 609, 610, 611, 612, 613, 856, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 625,
+ 626, 627, 0, 0, 0, 235, 236, 237, 238, 239,
+ 240, 241, 242, 243, 0, 244, 245, 246, 0, 0,
+ 0, 0, 0, 0, 0, 247, 248, 249, 0, 250,
+ 251, 252, 253, 254, 255, 256, 257, 0, 857, 260,
+ 858, 859, 0, 263, 264, 265, 266, 267, 268, 269,
+ 0, 0, 270, 271, 860, 861, 274, 0, 275, 276,
+ 277, 278, 0, 0, 280, 0, 281, 282, 283, 284,
+ 285, 286, 287, 288, 289, 290, 0, 291, 292, 293,
+ 294, 295, 296, 0, 297, 298, 299, 300, 0, 0,
+ 0, 301, 0, 0, 0, 302, 303, 304, 305, 306,
+ 307, 862, 863, 310, 0, 311, 0, 312, 313, 314,
+ 315, 316, 317, 318, 0, 319, 320, 321, 322, 0,
+ 0, 323, 324, 864, 326, 327, 0, 328, 329, 330,
+ 0, 331, 332, 333, 0, 334, 335, 336, 337, 0,
+ 339, 340, 341, 342, 0, 0, 344, 0, 345, 346,
+ 347, 865, 349, 0, 350, 0, 351, 352, 353, 0,
+ 354, 355, 356, 357, 358, 0, 359, 0, 0, 0,
+ 362, 363, 0, 364, 365, 366, 367, 368, 369, 370,
+ 371, 372, 373, 0, 374, 375, 376, 377, 378, 379,
+ 380, 381, 0, 382, 383, 0, 385, 386, 387, 388,
+ 866, 867, 0, 868, 0, 392, 393, 394, 395, 396,
+ 397, 0, 0, 0, 0, 402, 403, 404, 405, 406,
+ 407, 0, 0, 408, 0, 410, 411, 412, 0, 413,
+ 414, 415, 0, 0, 416, 417, 418, 419, 420, 421,
+ 422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
+ 432, 433, 869, 435, 870, 437, 438, 439, 440, 441,
+ 442, 443, 0, 0, 446, 0, 447, 448, 449, 450,
+ 0, 0, 452, 871, 454, 455, 456, 0, 457, 458,
+ 0, 0, 459, 460, 461, 0, 0, 462, 463, 0,
+ 465, 466, 467, 0, 469, 470, 471, 472, 473, 474,
+ 475, 476, 477, 478, 0, 479, 480, 0, 482, 0,
+ 484, 485, 486, 0, 487, 488, 489, 490, 491, 492,
+ 493, 494, 495, 496, 872, 498, 499, 500, 501, 0,
+ 502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
+ 512, 513, 514, 0, 515, 516, 517, 518, 519, 520,
+ 521, 522, 0, 524, 525, 526, 527, 528, 529, 530,
+ 531, 532, 533, 0, 534, 535, 536, 537, 538, 0,
+ 539, 540, 873, 542, 543, 544, 545, 546, 874, 548,
+ 0, 549, 550, 551, 552, 553, 554, 555, 556, 557,
+ 558, 559, 560, 561, 0, 563, 0, 564, 565, 0,
+ 0, 566, 567, 568, 569, 570, 571, 572, 0, 573,
+ 875, 876, 0, 0, 576, 577, 0, 579, 0, 0,
+ 581, 582, 583, 584, 585, 586, 587, 588, 0, 0,
+ 589, 590, 591, 592, 593, 0, 0, 594, 595, 596,
+ 597, 598, 0, 877, 0, 601, 602, 603, 604, 605,
+ 606, 0, 0, 607, 0, 0, 608, 609, 610, 611,
+ 612, 613, 856, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 625, 626, 627, 0, 0, 0, 235,
+ 236, 237, 238, 239, 240, 241, 242, 243, 0, 244,
+ 245, 246, 0, 0, 0, 0, 0, 0, 0, 247,
+ 248, 249, 0, 250, 251, 252, 253, 254, 255, 256,
+ 257, 0, 857, 260, 858, 859, 0, 263, 264, 265,
+ 266, 267, 268, 269, 0, 0, 270, 271, 860, 861,
+ 274, 0, 275, 276, 277, 278, 0, 0, 280, 0,
+ 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
+ 0, 291, 292, 293, 294, 295, 296, 0, 297, 298,
+ 299, 300, 0, 0, 0, 301, 0, 0, 0, 302,
+ 303, 304, 305, 306, 307, 862, 863, 310, 0, 311,
+ 0, 312, 313, 314, 315, 316, 317, 318, 0, 319,
+ 320, 321, 322, 0, 0, 323, 324, 864, 326, 327,
+ 0, 328, 329, 330, 0, 331, 332, 333, 0, 334,
+ 335, 336, 337, 0, 339, 340, 341, 342, 0, 0,
+ 344, 0, 345, 346, 347, 865, 349, 0, 350, 0,
+ 351, 352, 353, 0, 354, 355, 356, 357, 358, 0,
+ 359, 0, 0, 0, 362, 363, 0, 364, 365, 366,
+ 367, 1130, 369, 370, 371, 372, 373, 0, 374, 375,
+ 376, 377, 378, 379, 380, 381, 0, 382, 383, 0,
+ 385, 386, 387, 388, 866, 867, 0, 868, 0, 392,
+ 393, 394, 395, 396, 397, 0, 0, 0, 0, 402,
+ 403, 404, 405, 406, 407, 0, 0, 408, 0, 410,
+ 411, 412, 0, 413, 414, 415, 0, 0, 416, 417,
+ 418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
+ 428, 429, 430, 431, 432, 433, 869, 435, 870, 437,
+ 438, 439, 440, 441, 442, 443, 0, 0, 446, 0,
+ 447, 448, 449, 450, 0, 0, 452, 871, 454, 455,
+ 456, 0, 457, 458, 0, 0, 459, 460, 461, 0,
+ 0, 462, 463, 0, 465, 466, 467, 0, 469, 470,
+ 471, 472, 473, 474, 475, 476, 477, 478, 0, 479,
+ 480, 0, 482, 0, 484, 485, 486, 0, 487, 488,
+ 489, 490, 491, 492, 493, 494, 495, 496, 872, 498,
+ 499, 500, 501, 0, 502, 503, 504, 505, 506, 507,
+ 508, 509, 510, 511, 512, 513, 514, 0, 515, 516,
+ 517, 518, 519, 520, 521, 522, 0, 524, 525, 526,
+ 527, 528, 529, 530, 531, 532, 533, 0, 534, 535,
+ 536, 537, 538, 0, 539, 540, 873, 542, 543, 544,
+ 545, 546, 874, 548, 0, 549, 550, 551, 552, 553,
+ 554, 555, 556, 557, 558, 559, 560, 561, 0, 563,
+ 0, 564, 565, 0, 0, 566, 567, 568, 569, 570,
+ 571, 572, 0, 573, 875, 876, 0, 0, 576, 577,
+ 0, 579, 0, 0, 581, 582, 583, 584, 585, 586,
+ 587, 588, 0, 0, 589, 590, 591, 592, 593, 0,
+ 0, 594, 595, 596, 597, 598, 0, 877, 0, 601,
+ 602, 603, 604, 605, 606, 0, 0, 607, 0, 0,
+ 608, 609, 610, 611, 612, 613, 856, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 625, 626, 627,
+ 0, 0, 0, 235, 236, 237, 238, 239, 240, 241,
+ 242, 243, 0, 244, 245, 246, 0, 0, 0, 0,
+ 0, 0, 0, 247, 248, 249, 0, 250, 251, 252,
+ 253, 254, 255, 256, 257, 0, 857, 260, 858, 859,
+ 0, 263, 264, 265, 266, 267, 268, 269, 0, 0,
+ 270, 271, 860, 861, 274, 0, 275, 276, 277, 278,
+ 0, 0, 280, 0, 281, 282, 283, 284, 285, 286,
+ 287, 288, 289, 290, 0, 291, 292, 293, 294, 295,
+ 296, 0, 297, 298, 299, 300, 0, 0, 0, 301,
+ 0, 0, 0, 302, 303, 304, 305, 306, 307, 862,
+ 863, 310, 0, 311, 0, 312, 313, 314, 315, 316,
+ 317, 318, 0, 319, 320, 321, 322, 0, 0, 323,
+ 324, 864, 326, 327, 0, 328, 329, 330, 0, 331,
+ 332, 333, 0, 334, 335, 336, 337, 0, 339, 340,
+ 341, 342, 0, 0, 344, 0, 345, 346, 347, 865,
+ 349, 0, 350, 0, 351, 352, 353, 0, 354, 355,
+ 356, 357, 358, 0, 359, 0, 0, 0, 362, 363,
+ 0, 364, 365, 366, 367, 1162, 369, 370, 371, 372,
+ 373, 0, 374, 375, 376, 377, 378, 379, 380, 381,
+ 0, 382, 383, 0, 385, 386, 387, 388, 866, 867,
+ 0, 868, 0, 392, 393, 394, 395, 396, 397, 0,
+ 0, 0, 0, 402, 403, 404, 405, 406, 407, 0,
+ 0, 408, 0, 410, 411, 412, 0, 413, 414, 415,
+ 0, 0, 416, 417, 418, 419, 420, 421, 422, 423,
+ 424, 425, 426, 427, 428, 429, 430, 431, 432, 433,
+ 869, 435, 870, 437, 438, 439, 440, 441, 442, 443,
+ 0, 0, 446, 0, 447, 448, 449, 450, 0, 0,
+ 452, 871, 454, 455, 456, 0, 457, 458, 0, 0,
+ 459, 460, 461, 0, 0, 462, 463, 0, 465, 466,
+ 467, 0, 469, 470, 471, 472, 473, 474, 475, 476,
+ 477, 478, 0, 479, 480, 0, 482, 0, 484, 485,
+ 486, 0, 487, 488, 489, 490, 491, 492, 493, 494,
+ 495, 496, 872, 498, 499, 500, 501, 0, 502, 503,
+ 504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
+ 514, 0, 515, 516, 517, 518, 519, 520, 521, 522,
+ 0, 524, 525, 526, 527, 528, 529, 530, 531, 532,
+ 533, 0, 534, 535, 536, 537, 538, 0, 539, 540,
+ 873, 542, 543, 544, 545, 546, 874, 548, 0, 549,
+ 550, 551, 552, 553, 554, 555, 556, 557, 558, 559,
+ 560, 561, 0, 563, 0, 564, 565, 0, 0, 566,
+ 567, 568, 569, 570, 571, 572, 0, 573, 875, 876,
+ 0, 0, 576, 577, 0, 579, 0, 0, 581, 582,
+ 583, 584, 585, 586, 587, 588, 0, 0, 589, 590,
+ 591, 592, 593, 0, 0, 594, 595, 596, 597, 598,
+ 0, 877, 0, 601, 602, 603, 604, 605, 606, 0,
+ 0, 607, 0, 0, 608, 609, 610, 611, 612, 613,
+ 856, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 625, 626, 627, 0, 0, 0, 235, 236, 237,
+ 238, 239, 240, 241, 242, 243, 0, 244, 245, 246,
+ 0, 0, 0, 0, 0, 0, 0, 247, 248, 249,
+ 0, 250, 251, 252, 253, 254, 255, 256, 257, 0,
+ 857, 260, 858, 859, 0, 263, 264, 265, 266, 267,
+ 268, 269, 0, 0, 270, 271, 860, 861, 274, 0,
+ 275, 276, 277, 278, 0, 0, 280, 0, 281, 282,
+ 283, 284, 285, 286, 287, 288, 289, 290, 0, 291,
+ 292, 293, 294, 295, 296, 0, 297, 298, 299, 300,
+ 0, 0, 0, 301, 0, 0, 0, 302, 303, 304,
+ 305, 306, 307, 862, 863, 310, 0, 311, 0, 312,
+ 313, 314, 315, 316, 317, 318, 0, 319, 320, 321,
+ 322, 0, 0, 323, 324, 864, 326, 327, 0, 328,
+ 329, 330, 0, 331, 332, 333, 0, 334, 335, 336,
+ 337, 0, 339, 340, 341, 342, 0, 0, 344, 0,
+ 345, 346, 347, 865, 349, 0, 350, 0, 351, 352,
+ 353, 0, 354, 355, 356, 357, 358, 0, 359, 0,
+ 0, 0, 362, 363, 0, 364, 365, 366, 367, 368,
+ 369, 370, 371, 372, 373, 0, 374, 375, 376, 377,
+ 378, 379, 380, 381, 0, 382, 383, 0, 385, 386,
+ 387, 388, 866, 867, 0, 868, 0, 392, 393, 394,
+ 395, 396, 397, 0, 0, 0, 0, 402, 403, 404,
+ 405, 406, 407, 0, 0, 408, 0, 410, 411, 412,
+ 0, 413, 414, 415, 0, 0, 416, 417, 418, 419,
+ 420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
+ 430, 431, 432, 433, 869, 435, 870, 437, 438, 439,
+ 440, 441, 442, 443, 0, 0, 446, 0, 447, 448,
+ 449, 450, 0, 0, 452, 871, 454, 455, 456, 0,
+ 457, 458, 0, 0, 459, 460, 461, 0, 0, 462,
+ 463, 0, 465, 466, 467, 0, 469, 470, 471, 472,
+ 473, 474, 475, 476, 477, 478, 0, 479, 480, 0,
+ 482, 0, 484, 485, 486, 0, 487, 488, 489, 490,
+ 491, 492, 493, 494, 495, 496, 872, 498, 499, 500,
+ 501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
+ 510, 511, 512, 513, 514, 0, 515, 516, 517, 518,
+ 519, 520, 521, 522, 0, 524, 525, 526, 527, 528,
+ 529, 530, 531, 532, 533, 0, 534, 535, 536, 537,
+ 538, 0, 539, 540, 2670, 542, 543, 544, 545, 546,
+ 874, 548, 0, 549, 550, 551, 552, 553, 554, 555,
+ 556, 557, 558, 559, 560, 561, 0, 563, 0, 564,
+ 565, 0, 0, 566, 567, 568, 569, 570, 571, 572,
+ 0, 573, 875, 876, 0, 0, 576, 577, 0, 579,
+ 0, 0, 581, 582, 583, 584, 585, 586, 587, 588,
+ 0, 0, 589, 590, 591, 592, 593, 0, 0, 594,
+ 595, 596, 597, 598, 0, 877, 0, 601, 602, 603,
+ 604, 605, 606, 0, 0, 607, 0, 0, 608, 609,
+ 610, 611, 612, 613, 856, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 625, 626, 627, 0, 0,
+ 0, 235, 236, 237, 238, 239, 240, 241, 242, 243,
+ 0, 244, 245, 246, 0, 0, 0, 0, 0, 0,
+ 0, 247, 248, 249, 0, 250, 251, 252, 253, 254,
+ 255, 256, 257, 0, 857, 260, 858, 859, 0, 263,
+ 264, 265, 266, 267, 268, 269, 0, 0, 270, 271,
+ 860, 861, 274, 0, 275, 276, 277, 278, 0, 0,
+ 280, 0, 281, 282, 283, 284, 285, 286, 287, 288,
+ 289, 290, 0, 291, 292, 293, 294, 295, 296, 0,
+ 297, 298, 299, 300, 0, 0, 0, 301, 0, 0,
+ 0, 302, 303, 304, 305, 306, 307, 862, 863, 310,
+ 0, 311, 0, 312, 313, 314, 315, 316, 317, 318,
+ 0, 319, 320, 321, 322, 0, 0, 323, 324, 864,
+ 326, 327, 0, 328, 329, 330, 0, 331, 332, 333,
+ 0, 334, 335, 336, 337, 0, 339, 340, 341, 342,
+ 0, 0, 344, 0, 345, 346, 347, 865, 349, 0,
+ 350, 0, 351, 352, 353, 0, 354, 355, 356, 357,
+ 358, 0, 359, 0, 0, 0, 362, 363, 0, 364,
+ 365, 366, 367, 368, 369, 370, 371, 372, 373, 0,
+ 374, 375, 376, 377, 378, 379, 380, 381, 0, 382,
+ 383, 0, 385, 386, 387, 388, 866, 867, 0, 868,
+ 0, 392, 393, 394, 395, 396, 397, 0, 0, 0,
+ 0, 402, 403, 404, 405, 406, 407, 0, 0, 408,
+ 0, 410, 411, 412, 0, 413, 414, 415, 0, 0,
+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
+ 426, 427, 428, 429, 430, 431, 432, 433, 869, 435,
+ 870, 437, 438, 439, 440, 441, 442, 443, 0, 0,
+ 446, 0, 447, 448, 449, 450, 0, 0, 452, 871,
+ 454, 455, 456, 0, 457, 458, 0, 0, 459, 460,
+ 461, 0, 0, 462, 463, 0, 465, 466, 467, 0,
+ 469, 470, 471, 472, 473, 474, 475, 476, 477, 478,
+ 0, 479, 480, 0, 482, 0, 484, 485, 486, 0,
+ 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
+ 872, 498, 499, 500, 501, 0, 502, 503, 504, 505,
+ 506, 507, 508, 509, 510, 511, 512, 513, 514, 0,
+ 515, 516, 517, 518, 519, 520, 521, 522, 0, 524,
+ 525, 526, 527, 528, 529, 530, 531, 532, 533, 0,
+ 534, 535, 536, 537, 538, 0, 539, 540, 0, 542,
+ 543, 544, 545, 546, 874, 548, 0, 549, 550, 551,
+ 552, 553, 554, 555, 556, 557, 558, 559, 560, 561,
+ 0, 563, 0, 564, 565, 0, 0, 566, 567, 568,
+ 569, 570, 571, 572, 0, 573, 875, 876, 0, 0,
+ 576, 577, 0, 579, 0, 0, 581, 582, 583, 584,
+ 585, 586, 587, 588, 0, 0, 589, 590, 591, 592,
+ 593, 0, 0, 594, 595, 596, 597, 598, 0, 877,
+ 0, 601, 602, 603, 604, 605, 606, 0, 0, 607,
+ 0, 0, 608, 609, 610, 611, 612, 613, 856, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 625,
+ 626, 627, 0, 0, 0, 235, 236, 237, 238, 239,
+ 240, 241, 242, 243, 0, 244, 245, 246, 0, 0,
+ 0, 0, 0, 0, 0, 247, 248, 249, 0, 250,
+ 251, 252, 253, 254, 255, 256, 257, 0, 0, 260,
+ 0, 0, 0, 263, 264, 265, 266, 267, 268, 269,
+ 0, 0, 270, 271, 0, 0, 274, 0, 275, 276,
+ 277, 278, 0, 0, 280, 0, 281, 282, 283, 284,
+ 285, 286, 287, 288, 289, 290, 0, 291, 292, 293,
+ 294, 295, 296, 0, 297, 298, 299, 300, 0, 0,
+ 0, 301, 0, 0, 0, 302, 303, 304, 305, 306,
+ 307, 0, 0, 310, 0, 311, 0, 312, 313, 314,
+ 315, 316, 317, 318, 0, 319, 320, 321, 322, 0,
+ 0, 323, 324, 325, 326, 327, 0, 328, 329, 330,
+ 0, 331, 332, 333, 0, 334, 335, 336, 337, 0,
+ 339, 340, 341, 342, 0, 0, 344, 0, 345, 346,
+ 347, 0, 349, 0, 350, 0, 351, 352, 353, 0,
+ 354, 355, 356, 357, 358, 0, 359, 0, 0, 0,
+ 362, 363, 0, 364, 365, 366, 367, 368, 369, 370,
+ 371, 372, 373, 0, 374, 375, 376, 377, 378, 379,
+ 380, 381, 0, 382, 383, 0, 385, 386, 387, 388,
+ 0, 0, 0, 0, 0, 392, 393, 394, 395, 396,
+ 397, 0, 0, 0, 0, 402, 403, 404, 405, 406,
+ 407, 0, 0, 408, 0, 410, 411, 412, 0, 413,
+ 414, 415, 0, 0, 416, 417, 418, 419, 420, 421,
+ 422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
+ 432, 433, 0, 435, 0, 437, 438, 439, 440, 441,
+ 442, 443, 0, 0, 446, 0, 447, 448, 449, 450,
+ 0, 0, 452, 0, 454, 455, 456, 0, 457, 458,
+ 0, 0, 459, 460, 461, 0, 0, 462, 463, 0,
+ 465, 466, 467, 0, 469, 470, 471, 472, 473, 474,
+ 475, 476, 477, 478, 0, 479, 480, 0, 482, 0,
+ 484, 485, 486, 0, 487, 488, 489, 490, 491, 492,
+ 493, 494, 495, 496, 0, 498, 499, 500, 501, 0,
+ 502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
+ 512, 513, 514, 0, 515, 516, 517, 518, 519, 520,
+ 521, 522, 0, 524, 525, 526, 527, 528, 529, 530,
+ 531, 532, 533, 0, 534, 535, 536, 537, 538, 0,
+ 539, 540, 0, 542, 543, 544, 545, 546, 0, 548,
+ 0, 549, 550, 551, 552, 553, 554, 555, 556, 557,
+ 558, 559, 560, 561, 0, 563, 0, 564, 565, 0,
+ 0, 566, 567, 568, 569, 570, 571, 572, 0, 573,
+ 0, 0, 0, 0, 576, 577, 0, 579, 0, 0,
+ 581, 582, 583, 584, 585, 586, 587, 588, 0, 0,
+ 589, 590, 591, 592, 593, 0, 0, 594, 595, 596,
+ 597, 598, 0, 0, 0, 601, 602, 603, 604, 605,
+ 606, 0, 0, 607, 0, 0, 608, 609, 610, 611,
+ 612, 613, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 625, 626, 627
+};
+
+static const yytype_int16 yycheck[] =
+{
+ 6, 0, 6, 0, 0, 0, 0, 0, 0, 0,
+ 0, 56, 0, 0, 0, 0, 0, 211, 206, 0,
+ 1203, 0, 0, 0, 21, 1025, 214, 21, 0, 217,
+ 211, 1016, 663, 988, 36, 917, 1142, 820, 45, 189,
+ 817, 873, 22, 1562, 2710, 51, 1005, 8, 28, 1627,
+ 776, 777, 778, 911, 15, 913, 782, 1500, 989, 844,
+ 2009, 642, 1014, 891, 1546, 197, 862, 863, 2652, 1020,
+ 1539, 1472, 1551, 2653, 1237, 871, 718, 1091, 3350, 1867,
+ 3352, 3067, 1250, 3002, 810, 695, 827, 876, 740, 3864,
+ 732, 1222, 843, 1695, 216, 1226, 44, 3643, 1229, 1230,
+ 3177, 929, 3563, 1546, 2674, 2675, 1065, 3442, 230, 1998,
+ 1069, 2034, 3029, 23, 695, 1074, 3837, 3536, 1592, 1593,
+ 2017, 2921, 1596, 4176, 3014, 1084, 36, 3886, 954, 3589,
+ 3789, 3591, 2033, 4492, 4223, 644, 3401, 3452, 1539, 1098,
+ 2067, 4219, 191, 1662, 1663, 175, 4720, 1018, 3395, 1529,
+ 2, 1939, 1429, 979, 4460, 2032, 716, 3853, 984, 719,
+ 2899, 742, 741, 988, 4498, 1880, 4515, 4503, 5198, 5326,
+ 1129, 955, 997, 35, 731, 3416, 5220, 1656, 736, 191,
+ 42, 4301, 1007, 50, 2532, 4736, 4982, 4738, 2536, 940,
+ 2639, 197, 41, 2569, 3219, 5031, 4502, 2637, 3462, 5026,
+ 206, 207, 4785, 3450, 1683, 4198, 5362, 3851, 214, 1589,
+ 216, 217, 914, 823, 795, 3304, 3400, 938, 3402, 914,
+ 2967, 5374, 2969, 2970, 230, 5039, 1606, 2974, 2975, 2976,
+ 0, 2978, 2979, 2980, 5030, 6, 5240, 1080, 0, 0,
+ 2616, 1025, 823, 1512, 5608, 21, 860, 861, 11, 6,
+ 6, 78, 0, 1096, 2043, 4660, 870, 0, 979, 38,
+ 54, 63, 6, 984, 13, 119, 25, 848, 11, 94,
+ 6, 3010, 5290, 5291, 63, 6, 6, 225, 1029, 5283,
+ 32, 119, 47, 146, 15, 16, 29, 47, 5592, 2004,
+ 6, 29, 6, 6, 63, 174, 5323, 25, 6, 15,
+ 16, 15, 16, 0, 121, 6, 6, 6, 198, 168,
+ 21, 32, 37, 6, 11, 6, 6, 6, 91, 102,
+ 112, 63, 80, 141, 153, 80, 3, 908, 5, 6,
+ 13, 63, 29, 1059, 11, 174, 91, 4593, 4594, 4595,
+ 174, 4597, 4598, 4599, 4600, 4601, 114, 5, 35, 181,
+ 3538, 186, 6, 11, 126, 15, 3, 5862, 112, 6,
+ 5, 152, 45, 119, 152, 1593, 11, 43, 1596, 0,
+ 13, 5315, 1846, 276, 68, 290, 190, 63, 176, 11,
+ 139, 5830, 168, 316, 63, 63, 124, 330, 316, 290,
+ 21, 175, 260, 30, 427, 78, 4516, 112, 284, 176,
+ 183, 316, 45, 335, 174, 174, 223, 51, 342, 296,
+ 1492, 139, 174, 174, 85, 316, 80, 5244, 174, 165,
+ 39, 1373, 190, 149, 63, 56, 174, 1441, 198, 1081,
+ 29, 174, 5796, 13, 1385, 78, 198, 198, 362, 162,
+ 367, 276, 119, 2857, 1025, 379, 260, 13, 354, 413,
+ 198, 93, 427, 43, 5610, 198, 176, 355, 23, 80,
+ 372, 4820, 295, 280, 299, 45, 170, 114, 13, 663,
+ 91, 309, 1268, 1269, 337, 213, 511, 174, 174, 385,
+ 515, 415, 1433, 5787, 517, 80, 450, 385, 191, 401,
+ 210, 6, 260, 276, 136, 263, 197, 1293, 78, 297,
+ 45, 198, 198, 5507, 29, 206, 392, 1149, 376, 285,
+ 129, 36, 1131, 214, 91, 1304, 217, 243, 1137, 713,
+ 243, 338, 449, 2937, 1451, 271, 450, 5363, 1147, 463,
+ 355, 315, 1151, 78, 174, 134, 1155, 175, 1157, 661,
+ 29, 218, 517, 190, 1163, 667, 174, 36, 174, 174,
+ 1169, 174, 311, 1172, 356, 332, 80, 679, 1429, 13,
+ 191, 276, 376, 181, 289, 37, 352, 356, 1210, 246,
+ 513, 29, 121, 1324, 285, 5939, 112, 214, 36, 1221,
+ 513, 513, 276, 470, 80, 513, 489, 1371, 427, 23,
+ 1541, 350, 1376, 1377, 51, 91, 1238, 388, 513, 80,
+ 388, 353, 1353, 372, 1183, 80, 404, 391, 376, 6058,
+ 3798, 5555, 513, 260, 356, 367, 263, 369, 1846, 457,
+ 455, 6126, 112, 415, 356, 124, 385, 517, 382, 181,
+ 174, 285, 353, 1243, 1430, 5186, 642, 466, 517, 5795,
+ 378, 424, 4301, 1257, 1258, 29, 371, 119, 466, 503,
+ 513, 648, 648, 648, 513, 661, 648, 385, 648, 432,
+ 648, 667, 1243, 1622, 6028, 23, 1625, 427, 4327, 427,
+ 356, 427, 427, 679, 1288, 513, 5703, 356, 356, 451,
+ 432, 5708, 5709, 517, 511, 517, 181, 252, 515, 695,
+ 1515, 456, 517, 462, 700, 454, 456, 742, 10, 705,
+ 517, 13, 1633, 709, 710, 17, 18, 19, 1693, 1694,
+ 716, 449, 718, 719, 5732, 517, 746, 356, 152, 513,
+ 488, 449, 6026, 494, 495, 731, 732, 5132, 517, 376,
+ 460, 456, 6096, 1517, 513, 411, 742, 494, 495, 1691,
+ 427, 517, 513, 1527, 741, 2014, 516, 503, 1830, 512,
+ 4471, 1577, 1577, 1596, 516, 516, 513, 1459, 1368, 515,
+ 509, 504, 505, 427, 1459, 4226, 5602, 917, 516, 513,
+ 441, 4764, 6136, 516, 5930, 517, 756, 513, 758, 5606,
+ 760, 1613, 513, 513, 1967, 517, 766, 1368, 4334, 795,
+ 5943, 4512, 1406, 1407, 4340, 1376, 1377, 513, 511, 513,
+ 513, 5958, 515, 1646, 1647, 513, 517, 504, 505, 770,
+ 513, 817, 818, 513, 513, 4511, 1537, 823, 1700, 516,
+ 513, 411, 513, 513, 513, 470, 509, 504, 505, 301,
+ 1614, 517, 427, 1617, 1618, 1941, 1394, 5093, 517, 517,
+ 788, 488, 848, 503, 850, 1039, 504, 505, 1036, 494,
+ 427, 511, 1040, 418, 1042, 515, 905, 4516, 1039, 504,
+ 505, 504, 505, 506, 507, 508, 509, 873, 1974, 1590,
+ 395, 5875, 504, 505, 6030, 513, 4141, 517, 517, 415,
+ 1986, 25, 447, 427, 5888, 513, 1607, 402, 403, 895,
+ 513, 517, 517, 905, 252, 3465, 844, 3467, 1030, 517,
+ 357, 5484, 908, 427, 453, 4152, 395, 472, 907, 4156,
+ 907, 907, 907, 907, 907, 907, 907, 907, 4562, 907,
+ 907, 907, 907, 907, 850, 415, 907, 4016, 907, 907,
+ 907, 427, 931, 367, 3824, 907, 320, 395, 219, 6095,
+ 506, 507, 508, 509, 3683, 3684, 427, 4211, 513, 3688,
+ 449, 23, 427, 1584, 388, 5791, 4140, 1828, 4142, 503,
+ 4421, 506, 507, 508, 509, 517, 295, 3992, 63, 203,
+ 168, 515, 821, 3422, 922, 470, 825, 91, 5774, 21,
+ 5794, 3421, 124, 124, 851, 297, 6, 5346, 3364, 937,
+ 6034, 6035, 301, 135, 5790, 139, 380, 174, 6002, 700,
+ 296, 4420, 119, 1512, 1847, 119, 76, 281, 709, 296,
+ 1016, 1017, 1018, 6170, 372, 716, 42, 648, 719, 1025,
+ 3767, 385, 517, 6, 1030, 149, 1810, 23, 6, 1035,
+ 1036, 503, 124, 6, 1040, 419, 1042, 421, 287, 511,
+ 1046, 513, 514, 515, 124, 517, 386, 5353, 2033, 296,
+ 504, 505, 506, 507, 508, 509, 1062, 111, 175, 350,
+ 418, 705, 124, 3, 72, 2016, 10, 124, 52, 13,
+ 3, 72, 213, 17, 18, 19, 311, 139, 311, 385,
+ 21, 207, 3821, 91, 174, 467, 4327, 731, 6, 447,
+ 216, 167, 63, 217, 6138, 5931, 114, 23, 186, 350,
+ 1106, 23, 1108, 1109, 230, 3453, 2033, 2034, 198, 113,
+ 741, 742, 186, 2064, 472, 350, 2043, 258, 5669, 160,
+ 119, 213, 28, 23, 429, 2052, 5940, 5216, 4547, 6159,
+ 415, 993, 994, 213, 385, 517, 427, 5257, 10, 301,
+ 295, 13, 150, 1149, 87, 17, 18, 19, 4483, 150,
+ 1876, 10, 385, 517, 183, 513, 213, 90, 17, 18,
+ 19, 290, 170, 35, 281, 134, 280, 311, 473, 170,
+ 196, 1177, 190, 513, 470, 449, 25, 301, 6208, 119,
+ 252, 415, 31, 470, 513, 91, 1183, 316, 276, 501,
+ 502, 503, 504, 505, 506, 507, 508, 509, 276, 203,
+ 1983, 1984, 451, 257, 1210, 88, 350, 261, 517, 193,
+ 143, 517, 1793, 1219, 198, 1221, 119, 513, 25, 3789,
+ 2091, 164, 6036, 293, 31, 1186, 290, 1188, 475, 1190,
+ 5589, 1192, 1238, 1194, 1195, 1196, 517, 1243, 5574, 5598,
+ 1201, 385, 260, 285, 23, 263, 23, 323, 131, 1255,
+ 427, 1177, 316, 5028, 198, 233, 252, 298, 242, 23,
+ 23, 356, 1114, 325, 2743, 285, 5600, 5573, 5604, 1911,
+ 176, 5620, 470, 2674, 905, 2610, 907, 221, 1323, 10,
+ 6094, 280, 13, 1925, 1290, 88, 17, 18, 19, 5648,
+ 139, 6105, 2774, 5052, 5015, 1914, 1938, 5603, 3013, 25,
+ 372, 3, 285, 1922, 35, 276, 4223, 449, 449, 3879,
+ 2061, 280, 285, 1319, 1320, 1321, 249, 1323, 4779, 443,
+ 328, 378, 310, 6137, 298, 5021, 252, 328, 131, 1030,
+ 252, 2608, 139, 362, 451, 1036, 646, 1343, 301, 1040,
+ 280, 1042, 2821, 435, 285, 285, 418, 1904, 1908, 221,
+ 6164, 25, 252, 297, 2956, 517, 511, 449, 376, 1389,
+ 515, 309, 1368, 1923, 343, 5491, 1926, 455, 372, 449,
+ 1376, 1377, 1951, 372, 6188, 447, 372, 455, 311, 1936,
+ 470, 455, 285, 2763, 513, 356, 1944, 342, 90, 48,
+ 1584, 1035, 449, 434, 1400, 1444, 1445, 1323, 1447, 5973,
+ 472, 162, 1046, 296, 5482, 1106, 390, 1108, 1109, 413,
+ 2041, 415, 71, 139, 385, 1973, 1976, 5776, 1062, 1977,
+ 1980, 1981, 418, 1429, 1982, 297, 332, 1985, 738, 3356,
+ 186, 314, 1444, 1445, 27, 1447, 444, 5254, 297, 385,
+ 1446, 513, 144, 444, 1450, 1451, 372, 4762, 176, 513,
+ 372, 447, 123, 29, 3243, 3244, 4721, 50, 121, 3248,
+ 1466, 179, 311, 369, 372, 139, 1472, 25, 3046, 25,
+ 488, 88, 372, 252, 1400, 252, 472, 456, 4725, 513,
+ 153, 5298, 243, 4730, 132, 418, 4733, 420, 252, 252,
+ 221, 153, 418, 123, 142, 513, 418, 372, 121, 3288,
+ 3289, 350, 812, 205, 311, 2014, 119, 83, 463, 457,
+ 86, 314, 179, 1461, 131, 1463, 92, 513, 418, 4979,
+ 276, 447, 310, 256, 430, 447, 432, 185, 246, 385,
+ 436, 292, 276, 1539, 90, 661, 385, 420, 256, 513,
+ 1466, 667, 4528, 350, 120, 13, 472, 447, 2533, 220,
+ 472, 514, 1183, 679, 517, 311, 40, 501, 502, 503,
+ 504, 505, 506, 507, 508, 509, 297, 4484, 5927, 297,
+ 54, 517, 472, 5950, 1580, 1219, 132, 470, 385, 246,
+ 5706, 139, 232, 139, 2535, 311, 142, 513, 35, 5364,
+ 220, 513, 367, 372, 350, 372, 3065, 385, 5257, 1598,
+ 223, 38, 178, 5692, 1603, 513, 350, 1613, 372, 372,
+ 78, 198, 5544, 513, 5546, 191, 318, 420, 5550, 5551,
+ 1251, 214, 285, 60, 350, 299, 110, 230, 204, 501,
+ 502, 503, 504, 505, 506, 507, 508, 509, 513, 418,
+ 1271, 418, 501, 502, 503, 504, 505, 506, 507, 508,
+ 509, 385, 5705, 29, 418, 418, 5352, 280, 121, 385,
+ 3061, 517, 4409, 311, 3065, 6024, 6043, 4414, 447, 5950,
+ 447, 177, 1678, 276, 111, 342, 429, 230, 1677, 337,
+ 354, 355, 1681, 447, 447, 311, 310, 1693, 1694, 1695,
+ 513, 4491, 1323, 472, 3029, 472, 309, 314, 2698, 455,
+ 2627, 419, 350, 421, 1652, 378, 153, 121, 472, 472,
+ 368, 385, 758, 759, 760, 338, 378, 763, 764, 765,
+ 177, 1909, 64, 276, 350, 1919, 1920, 773, 212, 447,
+ 72, 4301, 6091, 385, 513, 338, 513, 2608, 513, 1920,
+ 442, 202, 415, 419, 0, 421, 4485, 111, 450, 513,
+ 513, 453, 419, 415, 421, 311, 367, 4327, 134, 385,
+ 223, 385, 6043, 350, 201, 378, 1898, 354, 6145, 354,
+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 168,
+ 447, 4447, 327, 517, 457, 388, 98, 1793, 310, 58,
+ 346, 180, 276, 207, 350, 457, 463, 470, 385, 1805,
+ 385, 4718, 415, 420, 415, 169, 119, 72, 470, 198,
+ 1816, 6121, 301, 1444, 1445, 276, 1447, 280, 5871, 742,
+ 257, 494, 1828, 352, 261, 401, 1832, 333, 404, 385,
+ 5936, 5937, 494, 135, 5609, 388, 392, 327, 2670, 276,
+ 513, 205, 461, 156, 457, 1851, 449, 2041, 4822, 122,
+ 427, 513, 122, 1859, 119, 4829, 3, 470, 35, 128,
+ 366, 1867, 276, 385, 6145, 517, 280, 2650, 180, 149,
+ 5591, 6181, 795, 310, 380, 338, 4010, 4011, 191, 26,
+ 1886, 494, 162, 470, 429, 5817, 375, 513, 168, 1895,
+ 374, 165, 1898, 257, 513, 1901, 449, 261, 1904, 1905,
+ 513, 122, 1908, 1909, 246, 1911, 1912, 494, 378, 366,
+ 416, 213, 2867, 178, 2698, 299, 373, 1923, 355, 1925,
+ 1926, 194, 5618, 380, 194, 848, 503, 311, 473, 1935,
+ 1936, 394, 1938, 1939, 2805, 5182, 1580, 217, 515, 429,
+ 119, 470, 379, 90, 10, 415, 4516, 13, 2773, 2568,
+ 6039, 17, 18, 19, 1951, 350, 134, 4091, 136, 416,
+ 2831, 235, 399, 243, 503, 494, 350, 280, 369, 35,
+ 1976, 360, 5391, 194, 1980, 1981, 515, 280, 461, 311,
+ 516, 438, 285, 473, 3090, 908, 2031, 457, 517, 168,
+ 385, 6097, 1953, 451, 1955, 3944, 1957, 144, 1959, 169,
+ 1961, 1998, 1998, 1998, 1965, 2007, 1998, 5084, 1998, 2015,
+ 1998, 2017, 292, 3962, 5789, 280, 2022, 2023, 350, 369,
+ 285, 301, 354, 2029, 2030, 2031, 2032, 2033, 2034, 2035,
+ 513, 432, 2038, 336, 2040, 205, 2042, 2043, 2044, 2045,
+ 2046, 2047, 2867, 513, 2050, 1993, 2052, 2053, 5807, 330,
+ 2056, 198, 6141, 385, 91, 513, 98, 3392, 205, 2930,
+ 3395, 3462, 4981, 328, 2070, 2071, 2072, 2073, 2950, 2951,
+ 2952, 3472, 367, 470, 2917, 517, 118, 514, 462, 344,
+ 2905, 3978, 432, 2089, 3553, 2091, 4009, 2871, 5005, 2015,
+ 3668, 2017, 5788, 3994, 2920, 2879, 2847, 2023, 2882, 4000,
+ 2010, 5020, 280, 2029, 2030, 400, 451, 3442, 3276, 2035,
+ 5000, 153, 5572, 5385, 2939, 3450, 342, 2698, 2044, 2845,
+ 517, 2847, 3999, 3082, 2050, 2996, 4003, 4004, 121, 2771,
+ 289, 151, 3920, 5210, 1598, 5212, 281, 282, 1184, 1603,
+ 470, 1187, 179, 1189, 3746, 1191, 514, 1193, 1590, 517,
+ 3752, 1197, 3553, 379, 162, 221, 255, 5932, 25, 470,
+ 168, 1805, 5623, 443, 31, 1607, 203, 3641, 513, 175,
+ 5, 318, 1816, 311, 32, 168, 11, 162, 432, 444,
+ 200, 280, 375, 168, 19, 311, 3, 517, 1832, 415,
+ 3033, 3034, 3035, 3036, 1895, 3038, 4943, 1898, 4945, 4946,
+ 4947, 59, 37, 209, 33, 34, 517, 1908, 1909, 246,
+ 463, 3690, 350, 1677, 207, 362, 1849, 1681, 224, 233,
+ 3063, 367, 1923, 369, 350, 1926, 5645, 2233, 311, 309,
+ 4969, 297, 4971, 378, 240, 243, 1869, 463, 4027, 4028,
+ 4029, 4030, 1886, 4132, 4033, 4034, 4035, 4036, 4037, 4038,
+ 4039, 4040, 4041, 4042, 6029, 311, 3735, 1901, 243, 385,
+ 1904, 1905, 5597, 300, 513, 412, 311, 350, 514, 98,
+ 415, 517, 139, 90, 2280, 1976, 311, 149, 983, 1980,
+ 1981, 5553, 3153, 276, 292, 5202, 432, 280, 3456, 118,
+ 162, 1935, 1936, 259, 350, 442, 168, 1002, 378, 5216,
+ 1005, 346, 385, 450, 346, 350, 453, 292, 470, 513,
+ 4099, 4100, 457, 432, 378, 350, 3243, 3244, 470, 6040,
+ 1951, 3248, 5868, 168, 153, 470, 143, 2333, 514, 385,
+ 3056, 517, 494, 149, 168, 415, 378, 2895, 256, 2897,
+ 385, 3860, 494, 2901, 338, 217, 162, 192, 470, 494,
+ 385, 415, 168, 27, 256, 361, 3140, 351, 192, 168,
+ 5, 3288, 3289, 3015, 470, 517, 11, 1998, 513, 256,
+ 270, 243, 494, 415, 99, 427, 50, 457, 280, 494,
+ 495, 80, 419, 192, 421, 494, 495, 381, 494, 375,
+ 470, 513, 91, 457, 294, 432, 3267, 352, 513, 451,
+ 2031, 217, 3273, 5509, 513, 5, 470, 444, 5514, 5515,
+ 447, 11, 5873, 5874, 494, 457, 508, 508, 2049, 5691,
+ 292, 513, 513, 515, 515, 72, 2070, 243, 470, 301,
+ 494, 78, 249, 513, 95, 501, 502, 503, 504, 505,
+ 506, 507, 508, 509, 91, 419, 6167, 421, 5, 513,
+ 175, 6196, 494, 6198, 11, 22, 203, 5374, 512, 512,
+ 3079, 28, 259, 517, 517, 3084, 3217, 3086, 149, 3351,
+ 295, 513, 119, 6218, 121, 300, 292, 3096, 69, 70,
+ 3099, 162, 3101, 3102, 209, 301, 3105, 168, 295, 192,
+ 3109, 506, 3111, 300, 311, 3114, 511, 979, 513, 224,
+ 515, 513, 984, 515, 2510, 2511, 2512, 2513, 2514, 2515,
+ 2516, 2517, 2518, 514, 2520, 240, 517, 346, 514, 282,
+ 5437, 517, 511, 506, 513, 2531, 515, 2533, 511, 346,
+ 513, 178, 515, 350, 5995, 514, 217, 354, 517, 3256,
+ 2734, 3258, 3259, 268, 511, 2733, 513, 2735, 2736, 378,
+ 432, 514, 1678, 2734, 517, 514, 5303, 463, 517, 3178,
+ 207, 87, 243, 514, 3695, 2571, 517, 59, 385, 2575,
+ 295, 443, 2578, 3357, 2580, 514, 2570, 2583, 517, 3137,
+ 514, 2587, 10, 517, 375, 13, 415, 3376, 3377, 17,
+ 18, 19, 514, 514, 99, 517, 517, 514, 2730, 513,
+ 517, 418, 2608, 420, 2610, 149, 2610, 2238, 3539, 514,
+ 38, 292, 517, 3354, 2054, 378, 514, 2057, 162, 517,
+ 301, 2627, 6083, 513, 168, 515, 4575, 443, 457, 233,
+ 2636, 2637, 461, 280, 3565, 3463, 361, 514, 285, 5625,
+ 517, 470, 4591, 272, 273, 274, 275, 470, 2770, 472,
+ 4439, 514, 415, 470, 517, 514, 3407, 2663, 517, 514,
+ 2655, 2587, 517, 461, 2670, 494, 3849, 99, 2674, 2675,
+ 175, 514, 11, 217, 517, 2681, 470, 3473, 472, 2685,
+ 3311, 328, 514, 2689, 513, 517, 514, 5257, 514, 517,
+ 54, 517, 2698, 3644, 457, 4273, 413, 344, 2700, 243,
+ 2702, 15, 16, 514, 209, 4493, 517, 470, 514, 514,
+ 2716, 517, 517, 2719, 513, 3540, 4617, 5989, 514, 224,
+ 513, 517, 4623, 4624, 2730, 1851, 2732, 2733, 372, 2735,
+ 2736, 494, 2738, 1859, 2856, 240, 100, 514, 517, 514,
+ 517, 1867, 517, 175, 2750, 295, 514, 5486, 292, 517,
+ 513, 514, 4271, 516, 4273, 5494, 5495, 301, 2601, 2602,
+ 2603, 125, 443, 268, 2770, 2771, 514, 59, 514, 517,
+ 4249, 517, 470, 2779, 472, 5692, 3357, 209, 419, 143,
+ 421, 4263, 514, 147, 514, 517, 1912, 517, 48, 5866,
+ 295, 3616, 224, 221, 2742, 2801, 2802, 444, 3961, 2805,
+ 514, 514, 490, 517, 517, 169, 463, 5377, 240, 173,
+ 4211, 223, 514, 1939, 2936, 517, 3830, 4152, 419, 514,
+ 421, 4156, 517, 2829, 188, 2831, 33, 34, 4307, 2835,
+ 511, 515, 514, 3792, 515, 517, 268, 514, 514, 514,
+ 517, 517, 517, 2849, 514, 3487, 3488, 517, 514, 514,
+ 2856, 517, 517, 2859, 514, 514, 361, 517, 517, 2865,
+ 514, 514, 514, 517, 517, 517, 367, 368, 514, 297,
+ 6142, 517, 514, 298, 514, 517, 5793, 517, 514, 2885,
+ 514, 517, 295, 517, 3503, 2891, 168, 514, 4223, 5469,
+ 517, 514, 2898, 2841, 517, 514, 295, 514, 517, 443,
+ 517, 514, 514, 490, 517, 517, 2912, 3517, 514, 2610,
+ 298, 517, 514, 3639, 2894, 517, 48, 3788, 3644, 2925,
+ 514, 285, 514, 517, 2930, 517, 490, 6199, 514, 361,
+ 2936, 517, 3490, 223, 514, 514, 3517, 517, 517, 514,
+ 506, 514, 517, 3786, 517, 2576, 451, 173, 2954, 2955,
+ 2956, 367, 368, 514, 2960, 3574, 517, 3576, 514, 514,
+ 514, 517, 517, 517, 517, 514, 514, 511, 517, 517,
+ 514, 515, 336, 514, 514, 514, 517, 517, 517, 2610,
+ 514, 2987, 2988, 517, 514, 514, 4505, 517, 517, 514,
+ 2996, 3633, 517, 38, 514, 513, 3184, 517, 3186, 3187,
+ 514, 514, 514, 517, 517, 517, 514, 5926, 514, 517,
+ 470, 517, 472, 3655, 514, 60, 514, 517, 514, 517,
+ 134, 517, 136, 3029, 2655, 3029, 5943, 514, 4196, 2730,
+ 517, 514, 2733, 516, 2735, 2736, 514, 4123, 516, 4125,
+ 460, 4224, 4225, 513, 4709, 4228, 4711, 324, 4157, 3181,
+ 4159, 513, 4521, 3048, 1461, 3061, 1463, 4500, 5164, 3065,
+ 5166, 494, 495, 367, 368, 37, 111, 367, 368, 5223,
+ 5224, 5660, 5661, 501, 502, 503, 504, 505, 506, 507,
+ 508, 509, 4009, 5836, 5837, 54, 55, 513, 2732, 59,
+ 25, 514, 3818, 514, 2738, 174, 31, 219, 219, 3718,
+ 4027, 4028, 4029, 4030, 5688, 3724, 4033, 4034, 4035, 4036,
+ 4037, 4038, 4039, 4040, 4041, 4042, 6033, 3311, 513, 4070,
+ 4521, 513, 6039, 474, 515, 350, 513, 513, 198, 154,
+ 513, 515, 154, 178, 4061, 2779, 295, 198, 350, 295,
+ 154, 76, 154, 198, 154, 3151, 295, 3153, 4483, 4484,
+ 168, 350, 154, 241, 38, 121, 201, 451, 295, 513,
+ 289, 168, 3168, 3948, 3170, 514, 72, 3809, 280, 3811,
+ 38, 3177, 4099, 4100, 4126, 3181, 60, 3183, 3184, 280,
+ 3186, 3187, 3188, 474, 3794, 3969, 3796, 513, 295, 280,
+ 3196, 48, 4063, 48, 280, 3201, 437, 132, 280, 90,
+ 3245, 311, 86, 432, 139, 463, 463, 142, 87, 168,
+ 3216, 331, 257, 3794, 154, 3796, 261, 4144, 4169, 474,
+ 154, 154, 3416, 154, 6141, 513, 154, 111, 112, 154,
+ 517, 276, 154, 154, 169, 119, 154, 3243, 3244, 3245,
+ 154, 154, 3248, 154, 168, 154, 154, 3292, 295, 154,
+ 3256, 3257, 3258, 3259, 154, 4206, 154, 415, 4836, 513,
+ 38, 3267, 241, 295, 168, 310, 3272, 3273, 3878, 3275,
+ 205, 3277, 168, 513, 6, 6, 513, 513, 3836, 5945,
+ 168, 513, 3288, 3289, 6, 513, 3292, 6, 6, 3908,
+ 513, 3910, 513, 3912, 178, 513, 513, 3878, 513, 513,
+ 513, 6, 513, 513, 513, 513, 287, 3313, 513, 3315,
+ 355, 3317, 513, 4272, 471, 513, 513, 201, 513, 3245,
+ 513, 513, 3964, 513, 513, 513, 38, 513, 3029, 5118,
+ 3336, 3257, 4814, 513, 379, 513, 513, 3344, 3345, 3346,
+ 513, 276, 513, 513, 2988, 280, 307, 163, 60, 219,
+ 3395, 3357, 517, 517, 399, 290, 38, 102, 134, 241,
+ 136, 4544, 38, 513, 299, 37, 3292, 425, 425, 511,
+ 511, 427, 174, 257, 427, 3933, 311, 261, 427, 513,
+ 168, 427, 517, 4718, 160, 292, 3392, 168, 3392, 3395,
+ 4725, 3395, 276, 290, 385, 4730, 280, 68, 4733, 111,
+ 427, 3446, 3408, 427, 372, 372, 427, 3413, 462, 515,
+ 3336, 427, 4208, 4241, 427, 350, 427, 3048, 353, 354,
+ 0, 372, 3428, 243, 427, 79, 310, 427, 503, 4300,
+ 427, 4302, 91, 372, 154, 295, 3442, 238, 3442, 377,
+ 427, 427, 285, 127, 3450, 427, 3450, 418, 295, 225,
+ 385, 5400, 450, 316, 290, 4326, 3462, 367, 4417, 3465,
+ 91, 3467, 513, 427, 4395, 10, 3472, 427, 13, 513,
+ 191, 355, 127, 6139, 517, 198, 311, 154, 451, 427,
+ 3181, 3487, 3488, 3184, 427, 3186, 3187, 3493, 451, 201,
+ 10, 427, 127, 13, 113, 379, 272, 273, 274, 275,
+ 45, 427, 127, 279, 280, 59, 59, 52, 3514, 285,
+ 427, 3517, 4439, 265, 3520, 399, 299, 401, 98, 454,
+ 404, 335, 3528, 4405, 3168, 45, 427, 335, 427, 335,
+ 316, 316, 52, 78, 427, 427, 47, 2663, 427, 3183,
+ 427, 427, 427, 4327, 3188, 257, 427, 3553, 47, 261,
+ 427, 427, 427, 418, 427, 2681, 427, 514, 78, 2685,
+ 427, 517, 295, 2689, 276, 427, 518, 295, 221, 149,
+ 221, 221, 3216, 221, 221, 221, 221, 221, 221, 221,
+ 38, 427, 162, 3589, 3590, 3591, 437, 154, 168, 295,
+ 2716, 154, 280, 513, 174, 3789, 119, 451, 310, 154,
+ 180, 462, 147, 183, 154, 154, 295, 187, 3614, 249,
+ 280, 280, 280, 38, 3245, 38, 168, 3623, 513, 3625,
+ 233, 5410, 154, 513, 2750, 374, 154, 3633, 451, 513,
+ 513, 289, 154, 451, 427, 154, 174, 217, 466, 513,
+ 13, 265, 265, 355, 2770, 284, 425, 513, 193, 3655,
+ 5051, 5440, 427, 198, 513, 429, 183, 513, 434, 517,
+ 191, 3292, 514, 243, 517, 306, 191, 379, 490, 445,
+ 5005, 511, 514, 193, 376, 490, 2802, 514, 198, 263,
+ 514, 514, 514, 467, 217, 3316, 517, 399, 388, 230,
+ 296, 3392, 517, 451, 3395, 38, 451, 242, 59, 304,
+ 462, 3332, 514, 2829, 513, 372, 4577, 451, 285, 2835,
+ 285, 427, 292, 3719, 230, 295, 230, 427, 427, 513,
+ 168, 301, 242, 2849, 285, 295, 48, 295, 394, 280,
+ 2856, 241, 241, 2859, 4661, 3741, 241, 367, 259, 2865,
+ 3746, 3442, 427, 418, 127, 517, 3752, 295, 295, 3450,
+ 517, 295, 297, 198, 350, 3761, 295, 385, 192, 2885,
+ 382, 3392, 470, 427, 3395, 2891, 427, 338, 514, 38,
+ 221, 301, 2898, 451, 233, 334, 503, 297, 358, 154,
+ 168, 38, 3788, 3789, 290, 4569, 2912, 416, 3794, 451,
+ 3796, 170, 335, 382, 154, 154, 513, 154, 463, 2925,
+ 513, 290, 451, 3809, 280, 3811, 4757, 4990, 38, 280,
+ 2936, 3442, 295, 470, 27, 3446, 295, 233, 290, 3450,
+ 189, 189, 168, 4465, 4466, 3831, 38, 169, 233, 10,
+ 168, 295, 13, 280, 198, 415, 382, 517, 517, 59,
+ 4672, 474, 198, 198, 198, 390, 198, 5182, 427, 174,
+ 262, 3857, 470, 295, 517, 174, 289, 517, 301, 515,
+ 134, 513, 456, 443, 45, 491, 307, 5202, 3863, 174,
+ 390, 52, 3878, 3879, 467, 279, 3520, 514, 514, 517,
+ 514, 5216, 4740, 174, 3528, 517, 513, 467, 317, 469,
+ 470, 490, 427, 514, 514, 3901, 513, 78, 514, 514,
+ 514, 183, 514, 514, 3899, 514, 514, 514, 256, 449,
+ 513, 491, 514, 517, 3920, 5358, 514, 514, 513, 3867,
+ 494, 513, 512, 251, 512, 467, 513, 493, 457, 295,
+ 503, 511, 517, 3939, 514, 515, 516, 3943, 59, 4558,
+ 298, 513, 4561, 203, 295, 295, 154, 492, 513, 513,
+ 427, 285, 427, 427, 157, 211, 280, 4107, 3964, 504,
+ 505, 506, 507, 508, 509, 427, 147, 154, 404, 377,
+ 385, 4590, 492, 5492, 3980, 4752, 154, 3983, 154, 3623,
+ 377, 3625, 377, 3989, 504, 505, 506, 507, 508, 509,
+ 241, 157, 4951, 3999, 203, 295, 503, 4003, 4004, 427,
+ 3948, 451, 157, 4009, 467, 4563, 4564, 4565, 4566, 4567,
+ 372, 4017, 193, 4019, 243, 318, 4022, 198, 448, 318,
+ 4026, 4027, 4028, 4029, 4030, 3151, 157, 4033, 4034, 4035,
+ 4036, 4037, 4038, 4039, 4040, 4041, 4042, 427, 427, 5374,
+ 4046, 4047, 4048, 4827, 3170, 4051, 427, 427, 401, 253,
+ 4056, 3177, 253, 253, 372, 4061, 427, 4063, 372, 4065,
+ 4105, 242, 427, 372, 427, 372, 127, 4073, 385, 280,
+ 4076, 154, 4078, 47, 514, 3719, 514, 514, 427, 221,
+ 427, 512, 427, 427, 221, 186, 427, 427, 427, 299,
+ 4096, 517, 514, 4099, 4100, 134, 4022, 136, 4104, 4105,
+ 514, 437, 5437, 4109, 3, 4111, 168, 4301, 4115, 4116,
+ 4117, 4118, 4743, 48, 112, 514, 297, 3761, 168, 517,
+ 513, 160, 514, 38, 154, 427, 154, 503, 168, 290,
+ 4056, 186, 154, 4327, 372, 4132, 4132, 4132, 4144, 513,
+ 4132, 451, 4132, 451, 4132, 372, 4152, 372, 4152, 372,
+ 4156, 372, 4156, 152, 382, 152, 221, 221, 221, 145,
+ 358, 221, 10, 221, 221, 13, 225, 221, 221, 4811,
+ 221, 295, 295, 59, 13, 295, 511, 4796, 295, 307,
+ 517, 462, 4188, 4109, 517, 514, 225, 5976, 5977, 174,
+ 279, 5118, 444, 514, 514, 444, 305, 45, 514, 4205,
+ 512, 514, 2610, 224, 52, 4211, 517, 224, 514, 390,
+ 514, 417, 513, 3857, 302, 59, 514, 4223, 513, 4223,
+ 4839, 4840, 187, 513, 513, 5626, 358, 424, 89, 168,
+ 78, 38, 3863, 272, 273, 274, 275, 456, 4244, 233,
+ 279, 437, 427, 211, 4970, 5172, 285, 59, 418, 451,
+ 154, 86, 451, 401, 178, 437, 427, 3901, 377, 4901,
+ 157, 372, 5597, 427, 427, 427, 372, 427, 3899, 514,
+ 514, 514, 350, 10, 513, 470, 13, 5159, 513, 59,
+ 17, 18, 19, 418, 457, 168, 295, 78, 154, 4295,
+ 112, 437, 514, 221, 4300, 4301, 4302, 513, 35, 147,
+ 221, 221, 221, 230, 206, 427, 513, 474, 513, 38,
+ 5192, 492, 295, 316, 4933, 4934, 293, 295, 3, 513,
+ 4326, 4327, 4516, 504, 505, 506, 507, 508, 509, 517,
+ 5908, 514, 437, 517, 44, 427, 513, 517, 382, 3983,
+ 514, 181, 180, 112, 174, 193, 221, 143, 285, 514,
+ 198, 285, 4910, 4911, 285, 4913, 4998, 5692, 514, 285,
+ 514, 4341, 514, 174, 514, 59, 4372, 514, 468, 4375,
+ 468, 307, 4352, 517, 231, 10, 231, 513, 13, 224,
+ 514, 514, 4026, 316, 513, 469, 513, 424, 3514, 290,
+ 503, 437, 427, 174, 242, 434, 470, 78, 192, 205,
+ 192, 285, 59, 285, 503, 418, 445, 4051, 427, 517,
+ 45, 72, 10, 517, 154, 13, 427, 52, 157, 17,
+ 18, 19, 427, 427, 5530, 126, 5532, 514, 221, 176,
+ 119, 513, 38, 4439, 198, 382, 290, 5308, 513, 451,
+ 170, 38, 382, 78, 5063, 470, 280, 5066, 5067, 297,
+ 59, 4152, 84, 290, 418, 4156, 470, 38, 5793, 4465,
+ 4466, 174, 295, 4469, 513, 168, 345, 5086, 219, 517,
+ 4476, 298, 208, 514, 4105, 174, 514, 4483, 4484, 4483,
+ 4484, 514, 5665, 5410, 221, 456, 513, 4493, 3614, 398,
+ 514, 59, 38, 81, 375, 513, 91, 513, 135, 514,
+ 295, 4132, 199, 344, 514, 427, 38, 154, 154, 427,
+ 4516, 513, 147, 5440, 4509, 4521, 4522, 4523, 513, 5702,
+ 513, 4152, 4223, 513, 513, 4156, 513, 4533, 168, 38,
+ 285, 254, 513, 513, 451, 514, 382, 154, 112, 38,
+ 299, 5541, 390, 174, 514, 437, 396, 396, 514, 4743,
+ 168, 202, 5335, 514, 111, 513, 513, 513, 193, 10,
+ 297, 38, 13, 198, 517, 5748, 5749, 517, 4574, 456,
+ 466, 4577, 513, 451, 168, 513, 418, 191, 276, 203,
+ 295, 513, 418, 6, 514, 161, 5217, 72, 513, 474,
+ 368, 368, 298, 72, 45, 135, 470, 4603, 470, 140,
+ 516, 52, 466, 455, 514, 456, 165, 242, 5943, 165,
+ 4616, 517, 385, 513, 35, 3741, 5258, 5175, 513, 255,
+ 174, 3029, 341, 221, 4630, 285, 205, 78, 5186, 418,
+ 418, 295, 295, 513, 382, 38, 0, 38, 5269, 298,
+ 298, 199, 513, 176, 492, 176, 513, 153, 150, 367,
+ 59, 59, 4658, 302, 38, 4661, 504, 505, 506, 507,
+ 508, 509, 297, 4669, 4670, 351, 4672, 423, 59, 427,
+ 4676, 4677, 405, 449, 124, 4681, 6, 382, 140, 35,
+ 285, 513, 4688, 514, 513, 4691, 4692, 24, 514, 423,
+ 513, 367, 4698, 517, 367, 303, 147, 517, 6033, 297,
+ 81, 281, 385, 427, 6039, 174, 281, 153, 513, 396,
+ 513, 457, 4718, 119, 4718, 517, 396, 470, 5901, 4725,
+ 470, 4725, 176, 176, 4730, 456, 4730, 4733, 4734, 4733,
+ 451, 457, 4658, 5384, 98, 4741, 456, 3357, 513, 907,
+ 5740, 994, 193, 514, 2905, 5672, 4752, 198, 1680, 2814,
+ 3565, 993, 4300, 4275, 4760, 390, 947, 5541, 5892, 4754,
+ 4755, 2985, 2931, 3780, 501, 502, 503, 504, 505, 506,
+ 507, 508, 509, 5311, 4780, 4777, 1377, 5738, 6010, 4463,
+ 5358, 4273, 4483, 4484, 4960, 149, 5969, 5970, 4273, 5334,
+ 3494, 242, 4798, 3127, 3920, 5872, 5216, 5998, 162, 5768,
+ 5767, 5912, 5673, 5758, 168, 4811, 6141, 6033, 3498, 5005,
+ 174, 4484, 4510, 3939, 4495, 5712, 180, 3943, 4453, 183,
+ 3590, 4295, 3828, 187, 2999, 4469, 2999, 4479, 4999, 5341,
+ 989, 5638, 4838, 10, 3872, 6106, 13, 4546, 6211, 6193,
+ 5325, 4821, 5271, 3788, 4518, 5924, 297, 1840, 5512, 4855,
+ 5274, 4831, 4483, 217, 4860, 5721, 18, 492, 644, 28,
+ 3937, 4867, 4574, 5481, 5483, 6102, 3015, 5738, 45, 504,
+ 505, 506, 507, 508, 509, 52, 1884, 4883, 4509, 243,
+ 1211, 3472, 4577, 2675, 4890, 4521, 1881, 5384, 3883, 1895,
+ 5448, 5626, 696, 1919, 3722, 4901, 2930, 4326, 3641, 5950,
+ 6145, 78, 4550, 501, 502, 503, 504, 505, 506, 507,
+ 508, 509, 729, 1496, 2961, 838, 5843, 5536, 4552, 6161,
+ 2617, 1793, 5478, 4203, 5865, 4756, 4932, 1393, 292, 40,
+ 1354, 295, 40, 3413, 4616, 3428, 1454, 301, 1453, 390,
+ 2627, 5853, 5685, 1456, 3395, 4141, 5527, 4158, 5183, 3392,
+ 5437, 4204, 4958, 5436, 3392, 5847, 6123, 5980, 5672, 5414,
+ 5541, 1410, 4065, 2525, 5686, 3334, 2526, 5687, 4974, 2045,
+ 147, 3314, 3316, 4979, 3197, 3304, 5534, 4002, 2960, 3231,
+ 2531, 5707, 895, 2615, 3392, -1, -1, 3395, -1, -1,
+ -1, -1, 4998, -1, 358, -1, -1, -1, -1, 5005,
+ -1, 5005, -1, -1, -1, -1, -1, -1, -1, -1,
+ 6010, -1, -1, -1, -1, -1, 193, 4718, -1, -1,
+ -1, 198, 5017, 5217, 4725, -1, -1, -1, -1, 4730,
+ 5649, -1, 4733, 4734, 3442, -1, -1, -1, -1, -1,
+ -1, 492, 3450, -1, -1, 5051, -1, 5053, -1, 5976,
+ 5977, 415, -1, 504, 505, 506, 507, 508, 509, -1,
+ -1, -1, -1, 5257, -1, 242, -1, -1, -1, -1,
+ -1, -1, -1, 5704, -1, 5269, -1, -1, 5084, 443,
+ 5268, -1, -1, -1, -1, -1, -1, -1, 5269, -1,
+ -1, -1, -1, -1, 4725, -1, -1, -1, -1, 4730,
+ -1, -1, 4733, 467, -1, 469, 470, -1, -1, 5115,
+ -1, -1, 5118, -1, -1, 5121, 5122, 5123, 4244, -1,
+ 297, -1, -1, 4754, 4755, 5313, -1, 491, -1, -1,
+ -1, 10, -1, -1, 13, -1, -1, -1, 17, 18,
+ 19, -1, 5148, 5149, -1, -1, 5152, 511, -1, -1,
+ 514, 515, 516, -1, 4798, -1, -1, -1, -1, 5740,
+ -1, -1, -1, -1, -1, -1, 5172, -1, -1, -1,
+ -1, -1, 5178, -1, -1, -1, 5182, -1, 5182, -1,
+ -1, -1, 5188, 5189, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 4838, 6180, 5202, -1, 5202, 5205,
+ -1, -1, -1, -1, 5210, -1, 5212, -1, -1, -1,
+ 5216, -1, 5216, 390, -1, -1, 4860, -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, 4372, -1, -1, 4375,
+ -1, 5257, 5258, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 5268, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 4974, -1, -1, -1, 6148, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 4932, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 5308, -1, 5005, -1, -1, 5313, -1, -1,
+ 10, 5892, 6194, 13, -1, 492, -1, 17, 18, 19,
+ -1, -1, 6193, -1, -1, -1, -1, 504, 505, 506,
+ 507, 508, 509, -1, -1, -1, -1, -1, -1, -1,
+ 6211, -1, 221, -1, 5339, 45, -1, -1, -1, -1,
+ 4476, -1, 52, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 6089, 6090, -1, -1, 4493, 5374, -1,
+ 5374, 5377, -1, -1, 5993, 5370, -1, -1, 78, -1,
+ -1, -1, -1, -1, -1, 5384, 5017, 5384, 5384, 5384,
+ 5384, 5384, 5384, 5384, 5384, -1, 5384, 5384, 5384, 5384,
+ 5384, -1, -1, 5384, 5410, 5384, 5384, 5384, 5414, 5053,
+ 5416, -1, 5384, 5458, -1, -1, -1, -1, 297, -1,
+ -1, -1, -1, -1, 5430, 5373, -1, -1, -1, 6010,
+ -1, 5437, -1, 5437, 5440, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 5451, -1, -1, 4574, -1,
+ -1, -1, 5458, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 5182, -1, -1, -1, -1, -1, -1, -1, -1,
+ 5416, -1, -1, 193, -1, -1, -1, -1, 198, -1,
+ -1, 5202, -1, 5509, 5430, -1, -1, -1, 5514, 5515,
+ 5704, -1, -1, 5519, -1, 5216, -1, -1, -1, 5525,
+ 5526, 5527, -1, -1, -1, 5451, -1, -1, -1, -1,
+ -1, -1, 5458, -1, -1, 5541, -1, -1, -1, -1,
+ -1, -1, 242, -1, 5188, -1, -1, -1, -1, -1,
+ -1, 5182, -1, -1, 6, 5561, -1, -1, -1, -1,
+ -1, -1, -1, 5569, -1, -1, 5572, 5268, -1, -1,
+ -1, 23, -1, 25, -1, -1, -1, 29, -1, -1,
+ -1, -1, 34, 35, 36, -1, 38, -1, -1, 41,
+ 42, 5597, 44, 5597, 46, -1, -1, 297, -1, 5525,
+ 5526, 53, 54, 55, 5599, -1, -1, -1, 10, -1,
+ -1, 13, 5313, -1, -1, 17, 18, 19, -1, -1,
+ 5626, 5627, 501, 502, 503, 504, 505, 506, 507, 508,
+ 509, -1, -1, 35, 62, -1, -1, -1, -1, -1,
+ -1, -1, -1, 45, 5650, -1, -1, -1, -1, -1,
+ 52, -1, -1, 5659, 5660, 5661, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 5672, 5673, -1, 97,
+ 5676, -1, -1, 5374, -1, 5681, 78, 5683, -1, 5685,
+ -1, -1, -1, -1, -1, -1, 5692, -1, 5692, -1,
+ 390, 5879, -1, -1, 5689, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 5713, 5339, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 4855,
+ 158, -1, 5738, -1, 5740, -1, 5437, -1, -1, 5370,
+ -1, 4867, -1, -1, 4152, 197, 198, 199, 4156, -1,
+ 202, -1, -1, 5384, 206, 5681, 208, 5683, -1, 211,
+ -1, -1, 214, 5951, 5952, 217, -1, 195, 220, -1,
+ 222, -1, -1, 225, -1, -1, -1, 229, -1, 231,
+ -1, -1, -1, -1, -1, -1, -1, 5793, -1, 5793,
+ -1, 193, 492, -1, -1, -1, 198, -1, -1, -1,
+ -1, 501, 502, 503, 504, 505, 506, 507, 508, 509,
+ 238, -1, -1, -1, -1, 4223, -1, -1, -1, 221,
+ 222, -1, -1, -1, 5830, -1, -1, 5458, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 5843, -1, -1,
+ 242, -1, -1, -1, -1, -1, -1, 5853, 276, -1,
+ -1, -1, 280, -1, -1, -1, -1, 5863, -1, -1,
+ 5866, -1, -1, -1, -1, 5509, -1, -1, 5569, -1,
+ 5514, 5515, -1, 5879, -1, -1, -1, -1, -1, -1,
+ -1, 283, -1, 311, 312, -1, 5892, -1, -1, -1,
+ -1, -1, -1, -1, -1, 297, 5597, -1, 300, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 350, -1, -1, -1, 354, 5933, -1, -1,
+ 5925, 359, -1, -1, -1, -1, -1, 5943, -1, 5943,
+ 368, -1, -1, -1, -1, 5951, 5952, -1, -1, 377,
+ -1, 5957, -1, 5950, 5950, 5950, -1, 385, 5084, -1,
+ 5950, -1, 5950, -1, -1, -1, 5597, -1, 5599, 397,
+ 5976, 5977, -1, -1, -1, -1, -1, -1, 406, -1,
+ -1, -1, 410, 5627, -1, -1, -1, -1, 390, -1,
+ -1, 5692, -1, -1, -1, -1, -1, -1, 6043, -1,
+ -1, -1, -1, -1, 6010, -1, -1, -1, -1, -1,
+ -1, -1, -1, 6201, 6202, -1, -1, -1, -1, -1,
+ 0, -1, -1, -1, -1, -1, -1, 6033, -1, 6033,
+ -1, -1, 5676, 6039, -1, 6039, -1, 465, -1, -1,
+ -1, -1, -1, -1, -1, -1, 6043, 6043, 6043, -1,
+ -1, 6057, 6058, 6043, -1, 6043, -1, -1, 5689, -1,
+ 0, -1, -1, 43, -1, -1, 6072, -1, -1, -1,
+ -1, -1, -1, -1, -1, 4483, 4484, -1, -1, -1,
+ 6086, -1, -1, -1, 5210, -1, 5212, -1, -1, -1,
+ 492, -1, 5793, -1, -1, -1, -1, -1, -1, 501,
+ 502, 503, 504, 505, 506, 507, 508, 509, -1, -1,
+ -1, -1, -1, -1, -1, 6121, 518, 10, 98, -1,
+ 13, -1, -1, -1, 17, 18, 19, -1, -1, -1,
+ -1, -1, -1, -1, -1, 6141, -1, 6141, -1, -1,
+ -1, -1, 6148, -1, -1, -1, -1, -1, 6145, 6145,
+ 6145, -1, 45, -1, -1, 6145, -1, 6145, 98, 52,
+ 6086, -1, -1, -1, 25, -1, -1, -1, -1, 149,
+ 31, -1, -1, -1, 6180, 6181, -1, -1, 5879, 6185,
+ -1, -1, 162, 6189, -1, 78, -1, 6193, 168, -1,
+ -1, 643, -1, -1, 174, 6201, 6202, 649, -1, 651,
+ 180, 653, -1, 183, 656, 6211, -1, 187, -1, 149,
+ -1, 663, -1, -1, -1, 76, 668, -1, 670, -1,
+ -1, -1, 162, -1, 676, -1, -1, -1, 168, -1,
+ -1, -1, -1, -1, 174, -1, -1, 217, -1, 219,
+ 180, -1, 5943, 183, -1, -1, -1, 187, 700, -1,
+ 5951, 5952, -1, -1, -1, -1, -1, 709, -1, 6185,
+ -1, 713, -1, 243, 716, -1, -1, 719, -1, -1,
+ -1, 132, -1, -1, -1, -1, -1, 217, 139, -1,
+ -1, 142, -1, 735, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 5925, -1, -1, -1, -1, -1,
+ 193, -1, -1, 243, -1, 198, -1, -1, 169, -1,
+ 4718, -1, 292, -1, -1, 295, -1, 4725, -1, 5950,
+ -1, 301, 4730, -1, -1, 4733, -1, -1, 221, 222,
+ -1, -1, 6033, -1, -1, -1, 788, -1, 6039, -1,
+ -1, -1, -1, -1, 205, 797, -1, -1, -1, 242,
+ -1, -1, 292, -1, -1, 295, 6057, -1, -1, -1,
+ -1, 301, -1, -1, -1, 817, 818, -1, 820, 821,
+ -1, -1, -1, 825, -1, -1, -1, -1, 358, -1,
+ -1, -1, -1, -1, -1, -1, -1, 839, -1, -1,
+ 283, -1, 844, -1, -1, -1, -1, -1, 850, -1,
+ -1, -1, -1, -1, 297, -1, -1, -1, -1, -1,
+ -1, -1, 6043, -1, -1, 276, -1, -1, 358, 280,
+ 6121, -1, -1, -1, -1, -1, -1, -1, -1, 290,
+ -1, 411, -1, -1, -1, -1, -1, -1, 299, -1,
+ 6141, -1, -1, 895, -1, -1, -1, -1, -1, -1,
+ 311, -1, -1, -1, -1, -1, -1, 909, -1, -1,
+ -1, -1, -1, 443, -1, -1, -1, -1, -1, -1,
+ 922, -1, -1, -1, -1, 415, -1, -1, -1, -1,
+ 6181, -1, -1, -1, -1, 937, -1, 467, 6189, 469,
+ 470, -1, 353, 354, -1, -1, -1, 390, -1, -1,
+ 6201, 6202, -1, 443, 956, -1, -1, -1, -1, 961,
+ 962, 491, -1, -1, 6145, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 385, -1, -1, 467, -1, 469,
+ 470, -1, -1, -1, 514, -1, 516, 517, -1, -1,
+ -1, 993, 994, -1, -1, -1, -1, -1, -1, -1,
+ -1, 491, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 1016, 1017, -1, -1, -1, 0,
+ -1, 511, -1, -1, 514, 515, 516, -1, 1030, -1,
+ 1032, -1, -1, -1, 1036, -1, -1, 1039, 1040, 20,
+ 1042, -1, -1, 454, -1, 1047, -1, 5005, -1, 492,
+ 31, -1, 33, 34, -1, -1, -1, -1, 501, 502,
+ 503, 504, 505, 506, 507, 508, 509, -1, -1, 1071,
+ 51, -1, -1, -1, -1, -1, 1078, 1079, -1, -1,
+ 61, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 73, -1, 75, 76, -1, -1, 1100, 1101,
+ 1102, 82, 1104, 84, 1106, -1, 1108, 1109, -1, -1,
+ -1, -1, -1, -1, -1, 96, -1, 98, -1, -1,
+ 10, -1, -1, 13, -1, -1, -1, 17, 18, 19,
+ -1, -1, -1, -1, 115, -1, -1, 118, -1, -1,
+ 1142, -1, 1144, 1145, -1, 35, -1, -1, -1, -1,
+ -1, -1, 133, -1, 135, 45, -1, -1, 139, -1,
+ 10, -1, 52, 13, 145, -1, -1, 17, 18, 19,
+ -1, -1, 153, -1, 155, 1177, -1, -1, -1, -1,
+ -1, 162, 23, -1, -1, 35, -1, 28, 78, -1,
+ 5866, -1, -1, -1, -1, 45, -1, -1, -1, 180,
+ -1, 1203, 52, 1205, -1, -1, -1, 1209, -1, 1211,
+ -1, -1, -1, -1, -1, -1, 197, -1, -1, -1,
+ -1, -1, -1, -1, 5182, 66, -1, -1, 78, -1,
+ -1, -1, -1, 1235, -1, 1237, -1, -1, 79, 1241,
+ -1, -1, -1, -1, 5202, -1, -1, -1, -1, -1,
+ -1, -1, -1, 1255, 95, -1, -1, -1, 5216, -1,
+ -1, -1, -1, 244, 245, -1, -1, -1, -1, 250,
+ -1, -1, 113, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 264, -1, -1, -1, -1, 1290, -1,
+ -1, -1, -1, -1, -1, -1, 137, -1, -1, -1,
+ -1, 282, -1, 193, -1, -1, -1, 148, 198, -1,
+ -1, -1, -1, -1, -1, -1, 157, 1319, 1320, 1321,
+ -1, 1323, -1, -1, -1, -1, -1, -1, -1, 170,
+ -1, 221, 222, -1, -1, 176, -1, -1, -1, -1,
+ -1, 1343, -1, 193, -1, 326, -1, -1, 198, -1,
+ -1, -1, 242, -1, -1, -1, -1, -1, -1, 340,
+ -1, -1, 203, -1, -1, 346, 347, -1, 349, -1,
+ -1, 221, 222, 354, -1, -1, -1, -1, -1, 360,
+ 1382, -1, 363, -1, -1, -1, -1, -1, -1, 370,
+ -1, -1, 242, 283, -1, -1, 377, 378, 1400, -1,
+ -1, -1, -1, -1, 385, -1, -1, 297, 389, -1,
+ 300, -1, -1, -1, -1, 256, 5374, -1, 399, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 283, 415, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 1446, -1, 38, 297, 1450, 1451,
+ 300, -1, -1, -1, 435, -1, 297, -1, -1, 1461,
+ 1462, 1463, 1464, -1, 1466, 446, -1, -1, 62, -1,
+ 62, 452, -1, -1, -1, -1, 457, -1, -1, 5437,
+ -1, -1, -1, -1, -1, -1, -1, 1489, -1, 470,
+ 331, 332, -1, -1, 335, -1, -1, -1, -1, -1,
+ 390, -1, -1, 97, -1, 97, -1, -1, -1, -1,
+ -1, -1, -1, 494, -1, 496, 497, 498, 499, 500,
+ -1, 362, 1524, -1, 365, -1, -1, 1529, -1, -1,
+ 1532, 372, 513, -1, -1, 516, -1, -1, 379, -1,
+ 390, 382, -1, 1545, 1546, -1, -1, -1, -1, -1,
+ -1, -1, 1554, -1, -1, 1557, -1, -1, -1, -1,
+ 401, -1, -1, -1, 158, -1, 158, 408, -1, -1,
+ -1, -1, -1, -1, 415, -1, -1, 418, -1, -1,
+ -1, 422, 1584, -1, 1586, -1, -1, 1589, -1, 430,
+ 1592, 1593, -1, -1, 1596, -1, 437, -1, -1, -1,
+ -1, 195, 492, 195, 1606, -1, -1, 1609, -1, -1,
+ 1612, 501, 502, 503, 504, 505, 506, 507, 508, 509,
+ -1, -1, 463, -1, 514, -1, -1, 517, -1, -1,
+ -1, -1, 1634, -1, -1, -1, -1, -1, -1, 5597,
+ -1, 233, 492, -1, 238, -1, 238, -1, -1, -1,
+ 1652, 501, 502, 503, 504, 505, 506, 507, 508, 509,
+ -1, -1, 1664, 1665, 1666, 1667, 1668, 517, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 1682, -1, 276, -1, -1, -1, 280, -1, 280, -1,
+ -1, 1693, 1694, 1695, -1, -1, -1, -1, -1, -1,
+ -1, -1, 10, -1, -1, 13, -1, -1, -1, 17,
+ 18, 19, -1, -1, -1, -1, -1, 311, 312, -1,
+ 312, -1, -1, -1, -1, -1, -1, 35, -1, -1,
+ -1, -1, -1, -1, 5692, -1, -1, 45, -1, -1,
+ -1, -1, -1, -1, 52, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 350, -1, -1, -1,
+ 354, -1, 354, -1, -1, 359, -1, 359, -1, -1,
+ 78, -1, -1, -1, 368, -1, 368, -1, -1, -1,
+ -1, -1, -1, 377, -1, 377, -1, -1, -1, -1,
+ 1792, 385, -1, 385, -1, -1, -1, -1, -1, -1,
+ -1, 1803, -1, 397, -1, 397, -1, -1, -1, 1811,
+ 1812, -1, 406, -1, 406, -1, 410, -1, 410, -1,
+ -1, -1, -1, 10, -1, 1827, 13, -1, -1, -1,
+ 17, 18, 19, -1, -1, 5793, -1, -1, 430, -1,
+ -1, -1, -1, 1845, 1846, -1, -1, -1, 35, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 45, 1861,
+ 1862, 1863, 1864, -1, -1, 52, -1, -1, 1870, -1,
+ -1, 465, -1, 465, -1, 1877, -1, 469, 1880, -1,
+ -1, -1, -1, -1, -1, 193, -1, -1, -1, -1,
+ 198, 78, -1, 1895, -1, -1, 1898, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 1908, 1909, -1, -1,
+ -1, -1, -1, 221, 222, -1, -1, 1919, 1920, -1,
+ -1, 1923, -1, -1, 1926, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 242, -1, 38, -1, -1, 1941,
+ 1942, -1, -1, -1, -1, -1, 1948, -1, 1950, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 62, -1, -1, -1, -1, 1967, -1, -1, -1, -1,
+ -1, -1, 1974, -1, 1976, 283, -1, 1979, 1980, 1981,
+ -1, 1983, 1984, -1, 1986, 5943, -1, -1, -1, 297,
+ -1, 1993, 300, -1, -1, 97, -1, -1, 2000, -1,
+ -1, 2003, 2004, -1, -1, 2007, 193, -1, 2010, 2011,
+ -1, 198, -1, 2015, -1, 2017, -1, -1, -1, -1,
+ 2022, 2023, -1, -1, -1, -1, -1, 2029, 2030, 2031,
+ 2032, 2033, 2034, 2035, 221, 222, 2038, -1, 2040, 2041,
+ 2042, 2043, 2044, 2045, 2046, 2047, -1, -1, 2050, -1,
+ 2052, 2053, -1, 62, 2056, 242, 158, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 2071,
+ 2072, 2073, -1, -1, -1, 6033, -1, -1, -1, -1,
+ -1, 6039, 390, -1, -1, -1, -1, 2089, 97, 0,
+ -1, -1, -1, 195, -1, -1, 283, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 20,
+ 297, -1, -1, 300, -1, -1, -1, -1, -1, -1,
+ 31, 17, 33, 34, -1, -1, -1, 2129, -1, -1,
+ 26, 233, -1, -1, -1, -1, 238, -1, -1, -1,
+ 51, -1, -1, -1, -1, -1, -1, -1, -1, 158,
+ 61, -1, -1, 22, -1, -1, -1, -1, -1, 28,
+ -1, -1, 73, -1, 75, 76, -1, -1, -1, -1,
+ -1, 82, -1, 84, -1, -1, -1, -1, 280, -1,
+ -1, -1, -1, 6141, 492, 96, 195, 98, -1, -1,
+ -1, -1, -1, 501, 502, 503, 504, 505, 506, 507,
+ 508, 509, -1, 390, 115, -1, -1, 118, -1, 517,
+ 312, -1, 10, -1, -1, 13, -1, -1, -1, 17,
+ 18, 19, 133, -1, 135, -1, -1, -1, 139, 238,
+ -1, 2233, -1, -1, 145, -1, -1, 35, -1, -1,
+ -1, -1, 153, -1, 155, -1, -1, 45, -1, -1,
+ -1, 162, 354, -1, 52, -1, -1, 359, -1, -1,
+ -1, -1, -1, -1, -1, -1, 368, 276, -1, 180,
+ -1, 280, -1, -1, -1, 377, -1, -1, 2280, -1,
+ 78, -1, -1, 385, -1, -1, 197, -1, -1, -1,
+ -1, -1, -1, -1, -1, 397, -1, -1, -1, -1,
+ -1, -1, 311, 312, 406, 492, -1, -1, 410, -1,
+ -1, -1, -1, -1, 501, 502, 503, 504, 505, 506,
+ 507, 508, 509, -1, -1, -1, -1, 514, 430, -1,
+ -1, 2333, -1, 244, 245, -1, -1, -1, -1, 250,
+ -1, 350, -1, -1, -1, 354, -1, -1, -1, -1,
+ 359, -1, -1, 264, -1, -1, -1, -1, -1, 368,
+ -1, -1, -1, 465, -1, -1, -1, 469, 377, -1,
+ -1, 282, -1, -1, -1, -1, 385, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 397, -1,
+ -1, -1, -1, -1, -1, 193, -1, 406, -1, -1,
+ 198, 410, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 25, -1, 326, -1, -1, -1, 31,
+ -1, -1, -1, 221, 222, -1, -1, -1, -1, 340,
+ -1, -1, -1, -1, 46, 346, 347, -1, 349, -1,
+ -1, -1, -1, 354, 242, -1, -1, -1, -1, 360,
+ -1, -1, 363, -1, -1, -1, 465, -1, -1, 370,
+ -1, -1, -1, -1, 76, -1, 377, 378, -1, -1,
+ -1, -1, -1, -1, 385, -1, -1, -1, 389, -1,
+ -1, -1, -1, -1, -1, 283, -1, -1, 399, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 297,
+ -1, -1, 300, -1, 415, -1, -1, -1, 2510, 2511,
+ 2512, 2513, 2514, 2515, 2516, 2517, 2518, -1, 2520, -1,
+ 132, -1, -1, -1, 435, -1, -1, 139, 2530, 2531,
+ 142, 2533, -1, -1, -1, 446, -1, -1, 2540, -1,
+ -1, 452, -1, -1, -1, -1, 457, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 169, -1, 470,
+ -1, -1, -1, -1, -1, -1, -1, 2569, -1, 2571,
+ -1, -1, 2574, 2575, -1, -1, 2578, -1, 2580, -1,
+ -1, 2583, -1, 494, -1, 2587, -1, -1, -1, -1,
+ -1, -1, 390, 205, -1, -1, -1, -1, -1, -1,
+ -1, -1, 513, 10, -1, 516, 13, -1, 2610, -1,
+ 17, 18, 19, -1, 2616, 2617, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 2627, -1, -1, 35, -1,
+ -1, -1, -1, -1, 2636, 2637, -1, -1, 45, -1,
+ -1, -1, -1, -1, -1, 52, -1, -1, 2650, -1,
+ -1, -1, -1, -1, -1, -1, 2658, -1, 2660, -1,
+ -1, -1, -1, -1, 276, -1, -1, -1, 280, -1,
+ -1, 78, -1, -1, -1, -1, -1, -1, 290, -1,
+ -1, -1, -1, -1, -1, -1, -1, 299, -1, -1,
+ -1, -1, -1, -1, 492, -1, -1, -1, 2700, 311,
+ 2702, -1, -1, 501, 502, 503, 504, 505, 506, 507,
+ 508, 509, -1, -1, -1, -1, 514, 2719, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 2730, -1,
+ -1, 2733, 2734, 2735, 2736, -1, -1, 2739, 350, -1,
+ 2742, 353, 354, -1, -1, -1, -1, -1, -1, 645,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 2763, -1, -1, -1, -1, -1, -1, 62, -1,
+ -1, -1, 2774, 385, -1, -1, -1, -1, -1, -1,
+ 2782, 2783, -1, -1, -1, 10, 193, 2789, 13, -1,
+ -1, 198, 17, 18, 19, -1, 2798, -1, -1, 695,
+ 696, -1, -1, 97, -1, -1, -1, -1, -1, -1,
+ 35, -1, -1, -1, 221, 222, -1, -1, 2820, -1,
+ 45, -1, -1, -1, -1, -1, -1, 52, -1, -1,
+ -1, -1, -1, -1, -1, 242, -1, -1, -1, 2841,
+ -1, -1, 454, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 2854, 78, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 158, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 2877, 283, -1, 2880, -1,
+ -1, -1, -1, -1, -1, -1, -1, 756, -1, 758,
+ 297, 760, -1, 300, -1, 791, -1, 766, 767, 768,
+ -1, 195, -1, -1, 2906, 2907, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 811, -1, -1, -1, 2921,
+ -1, 2923, 2924, 819, -1, -1, 822, 823, 824, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 238, -1, -1, -1, -1, -1,
+ -1, -1, 2954, 2955, 2956, -1, -1, -1, 2960, -1,
+ -1, -1, -1, -1, -1, -1, 2968, -1, 193, -1,
+ -1, -1, -1, 198, -1, -1, -1, -1, -1, 2981,
+ -1, -1, -1, 390, -1, 2987, 280, 2989, -1, -1,
+ -1, -1, -1, -1, -1, -1, 221, 222, -1, -1,
+ 3002, -1, -1, -1, -1, 3007, -1, -1, -1, -1,
+ -1, 3013, -1, -1, 3016, -1, -1, 242, 312, -1,
+ -1, -1, -1, -1, -1, -1, 3028, 3029, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 3039, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 3049, -1, 3051,
+ -1, -1, -1, -1, -1, -1, -1, -1, 283, -1,
+ 354, -1, 356, -1, -1, 359, -1, -1, -1, -1,
+ -1, -1, 297, -1, 368, 300, -1, -1, -1, -1,
+ -1, -1, -1, 377, -1, 492, 955, -1, 3090, -1,
+ 3092, 385, 3094, -1, 501, 502, 503, 504, 505, 506,
+ 507, 508, 509, 397, -1, -1, -1, 514, -1, -1,
+ -1, -1, 406, -1, -1, -1, 410, -1, -1, -1,
+ -1, -1, -1, -1, -1, 3127, -1, -1, -1, 1025,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 1025, -1, -1, -1,
+ -1, -1, -1, -1, -1, 390, -1, -1, -1, -1,
+ -1, 465, -1, -1, -1, -1, -1, -1, -1, 3181,
+ 3182, -1, 3184, -1, 3186, 3187, -1, 3189, -1, -1,
+ -1, -1, -1, -1, 3196, -1, -1, -1, -1, 3201,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 10, -1, -1, 13, -1, 23,
+ -1, 17, 18, 19, 28, -1, -1, -1, -1, -1,
+ -1, 3243, 3244, 3245, -1, -1, 3248, -1, -1, 35,
+ -1, -1, -1, -1, 3256, 3257, 3258, 3259, -1, 45,
+ -1, -1, -1, -1, -1, -1, 52, 492, -1, -1,
+ 3272, -1, 66, 3275, -1, 3277, 501, 502, 503, 504,
+ 505, 506, 507, 508, 509, 79, 3288, 3289, -1, 514,
+ 3292, -1, 78, -1, -1, -1, -1, -1, -1, -1,
+ -1, 95, -1, -1, -1, -1, -1, -1, -1, 3311,
+ -1, 3313, -1, 3315, -1, 3317, -1, -1, -1, 113,
+ 1216, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 3336, -1, -1, 3339, -1, -1,
+ -1, 3343, -1, 137, -1, -1, -1, 1243, -1, -1,
+ -1, -1, -1, -1, 148, -1, -1, -1, -1, -1,
+ -1, -1, 3364, 157, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 170, -1, 10, -1,
+ -1, 13, 176, -1, -1, 17, 18, 19, -1, 183,
+ 3392, -1, -1, 3395, 3396, -1, -1, -1, 3400, 3401,
+ 3402, -1, -1, 35, -1, -1, 3408, 193, -1, 203,
+ -1, 3413, 198, 45, -1, -1, -1, -1, -1, -1,
+ 52, -1, -1, -1, -1, -1, 3428, -1, -1, 1325,
+ -1, -1, -1, -1, -1, 221, 222, -1, 1334, -1,
+ 3442, -1, -1, -1, 3446, 51, 78, 3449, 3450, -1,
+ 3452, -1, -1, 1349, -1, -1, 242, -1, -1, -1,
+ -1, -1, 256, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 1368, -1, -1, 1371, 1372, -1, -1, -1,
+ 1376, 1377, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 3493, -1, -1, -1, -1, -1, 283, -1, -1,
+ -1, -1, 1371, 297, -1, -1, -1, 1376, 1377, -1,
+ -1, 297, -1, -1, 300, -1, 310, -1, -1, -1,
+ -1, 3523, 3524, -1, -1, -1, -1, 321, -1, -1,
+ -1, -1, -1, -1, -1, 1404, -1, 331, 332, -1,
+ -1, 335, -1, -1, 1413, -1, 1415, -1, -1, -1,
+ 1419, -1, -1, -1, -1, -1, -1, 1426, -1, -1,
+ -1, 193, -1, -1, -1, -1, 198, -1, 362, -1,
+ -1, 365, -1, -1, -1, 369, -1, -1, 372, -1,
+ 25, -1, -1, -1, -1, 379, 31, -1, 382, 221,
+ 222, 10, -1, -1, 13, -1, -1, -1, 17, 18,
+ 19, 46, -1, -1, 390, -1, -1, 401, -1, -1,
+ 242, -1, -1, -1, 408, -1, 35, -1, -1, -1,
+ -1, 415, -1, -1, 418, -1, 45, -1, 422, 3631,
+ -1, 76, -1, 52, -1, -1, 430, -1, 432, 3641,
+ -1, -1, -1, 437, -1, -1, -1, -1, 1517, -1,
+ -1, 283, -1, -1, -1, -1, 450, -1, 1527, 78,
+ -1, -1, -1, -1, -1, 297, -1, -1, 300, 463,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 130, -1, 132, -1, -1,
+ -1, -1, -1, -1, 139, -1, -1, 142, -1, -1,
+ -1, -1, 1571, 1572, -1, -1, 492, -1, -1, -1,
+ -1, -1, -1, -1, -1, 501, 502, 503, 504, 505,
+ 506, 507, 508, 509, 169, -1, -1, -1, 514, -1,
+ -1, -1, -1, -1, -1, 1631, -1, -1, -1, -1,
+ -1, -1, -1, 1639, 3746, 1614, -1, -1, 1617, 1618,
+ 3752, -1, -1, -1, -1, -1, -1, -1, 390, -1,
+ 205, 3763, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 193, -1, -1, -1, 10, 198,
+ -1, 13, -1, -1, -1, 17, 18, 19, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 3800, 3801,
+ 3802, -1, 221, 222, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 45, -1, 3817, -1, -1, -1, -1,
+ 52, -1, -1, 242, -1, -1, -1, -1, -1, 3831,
+ -1, 276, -1, -1, -1, 280, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 290, 78, 3849, 3850, 3851,
+ -1, -1, -1, 3855, 299, -1, -1, -1, -1, -1,
+ 492, -1, -1, -1, 283, 3867, 311, -1, -1, 501,
+ 502, 503, 504, 505, 506, 507, 508, 509, 297, -1,
+ -1, 300, 514, -1, -1, -1, -1, -1, -1, -1,
+ -1, 51, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 350, -1, -1, 353, 354,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 3923, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 3937, 3938, -1, -1, -1,
+ 385, 1810, -1, -1, -1, -1, 3948, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 1854, 3961,
+ -1, 193, 1858, -1, -1, -1, 198, -1, -1, -1,
+ -1, 390, -1, -1, -1, -1, -1, -1, 3980, -1,
+ -1, -1, -1, -1, -1, -1, -1, 3989, -1, 221,
+ 222, -1, -1, -1, -1, -1, -1, 3999, -1, -1,
+ -1, 4003, 4004, -1, -1, -1, -1, 4009, -1, 454,
+ 242, -1, -1, -1, -1, 4017, -1, 4019, -1, -1,
+ 4022, -1, -1, -1, -1, 4027, 4028, 4029, 4030, -1,
+ -1, 4033, 4034, 4035, 4036, 4037, 4038, 4039, 4040, 4041,
+ 4042, -1, -1, -1, 4046, 4047, 4048, -1, -1, -1,
+ -1, 283, -1, -1, 4056, -1, -1, -1, -1, 4061,
+ -1, -1, -1, 4065, -1, 297, -1, -1, -1, -1,
+ -1, 4073, -1, 492, 4076, -1, 4078, -1, -1, -1,
+ -1, -1, 501, 502, 503, 504, 505, 506, 507, 508,
+ 509, -1, -1, -1, 4096, 514, -1, 4099, 4100, 705,
+ -1, -1, 4104, 4105, -1, -1, -1, 4109, -1, 4111,
+ 4112, -1, -1, -1, -1, -1, -1, -1, 4120, 4121,
+ 4122, -1, -1, -1, -1, 731, -1, 10, -1, -1,
+ 13, -1, 2028, -1, 17, 18, 19, -1, 4140, 4141,
+ 4142, -1, 4144, 4145, -1, -1, 4148, -1, -1, -1,
+ 4152, -1, 35, -1, 4156, -1, 2025, 2026, 390, -1,
+ 4162, -1, 45, -1, -1, -1, -1, 2036, 2037, 52,
+ -1, -1, -1, -1, -1, -1, -1, 25, -1, -1,
+ -1, -1, -1, 31, -1, -1, 4188, -1, -1, -1,
+ -1, -1, -1, -1, -1, 78, -1, 2066, 46, -1,
+ -1, 4203, -1, 4205, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 4223, 4224, 4225, -1, -1, 4228, -1, 76, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 492, 4263, 4264, -1, -1, -1, -1, 873, -1, 501,
+ 502, 503, 504, 505, 506, 507, 508, 509, -1, -1,
+ 4282, -1, 130, -1, 132, -1, -1, -1, -1, -1,
+ -1, 139, 10, -1, 142, 13, -1, -1, -1, 17,
+ 18, 19, -1, -1, -1, -1, -1, -1, -1, -1,
+ 193, -1, -1, -1, -1, 198, -1, 35, -1, -1,
+ -1, 169, -1, -1, -1, -1, -1, 45, -1, -1,
+ -1, -1, -1, 4335, 52, -1, -1, -1, 221, 222,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 205, -1, 242,
+ 78, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 4390, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 283, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 1016, -1, -1, -1, 297, -1, -1, 300, -1, -1,
+ -1, 4423, -1, -1, -1, -1, -1, -1, 276, 1035,
+ -1, -1, 280, -1, -1, 4437, -1, 4439, -1, -1,
+ 1046, -1, 290, -1, 4446, -1, -1, -1, -1, -1,
+ 4452, 299, -1, -1, -1, -1, 1062, -1, -1, -1,
+ -1, 4463, -1, 311, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 193, 4478, -1, -1, -1,
+ 198, 4483, 4484, -1, -1, -1, -1, -1, -1, 4491,
+ -1, -1, -1, -1, -1, -1, -1, -1, 4500, -1,
+ -1, -1, 350, 221, 222, 353, 354, 390, 4510, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 4522, 4523, -1, -1, 242, -1, -1, -1, -1, -1,
+ -1, 4533, -1, -1, -1, -1, -1, 385, -1, -1,
+ -1, -1, 4544, 4545, -1, 705, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 4562, -1, -1, -1, -1, 283, -1, -1, -1, 10,
+ -1, 731, 13, -1, -1, -1, 17, 18, 19, 297,
+ -1, -1, 300, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 35, -1, -1, -1, -1, -1,
+ -1, 4603, -1, -1, 45, -1, 454, -1, -1, 492,
+ -1, 52, -1, 1219, 4616, -1, -1, -1, 501, 502,
+ 503, 504, 505, 506, 507, 508, 509, -1, 4630, -1,
+ -1, 514, -1, -1, -1, -1, -1, 78, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 2550, -1, 4658, -1, -1, 4661,
+ -1, -1, -1, -1, -1, -1, -1, 4669, 4670, -1,
+ -1, -1, 390, -1, 4676, 4677, -1, -1, -1, 4681,
+ -1, -1, -1, -1, -1, -1, 4688, -1, -1, 4691,
+ 4692, -1, -1, -1, -1, -1, 4698, -1, -1, -1,
+ 4702, 4703, 4704, 4705, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 873, -1, -1, 4718, -1, -1, 4721,
+ -1, -1, -1, 4725, -1, -1, -1, 168, 4730, 2598,
+ 2599, 4733, 4734, 174, 4736, 2604, 4738, -1, -1, 4741,
+ -1, 4743, -1, -1, -1, -1, -1, -1, -1, -1,
+ 4752, -1, 193, -1, 4756, -1, -1, 198, 4760, -1,
+ 4762, -1, -1, -1, -1, -1, -1, 2636, 2637, -1,
+ -1, -1, -1, -1, 492, 4777, -1, -1, 4780, -1,
+ 221, 222, -1, 501, 502, 503, 504, 505, 506, 507,
+ 508, 509, -1, 23, -1, -1, 514, -1, 28, -1,
+ -1, 242, 2698, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 4814, -1, -1, -1, 4818, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 2698,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 283, -1, -1, -1, -1, -1, -1, 79,
+ 80, -1, -1, -1, -1, -1, 297, -1, -1, 300,
+ -1, 2757, -1, -1, -1, 95, 1472, -1, -1, -1,
+ -1, -1, -1, -1, -1, 1035, -1, -1, -1, -1,
+ -1, 4883, -1, 113, -1, -1, 1046, -1, 4890, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 1062, -1, -1, -1, -1, 137, -1, -1,
+ 4912, -1, -1, 2782, -1, -1, -1, -1, 148, -1,
+ -1, -1, -1, -1, -1, 4927, -1, 157, -1, -1,
+ -1, 25, -1, 1539, -1, -1, -1, 31, -1, -1,
+ 170, 2837, -1, -1, -1, -1, 176, -1, -1, 390,
+ -1, -1, -1, -1, -1, -1, 4958, -1, -1, -1,
+ -1, -1, -1, -1, -1, 2861, -1, -1, -1, -1,
+ -1, -1, 4974, 203, 1580, -1, -1, -1, -1, 4981,
+ -1, -1, 76, -1, -1, -1, -1, -1, 4990, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 2871, 5005, 234, -1, -1, 1613, -1, -1,
+ 2879, -1, -1, 2882, -1, -1, 5018, -1, 5020, -1,
+ -1, -1, -1, -1, -1, 2894, 256, -1, -1, -1,
+ -1, -1, 2928, -1, -1, -1, -1, -1, 132, -1,
+ -1, -1, -1, -1, 5046, 139, -1, -1, 142, -1,
+ -1, 492, -1, -1, -1, 5057, -1, -1, -1, 1219,
+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 2965,
+ -1, 2967, -1, 2969, 2970, 169, -1, -1, 2974, 2975,
+ 2976, -1, 2978, 2979, 2980, -1, -1, 1693, 1694, 1695,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 331, 332, -1, -1, 335, -1, -1, -1, -1,
+ -1, 205, -1, 5115, -1, -1, 5118, -1, -1, 5121,
+ 5122, 5123, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 362, -1, -1, 365, 3032, -1, -1, -1,
+ -1, -1, 372, -1, -1, -1, 5148, 5149, -1, 379,
+ 5152, -1, 382, -1, -1, -1, -1, -1, -1, -1,
+ -1, 3057, -1, -1, -1, -1, -1, -1, -1, -1,
+ 5172, 401, -1, -1, -1, -1, 5178, -1, 408, -1,
+ 5182, -1, 276, -1, 5186, 415, 280, 5189, 418, 5191,
+ -1, -1, 422, -1, -1, -1, 290, -1, -1, 1805,
+ 5202, -1, -1, 5205, -1, 299, -1, 437, -1, -1,
+ 1816, 1371, -1, -1, 5216, 5217, 5218, 311, 5220, -1,
+ -1, -1, 10, -1, -1, 13, 1832, -1, -1, 17,
+ 18, 19, -1, 463, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 35, -1, -1,
+ -1, -1, -1, -1, -1, -1, 350, 45, -1, 353,
+ 354, -1, -1, -1, 52, -1, 5268, 5269, -1, -1,
+ -1, 3140, -1, -1, -1, -1, -1, -1, -1, -1,
+ 1886, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 78, 385, -1, -1, -1, 1901, -1, -1, 1904, 1905,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 5313, 1472, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 5325, -1, -1, -1, -1, 5330, 1935,
+ 1936, -1, -1, 5335, -1, -1, -1, -1, -1, -1,
+ -1, -1, 5344, 8, -1, -1, -1, -1, -1, 14,
+ 15, -1, 5354, -1, -1, 20, 5358, 22, -1, 5361,
+ 454, -1, -1, 28, -1, 30, -1, -1, -1, -1,
+ 5372, 5373, 5374, -1, -1, -1, -1, -1, -1, 1539,
+ -1, -1, -1, -1, 49, 50, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 193, -1, -1, 5410, -1,
+ 198, -1, 5414, -1, 5416, -1, -1, -1, -1, -1,
+ 1580, -1, -1, -1, -1, -1, -1, 2033, 5430, -1,
+ -1, -1, -1, 221, 222, 5437, 2042, -1, 5440, 2045,
+ -1, -1, 5444, -1, -1, -1, -1, -1, -1, 5451,
+ -1, -1, -1, 1613, 242, -1, 5458, -1, -1, -1,
+ -1, 3357, -1, -1, 2070, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 25, -1, -1, -1, -1, -1,
+ 31, -1, -1, -1, -1, -1, 3355, -1, 3357, -1,
+ -1, 5493, -1, -1, -1, 283, -1, -1, -1, -1,
+ -1, -1, -1, -1, 3373, -1, -1, -1, -1, 297,
+ -1, -1, 300, -1, -1, -1, -1, 5519, -1, -1,
+ -1, -1, -1, 5525, 5526, 76, -1, -1, 5530, 5531,
+ 5532, 5533, -1, -1, -1, 200, -1, 325, -1, 204,
+ -1, -1, -1, -1, -1, -1, -1, 212, -1, -1,
+ 215, 3420, 3421, 218, 219, -1, 221, -1, 223, 5561,
+ -1, 226, -1, 228, -1, -1, -1, 5569, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 132, -1, -1, -1, -1, -1, -1, 139, -1,
+ -1, 142, 5594, -1, -1, 5597, -1, -1, -1, -1,
+ -1, -1, 390, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 169, 407,
+ 5622, 3517, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 1805, -1, -1, 5650, -1,
+ -1, -1, -1, -1, 205, -1, 1816, 5659, 5660, 5661,
+ -1, -1, -1, 5665, -1, -1, -1, 5669, -1, -1,
+ 5672, -1, 1832, -1, -1, -1, -1, -1, -1, 5681,
+ -1, 5683, -1, 5685, 5686, -1, -1, -1, -1, -1,
+ 5692, -1, -1, -1, -1, -1, -1, -1, -1, 3595,
+ 5702, -1, 5704, -1, 492, -1, -1, -1, -1, -1,
+ -1, 5713, -1, 501, 502, 503, 504, 505, 506, 507,
+ 508, 509, -1, -1, 10, 276, 1886, 13, -1, 280,
+ -1, 17, 18, 19, -1, -1, -1, -1, -1, 290,
+ -1, 1901, -1, -1, 1904, 1905, 5748, 5749, 299, 35,
+ -1, -1, -1, -1, -1, -1, -1, 3653, -1, 45,
+ 311, -1, -1, -1, -1, -1, 52, -1, -1, -1,
+ -1, -1, -1, 25, -1, 1935, 1936, 5779, -1, 31,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 5793, 78, -1, -1, -1, -1, -1, -1, 350,
+ -1, -1, 353, 354, 10, -1, -1, 13, -1, -1,
+ -1, 17, 18, 19, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 76, 3721, -1, -1, 5830, 35,
+ -1, -1, -1, -1, 385, -1, -1, -1, -1, 45,
+ -1, 5843, -1, -1, -1, 5847, 52, -1, -1, -1,
+ -1, 5853, -1, -1, -1, -1, -1, -1, -1, -1,
+ 5862, 5863, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 3767, 78, -1, -1, -1, -1, 5879, -1, -1,
+ 132, -1, -1, 3779, 3780, -1, -1, 139, -1, -1,
+ 142, -1, 5894, 3789, -1, -1, -1, -1, 3794, 5901,
+ 3796, -1, -1, 454, -1, -1, -1, 193, -1, -1,
+ 2070, -1, 198, -1, -1, -1, -1, 169, -1, -1,
+ 3789, -1, -1, -1, 5926, -1, -1, 2533, -1, -1,
+ -1, 5933, -1, -1, -1, 221, 222, -1, -1, -1,
+ -1, 5943, -1, 3812, -1, -1, 3842, -1, -1, 5951,
+ 5952, 5953, -1, 205, -1, 5957, 242, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 5969, 5970, 5971,
+ -1, -1, -1, -1, 5976, 5977, -1, -1, 643, -1,
+ 5982, 3877, 3878, -1, -1, -1, -1, 193, -1, 654,
+ -1, -1, 198, 658, -1, -1, -1, 283, -1, -1,
+ 665, 666, 6004, -1, 669, -1, 671, 672, -1, -1,
+ -1, 297, -1, -1, 300, 221, 222, -1, -1, -1,
+ -1, 686, -1, -1, 276, -1, -1, -1, 280, -1,
+ -1, 6033, 6034, 6035, -1, -1, 242, 6039, 290, 704,
+ -1, -1, -1, -1, -1, -1, -1, 299, -1, -1,
+ -1, -1, -1, -1, -1, 6057, 6058, -1, -1, 311,
+ 725, -1, 727, -1, 2670, -1, -1, -1, 2674, 2675,
+ 6072, -1, 737, -1, -1, -1, -1, 283, -1, -1,
+ -1, -1, -1, -1, 6086, -1, -1, -1, -1, -1,
+ 25, 297, -1, -1, 300, -1, 31, -1, 350, -1,
+ 3969, 353, 354, -1, 390, 770, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 6119, 6120, 6121,
+ 6122, 6123, -1, -1, 6126, -1, 2732, -1, -1, -1,
+ -1, -1, 2738, 385, -1, -1, 6138, -1, -1, 6141,
+ 10, 76, -1, 13, -1, -1, -1, 17, 18, 19,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 6161,
+ -1, -1, -1, -1, -1, 35, -1, -1, -1, -1,
+ -1, -1, -1, 2779, -1, 45, 4072, -1, 6180, 6181,
+ -1, -1, 52, 6185, 390, -1, 851, 6189, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 132, -1, 6201,
+ 6202, -1, 454, 6205, 139, -1, 492, 142, 78, -1,
+ -1, -1, -1, -1, -1, 501, 502, 503, 504, 505,
+ 506, 507, 508, 509, -1, -1, -1, -1, 514, -1,
+ -1, -1, -1, -1, 169, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 51,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 934,
+ 205, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 10, -1, -1, 13, -1, -1, 492, 17, 18, 19,
+ -1, -1, -1, -1, -1, 501, 502, 503, 504, 505,
+ 506, 507, 508, 509, -1, 35, -1, -1, 514, -1,
+ -1, -1, -1, -1, -1, 45, -1, -1, -1, -1,
+ -1, -1, 52, 193, -1, -1, -1, -1, 198, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 276, -1, 1008, -1, 280, -1, -1, 78, -1,
+ 2956, 221, 222, -1, -1, 290, -1, -1, -1, -1,
+ -1, -1, -1, -1, 299, -1, -1, -1, 1033, -1,
+ -1, -1, 242, -1, -1, -1, 311, -1, -1, -1,
+ -1, -1, 2988, 1048, -1, 1050, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 1060, -1, -1, -1, -1,
+ -1, -1, 1067, -1, -1, 4301, -1, -1, -1, -1,
+ -1, -1, -1, 283, -1, 350, -1, -1, 353, 354,
+ -1, -1, -1, -1, -1, -1, -1, 297, -1, -1,
+ 300, 4327, 4301, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 1110, 4342, 1112, -1, 4345,
+ 385, 4347, -1, -1, -1, 3061, -1, -1, 4327, 3065,
+ -1, -1, -1, 193, -1, -1, -1, -1, 198, -1,
+ -1, -1, 4341, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 4352, -1, -1, -1, -1, -1, -1,
+ -1, 221, 222, -1, -1, -1, -1, 4393, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 2670, -1, 242, 4409, 2674, 2675, -1, -1, 4414, 454,
+ 390, 1186, -1, 1188, -1, 1190, -1, 1192, -1, 1194,
+ 1195, 1196, -1, -1, -1, -1, 1201, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 1213, -1,
+ 25, -1, -1, 283, -1, -1, 31, -1, -1, 4428,
+ 4429, -1, 3168, -1, -1, -1, -1, 297, -1, -1,
+ 300, -1, 2732, -1, -1, -1, -1, 3183, 2738, -1,
+ -1, 10, 3188, -1, 13, -1, -1, -1, 17, 18,
+ 19, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 76, -1, -1, -1, -1, 35, -1, -1, -1,
+ 3216, -1, -1, -1, -1, -1, 45, 4513, -1, 2779,
+ 4516, -1, 492, 52, -1, -1, -1, -1, -1, -1,
+ -1, 501, 502, 503, 504, 505, 506, 507, 508, 509,
+ -1, -1, -1, -1, 514, -1, -1, 4516, -1, 78,
+ -1, -1, -1, -1, -1, -1, -1, 132, -1, -1,
+ 390, -1, -1, -1, 139, -1, -1, 142, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 10, -1, -1, 13, -1, -1, -1, 17, 18,
+ 19, -1, -1, -1, 169, -1, 4592, 4593, 4594, 4595,
+ 4569, 4597, 4598, 4599, 4600, 4601, 35, -1, -1, -1,
+ -1, -1, 10, -1, -1, 13, 45, -1, -1, 17,
+ 18, 19, -1, 52, -1, -1, -1, -1, 1393, -1,
+ 205, -1, -1, -1, -1, -1, -1, 35, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 45, -1, 78,
+ -1, -1, -1, -1, 52, -1, -1, -1, -1, -1,
+ -1, -1, 492, -1, 193, -1, -1, -1, -1, 198,
+ -1, 501, 502, 503, 504, 505, 506, 507, 508, 509,
+ 78, -1, -1, -1, 514, -1, -1, -1, -1, -1,
+ -1, -1, 221, 222, -1, -1, -1, -1, -1, -1,
+ -1, 276, -1, -1, -1, 280, -1, -1, -1, -1,
+ -1, -1, -1, 242, 4710, 290, 4712, -1, -1, -1,
+ -1, -1, -1, -1, 299, -1, -1, -1, 2988, -1,
+ -1, -1, 25, -1, -1, -1, 311, -1, 31, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 1513, -1,
+ -1, -1, -1, -1, 283, -1, 3462, -1, -1, 3465,
+ -1, 3467, -1, -1, 193, -1, 3472, -1, 297, 198,
+ -1, 300, -1, -1, -1, 350, -1, -1, 353, 354,
+ -1, -1, -1, 76, -1, -1, -1, -1, -1, -1,
+ -1, -1, 221, 222, -1, 193, -1, -1, -1, -1,
+ 198, 3061, -1, 705, -1, 3065, -1, -1, -1, -1,
+ 385, -1, -1, 242, 3520, -1, -1, -1, -1, -1,
+ 1585, -1, 3528, 221, 222, -1, -1, -1, -1, 731,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 132,
+ -1, -1, -1, -1, 242, -1, 139, 3553, -1, 142,
+ -1, -1, 4821, -1, 283, -1, 10, -1, 4827, 13,
+ -1, 390, 4831, 17, 18, 19, -1, -1, 297, -1,
+ -1, 300, -1, -1, -1, -1, 169, -1, -1, 454,
+ -1, 35, -1, -1, -1, 283, -1, -1, -1, 4858,
+ 4859, 45, -1, -1, 4863, 4864, -1, -1, 52, 297,
+ -1, -1, 300, -1, -1, -1, -1, -1, 3168, -1,
+ -1, -1, 205, -1, -1, -1, -1, 3623, -1, 3625,
+ -1, -1, -1, 3183, 78, -1, -1, -1, 3188, -1,
+ -1, -1, -1, -1, 4930, 4931, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 4943, -1, 4945,
+ 4946, 4947, -1, -1, -1, -1, 3216, -1, -1, 10,
+ -1, 390, 13, 492, -1, -1, 17, 18, 19, -1,
+ -1, 873, 501, 502, 503, 504, 505, 506, 507, 508,
+ 509, -1, -1, 276, 35, 514, -1, 280, -1, -1,
+ -1, -1, 390, -1, 45, -1, -1, 290, -1, -1,
+ -1, 52, -1, -1, -1, -1, 299, -1, -1, -1,
+ -1, -1, -1, 3719, -1, 5011, 10, -1, 311, 13,
+ -1, -1, -1, 17, 18, 19, -1, 78, -1, -1,
+ -1, -1, -1, -1, -1, -1, 1801, -1, -1, 193,
+ 3746, 35, -1, -1, 198, -1, 3752, -1, -1, -1,
+ -1, 45, -1, -1, 5050, 3761, -1, 350, 52, -1,
+ 353, 354, -1, 492, -1, -1, -1, 221, 222, -1,
+ -1, 1836, 501, 502, 503, 504, 505, 506, 507, 508,
+ 509, -1, -1, 3789, 78, 514, -1, -1, 242, -1,
+ -1, -1, 385, -1, 492, -1, -1, 5093, -1, -1,
+ -1, -1, -1, 501, 502, 503, 504, 505, 506, 507,
+ 508, 509, -1, -1, -1, -1, 514, 1882, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 283,
+ -1, -1, -1, 1035, -1, -1, -1, 1902, -1, -1,
+ -1, -1, 193, 297, 1046, -1, 300, 198, -1, -1,
+ -1, 3857, -1, -1, -1, -1, -1, -1, -1, -1,
+ 1062, 454, -1, 1928, -1, 1930, -1, -1, -1, -1,
+ 221, 222, -1, 3879, -1, -1, -1, -1, -1, -1,
+ 1945, -1, 1947, -1, -1, -1, -1, -1, 1953, -1,
+ 1955, 242, 1957, -1, 1959, 3901, 1961, -1, -1, 193,
+ 1965, -1, 3462, -1, 198, 3465, -1, 3467, -1, -1,
+ 10, -1, 3472, 13, -1, -1, -1, 17, 18, 19,
+ -1, -1, -1, -1, -1, -1, -1, 221, 222, -1,
+ -1, -1, 283, -1, -1, 35, 390, 2002, -1, -1,
+ -1, -1, -1, -1, -1, 45, 297, -1, 242, 300,
+ -1, -1, 52, -1, -1, -1, -1, -1, -1, -1,
+ 3520, 5257, -1, -1, -1, -1, -1, -1, 3528, -1,
+ -1, -1, -1, -1, -1, -1, -1, 3983, 78, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 5257, 283,
+ -1, -1, -1, 3553, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 297, -1, -1, 300, 5303, -1, -1,
+ -1, -1, -1, -1, -1, -1, 5312, 1219, -1, -1,
+ 4026, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 492, 390,
+ -1, -1, -1, -1, -1, 4051, -1, 501, 502, 503,
+ 504, 505, 506, 507, 508, 509, -1, -1, -1, -1,
+ 514, -1, -1, 3623, -1, 3625, -1, -1, -1, -1,
+ -1, 206, 207, -1, -1, -1, -1, -1, -1, 214,
+ -1, 216, 217, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 193, -1, 230, 390, -1, 198, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 221, 222, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 492, 242, -1, -1, -1, -1, -1, -1, -1,
+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 3719,
+ -1, -1, -1, 514, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 283, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 297, 492, -1,
+ 300, 3761, -1, -1, -1, 4211, -1, 501, 502, 503,
+ 504, 505, 506, 507, 508, 509, -1, -1, -1, -1,
+ 514, -1, -1, -1, -1, -1, -1, -1, -1, 3789,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 5541, -1, -1, -1, 5545,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 1472, -1, 5541, -1, -1, -1, -1, 198, 199, -1,
+ -1, 202, -1, -1, -1, -1, -1, -1, -1, -1,
+ 390, -1, -1, -1, -1, 4301, -1, 3857, -1, -1,
+ -1, 222, -1, -1, -1, -1, -1, -1, 229, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 3879,
+ -1, 4327, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 1539, -1, -1,
+ -1, 3901, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 1580, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 492, -1, -1, -1, -1, -1, -1, -1,
+ -1, 501, 502, 503, 504, 505, 506, 507, 508, 509,
+ -1, 1613, -1, -1, 514, -1, -1, -1, -1, -1,
+ -1, -1, -1, 3983, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 5740, -1, -1, -1, 5744, -1,
+ 5746, -1, -1, -1, 5750, 5751, -1, -1, -1, -1,
+ -1, 5730, -1, 4469, -1, -1, 4026, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 4051, -1, 10, -1, -1, 13, -1, -1, -1,
+ 17, 18, 19, -1, -1, -1, -1, 642, -1, -1,
+ 4516, -1, -1, -1, -1, 4521, -1, -1, 35, -1,
+ -1, -1, -1, -1, -1, -1, 661, -1, 45, -1,
+ -1, -1, 667, -1, -1, 52, -1, -1, -1, -1,
+ -1, -1, -1, -1, 679, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 695, 78, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 709, 710, -1, -1, -1, -1,
+ -1, 716, -1, 718, 719, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 732, -1, 2664,
+ 2665, -1, -1, 1805, -1, -1, -1, 742, -1, -1,
+ -1, -1, -1, -1, 1816, -1, -1, -1, 2683, 2684,
+ -1, 2686, 2687, -1, -1, -1, 2691, 2692, -1, -1,
+ 1832, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 2706, -1, -1, -1, -1, -1, -1, 2713, -1,
+ -1, 4211, 2717, 2718, -1, -1, 2721, 2722, -1, -1,
+ 795, -1, -1, 2728, -1, -1, 4672, -1, -1, -1,
+ -1, -1, -1, -1, -1, 2740, 193, -1, -1, -1,
+ -1, 198, -1, -1, 1886, -1, -1, 2752, 823, -1,
+ -1, -1, 2757, -1, -1, -1, -1, -1, -1, 1901,
+ -1, -1, 1904, 1905, 221, 222, -1, 2772, -1, -1,
+ -1, -1, -1, 848, 6010, -1, 2781, -1, -1, 2784,
+ -1, 2786, 2787, 2788, -1, 242, -1, -1, 2793, 2794,
+ 651, -1, 653, 1935, 1936, 656, -1, -1, 2803, -1,
+ -1, 4301, -1, -1, 2809, -1, -1, -1, 2813, 670,
+ -1, -1, -1, -1, -1, 676, -1, -1, -1, -1,
+ 2825, 2826, -1, -1, -1, 2830, 283, 4327, -1, -1,
+ -1, 2836, 2837, 908, -1, -1, -1, -1, -1, -1,
+ 297, -1, -1, 300, -1, 2850, -1, -1, 2853, -1,
+ -1, -1, 4798, -1, -1, 2860, 2861, -1, -1, -1,
+ -1, 2866, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 2878, -1, -1, 2881, -1, -1, -1,
+ -1, 2886, -1, -1, -1, -1, -1, 2892, 2893, -1,
+ -1, -1, 4838, -1, -1, 2900, -1, -1, -1, 2904,
+ -1, -1, -1, 2908, 2909, 2910, 2911, -1, 2913, -1,
+ -1, -1, 6148, -1, 4860, 6151, -1, -1, -1, -1,
+ -1, 2926, 2927, -1, 2929, -1, -1, -1, 2070, -1,
+ -1, -1, -1, 390, -1, 2940, 2941, 2942, -1, 6148,
+ -1, -1, -1, 1018, -1, -1, 10, -1, -1, 13,
+ 1025, -1, -1, 17, 18, 19, -1, 6193, -1, -1,
+ -1, 1036, -1, -1, -1, 1040, -1, 1042, -1, 4469,
+ -1, 35, -1, -1, -1, 6211, -1, -1, 6214, -1,
+ -1, 45, -1, -1, 6193, -1, 4932, -1, 52, -1,
+ -1, -1, 2997, -1, -1, -1, -1, -1, -1, -1,
+ 3005, -1, 6211, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 78, -1, 4516, -1, -1, 3024,
+ -1, 4521, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 492, -1, -1, -1, -1,
+ -1, -1, -1, -1, 501, 502, 503, 504, 505, 506,
+ 507, 508, 509, -1, -1, -1, -1, 514, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 3074,
+ -1, -1, -1, -1, 1149, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 3093, -1,
+ 3095, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 961, 962, -1, -1, -1, 5051, -1, 5053, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 10, -1, -1, 13, -1, 193,
+ -1, 17, 18, 19, 198, 1210, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 1221, -1, -1, 35,
+ -1, -1, 38, -1, -1, -1, -1, 221, 222, 45,
+ -1, -1, -1, 1238, -1, -1, 52, -1, 1243, -1,
+ -1, 1032, 4672, -1, -1, -1, -1, -1, 242, -1,
+ -1, -1, -1, -1, -1, 3190, 1047, -1, -1, -1,
+ -1, -1, 78, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 1078, 1079, 283,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 297, -1, -1, 300, -1, -1, -1,
+ -1, -1, 5188, 1104, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 1144, 1145, -1, 207, -1, -1, -1,
+ -1, -1, -1, 1368, -1, 216, -1, -1, 4798, -1,
+ -1, 1376, 1377, -1, -1, -1, -1, 193, -1, 230,
+ -1, 5257, 198, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 390, -1, -1, -1,
+ -1, -1, -1, -1, -1, 221, 222, -1, 4838, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 1429, -1, 242, -1, -1, -1,
+ 4860, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 283, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 297, -1, -1, 300, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 492, -1,
+ -1, 5377, 4932, -1, -1, -1, -1, 501, 502, 503,
+ 504, 505, 506, 507, 508, 509, 10, -1, 512, 13,
+ -1, -1, -1, 17, 18, 19, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 35, -1, -1, -1, 39, -1, -1, -1, -1,
+ -1, 45, -1, -1, -1, -1, -1, -1, 52, -1,
+ 3495, -1, -1, -1, -1, -1, -1, -1, -1, 10,
+ -1, -1, 13, -1, 390, -1, 17, 18, 19, -1,
+ 3515, -1, -1, -1, 78, -1, -1, -1, 51, -1,
+ -1, -1, -1, -1, 35, -1, -1, 3532, 2670, -1,
+ -1, 3536, 2674, 2675, 45, -1, 3541, 3542, 3543, -1,
+ -1, 52, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 5053, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 5509, -1, 129, -1, 78, 5514, 5515,
+ -1, -1, 3577, 3578, 3579, 3580, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 2732, -1, -1, -1, 51, -1, 2738, -1, -1, -1,
+ -1, -1, 3607, 1678, -1, -1, 492, -1, -1, -1,
+ 3615, -1, 3617, 3618, 3619, 501, 502, 503, 504, 505,
+ 506, 507, 508, 509, -1, -1, -1, -1, -1, 193,
+ -1, -1, -1, -1, 198, -1, -1, 2779, -1, -1,
+ -1, -1, -1, -1, 10, -1, -1, 13, -1, -1,
+ -1, 17, 18, 19, -1, -1, -1, 221, 222, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 35,
+ -1, 1532, -1, -1, -1, -1, -1, -1, 242, 45,
+ 5626, 5627, 193, -1, -1, -1, 52, 198, 5188, -1,
+ -1, -1, 10, -1, -1, 13, 1557, -1, -1, 17,
+ 18, 19, -1, -1, -1, -1, -1, -1, -1, -1,
+ 221, 222, 78, -1, -1, -1, -1, 35, 1793, 283,
+ -1, 642, -1, -1, -1, -1, -1, 45, 3733, -1,
+ 5676, 242, -1, 297, 52, -1, 300, 3742, -1, -1,
+ 661, -1, -1, -1, -1, -1, 667, -1, -1, -1,
+ -1, -1, -1, 1828, -1, -1, -1, 5257, 679, -1,
+ 78, -1, -1, 3768, 3769, -1, -1, -1, 3773, -1,
+ -1, -1, 283, 1634, 695, -1, 1851, -1, -1, -1,
+ -1, -1, -1, -1, 1859, -1, 297, -1, -1, 710,
+ 3795, -1, 1867, -1, -1, -1, -1, 718, -1, -1,
+ -1, 167, -1, 1664, 1665, 1666, 1667, -1, -1, -1,
+ -1, 732, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 742, -1, -1, -1, -1, 390, 193, -1, -1,
+ -1, -1, 198, 1908, 1909, -1, 1911, 1912, -1, -1,
+ -1, -1, 3847, -1, -1, -1, 2988, 3852, 1923, -1,
+ 1925, 1926, -1, 3858, -1, 221, 222, -1, -1, -1,
+ -1, -1, -1, 1938, 1939, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 795, 193, 242, 5377, -1, 390,
+ 198, -1, -1, 3888, -1, -1, -1, 451, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 1976, 823, 221, 222, 1980, 1981, -1, -1, -1,
+ -1, -1, 3917, -1, 3919, -1, -1, 283, -1, 3061,
+ -1, -1, -1, 3065, 242, -1, -1, 848, 492, -1,
+ -1, 297, -1, -1, 300, -1, -1, 501, 502, 503,
+ 504, 505, 506, 507, 508, 509, -1, -1, -1, -1,
+ 1811, 1812, -1, -1, -1, -1, -1, 323, -1, -1,
+ -1, -1, -1, -1, -1, 283, 1827, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 297,
+ -1, 492, 300, -1, -1, -1, -1, 908, -1, -1,
+ 501, 502, 503, 504, 505, 506, 507, 508, 509, -1,
+ 1861, 1862, 1863, 1864, -1, -1, -1, -1, -1, 5509,
+ -1, -1, -1, -1, 5514, 5515, 2091, -1, -1, -1,
+ -1, -1, -1, -1, 390, 10, 3168, -1, 13, -1,
+ -1, -1, 17, 18, 19, -1, -1, -1, -1, -1,
+ -1, 3183, -1, -1, -1, -1, 3188, -1, -1, -1,
+ 35, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 45, -1, -1, -1, -1, -1, -1, 52, -1, -1,
+ -1, -1, 390, -1, 3216, -1, -1, -1, -1, -1,
+ -1, 1942, -1, -1, -1, -1, -1, 1948, -1, -1,
+ -1, -1, -1, 78, -1, -1, -1, 1018, -1, -1,
+ -1, -1, -1, -1, 1025, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 492, 5627, -1, -1,
+ -1, -1, -1, -1, -1, 501, 502, 503, 504, 505,
+ 506, 507, 508, 509, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 705, 491, 492, -1, 5676, -1, -1, -1,
+ -1, -1, -1, 501, 502, 503, 504, 505, 506, 507,
+ 508, 509, -1, -1, -1, -1, -1, -1, 731, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 193, -1,
+ -1, -1, -1, 198, -1, -1, -1, -1, -1, -1,
+ -1, -1, 4227, -1, -1, 4230, -1, 4232, 1149, -1,
+ -1, -1, -1, -1, 6180, -1, 221, 222, -1, -1,
+ 4245, -1, -1, -1, -1, -1, -1, -1, 705, -1,
+ -1, -1, 4257, -1, -1, -1, 4261, 242, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 2129, -1,
+ -1, -1, -1, -1, 731, 4280, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 1210,
+ -1, -1, -1, 4298, -1, -1, -1, -1, 283, 4304,
+ 1221, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 297, -1, -1, 300, -1, 1238, -1, -1,
+ 3462, -1, 1243, 3465, 4329, 3467, -1, -1, 4333, -1,
+ 3472, -1, -1, -1, 319, -1, -1, -1, -1, -1,
+ 873, -1, -1, 4348, 4349, 4350, 4351, -1, -1, -1,
+ -1, -1, -1, 4358, 4359, 4360, 4361, -1, -1, -1,
+ -1, -1, 4367, 4368, -1, -1, -1, -1, 4373, 4374,
+ -1, 4376, 4377, 4378, 4379, 4380, 4381, 4382, 3520, -1,
+ -1, -1, -1, -1, -1, -1, 3528, 4392, -1, -1,
+ -1, 4396, 4397, 4398, 4399, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 390, -1, -1, -1, -1,
+ -1, 3553, -1, -1, -1, 4420, 873, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 4438, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 1368, -1, -1,
+ -1, -1, -1, -1, -1, 1376, 1377, -1, -1, -1,
+ -1, -1, 10, -1, -1, 13, -1, -1, -1, 17,
+ 18, 19, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 3623, -1, 3625, -1, -1, -1, 35, -1, -1,
+ 38, -1, -1, -1, -1, -1, -1, 45, -1, -1,
+ -1, -1, 1035, -1, 52, -1, -1, 492, 1429, 4514,
+ -1, -1, -1, 1046, -1, -1, 501, 502, 503, 504,
+ 505, 506, 507, 508, 509, -1, -1, -1, -1, 1062,
+ 78, -1, -1, 2608, -1, -1, -1, -1, -1, -1,
+ -1, -1, 4547, -1, -1, -1, -1, -1, -1, 4554,
+ -1, 4556, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 51, -1, -1, -1, 3719, 1035, 4584,
+ -1, -1, -1, -1, -1, -1, -1, -1, 2663, 1046,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 1062, 2681, -1, -1, -1,
+ 2685, -1, -1, -1, 2689, -1, -1, -1, -1, 3761,
+ -1, -1, -1, 2698, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 2716, -1, -1, -1, 193, -1, 3789, -1, -1,
+ 198, -1, -1, -1, -1, -1, -1, -1, 2733, -1,
+ 2735, 2736, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 221, 222, 2750, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 1219, -1, -1, -1,
+ -1, -1, -1, -1, 242, 2770, 2771, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 10, -1, 2574, 13, 3857, -1, -1, 17, 18,
+ 19, -1, -1, -1, -1, -1, 2801, 2802, -1, -1,
+ 2805, -1, -1, -1, -1, 283, 35, 3879, -1, -1,
+ -1, -1, -1, -1, -1, -1, 45, -1, -1, 297,
+ -1, -1, 300, 52, 2829, -1, 2831, 1678, -1, 3901,
+ 2835, -1, 1219, -1, 10, -1, -1, 13, -1, -1,
+ -1, 17, 18, 19, 2849, -1, -1, -1, -1, 78,
+ -1, 2856, -1, -1, 2859, -1, -1, -1, -1, 35,
+ 2865, -1, 38, -1, 4799, 4800, 4801, -1, -1, 45,
+ 4805, 4806, 4807, 4808, -1, -1, 52, 4812, -1, -1,
+ 2885, -1, -1, -1, -1, -1, 2891, -1, -1, -1,
+ -1, -1, -1, 2898, -1, -1, -1, -1, -1, -1,
+ -1, -1, 78, -1, -1, -1, -1, 2912, -1, -1,
+ -1, 3983, 390, -1, -1, 4850, 4851, 4852, 4853, 4854,
+ 2925, 4856, 4857, -1, -1, 2930, -1, -1, -1, -1,
+ -1, 2936, -1, 4868, 4869, -1, -1, -1, -1, -1,
+ -1, -1, 1793, -1, -1, 174, -1, -1, 2739, -1,
+ -1, -1, -1, -1, 4026, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 193, -1, -1, 4902, -1, 198,
+ -1, -1, -1, -1, -1, -1, -1, 1828, -1, 4051,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 2996, 221, 222, -1, -1, -1, -1, -1, -1,
+ 1851, -1, -1, -1, -1, -1, -1, -1, 1859, 1472,
+ -1, -1, -1, 242, 492, -1, 1867, 193, -1, -1,
+ -1, -1, 198, 501, 502, 503, 504, 505, 506, 507,
+ 508, 509, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 221, 222, -1, -1, -1,
+ -1, -1, -1, -1, 283, -1, -1, -1, -1, -1,
+ 1911, 1912, -1, -1, -1, -1, 242, -1, 297, 5004,
+ -1, 300, -1, -1, 1925, -1, 1539, -1, -1, -1,
+ -1, -1, -1, -1, -1, 1472, 2877, 1938, 1939, 2880,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 283, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 1580, -1, -1,
+ -1, 297, -1, -1, 300, -1, -1, -1, -1, -1,
+ 51, -1, -1, -1, 5069, -1, -1, -1, -1, 4211,
+ -1, -1, -1, -1, -1, -1, 3151, -1, 3153, -1,
+ 1613, -1, 1539, -1, -1, -1, -1, -1, -1, -1,
+ -1, 390, -1, -1, -1, 3170, 5101, -1, -1, -1,
+ -1, -1, 3177, -1, -1, -1, -1, 2968, -1, 3184,
+ -1, 3186, 3187, -1, -1, -1, -1, -1, -1, -1,
+ 2981, -1, -1, 1580, -1, -1, -1, -1, 2989, -1,
+ -1, -1, -1, 25, -1, -1, -1, -1, -1, 31,
+ -1, -1, -1, -1, 390, -1, 38, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 1613, -1, -1, 4301,
+ -1, -1, -1, -1, -1, -1, -1, 3028, 60, -1,
+ 2091, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 76, 4327, -1, -1, 3049, -1,
+ 5195, -1, 3267, 492, -1, -1, -1, -1, 3273, -1,
+ -1, -1, 501, 502, 503, 504, 505, 506, 507, 508,
+ 509, -1, -1, -1, -1, -1, -1, -1, -1, 111,
+ -1, -1, -1, -1, -1, -1, -1, 705, -1, -1,
+ -1, 3092, -1, 3094, -1, -1, -1, -1, -1, -1,
+ 132, -1, -1, -1, -1, -1, 492, 139, -1, -1,
+ 142, -1, -1, 731, 5259, 501, 502, 503, 504, 505,
+ 506, 507, 508, 509, -1, -1, -1, -1, -1, -1,
+ -1, -1, 1805, 5278, -1, -1, 51, 169, -1, 5284,
+ 5285, -1, 3357, 1816, -1, -1, -1, -1, -1, 5294,
+ -1, -1, -1, -1, -1, -1, 5301, -1, -1, 1832,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 201,
+ -1, -1, -1, 205, -1, -1, -1, -1, -1, -1,
+ -1, 3182, -1, -1, -1, -1, -1, 4469, 3189, -1,
+ -1, 5336, 5337, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 5349, -1, 5351, -1, 1805, -1,
+ -1, -1, -1, 1886, -1, -1, -1, -1, -1, 1816,
+ -1, 5366, -1, -1, -1, 257, -1, -1, 1901, 261,
+ -1, 1904, 1905, -1, 4516, 1832, -1, -1, -1, 4521,
+ -1, -1, -1, -1, 276, -1, 5391, -1, 280, -1,
+ -1, -1, -1, -1, 5399, 873, -1, -1, 290, -1,
+ -1, -1, 1935, 1936, -1, -1, -1, 299, -1, -1,
+ -1, -1, 3487, 3488, -1, -1, -1, -1, 310, 311,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 1886,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 3514,
+ -1, -1, 3517, -1, 1901, -1, -1, 1904, 1905, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 350, -1,
+ -1, 353, 354, 355, -1, -1, -1, -1, 5473, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 1935, 1936,
+ -1, -1, -1, -1, -1, -1, -1, 379, -1, -1,
+ -1, -1, 5497, 385, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 5508, -1, -1, -1, 399, -1, -1,
+ -1, -1, -1, -1, 3589, 3590, 3591, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 4672, -1, -1, -1, -1, -1, -1, 2070, -1, 3614,
+ 10, -1, -1, 13, -1, -1, -1, 17, 18, 19,
+ -1, -1, -1, -1, -1, -1, -1, 1035, 3633, -1,
+ -1, -1, 454, -1, -1, 35, -1, -1, 1046, -1,
+ 5575, -1, -1, -1, -1, 45, -1, -1, -1, -1,
+ 3655, -1, 52, -1, 1062, -1, -1, 10, -1, -1,
+ 13, -1, -1, -1, 17, 18, 19, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 78, -1,
+ -1, -1, 35, 2070, -1, 38, -1, -1, -1, -1,
+ -1, -1, 45, -1, -1, -1, -1, -1, -1, 52,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 5645, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 78, 4798, -1, -1, -1,
+ -1, -1, 3523, 3524, -1, -1, 3741, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 2608, -1, -1,
+ -1, -1, -1, -1, -1, -1, 4838, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 5711, -1, -1, -1,
+ -1, -1, -1, 3788, 705, -1, -1, -1, 4860, 3794,
+ 5725, 3796, -1, 193, -1, -1, -1, -1, 198, -1,
+ -1, -1, -1, -1, 3809, -1, 3811, -1, -1, -1,
+ 731, 1219, 2663, -1, -1, -1, -1, -1, -1, -1,
+ -1, 221, 222, -1, -1, -1, -1, -1, -1, -1,
+ 2681, -1, -1, -1, 2685, -1, -1, -1, 2689, -1,
+ 193, -1, 242, -1, -1, 198, -1, 2698, -1, 5784,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 4932, -1, -1, -1, -1, 2716, -1, -1, 221, 222,
+ -1, -1, -1, 3878, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 283, -1, -1, -1, 10, -1, 242,
+ 13, -1, -1, -1, 17, 18, 19, 297, -1, 2750,
+ 300, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 35, -1, -1, 3920, -1, -1, -1, 2770,
+ 2771, -1, 45, -1, -1, -1, -1, -1, -1, 52,
+ 283, -1, -1, -1, 3939, -1, -1, -1, 3943, -1,
+ -1, -1, -1, 5878, 297, -1, -1, 300, -1, -1,
+ 2801, 2802, 873, -1, 2805, 78, -1, -1, -1, 3964,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 3763, -1, -1, 5910, -1, -1, 2829, -1,
+ 2831, 5053, -1, -1, 2835, -1, 5921, -1, -1, -1,
+ 390, -1, -1, -1, -1, -1, -1, -1, 2849, -1,
+ 705, -1, -1, -1, -1, 2856, -1, -1, 2859, -1,
+ -1, -1, -1, -1, 2865, -1, -1, -1, -1, -1,
+ -1, -1, -1, 423, -1, -1, 731, -1, -1, -1,
+ -1, -1, -1, -1, 2885, -1, -1, 390, -1, -1,
+ 2891, -1, -1, -1, -1, -1, -1, 2898, -1, -1,
+ -1, 174, -1, -1, -1, -1, -1, -1, 4063, -1,
+ -1, 2912, -1, -1, 1472, -1, -1, -1, -1, -1,
+ 193, -1, -1, -1, 2925, 198, -1, -1, -1, 2930,
+ -1, -1, -1, -1, -1, 2936, -1, -1, 6023, -1,
+ -1, -1, 492, -1, -1, -1, -1, -1, 221, 222,
+ -1, 501, 502, 503, 504, 505, 506, 507, 508, 509,
+ -1, -1, -1, -1, 1035, -1, 5188, -1, -1, 242,
+ -1, -1, -1, -1, -1, 1046, -1, -1, -1, -1,
+ -1, 1539, 3923, -1, -1, -1, -1, -1, -1, 492,
+ -1, 1062, -1, -1, -1, 2996, -1, -1, 501, 502,
+ 503, 504, 505, 506, 507, 508, 509, -1, -1, -1,
+ 283, -1, -1, -1, -1, -1, -1, -1, 873, -1,
+ -1, -1, 1580, -1, 297, -1, -1, 300, -1, -1,
+ -1, -1, -1, -1, -1, 5257, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 1613, -1, 2670, -1, -1,
+ -1, 2674, 2675, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 4244,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 390, -1, 2732,
+ -1, -1, -1, -1, -1, 2738, -1, -1, -1, -1,
+ -1, -1, -1, 2670, -1, -1, -1, 2674, 2675, -1,
+ 4295, -1, -1, -1, -1, 4300, -1, 4302, 1219, -1,
+ 3151, -1, 3153, -1, -1, 5377, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 2779, -1, -1, 3170,
+ -1, 4326, -1, -1, -1, -1, 3177, -1, -1, -1,
+ 1035, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 1046, -1, -1, -1, 2732, -1, -1, -1, -1,
+ -1, 2738, -1, -1, -1, -1, -1, 1062, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 4372, -1, 492,
+ 4375, -1, -1, -1, -1, -1, -1, -1, 501, 502,
+ 503, 504, 505, 506, 507, 508, 509, -1, -1, -1,
+ -1, -1, 2779, -1, -1, -1, -1, 1805, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 1816, -1,
+ -1, -1, -1, -1, -1, -1, 3267, -1, -1, -1,
+ -1, -1, 3273, 10, 1832, -1, 13, -1, -1, -1,
+ 17, 18, 19, -1, -1, -1, -1, 5509, -1, -1,
+ -1, -1, 5514, 5515, -1, -1, -1, -1, 35, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 45, -1,
+ 4465, 4466, -1, -1, -1, 52, -1, -1, -1, -1,
+ -1, 4476, -1, -1, -1, -1, -1, -1, 1886, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 4493, -1,
+ -1, 78, -1, 1901, -1, -1, 1904, 1905, -1, -1,
+ -1, -1, -1, -1, -1, -1, 3357, -1, -1, -1,
+ -1, -1, -1, -1, 1219, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 2988, -1, 1935, 1936, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 1472, -1, -1, -1, 5627, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 4574,
+ -1, -1, 4577, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 174, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 3061, -1,
+ -1, 2988, 3065, -1, 5676, -1, 193, -1, -1, -1,
+ -1, 198, -1, -1, -1, -1, -1, -1, 1539, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 4423, -1, 221, 222, 3487, 3488, -1, -1,
+ -1, -1, -1, -1, -1, -1, 4437, -1, -1, -1,
+ -1, -1, -1, -1, -1, 242, -1, -1, -1, 1580,
+ -1, -1, 2070, 3514, -1, -1, 3517, -1, -1, -1,
+ -1, -1, -1, -1, 3061, -1, -1, -1, 3065, -1,
+ -1, 10, -1, -1, 13, -1, -1, -1, 17, 18,
+ 19, -1, 1613, -1, -1, -1, 283, -1, -1, -1,
+ -1, -1, -1, -1, -1, 3168, 35, -1, -1, -1,
+ 297, -1, -1, 300, -1, -1, 45, -1, -1, -1,
+ 3183, -1, -1, 52, -1, 3188, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 3589, 3590,
+ 3591, -1, -1, -1, -1, -1, -1, -1, -1, 78,
+ -1, -1, -1, 3216, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 3614, -1, -1, -1, 1472, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 3168, 3633, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 3183, -1, -1, -1,
+ -1, 3188, -1, 390, 3655, -1, 4811, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 10, -1,
+ -1, 13, -1, -1, -1, 17, 18, 19, -1, 3216,
+ -1, -1, -1, -1, 1539, -1, -1, -1, -1, 168,
+ -1, -1, -1, 35, -1, -1, -1, -1, -1, -1,
+ 4855, -1, -1, 45, -1, -1, -1, -1, -1, -1,
+ 52, -1, 4867, -1, 193, -1, -1, -1, -1, 198,
+ -1, -1, -1, -1, -1, 1580, -1, -1, -1, -1,
+ -1, -1, -1, -1, 1805, -1, 78, -1, -1, -1,
+ 3741, -1, 221, 222, -1, 1816, 4901, -1, -1, -1,
+ -1, -1, -1, -1, -1, 492, -1, -1, 1613, -1,
+ -1, 1832, -1, 242, 501, 502, 503, 504, 505, 506,
+ 507, 508, 509, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 3788, -1, -1,
+ -1, -1, -1, 3794, -1, 3796, -1, -1, -1, -1,
+ -1, -1, -1, -1, 283, 147, -1, -1, 3809, -1,
+ 3811, -1, -1, -1, -1, 1886, -1, -1, 297, -1,
+ -1, 300, -1, -1, 4979, -1, -1, -1, -1, -1,
+ 1901, -1, -1, 1904, 1905, -1, -1, -1, -1, -1,
+ -1, -1, -1, 4998, -1, -1, -1, -1, -1, 3462,
+ -1, 193, 3465, -1, 3467, -1, 198, -1, -1, 3472,
+ -1, -1, -1, -1, 1935, 1936, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 3878, -1, 221,
+ 222, -1, -1, -1, -1, -1, 208, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 220, -1,
+ 242, -1, -1, -1, -1, -1, -1, 3520, -1, 231,
+ -1, 390, -1, -1, -1, 3528, -1, -1, -1, 3920,
+ -1, -1, -1, -1, -1, 3462, -1, -1, 3465, 5084,
+ 3467, -1, -1, -1, -1, 3472, -1, -1, 3939, -1,
+ 3553, 283, 3943, -1, -1, -1, -1, -1, -1, -1,
+ 1805, -1, -1, -1, -1, 297, -1, -1, 300, -1,
+ -1, 1816, -1, 3964, -1, -1, -1, -1, -1, -1,
+ -1, 4912, -1, -1, -1, -1, -1, 1832, -1, -1,
+ -1, -1, -1, 3520, -1, -1, 4927, -1, -1, -1,
+ -1, 3528, -1, -1, -1, -1, -1, -1, -1, 2070,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 3623, -1, 3625, 492, -1, -1, 3553, -1, -1, -1,
+ -1, -1, 501, 502, 503, 504, 505, 506, 507, 508,
+ 509, 1886, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 1901, -1, 390, 1904,
+ 1905, -1, -1, -1, -1, 5210, -1, 5212, -1, -1,
+ -1, -1, 4063, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 5018, -1, -1,
+ 1935, 1936, -1, -1, -1, -1, 3623, -1, 3625, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 5258, -1, -1, 3719, -1, -1, -1,
+ -1, -1, 2670, 5268, -1, -1, 2674, 2675, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 3761, -1,
+ 492, -1, -1, 5308, -1, -1, -1, -1, 5313, 501,
+ 502, 503, 504, 505, 506, 507, 508, 509, -1, -1,
+ -1, -1, -1, -1, 2732, -1, 3789, -1, -1, -1,
+ 2738, -1, 3719, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 10, -1, -1, 13, -1, -1, -1, 17, 18, 19,
+ -1, -1, -1, -1, -1, 2070, -1, -1, -1, -1,
+ -1, 2779, -1, -1, 3761, 35, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 45, -1, -1, -1, -1,
+ -1, -1, 52, 4244, 3857, -1, -1, -1, -1, -1,
+ -1, -1, 3789, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 3879, -1, 78, -1,
+ -1, -1, -1, -1, -1, -1, -1, 5218, -1, 5220,
+ -1, -1, -1, -1, -1, -1, -1, -1, 3901, -1,
+ -1, -1, -1, -1, 4295, -1, -1, -1, -1, 4300,
+ -1, 4302, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 3857, 643, -1, -1, -1, 4326, -1, 649, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 3879, -1, -1, -1, -1, -1, -1, -1,
+ 10, -1, -1, 13, -1, -1, -1, 17, 18, 19,
+ -1, -1, -1, -1, 3901, -1, -1, -1, -1, -1,
+ 3983, 4372, 5527, -1, 4375, 35, -1, -1, -1, -1,
+ -1, -1, -1, 193, -1, 45, 5541, -1, 198, -1,
+ -1, -1, 52, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 221, 222, 4026, -1, -1, -1, 5572, 78, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 2988, 5372, 242, -1, -1, -1, -1, -1, 4051, -1,
+ -1, -1, -1, -1, -1, -1, 3983, -1, -1, -1,
+ -1, -1, -1, 10, -1, -1, 13, -1, -1, -1,
+ 17, 18, 19, -1, 4465, 4466, -1, -1, -1, -1,
+ -1, -1, -1, 283, -1, 4476, -1, -1, 35, -1,
+ -1, -1, -1, -1, -1, -1, -1, 297, 45, 4026,
+ 300, -1, 4493, -1, -1, 52, -1, -1, 820, -1,
+ -1, -1, -1, 3061, -1, -1, -1, 3065, 168, -1,
+ -1, -1, -1, -1, 4051, -1, -1, 839, 5673, -1,
+ -1, 78, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 193, -1, -1, -1, -1, 198, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 221, 222, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 4574, -1, -1, 4577, -1, -1, -1,
+ 390, -1, 242, 5738, -1, 5740, -1, 909, -1, -1,
+ 5531, -1, 5533, -1, -1, -1, -1, -1, 4211, 2670,
+ -1, -1, -1, 2674, 2675, -1, -1, -1, -1, -1,
+ 3168, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 283, -1, 3183, -1, -1, -1, -1,
+ 3188, -1, -1, -1, 956, -1, 193, 297, -1, -1,
+ 300, 198, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 466, -1, 3216, -1,
+ -1, 2732, -1, -1, 221, 222, -1, 2738, -1, -1,
+ -1, -1, -1, -1, 4211, -1, -1, -1, -1, -1,
+ -1, -1, 492, -1, -1, 242, -1, -1, 4301, -1,
+ -1, 501, 502, 503, 504, 505, 506, 507, 508, 509,
+ -1, -1, -1, -1, -1, -1, -1, -1, 2779, -1,
+ -1, 5866, -1, -1, 4327, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 5879, -1, 283, -1, -1, -1,
+ 390, -1, -1, -1, -1, -1, -1, 5892, -1, -1,
+ 297, -1, -1, 300, -1, -1, -1, -1, -1, 1071,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 4301, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 1100, 1101,
+ 1102, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 4327, -1, -1, -1, -1, -1, 5951, 5952, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 4811, -1, -1, -1, -1, 2670, -1, -1, -1, 2674,
+ 2675, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 492, 390, -1, -1, -1, -1, 5779, -1,
+ -1, 501, 502, 503, 504, 505, 506, 507, 508, 509,
+ -1, -1, -1, -1, 4855, 6010, 4469, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 4867, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 2732, -1, -1,
+ -1, -1, -1, 2738, -1, -1, -1, 1209, -1, -1,
+ -1, -1, -1, -1, -1, -1, 817, 818, -1, -1,
+ 4901, -1, -1, 4516, 3462, -1, -1, 3465, 4521, 3467,
+ -1, -1, -1, -1, 3472, 1237, -1, 2988, -1, -1,
+ -1, -1, -1, -1, 2779, -1, -1, -1, -1, -1,
+ -1, -1, 4469, -1, -1, 492, -1, -1, -1, -1,
+ -1, -1, -1, -1, 501, 502, 503, 504, 505, 506,
+ 507, 508, 509, 5894, -1, -1, -1, -1, -1, -1,
+ -1, -1, 3520, -1, -1, -1, -1, -1, -1, -1,
+ 3528, -1, -1, -1, 895, -1, -1, -1, 4979, 4516,
+ -1, -1, -1, -1, 4521, -1, -1, -1, -1, -1,
+ 3061, -1, -1, 6148, 3065, 3553, -1, 4998, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 6193, -1,
+ -1, -1, -1, -1, -1, -1, 6201, 6202, -1, -1,
+ -1, -1, -1, -1, -1, -1, 6211, -1, -1, 4672,
+ 1382, -1, -1, 6004, -1, 3623, -1, 3625, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 5084, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 6034, 6035, 1016, 1017, 3168, -1, 23,
+ -1, -1, -1, -1, 28, -1, -1, -1, -1, -1,
+ -1, -1, 3183, -1, -1, -1, -1, 3188, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 2988, -1, 4672, -1, -1, -1, -1,
+ 1462, -1, 66, -1, -1, 3216, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 79, 80, -1, -1, -1,
+ -1, 3719, -1, -1, -1, -1, -1, 91, -1, -1,
+ -1, 95, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 4798, -1, -1, -1, 113,
+ -1, -1, -1, -1, -1, -1, -1, 6138, -1, -1,
+ -1, -1, -1, 3761, -1, -1, 3061, -1, -1, 5210,
+ 3065, 5212, -1, 137, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 1545, 148, 4838, -1, -1, -1, -1,
+ -1, 3789, 1554, 157, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 170, 4860, -1, -1,
+ -1, -1, 176, -1, -1, -1, -1, 5258, -1, -1,
+ -1, 4798, -1, -1, 1586, -1, -1, -1, -1, -1,
+ 1592, 1593, -1, -1, 1596, -1, -1, -1, -1, 203,
+ -1, -1, -1, -1, -1, -1, -1, 1609, -1, -1,
+ 1612, -1, -1, -1, -1, -1, -1, -1, -1, 3857,
+ -1, 4838, -1, -1, -1, -1, -1, 5308, -1, -1,
+ 234, -1, -1, 3168, -1, -1, -1, -1, -1, 4932,
+ -1, 3879, -1, 4860, -1, -1, -1, -1, 3183, 25,
+ -1, -1, 256, 3188, 1255, 31, -1, -1, -1, -1,
+ -1, -1, 38, 3901, -1, -1, 1668, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 1682, 3216, -1, -1, 60, -1, -1, -1, -1, 1290,
+ -1, -1, -1, 297, -1, -1, -1, -1, -1, -1,
+ 76, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 3462, -1, -1, 3465, 4932, 3467, 321, 1319, 1320,
+ 1321, 3472, 1323, -1, -1, -1, -1, 331, 332, -1,
+ -1, 335, -1, -1, -1, 111, -1, -1, -1, -1,
+ -1, -1, 1343, -1, -1, 3983, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 132, -1, 362, -1,
+ 5053, 365, -1, 139, -1, 369, 142, -1, 372, 3520,
+ -1, -1, -1, -1, -1, 379, -1, 3528, 382, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 4026, -1,
+ 1792, -1, -1, 169, -1, -1, -1, 401, -1, -1,
+ -1, 1803, 3553, -1, 408, -1, -1, -1, -1, -1,
+ -1, 415, -1, 4051, 418, -1, -1, -1, 422, -1,
+ -1, -1, -1, -1, -1, 201, 430, -1, 432, 205,
+ -1, -1, -1, 437, -1, -1, 5053, -1, -1, -1,
+ -1, -1, -1, 1845, 1846, 1446, 5527, -1, -1, 1450,
+ 1451, -1, -1, -1, -1, -1, -1, -1, -1, 463,
+ 5541, -1, -1, -1, -1, -1, -1, -1, 1870, -1,
+ -1, -1, 3623, -1, 3625, 1877, -1, -1, -1, -1,
+ -1, 257, -1, -1, -1, 261, -1, -1, -1, -1,
+ -1, 5572, -1, -1, -1, 5188, -1, -1, -1, -1,
+ 276, -1, -1, -1, 280, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 290, -1, -1, -1, -1, -1,
+ -1, -1, -1, 299, -1, -1, -1, 3462, -1, -1,
+ 3465, -1, 3467, -1, 310, 311, -1, 3472, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 1950, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 5257, -1, -1, -1, 3719, -1,
+ -1, 5188, -1, 4211, 350, -1, -1, 353, 354, 355,
+ -1, 1983, 1984, -1, -1, 3520, -1, -1, -1, -1,
+ -1, -1, 5673, 3528, -1, -1, -1, -1, 2000, -1,
+ -1, 2003, -1, 379, -1, -1, -1, -1, -1, 385,
+ 3761, -1, -1, -1, -1, -1, -1, -1, 3553, -1,
+ -1, -1, -1, 399, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 3789, -1,
+ 5257, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 5738, -1, 5740,
+ -1, -1, -1, 4301, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 454, -1,
+ -1, -1, -1, -1, 5377, -1, -1, -1, 3623, 4327,
+ 3625, -1, 1693, 1694, 1695, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 3857, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 1335,
+ -1, -1, -1, -1, -1, -1, -1, -1, 3879, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 3901, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 5377, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 1390, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 3719, 5866, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 5892, -1, -1, -1, -1, 5509, -1, -1, -1,
+ -1, 5514, 5515, -1, -1, -1, 3761, -1, -1, -1,
+ -1, 4469, 3983, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 28, -1, 20, -1, 3789, -1, -1, -1, -1, -1,
+ -1, -1, -1, 31, -1, 33, 34, -1, -1, -1,
+ -1, -1, -1, -1, -1, 4026, -1, -1, 4516, -1,
+ -1, -1, -1, 4521, -1, -1, -1, -1, -1, -1,
+ -1, -1, 5509, 61, -1, -1, -1, 5514, 5515, -1,
+ 4051, 79, -1, -1, -1, 73, -1, 75, 76, -1,
+ -1, -1, -1, -1, 82, -1, 84, 95, -1, -1,
+ -1, -1, 3857, -1, -1, -1, -1, -1, 96, 6010,
+ 98, -1, -1, -1, 5627, 113, -1, -1, -1, -1,
+ -1, 119, -1, -1, 3879, -1, -1, 115, -1, -1,
+ 118, -1, -1, -1, -1, -1, -1, -1, -1, 137,
+ -1, -1, -1, -1, -1, 133, 3901, 135, -1, -1,
+ 148, 139, -1, -1, -1, -1, -1, 145, -1, 157,
+ -1, -1, -1, 5676, -1, 153, -1, 155, -1, -1,
+ -1, -1, 170, -1, 162, -1, -1, -1, 176, -1,
+ -1, -1, -1, -1, -1, 183, -1, -1, -1, -1,
+ 5627, -1, 180, -1, -1, -1, -1, -1, -1, -1,
+ -1, 2022, -1, -1, -1, 203, -1, -1, -1, 197,
+ 2031, 2032, 2033, 2034, 4672, -1, -1, 2038, -1, 2040,
+ -1, 2042, -1, -1, 2045, 2046, 2047, -1, 3983, -1,
+ -1, -1, 2053, -1, -1, 2056, 234, -1, -1, 5676,
+ 4211, -1, -1, -1, -1, -1, -1, 6148, -1, -1,
+ 2071, 2072, 2073, -1, -1, -1, 244, 245, 256, -1,
+ -1, -1, 250, 1699, -1, -1, -1, 1703, 2089, -1,
+ -1, 4026, -1, -1, -1, -1, 264, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 6193, -1, 282, -1, 4051, -1, -1, 297,
+ -1, -1, -1, -1, -1, -1, -1, -1, 2530, -1,
+ 6211, -1, -1, -1, -1, -1, -1, -1, 2540, -1,
+ -1, -1, -1, 321, -1, -1, -1, -1, -1, -1,
+ 4301, -1, -1, 331, 332, -1, -1, 335, 326, -1,
+ 4798, -1, -1, -1, -1, -1, -1, 2569, -1, -1,
+ -1, -1, 340, -1, -1, -1, 4327, -1, 346, 347,
+ -1, 349, -1, -1, 362, -1, 354, 365, -1, 357,
+ -1, 369, 360, -1, 372, 363, -1, -1, -1, -1,
+ 4838, 379, 370, -1, 382, -1, -1, -1, -1, 377,
+ 378, -1, -1, -1, 2616, 2617, -1, 385, -1, -1,
+ -1, 389, 4860, 401, -1, -1, -1, -1, -1, -1,
+ 408, 399, 2233, -1, -1, 413, -1, 415, -1, -1,
+ 418, -1, -1, -1, 422, -1, -1, 415, 2650, -1,
+ -1, -1, -1, -1, 432, -1, -1, -1, -1, 437,
+ -1, -1, -1, -1, -1, -1, -1, 435, -1, -1,
+ -1, -1, 450, -1, -1, -1, 4211, -1, 446, 2280,
+ -1, -1, -1, -1, 452, 463, -1, -1, -1, 457,
+ -1, -1, -1, -1, 4932, -1, -1, -1, -1, -1,
+ -1, -1, 470, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 4469, -1,
+ -1, -1, -1, -1, -1, -1, 494, -1, -1, -1,
+ -1, -1, 2333, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 513, -1, -1, 516, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 4516, 4301, -1, -1, -1,
+ 4521, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 2783, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 4327, 23, -1, -1, 2798, -1, -1, -1,
+ -1, -1, -1, -1, 2020, -1, -1, -1, -1, -1,
+ -1, 41, -1, -1, -1, 5053, -1, -1, 2820, -1,
+ -1, -1, -1, 2039, -1, -1, -1, 2043, -1, -1,
+ -1, -1, -1, -1, -1, -1, 66, -1, -1, -1,
+ -1, -1, 2058, 2059, 2060, -1, 2062, -1, -1, 79,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 95, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 113, -1, -1, -1, -1, -1, 119,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 2906, 2907, -1, 137, -1, 2510,
+ 2511, 2512, 2513, 2514, 2515, 2516, 2517, 2518, 148, 2520,
+ -1, 4672, -1, -1, -1, -1, -1, 157, -1, -1,
+ 2531, -1, 2533, -1, 4469, -1, -1, -1, -1, -1,
+ 170, -1, -1, -1, -1, -1, -1, -1, -1, 179,
+ 5188, -1, -1, 183, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 2571, -1, -1, 203, 2575, -1, -1, 2578, -1, 2580,
+ -1, 4516, 2583, -1, -1, -1, 4521, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 3007, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 246, -1, -1, 5257,
+ -1, -1, -1, -1, -1, -1, 256, -1, -1, -1,
+ -1, -1, -1, -1, -1, 2636, 2637, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 4798, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 297, -1, -1,
+ 300, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 4838, -1, -1,
+ -1, 321, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 335, -1, -1, -1, 4860,
+ -1, -1, 342, -1, -1, -1, -1, -1, 2719, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 362, -1, -1, -1, -1, 4672, -1, 5377,
+ -1, -1, 372, -1, -1, -1, -1, -1, -1, 379,
+ -1, -1, 382, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 401, -1, -1, -1, -1, -1, -1, 408, -1,
+ -1, 4932, -1, -1, -1, 415, -1, -1, 418, 419,
+ -1, 421, 422, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 437, -1, -1,
+ -1, -1, -1, -1, 444, -1, -1, 447, -1, -1,
+ 450, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 463, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 4798, -1, -1, -1, -1, -1, -1,
+ -1, 5509, -1, -1, -1, -1, 5514, 5515, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 5053, 4838, -1, -1, -1, -1, -1, -1,
+ -1, 2527, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 4860, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 3343, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 2954, 2955, 2956, -1, -1, -1, 2960,
+ -1, -1, 3364, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 2987, -1, -1, 5627,
+ -1, -1, -1, -1, -1, -1, -1, 4932, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 2623, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 2635,
+ -1, -1, -1, -1, 2640, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 5188, 5676, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 5257, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 5053, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 3196, -1, -1, -1, -1,
+ 3201, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 5377, -1, -1, 3631,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 3641,
+ -1, -1, -1, -1, 3245, -1, -1, -1, -1, -1,
+ -1, -1, -1, 5188, -1, 3256, -1, 3258, 3259, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 3272, -1, -1, 3275, -1, 3277, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 3313, -1, 3315, -1, 3317, -1, -1, -1,
+ -1, -1, 5257, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 5509, -1,
+ -1, -1, -1, 5514, 5515, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 3800, 3801,
+ 3802, -1, -1, -1, -1, -1, -1, 3408, -1, -1,
+ -1, -1, 3413, -1, -1, 3817, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 3428, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 5377, -1, -1, -1, -1, -1, 3850, 3851,
+ -1, -1, -1, 3855, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 5627, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 3493, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 5676, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 3961,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 5509, -1, -1, -1, -1, 5514,
+ 5515, -1, -1, 3199, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 3219, -1, -1, -1, -1, 3224, -1,
+ -1, -1, -1, -1, 3230, -1, -1, -1, -1, 3235,
+ 3236, -1, 3238, -1, -1, -1, -1, 3243, 3244, -1,
+ 3246, -1, 3248, -1, -1, -1, 3252, -1, -1, 3255,
+ -1, -1, -1, -1, 3260, -1, -1, -1, -1, -1,
+ -1, -1, -1, 3269, -1, -1, -1, -1, 3274, -1,
+ -1, -1, -1, -1, -1, 3281, 3282, 3283, 3284, -1,
+ -1, -1, 3288, 3289, -1, 3291, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 5627, -1, 3310, -1, 3312, -1, -1, -1,
+ -1, -1, -1, 3319, 3320, 3321, 3322, 3323, 3324, 3325,
+ 3326, 3327, 3328, -1, -1, -1, -1, -1, 4120, 4121,
+ 4122, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 5676, -1, -1, -1, 3746, -1, -1, -1, 3365,
+ -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, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 3831, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 3508, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 3980,
+ -1, -1, -1, -1, -1, -1, -1, -1, 3989, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 3999, -1,
+ -1, -1, 4003, 4004, -1, -1, -1, -1, 4009, -1,
+ -1, -1, -1, -1, -1, -1, 4017, -1, 4019, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 4446, 4046, 4047, 4048, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 4065, -1, -1, -1, -1, -1,
+ -1, -1, 4073, -1, -1, 4076, 4478, 4078, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 4096, -1, -1, -1, -1,
+ -1, -1, -1, 4104, 4105, -1, -1, -1, 4510, -1,
+ 4111, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 3750, 3751, -1, -1, -1, 3755,
+ -1, -1, -1, 4545, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 4562, -1, -1, -1, -1, -1, -1, -1, 3784, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 4188, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 4205, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 4702, 4703, 4704, 4705, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 3979, -1, -1, -1, -1, -1, 3985,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 4023, 4024, -1,
+ -1, 4027, 4028, 4029, 4030, -1, -1, 4033, 4034, 4035,
+ 4036, 4037, 4038, 4039, 4040, 4041, 4042, 4043, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 4066, -1, -1, 4069, -1, 4071, -1, -1, 4074, 4075,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 4098, 4099, 4100, 4101, -1, 4103, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 4522, 4523, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 4533, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 4170, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 4603, -1, 4220, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 4616, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 4630,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 5046, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 5057, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 4669, 4670,
+ -1, -1, -1, -1, -1, 4676, 4677, -1, -1, -1,
+ 4681, -1, -1, -1, -1, -1, -1, 4688, -1, -1,
+ 4691, 4692, -1, -1, -1, -1, -1, 4698, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 4741, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 4752, -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, 4780,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 4439, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 4482, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 4883, -1, -1, -1, -1, -1, -1, 4890,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 5330, -1,
+ -1, -1, -1, 5335, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 5354, -1, -1, -1, -1, 4958, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 4604, -1,
+ -1, -1, 4608, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 4626, 4627, -1, -1, -1, -1, 4632, 4633, 4634, 4635,
+ -1, -1, -1, 4639, 4640, 4641, 4642, 4643, 4644, 4645,
+ 4646, 4647, 4648, 4649, 4650, 4651, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 4675,
+ -1, -1, 4678, -1, 4680, -1, -1, -1, -1, -1,
+ 4686, -1, -1, 4689, 4690, -1, -1, 4693, 4694, -1,
+ -1, -1, -1, 4699, -1, -1, -1, -1, -1, -1,
+ -1, 5493, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 5115, -1, -1, -1, -1, -1,
+ 5121, 5122, 5123, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 4751, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 5148, 5149, 4765,
+ -1, 5152, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 5178, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 5189, -1,
+ -1, -1, 5594, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 5205, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 5622, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 4961, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 5414, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 5048, 5049, -1, -1, -1, -1, -1, -1,
+ 5056, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 5458, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 5099, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 5117, 5118, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 5519, -1,
+ 5136, -1, 5138, -1, -1, -1, 5142, 5143, 5144, -1,
+ -1, 5147, -1, -1, 5150, 5151, -1, -1, -1, -1,
+ 5156, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 5172, -1, -1, -1,
+ 5561, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 5190, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 5204, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 5214, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 5650,
+ -1, -1, -1, -1, -1, -1, -1, -1, 5659, 5660,
+ 5661, -1, -1, 5279, -1, 5281, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 5685, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 5316, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 5713, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 5407, -1, 5409, 5410, 5411, 5412, 5413, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 5426, 5427, 5428, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 5440, -1, -1, 5443, -1, 5830,
+ -1, 5447, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 5465,
+ -1, -1, 5853, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 5863, -1, 5480, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 5933, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 5957, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 5651, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 5670, -1, 5672, 6058, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 6072, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 5724, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 5760, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 6180,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 5826, -1, -1, -1, -1, -1, -1, 5833, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 5877, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 5976, 5977, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 5990, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 6031, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 3,
+ 6056, 5, 6, -1, 8, 9, 10, 11, 12, -1,
+ -1, 6067, 6068, -1, -1, -1, 20, 21, 22, 23,
+ 24, 25, 26, 27, 28, 29, 30, 31, 32, -1,
+ -1, -1, -1, 37, -1, -1, 40, 41, 42, -1,
+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
+ 54, 55, 56, -1, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 6124, 73,
+ 74, 75, 76, 77, -1, 79, -1, 81, 82, 83,
+ 84, 85, 86, 87, 88, 89, 90, -1, 92, 93,
+ 94, 95, 96, 97, -1, 99, 100, 101, 102, 103,
+ 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
+ 114, 115, 116, 117, 118, 119, 120, -1, 122, 123,
+ 124, 125, 126, 127, 128, -1, 130, 131, 132, 133,
+ 134, -1, 136, 137, 138, 139, 140, -1, 142, 143,
+ 144, -1, 146, 147, 148, -1, 150, 151, 152, 153,
+ 154, 155, 156, 157, 158, 159, 160, 161, -1, 163,
+ 164, 165, 166, 167, -1, 169, -1, 171, 172, 173,
+ -1, 175, 176, 177, 178, 179, -1, 181, 182, -1,
+ 184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
+ 194, 195, 196, 197, -1, 199, 200, 201, 202, 203,
+ 204, 205, 206, -1, 208, 209, 210, 211, 212, 213,
+ 214, 215, 216, -1, 218, -1, 220, 221, 222, 223,
+ 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
+ 234, 235, -1, -1, 238, 239, 240, 241, 242, -1,
+ 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, -1, 293,
+ 294, -1, -1, 297, 298, 299, -1, -1, 302, 303,
+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
+ 314, 315, 316, 317, 318, -1, 320, 321, 322, 323,
+ 324, 325, 326, 327, -1, 329, 330, 331, 332, 333,
+ 334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
+ -1, 345, 346, 347, 348, 349, 350, 351, 352, 353,
+ 354, 355, 356, 357, -1, 359, 360, 361, 362, 363,
+ 364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
+ 374, 375, 376, 377, -1, 379, 380, 381, 382, 383,
+ 384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
+ 394, -1, 396, 397, 398, 399, 400, 401, 402, 403,
+ 404, 405, 406, 407, 408, 409, 410, -1, 412, 413,
+ 414, -1, 416, 417, 418, 419, 420, 421, 422, -1,
+ 424, 425, 426, -1, -1, 429, 430, 431, 432, 433,
+ 434, 435, 436, 437, 438, 439, 440, 441, 442, -1,
+ 444, 445, 446, 447, 448, 449, 450, -1, 452, 453,
+ 454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
+ 464, 465, -1, -1, 468, -1, -1, 471, 472, 473,
+ 474, 475, 476, 477, 478, 479, 480, 481, 482, 483,
+ 484, 485, 486, 487, 488, 489, 490, -1, 492, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 504, 505, 506, -1, -1, -1, -1, -1, -1, 513,
+ 514, 3, -1, 5, 6, -1, 8, 9, 10, 11,
+ 12, -1, -1, -1, -1, -1, -1, -1, 20, 21,
+ 22, 23, 24, 25, 26, 27, 28, -1, 30, 31,
+ 32, -1, -1, -1, -1, 37, -1, -1, 40, 41,
+ 42, -1, 44, 45, 46, 47, 48, 49, 50, 51,
+ 52, 53, 54, 55, 56, -1, 58, 59, 60, 61,
+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
+ -1, 73, 74, 75, 76, 77, -1, 79, -1, 81,
+ 82, 83, 84, 85, 86, 87, 88, 89, 90, -1,
+ 92, 93, 94, 95, 96, 97, -1, 99, 100, 101,
+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
+ 112, 113, 114, 115, 116, 117, 118, 119, 120, -1,
+ 122, 123, 124, 125, 126, 127, 128, -1, 130, 131,
+ 132, 133, -1, -1, 136, 137, 138, 139, 140, -1,
+ 142, 143, 144, -1, 146, 147, 148, -1, 150, 151,
+ 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
+ -1, 163, 164, 165, 166, 167, -1, 169, -1, 171,
+ 172, 173, -1, 175, 176, 177, 178, 179, -1, 181,
+ 182, -1, 184, 185, 186, -1, 188, 189, 190, 191,
+ 192, 193, 194, 195, 196, 197, -1, 199, 200, 201,
+ 202, 203, 204, 205, 206, -1, 208, 209, 210, 211,
+ 212, 213, 214, 215, 216, -1, 218, -1, 220, 221,
+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
+ 232, 233, 234, 235, -1, -1, 238, 239, 240, 241,
+ 242, -1, 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,
+ -1, 293, 294, -1, -1, 297, 298, 299, -1, -1,
+ 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
+ 312, 313, 314, 315, 316, 317, 318, -1, 320, 321,
+ 322, 323, 324, 325, 326, 327, -1, 329, 330, 331,
+ 332, 333, 334, 335, 336, 337, 338, 339, 340, 341,
+ 342, 343, -1, 345, 346, 347, 348, 349, 350, 351,
+ 352, 353, 354, 355, 356, 357, -1, 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, -1, 396, 397, 398, 399, 400, 401,
+ 402, 403, 404, 405, 406, 407, 408, 409, 410, -1,
+ 412, 413, 414, 415, 416, 417, 418, 419, 420, 421,
+ 422, -1, 424, 425, 426, -1, -1, 429, 430, 431,
+ 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
+ 442, -1, 444, 445, 446, 447, 448, 449, 450, -1,
+ 452, 453, 454, 455, 456, 457, 458, -1, 460, 461,
+ 462, 463, 464, 465, -1, -1, 468, -1, 470, 471,
+ 472, 473, 474, 475, 476, 477, 478, 479, 480, 481,
+ 482, 483, 484, 485, 486, 487, 488, 489, 490, -1,
+ 492, -1, 494, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 504, 505, -1, -1, -1, -1, -1, -1,
+ -1, 513, 514, 3, -1, 5, 6, -1, 8, 9,
+ 10, 11, 12, -1, -1, -1, -1, -1, -1, -1,
+ 20, 21, 22, 23, 24, 25, 26, 27, 28, -1,
+ 30, 31, 32, -1, -1, -1, -1, 37, -1, -1,
+ 40, 41, 42, -1, 44, 45, 46, 47, 48, 49,
+ 50, 51, 52, 53, 54, 55, 56, -1, 58, 59,
+ 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
+ 70, 71, -1, 73, 74, 75, 76, 77, -1, 79,
+ -1, 81, 82, 83, 84, 85, 86, 87, 88, 89,
+ 90, -1, 92, 93, 94, 95, 96, 97, -1, 99,
+ 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
+ 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
+ 120, -1, 122, 123, 124, 125, 126, 127, 128, -1,
+ 130, 131, 132, 133, -1, -1, 136, 137, 138, 139,
+ 140, -1, 142, 143, 144, -1, 146, 147, 148, -1,
+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
+ 160, 161, -1, 163, 164, 165, 166, 167, -1, 169,
+ -1, 171, 172, 173, -1, 175, 176, 177, 178, 179,
+ -1, 181, 182, -1, 184, 185, 186, -1, 188, 189,
+ 190, 191, 192, 193, 194, 195, 196, 197, -1, 199,
+ 200, 201, 202, 203, 204, 205, 206, -1, 208, 209,
+ 210, 211, 212, 213, 214, 215, 216, -1, 218, -1,
+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
+ 230, 231, 232, 233, 234, 235, -1, -1, 238, 239,
+ 240, 241, 242, -1, 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, -1, 293, 294, -1, -1, 297, 298, 299,
+ -1, -1, 302, 303, 304, 305, 306, 307, 308, 309,
+ 310, 311, 312, 313, 314, 315, 316, 317, 318, -1,
+ 320, 321, 322, 323, 324, 325, 326, 327, -1, 329,
+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339,
+ 340, 341, 342, 343, -1, 345, 346, 347, 348, 349,
+ 350, 351, 352, 353, 354, 355, 356, 357, -1, 359,
+ 360, 361, 362, 363, 364, 365, 366, 367, 368, 369,
+ 370, 371, 372, 373, 374, 375, 376, 377, -1, 379,
+ 380, 381, 382, 383, 384, 385, 386, 387, 388, 389,
+ 390, 391, 392, 393, 394, -1, 396, 397, 398, 399,
+ 400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
+ 410, -1, 412, 413, 414, -1, 416, 417, 418, 419,
+ 420, 421, 422, -1, 424, 425, 426, -1, -1, 429,
+ 430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
+ 440, 441, 442, -1, 444, 445, 446, 447, 448, 449,
+ 450, -1, 452, 453, 454, 455, 456, 457, 458, -1,
+ 460, 461, 462, 463, 464, 465, -1, -1, 468, -1,
+ -1, 471, 472, 473, 474, 475, 476, 477, 478, 479,
+ 480, 481, 482, 483, 484, 485, 486, 487, 488, 489,
+ 490, -1, 492, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 504, 505, -1, -1, -1, -1,
+ -1, -1, -1, 513, 514, 3, -1, 5, 6, -1,
+ 8, 9, 10, 11, 12, -1, -1, -1, -1, -1,
+ -1, -1, 20, 21, 22, 23, 24, 25, 26, 27,
+ 28, -1, 30, 31, 32, -1, -1, -1, -1, 37,
+ -1, -1, 40, 41, 42, -1, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, -1,
+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
+ 68, 69, 70, 71, -1, 73, 74, 75, 76, 77,
+ -1, 79, -1, 81, 82, 83, 84, 85, 86, 87,
+ 88, 89, 90, -1, 92, 93, 94, 95, 96, 97,
+ -1, 99, 100, 101, 102, 103, 104, 105, 106, 107,
+ 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
+ 118, 119, 120, -1, 122, 123, 124, 125, 126, 127,
+ 128, -1, 130, 131, 132, 133, -1, -1, 136, 137,
+ 138, 139, 140, -1, 142, 143, 144, -1, 146, 147,
+ 148, -1, 150, 151, 152, 153, 154, 155, 156, 157,
+ 158, 159, 160, 161, -1, 163, 164, 165, 166, 167,
+ -1, 169, -1, 171, 172, 173, -1, 175, 176, 177,
+ 178, 179, -1, 181, 182, -1, 184, 185, 186, -1,
+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
+ -1, 199, 200, 201, 202, 203, 204, 205, 206, -1,
+ 208, 209, 210, 211, 212, 213, 214, 215, 216, -1,
+ 218, -1, 220, 221, 222, 223, 224, 225, 226, 227,
+ 228, 229, 230, 231, 232, 233, 234, 235, -1, -1,
+ 238, 239, 240, 241, 242, -1, 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, -1, 293, 294, -1, -1, 297,
+ 298, 299, -1, -1, 302, 303, 304, 305, 306, 307,
+ 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
+ 318, -1, 320, 321, 322, 323, 324, 325, 326, 327,
+ -1, 329, 330, 331, 332, 333, 334, 335, 336, 337,
+ 338, 339, 340, 341, 342, 343, -1, 345, 346, 347,
+ 348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
+ -1, 359, 360, 361, 362, 363, 364, 365, 366, 367,
+ 368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
+ -1, 379, 380, 381, 382, 383, 384, 385, 386, 387,
+ 388, 389, 390, 391, 392, 393, 394, -1, 396, 397,
+ 398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
+ 408, 409, 410, -1, 412, 413, 414, -1, 416, 417,
+ 418, 419, 420, 421, 422, -1, 424, 425, 426, -1,
+ -1, 429, 430, 431, 432, 433, 434, 435, 436, 437,
+ 438, 439, 440, 441, 442, -1, 444, 445, 446, 447,
+ 448, 449, 450, -1, 452, 453, 454, 455, 456, 457,
+ 458, -1, 460, 461, 462, 463, 464, 465, -1, -1,
+ 468, -1, -1, 471, 472, 473, 474, 475, 476, 477,
+ 478, 479, 480, 481, 482, 483, 484, 485, 486, 487,
+ 488, 489, 490, -1, 492, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 504, 505, -1, -1,
+ -1, -1, -1, -1, -1, 513, 514, 3, -1, 5,
+ 6, -1, 8, 9, 10, 11, 12, -1, -1, -1,
+ -1, -1, -1, -1, 20, 21, 22, 23, 24, 25,
+ 26, 27, 28, -1, 30, 31, 32, -1, -1, -1,
+ -1, 37, -1, -1, 40, 41, 42, -1, 44, 45,
+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
+ 56, -1, 58, 59, 60, 61, 62, 63, 64, 65,
+ 66, 67, 68, 69, 70, 71, -1, 73, 74, 75,
+ 76, 77, -1, 79, -1, 81, 82, 83, 84, 85,
+ 86, 87, 88, 89, 90, -1, 92, 93, 94, 95,
+ 96, 97, -1, 99, 100, 101, 102, 103, 104, 105,
+ 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
+ 116, 117, 118, 119, 120, -1, 122, 123, 124, 125,
+ 126, 127, 128, -1, 130, 131, 132, 133, -1, -1,
+ 136, 137, 138, 139, 140, -1, 142, 143, 144, -1,
+ 146, 147, 148, -1, 150, 151, 152, 153, 154, 155,
+ 156, 157, 158, 159, 160, 161, -1, 163, 164, 165,
+ 166, 167, -1, 169, -1, 171, 172, 173, -1, 175,
+ 176, 177, 178, 179, -1, 181, 182, -1, 184, 185,
+ 186, -1, 188, 189, 190, 191, 192, 193, 194, 195,
+ 196, 197, -1, 199, 200, 201, 202, 203, 204, 205,
+ 206, -1, 208, 209, 210, 211, 212, 213, 214, 215,
+ 216, -1, 218, -1, 220, 221, 222, 223, 224, 225,
+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
+ -1, -1, 238, 239, 240, 241, 242, -1, 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, -1, 293, 294, -1,
+ -1, 297, 298, 299, -1, -1, 302, 303, 304, 305,
+ 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
+ 316, 317, 318, -1, 320, 321, 322, 323, 324, 325,
+ 326, 327, -1, 329, 330, 331, 332, 333, 334, 335,
+ 336, 337, 338, 339, 340, 341, 342, 343, -1, 345,
+ 346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
+ 356, 357, -1, 359, 360, 361, 362, 363, 364, 365,
+ 366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
+ 376, 377, -1, 379, 380, 381, 382, 383, 384, 385,
+ 386, 387, 388, 389, 390, 391, 392, 393, 394, -1,
+ 396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
+ 406, 407, 408, 409, 410, -1, 412, 413, 414, -1,
+ 416, 417, 418, 419, 420, 421, 422, -1, 424, 425,
+ 426, -1, -1, 429, 430, 431, 432, 433, 434, 435,
+ 436, 437, 438, 439, 440, 441, 442, -1, 444, 445,
+ 446, 447, 448, 449, 450, -1, 452, 453, 454, 455,
+ 456, 457, 458, -1, 460, 461, 462, 463, 464, 465,
+ -1, -1, 468, -1, -1, 471, 472, 473, 474, 475,
+ 476, 477, 478, 479, 480, 481, 482, 483, 484, 485,
+ 486, 487, 488, 489, 490, -1, 492, -1, -1, -1,
+ -1, -1, 3, -1, -1, -1, -1, -1, 504, 505,
+ -1, -1, -1, -1, -1, -1, -1, 513, 514, 20,
+ 21, 22, 23, 24, 25, 26, 27, 28, -1, 30,
+ 31, 32, -1, -1, -1, -1, -1, 38, -1, 40,
+ 41, 42, -1, 44, 45, 46, 47, -1, 49, 50,
+ 51, 52, 53, -1, 55, 56, -1, 58, 59, 60,
+ 61, 62, 63, 64, -1, -1, 67, 68, 69, 70,
+ 71, -1, 73, 74, 75, 76, 77, -1, -1, -1,
+ 81, 82, 83, 84, 85, 86, -1, 88, 89, 90,
+ -1, 92, 93, 94, 95, 96, 97, -1, 99, 100,
+ 101, 102, -1, -1, -1, -1, -1, -1, -1, 110,
+ 111, 112, 113, 114, 115, 116, 117, 118, -1, 120,
+ -1, 122, 123, 124, 125, 126, 127, 128, -1, 130,
+ 131, 132, 133, -1, -1, 136, 137, 138, 139, 140,
+ -1, 142, 143, 144, -1, 146, 147, 148, -1, 150,
+ 151, 152, 153, 154, 155, 156, 157, 158, 159, -1,
+ 161, -1, 163, 164, 165, 166, 167, -1, 169, -1,
+ 171, 172, -1, -1, 175, 176, 177, 178, 179, -1,
+ 181, 182, -1, 184, 185, 186, -1, 188, 189, 190,
+ 191, 192, -1, 194, 195, 196, 197, -1, 199, 200,
+ 201, 202, 203, 204, 205, 206, -1, 208, 209, 210,
+ 211, 212, 213, 214, 215, 216, -1, 218, -1, 220,
+ -1, -1, 223, 224, 225, 226, 227, 228, 229, 230,
+ 231, 232, 233, 234, 235, -1, -1, 238, 239, 240,
+ 241, -1, -1, 244, 245, 246, -1, -1, 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, -1,
+ 281, 282, -1, 284, -1, 286, 287, 288, 289, 290,
+ 291, -1, 293, 294, -1, -1, 297, 298, 299, -1,
+ -1, 302, 303, 304, -1, 306, -1, 308, 309, 310,
+ 311, 312, 313, 314, 315, 316, 317, 318, -1, 320,
+ 321, 322, 323, 324, 325, 326, 327, -1, 329, 330,
+ 331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
+ 341, 342, 343, -1, 345, 346, 347, 348, 349, 350,
+ 351, 352, 353, 354, 355, 356, 357, -1, 359, 360,
+ 361, 362, 363, 364, 365, 366, 367, 368, 369, 370,
+ 371, 372, 373, 374, 375, 376, 377, -1, 379, 380,
+ 381, 382, 383, -1, 385, 386, 387, 388, 389, -1,
+ 391, 392, 393, 394, -1, 396, 397, 398, 399, 400,
+ 401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
+ -1, 412, 413, -1, -1, 416, -1, 418, 419, 420,
+ 421, 422, -1, 424, 425, 426, -1, -1, 429, 430,
+ 431, 432, 433, -1, 435, 436, 437, 438, 439, 440,
+ 441, 442, -1, -1, 445, 446, 447, 448, 449, -1,
+ -1, 452, 453, 454, 455, 456, 457, 458, -1, 460,
+ -1, 462, 463, 464, 465, -1, -1, 468, -1, -1,
+ 471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
+ 481, 482, 483, 484, 485, 486, 487, 488, 489, 490,
+ -1, -1, -1, -1, -1, -1, -1, 3, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 514, 20, 21, 22, 23, 24, 25,
+ 26, 27, 28, -1, 30, 31, 32, -1, -1, -1,
+ -1, -1, -1, -1, 40, 41, 42, -1, 44, 45,
+ 46, 47, 48, 49, 50, 51, -1, 53, 54, 55,
+ 56, -1, 58, 59, 60, 61, 62, 63, 64, -1,
+ -1, 67, 68, 69, 70, 71, -1, 73, 74, 75,
+ 76, -1, -1, 79, -1, 81, 82, 83, 84, 85,
+ 86, 87, 88, 89, 90, -1, 92, 93, 94, 95,
+ 96, 97, -1, 99, 100, 101, 102, -1, -1, -1,
+ 106, -1, -1, -1, 110, 111, 112, 113, 114, 115,
+ 116, 117, 118, -1, 120, -1, 122, 123, 124, 125,
+ 126, 127, 128, -1, 130, 131, 132, 133, -1, -1,
+ 136, 137, 138, 139, 140, -1, 142, 143, 144, -1,
+ 146, 147, 148, -1, 150, 151, 152, 153, -1, 155,
+ 156, 157, 158, -1, -1, 161, -1, 163, 164, 165,
+ 166, 167, -1, 169, -1, 171, 172, 173, -1, 175,
+ 176, 177, 178, 179, -1, 181, -1, -1, -1, 185,
+ 186, -1, 188, 189, 190, 191, 192, 193, 194, 195,
+ 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
+ 206, -1, 208, 209, 210, 211, 212, 213, 214, 215,
+ 216, -1, 218, -1, 220, 221, 222, 223, 224, 225,
+ -1, -1, -1, -1, 230, 231, 232, 233, 234, 235,
+ -1, -1, 238, -1, 240, 241, 242, -1, 244, 245,
+ 246, -1, -1, 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, -1, -1, 279, -1, 281, 282, 283, 284, -1,
+ -1, 287, 288, 289, 290, 291, -1, 293, 294, -1,
+ -1, 297, 298, 299, -1, -1, 302, 303, 304, 305,
+ 306, 307, -1, 309, 310, 311, 312, 313, 314, 315,
+ 316, 317, 318, -1, 320, 321, -1, 323, -1, 325,
+ 326, 327, -1, 329, 330, 331, 332, 333, 334, 335,
+ 336, 337, 338, 339, 340, 341, 342, 343, -1, 345,
+ 346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
+ 356, 357, -1, 359, 360, 361, 362, 363, 364, 365,
+ 366, -1, 368, 369, 370, 371, 372, 373, 374, 375,
+ 376, 377, -1, 379, 380, 381, 382, 383, -1, 385,
+ 386, 387, 388, 389, 390, 391, 392, 393, 394, -1,
+ 396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
+ 406, 407, 408, -1, 410, -1, 412, 413, -1, -1,
+ 416, 417, 418, 419, 420, 421, 422, -1, 424, 425,
+ 426, -1, -1, 429, 430, -1, 432, -1, -1, 435,
+ 436, 437, 438, 439, 440, 441, 442, -1, -1, 445,
+ 446, 447, 448, 449, -1, -1, 452, 453, 454, 455,
+ 456, -1, 458, 459, 460, 461, 462, 463, 464, 465,
+ -1, -1, 468, -1, -1, 471, 472, 473, 474, 475,
+ 476, -1, 3, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 488, 489, 490, -1, -1, -1, -1, 20,
+ 21, 22, 23, 24, 25, 26, 27, 28, -1, 30,
+ 31, 32, -1, -1, -1, -1, -1, -1, 514, 40,
+ 41, 42, -1, 44, 45, 46, 47, 48, 49, 50,
+ 51, -1, 53, 54, 55, 56, -1, 58, 59, 60,
+ 61, 62, 63, 64, -1, -1, 67, 68, 69, 70,
+ 71, -1, 73, 74, 75, 76, -1, -1, 79, -1,
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
+ -1, 92, 93, 94, 95, 96, 97, -1, 99, 100,
+ 101, 102, -1, -1, -1, 106, -1, -1, -1, 110,
+ 111, 112, 113, 114, 115, 116, 117, 118, -1, 120,
+ -1, 122, 123, 124, 125, 126, 127, 128, -1, 130,
+ 131, 132, 133, -1, -1, 136, 137, 138, 139, 140,
+ -1, 142, 143, 144, -1, 146, 147, 148, -1, 150,
+ 151, 152, 153, -1, 155, 156, 157, 158, -1, -1,
+ 161, -1, 163, 164, 165, 166, 167, -1, 169, -1,
+ 171, 172, 173, -1, 175, 176, 177, 178, 179, -1,
+ 181, -1, -1, -1, 185, 186, -1, 188, 189, 190,
+ 191, 192, 193, 194, 195, 196, 197, 198, 199, 200,
+ 201, 202, 203, 204, 205, 206, -1, 208, 209, 210,
+ 211, 212, 213, 214, 215, 216, -1, 218, -1, 220,
+ 221, 222, 223, 224, 225, -1, -1, -1, -1, 230,
+ 231, 232, 233, 234, 235, -1, -1, 238, -1, 240,
+ 241, 242, -1, 244, 245, 246, -1, -1, 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, -1, -1, 279, -1,
+ 281, 282, 283, 284, -1, -1, 287, 288, 289, 290,
+ 291, -1, 293, 294, -1, -1, 297, 298, 299, -1,
+ -1, 302, 303, 304, 305, 306, 307, -1, 309, 310,
+ 311, 312, 313, 314, 315, 316, 317, 318, -1, 320,
+ 321, -1, 323, -1, 325, 326, 327, -1, 329, 330,
+ 331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
+ 341, 342, 343, -1, 345, 346, 347, 348, 349, 350,
+ 351, 352, 353, 354, 355, 356, 357, -1, 359, 360,
+ 361, 362, 363, 364, 365, 366, -1, 368, 369, 370,
+ 371, 372, 373, 374, 375, 376, 377, -1, 379, 380,
+ 381, 382, 383, -1, 385, 386, 387, 388, 389, 390,
+ 391, 392, 393, 394, -1, 396, 397, 398, 399, 400,
+ 401, 402, 403, 404, 405, 406, 407, 408, -1, 410,
+ -1, 412, 413, -1, -1, 416, 417, 418, 419, 420,
+ 421, 422, -1, 424, 425, 426, -1, -1, 429, 430,
+ -1, 432, -1, -1, 435, 436, 437, 438, 439, 440,
+ 441, 442, -1, -1, 445, 446, 447, 448, 449, -1,
+ -1, 452, 453, 454, 455, 456, -1, 458, 459, 460,
+ 461, 462, 463, 464, 465, -1, -1, 468, -1, -1,
+ 471, 472, 473, 474, 475, 476, -1, 3, -1, 5,
+ 6, -1, 8, 9, 10, 11, 12, 488, 489, 490,
+ -1, -1, -1, -1, 20, 21, 22, 23, 24, 25,
+ 26, 27, 28, -1, 30, 31, 32, -1, -1, -1,
+ -1, 37, -1, 514, 40, 41, 42, -1, 44, 45,
+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
+ 56, -1, 58, 59, 60, 61, 62, 63, 64, 65,
+ 66, 67, 68, 69, 70, 71, -1, 73, 74, 75,
+ 76, 77, -1, 79, -1, 81, 82, 83, 84, 85,
+ 86, 87, 88, 89, 90, -1, 92, 93, 94, 95,
+ 96, 97, -1, 99, 100, 101, 102, 103, 104, 105,
+ 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
+ 116, 117, 118, 119, 120, -1, 122, 123, 124, 125,
+ 126, 127, 128, -1, 130, 131, 132, 133, -1, -1,
+ 136, 137, 138, 139, 140, -1, 142, 143, 144, -1,
+ 146, 147, 148, -1, 150, 151, 152, 153, 154, 155,
+ 156, 157, 158, 159, 160, 161, -1, 163, 164, 165,
+ 166, 167, -1, 169, -1, 171, 172, 173, -1, 175,
+ 176, 177, 178, 179, -1, 181, 182, -1, 184, 185,
+ 186, -1, 188, 189, 190, 191, 192, 193, 194, 195,
+ 196, 197, -1, 199, 200, 201, 202, 203, 204, 205,
+ 206, -1, 208, 209, 210, 211, 212, 213, 214, 215,
+ 216, -1, 218, -1, 220, 221, 222, 223, 224, 225,
+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
+ -1, -1, 238, 239, 240, 241, 242, -1, 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, -1, 293, 294, -1,
+ -1, 297, 298, 299, -1, -1, 302, 303, 304, 305,
+ 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
+ 316, 317, 318, -1, 320, 321, 322, 323, 324, 325,
+ 326, 327, -1, 329, 330, 331, 332, 333, 334, 335,
+ 336, 337, 338, 339, 340, 341, 342, 343, -1, 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, -1,
+ 396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
+ 406, 407, 408, 409, 410, -1, 412, 413, 414, 415,
+ 416, 417, 418, 419, 420, 421, 422, -1, 424, 425,
+ 426, -1, -1, 429, 430, 431, 432, 433, 434, 435,
+ 436, 437, 438, 439, 440, 441, 442, -1, 444, 445,
+ 446, 447, 448, 449, 450, -1, 452, 453, 454, 455,
+ 456, 457, 458, -1, 460, 461, 462, 463, 464, 465,
+ -1, -1, 468, -1, 470, 471, 472, 473, 474, 475,
+ 476, 477, 478, 479, 480, 481, 482, 483, 484, 485,
+ 486, 487, 488, 489, 490, -1, 492, -1, 494, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 504, 505,
+ -1, -1, -1, 3, -1, 5, 6, 513, 8, 9,
+ 10, 11, 12, -1, -1, -1, -1, -1, -1, -1,
+ 20, 21, 22, 23, 24, 25, 26, 27, 28, -1,
+ 30, 31, 32, -1, -1, -1, -1, 37, -1, -1,
+ 40, 41, 42, -1, 44, 45, 46, 47, 48, 49,
+ 50, 51, 52, 53, 54, 55, 56, -1, 58, 59,
+ 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
+ 70, 71, -1, 73, 74, 75, 76, 77, -1, 79,
+ -1, 81, 82, 83, 84, 85, 86, 87, 88, 89,
+ 90, -1, 92, 93, 94, 95, 96, 97, -1, 99,
+ 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
+ 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
+ 120, -1, 122, 123, 124, 125, 126, 127, 128, -1,
+ 130, 131, 132, 133, -1, -1, 136, 137, 138, 139,
+ 140, -1, 142, 143, 144, -1, 146, 147, 148, -1,
+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
+ 160, 161, -1, 163, 164, 165, 166, 167, -1, 169,
+ -1, 171, 172, 173, -1, 175, 176, 177, 178, 179,
+ -1, 181, 182, -1, 184, 185, 186, -1, 188, 189,
+ 190, 191, 192, 193, 194, 195, 196, 197, -1, 199,
+ 200, 201, 202, 203, 204, 205, 206, -1, 208, 209,
+ 210, 211, 212, 213, 214, 215, 216, -1, 218, -1,
+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
+ 230, 231, 232, 233, 234, 235, -1, -1, 238, 239,
+ 240, 241, 242, -1, 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, -1, 293, 294, -1, -1, 297, 298, 299,
+ -1, -1, 302, 303, 304, 305, 306, 307, 308, 309,
+ 310, 311, 312, 313, 314, 315, 316, 317, 318, -1,
+ 320, 321, 322, 323, 324, 325, 326, 327, -1, 329,
+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339,
+ 340, 341, 342, 343, -1, 345, 346, 347, 348, 349,
+ 350, 351, 352, 353, 354, 355, 356, 357, -1, 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, -1, 396, 397, 398, 399,
+ 400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
+ 410, -1, 412, 413, 414, 415, 416, 417, 418, 419,
+ 420, 421, 422, -1, 424, 425, 426, -1, -1, 429,
+ 430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
+ 440, 441, 442, -1, 444, 445, 446, 447, 448, 449,
+ 450, -1, 452, 453, 454, 455, 456, 457, 458, -1,
+ 460, 461, 462, 463, 464, 465, -1, -1, 468, -1,
+ 470, 471, 472, 473, 474, 475, 476, 477, 478, 479,
+ 480, 481, 482, 483, 484, 485, 486, 487, 488, 489,
+ 490, -1, 492, -1, 494, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 504, 505, -1, -1, -1, 3,
+ -1, 5, 6, 513, 8, 9, 10, 11, 12, -1,
+ -1, -1, -1, -1, -1, -1, 20, 21, 22, 23,
+ 24, 25, 26, 27, 28, -1, 30, 31, 32, -1,
+ -1, -1, -1, 37, -1, -1, 40, 41, 42, -1,
+ 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, -1, 73,
+ 74, 75, 76, 77, -1, 79, -1, 81, 82, 83,
+ 84, 85, 86, 87, 88, 89, 90, -1, 92, 93,
+ 94, 95, 96, 97, -1, 99, 100, 101, 102, 103,
+ 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
+ 114, 115, 116, 117, 118, 119, 120, -1, 122, 123,
+ 124, 125, 126, 127, 128, -1, 130, 131, 132, 133,
+ -1, -1, 136, 137, 138, 139, 140, -1, 142, 143,
+ 144, -1, 146, 147, 148, -1, 150, 151, 152, 153,
+ 154, 155, 156, 157, 158, 159, 160, 161, -1, 163,
+ 164, 165, 166, 167, -1, 169, -1, 171, 172, 173,
+ 174, 175, 176, 177, 178, 179, -1, 181, 182, -1,
+ 184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
+ 194, 195, 196, 197, -1, 199, 200, 201, 202, 203,
+ 204, 205, 206, -1, 208, 209, 210, 211, 212, 213,
+ 214, 215, 216, -1, 218, -1, 220, 221, 222, 223,
+ 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
+ 234, 235, -1, 237, 238, 239, 240, 241, 242, -1,
+ 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, -1, 293,
+ 294, -1, -1, 297, 298, 299, -1, -1, 302, 303,
+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
+ 314, 315, 316, 317, 318, -1, 320, 321, 322, 323,
+ 324, 325, 326, 327, -1, 329, 330, 331, 332, 333,
+ 334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
+ -1, 345, 346, 347, 348, 349, 350, 351, 352, 353,
+ 354, 355, 356, 357, -1, 359, 360, 361, 362, 363,
+ 364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
+ 374, 375, 376, 377, -1, 379, 380, 381, 382, 383,
+ 384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
+ 394, -1, 396, 397, 398, 399, 400, 401, 402, 403,
+ 404, 405, 406, 407, 408, 409, 410, -1, 412, 413,
+ 414, -1, 416, 417, 418, 419, 420, 421, 422, -1,
+ 424, 425, 426, -1, 428, 429, 430, 431, 432, 433,
+ 434, 435, 436, 437, 438, 439, 440, 441, 442, -1,
+ 444, 445, 446, 447, 448, 449, 450, -1, 452, 453,
+ 454, 455, 456, 457, 458, -1, 460, 461, 462, 463,
+ 464, 465, -1, -1, 468, -1, -1, 471, 472, 473,
+ 474, 475, 476, 477, 478, 479, 480, 481, 482, 483,
+ 484, 485, 486, 487, 488, 489, 490, -1, 492, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 504, 505, -1, -1, -1, 3, -1, 5, 6, 513,
+ 8, 9, 10, 11, 12, -1, -1, -1, -1, -1,
+ -1, -1, 20, 21, 22, 23, 24, 25, 26, 27,
+ 28, 29, 30, 31, 32, -1, -1, -1, 36, 37,
+ -1, -1, 40, 41, 42, -1, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, -1,
+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
+ 68, 69, 70, 71, -1, 73, 74, 75, 76, 77,
+ -1, 79, -1, 81, 82, 83, 84, 85, 86, 87,
+ 88, 89, 90, -1, 92, 93, 94, 95, 96, 97,
+ -1, 99, 100, 101, 102, 103, 104, 105, 106, 107,
+ 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
+ 118, 119, 120, -1, 122, 123, 124, 125, 126, 127,
+ 128, -1, 130, 131, 132, 133, -1, -1, 136, 137,
+ 138, 139, 140, -1, 142, 143, 144, -1, 146, 147,
+ 148, -1, 150, 151, 152, 153, 154, 155, 156, 157,
+ 158, 159, 160, 161, -1, 163, 164, 165, 166, 167,
+ -1, 169, -1, 171, 172, 173, -1, 175, 176, 177,
+ 178, 179, -1, 181, 182, -1, 184, 185, 186, -1,
+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
+ -1, 199, 200, 201, 202, 203, 204, 205, 206, -1,
+ 208, 209, 210, 211, 212, 213, 214, 215, 216, -1,
+ 218, -1, 220, 221, 222, 223, 224, 225, 226, 227,
+ 228, 229, 230, 231, 232, 233, 234, 235, -1, -1,
+ 238, 239, 240, 241, 242, -1, 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, -1, 293, 294, -1, -1, 297,
+ 298, 299, -1, -1, 302, 303, 304, 305, 306, 307,
+ 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
+ 318, -1, 320, 321, 322, 323, 324, 325, 326, 327,
+ -1, 329, 330, 331, 332, 333, 334, 335, 336, 337,
+ 338, 339, 340, 341, 342, 343, -1, 345, 346, 347,
+ 348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
+ -1, 359, 360, 361, 362, 363, 364, 365, 366, 367,
+ 368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
+ -1, 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, -1, 412, 413, 414, -1, 416, 417,
+ 418, 419, 420, 421, 422, -1, 424, 425, 426, -1,
+ -1, 429, 430, 431, 432, 433, 434, 435, 436, 437,
+ 438, 439, 440, 441, 442, -1, 444, 445, 446, 447,
+ 448, 449, 450, -1, 452, 453, 454, 455, 456, 457,
+ 458, -1, 460, 461, 462, 463, 464, 465, -1, -1,
+ 468, -1, -1, 471, 472, 473, 474, 475, 476, 477,
+ 478, 479, 480, 481, 482, 483, 484, 485, 486, 487,
+ 488, 489, 490, -1, 492, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 504, 505, -1, -1,
+ -1, 3, -1, 5, 6, 513, 8, 9, 10, 11,
+ 12, -1, -1, -1, -1, -1, -1, -1, 20, 21,
+ 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, -1, -1, -1, 36, 37, -1, -1, 40, 41,
+ 42, -1, 44, 45, 46, 47, 48, 49, 50, 51,
+ 52, 53, 54, 55, 56, -1, 58, 59, 60, 61,
+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
+ -1, 73, 74, 75, 76, 77, -1, 79, -1, 81,
+ 82, 83, 84, 85, 86, 87, 88, 89, 90, -1,
+ 92, 93, 94, 95, 96, 97, -1, 99, 100, 101,
+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
+ 112, 113, 114, 115, 116, 117, 118, 119, 120, -1,
+ 122, 123, 124, 125, 126, 127, 128, -1, 130, 131,
+ 132, 133, -1, -1, 136, 137, 138, 139, 140, -1,
+ 142, 143, 144, -1, 146, 147, 148, -1, 150, 151,
+ 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
+ -1, 163, 164, 165, 166, 167, -1, 169, -1, 171,
+ 172, 173, -1, 175, 176, 177, 178, 179, -1, 181,
+ 182, -1, 184, 185, 186, -1, 188, 189, 190, 191,
+ 192, 193, 194, 195, 196, 197, -1, 199, 200, 201,
+ 202, 203, 204, 205, 206, -1, 208, 209, 210, 211,
+ 212, 213, 214, 215, 216, -1, 218, -1, 220, 221,
+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
+ 232, 233, 234, 235, -1, -1, 238, 239, 240, 241,
+ 242, -1, 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,
+ -1, 293, 294, -1, -1, 297, 298, 299, -1, -1,
+ 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
+ 312, 313, 314, 315, 316, 317, 318, -1, 320, 321,
+ 322, 323, 324, 325, 326, 327, -1, 329, 330, 331,
+ 332, 333, 334, 335, 336, 337, 338, 339, 340, 341,
+ 342, 343, -1, 345, 346, 347, 348, 349, 350, 351,
+ 352, 353, 354, 355, 356, 357, -1, 359, 360, 361,
+ 362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
+ 372, 373, 374, 375, 376, 377, -1, 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, -1,
+ 412, 413, 414, -1, 416, 417, 418, 419, 420, 421,
+ 422, -1, 424, 425, 426, -1, -1, 429, 430, 431,
+ 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
+ 442, -1, 444, 445, 446, 447, 448, 449, 450, -1,
+ 452, 453, 454, 455, 456, 457, 458, -1, 460, 461,
+ 462, 463, 464, 465, -1, -1, 468, -1, -1, 471,
+ 472, 473, 474, 475, 476, 477, 478, 479, 480, 481,
+ 482, 483, 484, 485, 486, 487, 488, 489, 490, -1,
+ 492, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 504, 505, -1, -1, -1, 3, -1, 5,
+ 6, 513, 8, 9, 10, 11, 12, -1, -1, -1,
+ -1, -1, -1, -1, 20, 21, 22, 23, 24, 25,
+ 26, 27, 28, -1, 30, 31, 32, -1, -1, -1,
+ -1, 37, -1, -1, 40, 41, 42, -1, 44, 45,
+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
+ 56, -1, 58, 59, 60, 61, 62, 63, 64, 65,
+ 66, 67, 68, 69, 70, 71, -1, 73, 74, 75,
+ 76, 77, -1, 79, -1, 81, 82, 83, 84, 85,
+ 86, 87, 88, 89, 90, -1, 92, 93, 94, 95,
+ 96, 97, -1, 99, 100, 101, 102, 103, 104, 105,
+ 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
+ 116, 117, 118, 119, 120, -1, 122, 123, 124, 125,
+ 126, 127, 128, -1, 130, 131, 132, 133, -1, -1,
+ 136, 137, 138, 139, 140, -1, 142, 143, 144, -1,
+ 146, 147, 148, -1, 150, 151, 152, 153, 154, 155,
+ 156, 157, 158, 159, 160, 161, -1, 163, 164, 165,
+ 166, 167, -1, 169, -1, 171, 172, 173, -1, 175,
+ 176, 177, 178, 179, -1, 181, 182, -1, 184, 185,
+ 186, -1, 188, 189, 190, 191, 192, 193, 194, 195,
+ 196, 197, -1, 199, 200, 201, 202, 203, 204, 205,
+ 206, -1, 208, 209, 210, 211, 212, 213, 214, 215,
+ 216, -1, 218, -1, 220, 221, 222, 223, 224, 225,
+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
+ -1, -1, 238, 239, 240, 241, 242, -1, 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, -1, 293, 294, -1,
+ -1, 297, 298, 299, -1, -1, 302, 303, 304, 305,
+ 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
+ 316, 317, 318, -1, 320, 321, 322, 323, 324, 325,
+ 326, 327, -1, 329, 330, 331, 332, 333, 334, 335,
+ 336, 337, 338, 339, 340, 341, 342, 343, -1, 345,
+ 346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
+ 356, 357, -1, 359, 360, 361, 362, 363, 364, 365,
+ 366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
+ 376, 377, -1, 379, 380, 381, 382, 383, 384, 385,
+ 386, 387, 388, 389, 390, 391, 392, 393, 394, -1,
+ 396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
+ 406, 407, 408, 409, 410, -1, 412, 413, 414, -1,
+ 416, 417, 418, 419, 420, 421, 422, -1, 424, 425,
+ 426, -1, -1, 429, 430, 431, 432, 433, 434, 435,
+ 436, 437, 438, 439, 440, 441, 442, -1, 444, 445,
+ 446, 447, 448, 449, 450, -1, 452, 453, 454, 455,
+ 456, 457, 458, -1, 460, 461, 462, 463, 464, 465,
+ -1, -1, 468, -1, -1, 471, 472, 473, 474, 475,
+ 476, 477, 478, 479, 480, 481, 482, 483, 484, 485,
+ 486, 487, 488, 489, 490, -1, 492, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 504, 505,
+ -1, -1, -1, -1, -1, 511, 512, 513, 3, -1,
+ 5, 6, -1, 8, 9, 10, 11, 12, -1, -1,
+ -1, -1, -1, -1, -1, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, -1, 30, 31, 32, -1, -1,
+ -1, -1, 37, -1, -1, 40, 41, 42, -1, 44,
+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
+ 55, 56, -1, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, -1, 73, 74,
+ 75, 76, 77, -1, 79, -1, 81, 82, 83, 84,
+ 85, 86, 87, 88, 89, 90, -1, 92, 93, 94,
+ 95, 96, 97, -1, 99, 100, 101, 102, 103, 104,
+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+ 115, 116, 117, 118, 119, 120, -1, 122, 123, 124,
+ 125, 126, 127, 128, -1, 130, 131, 132, 133, -1,
+ -1, 136, 137, 138, 139, 140, -1, 142, 143, 144,
+ -1, 146, 147, 148, -1, 150, 151, 152, 153, 154,
+ 155, 156, 157, 158, 159, 160, 161, -1, 163, 164,
+ 165, 166, 167, -1, 169, -1, 171, 172, 173, -1,
+ 175, 176, 177, 178, 179, -1, 181, 182, -1, 184,
+ 185, 186, -1, 188, 189, 190, 191, 192, 193, 194,
+ 195, 196, 197, -1, 199, 200, 201, 202, 203, 204,
+ 205, 206, -1, 208, 209, 210, 211, 212, 213, 214,
+ 215, 216, -1, 218, -1, 220, 221, 222, 223, 224,
+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
+ 235, -1, -1, 238, 239, 240, 241, 242, -1, 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, -1, 293, 294,
+ -1, -1, 297, 298, 299, -1, -1, 302, 303, 304,
+ 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
+ 315, 316, 317, 318, -1, 320, 321, 322, 323, 324,
+ 325, 326, 327, -1, 329, 330, 331, 332, 333, 334,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, -1,
+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
+ 355, 356, 357, -1, 359, 360, 361, 362, 363, 364,
+ 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
+ 375, 376, 377, -1, 379, 380, 381, 382, 383, 384,
+ 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
+ -1, 396, 397, 398, 399, 400, 401, 402, 403, 404,
+ 405, 406, 407, 408, 409, 410, -1, 412, 413, 414,
+ -1, 416, 417, 418, 419, 420, 421, 422, -1, 424,
+ 425, 426, -1, -1, 429, 430, 431, 432, 433, 434,
+ 435, 436, 437, 438, 439, 440, 441, 442, -1, 444,
+ 445, 446, 447, 448, 449, 450, -1, 452, 453, 454,
+ 455, 456, 457, 458, -1, 460, 461, 462, 463, 464,
+ 465, -1, -1, 468, -1, -1, 471, 472, 473, 474,
+ 475, 476, 477, 478, 479, 480, 481, 482, 483, 484,
+ 485, 486, 487, 488, 489, 490, -1, 492, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 504,
+ 505, 506, -1, -1, 3, -1, 5, 6, 513, 8,
+ 9, 10, 11, 12, -1, -1, -1, -1, -1, -1,
+ -1, 20, 21, 22, 23, 24, 25, 26, 27, 28,
+ 29, 30, 31, 32, -1, -1, -1, -1, 37, -1,
+ -1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, -1, 58,
+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
+ 69, 70, 71, -1, 73, 74, 75, 76, 77, -1,
+ 79, -1, 81, 82, 83, 84, 85, 86, 87, 88,
+ 89, 90, -1, 92, 93, 94, 95, 96, 97, -1,
+ 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
+ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
+ 119, 120, -1, 122, 123, 124, 125, 126, 127, 128,
+ -1, 130, 131, 132, 133, -1, -1, 136, 137, 138,
+ 139, 140, -1, 142, 143, 144, -1, 146, 147, 148,
+ -1, 150, 151, 152, 153, 154, 155, 156, 157, 158,
+ 159, 160, 161, -1, 163, 164, 165, 166, 167, -1,
+ 169, -1, 171, 172, 173, -1, 175, 176, 177, 178,
+ 179, -1, 181, 182, -1, 184, 185, 186, -1, 188,
+ 189, 190, 191, 192, 193, 194, 195, 196, 197, -1,
+ 199, 200, 201, 202, 203, 204, 205, 206, -1, 208,
+ 209, 210, 211, 212, 213, 214, 215, 216, -1, 218,
+ -1, 220, 221, 222, 223, 224, 225, 226, 227, 228,
+ 229, 230, 231, 232, 233, 234, 235, -1, -1, 238,
+ 239, 240, 241, 242, -1, 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, -1, 293, 294, -1, -1, 297, 298,
+ 299, -1, -1, 302, 303, 304, 305, 306, 307, 308,
+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
+ -1, 320, 321, 322, 323, 324, 325, 326, 327, -1,
+ 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, -1, 345, 346, 347, 348,
+ 349, 350, 351, 352, 353, 354, 355, 356, 357, -1,
+ 359, 360, 361, 362, 363, 364, 365, 366, 367, 368,
+ 369, 370, 371, 372, 373, 374, 375, 376, 377, -1,
+ 379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
+ 389, 390, 391, 392, 393, 394, -1, 396, 397, 398,
+ 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
+ 409, 410, -1, 412, 413, 414, -1, 416, 417, 418,
+ 419, 420, 421, 422, -1, 424, 425, 426, -1, -1,
+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
+ 439, 440, 441, 442, -1, 444, 445, 446, 447, 448,
+ 449, 450, -1, 452, 453, 454, 455, 456, 457, 458,
+ -1, 460, 461, 462, 463, 464, 465, -1, -1, 468,
+ -1, -1, 471, 472, 473, 474, 475, 476, 477, 478,
+ 479, 480, 481, 482, 483, 484, 485, 486, 487, 488,
+ 489, 490, -1, 492, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 504, 505, -1, -1, -1,
+ 3, -1, 5, 6, 513, 8, 9, 10, 11, 12,
+ -1, -1, -1, -1, -1, -1, -1, 20, 21, 22,
+ 23, 24, 25, 26, 27, 28, -1, 30, 31, 32,
+ -1, -1, -1, -1, 37, -1, -1, 40, 41, 42,
+ -1, 44, 45, 46, 47, 48, 49, 50, 51, 52,
+ 53, 54, 55, 56, -1, 58, 59, 60, 61, 62,
+ 63, 64, 65, 66, 67, 68, 69, 70, 71, -1,
+ 73, 74, 75, 76, 77, -1, 79, -1, 81, 82,
+ 83, 84, 85, 86, 87, 88, 89, 90, -1, 92,
+ 93, 94, 95, 96, 97, -1, 99, 100, 101, 102,
+ 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
+ 113, 114, 115, 116, 117, 118, 119, 120, -1, 122,
+ 123, 124, 125, 126, 127, 128, -1, 130, 131, 132,
+ 133, -1, -1, 136, 137, 138, 139, 140, -1, 142,
+ 143, 144, -1, 146, 147, 148, -1, 150, 151, 152,
+ 153, 154, 155, 156, 157, 158, 159, 160, 161, -1,
+ 163, 164, 165, 166, 167, -1, 169, -1, 171, 172,
+ 173, -1, 175, 176, 177, 178, 179, -1, 181, 182,
+ -1, 184, 185, 186, -1, 188, 189, 190, 191, 192,
+ 193, 194, 195, 196, 197, -1, 199, 200, 201, 202,
+ 203, 204, 205, 206, -1, 208, 209, 210, 211, 212,
+ 213, 214, 215, 216, -1, 218, -1, 220, 221, 222,
+ 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
+ 233, 234, 235, -1, -1, 238, 239, 240, 241, 242,
+ -1, 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, -1,
+ 293, 294, -1, -1, 297, 298, 299, -1, -1, 302,
+ 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
+ 313, 314, 315, 316, 317, 318, -1, 320, 321, 322,
+ 323, 324, 325, 326, 327, -1, 329, 330, 331, 332,
+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342,
+ 343, -1, 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, -1, 379, 380, 381, 382,
+ 383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
+ 393, 394, -1, 396, 397, 398, 399, 400, 401, 402,
+ 403, 404, 405, 406, 407, 408, 409, 410, -1, 412,
+ 413, 414, -1, 416, 417, 418, 419, 420, 421, 422,
+ -1, 424, 425, 426, -1, -1, 429, 430, 431, 432,
+ 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
+ -1, 444, 445, 446, 447, 448, 449, 450, -1, 452,
+ 453, 454, 455, 456, 457, 458, -1, 460, 461, 462,
+ 463, 464, 465, -1, -1, 468, -1, -1, 471, 472,
+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482,
+ 483, 484, 485, 486, 487, 488, 489, 490, -1, 492,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 504, 505, -1, -1, -1, 3, -1, 5, 6,
+ 513, 8, 9, 10, 11, 12, -1, -1, -1, -1,
+ -1, -1, -1, 20, 21, 22, 23, 24, 25, 26,
+ 27, 28, -1, 30, 31, 32, -1, -1, -1, -1,
+ 37, -1, -1, 40, 41, 42, -1, 44, 45, 46,
+ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
+ -1, 58, 59, 60, 61, 62, 63, 64, 65, 66,
+ 67, 68, 69, 70, 71, -1, 73, 74, 75, 76,
+ 77, -1, 79, -1, 81, 82, 83, 84, 85, 86,
+ 87, 88, 89, 90, -1, 92, 93, 94, 95, 96,
+ 97, -1, 99, 100, 101, 102, 103, 104, 105, 106,
+ 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
+ 117, 118, 119, 120, -1, 122, 123, 124, 125, 126,
+ 127, 128, -1, 130, 131, 132, 133, -1, -1, 136,
+ 137, 138, 139, 140, -1, 142, 143, 144, -1, 146,
+ 147, 148, -1, 150, 151, 152, 153, 154, 155, 156,
+ 157, 158, 159, 160, 161, -1, 163, 164, 165, 166,
+ 167, -1, 169, -1, 171, 172, 173, -1, 175, 176,
+ 177, 178, 179, -1, 181, 182, -1, 184, 185, 186,
+ -1, 188, 189, 190, 191, 192, 193, 194, 195, 196,
+ 197, -1, 199, 200, 201, 202, 203, 204, 205, 206,
+ -1, 208, 209, 210, 211, 212, 213, 214, 215, 216,
+ -1, 218, -1, 220, 221, 222, 223, 224, 225, 226,
+ 227, 228, 229, 230, 231, 232, 233, 234, 235, -1,
+ -1, 238, 239, 240, 241, 242, -1, 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, -1, 293, 294, -1, -1,
+ 297, 298, 299, -1, -1, 302, 303, 304, 305, 306,
+ 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
+ 317, 318, -1, 320, 321, 322, 323, 324, 325, 326,
+ 327, -1, 329, 330, 331, 332, 333, 334, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, -1, 345, 346,
+ 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
+ 357, -1, 359, 360, 361, 362, 363, 364, 365, 366,
+ 367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
+ 377, -1, 379, 380, 381, 382, 383, 384, 385, 386,
+ 387, 388, 389, 390, 391, 392, 393, 394, -1, 396,
+ 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
+ 407, 408, 409, 410, -1, 412, 413, 414, -1, 416,
+ 417, 418, 419, 420, 421, 422, -1, 424, 425, 426,
+ -1, -1, 429, 430, 431, 432, 433, 434, 435, 436,
+ 437, 438, 439, 440, 441, 442, -1, 444, 445, 446,
+ 447, 448, 449, 450, -1, 452, 453, 454, 455, 456,
+ 457, 458, 459, 460, 461, 462, 463, 464, 465, -1,
+ -1, 468, -1, -1, 471, 472, 473, 474, 475, 476,
+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486,
+ 487, 488, 489, 490, -1, 492, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 504, 505, -1,
+ -1, -1, 3, -1, 5, 6, 513, 8, 9, 10,
+ 11, 12, -1, -1, -1, -1, -1, -1, -1, 20,
+ 21, 22, 23, 24, 25, 26, 27, 28, -1, 30,
+ 31, 32, -1, -1, -1, -1, 37, -1, -1, 40,
+ 41, 42, -1, 44, 45, 46, 47, 48, 49, 50,
+ 51, 52, 53, 54, 55, 56, -1, 58, 59, 60,
+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
+ 71, -1, 73, 74, 75, 76, 77, -1, 79, -1,
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
+ -1, 92, 93, 94, 95, 96, 97, -1, 99, 100,
+ 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
+ 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
+ -1, 122, 123, 124, 125, 126, 127, 128, -1, 130,
+ 131, 132, 133, -1, -1, 136, 137, 138, 139, 140,
+ -1, 142, 143, 144, -1, 146, 147, 148, -1, 150,
+ 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
+ 161, -1, 163, 164, 165, 166, 167, -1, 169, -1,
+ 171, 172, 173, 174, 175, 176, 177, 178, 179, -1,
+ 181, 182, -1, 184, 185, 186, -1, 188, 189, 190,
+ 191, 192, 193, 194, 195, 196, 197, -1, 199, 200,
+ 201, 202, 203, 204, 205, 206, -1, 208, 209, 210,
+ 211, 212, 213, 214, 215, 216, -1, 218, -1, 220,
+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
+ 231, 232, 233, 234, 235, -1, -1, 238, 239, 240,
+ 241, 242, -1, 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, -1, 293, 294, -1, -1, 297, 298, 299, -1,
+ -1, 302, 303, 304, 305, 306, 307, 308, 309, 310,
+ 311, 312, 313, 314, 315, 316, 317, 318, -1, 320,
+ 321, 322, 323, 324, 325, 326, 327, -1, 329, 330,
+ 331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
+ 341, 342, 343, -1, 345, 346, 347, 348, 349, 350,
+ 351, 352, 353, 354, 355, 356, 357, -1, 359, 360,
+ 361, 362, 363, 364, 365, 366, 367, 368, 369, 370,
+ 371, 372, 373, 374, 375, 376, 377, -1, 379, 380,
+ 381, 382, 383, 384, 385, 386, 387, 388, 389, 390,
+ 391, 392, 393, 394, -1, 396, 397, 398, 399, 400,
+ 401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
+ -1, 412, 413, 414, -1, 416, 417, 418, 419, 420,
+ 421, 422, -1, 424, 425, 426, -1, -1, 429, 430,
+ 431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
+ 441, 442, -1, 444, 445, 446, 447, 448, 449, 450,
+ -1, 452, 453, 454, 455, 456, 457, 458, -1, 460,
+ 461, 462, 463, 464, 465, -1, -1, 468, -1, -1,
+ 471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
+ 481, 482, 483, 484, 485, 486, 487, 488, 489, 490,
+ -1, 492, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 504, 505, -1, -1, -1, 3, -1,
+ 5, 6, 513, 8, 9, 10, 11, 12, -1, -1,
+ -1, -1, -1, -1, -1, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, -1, 30, 31, 32, -1, -1,
+ -1, -1, 37, -1, -1, 40, 41, 42, -1, 44,
+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
+ 55, 56, -1, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, -1, 73, 74,
+ 75, 76, 77, -1, 79, -1, 81, 82, 83, 84,
+ 85, 86, 87, 88, 89, 90, -1, 92, 93, 94,
+ 95, 96, 97, -1, 99, 100, 101, 102, 103, 104,
+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+ 115, 116, 117, 118, 119, 120, -1, 122, 123, 124,
+ 125, 126, 127, 128, -1, 130, 131, 132, 133, -1,
+ -1, 136, 137, 138, 139, 140, -1, 142, 143, 144,
+ -1, 146, 147, 148, -1, 150, 151, 152, 153, 154,
+ 155, 156, 157, 158, 159, 160, 161, -1, 163, 164,
+ 165, 166, 167, -1, 169, -1, 171, 172, 173, -1,
+ 175, 176, 177, 178, 179, -1, 181, 182, -1, 184,
+ 185, 186, -1, 188, 189, 190, 191, 192, 193, 194,
+ 195, 196, 197, -1, 199, 200, 201, 202, 203, 204,
+ 205, 206, -1, 208, 209, 210, 211, 212, 213, 214,
+ 215, 216, -1, 218, -1, 220, 221, 222, 223, 224,
+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
+ 235, -1, -1, 238, 239, 240, 241, 242, -1, 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, -1, 293, 294,
+ -1, -1, 297, 298, 299, -1, -1, 302, 303, 304,
+ 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
+ 315, 316, 317, 318, -1, 320, 321, 322, 323, 324,
+ 325, 326, 327, -1, 329, 330, 331, 332, 333, 334,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, -1,
+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
+ 355, 356, 357, -1, 359, 360, 361, 362, 363, 364,
+ 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
+ 375, 376, 377, -1, 379, 380, 381, 382, 383, 384,
+ 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
+ -1, 396, 397, 398, 399, 400, 401, 402, 403, 404,
+ 405, 406, 407, 408, 409, 410, -1, 412, 413, 414,
+ -1, 416, 417, 418, 419, 420, 421, 422, -1, 424,
+ 425, 426, 427, -1, 429, 430, 431, 432, 433, 434,
+ 435, 436, 437, 438, 439, 440, 441, 442, -1, 444,
+ 445, 446, 447, 448, 449, 450, -1, 452, 453, 454,
+ 455, 456, 457, 458, -1, 460, 461, 462, 463, 464,
+ 465, -1, -1, 468, -1, -1, 471, 472, 473, 474,
+ 475, 476, 477, 478, 479, 480, 481, 482, 483, 484,
+ 485, 486, 487, 488, 489, 490, -1, 492, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 504,
+ 505, -1, -1, -1, 3, -1, 5, 6, 513, 8,
+ 9, 10, 11, 12, -1, -1, -1, -1, -1, -1,
+ -1, 20, 21, 22, 23, 24, 25, 26, 27, 28,
+ -1, 30, 31, 32, -1, -1, -1, -1, 37, -1,
+ -1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, -1, 58,
+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
+ 69, 70, 71, -1, 73, 74, 75, 76, 77, -1,
+ 79, -1, 81, 82, 83, 84, 85, 86, 87, 88,
+ 89, 90, -1, 92, 93, 94, 95, 96, 97, -1,
+ 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
+ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
+ 119, 120, -1, 122, 123, 124, 125, 126, 127, 128,
+ -1, 130, 131, 132, 133, -1, -1, 136, 137, 138,
+ 139, 140, -1, 142, 143, 144, -1, 146, 147, 148,
+ -1, 150, 151, 152, 153, 154, 155, 156, 157, 158,
+ 159, 160, 161, -1, 163, 164, 165, 166, 167, -1,
+ 169, -1, 171, 172, 173, -1, 175, 176, 177, 178,
+ 179, -1, 181, 182, -1, 184, 185, 186, -1, 188,
+ 189, 190, 191, 192, 193, 194, 195, 196, 197, -1,
+ 199, 200, 201, 202, 203, 204, 205, 206, -1, 208,
+ 209, 210, 211, 212, 213, 214, 215, 216, -1, 218,
+ -1, 220, 221, 222, 223, 224, 225, 226, 227, 228,
+ 229, 230, 231, 232, 233, 234, 235, -1, -1, 238,
+ 239, 240, 241, 242, -1, 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, -1, 293, 294, -1, -1, 297, 298,
+ 299, -1, -1, 302, 303, 304, 305, 306, 307, 308,
+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
+ -1, 320, 321, 322, 323, 324, 325, 326, 327, -1,
+ 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, -1, 345, 346, 347, 348,
+ 349, 350, 351, 352, 353, 354, 355, 356, 357, -1,
+ 359, 360, 361, 362, 363, 364, 365, 366, 367, 368,
+ 369, 370, 371, 372, 373, 374, 375, 376, 377, -1,
+ 379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
+ 389, 390, 391, 392, 393, 394, -1, 396, 397, 398,
+ 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
+ 409, 410, -1, 412, 413, 414, -1, 416, 417, 418,
+ 419, 420, 421, 422, -1, 424, 425, 426, -1, -1,
+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
+ 439, 440, 441, 442, -1, 444, 445, 446, 447, 448,
+ 449, 450, -1, 452, 453, 454, 455, 456, 457, 458,
+ -1, 460, 461, 462, 463, 464, 465, -1, -1, 468,
+ -1, -1, 471, 472, 473, 474, 475, 476, 477, 478,
+ 479, 480, 481, 482, 483, 484, 485, 486, 487, 488,
+ 489, 490, -1, 492, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 504, 505, -1, -1, -1,
+ 3, -1, 5, 6, 513, 8, 9, 10, 11, 12,
+ -1, -1, -1, -1, -1, -1, -1, 20, 21, 22,
+ 23, 24, 25, 26, 27, 28, -1, 30, 31, 32,
+ -1, -1, -1, -1, 37, -1, -1, 40, 41, 42,
+ -1, 44, 45, 46, 47, 48, 49, 50, 51, 52,
+ 53, 54, 55, 56, -1, 58, 59, 60, 61, 62,
+ 63, 64, 65, 66, 67, 68, 69, 70, 71, -1,
+ 73, 74, 75, 76, 77, -1, 79, -1, 81, 82,
+ 83, 84, 85, 86, 87, 88, 89, 90, -1, 92,
+ 93, 94, 95, 96, 97, -1, 99, 100, 101, 102,
+ 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
+ 113, 114, 115, 116, 117, 118, 119, 120, -1, 122,
+ 123, 124, 125, 126, 127, 128, -1, 130, 131, 132,
+ 133, -1, -1, 136, 137, 138, 139, 140, -1, 142,
+ 143, 144, -1, 146, 147, 148, -1, 150, 151, 152,
+ 153, 154, 155, 156, 157, 158, 159, 160, 161, -1,
+ 163, 164, 165, 166, 167, -1, 169, -1, 171, 172,
+ 173, -1, 175, 176, 177, 178, 179, -1, 181, 182,
+ -1, 184, 185, 186, -1, 188, 189, 190, 191, 192,
+ 193, 194, 195, 196, 197, -1, 199, 200, 201, 202,
+ 203, 204, 205, 206, -1, 208, 209, 210, 211, 212,
+ 213, 214, 215, 216, -1, 218, -1, 220, 221, 222,
+ 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
+ 233, 234, 235, -1, -1, 238, 239, 240, 241, 242,
+ -1, 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, -1,
+ 293, 294, -1, -1, 297, 298, 299, -1, -1, 302,
+ 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
+ 313, 314, 315, 316, 317, 318, -1, 320, 321, 322,
+ 323, 324, 325, 326, 327, -1, 329, 330, 331, 332,
+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342,
+ 343, -1, 345, 346, 347, 348, 349, 350, 351, 352,
+ 353, 354, 355, 356, 357, -1, 359, 360, 361, 362,
+ 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
+ 373, 374, 375, 376, 377, -1, 379, 380, 381, 382,
+ 383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
+ 393, 394, -1, 396, 397, 398, 399, 400, 401, 402,
+ 403, 404, 405, 406, 407, 408, 409, 410, -1, 412,
+ 413, 414, -1, 416, 417, 418, 419, 420, 421, 422,
+ -1, 424, 425, 426, -1, -1, 429, 430, 431, 432,
+ 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
+ -1, 444, 445, 446, 447, 448, 449, 450, -1, 452,
+ 453, 454, 455, 456, 457, 458, -1, 460, 461, 462,
+ 463, 464, 465, -1, -1, 468, -1, -1, 471, 472,
+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482,
+ 483, 484, 485, 486, 487, 488, 489, 490, -1, 492,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 504, 505, -1, -1, -1, 3, -1, 5, 6,
+ 513, 8, 9, 10, 11, 12, -1, -1, -1, -1,
+ -1, -1, -1, 20, 21, 22, 23, 24, 25, 26,
+ 27, 28, -1, 30, 31, 32, -1, -1, -1, -1,
+ 37, -1, -1, 40, 41, 42, -1, 44, 45, 46,
+ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
+ -1, 58, 59, 60, 61, 62, 63, 64, 65, 66,
+ 67, 68, 69, 70, 71, -1, 73, 74, 75, 76,
+ 77, -1, 79, -1, 81, 82, 83, 84, 85, 86,
+ 87, 88, 89, 90, -1, 92, 93, 94, 95, 96,
+ 97, -1, 99, 100, 101, 102, 103, 104, 105, 106,
+ 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
+ 117, 118, 119, 120, -1, 122, 123, 124, 125, 126,
+ 127, 128, -1, 130, 131, 132, 133, -1, -1, 136,
+ 137, 138, 139, 140, -1, 142, 143, 144, -1, 146,
+ 147, 148, -1, 150, 151, 152, 153, 154, 155, 156,
+ 157, 158, 159, 160, 161, -1, 163, 164, 165, 166,
+ 167, -1, 169, -1, 171, 172, 173, -1, 175, 176,
+ 177, 178, 179, -1, 181, 182, -1, 184, 185, 186,
+ -1, 188, 189, 190, 191, 192, 193, 194, 195, 196,
+ 197, -1, 199, 200, 201, 202, 203, 204, 205, 206,
+ -1, 208, 209, 210, 211, 212, 213, 214, 215, 216,
+ -1, 218, -1, 220, 221, 222, 223, 224, 225, 226,
+ 227, 228, 229, 230, 231, 232, 233, 234, 235, -1,
+ -1, 238, 239, 240, 241, 242, -1, 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, -1, 293, 294, -1, -1,
+ 297, 298, 299, -1, -1, 302, 303, 304, 305, 306,
+ 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
+ 317, 318, -1, 320, 321, 322, 323, 324, 325, 326,
+ 327, -1, 329, 330, 331, 332, 333, 334, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, -1, 345, 346,
+ 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
+ 357, -1, 359, 360, 361, 362, 363, 364, 365, 366,
+ 367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
+ 377, -1, 379, 380, 381, 382, 383, 384, 385, 386,
+ 387, 388, 389, 390, 391, 392, 393, 394, -1, 396,
+ 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
+ 407, 408, 409, 410, -1, 412, 413, 414, -1, 416,
+ 417, 418, 419, 420, 421, 422, -1, 424, 425, 426,
+ -1, -1, 429, 430, 431, 432, 433, 434, 435, 436,
+ 437, 438, 439, 440, 441, 442, -1, 444, 445, 446,
+ 447, 448, 449, 450, -1, 452, 453, 454, 455, 456,
+ 457, 458, -1, 460, 461, 462, 463, 464, 465, -1,
+ -1, 468, -1, -1, 471, 472, 473, 474, 475, 476,
+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486,
+ 487, 488, 489, 490, -1, 492, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 504, 505, -1,
+ -1, -1, 3, -1, 5, 6, 513, 8, 9, 10,
+ 11, 12, -1, -1, -1, -1, -1, -1, -1, 20,
+ 21, 22, 23, 24, 25, 26, 27, 28, -1, 30,
+ 31, 32, -1, -1, -1, -1, 37, -1, -1, 40,
+ 41, 42, -1, 44, 45, 46, 47, 48, 49, 50,
+ 51, 52, 53, 54, 55, 56, -1, 58, 59, 60,
+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
+ 71, -1, 73, 74, 75, 76, 77, -1, 79, -1,
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
+ -1, 92, 93, 94, 95, 96, 97, -1, 99, 100,
+ 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
+ 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
+ -1, 122, 123, 124, 125, 126, 127, 128, -1, 130,
+ 131, 132, 133, -1, -1, 136, 137, 138, 139, 140,
+ -1, 142, 143, 144, -1, 146, 147, 148, -1, 150,
+ 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
+ 161, -1, 163, 164, 165, 166, 167, -1, 169, -1,
+ 171, 172, 173, -1, 175, 176, 177, 178, 179, -1,
+ 181, 182, -1, 184, 185, 186, -1, 188, 189, 190,
+ 191, 192, 193, 194, 195, 196, 197, -1, 199, 200,
+ 201, 202, 203, 204, 205, 206, -1, 208, 209, 210,
+ 211, 212, 213, 214, 215, 216, -1, 218, -1, 220,
+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
+ 231, 232, 233, 234, 235, -1, -1, 238, 239, 240,
+ 241, 242, -1, 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, -1, 293, 294, -1, -1, 297, 298, 299, -1,
+ -1, 302, 303, 304, 305, 306, 307, 308, 309, 310,
+ 311, 312, 313, 314, 315, 316, 317, 318, -1, 320,
+ 321, 322, 323, 324, 325, 326, 327, -1, 329, 330,
+ 331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
+ 341, 342, 343, -1, 345, 346, 347, 348, 349, 350,
+ 351, 352, 353, 354, 355, 356, 357, -1, 359, 360,
+ 361, 362, 363, 364, 365, 366, 367, 368, 369, 370,
+ 371, 372, 373, 374, 375, 376, 377, -1, 379, 380,
+ 381, 382, 383, 384, 385, 386, 387, 388, 389, 390,
+ 391, 392, 393, 394, -1, 396, 397, 398, 399, 400,
+ 401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
+ -1, 412, 413, 414, -1, 416, 417, 418, 419, 420,
+ 421, 422, -1, 424, 425, 426, -1, -1, 429, 430,
+ 431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
+ 441, 442, -1, 444, 445, 446, 447, 448, 449, 450,
+ -1, 452, 453, 454, 455, 456, 457, 458, -1, 460,
+ 461, 462, 463, 464, 465, -1, -1, 468, -1, -1,
+ 471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
+ 481, 482, 483, 484, 485, 486, 487, 488, 489, 490,
+ -1, 492, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 504, 505, -1, -1, -1, 3, -1,
+ 5, 6, 513, 8, 9, 10, 11, 12, -1, -1,
+ -1, -1, -1, -1, -1, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, -1, 30, 31, 32, -1, -1,
+ -1, -1, 37, -1, -1, 40, 41, 42, -1, 44,
+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
+ 55, 56, -1, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, -1, 73, 74,
+ 75, 76, 77, -1, 79, -1, 81, 82, 83, 84,
+ 85, 86, 87, 88, 89, 90, -1, 92, 93, 94,
+ 95, 96, 97, -1, 99, 100, 101, 102, 103, 104,
+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+ 115, 116, 117, 118, 119, 120, -1, 122, 123, 124,
+ 125, 126, 127, 128, -1, 130, 131, 132, 133, -1,
+ -1, 136, 137, 138, 139, 140, -1, 142, 143, 144,
+ -1, 146, 147, 148, -1, 150, 151, 152, 153, 154,
+ 155, 156, 157, 158, 159, 160, 161, -1, 163, 164,
+ 165, 166, 167, -1, 169, -1, 171, 172, 173, -1,
+ 175, 176, 177, 178, 179, -1, 181, 182, -1, 184,
+ 185, 186, -1, 188, 189, 190, 191, 192, 193, 194,
+ 195, 196, 197, -1, 199, 200, 201, 202, 203, 204,
+ 205, 206, -1, 208, 209, 210, 211, 212, 213, 214,
+ 215, 216, -1, 218, -1, 220, 221, 222, 223, 224,
+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
+ 235, -1, -1, 238, 239, 240, 241, 242, -1, 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, -1, 293, 294,
+ -1, -1, 297, 298, 299, -1, -1, 302, 303, 304,
+ 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
+ 315, 316, 317, 318, -1, 320, 321, 322, 323, 324,
+ 325, 326, 327, -1, 329, 330, 331, 332, 333, 334,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, -1,
+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
+ 355, 356, 357, -1, 359, 360, 361, 362, 363, 364,
+ 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
+ 375, 376, 377, -1, 379, 380, 381, 382, 383, 384,
+ 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
+ -1, 396, 397, 398, 399, 400, 401, 402, 403, 404,
+ 405, 406, 407, 408, 409, 410, -1, 412, 413, 414,
+ -1, 416, 417, 418, 419, 420, 421, 422, -1, 424,
+ 425, 426, -1, -1, 429, 430, 431, 432, 433, 434,
+ 435, 436, 437, 438, 439, 440, 441, 442, -1, 444,
+ 445, 446, 447, 448, 449, 450, -1, 452, 453, 454,
+ 455, 456, 457, 458, -1, 460, 461, 462, 463, 464,
+ 465, -1, -1, 468, -1, -1, 471, 472, 473, 474,
+ 475, 476, 477, 478, 479, 480, 481, 482, 483, 484,
+ 485, 486, 487, 488, 489, 490, -1, 492, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 504,
+ 505, -1, -1, -1, 3, -1, 5, 6, 513, 8,
+ 9, 10, 11, 12, -1, -1, -1, -1, -1, -1,
+ -1, 20, 21, 22, 23, 24, 25, 26, 27, 28,
+ -1, 30, 31, 32, -1, -1, -1, -1, 37, -1,
+ -1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, -1, 58,
+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
+ 69, 70, 71, -1, 73, 74, 75, 76, 77, -1,
+ 79, -1, 81, 82, 83, 84, 85, 86, 87, 88,
+ 89, 90, -1, 92, 93, 94, 95, 96, 97, -1,
+ 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
+ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
+ 119, 120, -1, 122, 123, 124, 125, 126, 127, 128,
+ -1, 130, 131, 132, 133, -1, -1, 136, 137, 138,
+ 139, 140, -1, 142, 143, 144, -1, 146, 147, 148,
+ -1, 150, 151, 152, 153, 154, 155, 156, 157, 158,
+ 159, 160, 161, -1, 163, 164, 165, 166, 167, -1,
+ 169, -1, 171, 172, 173, -1, 175, 176, 177, 178,
+ 179, -1, 181, 182, -1, 184, 185, 186, -1, 188,
+ 189, 190, 191, 192, 193, 194, 195, 196, 197, -1,
+ 199, 200, 201, 202, 203, 204, 205, 206, -1, 208,
+ 209, 210, 211, 212, 213, 214, 215, 216, -1, 218,
+ -1, 220, 221, 222, 223, 224, 225, 226, 227, 228,
+ 229, 230, 231, 232, 233, 234, 235, -1, -1, 238,
+ 239, 240, 241, 242, -1, 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, -1, 293, 294, -1, -1, 297, 298,
+ 299, -1, -1, 302, 303, 304, 305, 306, 307, 308,
+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
+ -1, 320, 321, 322, 323, 324, 325, 326, 327, -1,
+ 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, -1, 345, 346, 347, 348,
+ 349, 350, 351, 352, 353, 354, 355, 356, 357, -1,
+ 359, 360, 361, 362, 363, 364, 365, 366, 367, 368,
+ 369, 370, 371, 372, 373, 374, 375, 376, 377, -1,
+ 379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
+ 389, 390, 391, 392, 393, 394, -1, 396, 397, 398,
+ 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
+ 409, 410, -1, 412, 413, 414, -1, 416, 417, 418,
+ 419, 420, 421, 422, -1, 424, 425, 426, -1, -1,
+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
+ 439, 440, 441, 442, -1, 444, 445, 446, 447, 448,
+ 449, 450, -1, 452, 453, 454, 455, 456, 457, 458,
+ -1, 460, 461, 462, 463, 464, 465, -1, -1, 468,
+ -1, -1, 471, 472, 473, 474, 475, 476, 477, 478,
+ 479, 480, 481, 482, 483, 484, 485, 486, 487, 488,
+ 489, 490, -1, 492, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 504, 505, -1, -1, -1,
+ 3, -1, 5, 6, 513, 8, 9, 10, 11, 12,
+ -1, -1, -1, -1, -1, -1, -1, 20, 21, 22,
+ 23, 24, 25, 26, 27, 28, -1, 30, 31, 32,
+ -1, -1, -1, -1, 37, -1, -1, 40, 41, 42,
+ -1, 44, 45, 46, 47, 48, 49, 50, 51, 52,
+ 53, 54, 55, 56, -1, 58, 59, 60, 61, 62,
+ 63, 64, 65, 66, 67, 68, 69, 70, 71, -1,
+ 73, 74, 75, 76, 77, -1, 79, -1, 81, 82,
+ 83, 84, 85, 86, 87, 88, 89, 90, -1, 92,
+ 93, 94, 95, 96, 97, -1, 99, 100, 101, 102,
+ 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
+ 113, 114, 115, 116, 117, 118, 119, 120, -1, 122,
+ 123, 124, 125, 126, 127, 128, -1, 130, 131, 132,
+ 133, -1, -1, 136, 137, 138, 139, 140, -1, 142,
+ 143, 144, -1, 146, 147, 148, -1, 150, 151, 152,
+ 153, 154, 155, 156, 157, 158, 159, 160, 161, -1,
+ 163, 164, 165, 166, 167, -1, 169, -1, 171, 172,
+ 173, -1, 175, 176, 177, 178, 179, -1, 181, 182,
+ -1, 184, 185, 186, -1, 188, 189, 190, 191, 192,
+ 193, 194, 195, 196, 197, -1, 199, 200, 201, 202,
+ 203, 204, 205, 206, -1, 208, 209, 210, 211, 212,
+ 213, 214, 215, 216, -1, 218, -1, 220, 221, 222,
+ 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
+ 233, 234, 235, -1, -1, 238, 239, 240, 241, 242,
+ -1, 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, -1,
+ 293, 294, -1, -1, 297, 298, 299, -1, -1, 302,
+ 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
+ 313, 314, 315, 316, 317, 318, -1, 320, 321, 322,
+ 323, 324, 325, 326, 327, -1, 329, 330, 331, 332,
+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342,
+ 343, -1, 345, 346, 347, 348, 349, 350, 351, 352,
+ 353, 354, 355, 356, 357, -1, 359, 360, 361, 362,
+ 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
+ 373, 374, 375, 376, 377, -1, 379, 380, 381, 382,
+ 383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
+ 393, 394, -1, 396, 397, 398, 399, 400, 401, 402,
+ 403, 404, 405, 406, 407, 408, 409, 410, -1, 412,
+ 413, 414, -1, 416, 417, 418, 419, 420, 421, 422,
+ -1, 424, 425, 426, -1, -1, 429, 430, 431, 432,
+ 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
+ -1, 444, 445, 446, 447, 448, 449, 450, -1, 452,
+ 453, 454, 455, 456, 457, 458, -1, 460, 461, 462,
+ 463, 464, 465, -1, -1, 468, -1, -1, 471, 472,
+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482,
+ 483, 484, 485, 486, 487, 488, 489, 490, -1, 492,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 504, 505, -1, -1, -1, 3, -1, 5, 6,
+ 513, 8, 9, 10, 11, 12, -1, -1, -1, -1,
+ -1, -1, -1, 20, 21, 22, 23, 24, 25, 26,
+ 27, 28, -1, 30, 31, 32, -1, -1, -1, -1,
+ 37, -1, -1, 40, 41, 42, -1, 44, 45, 46,
+ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
+ -1, 58, 59, 60, 61, 62, 63, 64, 65, 66,
+ 67, 68, 69, 70, 71, -1, 73, 74, 75, 76,
+ 77, -1, 79, -1, 81, 82, 83, 84, 85, 86,
+ 87, 88, 89, 90, -1, 92, 93, 94, 95, 96,
+ 97, -1, 99, 100, 101, 102, 103, 104, 105, 106,
+ 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
+ 117, 118, 119, 120, -1, 122, 123, 124, 125, 126,
+ 127, 128, -1, 130, 131, 132, 133, -1, -1, 136,
+ 137, 138, 139, 140, -1, 142, 143, 144, -1, 146,
+ 147, 148, -1, 150, 151, 152, 153, 154, 155, 156,
+ 157, 158, 159, 160, 161, -1, 163, 164, 165, 166,
+ 167, -1, 169, -1, 171, 172, 173, -1, 175, 176,
+ 177, 178, 179, -1, 181, 182, -1, 184, 185, 186,
+ -1, 188, 189, 190, 191, 192, 193, 194, 195, 196,
+ 197, -1, 199, 200, 201, 202, 203, 204, 205, 206,
+ -1, 208, 209, 210, 211, 212, 213, 214, 215, 216,
+ -1, 218, -1, 220, 221, 222, 223, 224, 225, 226,
+ 227, 228, 229, 230, 231, 232, 233, 234, 235, -1,
+ -1, 238, 239, 240, 241, 242, -1, 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, -1, 293, 294, -1, -1,
+ 297, 298, 299, -1, -1, 302, 303, 304, 305, 306,
+ 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
+ 317, 318, -1, 320, 321, 322, 323, 324, 325, 326,
+ 327, -1, 329, 330, 331, 332, 333, 334, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, -1, 345, 346,
+ 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
+ 357, -1, 359, 360, 361, 362, 363, 364, 365, 366,
+ 367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
+ 377, -1, 379, 380, 381, 382, 383, 384, 385, 386,
+ 387, 388, 389, 390, 391, 392, 393, 394, -1, 396,
+ 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
+ 407, 408, 409, 410, -1, 412, 413, 414, -1, 416,
+ 417, 418, 419, 420, 421, 422, -1, 424, 425, 426,
+ -1, -1, 429, 430, 431, 432, 433, 434, 435, 436,
+ 437, 438, 439, 440, 441, 442, -1, 444, 445, 446,
+ 447, 448, 449, 450, -1, 452, 453, 454, 455, 456,
+ 457, 458, -1, 460, 461, 462, 463, 464, 465, -1,
+ -1, 468, -1, -1, 471, 472, 473, 474, 475, 476,
+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486,
+ 487, 488, 489, 490, -1, 492, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 504, 505, -1,
+ -1, -1, 3, -1, 5, 6, 513, 8, 9, 10,
+ 11, 12, -1, -1, -1, -1, -1, -1, -1, 20,
+ 21, 22, 23, 24, 25, 26, 27, 28, -1, 30,
+ 31, 32, -1, -1, -1, -1, 37, -1, -1, 40,
+ 41, 42, -1, 44, 45, 46, 47, 48, 49, 50,
+ 51, 52, 53, 54, 55, 56, -1, 58, 59, 60,
+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
+ 71, -1, 73, 74, 75, 76, 77, -1, 79, -1,
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
+ -1, 92, 93, 94, 95, 96, 97, -1, 99, 100,
+ 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
+ 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
+ -1, 122, 123, 124, 125, 126, 127, 128, -1, 130,
+ 131, 132, 133, -1, -1, 136, 137, 138, 139, 140,
+ -1, 142, 143, 144, -1, 146, 147, 148, -1, 150,
+ 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
+ 161, -1, 163, 164, 165, 166, 167, -1, 169, -1,
+ 171, 172, 173, -1, 175, 176, 177, 178, 179, -1,
+ 181, 182, -1, 184, 185, 186, -1, 188, 189, 190,
+ 191, 192, 193, 194, 195, 196, 197, -1, 199, 200,
+ 201, 202, 203, 204, 205, 206, -1, 208, 209, 210,
+ 211, 212, 213, 214, 215, 216, -1, 218, -1, 220,
+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
+ 231, 232, 233, 234, 235, -1, -1, 238, 239, 240,
+ 241, 242, -1, 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, -1, 293, 294, -1, -1, 297, 298, 299, -1,
+ -1, 302, 303, 304, 305, 306, 307, 308, 309, 310,
+ 311, 312, 313, 314, 315, 316, 317, 318, -1, 320,
+ 321, 322, 323, 324, 325, 326, 327, -1, 329, 330,
+ 331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
+ 341, 342, 343, -1, 345, 346, 347, 348, 349, 350,
+ 351, 352, 353, 354, 355, 356, 357, -1, 359, 360,
+ 361, 362, 363, 364, 365, 366, 367, 368, 369, 370,
+ 371, 372, 373, 374, 375, 376, 377, -1, 379, 380,
+ 381, 382, 383, 384, 385, 386, 387, 388, 389, 390,
+ 391, 392, 393, 394, -1, 396, 397, 398, 399, 400,
+ 401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
+ -1, 412, 413, 414, -1, 416, 417, 418, 419, 420,
+ 421, 422, -1, 424, 425, 426, -1, -1, 429, 430,
+ 431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
+ 441, 442, -1, 444, 445, 446, 447, 448, 449, 450,
+ -1, 452, 453, 454, 455, 456, 457, 458, -1, 460,
+ 461, 462, 463, 464, 465, -1, -1, 468, -1, -1,
+ 471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
+ 481, 482, 483, 484, 485, 486, 487, 488, 489, 490,
+ -1, 492, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 504, 505, -1, -1, -1, 3, -1,
+ 5, 6, 513, 8, 9, 10, 11, 12, -1, -1,
+ -1, -1, -1, -1, -1, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, -1, 30, 31, 32, -1, -1,
+ -1, -1, 37, -1, -1, 40, 41, 42, -1, 44,
+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
+ 55, 56, -1, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, -1, 73, 74,
+ 75, 76, 77, -1, 79, -1, 81, 82, 83, 84,
+ 85, 86, 87, 88, 89, 90, -1, 92, 93, 94,
+ 95, 96, 97, -1, 99, 100, 101, 102, 103, 104,
+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+ 115, 116, 117, 118, 119, 120, -1, 122, 123, 124,
+ 125, 126, 127, 128, -1, 130, 131, 132, 133, -1,
+ -1, 136, 137, 138, 139, 140, -1, 142, 143, 144,
+ -1, 146, 147, 148, -1, 150, 151, 152, 153, 154,
+ 155, 156, 157, 158, 159, 160, 161, -1, 163, 164,
+ 165, 166, 167, -1, 169, -1, 171, 172, 173, -1,
+ 175, 176, 177, 178, 179, -1, 181, 182, -1, 184,
+ 185, 186, -1, 188, 189, 190, 191, 192, 193, 194,
+ 195, 196, 197, -1, 199, 200, 201, 202, 203, 204,
+ 205, 206, -1, 208, 209, 210, 211, 212, 213, 214,
+ 215, 216, -1, 218, -1, 220, 221, 222, 223, 224,
+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
+ 235, -1, -1, 238, 239, 240, 241, 242, -1, 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, -1, 281, 282, 283, 284,
+ 285, 286, 287, 288, 289, 290, 291, -1, 293, 294,
+ -1, -1, 297, 298, 299, -1, -1, 302, 303, 304,
+ 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
+ 315, 316, 317, 318, -1, 320, 321, 322, 323, 324,
+ 325, 326, 327, -1, 329, 330, 331, 332, 333, 334,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, -1,
+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
+ 355, 356, 357, -1, 359, 360, 361, 362, 363, 364,
+ 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
+ 375, 376, 377, -1, 379, 380, 381, 382, 383, 384,
+ 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
+ -1, 396, 397, 398, 399, 400, 401, 402, 403, 404,
+ 405, 406, 407, 408, 409, 410, -1, 412, 413, 414,
+ -1, 416, 417, 418, 419, 420, 421, 422, -1, 424,
+ 425, 426, -1, -1, 429, 430, 431, 432, 433, 434,
+ 435, 436, 437, 438, 439, 440, 441, 442, -1, -1,
+ 445, 446, 447, 448, 449, 450, -1, 452, 453, 454,
+ 455, 456, 457, 458, -1, 460, 461, 462, 463, 464,
+ 465, -1, -1, 468, -1, -1, 471, 472, 473, 474,
+ 475, 476, 477, 478, 479, 480, 481, 482, 483, 484,
+ 485, 486, 487, 488, 489, 490, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 504,
+ 505, -1, -1, -1, 3, -1, 5, 6, 513, 8,
+ 9, 10, 11, 12, -1, -1, -1, -1, -1, -1,
+ -1, 20, 21, 22, 23, 24, 25, 26, 27, 28,
+ -1, 30, 31, 32, -1, -1, -1, -1, 37, -1,
+ -1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, -1, 58,
+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
+ 69, 70, 71, -1, 73, 74, 75, 76, 77, -1,
+ 79, -1, 81, 82, 83, 84, 85, 86, 87, 88,
+ 89, 90, -1, 92, 93, 94, 95, 96, 97, -1,
+ 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
+ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
+ 119, 120, -1, 122, 123, 124, 125, 126, 127, 128,
+ -1, 130, 131, 132, 133, -1, -1, 136, 137, 138,
+ 139, 140, -1, 142, 143, 144, -1, 146, 147, 148,
+ -1, 150, 151, 152, 153, 154, 155, 156, 157, 158,
+ 159, 160, 161, -1, 163, 164, 165, 166, 167, -1,
+ 169, -1, 171, 172, 173, -1, 175, 176, 177, 178,
+ 179, -1, 181, 182, -1, 184, 185, 186, -1, 188,
+ 189, 190, 191, 192, 193, 194, 195, 196, 197, -1,
+ 199, 200, 201, 202, 203, 204, 205, 206, -1, 208,
+ 209, 210, 211, 212, 213, 214, 215, 216, -1, 218,
+ -1, 220, -1, -1, 223, 224, 225, 226, 227, 228,
+ 229, 230, 231, 232, 233, 234, 235, -1, -1, 238,
+ 239, 240, 241, 242, -1, 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, -1, 284, 285, 286, 287, 288,
+ 289, 290, 291, -1, 293, 294, -1, -1, 297, 298,
+ 299, -1, -1, 302, 303, 304, 305, 306, 307, 308,
+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
+ -1, 320, 321, 322, 323, 324, 325, 326, 327, -1,
+ 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, -1, 345, 346, 347, 348,
+ 349, 350, 351, 352, 353, 354, 355, 356, 357, -1,
+ 359, 360, 361, 362, 363, 364, 365, 366, 367, 368,
+ 369, 370, 371, 372, 373, 374, 375, 376, 377, -1,
+ 379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
+ 389, 390, 391, 392, 393, 394, -1, 396, 397, 398,
+ 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
+ 409, 410, -1, 412, 413, 414, -1, 416, 417, 418,
+ 419, 420, 421, 422, -1, 424, 425, 426, -1, -1,
+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
+ 439, 440, 441, 442, -1, 444, 445, 446, 447, 448,
+ 449, 450, -1, 452, 453, 454, 455, 456, 457, 458,
+ -1, 460, 461, 462, 463, 464, 465, -1, -1, 468,
+ -1, -1, 471, 472, 473, 474, 475, 476, 477, 478,
+ 479, 480, 481, 482, 483, 484, 485, 486, 487, 488,
+ 489, 490, -1, 492, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 504, 505, -1, -1, -1,
+ 3, -1, 5, 6, 513, 8, 9, 10, 11, 12,
+ -1, -1, -1, -1, -1, -1, -1, 20, 21, 22,
+ 23, 24, 25, 26, 27, 28, -1, 30, 31, 32,
+ -1, -1, -1, -1, 37, -1, -1, 40, 41, 42,
+ -1, 44, 45, 46, 47, 48, 49, 50, 51, 52,
+ 53, 54, 55, 56, -1, 58, 59, 60, 61, 62,
+ 63, 64, 65, 66, 67, 68, 69, 70, 71, -1,
+ 73, 74, 75, 76, 77, -1, 79, -1, 81, 82,
+ 83, 84, 85, 86, 87, 88, 89, 90, -1, 92,
+ 93, 94, 95, 96, 97, -1, 99, 100, 101, 102,
+ 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
+ 113, 114, 115, 116, 117, 118, -1, 120, -1, 122,
+ 123, 124, 125, 126, 127, 128, -1, 130, 131, 132,
+ 133, -1, -1, 136, 137, 138, 139, 140, -1, 142,
+ 143, 144, -1, 146, 147, 148, -1, 150, 151, 152,
+ 153, 154, 155, 156, 157, 158, 159, 160, 161, -1,
+ 163, 164, 165, 166, 167, -1, 169, -1, 171, 172,
+ 173, -1, 175, 176, 177, 178, 179, -1, 181, 182,
+ -1, 184, 185, 186, -1, 188, 189, 190, 191, 192,
+ 193, 194, 195, 196, 197, -1, 199, 200, 201, 202,
+ 203, 204, 205, 206, -1, 208, 209, 210, 211, 212,
+ 213, 214, 215, 216, -1, 218, -1, 220, 221, 222,
+ 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
+ 233, 234, 235, -1, -1, 238, 239, 240, 241, 242,
+ -1, 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, -1, 281, 282,
+ 283, 284, 285, 286, 287, 288, 289, 290, 291, -1,
+ 293, 294, -1, -1, 297, 298, 299, -1, -1, 302,
+ 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
+ 313, 314, 315, 316, 317, 318, -1, 320, 321, 322,
+ 323, 324, 325, 326, 327, -1, 329, 330, 331, 332,
+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342,
+ 343, -1, 345, 346, 347, 348, 349, 350, 351, 352,
+ 353, 354, 355, 356, 357, -1, 359, 360, 361, 362,
+ 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
+ 373, 374, 375, 376, 377, -1, 379, 380, 381, 382,
+ 383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
+ 393, 394, -1, 396, 397, 398, 399, 400, 401, 402,
+ 403, 404, 405, 406, 407, 408, 409, 410, -1, 412,
+ 413, 414, -1, 416, 417, 418, 419, 420, 421, 422,
+ -1, 424, 425, 426, -1, -1, 429, 430, 431, 432,
+ 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
+ -1, -1, 445, 446, 447, 448, 449, 450, -1, 452,
+ 453, 454, 455, 456, 457, 458, -1, 460, 461, 462,
+ 463, 464, 465, -1, -1, 468, -1, -1, 471, 472,
+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482,
+ 483, 484, 485, 486, 487, 488, 489, 490, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 504, 505, 3, -1, 5, 6, -1, 8, 9,
+ 513, 11, 12, -1, -1, -1, -1, -1, -1, -1,
+ 20, 21, 22, 23, 24, 25, 26, 27, 28, -1,
+ 30, 31, 32, -1, -1, -1, -1, 37, -1, -1,
+ 40, 41, 42, -1, 44, 45, 46, 47, 48, 49,
+ 50, 51, 52, 53, 54, 55, 56, -1, 58, 59,
+ 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
+ 70, 71, -1, 73, 74, 75, 76, 77, -1, 79,
+ -1, 81, 82, 83, 84, 85, 86, 87, 88, 89,
+ 90, -1, 92, 93, 94, 95, 96, 97, -1, 99,
+ 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
+ 110, 111, 112, 113, 114, 115, 116, 117, 118, -1,
+ 120, -1, 122, 123, 124, 125, 126, 127, 128, -1,
+ 130, 131, 132, 133, -1, -1, 136, 137, 138, 139,
+ 140, -1, 142, 143, 144, -1, 146, 147, 148, -1,
+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
+ 160, 161, -1, 163, 164, 165, 166, 167, -1, 169,
+ -1, 171, 172, 173, -1, 175, 176, 177, 178, 179,
+ -1, 181, 182, -1, 184, 185, 186, -1, 188, 189,
+ 190, 191, 192, 193, 194, 195, 196, 197, -1, 199,
+ 200, 201, 202, 203, 204, 205, 206, -1, 208, 209,
+ 210, 211, 212, 213, 214, 215, 216, -1, 218, -1,
+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
+ 230, 231, 232, 233, 234, 235, -1, -1, 238, 239,
+ 240, 241, 242, -1, 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,
+ -1, 281, 282, 283, 284, 285, 286, 287, 288, 289,
+ 290, 291, -1, 293, 294, -1, -1, 297, 298, 299,
+ -1, -1, 302, 303, 304, 305, 306, 307, 308, 309,
+ 310, 311, 312, 313, 314, 315, 316, 317, 318, -1,
+ 320, 321, 322, 323, 324, 325, 326, 327, -1, 329,
+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339,
+ 340, 341, 342, 343, -1, 345, 346, 347, 348, 349,
+ 350, 351, 352, 353, 354, 355, 356, 357, -1, 359,
+ 360, 361, 362, 363, 364, 365, 366, 367, 368, 369,
+ 370, 371, 372, 373, 374, 375, 376, 377, -1, 379,
+ 380, 381, 382, 383, 384, 385, 386, 387, 388, 389,
+ 390, 391, 392, 393, 394, -1, 396, 397, 398, 399,
+ 400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
+ 410, -1, 412, 413, 414, -1, 416, 417, 418, 419,
+ 420, 421, 422, -1, 424, 425, 426, -1, -1, 429,
+ 430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
+ 440, 441, 442, -1, -1, 445, 446, 447, 448, 449,
+ 450, -1, 452, 453, 454, 455, 456, 457, 458, -1,
+ 460, 461, 462, 463, 464, 465, -1, -1, 468, -1,
+ -1, 471, 472, 473, 474, 475, 476, 477, 478, 479,
+ 480, 481, 482, 483, 484, 485, 486, 487, 488, 489,
+ 490, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 504, 505, 3, -1, 5, 6,
+ -1, 8, 9, 513, 11, 12, -1, -1, -1, -1,
+ -1, -1, -1, 20, 21, 22, 23, 24, 25, 26,
+ 27, 28, -1, 30, 31, 32, -1, -1, -1, -1,
+ 37, -1, -1, 40, 41, 42, -1, 44, 45, 46,
+ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
+ -1, 58, 59, 60, 61, 62, 63, 64, 65, 66,
+ 67, 68, 69, 70, 71, -1, 73, 74, 75, 76,
+ 77, -1, 79, -1, 81, 82, 83, 84, 85, 86,
+ 87, 88, 89, 90, -1, 92, 93, 94, 95, 96,
+ 97, -1, 99, 100, 101, 102, 103, 104, 105, 106,
+ 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
+ 117, 118, -1, 120, -1, 122, 123, 124, 125, 126,
+ 127, 128, -1, 130, 131, 132, 133, -1, -1, 136,
+ 137, 138, 139, 140, -1, 142, 143, 144, -1, 146,
+ 147, 148, -1, 150, 151, 152, 153, 154, 155, 156,
+ 157, 158, 159, 160, 161, -1, 163, 164, 165, 166,
+ 167, -1, 169, -1, 171, 172, 173, -1, 175, 176,
+ 177, 178, 179, -1, 181, 182, -1, 184, 185, 186,
+ -1, 188, 189, 190, 191, 192, 193, 194, 195, 196,
+ 197, -1, 199, 200, 201, 202, 203, 204, 205, 206,
+ -1, 208, 209, 210, 211, 212, 213, 214, 215, 216,
+ -1, 218, -1, 220, 221, 222, 223, 224, 225, 226,
+ 227, 228, 229, 230, 231, 232, 233, 234, 235, -1,
+ -1, 238, 239, 240, 241, 242, -1, 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, -1, 281, 282, 283, 284, 285, 286,
+ 287, 288, 289, 290, 291, -1, 293, 294, -1, -1,
+ 297, 298, 299, -1, -1, 302, 303, 304, 305, 306,
+ 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
+ 317, 318, -1, 320, 321, 322, 323, 324, 325, 326,
+ 327, -1, 329, 330, 331, 332, 333, 334, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, -1, 345, 346,
+ 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
+ 357, -1, 359, 360, 361, 362, 363, 364, 365, 366,
+ 367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
+ 377, -1, 379, 380, 381, 382, 383, 384, 385, 386,
+ 387, 388, 389, 390, 391, 392, 393, 394, -1, 396,
+ 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
+ 407, 408, 409, 410, -1, 412, 413, 414, -1, 416,
+ 417, 418, 419, 420, 421, 422, -1, 424, 425, 426,
+ -1, -1, 429, 430, 431, 432, 433, 434, 435, 436,
+ 437, 438, 439, 440, 441, 442, -1, -1, 445, 446,
+ 447, 448, 449, 450, -1, 452, 453, 454, 455, 456,
+ 457, 458, -1, 460, 461, 462, 463, 464, 465, -1,
+ -1, 468, -1, -1, 471, 472, 473, 474, 475, 476,
+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486,
+ 487, 488, 489, 490, -1, -1, -1, -1, -1, -1,
+ 3, -1, 5, 6, -1, 8, 9, -1, 11, 12,
+ -1, -1, -1, -1, -1, -1, 513, 20, 21, 22,
+ 23, 24, 25, 26, 27, 28, -1, 30, 31, 32,
+ -1, -1, -1, -1, 37, -1, -1, 40, 41, 42,
+ -1, 44, 45, 46, 47, 48, 49, 50, 51, 52,
+ 53, 54, 55, 56, -1, 58, 59, 60, 61, 62,
+ 63, 64, 65, 66, 67, 68, 69, 70, 71, -1,
+ 73, 74, 75, 76, 77, -1, 79, -1, 81, 82,
+ 83, 84, 85, 86, 87, 88, 89, 90, -1, 92,
+ 93, 94, 95, 96, 97, -1, 99, 100, 101, 102,
+ 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
+ 113, 114, 115, 116, 117, 118, -1, 120, -1, 122,
+ 123, 124, 125, 126, 127, 128, -1, 130, 131, 132,
+ 133, -1, -1, 136, 137, 138, 139, 140, -1, 142,
+ 143, 144, -1, 146, 147, 148, -1, 150, 151, 152,
+ 153, 154, 155, 156, 157, 158, 159, 160, 161, -1,
+ 163, 164, 165, 166, 167, -1, 169, -1, 171, 172,
+ 173, -1, 175, 176, 177, 178, 179, -1, 181, 182,
+ -1, 184, 185, 186, -1, 188, 189, 190, 191, 192,
+ 193, 194, 195, 196, 197, -1, 199, 200, 201, 202,
+ 203, 204, 205, 206, -1, 208, 209, 210, 211, 212,
+ 213, 214, 215, 216, -1, 218, -1, 220, 221, 222,
+ 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
+ 233, 234, 235, -1, -1, 238, 239, 240, 241, 242,
+ -1, 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, -1, 281, 282,
+ 283, 284, 285, 286, 287, 288, 289, 290, 291, -1,
+ 293, 294, -1, -1, 297, 298, 299, -1, -1, 302,
+ 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
+ 313, 314, 315, 316, 317, 318, -1, 320, 321, 322,
+ 323, 324, 325, 326, 327, -1, 329, 330, 331, 332,
+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342,
+ 343, -1, 345, 346, 347, 348, 349, 350, 351, 352,
+ 353, 354, 355, 356, 357, -1, 359, 360, 361, 362,
+ 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
+ 373, 374, 375, 376, 377, -1, 379, 380, 381, 382,
+ 383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
+ 393, 394, -1, 396, 397, 398, 399, 400, 401, 402,
+ 403, 404, 405, 406, 407, 408, 409, 410, -1, 412,
+ 413, 414, -1, 416, 417, 418, 419, 420, 421, 422,
+ -1, 424, 425, 426, -1, -1, 429, 430, 431, 432,
+ 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
+ -1, -1, 445, 446, 447, 448, 449, 450, -1, 452,
+ 453, 454, 455, 456, 457, 458, -1, 460, 461, 462,
+ 463, 464, 465, -1, -1, 468, -1, -1, 471, 472,
+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482,
+ 483, 484, 485, 486, 487, 488, 489, 490, -1, -1,
+ -1, -1, -1, -1, 3, -1, 5, 6, -1, 8,
+ 9, -1, 11, 12, -1, -1, -1, -1, -1, -1,
+ 513, 20, 21, 22, 23, 24, 25, 26, 27, 28,
+ -1, 30, 31, 32, -1, -1, -1, -1, 37, -1,
+ -1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, -1, 58,
+ 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
+ 69, 70, 71, -1, 73, 74, 75, 76, 77, -1,
+ 79, -1, 81, 82, 83, 84, 85, 86, 87, 88,
+ 89, 90, -1, 92, 93, 94, 95, 96, 97, -1,
+ 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
+ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
+ -1, 120, -1, 122, 123, 124, 125, 126, 127, 128,
+ -1, 130, 131, 132, 133, -1, -1, 136, 137, 138,
+ 139, 140, -1, 142, 143, 144, -1, 146, 147, 148,
+ -1, 150, 151, 152, 153, 154, 155, 156, 157, 158,
+ 159, 160, 161, -1, 163, 164, 165, 166, 167, -1,
+ 169, -1, 171, 172, 173, -1, 175, 176, 177, 178,
+ 179, -1, 181, 182, -1, 184, 185, 186, -1, 188,
+ 189, 190, 191, 192, 193, 194, 195, 196, 197, -1,
+ 199, 200, 201, 202, 203, 204, 205, 206, -1, 208,
+ 209, 210, 211, 212, 213, 214, 215, 216, -1, 218,
+ -1, 220, 221, 222, 223, 224, 225, 226, 227, 228,
+ 229, 230, 231, 232, 233, 234, 235, -1, -1, 238,
+ 239, 240, 241, 242, -1, 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, -1, 281, 282, 283, 284, 285, 286, 287, 288,
+ 289, 290, 291, -1, 293, 294, -1, -1, 297, 298,
+ 299, -1, -1, 302, 303, 304, 305, 306, 307, 308,
+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
+ -1, 320, 321, 322, 323, 324, 325, 326, 327, -1,
+ 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, -1, 345, 346, 347, 348,
+ 349, 350, 351, 352, 353, 354, 355, 356, 357, -1,
+ 359, 360, 361, 362, 363, 364, 365, 366, 367, 368,
+ 369, 370, 371, 372, 373, 374, 375, 376, 377, -1,
+ 379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
+ 389, 390, 391, 392, 393, 394, -1, 396, 397, 398,
+ 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
+ 409, 410, -1, 412, 413, 414, -1, 416, 417, 418,
+ 419, 420, 421, 422, -1, 424, 425, 426, -1, -1,
+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
+ 439, 440, 441, 442, -1, -1, 445, 446, 447, 448,
+ 449, 450, -1, 452, 453, 454, 455, 456, 457, 458,
+ -1, 460, 461, 462, 463, 464, 465, -1, -1, 468,
+ -1, -1, 471, 472, 473, 474, 475, 476, 477, 478,
+ 479, 480, 481, 482, 483, 484, 485, 486, 487, 488,
+ 489, 490, -1, -1, -1, -1, -1, -1, 3, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 513, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, -1, 30, 31, 32, -1, -1,
+ -1, -1, -1, -1, -1, 40, 41, 42, -1, 44,
+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
+ 55, 56, -1, 58, 59, 60, 61, 62, 63, 64,
+ -1, 66, 67, 68, 69, 70, 71, -1, 73, 74,
+ 75, 76, 77, -1, 79, -1, 81, 82, 83, 84,
+ 85, 86, 87, 88, 89, 90, -1, 92, 93, 94,
+ 95, 96, 97, -1, 99, 100, 101, 102, 103, 104,
+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+ 115, 116, 117, 118, -1, 120, -1, 122, 123, 124,
+ 125, 126, 127, 128, -1, 130, 131, 132, 133, -1,
+ -1, 136, 137, 138, 139, 140, -1, 142, 143, 144,
+ -1, 146, 147, 148, -1, 150, 151, 152, 153, 154,
+ 155, 156, 157, 158, 159, -1, 161, -1, 163, 164,
+ 165, 166, 167, -1, 169, -1, 171, 172, 173, -1,
+ 175, 176, 177, 178, 179, -1, 181, 182, -1, 184,
+ 185, 186, -1, 188, 189, 190, 191, 192, 193, 194,
+ 195, 196, 197, -1, 199, 200, 201, 202, 203, 204,
+ 205, 206, -1, 208, 209, 210, 211, 212, 213, 214,
+ 215, 216, -1, 218, -1, 220, 221, 222, 223, 224,
+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
+ 235, 236, -1, 238, 239, 240, 241, 242, -1, 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, -1, 281, 282, 283, 284,
+ -1, 286, 287, 288, 289, 290, 291, -1, 293, 294,
+ -1, 296, 297, 298, 299, -1, -1, 302, 303, 304,
+ 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
+ 315, 316, 317, 318, -1, 320, 321, 322, 323, 324,
+ 325, 326, 327, -1, 329, 330, 331, 332, 333, 334,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, -1,
+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
+ 355, 356, 357, -1, 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,
+ -1, 396, 397, 398, 399, 400, 401, 402, 403, 404,
+ 405, 406, 407, 408, 409, 410, -1, 412, 413, 414,
+ 415, 416, 417, 418, 419, 420, 421, 422, -1, 424,
+ 425, 426, -1, -1, 429, 430, 431, 432, 433, -1,
+ 435, 436, 437, 438, 439, 440, 441, 442, -1, -1,
+ 445, 446, 447, 448, 449, 450, -1, 452, 453, 454,
+ 455, 456, 457, 458, -1, 460, 461, 462, 463, 464,
+ 465, -1, -1, 468, -1, 470, 471, 472, 473, 474,
+ 475, 476, 477, 478, 479, 480, 481, 482, 483, 484,
+ 485, 486, 487, 488, 489, 490, -1, -1, -1, 494,
+ -1, -1, 3, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 513, 20,
+ 21, 22, 23, 24, 25, 26, 27, 28, -1, 30,
+ 31, 32, -1, -1, -1, -1, -1, -1, -1, 40,
+ 41, 42, -1, 44, 45, 46, 47, 48, 49, 50,
+ 51, 52, 53, 54, 55, 56, -1, 58, 59, 60,
+ 61, 62, 63, 64, -1, 66, 67, 68, 69, 70,
+ 71, -1, 73, 74, 75, 76, 77, -1, 79, -1,
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
+ -1, 92, 93, 94, 95, 96, 97, -1, 99, 100,
+ 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
+ 111, 112, 113, 114, 115, 116, 117, 118, -1, 120,
+ -1, 122, 123, 124, 125, 126, 127, 128, -1, 130,
+ 131, 132, 133, -1, -1, 136, 137, 138, 139, 140,
+ -1, 142, 143, 144, -1, 146, 147, 148, -1, 150,
+ 151, 152, 153, 154, 155, 156, 157, 158, 159, -1,
+ 161, -1, 163, 164, 165, 166, 167, -1, 169, -1,
+ 171, 172, 173, -1, 175, 176, 177, 178, 179, -1,
+ 181, 182, -1, 184, 185, 186, -1, 188, 189, 190,
+ 191, 192, 193, 194, 195, 196, 197, -1, 199, 200,
+ 201, 202, 203, 204, 205, 206, -1, 208, 209, 210,
+ 211, 212, 213, 214, 215, 216, -1, 218, -1, 220,
+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
+ 231, 232, 233, 234, 235, 236, -1, 238, 239, 240,
+ 241, 242, -1, 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, -1,
+ 281, 282, 283, 284, -1, 286, 287, 288, 289, 290,
+ 291, -1, 293, 294, -1, 296, 297, 298, 299, -1,
+ -1, 302, 303, 304, 305, 306, 307, 308, 309, 310,
+ 311, 312, 313, 314, 315, 316, 317, 318, -1, 320,
+ 321, 322, 323, 324, 325, 326, 327, -1, 329, 330,
+ 331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
+ 341, 342, 343, -1, 345, 346, 347, 348, 349, 350,
+ 351, 352, 353, 354, 355, 356, 357, -1, 359, 360,
+ 361, 362, 363, 364, 365, 366, 367, 368, 369, 370,
+ 371, 372, 373, 374, 375, 376, 377, -1, 379, 380,
+ 381, 382, 383, 384, 385, 386, 387, 388, 389, 390,
+ 391, 392, 393, 394, -1, 396, 397, 398, 399, 400,
+ 401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
+ -1, 412, 413, 414, -1, 416, 417, 418, 419, 420,
+ 421, 422, -1, 424, 425, 426, -1, -1, 429, 430,
+ 431, 432, 433, -1, 435, 436, 437, 438, 439, 440,
+ 441, 442, -1, -1, 445, 446, 447, 448, 449, 450,
+ -1, 452, 453, 454, 455, 456, 457, 458, -1, 460,
+ 461, 462, 463, 464, 465, -1, -1, 468, -1, -1,
+ 471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
+ 481, 482, 483, 484, 485, 486, 487, 488, 489, 490,
+ -1, -1, -1, -1, -1, -1, 3, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 513, 20, 21, 22, 23, 24, 25, 26,
+ 27, 28, -1, 30, 31, 32, -1, -1, -1, -1,
+ -1, -1, -1, 40, 41, 42, -1, 44, 45, 46,
+ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
+ -1, 58, 59, 60, 61, 62, 63, 64, -1, 66,
+ 67, 68, 69, 70, 71, -1, 73, 74, 75, 76,
+ 77, -1, 79, -1, 81, 82, 83, 84, 85, 86,
+ 87, 88, 89, 90, -1, 92, 93, 94, 95, 96,
+ 97, -1, 99, 100, 101, 102, 103, 104, 105, 106,
+ 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
+ 117, 118, -1, 120, -1, 122, 123, 124, 125, 126,
+ 127, 128, -1, 130, 131, 132, 133, -1, -1, 136,
+ 137, 138, 139, 140, -1, 142, 143, 144, -1, 146,
+ 147, 148, -1, 150, 151, 152, 153, 154, 155, 156,
+ 157, 158, 159, -1, 161, -1, 163, 164, 165, 166,
+ 167, -1, 169, -1, 171, 172, 173, -1, 175, 176,
+ 177, 178, 179, -1, 181, 182, -1, 184, 185, 186,
+ -1, 188, 189, 190, 191, 192, 193, 194, 195, 196,
+ 197, -1, 199, 200, 201, 202, 203, 204, 205, 206,
+ -1, 208, 209, 210, 211, 212, 213, 214, 215, 216,
+ -1, 218, -1, 220, 221, 222, 223, 224, 225, 226,
+ 227, 228, 229, 230, 231, 232, 233, 234, 235, -1,
+ -1, 238, 239, 240, 241, 242, -1, 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, -1, 281, 282, 283, 284, -1, 286,
+ 287, 288, 289, 290, 291, -1, 293, 294, -1, -1,
+ 297, 298, 299, -1, -1, 302, 303, 304, 305, 306,
+ 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
+ 317, 318, -1, 320, 321, 322, 323, 324, 325, 326,
+ 327, -1, 329, 330, 331, 332, 333, 334, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, -1, 345, 346,
+ 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
+ 357, -1, 359, 360, 361, 362, 363, 364, 365, 366,
+ 367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
+ 377, -1, 379, 380, 381, 382, 383, 384, 385, 386,
+ 387, 388, 389, 390, 391, 392, 393, 394, -1, 396,
+ 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
+ 407, 408, 409, 410, -1, 412, 413, 414, -1, 416,
+ 417, 418, 419, 420, 421, 422, -1, 424, 425, 426,
+ -1, -1, 429, 430, 431, 432, 433, -1, 435, 436,
+ 437, 438, 439, 440, 441, 442, -1, -1, 445, 446,
+ 447, 448, 449, 450, -1, 452, 453, 454, 455, 456,
+ 457, 458, -1, 460, 461, 462, 463, 464, 465, -1,
+ -1, 468, -1, -1, 471, 472, 473, 474, 475, 476,
+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486,
+ 487, 488, 489, 490, -1, -1, -1, -1, -1, -1,
+ 3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 513, 20, 21, 22,
+ 23, 24, 25, 26, 27, 28, -1, 30, 31, 32,
+ -1, -1, -1, -1, -1, -1, -1, 40, 41, 42,
+ -1, 44, 45, 46, 47, 48, 49, 50, 51, 52,
+ 53, 54, 55, 56, -1, 58, 59, 60, 61, 62,
+ 63, 64, -1, 66, 67, 68, 69, 70, 71, -1,
+ 73, 74, 75, 76, 77, -1, 79, -1, 81, 82,
+ 83, 84, 85, 86, 87, 88, 89, 90, -1, 92,
+ 93, 94, 95, 96, 97, -1, 99, 100, 101, 102,
+ 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
+ 113, 114, 115, 116, 117, 118, -1, 120, -1, 122,
+ 123, 124, 125, 126, 127, 128, -1, 130, 131, 132,
+ 133, -1, -1, 136, 137, 138, 139, 140, -1, 142,
+ 143, 144, -1, 146, 147, 148, -1, 150, 151, 152,
+ 153, 154, 155, 156, 157, 158, 159, -1, 161, -1,
+ 163, 164, 165, 166, 167, -1, 169, -1, 171, 172,
+ 173, -1, 175, 176, 177, 178, 179, -1, 181, 182,
+ -1, 184, 185, 186, -1, 188, 189, 190, 191, 192,
+ 193, 194, 195, 196, 197, -1, 199, 200, 201, 202,
+ 203, 204, 205, 206, -1, 208, 209, 210, 211, 212,
+ 213, 214, 215, 216, -1, 218, -1, 220, 221, 222,
+ 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
+ 233, 234, 235, -1, -1, 238, 239, 240, 241, 242,
+ -1, 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, -1, 281, 282,
+ 283, 284, -1, 286, 287, 288, 289, 290, 291, -1,
+ 293, 294, -1, -1, 297, 298, 299, -1, -1, 302,
+ 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
+ 313, 314, 315, 316, 317, 318, -1, 320, 321, 322,
+ 323, 324, 325, 326, 327, -1, 329, 330, 331, 332,
+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342,
+ 343, -1, 345, 346, 347, 348, 349, 350, 351, 352,
+ 353, 354, 355, 356, 357, -1, 359, 360, 361, 362,
+ 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
+ 373, 374, 375, 376, 377, -1, 379, 380, 381, 382,
+ 383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
+ 393, 394, -1, 396, 397, 398, 399, 400, 401, 402,
+ 403, 404, 405, 406, 407, 408, 409, 410, -1, 412,
+ 413, 414, -1, 416, 417, 418, 419, 420, 421, 422,
+ -1, 424, 425, 426, -1, -1, 429, 430, 431, 432,
+ 433, -1, 435, 436, 437, 438, 439, 440, 441, 442,
+ -1, -1, 445, 446, 447, 448, 449, 450, -1, 452,
+ 453, 454, 455, 456, 457, 458, -1, 460, 461, 462,
+ 463, 464, 465, -1, -1, 468, -1, -1, 471, 472,
+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482,
+ 483, 484, 485, 486, 487, 488, 489, 490, -1, -1,
+ -1, -1, -1, -1, 3, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 513, 20, 21, 22, 23, 24, 25, 26, 27, 28,
+ -1, 30, 31, 32, -1, -1, -1, -1, -1, -1,
+ -1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, -1, 58,
+ 59, 60, 61, 62, 63, 64, -1, 66, 67, 68,
+ 69, 70, 71, -1, 73, 74, 75, 76, 77, -1,
+ 79, -1, 81, 82, 83, 84, 85, 86, 87, 88,
+ 89, 90, -1, 92, 93, 94, 95, 96, 97, -1,
+ 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
+ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
+ -1, 120, -1, 122, 123, 124, 125, 126, 127, 128,
+ -1, 130, 131, 132, 133, -1, -1, 136, 137, 138,
+ 139, 140, -1, 142, 143, 144, -1, 146, 147, 148,
+ -1, 150, 151, 152, 153, 154, 155, 156, 157, 158,
+ 159, -1, 161, -1, 163, 164, 165, 166, 167, -1,
+ 169, -1, 171, 172, 173, -1, 175, 176, 177, 178,
+ 179, -1, 181, 182, -1, 184, 185, 186, -1, 188,
+ 189, 190, 191, 192, 193, 194, 195, 196, 197, -1,
+ 199, 200, 201, 202, 203, 204, 205, 206, -1, 208,
+ 209, 210, 211, 212, 213, 214, 215, 216, -1, 218,
+ -1, 220, 221, 222, 223, 224, 225, 226, 227, 228,
+ 229, 230, 231, 232, 233, 234, 235, -1, -1, 238,
+ 239, 240, 241, 242, -1, 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, -1, 281, 282, 283, 284, -1, 286, 287, 288,
+ 289, 290, 291, -1, 293, 294, -1, -1, 297, 298,
+ 299, -1, -1, 302, 303, 304, 305, 306, 307, 308,
+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
+ -1, 320, 321, 322, 323, 324, 325, 326, 327, -1,
+ 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, -1, 345, 346, 347, 348,
+ 349, 350, 351, 352, 353, 354, 355, 356, 357, -1,
+ 359, 360, 361, 362, 363, 364, 365, 366, 367, 368,
+ 369, 370, 371, 372, 373, 374, 375, 376, 377, -1,
+ 379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
+ 389, 390, 391, 392, 393, 394, -1, 396, 397, 398,
+ 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
+ 409, 410, -1, 412, 413, 414, -1, 416, 417, 418,
+ 419, 420, 421, 422, -1, 424, 425, 426, -1, -1,
+ 429, 430, 431, 432, 433, -1, 435, 436, 437, 438,
+ 439, 440, 441, 442, -1, -1, 445, 446, 447, 448,
+ 449, 450, -1, 452, 453, 454, 455, 456, 457, 458,
+ -1, 460, 461, 462, 463, 464, 465, -1, -1, 468,
+ -1, -1, 471, 472, 473, 474, 475, 476, 477, 478,
+ 479, 480, 481, 482, 483, 484, 485, 486, 487, 488,
+ 489, 490, -1, -1, -1, -1, -1, -1, 3, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 513, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, -1, 30, 31, 32, -1, -1,
+ -1, -1, -1, -1, -1, 40, 41, 42, -1, 44,
+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
+ 55, 56, -1, 58, 59, 60, 61, 62, 63, 64,
+ -1, 66, 67, 68, 69, 70, 71, -1, 73, 74,
+ 75, 76, 77, -1, 79, -1, 81, 82, 83, 84,
+ 85, 86, 87, 88, 89, 90, -1, 92, 93, 94,
+ 95, 96, 97, -1, 99, 100, 101, 102, 103, 104,
+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+ 115, 116, 117, 118, -1, 120, -1, 122, 123, 124,
+ 125, 126, 127, 128, -1, 130, 131, 132, 133, -1,
+ -1, 136, 137, 138, 139, 140, -1, 142, 143, 144,
+ -1, 146, 147, 148, -1, 150, 151, 152, 153, 154,
+ 155, 156, 157, 158, 159, -1, 161, -1, 163, 164,
+ 165, 166, 167, -1, 169, -1, 171, 172, 173, -1,
+ 175, 176, 177, 178, 179, -1, 181, 182, -1, 184,
+ 185, 186, -1, 188, 189, 190, 191, 192, 193, 194,
+ 195, 196, 197, -1, 199, 200, 201, 202, 203, 204,
+ 205, 206, -1, 208, 209, 210, 211, 212, 213, 214,
+ 215, 216, -1, 218, -1, 220, 221, 222, 223, 224,
+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
+ 235, -1, -1, 238, 239, 240, 241, 242, -1, 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, -1, 281, 282, 283, 284,
+ -1, 286, 287, 288, 289, 290, 291, -1, 293, 294,
+ -1, -1, 297, 298, 299, -1, -1, 302, 303, 304,
+ 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
+ 315, 316, 317, 318, -1, 320, 321, 322, 323, 324,
+ 325, 326, 327, -1, 329, 330, 331, 332, 333, 334,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, -1,
+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
+ 355, 356, 357, -1, 359, 360, 361, 362, 363, 364,
+ 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
+ 375, 376, 377, -1, 379, 380, 381, 382, 383, 384,
+ 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
+ -1, 396, 397, 398, 399, 400, 401, 402, 403, 404,
+ 405, 406, 407, 408, 409, 410, -1, 412, 413, 414,
+ -1, 416, 417, 418, 419, 420, 421, 422, -1, 424,
+ 425, 426, -1, -1, 429, 430, 431, 432, 433, -1,
+ 435, 436, 437, 438, 439, 440, 441, 442, -1, -1,
+ 445, 446, 447, 448, 449, 450, -1, 452, 453, 454,
+ 455, 456, 457, 458, -1, 460, 461, 462, 463, 464,
+ 465, -1, -1, 468, -1, -1, 471, 472, 473, 474,
+ 475, 476, 477, 478, 479, 480, 481, 482, 483, 484,
+ 485, 486, 487, 488, 489, 490, -1, -1, -1, -1,
+ -1, -1, 3, -1, 5, 6, -1, -1, -1, -1,
+ 11, -1, -1, -1, -1, -1, -1, -1, 513, 20,
+ 21, 22, 23, 24, 25, 26, 27, 28, -1, 30,
+ 31, 32, -1, -1, -1, -1, -1, -1, -1, 40,
+ 41, 42, -1, 44, 45, 46, 47, 48, 49, 50,
+ 51, 52, 53, 54, 55, 56, -1, 58, 59, 60,
+ 61, 62, 63, 64, -1, -1, 67, 68, 69, 70,
+ 71, -1, 73, 74, 75, 76, 77, -1, 79, -1,
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
+ -1, 92, 93, 94, 95, 96, 97, -1, 99, 100,
+ 101, 102, -1, -1, -1, 106, -1, -1, -1, 110,
+ 111, 112, 113, 114, 115, 116, 117, 118, -1, 120,
+ -1, 122, 123, 124, 125, 126, 127, 128, -1, 130,
+ 131, 132, 133, -1, -1, 136, 137, 138, 139, 140,
+ -1, 142, 143, 144, -1, 146, 147, 148, -1, 150,
+ 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
+ 161, -1, 163, 164, 165, 166, 167, -1, 169, -1,
+ 171, 172, 173, -1, 175, 176, 177, 178, 179, -1,
+ 181, 182, -1, 184, 185, 186, -1, 188, 189, 190,
+ 191, 192, 193, 194, 195, 196, 197, -1, 199, 200,
+ 201, 202, 203, 204, 205, 206, -1, 208, 209, 210,
+ 211, 212, 213, 214, 215, 216, -1, 218, -1, 220,
+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
+ 231, 232, 233, 234, 235, -1, -1, 238, 239, 240,
+ 241, 242, -1, 244, 245, 246, -1, -1, 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, -1,
+ 281, 282, 283, 284, -1, 286, 287, 288, 289, 290,
+ 291, -1, 293, 294, 295, -1, 297, 298, 299, -1,
+ -1, 302, 303, 304, 305, 306, 307, 308, 309, 310,
+ 311, 312, 313, 314, 315, 316, 317, 318, -1, 320,
+ 321, 322, 323, 324, 325, 326, 327, -1, 329, 330,
+ 331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
+ 341, 342, 343, -1, 345, 346, 347, 348, 349, 350,
+ 351, 352, 353, 354, 355, 356, 357, -1, 359, 360,
+ 361, 362, 363, 364, 365, 366, 367, 368, 369, 370,
+ 371, 372, 373, 374, 375, 376, 377, -1, 379, 380,
+ 381, 382, 383, -1, 385, 386, 387, 388, 389, 390,
+ 391, 392, 393, 394, -1, 396, 397, 398, 399, 400,
+ 401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
+ -1, 412, 413, -1, -1, 416, 417, 418, 419, 420,
+ 421, 422, -1, 424, 425, 426, -1, -1, 429, 430,
+ 431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
+ 441, 442, -1, -1, 445, 446, 447, 448, 449, -1,
+ -1, 452, 453, 454, 455, 456, 457, 458, -1, 460,
+ 461, 462, 463, 464, 465, -1, -1, 468, -1, -1,
+ 471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
+ 481, 482, 483, 484, 485, 486, 487, 488, 489, 490,
+ -1, -1, -1, -1, -1, -1, 3, -1, -1, -1,
+ -1, -1, -1, 504, 505, 506, -1, -1, -1, -1,
+ -1, -1, 513, 20, 21, 22, 23, 24, 25, 26,
+ 27, 28, -1, 30, 31, 32, 33, 34, -1, -1,
+ -1, -1, -1, 40, 41, 42, -1, 44, 45, 46,
+ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
+ -1, 58, 59, 60, 61, 62, 63, 64, -1, -1,
+ 67, 68, 69, 70, 71, -1, 73, 74, 75, 76,
+ 77, -1, 79, -1, 81, 82, 83, 84, 85, 86,
+ 87, 88, 89, 90, -1, 92, 93, 94, 95, 96,
+ 97, -1, 99, 100, 101, 102, -1, -1, -1, 106,
+ -1, -1, -1, 110, 111, 112, 113, 114, 115, 116,
+ 117, 118, -1, 120, -1, 122, 123, 124, 125, 126,
+ 127, 128, -1, 130, 131, 132, 133, -1, -1, 136,
+ 137, 138, 139, 140, -1, 142, 143, 144, -1, 146,
+ 147, 148, -1, 150, 151, 152, 153, 154, 155, 156,
+ 157, 158, 159, -1, 161, -1, 163, 164, 165, 166,
+ 167, -1, 169, -1, 171, 172, 173, -1, 175, 176,
+ 177, 178, 179, -1, 181, 182, -1, 184, 185, 186,
+ -1, 188, 189, 190, 191, 192, 193, 194, 195, 196,
+ 197, -1, 199, 200, 201, 202, 203, 204, 205, 206,
+ -1, 208, 209, 210, 211, 212, 213, 214, 215, 216,
+ -1, 218, -1, 220, 221, 222, 223, 224, 225, 226,
+ 227, 228, 229, 230, 231, 232, 233, 234, 235, -1,
+ -1, 238, 239, 240, 241, 242, -1, 244, 245, 246,
+ -1, -1, 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, -1, 281, 282, 283, 284, -1, 286,
+ 287, 288, 289, 290, 291, -1, 293, 294, -1, -1,
+ 297, 298, 299, -1, -1, 302, 303, 304, 305, 306,
+ 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
+ 317, 318, -1, 320, 321, 322, 323, 324, 325, 326,
+ 327, -1, 329, 330, 331, 332, 333, 334, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, -1, 345, 346,
+ 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
+ 357, -1, 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, -1, 385, 386,
+ 387, 388, 389, 390, 391, 392, 393, 394, -1, 396,
+ 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
+ 407, 408, 409, 410, -1, 412, 413, -1, 415, 416,
+ 417, 418, 419, 420, 421, 422, -1, 424, 425, 426,
+ -1, -1, 429, 430, 431, 432, 433, -1, 435, 436,
+ 437, 438, 439, 440, 441, 442, -1, -1, 445, 446,
+ 447, 448, 449, -1, -1, 452, 453, 454, 455, 456,
+ 457, 458, -1, 460, 461, 462, 463, 464, 465, -1,
+ -1, 468, -1, 470, 471, 472, 473, 474, 475, 476,
+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486,
+ 487, 488, 489, 490, 491, -1, -1, 494, -1, -1,
+ 3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 513, 20, 21, 22,
+ 23, 24, 25, 26, 27, 28, -1, 30, 31, 32,
+ -1, -1, -1, -1, -1, -1, -1, 40, 41, 42,
+ -1, 44, 45, 46, 47, 48, 49, 50, 51, 52,
+ 53, 54, 55, 56, -1, 58, 59, 60, 61, 62,
+ 63, 64, -1, -1, 67, 68, 69, 70, 71, -1,
+ 73, 74, 75, 76, 77, -1, 79, -1, 81, 82,
+ 83, 84, 85, 86, 87, 88, 89, 90, -1, 92,
+ 93, 94, 95, 96, 97, -1, 99, 100, 101, 102,
+ -1, -1, -1, 106, -1, -1, -1, 110, 111, 112,
+ 113, 114, 115, 116, 117, 118, -1, 120, -1, 122,
+ 123, 124, 125, 126, 127, 128, -1, 130, 131, 132,
+ 133, -1, -1, 136, 137, 138, 139, 140, -1, 142,
+ 143, 144, -1, 146, 147, 148, -1, 150, 151, 152,
+ 153, 154, 155, 156, 157, 158, 159, -1, 161, -1,
+ 163, 164, 165, 166, 167, -1, 169, -1, 171, 172,
+ 173, -1, 175, 176, 177, 178, 179, -1, 181, 182,
+ -1, 184, 185, 186, -1, 188, 189, 190, 191, 192,
+ 193, 194, 195, 196, 197, -1, 199, 200, 201, 202,
+ 203, 204, 205, 206, -1, 208, 209, 210, 211, 212,
+ 213, 214, 215, 216, -1, 218, -1, 220, 221, 222,
+ 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
+ 233, 234, 235, -1, -1, 238, 239, 240, 241, 242,
+ -1, 244, 245, 246, -1, -1, 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, -1, 281, 282,
+ 283, 284, -1, 286, 287, 288, 289, 290, 291, -1,
+ 293, 294, -1, -1, 297, 298, 299, -1, -1, 302,
+ 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
+ 313, 314, 315, 316, 317, 318, -1, 320, 321, 322,
+ 323, 324, 325, 326, 327, -1, 329, 330, 331, 332,
+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342,
+ 343, -1, 345, 346, 347, 348, 349, 350, 351, 352,
+ 353, 354, 355, 356, 357, -1, 359, 360, 361, 362,
+ 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
+ 373, 374, 375, 376, 377, -1, 379, 380, 381, 382,
+ 383, -1, 385, 386, 387, 388, 389, 390, 391, 392,
+ 393, 394, -1, 396, 397, 398, 399, 400, 401, 402,
+ 403, 404, 405, 406, 407, 408, 409, 410, -1, 412,
+ 413, -1, -1, 416, 417, 418, 419, 420, 421, 422,
+ -1, 424, 425, 426, -1, -1, 429, 430, 431, 432,
+ 433, -1, 435, 436, 437, 438, 439, 440, 441, 442,
+ -1, -1, 445, 446, 447, 448, 449, -1, -1, 452,
+ 453, 454, 455, 456, 457, 458, -1, 460, 461, 462,
+ 463, 464, 465, -1, -1, 468, -1, -1, 471, 472,
+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482,
+ 483, 484, 485, 486, 487, 488, 489, 490, -1, -1,
+ -1, -1, -1, -1, 3, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 513, 20, 21, 22, 23, 24, 25, 26, 27, 28,
+ -1, 30, 31, 32, -1, -1, -1, -1, -1, -1,
+ -1, 40, 41, 42, -1, 44, 45, 46, 47, -1,
+ 49, 50, 51, 52, 53, -1, 55, 56, -1, 58,
+ 59, 60, 61, 62, 63, 64, -1, -1, 67, 68,
+ 69, 70, 71, -1, 73, 74, 75, 76, 77, -1,
+ -1, -1, 81, 82, 83, 84, 85, 86, -1, 88,
+ 89, 90, -1, 92, 93, 94, 95, 96, 97, -1,
+ -1, 100, 101, 102, -1, -1, -1, -1, -1, -1,
+ -1, 110, 111, 112, 113, 114, 115, 116, 117, 118,
+ -1, 120, -1, 122, 123, 124, 125, 126, 127, 128,
+ -1, 130, 131, 132, 133, -1, -1, 136, 137, 138,
+ 139, 140, -1, 142, 143, 144, -1, 146, 147, 148,
+ -1, 150, 151, 152, 153, 154, 155, 156, 157, 158,
+ 159, -1, 161, -1, 163, 164, 165, 166, 167, -1,
+ 169, -1, 171, 172, -1, -1, -1, 176, 177, 178,
+ 179, -1, 181, 182, -1, 184, 185, 186, -1, 188,
+ 189, 190, 191, 192, -1, 194, 195, 196, 197, -1,
+ 199, 200, 201, 202, 203, 204, 205, 206, -1, 208,
+ -1, 210, 211, 212, 213, 214, 215, 216, -1, 218,
+ -1, 220, -1, -1, 223, -1, 225, 226, 227, 228,
+ 229, 230, 231, 232, 233, 234, 235, -1, -1, 238,
+ 239, -1, 241, -1, -1, 244, 245, 246, -1, -1,
+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
+ 259, 260, 261, 262, 263, 264, 265, 266, 267, -1,
+ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
+ 279, -1, 281, 282, -1, 284, -1, 286, 287, 288,
+ 289, 290, 291, -1, 293, 294, -1, -1, 297, 298,
+ 299, -1, -1, 302, 303, 304, -1, 306, -1, 308,
+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
+ -1, 320, 321, 322, 323, 324, 325, 326, 327, -1,
+ 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, -1, 345, 346, 347, 348,
+ 349, 350, 351, 352, 353, 354, 355, 356, 357, -1,
+ 359, 360, -1, 362, 363, 364, 365, 366, 367, 368,
+ 369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
+ 379, 380, 381, 382, 383, -1, 385, 386, 387, 388,
+ 389, -1, 391, 392, 393, 394, -1, 396, 397, 398,
+ 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
+ 409, 410, -1, 412, 413, -1, 415, 416, -1, 418,
+ 419, 420, 421, 422, -1, 424, 425, 426, -1, -1,
+ 429, 430, 431, 432, 433, -1, 435, 436, 437, 438,
+ 439, 440, 441, 442, -1, -1, 445, 446, 447, 448,
+ 449, -1, -1, 452, 453, 454, 455, 456, 457, 458,
+ -1, 460, -1, 462, 463, 464, 465, -1, -1, 468,
+ -1, 470, 471, 472, 473, 474, 475, 476, 477, 478,
+ 479, 480, 481, 482, 483, 484, 485, 486, 487, 488,
+ 489, 490, -1, -1, -1, 494, -1, -1, 3, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 513, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, -1, 30, 31, 32, -1, -1,
+ -1, -1, -1, -1, -1, 40, 41, 42, -1, 44,
+ 45, 46, 47, -1, 49, 50, 51, 52, 53, -1,
+ 55, 56, -1, 58, 59, 60, 61, 62, 63, 64,
+ -1, -1, 67, 68, 69, 70, 71, -1, 73, 74,
+ 75, 76, 77, -1, -1, -1, 81, 82, 83, 84,
+ 85, 86, -1, 88, 89, 90, -1, 92, 93, 94,
+ 95, 96, 97, -1, -1, 100, 101, 102, -1, -1,
+ -1, 106, -1, -1, -1, 110, 111, 112, 113, 114,
+ 115, 116, 117, 118, -1, 120, -1, 122, 123, 124,
+ 125, 126, 127, 128, -1, 130, 131, 132, 133, -1,
+ -1, 136, 137, 138, 139, 140, -1, 142, 143, 144,
+ -1, 146, 147, 148, -1, 150, 151, 152, 153, 154,
+ 155, 156, 157, 158, 159, -1, 161, -1, 163, 164,
+ 165, 166, 167, -1, 169, -1, 171, 172, -1, -1,
+ -1, 176, 177, 178, 179, -1, 181, 182, -1, 184,
+ 185, 186, -1, 188, 189, 190, 191, 192, -1, 194,
+ 195, 196, 197, -1, 199, 200, 201, 202, 203, 204,
+ 205, 206, -1, 208, -1, 210, 211, 212, 213, 214,
+ 215, 216, -1, 218, -1, 220, -1, -1, 223, -1,
+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
+ 235, -1, -1, 238, 239, -1, 241, -1, -1, 244,
+ 245, 246, -1, -1, 249, 250, 251, 252, 253, 254,
+ 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
+ 265, 266, 267, -1, 269, 270, 271, 272, 273, 274,
+ 275, 276, 277, 278, 279, -1, 281, 282, -1, 284,
+ -1, 286, 287, 288, 289, 290, 291, -1, 293, 294,
+ -1, 296, 297, 298, 299, -1, -1, 302, 303, 304,
+ -1, 306, -1, 308, 309, 310, 311, 312, 313, 314,
+ 315, 316, 317, 318, -1, 320, 321, 322, 323, 324,
+ 325, 326, 327, -1, 329, 330, 331, 332, 333, 334,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, -1,
+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
+ 355, 356, 357, -1, 359, 360, -1, 362, 363, 364,
+ 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
+ 375, 376, 377, -1, 379, 380, 381, 382, 383, -1,
+ 385, 386, 387, 388, 389, -1, 391, 392, 393, 394,
+ -1, 396, 397, 398, 399, 400, 401, 402, 403, 404,
+ 405, 406, 407, 408, 409, 410, -1, 412, 413, -1,
+ 415, 416, -1, 418, 419, 420, 421, 422, -1, 424,
+ 425, 426, -1, -1, 429, 430, 431, 432, 433, -1,
+ 435, 436, 437, 438, 439, 440, 441, 442, -1, -1,
+ 445, 446, 447, 448, 449, -1, -1, 452, 453, 454,
+ 455, 456, 457, 458, -1, 460, -1, 462, 463, 464,
+ 465, -1, -1, 468, -1, -1, 471, 472, 473, 474,
+ 475, 476, 477, 478, 479, 480, 481, 482, 483, 484,
+ 485, 486, 487, 488, 489, 490, -1, -1, -1, -1,
+ -1, -1, 3, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 513, 20,
+ 21, 22, 23, 24, 25, 26, 27, 28, -1, 30,
+ 31, 32, -1, -1, -1, -1, -1, -1, -1, 40,
+ 41, 42, -1, 44, 45, 46, 47, -1, 49, 50,
+ 51, 52, 53, -1, 55, 56, -1, 58, 59, 60,
+ 61, 62, 63, 64, -1, -1, 67, 68, 69, 70,
+ 71, -1, 73, 74, 75, 76, 77, -1, -1, -1,
+ 81, 82, 83, 84, 85, 86, -1, 88, 89, 90,
+ -1, 92, 93, 94, 95, 96, 97, -1, -1, 100,
+ 101, 102, -1, -1, -1, -1, -1, -1, -1, 110,
+ 111, 112, 113, 114, 115, 116, 117, 118, -1, 120,
+ -1, 122, 123, 124, 125, 126, 127, 128, -1, 130,
+ 131, 132, 133, -1, -1, 136, 137, 138, 139, 140,
+ -1, 142, 143, 144, -1, 146, 147, 148, -1, 150,
+ 151, 152, 153, 154, 155, 156, 157, 158, 159, -1,
+ 161, -1, 163, 164, 165, 166, 167, -1, 169, -1,
+ 171, 172, -1, -1, -1, 176, 177, 178, 179, -1,
+ 181, 182, -1, 184, 185, 186, -1, 188, 189, 190,
+ 191, 192, -1, 194, 195, 196, 197, -1, 199, 200,
+ 201, 202, 203, 204, 205, 206, -1, 208, -1, 210,
+ 211, 212, 213, 214, 215, 216, -1, 218, -1, 220,
+ -1, -1, 223, -1, 225, 226, 227, 228, 229, 230,
+ 231, 232, 233, 234, 235, -1, -1, 238, 239, -1,
+ 241, -1, -1, 244, 245, 246, -1, -1, 249, 250,
+ 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
+ 261, 262, 263, 264, 265, 266, 267, -1, 269, 270,
+ 271, 272, 273, 274, 275, 276, 277, 278, 279, -1,
+ 281, 282, -1, 284, -1, 286, 287, 288, 289, 290,
+ 291, -1, 293, 294, -1, -1, 297, 298, 299, -1,
+ -1, 302, 303, 304, -1, 306, -1, 308, 309, 310,
+ 311, 312, 313, 314, 315, 316, 317, 318, -1, 320,
+ 321, 322, 323, 324, 325, 326, 327, -1, 329, 330,
+ 331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
+ 341, 342, 343, -1, 345, 346, 347, 348, 349, 350,
+ 351, 352, 353, 354, 355, 356, 357, -1, 359, 360,
+ -1, 362, 363, 364, 365, 366, 367, 368, 369, 370,
+ 371, 372, 373, 374, 375, 376, 377, -1, 379, 380,
+ 381, 382, 383, -1, 385, 386, 387, 388, 389, -1,
+ 391, 392, 393, 394, -1, 396, 397, 398, 399, 400,
+ 401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
+ -1, 412, 413, -1, -1, 416, -1, 418, 419, 420,
+ 421, 422, -1, 424, 425, 426, -1, -1, 429, 430,
+ 431, 432, 433, -1, 435, 436, 437, 438, 439, 440,
+ 441, 442, -1, -1, 445, 446, 447, 448, 449, -1,
+ -1, 452, 453, 454, 455, 456, 457, 458, -1, 460,
+ -1, 462, 463, 464, 465, -1, -1, 468, -1, -1,
+ 471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
+ 481, 482, 483, 484, 485, 486, 487, 488, 489, 490,
+ -1, -1, -1, -1, -1, -1, 3, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 513, 20, 21, 22, 23, 24, 25, 26,
+ 27, 28, -1, 30, 31, 32, -1, -1, -1, -1,
+ -1, -1, -1, 40, 41, 42, -1, 44, 45, 46,
+ 47, -1, 49, 50, 51, 52, 53, -1, 55, 56,
+ -1, 58, 59, 60, 61, 62, 63, 64, -1, -1,
+ 67, 68, 69, 70, 71, -1, 73, 74, 75, 76,
+ 77, -1, -1, -1, 81, 82, 83, 84, 85, 86,
+ -1, 88, 89, 90, -1, 92, 93, 94, 95, 96,
+ 97, -1, -1, 100, 101, 102, -1, -1, -1, -1,
+ -1, -1, -1, 110, 111, 112, 113, 114, 115, 116,
+ 117, 118, -1, 120, -1, 122, 123, 124, 125, 126,
+ 127, 128, -1, 130, 131, 132, 133, -1, -1, 136,
+ 137, 138, 139, 140, -1, 142, 143, 144, -1, 146,
+ 147, 148, -1, 150, 151, 152, 153, 154, 155, 156,
+ 157, 158, 159, -1, 161, -1, 163, 164, 165, 166,
+ 167, -1, 169, -1, 171, 172, -1, -1, -1, 176,
+ 177, 178, 179, -1, 181, 182, -1, 184, 185, 186,
+ -1, 188, 189, 190, 191, 192, -1, 194, 195, 196,
+ 197, -1, 199, 200, 201, 202, 203, 204, 205, 206,
+ -1, 208, -1, 210, 211, 212, 213, 214, 215, 216,
+ -1, 218, -1, 220, -1, -1, 223, -1, 225, 226,
+ 227, 228, 229, 230, 231, 232, 233, 234, 235, -1,
+ -1, 238, 239, -1, 241, -1, -1, 244, 245, 246,
+ -1, -1, 249, 250, 251, 252, 253, 254, 255, 256,
+ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
+ 267, -1, 269, 270, 271, 272, 273, 274, 275, 276,
+ 277, 278, 279, -1, 281, 282, -1, 284, -1, 286,
+ 287, 288, 289, 290, 291, -1, 293, 294, -1, -1,
+ 297, 298, 299, -1, -1, 302, 303, 304, -1, 306,
+ -1, 308, 309, 310, 311, 312, 313, 314, 315, 316,
+ 317, 318, -1, 320, 321, 322, 323, 324, 325, 326,
+ 327, -1, 329, 330, 331, 332, 333, 334, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, -1, 345, 346,
+ 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
+ 357, -1, 359, 360, -1, 362, 363, 364, 365, 366,
+ 367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
+ 377, -1, 379, 380, 381, 382, 383, -1, 385, 386,
+ 387, 388, 389, -1, 391, 392, 393, 394, -1, 396,
+ 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
+ 407, 408, 409, 410, -1, 412, 413, -1, -1, 416,
+ -1, 418, 419, 420, 421, 422, -1, 424, 425, 426,
+ -1, -1, 429, 430, 431, 432, 433, -1, 435, 436,
+ 437, 438, 439, 440, 441, 442, -1, -1, 445, 446,
+ 447, 448, 449, -1, -1, 452, 453, 454, 455, 456,
+ 457, 458, -1, 460, -1, 462, 463, 464, 465, -1,
+ -1, 468, -1, -1, 471, 472, 473, 474, 475, 476,
+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486,
+ 487, 488, 489, 490, -1, -1, -1, -1, -1, -1,
+ 3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 513, 20, 21, 22,
+ 23, 24, 25, 26, 27, 28, -1, 30, 31, 32,
+ -1, -1, -1, -1, -1, -1, -1, 40, 41, 42,
+ -1, 44, 45, 46, 47, -1, 49, 50, 51, 52,
+ 53, -1, 55, 56, -1, 58, 59, 60, 61, 62,
+ 63, 64, -1, -1, 67, 68, 69, 70, 71, -1,
+ 73, 74, 75, 76, 77, -1, -1, -1, 81, 82,
+ 83, 84, 85, 86, -1, 88, 89, 90, -1, 92,
+ 93, 94, 95, 96, 97, -1, -1, 100, 101, 102,
+ -1, -1, -1, -1, -1, -1, -1, 110, 111, 112,
+ 113, 114, 115, 116, 117, 118, -1, 120, -1, 122,
+ 123, 124, 125, 126, 127, 128, -1, 130, 131, 132,
+ 133, -1, -1, 136, 137, 138, 139, 140, -1, 142,
+ 143, 144, -1, 146, 147, 148, -1, 150, 151, 152,
+ 153, 154, 155, 156, 157, 158, 159, -1, 161, -1,
+ 163, 164, 165, 166, 167, -1, 169, -1, 171, 172,
+ -1, -1, -1, 176, 177, 178, 179, -1, 181, 182,
+ -1, 184, 185, 186, -1, 188, 189, 190, 191, 192,
+ -1, 194, 195, 196, 197, -1, 199, 200, 201, 202,
+ 203, 204, 205, 206, -1, 208, -1, 210, 211, 212,
+ 213, 214, 215, 216, -1, 218, -1, 220, -1, -1,
+ 223, -1, 225, 226, 227, 228, 229, 230, 231, 232,
+ 233, 234, 235, -1, -1, 238, 239, -1, 241, -1,
+ -1, 244, 245, 246, -1, -1, 249, 250, 251, 252,
+ 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
+ 263, 264, 265, 266, 267, -1, 269, 270, 271, 272,
+ 273, 274, 275, 276, 277, 278, 279, -1, 281, 282,
+ -1, 284, -1, 286, 287, 288, 289, 290, 291, -1,
+ 293, 294, -1, -1, 297, 298, 299, -1, -1, 302,
+ 303, 304, -1, 306, -1, 308, 309, 310, 311, 312,
+ 313, 314, 315, 316, 317, 318, -1, 320, 321, 322,
+ 323, 324, 325, 326, 327, -1, 329, 330, 331, 332,
+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342,
+ 343, -1, 345, 346, 347, 348, 349, 350, 351, 352,
+ 353, 354, 355, 356, 357, -1, 359, 360, -1, 362,
+ 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
+ 373, 374, 375, 376, 377, -1, 379, 380, 381, 382,
+ 383, -1, 385, 386, 387, 388, 389, -1, 391, 392,
+ 393, 394, -1, 396, 397, 398, 399, 400, 401, 402,
+ 403, 404, 405, 406, 407, 408, 409, 410, -1, 412,
+ 413, -1, -1, 416, -1, 418, 419, 420, 421, 422,
+ -1, 424, 425, 426, -1, -1, 429, 430, 431, 432,
+ 433, -1, 435, 436, 437, 438, 439, 440, 441, 442,
+ -1, -1, 445, 446, 447, 448, 449, -1, -1, 452,
+ 453, 454, 455, 456, 457, 458, -1, 460, -1, 462,
+ 463, 464, 465, -1, -1, 468, -1, -1, 471, 472,
+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482,
+ 483, 484, 485, 486, 487, 488, 489, 490, -1, -1,
+ -1, -1, -1, -1, 3, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 513, 20, 21, 22, 23, 24, 25, 26, 27, 28,
+ -1, 30, 31, 32, -1, -1, -1, -1, -1, -1,
+ -1, 40, 41, 42, -1, 44, 45, 46, 47, -1,
+ 49, 50, 51, 52, 53, -1, 55, 56, -1, 58,
+ 59, 60, 61, 62, 63, 64, -1, -1, 67, 68,
+ 69, 70, 71, -1, 73, 74, 75, 76, 77, -1,
+ -1, -1, 81, 82, 83, 84, 85, 86, -1, 88,
+ 89, 90, -1, 92, 93, 94, 95, 96, 97, -1,
+ -1, 100, 101, 102, -1, -1, -1, -1, -1, -1,
+ -1, 110, 111, 112, 113, 114, 115, 116, 117, 118,
+ -1, 120, -1, 122, 123, 124, 125, 126, 127, 128,
+ -1, 130, 131, 132, 133, -1, -1, 136, 137, 138,
+ 139, 140, -1, 142, 143, 144, -1, 146, 147, 148,
+ -1, 150, 151, 152, 153, 154, 155, 156, 157, 158,
+ 159, -1, 161, -1, 163, 164, 165, 166, 167, -1,
+ 169, -1, 171, 172, -1, -1, -1, 176, 177, 178,
+ 179, -1, 181, 182, -1, 184, 185, 186, -1, 188,
+ 189, 190, 191, 192, -1, 194, 195, 196, 197, -1,
+ 199, 200, 201, 202, 203, 204, 205, 206, -1, 208,
+ -1, 210, 211, 212, 213, 214, 215, 216, -1, 218,
+ -1, 220, -1, -1, 223, -1, 225, 226, 227, 228,
+ 229, 230, 231, 232, 233, 234, 235, -1, -1, 238,
+ 239, -1, 241, -1, -1, 244, 245, 246, -1, -1,
+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
+ 259, 260, 261, 262, 263, 264, 265, 266, 267, -1,
+ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
+ 279, -1, 281, 282, -1, 284, -1, 286, 287, 288,
+ 289, 290, 291, -1, 293, 294, -1, -1, 297, 298,
+ 299, -1, -1, 302, 303, 304, -1, 306, -1, 308,
+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
+ -1, 320, 321, 322, 323, 324, 325, 326, 327, -1,
+ 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, -1, 345, 346, 347, 348,
+ 349, 350, 351, 352, 353, 354, 355, 356, 357, -1,
+ 359, 360, -1, 362, 363, 364, 365, 366, 367, 368,
+ 369, 370, 371, 372, 373, 374, 375, 376, 377, -1,
+ 379, 380, 381, 382, 383, -1, 385, 386, 387, 388,
+ 389, -1, 391, 392, 393, 394, -1, 396, 397, 398,
+ 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
+ 409, 410, -1, 412, 413, -1, -1, 416, -1, 418,
+ 419, 420, 421, 422, -1, 424, 425, 426, -1, -1,
+ 429, 430, 431, 432, 433, -1, 435, 436, 437, 438,
+ 439, 440, 441, 442, -1, -1, 445, 446, 447, 448,
+ 449, -1, -1, 452, 453, 454, 455, 456, 457, 458,
+ -1, 460, -1, 462, 463, 464, 465, -1, -1, 468,
+ -1, -1, 471, 472, 473, 474, 475, 476, 477, 478,
+ 479, 480, 481, 482, 483, 484, 485, 486, 487, 488,
+ 489, 490, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 3, -1, 5, 6, -1, -1, -1, 10, 11,
+ -1, -1, -1, -1, 513, 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,
+ -1, 53, 54, 55, 56, 57, 58, 59, 60, 61,
+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
+ 72, 73, 74, 75, 76, -1, 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, -1, 155, 156, 157, 158, -1, 160, 161,
+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
+ 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
+ -1, 183, -1, 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, -1, 211,
+ 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
+ 222, 223, 224, 225, -1, -1, -1, -1, 230, 231,
+ 232, 233, 234, 235, 236, 237, 238, -1, 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, -1, 279, 280, 281,
+ 282, 283, 284, 285, -1, 287, 288, 289, 290, 291,
+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
+ 302, 303, -1, 305, 306, 307, -1, 309, 310, 311,
+ 312, 313, 314, 315, 316, 317, 318, 319, 320, 321,
+ -1, 323, -1, 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, -1, 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, -1, 410, 411,
+ 412, 413, 414, 415, 416, 417, 418, 419, 420, 421,
+ 422, 423, 424, 425, 426, 427, 428, 429, 430, -1,
+ 432, -1, 434, 435, 436, 437, 438, 439, 440, 441,
+ 442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
+ 452, 453, 454, 455, 456, -1, 458, 459, 460, 461,
+ 462, 463, 464, 465, 466, 467, 468, 469, 470, 471,
+ 472, 473, 474, 475, 476, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 488, 489, 490, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 501,
+ 502, 503, 504, 505, 506, 507, 508, 509, 3, -1,
+ 5, 6, -1, -1, -1, 10, 11, -1, -1, -1,
+ -1, -1, 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, -1, 53, 54,
+ 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
+ 75, 76, -1, 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, -1,
+ 155, 156, 157, 158, -1, 160, 161, 162, 163, 164,
+ 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
+ 175, 176, 177, 178, 179, 180, 181, -1, 183, -1,
+ 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, -1, 211, 212, 213, 214,
+ 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
+ 225, -1, -1, -1, -1, 230, 231, 232, 233, 234,
+ 235, 236, 237, 238, -1, 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, -1, 279, 280, 281, 282, 283, 284,
+ 285, -1, 287, 288, 289, 290, 291, 292, 293, 294,
+ 295, 296, 297, 298, 299, 300, 301, 302, 303, -1,
+ 305, 306, 307, -1, 309, 310, 311, 312, 313, 314,
+ 315, 316, 317, 318, 319, 320, 321, -1, 323, -1,
+ 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, -1, 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, -1, 410, 411, 412, 413, 414,
+ 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
+ 425, 426, 427, 428, 429, 430, -1, 432, -1, 434,
+ 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
+ 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
+ 455, 456, -1, 458, 459, 460, 461, 462, 463, 464,
+ 465, 466, 467, 468, 469, 470, 471, 472, 473, 474,
+ 475, 476, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 488, 489, 490, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 501, 502, 503, 504,
+ 505, 506, 507, 508, 509, 3, -1, -1, -1, -1,
+ -1, -1, 10, -1, -1, 13, -1, -1, -1, 17,
+ 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
+ 28, 29, 30, 31, 32, 33, 34, 35, 36, -1,
+ 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, -1, -1, 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,
+ -1, 99, 100, 101, 102, 103, 104, 105, 106, 107,
+ 108, 109, 110, 111, 112, 113, -1, 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, -1, 150, 151, 152, 153, 154, 155, 156, 157,
+ 158, 159, 160, 161, -1, -1, 164, 165, 166, 167,
+ -1, 169, 170, 171, 172, 173, -1, 175, 176, 177,
+ 178, 179, -1, 181, 182, -1, 184, 185, 186, -1,
+ 188, 189, -1, 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, -1,
+ 218, -1, 220, 221, 222, 223, 224, 225, 226, 227,
+ 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
+ 238, 239, 240, 241, 242, -1, 244, 245, 246, 247,
+ 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
+ 258, 259, -1, 261, 262, -1, 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, -1, 293, 294, -1, 296, 297,
+ 298, 299, 300, -1, 302, 303, 304, 305, -1, -1,
+ 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
+ 318, 319, 320, 321, 322, 323, -1, 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,
+ -1, 359, 360, 361, 362, 363, 364, 365, 366, 367,
+ 368, 369, 370, 371, 372, 373, 374, 375, -1, 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, -1,
+ 428, 429, 430, 431, 432, 433, 434, 435, 436, 437,
+ 438, 439, 440, 441, 442, -1, 444, 445, 446, 447,
+ 448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
+ 458, 459, -1, 461, 462, 463, 464, 465, 466, -1,
+ 468, -1, -1, -1, -1, 473, 474, 475, 476, 477,
+ 478, 479, 480, 481, 482, 483, 484, 485, 486, 487,
+ -1, 489, 490, -1, 492, -1, -1, -1, -1, -1,
+ -1, -1, -1, 501, 502, 503, 504, 505, 506, 507,
+ 508, 509, 3, -1, -1, -1, -1, -1, -1, 10,
+ -1, -1, -1, -1, -1, -1, 17, 18, 19, 20,
+ 21, 22, 23, 24, 25, 26, 27, 28, -1, 30,
+ 31, 32, -1, -1, -1, -1, -1, -1, -1, 40,
+ 41, 42, -1, 44, 45, 46, 47, -1, 49, 50,
+ 51, 52, 53, -1, 55, 56, -1, 58, 59, 60,
+ 61, 62, 63, 64, -1, -1, 67, 68, 69, 70,
+ 71, -1, 73, 74, 75, 76, 77, -1, -1, -1,
+ 81, 82, 83, 84, 85, 86, -1, 88, 89, 90,
+ -1, 92, 93, 94, 95, 96, 97, -1, -1, 100,
+ 101, 102, -1, -1, -1, -1, -1, -1, -1, 110,
+ 111, 112, 113, 114, 115, 116, 117, 118, -1, 120,
+ -1, 122, 123, 124, 125, 126, 127, 128, -1, 130,
+ 131, 132, 133, -1, -1, 136, 137, 138, 139, 140,
+ -1, 142, 143, 144, -1, 146, 147, 148, -1, 150,
+ 151, 152, 153, 154, 155, 156, 157, 158, 159, -1,
+ 161, -1, 163, 164, 165, 166, 167, -1, 169, -1,
+ 171, 172, -1, -1, -1, 176, 177, 178, 179, -1,
+ 181, 182, -1, 184, 185, 186, -1, 188, 189, 190,
+ 191, 192, -1, 194, 195, 196, 197, -1, 199, 200,
+ 201, 202, 203, 204, 205, 206, -1, 208, -1, 210,
+ 211, 212, 213, 214, 215, 216, -1, 218, -1, 220,
+ -1, -1, 223, -1, 225, 226, 227, 228, 229, 230,
+ 231, 232, 233, 234, 235, -1, -1, 238, 239, -1,
+ 241, -1, -1, 244, 245, 246, -1, -1, 249, 250,
+ 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
+ 261, 262, 263, 264, 265, 266, 267, -1, 269, 270,
+ 271, 272, 273, 274, 275, 276, 277, 278, 279, -1,
+ 281, 282, -1, 284, -1, 286, 287, 288, 289, 290,
+ 291, -1, 293, 294, -1, -1, 297, 298, 299, -1,
+ -1, 302, 303, 304, -1, 306, -1, 308, 309, 310,
+ 311, 312, 313, 314, 315, 316, 317, 318, -1, 320,
+ 321, 322, 323, 324, 325, 326, 327, -1, 329, 330,
+ 331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
+ 341, 342, 343, -1, 345, 346, 347, 348, 349, 350,
+ 351, 352, 353, 354, 355, 356, 357, -1, 359, 360,
+ -1, 362, 363, 364, 365, 366, 367, 368, 369, 370,
+ 371, 372, 373, 374, 375, 376, 377, -1, 379, 380,
+ 381, 382, 383, -1, 385, 386, 387, 388, 389, -1,
+ 391, 392, 393, 394, -1, 396, 397, 398, 399, 400,
+ 401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
+ -1, 412, 413, -1, -1, 416, -1, 418, 419, 420,
+ 421, 422, -1, 424, 425, 426, -1, -1, 429, 430,
+ 431, 432, 433, -1, 435, 436, 437, 438, 439, 440,
+ 441, 442, -1, -1, 445, 446, 447, 448, 449, -1,
+ -1, 452, 453, 454, 455, 456, 457, 458, -1, 460,
+ -1, 462, 463, 464, 465, -1, -1, 468, -1, -1,
+ 471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
+ 481, 482, 483, 484, 485, 486, 487, 488, 489, 490,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 3,
+ -1, -1, -1, -1, -1, -1, 10, -1, -1, -1,
+ -1, -1, -1, 17, 18, 19, 20, 21, 22, 23,
+ 24, 25, 26, 27, 28, -1, 30, 31, 32, -1,
+ -1, -1, -1, -1, -1, -1, 40, 41, 42, -1,
+ 44, 45, 46, 47, -1, 49, 50, 51, 52, 53,
+ -1, 55, 56, -1, 58, 59, 60, 61, 62, 63,
+ 64, -1, -1, 67, 68, 69, 70, 71, -1, 73,
+ 74, 75, 76, 77, -1, -1, -1, 81, 82, 83,
+ 84, 85, 86, -1, 88, 89, 90, -1, 92, 93,
+ 94, 95, 96, 97, -1, -1, 100, 101, 102, -1,
+ -1, -1, -1, -1, -1, -1, 110, 111, 112, 113,
+ 114, 115, 116, 117, 118, -1, 120, -1, 122, 123,
+ 124, 125, 126, 127, 128, -1, 130, 131, 132, 133,
+ -1, -1, 136, 137, 138, 139, 140, -1, 142, 143,
+ 144, -1, 146, 147, 148, -1, 150, 151, 152, 153,
+ 154, 155, 156, 157, 158, 159, -1, 161, -1, 163,
+ 164, 165, 166, 167, -1, 169, -1, 171, 172, -1,
+ -1, -1, 176, 177, 178, 179, -1, 181, 182, -1,
+ 184, 185, 186, -1, 188, 189, 190, 191, 192, -1,
+ 194, 195, 196, 197, -1, 199, 200, 201, 202, 203,
+ 204, 205, 206, -1, 208, -1, 210, 211, 212, 213,
+ 214, 215, 216, -1, 218, -1, 220, -1, -1, 223,
+ -1, 225, 226, 227, 228, 229, 230, 231, 232, 233,
+ 234, 235, -1, -1, 238, 239, -1, 241, -1, -1,
+ 244, 245, 246, -1, -1, 249, 250, 251, 252, 253,
+ 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
+ 264, 265, 266, 267, -1, 269, 270, 271, 272, 273,
+ 274, 275, 276, 277, 278, 279, -1, 281, 282, -1,
+ 284, -1, 286, 287, 288, 289, 290, 291, -1, 293,
+ 294, -1, -1, 297, 298, 299, -1, -1, 302, 303,
+ 304, -1, 306, -1, 308, 309, 310, 311, 312, 313,
+ 314, 315, 316, 317, 318, -1, 320, 321, 322, 323,
+ 324, 325, 326, 327, -1, 329, 330, 331, 332, 333,
+ 334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
+ -1, 345, 346, 347, 348, 349, 350, 351, 352, 353,
+ 354, 355, 356, 357, -1, 359, 360, -1, 362, 363,
+ 364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
+ 374, 375, 376, 377, -1, 379, 380, 381, 382, 383,
+ -1, 385, 386, 387, 388, 389, -1, 391, 392, 393,
+ 394, -1, 396, 397, 398, 399, 400, 401, 402, 403,
+ 404, 405, 406, 407, 408, 409, 410, -1, 412, 413,
+ -1, -1, 416, -1, 418, 419, 420, 421, 422, -1,
+ 424, 425, 426, -1, -1, 429, 430, 431, 432, 433,
+ -1, 435, 436, 437, 438, 439, 440, 441, 442, -1,
+ -1, 445, 446, 447, 448, 449, -1, -1, 452, 453,
+ 454, 455, 456, 457, 458, -1, 460, -1, 462, 463,
+ 464, 465, -1, -1, 468, -1, -1, 471, 472, 473,
+ 474, 475, 476, 477, 478, 479, 480, 481, 482, 483,
+ 484, 485, 486, 487, 488, 489, 490, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 501, 502, 503,
+ 504, 505, 506, 507, 508, 509, 3, -1, -1, -1,
+ -1, -1, -1, 10, -1, -1, -1, -1, -1, -1,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
+ 27, 28, -1, 30, 31, 32, -1, -1, -1, -1,
+ -1, -1, -1, 40, 41, 42, -1, 44, 45, 46,
+ 47, -1, 49, 50, 51, 52, 53, -1, 55, 56,
+ -1, 58, 59, 60, 61, 62, 63, 64, -1, -1,
+ 67, 68, 69, 70, 71, -1, 73, 74, 75, 76,
+ 77, -1, -1, -1, 81, 82, 83, 84, 85, 86,
+ -1, 88, 89, 90, -1, 92, 93, 94, 95, 96,
+ 97, -1, -1, 100, 101, 102, -1, -1, -1, -1,
+ -1, -1, -1, 110, 111, 112, 113, 114, 115, 116,
+ 117, 118, -1, 120, -1, 122, 123, 124, 125, 126,
+ 127, 128, -1, 130, 131, 132, 133, -1, -1, 136,
+ 137, 138, 139, 140, -1, 142, 143, 144, -1, 146,
+ 147, 148, -1, 150, 151, 152, 153, 154, 155, 156,
+ 157, 158, 159, -1, 161, -1, 163, 164, 165, 166,
+ 167, -1, 169, -1, 171, 172, -1, -1, -1, 176,
+ 177, 178, 179, -1, 181, 182, -1, 184, 185, 186,
+ -1, 188, 189, 190, 191, 192, -1, 194, 195, 196,
+ 197, -1, 199, 200, 201, 202, 203, 204, 205, 206,
+ -1, 208, -1, 210, 211, 212, 213, 214, 215, 216,
+ -1, 218, -1, 220, -1, -1, 223, -1, 225, 226,
+ 227, 228, 229, 230, 231, 232, 233, 234, 235, -1,
+ -1, 238, 239, -1, 241, -1, -1, 244, 245, 246,
+ -1, -1, 249, 250, 251, 252, 253, 254, 255, 256,
+ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
+ 267, -1, 269, 270, 271, 272, 273, 274, 275, 276,
+ 277, 278, 279, -1, 281, 282, -1, 284, -1, 286,
+ 287, 288, 289, 290, 291, -1, 293, 294, -1, -1,
+ 297, 298, 299, -1, -1, 302, 303, 304, -1, 306,
+ -1, 308, 309, 310, 311, 312, 313, 314, 315, 316,
+ 317, 318, -1, 320, 321, 322, 323, 324, 325, 326,
+ 327, -1, 329, 330, 331, 332, 333, 334, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, -1, 345, 346,
+ 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
+ 357, -1, 359, 360, -1, 362, 363, 364, 365, 366,
+ 367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
+ 377, -1, 379, 380, 381, 382, 383, -1, 385, 386,
+ 387, 388, 389, -1, 391, 392, 393, 394, -1, 396,
+ 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
+ 407, 408, 409, 410, -1, 412, 413, -1, -1, 416,
+ -1, 418, 419, 420, 421, 422, -1, 424, 425, 426,
+ -1, -1, 429, 430, 431, 432, 433, -1, 435, 436,
+ 437, 438, 439, 440, 441, 442, -1, -1, 445, 446,
+ 447, 448, 449, -1, -1, 452, 453, 454, 455, 456,
+ 457, 458, -1, 460, -1, 462, 463, 464, 465, -1,
+ -1, 468, -1, -1, 471, 472, 473, 474, 475, 476,
+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486,
+ 487, 488, 489, 490, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 501, 502, 503, 504, 505, 506,
+ 507, 508, 509, 3, -1, -1, -1, -1, -1, -1,
+ 10, -1, -1, -1, -1, -1, -1, 17, 18, 19,
+ 20, 21, 22, 23, 24, 25, 26, 27, 28, -1,
+ 30, 31, 32, -1, -1, -1, -1, -1, -1, -1,
+ 40, 41, 42, -1, 44, 45, 46, 47, -1, 49,
+ 50, 51, 52, 53, -1, 55, 56, -1, 58, 59,
+ 60, 61, 62, 63, 64, -1, -1, 67, 68, 69,
+ 70, 71, -1, 73, 74, 75, 76, 77, -1, -1,
+ -1, 81, 82, 83, 84, 85, 86, -1, 88, 89,
+ 90, -1, 92, 93, 94, 95, 96, 97, -1, -1,
+ 100, 101, 102, -1, -1, -1, -1, -1, -1, -1,
+ 110, 111, 112, 113, 114, 115, 116, 117, 118, -1,
+ 120, -1, 122, 123, 124, 125, 126, 127, 128, -1,
+ 130, 131, 132, 133, -1, -1, 136, 137, 138, 139,
+ 140, -1, 142, 143, 144, -1, 146, 147, 148, -1,
+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
+ -1, 161, -1, 163, 164, 165, 166, 167, -1, 169,
+ -1, 171, 172, -1, -1, -1, 176, 177, 178, 179,
+ -1, 181, 182, -1, 184, 185, 186, -1, 188, 189,
+ 190, 191, 192, -1, 194, 195, 196, 197, -1, 199,
+ 200, 201, 202, 203, 204, 205, 206, -1, 208, -1,
+ 210, 211, 212, 213, 214, 215, 216, -1, 218, -1,
+ 220, -1, -1, 223, -1, 225, 226, 227, 228, 229,
+ 230, 231, 232, 233, 234, 235, -1, -1, 238, 239,
+ -1, 241, -1, -1, 244, 245, 246, -1, -1, 249,
+ 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
+ 260, 261, 262, 263, 264, 265, 266, 267, -1, 269,
+ 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
+ -1, 281, 282, -1, 284, -1, 286, 287, 288, 289,
+ 290, 291, -1, 293, 294, -1, -1, 297, 298, 299,
+ -1, -1, 302, 303, 304, -1, 306, -1, 308, 309,
+ 310, 311, 312, 313, 314, 315, 316, 317, 318, -1,
+ 320, 321, 322, 323, 324, 325, 326, 327, -1, 329,
+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339,
+ 340, 341, 342, 343, -1, 345, 346, 347, 348, 349,
+ 350, 351, 352, 353, 354, 355, 356, 357, -1, 359,
+ 360, -1, 362, 363, 364, 365, 366, 367, 368, 369,
+ 370, 371, 372, 373, 374, 375, 376, 377, -1, 379,
+ 380, 381, 382, 383, -1, 385, 386, 387, 388, 389,
+ -1, 391, 392, 393, 394, -1, 396, 397, 398, 399,
+ 400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
+ 410, -1, 412, 413, -1, -1, 416, -1, 418, 419,
+ 420, 421, 422, -1, 424, 425, 426, -1, -1, 429,
+ 430, 431, 432, 433, -1, 435, 436, 437, 438, 439,
+ 440, 441, 442, -1, -1, 445, 446, 447, 448, 449,
+ -1, -1, 452, 453, 454, 455, 456, 457, 458, -1,
+ 460, -1, 462, 463, 464, 465, -1, -1, 468, -1,
+ -1, 471, 472, 473, 474, 475, 476, 477, 478, 479,
+ 480, 481, 482, 483, 484, 485, 486, 487, 488, 489,
+ 490, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 501, 502, 503, 504, 505, 506, 507, 508, 509,
+ 3, -1, -1, -1, -1, -1, -1, 10, -1, -1,
+ -1, -1, -1, -1, 17, 18, 19, 20, 21, 22,
+ 23, 24, 25, 26, 27, 28, -1, 30, 31, 32,
+ -1, -1, -1, -1, -1, -1, -1, 40, 41, 42,
+ -1, 44, 45, 46, 47, -1, 49, 50, 51, 52,
+ 53, -1, 55, 56, -1, 58, 59, 60, 61, 62,
+ 63, 64, -1, -1, 67, 68, 69, 70, 71, -1,
+ 73, 74, 75, 76, 77, -1, -1, -1, 81, 82,
+ 83, 84, 85, 86, -1, 88, 89, 90, -1, 92,
+ 93, 94, 95, 96, 97, -1, -1, 100, 101, 102,
+ -1, -1, -1, -1, -1, -1, -1, 110, 111, 112,
+ 113, 114, 115, 116, 117, 118, -1, 120, -1, 122,
+ 123, 124, 125, 126, 127, 128, -1, 130, 131, 132,
+ 133, -1, -1, 136, 137, 138, 139, 140, -1, 142,
+ 143, 144, -1, 146, 147, 148, -1, 150, 151, 152,
+ 153, 154, 155, 156, 157, 158, 159, -1, 161, -1,
+ 163, 164, 165, 166, 167, -1, 169, -1, 171, 172,
+ -1, -1, -1, 176, 177, 178, 179, -1, 181, 182,
+ -1, 184, 185, 186, -1, 188, 189, 190, 191, 192,
+ -1, 194, 195, 196, 197, -1, 199, 200, 201, 202,
+ 203, 204, 205, 206, -1, 208, -1, 210, 211, 212,
+ 213, 214, 215, 216, -1, 218, -1, 220, -1, -1,
+ 223, -1, 225, 226, 227, 228, 229, 230, 231, 232,
+ 233, 234, 235, -1, -1, 238, 239, -1, 241, -1,
+ -1, 244, 245, 246, -1, -1, 249, 250, 251, 252,
+ 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
+ 263, 264, 265, 266, 267, -1, 269, 270, 271, 272,
+ 273, 274, 275, 276, 277, 278, 279, -1, 281, 282,
+ -1, 284, -1, 286, 287, 288, 289, 290, 291, -1,
+ 293, 294, -1, -1, 297, 298, 299, -1, -1, 302,
+ 303, 304, -1, 306, -1, 308, 309, 310, 311, 312,
+ 313, 314, 315, 316, 317, 318, -1, 320, 321, 322,
+ 323, 324, 325, 326, 327, -1, 329, 330, 331, 332,
+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342,
+ 343, -1, 345, 346, 347, 348, 349, 350, 351, 352,
+ 353, 354, 355, 356, 357, -1, 359, 360, -1, 362,
+ 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
+ 373, 374, 375, 376, 377, -1, 379, 380, 381, 382,
+ 383, -1, 385, 386, 387, 388, 389, -1, 391, 392,
+ 393, 394, -1, 396, 397, 398, 399, 400, 401, 402,
+ 403, 404, 405, 406, 407, 408, 409, 410, -1, 412,
+ 413, -1, -1, 416, -1, 418, 419, 420, 421, 422,
+ -1, 424, 425, 426, -1, -1, 429, 430, 431, 432,
+ 433, -1, 435, 436, 437, 438, 439, 440, 441, 442,
+ -1, -1, 445, 446, 447, 448, 449, -1, -1, 452,
+ 453, 454, 455, 456, 457, 458, -1, 460, -1, 462,
+ 463, 464, 465, -1, -1, 468, -1, -1, 471, 472,
+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482,
+ 483, 484, 485, 486, 487, 488, 489, 490, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 501, 502,
+ 503, 504, 505, 506, 507, 508, 509, 3, -1, -1,
+ -1, -1, -1, -1, 10, -1, -1, -1, -1, -1,
+ -1, 17, 18, 19, 20, 21, 22, 23, 24, 25,
+ 26, 27, 28, -1, 30, 31, 32, -1, -1, -1,
+ -1, -1, -1, -1, 40, 41, 42, -1, 44, 45,
+ 46, 47, -1, 49, 50, 51, 52, 53, -1, 55,
+ 56, -1, 58, 59, 60, 61, 62, 63, 64, -1,
+ -1, 67, 68, 69, 70, 71, -1, 73, 74, 75,
+ 76, 77, -1, -1, -1, 81, 82, 83, 84, 85,
+ 86, -1, 88, 89, 90, -1, 92, 93, 94, 95,
+ 96, 97, -1, -1, 100, 101, 102, -1, -1, -1,
+ -1, -1, -1, -1, 110, 111, 112, 113, 114, 115,
+ 116, 117, 118, -1, 120, -1, 122, 123, 124, 125,
+ 126, 127, 128, -1, 130, 131, 132, 133, -1, -1,
+ 136, 137, 138, 139, 140, -1, 142, 143, 144, -1,
+ 146, 147, 148, -1, 150, 151, 152, 153, 154, 155,
+ 156, 157, 158, 159, -1, 161, -1, 163, 164, 165,
+ 166, 167, -1, 169, -1, 171, 172, -1, -1, -1,
+ 176, 177, 178, 179, -1, 181, 182, -1, 184, 185,
+ 186, -1, 188, 189, 190, 191, 192, -1, 194, 195,
+ 196, 197, -1, 199, 200, 201, 202, 203, 204, 205,
+ 206, -1, 208, -1, 210, 211, 212, 213, 214, 215,
+ 216, -1, 218, -1, 220, -1, -1, 223, -1, 225,
+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
+ -1, -1, 238, 239, -1, 241, -1, -1, 244, 245,
+ 246, -1, -1, 249, 250, 251, 252, 253, 254, 255,
+ 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
+ 266, 267, -1, 269, 270, 271, 272, 273, 274, 275,
+ 276, 277, 278, 279, -1, 281, 282, -1, 284, -1,
+ 286, 287, 288, 289, 290, 291, -1, 293, 294, -1,
+ -1, 297, 298, 299, -1, -1, 302, 303, 304, -1,
+ 306, -1, 308, 309, 310, 311, 312, 313, 314, 315,
+ 316, 317, 318, -1, 320, 321, 322, 323, 324, 325,
+ 326, 327, -1, 329, 330, 331, 332, 333, 334, 335,
+ 336, 337, 338, 339, 340, 341, 342, 343, -1, 345,
+ 346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
+ 356, 357, -1, 359, 360, -1, 362, 363, 364, 365,
+ 366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
+ 376, 377, -1, 379, 380, 381, 382, 383, -1, 385,
+ 386, 387, 388, 389, -1, 391, 392, 393, 394, -1,
+ 396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
+ 406, 407, 408, 409, 410, -1, 412, 413, -1, -1,
+ 416, -1, 418, 419, 420, 421, 422, -1, 424, 425,
+ 426, -1, -1, 429, 430, 431, 432, 433, -1, 435,
+ 436, 437, 438, 439, 440, 441, 442, -1, -1, 445,
+ 446, 447, 448, 449, -1, -1, 452, 453, 454, 455,
+ 456, 457, 458, -1, 460, -1, 462, 463, 464, 465,
+ -1, -1, 468, -1, -1, 471, 472, 473, 474, 475,
+ 476, 477, 478, 479, 480, 481, 482, 483, 484, 485,
+ 486, 487, 488, 489, 490, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 501, 502, 503, 504, 505,
+ 506, 507, 508, 509, 3, -1, -1, -1, -1, -1,
+ -1, 10, -1, -1, -1, -1, -1, -1, 17, 18,
+ 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
+ -1, 30, 31, 32, -1, -1, -1, -1, -1, -1,
+ -1, 40, 41, 42, -1, 44, 45, 46, 47, -1,
+ 49, 50, 51, 52, 53, -1, 55, 56, -1, 58,
+ 59, 60, 61, 62, 63, 64, -1, -1, 67, 68,
+ 69, 70, 71, -1, 73, 74, 75, 76, 77, -1,
+ -1, -1, 81, 82, 83, 84, 85, 86, -1, 88,
+ 89, 90, -1, 92, 93, 94, 95, 96, 97, -1,
+ -1, 100, 101, 102, -1, -1, -1, -1, -1, -1,
+ -1, 110, 111, 112, 113, 114, 115, 116, 117, 118,
+ -1, 120, -1, 122, 123, 124, 125, 126, 127, 128,
+ -1, 130, 131, 132, 133, -1, -1, 136, 137, 138,
+ 139, 140, -1, 142, 143, 144, -1, 146, 147, 148,
+ -1, 150, 151, 152, 153, 154, 155, 156, 157, 158,
+ 159, -1, 161, -1, 163, 164, 165, 166, 167, -1,
+ 169, -1, 171, 172, -1, -1, -1, 176, 177, 178,
+ 179, -1, 181, 182, -1, 184, 185, 186, -1, 188,
+ 189, 190, 191, 192, -1, 194, 195, 196, 197, -1,
+ 199, 200, 201, 202, 203, 204, 205, 206, -1, 208,
+ -1, 210, 211, 212, 213, 214, 215, 216, -1, 218,
+ -1, 220, -1, -1, 223, -1, 225, 226, 227, 228,
+ 229, 230, 231, 232, 233, 234, 235, -1, -1, 238,
+ 239, -1, 241, -1, -1, 244, 245, 246, -1, -1,
+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
+ 259, 260, 261, 262, 263, 264, 265, 266, 267, -1,
+ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
+ 279, -1, 281, 282, -1, 284, -1, 286, 287, 288,
+ 289, 290, 291, -1, 293, 294, -1, -1, 297, 298,
+ 299, -1, -1, 302, 303, 304, -1, 306, -1, 308,
+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
+ -1, 320, 321, 322, 323, 324, 325, 326, 327, -1,
+ 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, -1, 345, 346, 347, 348,
+ 349, 350, 351, 352, 353, 354, 355, 356, 357, -1,
+ 359, 360, -1, 362, 363, 364, 365, 366, 367, 368,
+ 369, 370, 371, 372, 373, 374, 375, 376, 377, -1,
+ 379, 380, 381, 382, 383, -1, 385, 386, 387, 388,
+ 389, -1, 391, 392, 393, 394, -1, 396, 397, 398,
+ 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
+ 409, 410, -1, 412, 413, -1, -1, 416, -1, 418,
+ 419, 420, 421, 422, -1, 424, 425, 426, -1, -1,
+ 429, 430, 431, 432, 433, -1, 435, 436, 437, 438,
+ 439, 440, 441, 442, -1, -1, 445, 446, 447, 448,
+ 449, -1, -1, 452, 453, 454, 455, 456, 457, 458,
+ -1, 460, -1, 462, 463, 464, 465, -1, -1, 468,
+ -1, -1, 471, 472, 473, 474, 475, 476, 477, 478,
+ 479, 480, 481, 482, 483, 484, 485, 486, 487, 488,
+ 489, 490, -1, -1, 3, -1, -1, -1, -1, -1,
+ -1, -1, 501, 502, 503, 504, 505, 506, 507, 508,
+ 509, 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, 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, 3, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 506, -1, 20,
+ 21, 22, 23, 24, 25, 26, 27, 28, -1, 30,
+ 31, 32, -1, -1, -1, -1, -1, -1, -1, 40,
+ 41, 42, -1, 44, 45, 46, 47, -1, 49, 50,
+ 51, 52, 53, -1, 55, 56, -1, 58, 59, 60,
+ 61, 62, 63, 64, -1, -1, 67, 68, 69, 70,
+ 71, -1, 73, 74, 75, 76, 77, -1, -1, -1,
+ 81, 82, 83, 84, 85, 86, -1, 88, 89, 90,
+ -1, 92, 93, 94, 95, 96, 97, -1, -1, 100,
+ 101, 102, -1, -1, -1, -1, -1, -1, -1, 110,
+ 111, 112, 113, 114, 115, 116, 117, 118, -1, 120,
+ -1, 122, 123, 124, 125, 126, 127, 128, -1, 130,
+ 131, 132, 133, -1, -1, 136, 137, 138, 139, 140,
+ -1, 142, 143, 144, -1, 146, 147, 148, -1, 150,
+ 151, 152, 153, 154, 155, 156, 157, 158, 159, -1,
+ 161, -1, 163, 164, 165, 166, 167, -1, 169, -1,
+ 171, 172, -1, -1, -1, 176, 177, 178, 179, -1,
+ 181, 182, -1, 184, 185, 186, -1, 188, 189, 190,
+ 191, 192, -1, 194, 195, 196, 197, -1, 199, 200,
+ 201, 202, 203, 204, 205, 206, -1, 208, -1, 210,
+ 211, 212, 213, 214, 215, 216, -1, 218, -1, 220,
+ -1, -1, 223, -1, 225, 226, 227, 228, 229, 230,
+ 231, 232, 233, 234, 235, -1, -1, 238, 239, -1,
+ 241, -1, -1, 244, 245, 246, -1, -1, 249, 250,
+ 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
+ 261, 262, 263, 264, 265, 266, 267, -1, 269, 270,
+ 271, 272, 273, 274, 275, 276, 277, 278, 279, -1,
+ 281, 282, -1, 284, -1, 286, 287, 288, 289, 290,
+ 291, -1, 293, 294, -1, -1, 297, 298, 299, -1,
+ -1, 302, 303, 304, -1, 306, -1, 308, 309, 310,
+ 311, 312, 313, 314, 315, 316, 317, 318, -1, 320,
+ 321, 322, 323, 324, 325, 326, 327, -1, 329, 330,
+ 331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
+ 341, 342, 343, -1, 345, 346, 347, 348, 349, 350,
+ 351, 352, 353, 354, 355, 356, 357, -1, 359, 360,
+ -1, 362, 363, 364, 365, 366, 367, 368, 369, 370,
+ 371, 372, 373, 374, 375, 376, 377, -1, 379, 380,
+ 381, 382, 383, -1, 385, 386, 387, 388, 389, -1,
+ 391, 392, 393, 394, -1, 396, 397, 398, 399, 400,
+ 401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
+ -1, 412, 413, -1, -1, 416, -1, 418, 419, 420,
+ 421, 422, -1, 424, 425, 426, -1, -1, 429, 430,
+ 431, 432, 433, -1, 435, 436, 437, 438, 439, 440,
+ 441, 442, -1, -1, 445, 446, 447, 448, 449, -1,
+ -1, 452, 453, 454, 455, 456, 457, 458, -1, 460,
+ -1, 462, 463, 464, 465, -1, -1, 468, -1, -1,
+ 471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
+ 481, 482, 483, 484, 485, 486, 487, 488, 489, 490,
+ 3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 506, -1, 20, 21, 22,
+ 23, 24, 25, 26, 27, 28, -1, 30, 31, 32,
+ -1, -1, -1, -1, -1, -1, -1, 40, 41, 42,
+ -1, 44, 45, 46, 47, -1, 49, 50, 51, 52,
+ 53, -1, 55, 56, -1, 58, 59, 60, 61, 62,
+ 63, 64, -1, -1, 67, 68, 69, 70, 71, -1,
+ 73, 74, 75, 76, 77, -1, -1, -1, 81, 82,
+ 83, 84, 85, 86, -1, 88, 89, 90, -1, 92,
+ 93, 94, 95, 96, 97, -1, -1, 100, 101, 102,
+ -1, -1, -1, -1, -1, -1, -1, 110, 111, 112,
+ 113, 114, 115, 116, 117, 118, -1, 120, -1, 122,
+ 123, 124, 125, 126, 127, 128, -1, 130, 131, 132,
+ 133, -1, -1, 136, 137, 138, 139, 140, -1, 142,
+ 143, 144, -1, 146, 147, 148, -1, 150, 151, 152,
+ 153, 154, 155, 156, 157, 158, 159, -1, 161, -1,
+ 163, 164, 165, 166, 167, -1, 169, -1, 171, 172,
+ -1, -1, -1, 176, 177, 178, 179, -1, 181, 182,
+ -1, 184, 185, 186, -1, 188, 189, 190, 191, 192,
+ -1, 194, 195, 196, 197, -1, 199, 200, 201, 202,
+ 203, 204, 205, 206, -1, 208, -1, 210, 211, 212,
+ 213, 214, 215, 216, -1, 218, -1, 220, -1, -1,
+ 223, -1, 225, 226, 227, 228, 229, 230, 231, 232,
+ 233, 234, 235, -1, -1, 238, 239, -1, 241, -1,
+ -1, 244, 245, 246, -1, -1, 249, 250, 251, 252,
+ 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
+ 263, 264, 265, 266, 267, -1, 269, 270, 271, 272,
+ 273, 274, 275, 276, 277, 278, 279, -1, 281, 282,
+ -1, 284, -1, 286, 287, 288, 289, 290, 291, -1,
+ 293, 294, -1, -1, 297, 298, 299, -1, -1, 302,
+ 303, 304, -1, 306, -1, 308, 309, 310, 311, 312,
+ 313, 314, 315, 316, 317, 318, -1, 320, 321, 322,
+ 323, 324, 325, 326, 327, -1, 329, 330, 331, 332,
+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342,
+ 343, -1, 345, 346, 347, 348, 349, 350, 351, 352,
+ 353, 354, 355, 356, 357, -1, 359, 360, -1, 362,
+ 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
+ 373, 374, 375, 376, 377, -1, 379, 380, 381, 382,
+ 383, -1, 385, 386, 387, 388, 389, -1, 391, 392,
+ 393, 394, -1, 396, 397, 398, 399, 400, 401, 402,
+ 403, 404, 405, 406, 407, 408, 409, 410, -1, 412,
+ 413, -1, -1, 416, -1, 418, 419, 420, 421, 422,
+ -1, 424, 425, 426, -1, -1, 429, 430, 431, 432,
+ 433, -1, 435, 436, 437, 438, 439, 440, 441, 442,
+ -1, -1, 445, 446, 447, 448, 449, -1, -1, 452,
+ 453, 454, 455, 456, 457, 458, -1, 460, -1, 462,
+ 463, 464, 465, -1, -1, 468, -1, -1, 471, 472,
+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482,
+ 483, 484, 485, 486, 487, 488, 489, 490, 3, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 506, -1, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, -1, 30, 31, 32, -1, -1,
+ -1, -1, -1, -1, -1, 40, 41, 42, -1, 44,
+ 45, 46, 47, 48, 49, 50, 51, -1, 53, 54,
+ 55, 56, -1, 58, 59, 60, 61, 62, 63, 64,
+ -1, -1, 67, 68, 69, 70, 71, -1, 73, 74,
+ 75, 76, -1, -1, 79, -1, 81, 82, 83, 84,
+ 85, 86, 87, 88, 89, 90, -1, 92, 93, 94,
+ 95, 96, 97, -1, 99, 100, 101, 102, -1, -1,
+ -1, 106, -1, -1, -1, 110, 111, 112, 113, 114,
+ 115, 116, 117, 118, -1, 120, -1, 122, 123, 124,
+ 125, 126, 127, 128, -1, 130, 131, 132, 133, -1,
+ -1, 136, 137, 138, 139, 140, -1, 142, 143, 144,
+ -1, 146, 147, 148, -1, 150, 151, 152, 153, -1,
+ 155, 156, 157, 158, -1, -1, 161, -1, 163, 164,
+ 165, 166, 167, -1, 169, -1, 171, 172, 173, -1,
+ 175, 176, 177, 178, 179, -1, 181, -1, -1, -1,
+ 185, 186, -1, 188, 189, 190, 191, 192, 193, 194,
+ 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
+ 205, 206, -1, 208, 209, 210, 211, 212, 213, 214,
+ 215, 216, -1, 218, -1, 220, 221, 222, 223, 224,
+ 225, -1, -1, -1, -1, 230, 231, 232, 233, 234,
+ 235, -1, -1, 238, -1, 240, 241, 242, -1, 244,
+ 245, 246, -1, -1, 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, -1, -1, 279, -1, 281, 282, 283, 284,
+ -1, -1, 287, 288, 289, 290, 291, -1, 293, 294,
+ -1, -1, 297, 298, 299, -1, 301, 302, 303, 304,
+ 305, 306, 307, -1, 309, 310, 311, 312, 313, 314,
+ 315, 316, 317, 318, -1, 320, 321, -1, 323, -1,
+ 325, 326, 327, -1, 329, 330, 331, 332, 333, 334,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, -1,
+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
+ 355, 356, 357, -1, 359, 360, 361, 362, 363, 364,
+ 365, 366, -1, 368, 369, 370, 371, 372, 373, 374,
+ 375, 376, 377, -1, 379, 380, 381, 382, 383, -1,
+ 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
+ -1, 396, 397, 398, 399, 400, 401, 402, 403, 404,
+ 405, 406, 407, 408, -1, 410, -1, 412, 413, -1,
+ -1, 416, 417, 418, 419, 420, 421, 422, -1, 424,
+ 425, 426, -1, -1, 429, 430, -1, 432, -1, -1,
+ 435, 436, 437, 438, 439, 440, 441, 442, -1, -1,
+ 445, 446, 447, 448, 449, -1, -1, 452, 453, 454,
+ 455, 456, -1, 458, 459, 460, 461, 462, 463, 464,
+ 465, -1, -1, 468, -1, -1, 471, 472, 473, 474,
+ 475, 476, -1, -1, -1, 3, -1, -1, -1, -1,
+ -1, -1, -1, 488, 489, 490, -1, -1, -1, -1,
+ -1, -1, 20, 21, 22, 23, 24, 25, 26, 27,
+ 28, 506, 30, 31, 32, -1, -1, -1, -1, -1,
+ -1, -1, 40, 41, 42, -1, 44, 45, 46, 47,
+ 48, 49, 50, 51, -1, 53, 54, 55, 56, -1,
+ 58, 59, 60, 61, 62, 63, 64, -1, -1, 67,
+ 68, 69, 70, 71, -1, 73, 74, 75, 76, -1,
+ -1, 79, -1, 81, 82, 83, 84, 85, 86, 87,
+ 88, 89, 90, -1, 92, 93, 94, 95, 96, 97,
+ -1, 99, 100, 101, 102, -1, -1, -1, 106, -1,
+ -1, -1, 110, 111, 112, 113, 114, 115, 116, 117,
+ 118, -1, 120, -1, 122, 123, 124, 125, 126, 127,
+ 128, -1, 130, 131, 132, 133, -1, -1, 136, 137,
+ 138, 139, 140, -1, 142, 143, 144, -1, 146, 147,
+ 148, -1, 150, 151, 152, 153, -1, 155, 156, 157,
+ 158, -1, -1, 161, -1, 163, 164, 165, 166, 167,
+ -1, 169, -1, 171, 172, 173, -1, 175, 176, 177,
+ 178, 179, -1, 181, -1, -1, -1, 185, 186, -1,
+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
+ 198, 199, 200, 201, 202, 203, 204, 205, 206, -1,
+ 208, 209, 210, 211, 212, 213, 214, 215, 216, -1,
+ 218, -1, 220, 221, 222, 223, 224, 225, -1, -1,
+ -1, -1, 230, 231, 232, 233, 234, 235, -1, -1,
+ 238, -1, 240, 241, 242, -1, 244, 245, 246, -1,
+ -1, 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, -1,
+ -1, 279, -1, 281, 282, 283, 284, -1, -1, 287,
+ 288, 289, 290, 291, -1, 293, 294, -1, -1, 297,
+ 298, 299, -1, 301, 302, 303, 304, 305, 306, 307,
+ -1, 309, 310, 311, 312, 313, 314, 315, 316, 317,
+ 318, -1, 320, 321, -1, 323, -1, 325, 326, 327,
+ -1, 329, 330, 331, 332, 333, 334, 335, 336, 337,
+ 338, 339, 340, 341, 342, 343, -1, 345, 346, 347,
+ 348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
+ -1, 359, 360, 361, 362, 363, 364, 365, 366, -1,
+ 368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
+ -1, 379, 380, 381, 382, 383, -1, 385, 386, 387,
+ 388, 389, 390, 391, 392, 393, 394, -1, 396, 397,
+ 398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
+ 408, -1, 410, -1, 412, 413, -1, -1, 416, 417,
+ 418, 419, 420, 421, 422, -1, 424, 425, 426, -1,
+ -1, 429, 430, -1, 432, -1, -1, 435, 436, 437,
+ 438, 439, 440, 441, 442, -1, -1, 445, 446, 447,
+ 448, 449, -1, -1, 452, 453, 454, 455, 456, -1,
+ 458, 459, 460, 461, 462, 463, 464, 465, -1, -1,
+ 468, -1, -1, 471, 472, 473, 474, 475, 476, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 488, 489, 490, 3, -1, 5, 6, -1, -1, -1,
+ -1, 11, -1, -1, -1, -1, -1, -1, 506, -1,
+ 20, 21, 22, 23, 24, 25, 26, 27, 28, -1,
+ 30, 31, 32, -1, -1, -1, -1, -1, -1, -1,
+ 40, 41, 42, -1, 44, 45, 46, 47, 48, 49,
+ 50, 51, 52, 53, 54, 55, 56, -1, 58, 59,
+ 60, 61, 62, 63, 64, -1, -1, 67, 68, 69,
+ 70, 71, -1, 73, 74, 75, 76, 77, -1, 79,
+ -1, 81, 82, 83, 84, 85, 86, 87, 88, 89,
+ 90, -1, 92, 93, 94, 95, 96, 97, -1, 99,
+ 100, 101, 102, -1, -1, -1, 106, -1, -1, -1,
+ 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
+ 120, -1, 122, 123, 124, 125, 126, 127, 128, -1,
+ 130, 131, 132, 133, -1, -1, 136, 137, 138, 139,
+ 140, -1, 142, 143, 144, -1, 146, 147, 148, -1,
+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
+ 160, 161, -1, 163, 164, 165, 166, 167, -1, 169,
+ -1, 171, 172, 173, -1, 175, 176, 177, 178, 179,
+ -1, 181, 182, -1, 184, 185, 186, -1, 188, 189,
+ 190, 191, 192, 193, 194, 195, 196, 197, -1, 199,
+ 200, 201, 202, 203, 204, 205, 206, -1, 208, 209,
+ 210, 211, 212, 213, 214, 215, 216, -1, 218, -1,
+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
+ 230, 231, 232, 233, 234, 235, -1, -1, 238, 239,
+ 240, 241, 242, -1, 244, 245, 246, -1, -1, 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,
+ -1, 281, 282, 283, 284, -1, 286, 287, 288, 289,
+ 290, 291, -1, 293, 294, 295, -1, 297, 298, 299,
+ -1, -1, 302, 303, 304, 305, 306, 307, 308, 309,
+ 310, 311, 312, 313, 314, 315, 316, 317, 318, -1,
+ 320, 321, 322, 323, 324, 325, 326, 327, -1, 329,
+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339,
+ 340, 341, 342, 343, -1, 345, 346, 347, 348, 349,
+ 350, 351, 352, 353, 354, 355, 356, 357, -1, 359,
+ 360, 361, 362, 363, 364, 365, 366, 367, 368, 369,
+ 370, 371, 372, 373, 374, 375, 376, 377, -1, 379,
+ 380, 381, 382, 383, -1, 385, 386, 387, 388, 389,
+ 390, 391, 392, 393, 394, -1, 396, 397, 398, 399,
+ 400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
+ 410, -1, 412, 413, -1, -1, 416, 417, 418, 419,
+ 420, 421, 422, -1, 424, 425, 426, -1, -1, 429,
+ 430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
+ 440, 441, 442, -1, -1, 445, 446, 447, 448, 449,
+ -1, -1, 452, 453, 454, 455, 456, 457, 458, -1,
+ 460, 461, 462, 463, 464, 465, -1, -1, 468, -1,
+ -1, 471, 472, 473, 474, 475, 476, 477, 478, 479,
+ 480, 481, 482, 483, 484, 485, 486, 487, 488, 489,
+ 490, 3, -1, 5, 6, -1, -1, -1, -1, 11,
+ -1, -1, -1, -1, 504, 505, -1, -1, 20, 21,
+ 22, 23, 24, 25, 26, 27, 28, -1, 30, 31,
+ 32, -1, -1, -1, -1, -1, -1, -1, 40, 41,
+ 42, -1, 44, 45, 46, 47, 48, 49, 50, 51,
+ 52, 53, 54, 55, 56, -1, 58, 59, 60, 61,
+ 62, 63, 64, -1, -1, 67, 68, 69, 70, 71,
+ -1, 73, 74, 75, 76, 77, -1, 79, -1, 81,
+ 82, 83, 84, 85, 86, 87, 88, 89, 90, -1,
+ 92, 93, 94, 95, 96, 97, -1, 99, 100, 101,
+ 102, -1, -1, -1, 106, -1, -1, -1, 110, 111,
+ 112, 113, 114, 115, 116, 117, 118, 119, 120, -1,
+ 122, 123, 124, 125, 126, 127, 128, -1, 130, 131,
+ 132, 133, -1, -1, 136, 137, 138, 139, 140, -1,
+ 142, 143, 144, -1, 146, 147, 148, -1, 150, 151,
+ 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
+ -1, 163, 164, 165, 166, 167, -1, 169, -1, 171,
+ 172, 173, -1, 175, 176, 177, 178, 179, -1, 181,
+ 182, -1, 184, 185, 186, -1, 188, 189, 190, 191,
+ 192, 193, 194, 195, 196, 197, -1, 199, 200, 201,
+ 202, 203, 204, 205, 206, -1, 208, 209, 210, 211,
+ 212, 213, 214, 215, 216, -1, 218, -1, 220, 221,
+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
+ 232, 233, 234, 235, -1, -1, 238, 239, 240, 241,
+ 242, -1, 244, 245, 246, -1, -1, 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, -1, 281,
+ 282, 283, 284, -1, 286, 287, 288, 289, 290, 291,
+ -1, 293, 294, 295, -1, 297, 298, 299, -1, -1,
+ 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
+ 312, 313, 314, 315, 316, 317, 318, -1, 320, 321,
+ 322, 323, 324, 325, 326, 327, -1, 329, 330, 331,
+ 332, 333, 334, 335, 336, 337, 338, 339, 340, 341,
+ 342, 343, -1, 345, 346, 347, 348, 349, 350, 351,
+ 352, 353, 354, 355, 356, 357, -1, 359, 360, 361,
+ 362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
+ 372, 373, 374, 375, 376, 377, -1, 379, 380, 381,
+ 382, 383, -1, 385, 386, 387, 388, 389, 390, 391,
+ 392, 393, 394, -1, 396, 397, 398, 399, 400, 401,
+ 402, 403, 404, 405, 406, 407, 408, 409, 410, -1,
+ 412, 413, -1, -1, 416, 417, 418, 419, 420, 421,
+ 422, -1, 424, 425, 426, -1, -1, 429, 430, 431,
+ 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
+ 442, -1, -1, 445, 446, 447, 448, 449, -1, -1,
+ 452, 453, 454, 455, 456, 457, 458, -1, 460, 461,
+ 462, 463, 464, 465, -1, -1, 468, -1, -1, 471,
+ 472, 473, 474, 475, 476, 477, 478, 479, 480, 481,
+ 482, 483, 484, 485, 486, 487, 488, 489, 490, 3,
+ -1, 5, 6, -1, -1, -1, -1, 11, -1, -1,
+ -1, -1, 504, 505, -1, -1, 20, 21, 22, 23,
+ 24, 25, 26, 27, 28, -1, 30, 31, 32, -1,
+ -1, -1, -1, -1, -1, -1, 40, 41, 42, -1,
+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
+ 54, 55, 56, -1, 58, 59, 60, 61, 62, 63,
+ 64, -1, -1, 67, 68, 69, 70, 71, -1, 73,
+ 74, 75, 76, 77, -1, 79, -1, 81, 82, 83,
+ 84, 85, 86, 87, 88, 89, 90, -1, 92, 93,
+ 94, 95, 96, 97, -1, 99, 100, 101, 102, -1,
+ -1, -1, 106, -1, -1, -1, 110, 111, 112, 113,
+ 114, 115, 116, 117, 118, 119, 120, -1, 122, 123,
+ 124, 125, 126, 127, 128, -1, 130, 131, 132, 133,
+ -1, -1, 136, 137, 138, 139, 140, -1, 142, 143,
+ 144, -1, 146, 147, 148, -1, 150, 151, 152, 153,
+ 154, 155, 156, 157, 158, 159, 160, 161, -1, 163,
+ 164, 165, 166, 167, -1, 169, -1, 171, 172, 173,
+ -1, 175, 176, 177, 178, 179, -1, 181, 182, -1,
+ 184, 185, 186, -1, 188, 189, 190, 191, 192, 193,
+ 194, 195, 196, 197, -1, 199, 200, 201, 202, 203,
+ 204, 205, 206, -1, 208, 209, 210, 211, 212, 213,
+ 214, 215, 216, -1, 218, -1, 220, 221, 222, 223,
+ 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
+ 234, 235, -1, -1, 238, 239, 240, 241, 242, -1,
+ 244, 245, 246, -1, -1, 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, -1, 281, 282, 283,
+ 284, -1, 286, 287, 288, 289, 290, 291, -1, 293,
+ 294, 295, -1, 297, 298, 299, -1, -1, 302, 303,
+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
+ 314, 315, 316, 317, 318, -1, 320, 321, 322, 323,
+ 324, 325, 326, 327, -1, 329, 330, 331, 332, 333,
+ 334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
+ -1, 345, 346, 347, 348, 349, 350, 351, 352, 353,
+ 354, 355, 356, 357, -1, 359, 360, 361, 362, 363,
+ 364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
+ 374, 375, 376, 377, -1, 379, 380, 381, 382, 383,
+ -1, 385, 386, 387, 388, 389, 390, 391, 392, 393,
+ 394, -1, 396, 397, 398, 399, 400, 401, 402, 403,
+ 404, 405, 406, 407, 408, 409, 410, -1, 412, 413,
+ -1, -1, 416, 417, 418, 419, 420, 421, 422, -1,
+ 424, 425, 426, -1, -1, 429, 430, 431, 432, 433,
+ 434, 435, 436, 437, 438, 439, 440, 441, 442, -1,
+ -1, 445, 446, 447, 448, 449, -1, -1, 452, 453,
+ 454, 455, 456, 457, 458, -1, 460, 461, 462, 463,
+ 464, 465, -1, -1, 468, -1, -1, 471, 472, 473,
+ 474, 475, 476, 477, 478, 479, 480, 481, 482, 483,
+ 484, 485, 486, 487, 488, 489, 490, 3, -1, 5,
+ 6, -1, -1, -1, -1, 11, -1, -1, -1, -1,
+ 504, 505, -1, -1, 20, 21, 22, 23, 24, 25,
+ 26, 27, 28, -1, 30, 31, 32, -1, -1, -1,
+ -1, -1, -1, -1, 40, 41, 42, -1, 44, 45,
+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
+ 56, -1, 58, 59, 60, 61, 62, 63, 64, -1,
+ -1, 67, 68, 69, 70, 71, -1, 73, 74, 75,
+ 76, 77, -1, 79, -1, 81, 82, 83, 84, 85,
+ 86, 87, 88, 89, 90, -1, 92, 93, 94, 95,
+ 96, 97, -1, 99, 100, 101, 102, -1, -1, -1,
+ 106, -1, -1, -1, 110, 111, 112, 113, 114, 115,
+ 116, 117, 118, -1, 120, -1, 122, 123, 124, 125,
+ 126, 127, 128, -1, 130, 131, 132, 133, -1, -1,
+ 136, 137, 138, 139, 140, -1, 142, 143, 144, -1,
+ 146, 147, 148, -1, 150, 151, 152, 153, 154, 155,
+ 156, 157, 158, 159, 160, 161, -1, 163, 164, 165,
+ 166, 167, -1, 169, -1, 171, 172, 173, -1, 175,
+ 176, 177, 178, 179, -1, 181, 182, -1, 184, 185,
+ 186, -1, 188, 189, 190, 191, 192, 193, 194, 195,
+ 196, 197, -1, 199, 200, 201, 202, 203, 204, 205,
+ 206, -1, 208, 209, 210, 211, 212, 213, 214, 215,
+ 216, -1, 218, -1, 220, 221, 222, 223, 224, 225,
+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
+ -1, -1, 238, 239, 240, 241, 242, -1, 244, 245,
+ 246, -1, -1, 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, -1, 281, 282, 283, 284, -1,
+ 286, 287, 288, 289, 290, 291, -1, 293, 294, 295,
+ -1, 297, 298, 299, -1, -1, 302, 303, 304, 305,
+ 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
+ 316, 317, 318, -1, 320, 321, 322, 323, 324, 325,
+ 326, 327, -1, 329, 330, 331, 332, 333, 334, 335,
+ 336, 337, 338, 339, 340, 341, 342, 343, -1, 345,
+ 346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
+ 356, 357, -1, 359, 360, 361, 362, 363, 364, 365,
+ 366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
+ 376, 377, -1, 379, 380, 381, 382, 383, -1, 385,
+ 386, 387, 388, 389, 390, 391, 392, 393, 394, -1,
+ 396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
+ 406, 407, 408, 409, 410, -1, 412, 413, -1, -1,
+ 416, 417, 418, 419, 420, 421, 422, -1, 424, 425,
+ 426, -1, -1, 429, 430, 431, 432, 433, 434, 435,
+ 436, 437, 438, 439, 440, 441, 442, -1, -1, 445,
+ 446, 447, 448, 449, -1, -1, 452, 453, 454, 455,
+ 456, 457, 458, -1, 460, 461, 462, 463, 464, 465,
+ -1, -1, 468, -1, -1, 471, 472, 473, 474, 475,
+ 476, 477, 478, 479, 480, 481, 482, 483, 484, 485,
+ 486, 487, 488, 489, 490, 3, -1, -1, -1, -1,
+ -1, -1, -1, 11, -1, -1, -1, -1, 504, 505,
+ -1, -1, 20, 21, 22, 23, 24, 25, 26, 27,
+ 28, 29, 30, 31, 32, -1, -1, -1, -1, -1,
+ -1, -1, 40, 41, 42, -1, 44, 45, 46, 47,
+ -1, 49, 50, 51, 52, 53, -1, 55, 56, -1,
+ 58, 59, 60, 61, 62, 63, 64, -1, -1, 67,
+ 68, 69, 70, 71, -1, 73, 74, 75, 76, 77,
+ -1, -1, -1, 81, 82, 83, 84, 85, 86, -1,
+ 88, 89, 90, -1, 92, 93, 94, 95, 96, 97,
+ -1, -1, 100, 101, 102, -1, -1, -1, -1, -1,
+ -1, -1, 110, 111, 112, 113, 114, 115, 116, 117,
+ 118, -1, 120, -1, 122, 123, 124, 125, 126, 127,
+ 128, -1, 130, 131, 132, 133, -1, -1, 136, 137,
+ 138, 139, 140, -1, 142, 143, 144, -1, 146, 147,
+ 148, -1, 150, 151, 152, 153, 154, 155, 156, 157,
+ 158, 159, -1, 161, -1, 163, 164, 165, 166, 167,
+ -1, 169, -1, 171, 172, -1, 174, -1, 176, 177,
+ 178, 179, -1, 181, 182, -1, 184, 185, 186, -1,
+ 188, 189, 190, 191, 192, -1, 194, 195, 196, 197,
+ 198, 199, 200, 201, 202, 203, 204, 205, 206, -1,
+ 208, -1, 210, 211, 212, 213, 214, 215, 216, -1,
+ 218, -1, 220, -1, -1, 223, -1, 225, 226, 227,
+ 228, 229, 230, 231, 232, 233, 234, 235, -1, -1,
+ 238, 239, -1, 241, -1, -1, 244, 245, 246, -1,
+ -1, 249, 250, 251, 252, 253, 254, 255, 256, 257,
+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
+ -1, 269, 270, 271, 272, 273, 274, 275, 276, 277,
+ 278, 279, -1, 281, 282, -1, 284, -1, 286, 287,
+ 288, 289, 290, 291, -1, 293, 294, -1, -1, 297,
+ 298, 299, -1, -1, 302, 303, 304, -1, 306, -1,
+ 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
+ 318, -1, 320, 321, 322, 323, 324, 325, 326, 327,
+ -1, 329, 330, 331, 332, 333, 334, 335, 336, 337,
+ 338, 339, 340, 341, 342, 343, -1, 345, 346, 347,
+ 348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
+ -1, 359, 360, -1, 362, 363, 364, 365, 366, 367,
+ 368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
+ -1, 379, 380, 381, 382, 383, -1, 385, 386, 387,
+ 388, 389, -1, 391, 392, 393, 394, -1, 396, 397,
+ 398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
+ 408, 409, 410, -1, 412, 413, -1, -1, 416, -1,
+ 418, 419, 420, 421, 422, -1, 424, 425, 426, -1,
+ -1, 429, 430, 431, 432, 433, -1, 435, 436, 437,
+ 438, 439, 440, 441, 442, -1, -1, 445, 446, 447,
+ 448, 449, -1, -1, 452, 453, 454, 455, 456, 457,
+ 458, -1, 460, -1, 462, 463, 464, 465, -1, -1,
+ 468, -1, -1, 471, 472, 473, 474, 475, 476, 477,
+ 478, 479, 480, 481, 482, 483, 484, 485, 486, 487,
+ 488, 489, 490, 3, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 504, 505, -1, -1,
+ 20, 21, 22, 23, 24, 25, 26, 27, 28, -1,
+ 30, 31, 32, 33, 34, -1, -1, -1, -1, -1,
+ 40, 41, 42, -1, 44, 45, 46, 47, 48, 49,
+ 50, 51, 52, 53, 54, 55, 56, -1, 58, 59,
+ 60, 61, 62, 63, 64, -1, -1, 67, 68, 69,
+ 70, 71, -1, 73, 74, 75, 76, 77, -1, 79,
+ -1, 81, 82, 83, 84, 85, 86, 87, 88, 89,
+ 90, -1, 92, 93, 94, 95, 96, 97, -1, 99,
+ 100, 101, 102, -1, -1, -1, 106, -1, -1, -1,
+ 110, 111, 112, 113, 114, 115, 116, 117, 118, -1,
+ 120, -1, 122, 123, 124, 125, 126, 127, 128, -1,
+ 130, 131, 132, 133, -1, -1, 136, 137, 138, 139,
+ 140, -1, 142, 143, 144, -1, 146, 147, 148, -1,
+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
+ -1, 161, -1, 163, 164, 165, 166, 167, -1, 169,
+ -1, 171, 172, 173, -1, 175, 176, 177, 178, 179,
+ -1, 181, 182, -1, 184, 185, 186, -1, 188, 189,
+ 190, 191, 192, 193, 194, 195, 196, 197, -1, 199,
+ 200, 201, 202, 203, 204, 205, 206, -1, 208, 209,
+ 210, 211, 212, 213, 214, 215, 216, -1, 218, -1,
+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
+ 230, 231, 232, 233, 234, 235, -1, -1, 238, 239,
+ 240, 241, 242, -1, 244, 245, 246, -1, -1, 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,
+ -1, 281, 282, 283, 284, -1, 286, 287, 288, 289,
+ 290, 291, -1, 293, 294, -1, -1, 297, 298, 299,
+ -1, -1, 302, 303, 304, 305, 306, 307, 308, 309,
+ 310, 311, 312, 313, 314, 315, 316, 317, 318, -1,
+ 320, 321, 322, 323, 324, 325, 326, 327, -1, 329,
+ 330, 331, 332, 333, 334, 335, 336, 337, 338, 339,
+ 340, 341, 342, 343, -1, 345, 346, 347, 348, 349,
+ 350, 351, 352, 353, 354, 355, 356, 357, -1, 359,
+ 360, 361, 362, 363, 364, 365, 366, 367, 368, 369,
+ 370, 371, 372, 373, 374, 375, 376, 377, -1, 379,
+ 380, 381, 382, 383, -1, 385, 386, 387, 388, 389,
+ 390, 391, 392, 393, 394, -1, 396, 397, 398, 399,
+ 400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
+ 410, -1, 412, 413, -1, -1, 416, 417, 418, 419,
+ 420, 421, 422, -1, 424, 425, 426, -1, -1, 429,
+ 430, 431, 432, 433, -1, 435, 436, 437, 438, 439,
+ 440, 441, 442, -1, -1, 445, 446, 447, 448, 449,
+ -1, -1, 452, 453, 454, 455, 456, 457, 458, -1,
+ 460, 461, 462, 463, 464, 465, -1, -1, 468, -1,
+ -1, 471, 472, 473, 474, 475, 476, 477, 478, 479,
+ 480, 481, 482, 483, 484, 485, 486, 487, 488, 489,
+ 490, 491, 3, -1, 5, 6, -1, -1, -1, -1,
+ 11, -1, -1, -1, -1, -1, -1, -1, -1, 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, 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,
+ 3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 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,
+ 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, 3, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 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, 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, 3, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 20, 21, 22, 23, 24, 25, 26,
+ 27, 28, -1, 30, 31, 32, -1, -1, -1, -1,
+ -1, -1, -1, 40, 41, 42, -1, 44, 45, 46,
+ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
+ -1, 58, 59, 60, 61, 62, 63, 64, -1, 66,
+ 67, 68, 69, 70, 71, -1, 73, 74, 75, 76,
+ 77, -1, 79, -1, 81, 82, 83, 84, 85, 86,
+ 87, 88, 89, 90, -1, 92, 93, 94, 95, 96,
+ 97, -1, 99, 100, 101, 102, 103, 104, 105, 106,
+ 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
+ 117, 118, -1, 120, -1, 122, 123, 124, 125, 126,
+ 127, 128, -1, 130, 131, 132, 133, -1, -1, 136,
+ 137, 138, 139, 140, -1, 142, 143, 144, -1, 146,
+ 147, 148, -1, 150, 151, 152, 153, 154, 155, 156,
+ 157, 158, 159, -1, 161, -1, 163, 164, 165, 166,
+ 167, -1, 169, -1, 171, 172, 173, -1, 175, 176,
+ 177, 178, 179, -1, 181, 182, -1, 184, 185, 186,
+ -1, 188, 189, 190, 191, 192, 193, 194, 195, 196,
+ 197, -1, 199, 200, 201, 202, 203, 204, 205, 206,
+ -1, 208, 209, 210, 211, 212, 213, 214, 215, 216,
+ -1, 218, -1, 220, 221, 222, 223, 224, 225, 226,
+ 227, 228, 229, 230, 231, 232, 233, 234, 235, -1,
+ -1, 238, 239, 240, 241, 242, -1, 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, -1, 281, 282, 283, 284, -1, 286,
+ 287, 288, 289, 290, 291, -1, 293, 294, -1, -1,
+ 297, 298, 299, -1, -1, 302, 303, 304, 305, 306,
+ 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
+ 317, 318, -1, 320, 321, 322, 323, 324, 325, 326,
+ 327, -1, 329, 330, 331, 332, 333, 334, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, -1, 345, 346,
+ 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
+ 357, -1, 359, 360, 361, 362, 363, 364, 365, 366,
+ 367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
+ 377, -1, 379, 380, 381, 382, 383, 384, 385, 386,
+ 387, 388, 389, 390, 391, 392, 393, 394, -1, 396,
+ 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
+ 407, 408, 409, 410, -1, 412, 413, 414, -1, 416,
+ 417, 418, 419, 420, 421, 422, -1, 424, 425, 426,
+ -1, -1, 429, 430, 431, 432, 433, -1, 435, 436,
+ 437, 438, 439, 440, 441, 442, -1, -1, 445, 446,
+ 447, 448, 449, 450, -1, 452, 453, 454, 455, 456,
+ 457, 458, -1, 460, 461, 462, 463, 464, 465, -1,
+ -1, 468, -1, -1, 471, 472, 473, 474, 475, 476,
+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486,
+ 487, 488, 489, 490, 3, -1, 5, 6, -1, 8,
+ 9, -1, 11, -1, -1, -1, -1, -1, -1, -1,
+ -1, 20, 21, 22, 23, 24, 25, 26, 27, 28,
+ -1, 30, 31, 32, -1, -1, -1, -1, -1, -1,
+ -1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, -1, 58,
+ 59, 60, 61, 62, 63, 64, -1, -1, 67, 68,
+ 69, 70, 71, -1, 73, 74, 75, 76, 77, -1,
+ 79, -1, 81, 82, 83, 84, 85, 86, 87, 88,
+ 89, 90, -1, 92, 93, 94, 95, 96, 97, -1,
+ 99, 100, 101, 102, -1, -1, -1, 106, -1, -1,
+ -1, 110, 111, 112, 113, 114, 115, 116, 117, 118,
+ -1, 120, -1, 122, 123, 124, 125, 126, 127, 128,
+ -1, 130, 131, 132, 133, -1, -1, 136, 137, 138,
+ 139, 140, -1, 142, 143, 144, -1, 146, 147, 148,
+ -1, 150, 151, 152, 153, 154, 155, 156, 157, 158,
+ 159, 160, 161, -1, 163, 164, 165, 166, 167, -1,
+ 169, -1, 171, 172, 173, -1, 175, 176, 177, 178,
+ 179, -1, 181, 182, -1, 184, 185, 186, -1, 188,
+ 189, 190, 191, 192, 193, 194, 195, 196, 197, -1,
+ 199, 200, 201, 202, 203, 204, 205, 206, -1, 208,
+ 209, 210, 211, 212, 213, 214, 215, 216, -1, 218,
+ -1, 220, 221, 222, 223, 224, 225, 226, 227, 228,
+ 229, 230, 231, 232, 233, 234, 235, -1, -1, 238,
+ 239, 240, 241, 242, -1, 244, 245, 246, -1, -1,
+ 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, -1, 281, 282, 283, 284, 285, 286, 287, 288,
+ 289, 290, 291, -1, 293, 294, -1, -1, 297, 298,
+ 299, -1, -1, 302, 303, 304, 305, 306, 307, 308,
+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
+ -1, 320, 321, 322, 323, 324, 325, 326, 327, -1,
+ 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, -1, 345, 346, 347, 348,
+ 349, 350, 351, 352, 353, 354, 355, 356, 357, -1,
+ 359, 360, 361, 362, 363, 364, 365, 366, 367, 368,
+ 369, 370, 371, 372, 373, 374, 375, 376, 377, -1,
+ 379, 380, 381, 382, 383, -1, 385, 386, 387, 388,
+ 389, 390, 391, 392, 393, 394, -1, 396, 397, 398,
+ 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
+ 409, 410, -1, 412, 413, -1, -1, 416, 417, 418,
+ 419, 420, 421, 422, -1, 424, 425, 426, -1, -1,
+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
+ 439, 440, 441, 442, -1, -1, 445, 446, 447, 448,
+ 449, -1, -1, 452, 453, 454, 455, 456, 457, 458,
+ -1, 460, 461, 462, 463, 464, 465, -1, -1, 468,
+ -1, -1, 471, 472, 473, 474, 475, 476, 477, 478,
+ 479, 480, 481, 482, 483, 484, 485, 486, 487, 488,
+ 489, 490, 3, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 20,
+ 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
+ 31, 32, -1, -1, -1, -1, -1, -1, -1, 40,
+ 41, 42, -1, 44, 45, 46, 47, 48, 49, 50,
+ 51, 52, 53, 54, 55, 56, -1, 58, 59, 60,
+ 61, 62, 63, 64, -1, -1, 67, 68, 69, 70,
+ 71, -1, 73, 74, 75, 76, 77, -1, 79, -1,
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
+ -1, 92, 93, 94, 95, 96, 97, -1, 99, 100,
+ 101, 102, -1, -1, 105, 106, -1, -1, 109, 110,
+ 111, 112, 113, 114, 115, 116, 117, 118, -1, 120,
+ -1, 122, 123, 124, 125, 126, 127, 128, -1, 130,
+ 131, 132, 133, -1, -1, 136, 137, 138, 139, 140,
+ -1, 142, 143, 144, -1, 146, 147, 148, -1, 150,
+ 151, 152, 153, 154, 155, 156, 157, 158, 159, -1,
+ 161, -1, 163, 164, 165, 166, 167, -1, 169, -1,
+ 171, 172, 173, -1, 175, 176, 177, 178, 179, -1,
+ 181, 182, -1, 184, 185, 186, -1, 188, 189, 190,
+ 191, 192, 193, 194, 195, 196, 197, -1, 199, 200,
+ 201, 202, 203, 204, 205, 206, -1, 208, 209, 210,
+ 211, 212, 213, 214, 215, 216, -1, 218, -1, 220,
+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
+ 231, 232, 233, 234, 235, -1, -1, 238, 239, 240,
+ 241, 242, -1, 244, 245, 246, -1, -1, 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, -1,
+ 281, 282, 283, 284, -1, 286, 287, 288, 289, 290,
+ 291, -1, 293, 294, -1, -1, 297, 298, 299, -1,
+ -1, 302, 303, 304, 305, 306, 307, 308, 309, 310,
+ 311, 312, 313, 314, 315, 316, 317, 318, -1, 320,
+ 321, 322, 323, 324, 325, 326, 327, -1, 329, 330,
+ 331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
+ 341, 342, 343, -1, 345, 346, 347, 348, 349, 350,
+ 351, 352, 353, 354, 355, 356, 357, -1, 359, 360,
+ 361, 362, 363, 364, 365, 366, 367, 368, 369, 370,
+ 371, 372, 373, 374, 375, 376, 377, -1, 379, 380,
+ 381, 382, 383, 384, 385, 386, 387, 388, 389, 390,
+ 391, 392, 393, 394, -1, 396, 397, 398, 399, 400,
+ 401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
+ -1, 412, 413, -1, -1, 416, 417, 418, 419, 420,
+ 421, 422, -1, 424, 425, 426, -1, -1, 429, 430,
+ 431, 432, 433, -1, 435, 436, 437, 438, 439, 440,
+ 441, 442, -1, -1, 445, 446, 447, 448, 449, -1,
+ -1, 452, 453, 454, 455, 456, 457, 458, -1, 460,
+ 461, 462, 463, 464, 465, -1, -1, 468, -1, -1,
+ 471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
+ 481, 482, 483, 484, 485, 486, 487, 488, 489, 490,
+ 3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 20, 21, 22,
+ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ -1, -1, -1, -1, -1, -1, -1, 40, 41, 42,
+ -1, 44, 45, 46, 47, 48, 49, 50, 51, 52,
+ 53, 54, 55, 56, -1, 58, 59, 60, 61, 62,
+ 63, 64, -1, -1, 67, 68, 69, 70, 71, -1,
+ 73, 74, 75, 76, 77, -1, 79, -1, 81, 82,
+ 83, 84, 85, 86, 87, 88, 89, 90, -1, 92,
+ 93, 94, 95, 96, 97, -1, 99, 100, 101, 102,
+ -1, -1, 105, 106, -1, -1, 109, 110, 111, 112,
+ 113, 114, 115, 116, 117, 118, -1, 120, -1, 122,
+ 123, 124, 125, 126, 127, 128, -1, 130, 131, 132,
+ 133, -1, -1, 136, 137, 138, 139, 140, -1, 142,
+ 143, 144, -1, 146, 147, 148, -1, 150, 151, 152,
+ 153, 154, 155, 156, 157, 158, 159, -1, 161, -1,
+ 163, 164, 165, 166, 167, -1, 169, -1, 171, 172,
+ 173, -1, 175, 176, 177, 178, 179, -1, 181, 182,
+ -1, 184, 185, 186, -1, 188, 189, 190, 191, 192,
+ 193, 194, 195, 196, 197, -1, 199, 200, 201, 202,
+ 203, 204, 205, 206, -1, 208, 209, 210, 211, 212,
+ 213, 214, 215, 216, -1, 218, -1, 220, 221, 222,
+ 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
+ 233, 234, 235, -1, -1, 238, 239, 240, 241, 242,
+ -1, 244, 245, 246, -1, -1, 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, -1, 281, 282,
+ 283, 284, -1, 286, 287, 288, 289, 290, 291, -1,
+ 293, 294, -1, -1, 297, 298, 299, -1, -1, 302,
+ 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
+ 313, 314, 315, 316, 317, 318, -1, 320, 321, 322,
+ 323, 324, 325, 326, 327, -1, 329, 330, 331, 332,
+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342,
+ 343, -1, 345, 346, 347, 348, 349, 350, 351, 352,
+ 353, 354, 355, 356, 357, -1, 359, 360, 361, 362,
+ 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
+ 373, 374, 375, 376, 377, -1, 379, 380, 381, 382,
+ 383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
+ 393, 394, -1, 396, 397, 398, 399, 400, 401, 402,
+ 403, 404, 405, 406, 407, 408, 409, 410, -1, 412,
+ 413, -1, -1, 416, 417, 418, 419, 420, 421, 422,
+ -1, 424, 425, 426, -1, -1, 429, 430, 431, 432,
+ 433, -1, 435, 436, 437, 438, 439, 440, 441, 442,
+ -1, -1, 445, 446, 447, 448, 449, -1, -1, 452,
+ 453, 454, 455, 456, 457, 458, -1, 460, 461, 462,
+ 463, 464, 465, -1, -1, 468, -1, -1, 471, 472,
+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482,
+ 483, 484, 485, 486, 487, 488, 489, 490, 3, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, -1, 30, 31, 32, -1, -1,
+ -1, -1, -1, -1, -1, 40, 41, 42, -1, 44,
+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
+ 55, 56, -1, 58, 59, 60, 61, 62, 63, 64,
+ -1, -1, 67, 68, 69, 70, 71, -1, 73, 74,
+ 75, 76, 77, -1, 79, -1, 81, 82, 83, 84,
+ 85, 86, 87, 88, 89, 90, -1, 92, 93, 94,
+ 95, 96, 97, -1, 99, 100, 101, 102, -1, -1,
+ 105, 106, -1, -1, 109, 110, 111, 112, 113, 114,
+ 115, 116, 117, 118, -1, 120, -1, 122, 123, 124,
+ 125, 126, 127, 128, -1, 130, 131, 132, 133, -1,
+ -1, 136, 137, 138, 139, 140, -1, 142, 143, 144,
+ -1, 146, 147, 148, -1, 150, 151, 152, 153, 154,
+ 155, 156, 157, 158, 159, -1, 161, -1, 163, 164,
+ 165, 166, 167, -1, 169, -1, 171, 172, 173, -1,
+ 175, 176, 177, 178, 179, -1, 181, 182, -1, 184,
+ 185, 186, -1, 188, 189, 190, 191, 192, 193, 194,
+ 195, 196, 197, -1, 199, 200, 201, 202, 203, 204,
+ 205, 206, -1, 208, 209, 210, 211, 212, 213, 214,
+ 215, 216, -1, 218, -1, 220, 221, 222, 223, 224,
+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
+ 235, -1, -1, 238, 239, 240, 241, 242, -1, 244,
+ 245, 246, -1, -1, 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, -1, 281, 282, 283, 284,
+ -1, 286, 287, 288, 289, 290, 291, -1, 293, 294,
+ -1, -1, 297, 298, 299, -1, -1, 302, 303, 304,
+ 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
+ 315, 316, 317, 318, -1, 320, 321, 322, 323, 324,
+ 325, 326, 327, -1, 329, 330, 331, 332, 333, 334,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, -1,
+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
+ 355, 356, 357, -1, 359, 360, 361, 362, 363, 364,
+ 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
+ 375, 376, 377, -1, 379, 380, 381, 382, 383, 384,
+ 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
+ -1, 396, 397, 398, 399, 400, 401, 402, 403, 404,
+ 405, 406, 407, 408, 409, 410, -1, 412, 413, -1,
+ -1, 416, 417, 418, 419, 420, 421, 422, -1, 424,
+ 425, 426, -1, -1, 429, 430, 431, 432, 433, -1,
+ 435, 436, 437, 438, 439, 440, 441, 442, -1, -1,
+ 445, 446, 447, 448, 449, 450, -1, 452, 453, 454,
+ 455, 456, 457, 458, -1, 460, 461, 462, 463, 464,
+ 465, -1, -1, 468, -1, -1, 471, 472, 473, 474,
+ 475, 476, 477, 478, 479, 480, 481, 482, 483, 484,
+ 485, 486, 487, 488, 489, 490, 3, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 20, 21, 22, 23, 24, 25, 26,
+ 27, 28, -1, 30, 31, 32, -1, -1, -1, -1,
+ -1, -1, -1, 40, 41, 42, -1, 44, 45, 46,
+ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
+ -1, 58, 59, 60, 61, 62, 63, 64, -1, -1,
+ 67, 68, 69, 70, 71, -1, 73, 74, 75, 76,
+ 77, -1, 79, -1, 81, 82, 83, 84, 85, 86,
+ 87, 88, 89, 90, -1, 92, 93, 94, 95, 96,
+ 97, -1, 99, 100, 101, 102, -1, -1, 105, 106,
+ -1, -1, 109, 110, 111, 112, 113, 114, 115, 116,
+ 117, 118, -1, 120, -1, 122, 123, 124, 125, 126,
+ 127, 128, -1, 130, 131, 132, 133, -1, -1, 136,
+ 137, 138, 139, 140, -1, 142, 143, 144, -1, 146,
+ 147, 148, -1, 150, 151, 152, 153, 154, 155, 156,
+ 157, 158, 159, -1, 161, -1, 163, 164, 165, 166,
+ 167, -1, 169, -1, 171, 172, 173, -1, 175, 176,
+ 177, 178, 179, -1, 181, 182, 183, 184, 185, 186,
+ -1, 188, 189, 190, 191, 192, 193, 194, 195, 196,
+ 197, -1, 199, 200, 201, 202, 203, 204, 205, 206,
+ -1, 208, 209, 210, 211, 212, 213, 214, 215, 216,
+ -1, 218, -1, 220, 221, 222, 223, 224, 225, 226,
+ 227, 228, 229, 230, 231, 232, 233, 234, 235, -1,
+ -1, 238, 239, 240, 241, 242, -1, 244, 245, 246,
+ -1, -1, 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, -1, 281, 282, 283, 284, -1, 286,
+ 287, 288, 289, 290, 291, -1, 293, 294, -1, -1,
+ 297, 298, 299, -1, -1, 302, 303, 304, 305, 306,
+ 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
+ 317, 318, -1, 320, 321, 322, 323, 324, 325, 326,
+ 327, -1, 329, 330, 331, 332, 333, 334, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, -1, 345, 346,
+ 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
+ 357, -1, 359, 360, 361, 362, 363, 364, 365, 366,
+ 367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
+ 377, -1, 379, 380, 381, 382, 383, 384, 385, 386,
+ 387, 388, 389, 390, 391, 392, 393, 394, -1, 396,
+ 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
+ 407, 408, 409, 410, -1, 412, 413, -1, -1, 416,
+ 417, 418, 419, 420, 421, 422, -1, 424, 425, 426,
+ -1, -1, 429, 430, 431, 432, 433, -1, 435, 436,
+ 437, 438, 439, 440, 441, 442, -1, -1, 445, 446,
+ 447, 448, 449, -1, -1, 452, 453, 454, 455, 456,
+ 457, 458, -1, 460, 461, 462, 463, 464, 465, -1,
+ -1, 468, -1, -1, 471, 472, 473, 474, 475, 476,
+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486,
+ 487, 488, 489, 490, 3, -1, -1, 6, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 20, 21, 22, 23, 24, 25, 26, 27, 28,
+ -1, 30, 31, 32, -1, -1, -1, -1, -1, -1,
+ -1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, -1, 58,
+ 59, 60, 61, 62, 63, 64, -1, -1, 67, 68,
+ 69, 70, 71, -1, 73, 74, 75, 76, 77, -1,
+ 79, -1, 81, 82, 83, 84, 85, 86, 87, 88,
+ 89, 90, -1, 92, 93, 94, 95, 96, 97, -1,
+ 99, 100, 101, 102, -1, -1, -1, 106, -1, -1,
+ -1, 110, 111, 112, 113, 114, 115, 116, 117, 118,
+ -1, 120, -1, 122, 123, 124, 125, 126, 127, 128,
+ -1, 130, 131, 132, 133, -1, -1, 136, 137, 138,
+ 139, 140, -1, 142, 143, 144, -1, 146, 147, 148,
+ -1, 150, 151, 152, 153, 154, 155, 156, 157, 158,
+ 159, 160, 161, -1, 163, 164, 165, 166, 167, -1,
+ 169, -1, 171, 172, 173, -1, 175, 176, 177, 178,
+ 179, -1, 181, 182, -1, 184, 185, 186, -1, 188,
+ 189, 190, 191, 192, 193, 194, 195, 196, 197, -1,
+ 199, 200, 201, 202, 203, 204, 205, 206, -1, 208,
+ 209, 210, 211, 212, 213, 214, 215, 216, -1, 218,
+ -1, 220, 221, 222, 223, 224, 225, 226, 227, 228,
+ 229, 230, 231, 232, 233, 234, 235, -1, -1, 238,
+ 239, 240, 241, 242, -1, 244, 245, 246, -1, -1,
+ 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, -1, 281, 282, 283, 284, -1, 286, 287, 288,
+ 289, 290, 291, -1, 293, 294, 295, -1, 297, 298,
+ 299, -1, -1, 302, 303, 304, 305, 306, 307, 308,
+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
+ -1, 320, 321, 322, 323, 324, 325, 326, 327, -1,
+ 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, -1, 345, 346, 347, 348,
+ 349, 350, 351, 352, 353, 354, 355, 356, 357, -1,
+ 359, 360, 361, 362, 363, 364, 365, 366, 367, 368,
+ 369, 370, 371, 372, 373, 374, 375, 376, 377, -1,
+ 379, 380, 381, 382, 383, -1, 385, 386, 387, 388,
+ 389, 390, 391, 392, 393, 394, -1, 396, 397, 398,
+ 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
+ 409, 410, -1, 412, 413, -1, -1, 416, 417, 418,
+ 419, 420, 421, 422, -1, 424, 425, 426, -1, -1,
+ 429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
+ 439, 440, 441, 442, -1, -1, 445, 446, 447, 448,
+ 449, -1, -1, 452, 453, 454, 455, 456, 457, 458,
+ -1, 460, 461, 462, 463, 464, 465, -1, -1, 468,
+ -1, -1, 471, 472, 473, 474, 475, 476, 477, 478,
+ 479, 480, 481, 482, 483, 484, 485, 486, 487, 488,
+ 489, 490, 3, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 20,
+ 21, 22, 23, 24, 25, 26, 27, 28, -1, 30,
+ 31, 32, -1, -1, -1, -1, -1, -1, -1, 40,
+ 41, 42, -1, 44, 45, 46, 47, 48, 49, 50,
+ 51, 52, 53, 54, 55, 56, -1, 58, 59, 60,
+ 61, 62, 63, 64, -1, -1, 67, 68, 69, 70,
+ 71, -1, 73, 74, 75, 76, 77, -1, 79, -1,
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
+ -1, 92, 93, 94, 95, 96, 97, -1, 99, 100,
+ 101, 102, -1, -1, 105, 106, -1, -1, 109, 110,
+ 111, 112, 113, 114, 115, 116, 117, 118, -1, 120,
+ -1, 122, 123, 124, 125, 126, 127, 128, -1, 130,
+ 131, 132, 133, -1, -1, 136, 137, 138, 139, 140,
+ -1, 142, 143, 144, -1, 146, 147, 148, -1, 150,
+ 151, 152, 153, 154, 155, 156, 157, 158, 159, -1,
+ 161, -1, 163, 164, 165, 166, 167, -1, 169, -1,
+ 171, 172, 173, -1, 175, 176, 177, 178, 179, -1,
+ 181, 182, -1, 184, 185, 186, -1, 188, 189, 190,
+ 191, 192, 193, 194, 195, 196, 197, -1, 199, 200,
+ 201, 202, 203, 204, 205, 206, -1, 208, 209, 210,
+ 211, 212, 213, 214, 215, 216, -1, 218, -1, 220,
+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
+ 231, 232, 233, 234, 235, -1, -1, 238, 239, 240,
+ 241, 242, -1, 244, 245, 246, -1, -1, 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, -1,
+ 281, 282, 283, 284, -1, 286, 287, 288, 289, 290,
+ 291, -1, 293, 294, -1, -1, 297, 298, 299, -1,
+ -1, 302, 303, 304, 305, 306, 307, 308, 309, 310,
+ 311, 312, 313, 314, 315, 316, 317, 318, -1, 320,
+ 321, 322, 323, 324, 325, 326, 327, -1, 329, 330,
+ 331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
+ 341, 342, 343, -1, 345, 346, 347, 348, 349, 350,
+ 351, 352, 353, 354, 355, 356, 357, -1, 359, 360,
+ 361, 362, 363, 364, 365, 366, 367, 368, 369, 370,
+ 371, 372, 373, 374, 375, 376, 377, -1, 379, 380,
+ 381, 382, 383, 384, 385, 386, 387, 388, 389, 390,
+ 391, 392, 393, 394, -1, 396, 397, 398, 399, 400,
+ 401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
+ -1, 412, 413, -1, -1, 416, 417, 418, 419, 420,
+ 421, 422, -1, 424, 425, 426, -1, -1, 429, 430,
+ 431, 432, 433, -1, 435, 436, 437, 438, 439, 440,
+ 441, 442, -1, -1, 445, 446, 447, 448, 449, -1,
+ -1, 452, 453, 454, 455, 456, 457, 458, -1, 460,
+ 461, 462, 463, 464, 465, -1, -1, 468, -1, -1,
+ 471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
+ 481, 482, 483, 484, 485, 486, 487, 488, 489, 490,
+ 3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 20, 21, 22,
+ 23, 24, 25, 26, 27, 28, -1, 30, 31, 32,
+ -1, -1, -1, -1, -1, -1, -1, 40, 41, 42,
+ -1, 44, 45, 46, 47, 48, 49, 50, 51, 52,
+ 53, 54, 55, 56, -1, 58, 59, 60, 61, 62,
+ 63, 64, -1, -1, 67, 68, 69, 70, 71, -1,
+ 73, 74, 75, 76, 77, -1, 79, -1, 81, 82,
+ 83, 84, 85, 86, 87, 88, 89, 90, -1, 92,
+ 93, 94, 95, 96, 97, -1, 99, 100, 101, 102,
+ -1, -1, 105, 106, -1, -1, 109, 110, 111, 112,
+ 113, 114, 115, 116, 117, 118, -1, 120, -1, 122,
+ 123, 124, 125, 126, 127, 128, -1, 130, 131, 132,
+ 133, -1, -1, 136, 137, 138, 139, 140, -1, 142,
+ 143, 144, -1, 146, 147, 148, -1, 150, 151, 152,
+ 153, 154, 155, 156, 157, 158, 159, -1, 161, -1,
+ 163, 164, 165, 166, 167, -1, 169, -1, 171, 172,
+ 173, -1, 175, 176, 177, 178, 179, -1, 181, 182,
+ -1, 184, 185, 186, -1, 188, 189, 190, 191, 192,
+ 193, 194, 195, 196, 197, -1, 199, 200, 201, 202,
+ 203, 204, 205, 206, -1, 208, 209, 210, 211, 212,
+ 213, 214, 215, 216, -1, 218, -1, 220, 221, 222,
+ 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
+ 233, 234, 235, -1, -1, 238, 239, 240, 241, 242,
+ -1, 244, 245, 246, -1, -1, 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, -1, 281, 282,
+ 283, 284, -1, 286, 287, 288, 289, 290, 291, -1,
+ 293, 294, -1, -1, 297, 298, 299, -1, -1, 302,
+ 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
+ 313, 314, 315, 316, 317, 318, -1, 320, 321, 322,
+ 323, 324, 325, 326, 327, -1, 329, 330, 331, 332,
+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342,
+ 343, -1, 345, 346, 347, 348, 349, 350, 351, 352,
+ 353, 354, 355, 356, 357, -1, 359, 360, 361, 362,
+ 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
+ 373, 374, 375, 376, 377, -1, 379, 380, 381, 382,
+ 383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
+ 393, 394, -1, 396, 397, 398, 399, 400, 401, 402,
+ 403, 404, 405, 406, 407, 408, 409, 410, -1, 412,
+ 413, -1, -1, 416, 417, 418, 419, 420, 421, 422,
+ -1, 424, 425, 426, -1, -1, 429, 430, 431, 432,
+ 433, -1, 435, 436, 437, 438, 439, 440, 441, 442,
+ -1, -1, 445, 446, 447, 448, 449, -1, -1, 452,
+ 453, 454, 455, 456, 457, 458, -1, 460, 461, 462,
+ 463, 464, 465, -1, -1, 468, -1, -1, 471, 472,
+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482,
+ 483, 484, 485, 486, 487, 488, 489, 490, 3, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, -1, 30, 31, 32, -1, -1,
+ -1, -1, -1, -1, -1, 40, 41, 42, -1, 44,
+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
+ 55, 56, -1, 58, 59, 60, 61, 62, 63, 64,
+ -1, -1, 67, 68, 69, 70, 71, -1, 73, 74,
+ 75, 76, 77, -1, 79, -1, 81, 82, 83, 84,
+ 85, 86, 87, 88, 89, 90, -1, 92, 93, 94,
+ 95, 96, 97, -1, 99, 100, 101, 102, -1, -1,
+ 105, 106, -1, -1, 109, 110, 111, 112, 113, 114,
+ 115, 116, 117, 118, -1, 120, -1, 122, 123, 124,
+ 125, 126, 127, 128, -1, 130, 131, 132, 133, -1,
+ -1, 136, 137, 138, 139, 140, -1, 142, 143, 144,
+ -1, 146, 147, 148, -1, 150, 151, 152, 153, 154,
+ 155, 156, 157, 158, 159, -1, 161, -1, 163, 164,
+ 165, 166, 167, -1, 169, -1, 171, 172, 173, -1,
+ 175, 176, 177, 178, 179, -1, 181, 182, -1, 184,
+ 185, 186, -1, 188, 189, 190, 191, 192, 193, 194,
+ 195, 196, 197, -1, 199, 200, 201, 202, 203, 204,
+ 205, 206, -1, 208, 209, 210, 211, 212, 213, 214,
+ 215, 216, -1, 218, -1, 220, 221, 222, 223, 224,
+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
+ 235, -1, -1, 238, 239, 240, 241, 242, -1, 244,
+ 245, 246, -1, -1, 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, -1, 281, 282, 283, 284,
+ -1, 286, 287, 288, 289, 290, 291, -1, 293, 294,
+ -1, -1, 297, 298, 299, -1, -1, 302, 303, 304,
+ 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
+ 315, 316, 317, 318, -1, 320, 321, 322, 323, 324,
+ 325, 326, 327, -1, 329, 330, 331, 332, 333, 334,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, -1,
+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
+ 355, 356, 357, -1, 359, 360, 361, 362, 363, 364,
+ 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
+ 375, 376, 377, -1, 379, 380, 381, 382, 383, 384,
+ 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
+ -1, 396, 397, 398, 399, 400, 401, 402, 403, 404,
+ 405, 406, 407, 408, 409, 410, -1, 412, 413, -1,
+ -1, 416, 417, 418, 419, 420, 421, 422, -1, 424,
+ 425, 426, -1, -1, 429, 430, 431, 432, 433, -1,
+ 435, 436, 437, 438, 439, 440, 441, 442, -1, -1,
+ 445, 446, 447, 448, 449, -1, -1, 452, 453, 454,
+ 455, 456, 457, 458, -1, 460, 461, 462, 463, 464,
+ 465, -1, -1, 468, -1, -1, 471, 472, 473, 474,
+ 475, 476, 477, 478, 479, 480, 481, 482, 483, 484,
+ 485, 486, 487, 488, 489, 490, 3, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 20, 21, 22, 23, 24, 25, 26,
+ 27, 28, -1, 30, 31, 32, -1, -1, -1, -1,
+ -1, -1, -1, 40, 41, 42, -1, 44, 45, 46,
+ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
+ -1, 58, 59, 60, 61, 62, 63, 64, -1, -1,
+ 67, 68, 69, 70, 71, -1, 73, 74, 75, 76,
+ 77, -1, 79, -1, 81, 82, 83, 84, 85, 86,
+ 87, 88, 89, 90, -1, 92, 93, 94, 95, 96,
+ 97, -1, 99, 100, 101, 102, -1, -1, 105, 106,
+ -1, -1, 109, 110, 111, 112, 113, 114, 115, 116,
+ 117, 118, -1, 120, -1, 122, 123, 124, 125, 126,
+ 127, 128, -1, 130, 131, 132, 133, -1, -1, 136,
+ 137, 138, 139, 140, -1, 142, 143, 144, -1, 146,
+ 147, 148, -1, 150, 151, 152, 153, 154, 155, 156,
+ 157, 158, 159, -1, 161, -1, 163, 164, 165, 166,
+ 167, -1, 169, -1, 171, 172, 173, -1, 175, 176,
+ 177, 178, 179, -1, 181, 182, -1, 184, 185, 186,
+ -1, 188, 189, 190, 191, 192, 193, 194, 195, 196,
+ 197, -1, 199, 200, 201, 202, 203, 204, 205, 206,
+ -1, 208, 209, 210, 211, 212, 213, 214, 215, 216,
+ -1, 218, -1, 220, 221, 222, 223, 224, 225, 226,
+ 227, 228, 229, 230, 231, 232, 233, 234, 235, -1,
+ -1, 238, 239, 240, 241, 242, -1, 244, 245, 246,
+ -1, -1, 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, -1, 281, 282, 283, 284, -1, 286,
+ 287, 288, 289, 290, 291, -1, 293, 294, -1, -1,
+ 297, 298, 299, -1, -1, 302, 303, 304, 305, 306,
+ 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
+ 317, 318, -1, 320, 321, 322, 323, 324, 325, 326,
+ 327, -1, 329, 330, 331, 332, 333, 334, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, -1, 345, 346,
+ 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
+ 357, -1, 359, 360, 361, 362, 363, 364, 365, 366,
+ 367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
+ 377, -1, 379, 380, 381, 382, 383, 384, 385, 386,
+ 387, 388, 389, 390, 391, 392, 393, 394, -1, 396,
+ 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
+ 407, 408, 409, 410, -1, 412, 413, -1, -1, 416,
+ 417, 418, 419, 420, 421, 422, -1, 424, 425, 426,
+ -1, -1, 429, 430, 431, 432, 433, -1, 435, 436,
+ 437, 438, 439, 440, 441, 442, -1, -1, 445, 446,
+ 447, 448, 449, -1, -1, 452, 453, 454, 455, 456,
+ 457, 458, -1, 460, 461, 462, 463, 464, 465, -1,
+ -1, 468, -1, -1, 471, 472, 473, 474, 475, 476,
+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486,
+ 487, 488, 489, 490, 3, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 20, 21, 22, 23, 24, 25, 26, 27, 28,
+ -1, 30, 31, 32, -1, -1, -1, -1, -1, -1,
+ -1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, -1, 58,
+ 59, 60, 61, 62, 63, 64, -1, -1, 67, 68,
+ 69, 70, 71, -1, 73, 74, 75, 76, 77, -1,
+ 79, -1, 81, 82, 83, 84, 85, 86, 87, 88,
+ 89, 90, -1, 92, 93, 94, 95, 96, 97, -1,
+ 99, 100, 101, 102, -1, -1, 105, 106, -1, -1,
+ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
+ -1, 120, -1, 122, 123, 124, 125, 126, 127, 128,
+ -1, 130, 131, 132, 133, -1, -1, 136, 137, 138,
+ 139, 140, -1, 142, 143, 144, -1, 146, 147, 148,
+ -1, 150, 151, 152, 153, 154, 155, 156, 157, 158,
+ 159, -1, 161, -1, 163, 164, 165, 166, 167, -1,
+ 169, -1, 171, 172, 173, -1, 175, 176, 177, 178,
+ 179, -1, 181, 182, -1, 184, 185, 186, -1, 188,
+ 189, 190, 191, 192, 193, 194, 195, 196, 197, -1,
+ 199, 200, 201, 202, 203, 204, 205, 206, -1, 208,
+ 209, 210, 211, 212, 213, 214, 215, 216, -1, 218,
+ -1, 220, 221, 222, 223, 224, 225, 226, 227, 228,
+ 229, 230, 231, 232, 233, 234, 235, -1, -1, 238,
+ 239, 240, 241, 242, -1, 244, 245, 246, -1, -1,
+ 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, -1, 281, 282, 283, 284, -1, 286, 287, 288,
+ 289, 290, 291, -1, 293, 294, -1, -1, 297, 298,
+ 299, -1, -1, 302, 303, 304, 305, 306, 307, 308,
+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
+ -1, 320, 321, 322, 323, 324, 325, 326, 327, -1,
+ 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, -1, 345, 346, 347, 348,
+ 349, 350, 351, 352, 353, 354, 355, 356, 357, -1,
+ 359, 360, 361, 362, 363, 364, 365, 366, 367, 368,
+ 369, 370, 371, 372, 373, 374, 375, 376, 377, -1,
+ 379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
+ 389, 390, 391, 392, 393, 394, -1, 396, 397, 398,
+ 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
+ 409, 410, -1, 412, 413, -1, -1, 416, 417, 418,
+ 419, 420, 421, 422, -1, 424, 425, 426, -1, -1,
+ 429, 430, 431, 432, 433, -1, 435, 436, 437, 438,
+ 439, 440, 441, 442, -1, -1, 445, 446, 447, 448,
+ 449, -1, -1, 452, 453, 454, 455, 456, 457, 458,
+ -1, 460, 461, 462, 463, 464, 465, -1, -1, 468,
+ -1, -1, 471, 472, 473, 474, 475, 476, 477, 478,
+ 479, 480, 481, 482, 483, 484, 485, 486, 487, 488,
+ 489, 490, 3, -1, -1, 6, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 20,
+ 21, 22, 23, 24, 25, 26, 27, 28, -1, 30,
+ 31, 32, -1, -1, -1, -1, -1, -1, -1, 40,
+ 41, 42, -1, 44, 45, 46, 47, 48, 49, 50,
+ 51, 52, 53, 54, 55, 56, -1, 58, 59, 60,
+ 61, 62, 63, 64, -1, -1, 67, 68, 69, 70,
+ 71, -1, 73, 74, 75, 76, 77, -1, 79, -1,
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
+ -1, 92, 93, 94, 95, 96, 97, -1, 99, 100,
+ 101, 102, -1, -1, -1, 106, -1, -1, -1, 110,
+ 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
+ -1, 122, 123, 124, 125, 126, 127, 128, -1, 130,
+ 131, 132, 133, -1, -1, 136, 137, 138, 139, 140,
+ -1, 142, 143, 144, -1, 146, 147, 148, -1, 150,
+ 151, 152, 153, 154, 155, 156, 157, 158, 159, -1,
+ 161, -1, 163, 164, 165, 166, 167, -1, 169, -1,
+ 171, 172, 173, -1, 175, 176, 177, 178, 179, -1,
+ 181, 182, -1, 184, 185, 186, -1, 188, 189, 190,
+ 191, 192, 193, 194, 195, 196, 197, -1, 199, 200,
+ 201, 202, 203, 204, 205, 206, -1, 208, 209, 210,
+ 211, 212, 213, 214, 215, 216, -1, 218, -1, 220,
+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
+ 231, 232, 233, 234, 235, -1, -1, 238, 239, 240,
+ 241, 242, -1, 244, 245, 246, -1, -1, 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, -1,
+ 281, 282, 283, 284, -1, 286, 287, 288, 289, 290,
+ 291, -1, 293, 294, -1, -1, 297, 298, 299, -1,
+ -1, 302, 303, 304, 305, 306, 307, 308, 309, 310,
+ 311, 312, 313, 314, 315, 316, 317, 318, -1, 320,
+ 321, 322, 323, 324, 325, 326, 327, -1, 329, 330,
+ 331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
+ 341, 342, 343, -1, 345, 346, 347, 348, 349, 350,
+ 351, 352, 353, 354, 355, 356, 357, -1, 359, 360,
+ 361, 362, 363, 364, 365, 366, 367, 368, 369, 370,
+ 371, 372, 373, 374, 375, 376, 377, -1, 379, 380,
+ 381, 382, 383, -1, 385, 386, 387, 388, 389, 390,
+ 391, 392, 393, 394, -1, 396, 397, 398, 399, 400,
+ 401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
+ -1, 412, 413, -1, -1, 416, 417, 418, 419, 420,
+ 421, 422, -1, 424, 425, 426, -1, -1, 429, 430,
+ 431, 432, 433, -1, 435, 436, 437, 438, 439, 440,
+ 441, 442, -1, -1, 445, 446, 447, 448, 449, -1,
+ -1, 452, 453, 454, 455, 456, 457, 458, -1, 460,
+ 461, 462, 463, 464, 465, -1, -1, 468, -1, -1,
+ 471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
+ 481, 482, 483, 484, 485, 486, 487, 488, 489, 490,
+ 3, -1, -1, 6, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 20, 21, 22,
+ 23, 24, 25, 26, 27, 28, -1, 30, 31, 32,
+ -1, -1, -1, -1, -1, -1, -1, 40, 41, 42,
+ -1, 44, 45, 46, 47, 48, 49, 50, 51, 52,
+ 53, 54, 55, 56, -1, 58, 59, 60, 61, 62,
+ 63, 64, -1, -1, 67, 68, 69, 70, 71, -1,
+ 73, 74, 75, 76, 77, -1, 79, -1, 81, 82,
+ 83, 84, 85, 86, 87, 88, 89, 90, -1, 92,
+ 93, 94, 95, 96, 97, -1, 99, 100, 101, 102,
+ -1, -1, -1, 106, -1, -1, -1, 110, 111, 112,
+ 113, 114, 115, 116, 117, 118, -1, 120, -1, 122,
+ 123, 124, 125, 126, 127, 128, -1, 130, 131, 132,
+ 133, -1, -1, 136, 137, 138, 139, 140, -1, 142,
+ 143, 144, -1, 146, 147, 148, -1, 150, 151, 152,
+ 153, 154, 155, 156, 157, 158, 159, -1, 161, -1,
+ 163, 164, 165, 166, 167, -1, 169, -1, 171, 172,
+ 173, -1, 175, 176, 177, 178, 179, -1, 181, 182,
+ -1, 184, 185, 186, -1, 188, 189, 190, 191, 192,
+ 193, 194, 195, 196, 197, -1, 199, 200, 201, 202,
+ 203, 204, 205, 206, -1, 208, 209, 210, 211, 212,
+ 213, 214, 215, 216, -1, 218, -1, 220, 221, 222,
+ 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
+ 233, 234, 235, -1, -1, 238, 239, 240, 241, 242,
+ -1, 244, 245, 246, -1, -1, 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, -1, 281, 282,
+ 283, 284, -1, 286, 287, 288, 289, 290, 291, -1,
+ 293, 294, -1, -1, 297, 298, 299, -1, -1, 302,
+ 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
+ 313, 314, 315, 316, 317, 318, -1, 320, 321, 322,
+ 323, 324, 325, 326, 327, -1, 329, 330, 331, 332,
+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342,
+ 343, -1, 345, 346, 347, 348, 349, 350, 351, 352,
+ 353, 354, 355, 356, 357, -1, 359, 360, 361, 362,
+ 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
+ 373, 374, 375, 376, 377, -1, 379, 380, 381, 382,
+ 383, -1, 385, 386, 387, 388, 389, 390, 391, 392,
+ 393, 394, -1, 396, 397, 398, 399, 400, 401, 402,
+ 403, 404, 405, 406, 407, 408, 409, 410, -1, 412,
+ 413, -1, -1, 416, 417, 418, 419, 420, 421, 422,
+ -1, 424, 425, 426, -1, -1, 429, 430, 431, 432,
+ 433, -1, 435, 436, 437, 438, 439, 440, 441, 442,
+ -1, -1, 445, 446, 447, 448, 449, -1, -1, 452,
+ 453, 454, 455, 456, 457, 458, -1, 460, 461, 462,
+ 463, 464, 465, -1, -1, 468, -1, -1, 471, 472,
+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482,
+ 483, 484, 485, 486, 487, 488, 489, 490, 3, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, -1, 30, 31, 32, -1, -1,
+ -1, -1, -1, -1, -1, 40, 41, 42, -1, 44,
+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
+ 55, 56, -1, 58, 59, 60, 61, 62, 63, 64,
+ -1, -1, 67, 68, 69, 70, 71, -1, 73, 74,
+ 75, 76, 77, -1, 79, -1, 81, 82, 83, 84,
+ 85, 86, 87, 88, 89, 90, -1, 92, 93, 94,
+ 95, 96, 97, -1, 99, 100, 101, 102, -1, -1,
+ -1, 106, -1, -1, -1, 110, 111, 112, 113, 114,
+ 115, 116, 117, 118, -1, 120, -1, 122, 123, 124,
+ 125, 126, 127, 128, -1, 130, 131, 132, 133, -1,
+ -1, 136, 137, 138, 139, 140, -1, 142, 143, 144,
+ -1, 146, 147, 148, -1, 150, 151, 152, 153, 154,
+ 155, 156, 157, 158, 159, -1, 161, -1, 163, 164,
+ 165, 166, 167, -1, 169, -1, 171, 172, 173, -1,
+ 175, 176, 177, 178, 179, -1, 181, 182, -1, 184,
+ 185, 186, -1, 188, 189, 190, 191, 192, 193, 194,
+ 195, 196, 197, -1, 199, 200, 201, 202, 203, 204,
+ 205, 206, -1, 208, 209, 210, 211, 212, 213, 214,
+ 215, 216, -1, 218, -1, 220, 221, 222, 223, 224,
+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
+ 235, -1, -1, 238, 239, 240, 241, 242, -1, 244,
+ 245, 246, -1, -1, 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, -1, 281, 282, 283, 284,
+ -1, 286, 287, 288, 289, 290, 291, -1, 293, 294,
+ -1, -1, 297, 298, 299, -1, -1, 302, 303, 304,
+ 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
+ 315, 316, 317, 318, -1, 320, 321, 322, 323, 324,
+ 325, 326, 327, -1, 329, 330, 331, 332, 333, 334,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, -1,
+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
+ 355, 356, 357, -1, 359, 360, 361, 362, 363, 364,
+ 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
+ 375, 376, 377, -1, 379, 380, 381, 382, 383, -1,
+ 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
+ -1, 396, 397, 398, 399, 400, 401, 402, 403, 404,
+ 405, 406, 407, 408, 409, 410, -1, 412, 413, -1,
+ -1, 416, 417, 418, 419, 420, 421, 422, -1, 424,
+ 425, 426, -1, -1, 429, 430, 431, 432, 433, -1,
+ 435, 436, 437, 438, 439, 440, 441, 442, -1, -1,
+ 445, 446, 447, 448, 449, -1, -1, 452, 453, 454,
+ 455, 456, 457, 458, -1, 460, 461, 462, 463, 464,
+ 465, -1, -1, 468, -1, -1, 471, 472, 473, 474,
+ 475, 476, 477, 478, 479, 480, 481, 482, 483, 484,
+ 485, 486, 487, 488, 489, 490, 3, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 20, 21, 22, 23, 24, 25, 26,
+ 27, 28, -1, 30, 31, 32, -1, -1, -1, -1,
+ -1, -1, -1, 40, 41, 42, -1, 44, 45, 46,
+ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
+ -1, 58, 59, 60, 61, 62, 63, 64, -1, -1,
+ 67, 68, 69, 70, 71, -1, 73, 74, 75, 76,
+ 77, -1, 79, -1, 81, 82, 83, 84, 85, 86,
+ 87, 88, 89, 90, -1, 92, 93, 94, 95, 96,
+ 97, -1, 99, 100, 101, 102, -1, -1, -1, 106,
+ -1, -1, -1, 110, 111, 112, 113, 114, 115, 116,
+ 117, 118, -1, 120, -1, 122, 123, 124, 125, 126,
+ 127, 128, -1, 130, 131, 132, 133, -1, -1, 136,
+ 137, 138, 139, 140, -1, 142, 143, 144, -1, 146,
+ 147, 148, -1, 150, 151, 152, 153, 154, 155, 156,
+ 157, 158, 159, -1, 161, -1, 163, 164, 165, 166,
+ 167, -1, 169, -1, 171, 172, 173, -1, 175, 176,
+ 177, 178, 179, -1, 181, 182, -1, 184, 185, 186,
+ -1, 188, 189, 190, 191, 192, 193, 194, 195, 196,
+ 197, -1, 199, 200, 201, 202, 203, 204, 205, 206,
+ -1, 208, 209, 210, 211, 212, 213, 214, 215, 216,
+ -1, 218, -1, 220, 221, 222, 223, 224, 225, 226,
+ 227, 228, 229, 230, 231, 232, 233, 234, 235, -1,
+ -1, 238, 239, 240, 241, 242, -1, 244, 245, 246,
+ -1, -1, 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, -1, 281, 282, 283, 284, -1, 286,
+ 287, 288, 289, 290, 291, -1, 293, 294, -1, -1,
+ 297, 298, 299, -1, -1, 302, 303, 304, 305, 306,
+ 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
+ 317, 318, -1, 320, 321, 322, 323, 324, 325, 326,
+ 327, -1, 329, 330, 331, 332, 333, 334, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, -1, 345, 346,
+ 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
+ 357, -1, 359, 360, 361, 362, 363, 364, 365, 366,
+ 367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
+ 377, -1, 379, 380, 381, 382, 383, -1, 385, 386,
+ 387, 388, 389, 390, 391, 392, 393, 394, -1, 396,
+ 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
+ 407, 408, 409, 410, -1, 412, 413, -1, -1, 416,
+ 417, 418, 419, 420, 421, 422, -1, 424, 425, 426,
+ -1, -1, 429, 430, 431, 432, 433, -1, 435, 436,
+ 437, 438, 439, 440, 441, 442, -1, -1, 445, 446,
+ 447, 448, 449, -1, -1, 452, 453, 454, 455, 456,
+ 457, 458, -1, 460, 461, 462, 463, 464, 465, -1,
+ -1, 468, -1, -1, 471, 472, 473, 474, 475, 476,
+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486,
+ 487, 488, 489, 490, 3, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 20, 21, 22, 23, 24, 25, 26, 27, 28,
+ -1, 30, 31, 32, -1, -1, -1, -1, -1, -1,
+ -1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, -1, 58,
+ 59, 60, 61, 62, 63, 64, -1, -1, 67, 68,
+ 69, 70, 71, -1, 73, 74, 75, 76, 77, -1,
+ 79, -1, 81, 82, 83, 84, 85, 86, 87, 88,
+ 89, 90, -1, 92, 93, 94, 95, 96, 97, -1,
+ 99, 100, 101, 102, -1, -1, -1, 106, -1, -1,
+ -1, 110, 111, 112, 113, 114, 115, 116, 117, 118,
+ -1, 120, -1, 122, 123, 124, 125, 126, 127, 128,
+ -1, 130, 131, 132, 133, -1, -1, 136, 137, 138,
+ 139, 140, -1, 142, 143, 144, -1, 146, 147, 148,
+ -1, 150, 151, 152, 153, 154, 155, 156, 157, 158,
+ 159, -1, 161, -1, 163, 164, 165, 166, 167, -1,
+ 169, -1, 171, 172, 173, -1, 175, 176, 177, 178,
+ 179, -1, 181, 182, -1, 184, 185, 186, -1, 188,
+ 189, 190, 191, 192, 193, 194, 195, 196, 197, -1,
+ 199, 200, 201, 202, 203, 204, 205, 206, -1, 208,
+ 209, 210, 211, 212, 213, 214, 215, 216, -1, 218,
+ -1, 220, 221, 222, 223, 224, 225, 226, 227, 228,
+ 229, 230, 231, 232, 233, 234, 235, -1, -1, 238,
+ 239, 240, 241, 242, -1, 244, 245, 246, -1, -1,
+ 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, -1, 281, 282, 283, 284, -1, 286, 287, 288,
+ 289, 290, 291, -1, 293, 294, -1, -1, 297, 298,
+ 299, -1, -1, 302, 303, 304, 305, 306, 307, 308,
+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
+ -1, 320, 321, 322, 323, 324, 325, 326, 327, -1,
+ 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, -1, 345, 346, 347, 348,
+ 349, 350, 351, 352, 353, 354, 355, 356, 357, -1,
+ 359, 360, 361, 362, 363, 364, 365, 366, 367, 368,
+ 369, 370, 371, 372, 373, 374, 375, 376, 377, -1,
+ 379, 380, 381, 382, 383, -1, 385, 386, 387, 388,
+ 389, 390, 391, 392, 393, 394, -1, 396, 397, 398,
+ 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
+ 409, 410, -1, 412, 413, -1, -1, 416, 417, 418,
+ 419, 420, 421, 422, -1, 424, 425, 426, -1, -1,
+ 429, 430, 431, 432, 433, -1, 435, 436, 437, 438,
+ 439, 440, 441, 442, -1, -1, 445, 446, 447, 448,
+ 449, -1, -1, 452, 453, 454, 455, 456, 457, 458,
+ -1, 460, 461, 462, 463, 464, 465, -1, -1, 468,
+ -1, -1, 471, 472, 473, 474, 475, 476, 477, 478,
+ 479, 480, 481, 482, 483, 484, 485, 486, 487, 488,
+ 489, 490, 3, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 20,
+ 21, 22, 23, 24, 25, 26, 27, 28, -1, 30,
+ 31, 32, -1, -1, -1, -1, -1, -1, -1, 40,
+ 41, 42, -1, 44, 45, 46, 47, 48, 49, 50,
+ 51, 52, 53, 54, 55, 56, -1, 58, 59, 60,
+ 61, 62, 63, 64, -1, -1, 67, 68, 69, 70,
+ 71, -1, 73, 74, 75, 76, 77, -1, 79, -1,
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
+ -1, 92, 93, 94, 95, 96, 97, -1, 99, 100,
+ 101, 102, -1, -1, -1, 106, -1, -1, -1, 110,
+ 111, 112, 113, 114, 115, 116, 117, 118, -1, 120,
+ -1, 122, 123, 124, 125, 126, 127, 128, -1, 130,
+ 131, 132, 133, -1, -1, 136, 137, 138, 139, 140,
+ -1, 142, 143, 144, -1, 146, 147, 148, -1, 150,
+ 151, 152, 153, 154, 155, 156, 157, 158, 159, -1,
+ 161, -1, 163, 164, 165, 166, 167, -1, 169, -1,
+ 171, 172, 173, -1, 175, 176, 177, 178, 179, -1,
+ 181, 182, -1, 184, 185, 186, -1, 188, 189, 190,
+ 191, 192, 193, 194, 195, 196, 197, -1, 199, 200,
+ 201, 202, 203, 204, 205, 206, -1, 208, 209, 210,
+ 211, 212, 213, 214, 215, 216, -1, 218, -1, 220,
+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
+ 231, 232, 233, 234, 235, -1, -1, 238, 239, 240,
+ 241, 242, -1, 244, 245, 246, -1, -1, 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, -1,
+ 281, 282, 283, 284, -1, 286, 287, 288, 289, 290,
+ 291, -1, 293, 294, -1, -1, 297, 298, 299, -1,
+ -1, 302, 303, 304, 305, 306, 307, 308, 309, 310,
+ 311, 312, 313, 314, 315, 316, 317, 318, -1, 320,
+ 321, 322, 323, 324, 325, 326, 327, -1, 329, 330,
+ 331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
+ 341, 342, 343, -1, 345, 346, 347, 348, 349, 350,
+ 351, 352, 353, 354, 355, 356, 357, -1, 359, 360,
+ 361, 362, 363, 364, 365, 366, 367, 368, 369, 370,
+ 371, 372, 373, 374, 375, 376, 377, -1, 379, 380,
+ 381, 382, 383, -1, 385, 386, 387, 388, 389, 390,
+ 391, 392, 393, 394, -1, 396, 397, 398, 399, 400,
+ 401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
+ -1, 412, 413, -1, -1, 416, 417, 418, 419, 420,
+ 421, 422, -1, 424, 425, 426, -1, -1, 429, 430,
+ 431, 432, 433, -1, 435, 436, 437, 438, 439, 440,
+ 441, 442, -1, -1, 445, 446, 447, 448, 449, -1,
+ -1, 452, 453, 454, 455, 456, 457, 458, -1, 460,
+ 461, 462, 463, 464, 465, -1, -1, 468, -1, -1,
+ 471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
+ 481, 482, 483, 484, 485, 486, 487, 488, 489, 490,
+ 3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 20, 21, 22,
+ 23, 24, 25, 26, 27, 28, -1, 30, 31, 32,
+ -1, -1, -1, -1, -1, -1, -1, 40, 41, 42,
+ -1, 44, 45, 46, 47, 48, 49, 50, 51, 52,
+ 53, 54, 55, 56, -1, 58, 59, 60, 61, 62,
+ 63, 64, -1, -1, 67, 68, 69, 70, 71, -1,
+ 73, 74, 75, 76, 77, -1, 79, -1, 81, 82,
+ 83, 84, 85, 86, 87, 88, 89, 90, -1, 92,
+ 93, 94, 95, 96, 97, -1, 99, 100, 101, 102,
+ -1, -1, -1, 106, -1, -1, -1, 110, 111, 112,
+ 113, 114, 115, 116, 117, 118, -1, 120, -1, 122,
+ 123, 124, 125, 126, 127, 128, -1, 130, 131, 132,
+ 133, -1, -1, 136, 137, 138, 139, 140, -1, 142,
+ 143, 144, -1, 146, 147, 148, -1, 150, 151, 152,
+ 153, 154, 155, 156, 157, 158, 159, -1, 161, -1,
+ 163, 164, 165, 166, 167, -1, 169, -1, 171, 172,
+ 173, -1, 175, 176, 177, 178, 179, -1, 181, 182,
+ -1, 184, 185, 186, -1, 188, 189, 190, 191, 192,
+ 193, 194, 195, 196, 197, -1, 199, 200, 201, 202,
+ 203, 204, 205, 206, -1, 208, 209, 210, 211, 212,
+ 213, 214, 215, 216, -1, 218, -1, 220, 221, 222,
+ 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
+ 233, 234, 235, -1, -1, 238, 239, 240, 241, 242,
+ -1, 244, 245, 246, -1, -1, 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, -1, 281, 282,
+ 283, 284, -1, 286, 287, 288, 289, 290, 291, -1,
+ 293, 294, -1, -1, 297, 298, 299, -1, -1, 302,
+ 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
+ 313, 314, 315, 316, 317, 318, -1, 320, 321, 322,
+ 323, 324, 325, 326, 327, -1, 329, 330, 331, 332,
+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342,
+ 343, -1, 345, 346, 347, 348, 349, 350, 351, 352,
+ 353, 354, 355, 356, 357, -1, 359, 360, 361, 362,
+ 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
+ 373, 374, 375, 376, 377, -1, 379, 380, 381, 382,
+ 383, -1, 385, 386, 387, 388, 389, 390, 391, 392,
+ 393, 394, -1, 396, 397, 398, 399, 400, 401, 402,
+ 403, 404, 405, 406, 407, 408, 409, 410, -1, 412,
+ 413, -1, -1, 416, 417, 418, 419, 420, 421, 422,
+ -1, 424, 425, 426, -1, -1, 429, 430, 431, 432,
+ 433, -1, 435, 436, 437, 438, 439, 440, 441, 442,
+ -1, -1, 445, 446, 447, 448, 449, -1, -1, 452,
+ 453, 454, 455, 456, 457, 458, -1, 460, 461, 462,
+ 463, 464, 465, -1, -1, 468, -1, -1, 471, 472,
+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482,
+ 483, 484, 485, 486, 487, 488, 489, 490, 3, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, -1, 30, 31, 32, -1, -1,
+ -1, -1, -1, -1, -1, 40, 41, 42, -1, 44,
+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
+ 55, 56, -1, 58, 59, 60, 61, 62, 63, 64,
+ -1, -1, 67, 68, 69, 70, 71, -1, 73, 74,
+ 75, 76, 77, -1, 79, -1, 81, 82, 83, 84,
+ 85, 86, 87, 88, 89, 90, -1, 92, 93, 94,
+ 95, 96, 97, -1, 99, 100, 101, 102, -1, -1,
+ -1, 106, -1, -1, -1, 110, 111, 112, 113, 114,
+ 115, 116, 117, 118, -1, 120, -1, 122, 123, 124,
+ 125, 126, 127, 128, -1, 130, 131, 132, 133, -1,
+ -1, 136, 137, 138, 139, 140, -1, 142, 143, 144,
+ -1, 146, 147, 148, -1, 150, 151, 152, 153, 154,
+ 155, 156, 157, 158, 159, -1, 161, -1, 163, 164,
+ 165, 166, 167, -1, 169, -1, 171, 172, 173, -1,
+ 175, 176, 177, 178, 179, -1, 181, 182, -1, 184,
+ 185, 186, -1, 188, 189, 190, 191, 192, 193, 194,
+ 195, 196, 197, -1, 199, 200, 201, 202, 203, 204,
+ 205, 206, -1, 208, 209, 210, 211, 212, 213, 214,
+ 215, 216, -1, 218, -1, 220, 221, 222, 223, 224,
+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
+ 235, -1, -1, 238, 239, 240, 241, 242, -1, 244,
+ 245, 246, -1, -1, 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, -1, 281, 282, 283, 284,
+ -1, 286, 287, 288, 289, 290, 291, -1, 293, 294,
+ -1, -1, 297, 298, 299, -1, -1, 302, 303, 304,
+ 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
+ 315, 316, 317, 318, -1, 320, 321, 322, 323, 324,
+ 325, 326, 327, -1, 329, 330, 331, 332, 333, 334,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, -1,
+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
+ 355, 356, 357, -1, 359, 360, 361, 362, 363, 364,
+ 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
+ 375, 376, 377, -1, 379, 380, 381, 382, 383, -1,
+ 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
+ -1, 396, 397, 398, 399, 400, 401, 402, 403, 404,
+ 405, 406, 407, 408, 409, 410, -1, 412, 413, -1,
+ -1, 416, 417, 418, 419, 420, 421, 422, -1, 424,
+ 425, 426, -1, -1, 429, 430, 431, 432, 433, -1,
+ 435, 436, 437, 438, 439, 440, 441, 442, -1, -1,
+ 445, 446, 447, 448, 449, -1, -1, 452, 453, 454,
+ 455, 456, 457, 458, -1, 460, 461, 462, 463, 464,
+ 465, -1, -1, 468, -1, -1, 471, 472, 473, 474,
+ 475, 476, 477, 478, 479, 480, 481, 482, 483, 484,
+ 485, 486, 487, 488, 489, 490, 3, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 20, 21, 22, 23, 24, 25, 26,
+ 27, 28, -1, 30, 31, 32, -1, -1, -1, -1,
+ -1, -1, -1, 40, 41, 42, -1, 44, 45, 46,
+ 47, -1, 49, 50, 51, 52, 53, -1, 55, 56,
+ -1, 58, 59, 60, 61, 62, 63, 64, -1, -1,
+ 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
+ 77, -1, -1, 80, 81, 82, 83, 84, 85, 86,
+ -1, 88, 89, 90, 91, 92, 93, 94, 95, 96,
+ 97, -1, -1, 100, 101, 102, -1, -1, -1, -1,
+ -1, -1, -1, 110, 111, 112, 113, 114, 115, 116,
+ 117, 118, -1, 120, -1, 122, 123, 124, 125, 126,
+ 127, 128, -1, 130, 131, 132, 133, -1, -1, 136,
+ 137, 138, 139, 140, -1, 142, 143, 144, -1, 146,
+ 147, 148, -1, 150, 151, 152, 153, 154, 155, 156,
+ 157, 158, 159, -1, 161, -1, 163, 164, 165, 166,
+ 167, -1, 169, 170, 171, 172, -1, -1, -1, 176,
+ 177, 178, 179, -1, 181, 182, -1, 184, 185, 186,
+ -1, 188, 189, 190, 191, 192, -1, 194, 195, 196,
+ 197, -1, 199, 200, 201, 202, 203, 204, 205, 206,
+ -1, 208, -1, 210, 211, 212, 213, 214, 215, 216,
+ -1, 218, -1, 220, -1, -1, 223, -1, 225, 226,
+ 227, 228, 229, 230, 231, 232, 233, 234, 235, -1,
+ -1, 238, 239, -1, 241, -1, -1, 244, 245, 246,
+ -1, -1, 249, 250, 251, 252, 253, 254, 255, 256,
+ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
+ 267, -1, 269, 270, 271, 272, 273, 274, 275, 276,
+ 277, 278, 279, -1, 281, 282, -1, 284, -1, 286,
+ 287, 288, 289, 290, 291, -1, 293, 294, -1, -1,
+ 297, 298, 299, -1, -1, 302, 303, 304, -1, 306,
+ -1, 308, 309, 310, 311, 312, 313, 314, 315, 316,
+ 317, 318, -1, 320, 321, 322, 323, 324, 325, 326,
+ 327, 328, 329, 330, 331, 332, 333, 334, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, -1, 345, 346,
+ 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
+ 357, -1, 359, 360, -1, 362, 363, 364, 365, 366,
+ 367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
+ 377, -1, 379, 380, 381, 382, 383, -1, 385, 386,
+ 387, 388, 389, -1, 391, 392, 393, 394, -1, 396,
+ 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
+ 407, 408, 409, 410, -1, 412, 413, -1, -1, 416,
+ -1, 418, 419, 420, 421, 422, -1, 424, 425, 426,
+ -1, -1, 429, 430, 431, 432, 433, -1, 435, 436,
+ 437, 438, 439, 440, 441, 442, -1, 444, 445, 446,
+ 447, 448, 449, -1, -1, 452, 453, 454, 455, 456,
+ 457, 458, -1, 460, -1, 462, 463, 464, 465, -1,
+ -1, 468, -1, -1, 471, 472, 473, 474, 475, 476,
+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486,
+ 487, 488, 489, 490, 3, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 20, 21, 22, 23, 24, 25, 26, 27, 28,
+ -1, 30, 31, 32, -1, -1, -1, -1, -1, -1,
+ -1, 40, 41, 42, -1, 44, 45, 46, 47, -1,
+ 49, 50, 51, 52, 53, -1, 55, 56, -1, 58,
+ 59, 60, 61, 62, 63, 64, -1, -1, 67, 68,
+ 69, 70, 71, 72, 73, 74, 75, 76, 77, -1,
+ -1, -1, 81, 82, 83, 84, 85, 86, -1, 88,
+ 89, 90, 91, 92, 93, 94, 95, 96, 97, -1,
+ -1, 100, 101, 102, -1, -1, -1, -1, -1, -1,
+ -1, 110, 111, 112, 113, 114, 115, 116, 117, 118,
+ -1, 120, -1, 122, 123, 124, 125, 126, 127, 128,
+ -1, 130, 131, 132, 133, -1, -1, 136, 137, 138,
+ 139, 140, -1, 142, 143, 144, -1, 146, 147, 148,
+ -1, 150, 151, 152, 153, 154, 155, 156, 157, 158,
+ 159, -1, 161, -1, 163, 164, 165, 166, 167, -1,
+ 169, 170, 171, 172, -1, -1, -1, 176, 177, 178,
+ 179, -1, 181, 182, -1, 184, 185, 186, -1, 188,
+ 189, 190, 191, 192, -1, 194, 195, 196, 197, -1,
+ 199, 200, 201, 202, 203, 204, 205, 206, -1, 208,
+ -1, 210, 211, 212, 213, 214, 215, 216, -1, 218,
+ -1, 220, -1, -1, 223, -1, 225, 226, 227, 228,
+ 229, 230, 231, 232, 233, 234, 235, -1, -1, 238,
+ 239, -1, 241, 242, -1, 244, 245, 246, -1, -1,
+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
+ 259, 260, 261, 262, 263, 264, 265, 266, 267, -1,
+ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
+ 279, -1, 281, 282, -1, 284, -1, 286, 287, 288,
+ 289, 290, 291, -1, 293, 294, -1, -1, 297, 298,
+ 299, -1, -1, 302, 303, 304, -1, 306, -1, 308,
+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
+ -1, 320, 321, 322, 323, 324, 325, 326, 327, 328,
+ 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, -1, 345, 346, 347, 348,
+ 349, 350, 351, 352, 353, 354, 355, 356, 357, -1,
+ 359, 360, -1, 362, 363, 364, 365, 366, 367, 368,
+ 369, 370, 371, 372, 373, 374, 375, 376, 377, -1,
+ 379, 380, 381, 382, 383, -1, 385, 386, 387, 388,
+ 389, -1, 391, 392, 393, 394, -1, 396, 397, 398,
+ 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
+ 409, 410, -1, 412, 413, -1, -1, 416, -1, 418,
+ 419, 420, 421, 422, -1, 424, 425, 426, -1, -1,
+ 429, 430, 431, 432, 433, -1, 435, 436, 437, 438,
+ 439, 440, 441, 442, -1, 444, 445, 446, 447, 448,
+ 449, -1, -1, 452, 453, 454, 455, 456, 457, 458,
+ -1, 460, -1, 462, 463, 464, 465, -1, -1, 468,
+ -1, -1, 471, 472, 473, 474, 475, 476, 477, 478,
+ 479, 480, 481, 482, 483, 484, 485, 486, 487, 488,
+ 489, 490, 3, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 20,
+ 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
+ 31, 32, -1, -1, -1, -1, -1, -1, -1, 40,
+ 41, 42, -1, 44, 45, 46, 47, -1, 49, 50,
+ 51, 52, 53, -1, 55, 56, -1, 58, 59, 60,
+ 61, 62, 63, 64, -1, -1, 67, 68, 69, 70,
+ 71, -1, 73, 74, 75, 76, 77, -1, -1, -1,
+ 81, 82, 83, 84, 85, 86, -1, 88, 89, 90,
+ -1, 92, 93, 94, 95, 96, 97, 98, -1, 100,
+ 101, 102, -1, -1, -1, -1, -1, -1, -1, 110,
+ 111, 112, 113, 114, 115, 116, 117, 118, -1, 120,
+ -1, 122, 123, 124, 125, 126, 127, 128, -1, 130,
+ 131, 132, 133, -1, -1, 136, 137, 138, 139, 140,
+ -1, 142, 143, 144, -1, 146, 147, 148, -1, 150,
+ 151, 152, 153, 154, 155, 156, 157, 158, 159, -1,
+ 161, -1, 163, 164, 165, 166, 167, -1, 169, -1,
+ 171, 172, -1, -1, -1, 176, 177, 178, 179, 180,
+ 181, 182, -1, 184, 185, 186, -1, 188, 189, 190,
+ 191, 192, -1, 194, 195, 196, 197, -1, 199, 200,
+ 201, 202, 203, 204, 205, 206, -1, 208, -1, 210,
+ 211, 212, 213, 214, 215, 216, -1, 218, -1, 220,
+ -1, -1, 223, -1, 225, 226, 227, 228, 229, 230,
+ 231, 232, 233, 234, 235, -1, -1, 238, 239, -1,
+ 241, -1, -1, 244, 245, 246, -1, -1, 249, 250,
+ 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
+ 261, 262, 263, 264, 265, 266, 267, -1, 269, 270,
+ 271, 272, 273, 274, 275, 276, 277, 278, 279, -1,
+ 281, 282, -1, 284, -1, 286, 287, 288, 289, 290,
+ 291, -1, 293, 294, -1, -1, 297, 298, 299, -1,
+ -1, 302, 303, 304, -1, 306, -1, 308, 309, 310,
+ 311, 312, 313, 314, 315, 316, 317, 318, -1, 320,
+ 321, 322, 323, 324, 325, 326, 327, -1, 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, -1, 359, 360,
+ -1, 362, 363, 364, 365, 366, 367, 368, 369, 370,
+ 371, 372, 373, 374, 375, 376, 377, 378, 379, 380,
+ 381, 382, 383, -1, 385, 386, 387, 388, 389, -1,
+ 391, 392, 393, 394, -1, 396, 397, 398, 399, 400,
+ 401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
+ -1, 412, 413, -1, -1, 416, -1, 418, 419, 420,
+ 421, 422, -1, 424, 425, 426, -1, -1, 429, 430,
+ 431, 432, 433, -1, 435, 436, 437, 438, 439, 440,
+ 441, 442, -1, -1, 445, 446, 447, 448, 449, -1,
+ -1, 452, 453, 454, 455, 456, 457, 458, -1, 460,
+ -1, 462, 463, 464, 465, -1, -1, 468, -1, -1,
+ 471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
+ 481, 482, 483, 484, 485, 486, 487, 488, 489, 490,
+ 3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 20, 21, 22,
+ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ -1, -1, -1, -1, -1, -1, -1, 40, 41, 42,
+ -1, 44, 45, 46, 47, -1, 49, 50, 51, 52,
+ 53, -1, 55, 56, -1, 58, 59, 60, 61, 62,
+ 63, 64, -1, -1, 67, 68, 69, 70, 71, -1,
+ 73, 74, 75, 76, 77, -1, -1, -1, 81, 82,
+ 83, 84, 85, 86, -1, 88, 89, 90, -1, 92,
+ 93, 94, 95, 96, 97, 98, -1, 100, 101, 102,
+ -1, -1, -1, -1, -1, -1, -1, 110, 111, 112,
+ 113, 114, 115, 116, 117, 118, -1, 120, -1, 122,
+ 123, 124, 125, 126, 127, 128, -1, 130, 131, 132,
+ 133, -1, -1, 136, 137, 138, 139, 140, -1, 142,
+ 143, 144, -1, 146, 147, 148, -1, 150, 151, 152,
+ 153, 154, 155, 156, 157, 158, 159, -1, 161, -1,
+ 163, 164, 165, 166, 167, -1, 169, -1, 171, 172,
+ -1, -1, -1, 176, 177, 178, 179, 180, 181, 182,
+ -1, 184, 185, 186, -1, 188, 189, 190, 191, 192,
+ -1, 194, 195, 196, 197, -1, 199, 200, 201, 202,
+ 203, 204, 205, 206, -1, 208, -1, 210, 211, 212,
+ 213, 214, 215, 216, -1, 218, -1, 220, -1, -1,
+ 223, -1, 225, 226, 227, 228, 229, 230, 231, 232,
+ 233, 234, 235, -1, -1, 238, 239, -1, 241, -1,
+ -1, 244, 245, 246, -1, -1, 249, 250, 251, 252,
+ 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
+ 263, 264, 265, 266, 267, -1, 269, 270, 271, 272,
+ 273, 274, 275, 276, 277, 278, 279, -1, 281, 282,
+ -1, 284, -1, 286, 287, 288, 289, 290, 291, -1,
+ 293, 294, -1, -1, 297, 298, 299, -1, -1, 302,
+ 303, 304, -1, 306, -1, 308, 309, 310, 311, 312,
+ 313, 314, 315, 316, 317, 318, -1, 320, 321, 322,
+ 323, 324, 325, 326, 327, -1, 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, -1, 359, 360, -1, 362,
+ 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
+ 373, 374, 375, 376, 377, 378, 379, 380, 381, 382,
+ 383, -1, 385, 386, 387, 388, 389, -1, 391, 392,
+ 393, 394, -1, 396, 397, 398, 399, 400, 401, 402,
+ 403, 404, 405, 406, 407, 408, 409, 410, -1, 412,
+ 413, -1, -1, 416, -1, 418, 419, 420, 421, 422,
+ -1, 424, 425, 426, -1, -1, 429, 430, 431, 432,
+ 433, -1, 435, 436, 437, 438, 439, 440, 441, 442,
+ -1, -1, 445, 446, 447, 448, 449, -1, -1, 452,
+ 453, 454, 455, 456, 457, 458, -1, 460, -1, 462,
+ 463, 464, 465, -1, -1, 468, -1, -1, 471, 472,
+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482,
+ 483, 484, 485, 486, 487, 488, 489, 490, 3, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, -1, 30, 31, 32, -1, -1,
+ -1, -1, -1, -1, -1, 40, 41, 42, -1, 44,
+ 45, 46, 47, -1, 49, 50, 51, 52, 53, -1,
+ 55, 56, -1, 58, 59, 60, 61, 62, 63, 64,
+ -1, -1, 67, 68, 69, 70, 71, 72, 73, 74,
+ 75, 76, 77, -1, -1, -1, 81, 82, 83, 84,
+ 85, 86, -1, 88, 89, 90, 91, 92, 93, 94,
+ 95, 96, 97, -1, -1, 100, 101, 102, -1, -1,
+ -1, -1, -1, -1, -1, 110, 111, 112, 113, 114,
+ 115, 116, 117, 118, -1, 120, -1, 122, 123, 124,
+ 125, 126, 127, 128, -1, 130, 131, 132, 133, -1,
+ -1, 136, 137, 138, 139, 140, -1, 142, 143, 144,
+ -1, 146, 147, 148, -1, 150, 151, 152, 153, 154,
+ 155, 156, 157, 158, 159, -1, 161, -1, 163, 164,
+ 165, 166, 167, -1, 169, 170, 171, 172, -1, -1,
+ -1, 176, 177, 178, 179, -1, 181, 182, -1, 184,
+ 185, 186, -1, 188, 189, 190, 191, 192, -1, 194,
+ 195, 196, 197, -1, 199, 200, 201, 202, 203, 204,
+ 205, 206, -1, 208, -1, 210, 211, 212, 213, 214,
+ 215, 216, -1, 218, -1, 220, -1, -1, 223, -1,
+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
+ 235, -1, -1, 238, 239, -1, 241, -1, -1, 244,
+ 245, 246, -1, -1, 249, 250, 251, 252, 253, 254,
+ 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
+ 265, 266, 267, -1, 269, 270, 271, 272, 273, 274,
+ 275, 276, 277, 278, 279, -1, 281, 282, -1, 284,
+ -1, 286, 287, 288, 289, 290, 291, -1, 293, 294,
+ -1, -1, 297, 298, 299, -1, -1, 302, 303, 304,
+ -1, 306, -1, 308, 309, 310, 311, 312, 313, 314,
+ 315, 316, 317, 318, -1, 320, 321, 322, 323, 324,
+ 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, -1,
+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
+ 355, 356, 357, -1, 359, 360, -1, 362, 363, 364,
+ 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
+ 375, 376, 377, -1, 379, 380, 381, 382, 383, -1,
+ 385, 386, 387, 388, 389, -1, 391, 392, 393, 394,
+ -1, 396, 397, 398, 399, 400, 401, 402, 403, 404,
+ 405, 406, 407, 408, 409, 410, -1, 412, 413, -1,
+ -1, 416, -1, 418, 419, 420, 421, 422, -1, 424,
+ 425, 426, -1, -1, 429, 430, 431, 432, 433, -1,
+ 435, 436, 437, 438, 439, 440, 441, 442, -1, 444,
+ 445, 446, 447, 448, 449, -1, -1, 452, 453, 454,
+ 455, 456, 457, 458, -1, 460, -1, 462, 463, 464,
+ 465, -1, -1, 468, -1, -1, 471, 472, 473, 474,
+ 475, 476, 477, 478, 479, 480, 481, 482, 483, 484,
+ 485, 486, 487, 488, 489, 490, 3, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 20, 21, 22, 23, 24, 25, 26,
+ 27, 28, 29, 30, 31, 32, -1, -1, -1, -1,
+ -1, -1, -1, 40, 41, 42, -1, 44, 45, 46,
+ 47, -1, 49, 50, 51, 52, 53, -1, 55, 56,
+ -1, 58, 59, 60, 61, 62, 63, 64, -1, -1,
+ 67, 68, 69, 70, 71, -1, 73, 74, 75, 76,
+ 77, -1, -1, -1, 81, 82, 83, 84, 85, 86,
+ -1, 88, 89, 90, -1, 92, 93, 94, 95, 96,
+ 97, 98, -1, 100, 101, 102, -1, -1, -1, -1,
+ -1, -1, -1, 110, 111, 112, 113, 114, 115, 116,
+ 117, 118, -1, 120, -1, 122, 123, 124, 125, 126,
+ 127, 128, -1, 130, 131, 132, 133, -1, -1, 136,
+ 137, 138, 139, 140, -1, 142, 143, 144, -1, 146,
+ 147, 148, -1, 150, 151, 152, 153, 154, 155, 156,
+ 157, 158, 159, -1, 161, -1, 163, 164, 165, 166,
+ 167, -1, 169, -1, 171, 172, -1, -1, -1, 176,
+ 177, 178, 179, -1, 181, 182, -1, 184, 185, 186,
+ -1, 188, 189, 190, 191, 192, -1, 194, 195, 196,
+ 197, -1, 199, 200, 201, 202, 203, 204, 205, 206,
+ -1, 208, -1, 210, 211, 212, 213, 214, 215, 216,
+ -1, 218, -1, 220, -1, -1, 223, -1, 225, 226,
+ 227, 228, 229, 230, 231, 232, 233, 234, 235, -1,
+ -1, 238, 239, -1, 241, -1, -1, 244, 245, 246,
+ -1, -1, 249, 250, 251, 252, 253, 254, 255, 256,
+ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
+ 267, -1, 269, 270, 271, 272, 273, 274, 275, 276,
+ 277, 278, 279, -1, 281, 282, -1, 284, -1, 286,
+ 287, 288, 289, 290, 291, -1, 293, 294, -1, -1,
+ 297, 298, 299, -1, -1, 302, 303, 304, -1, 306,
+ -1, 308, 309, 310, 311, 312, 313, 314, 315, 316,
+ 317, 318, -1, 320, 321, 322, 323, 324, 325, 326,
+ 327, -1, 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, -1, 359, 360, -1, 362, 363, 364, 365, 366,
+ 367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
+ 377, 378, 379, 380, 381, 382, 383, -1, 385, 386,
+ 387, 388, 389, -1, 391, 392, 393, 394, -1, 396,
+ 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
+ 407, 408, 409, 410, -1, 412, 413, -1, -1, 416,
+ -1, 418, 419, 420, 421, 422, -1, 424, 425, 426,
+ -1, -1, 429, 430, 431, 432, 433, -1, 435, 436,
+ 437, 438, 439, 440, 441, 442, -1, -1, 445, 446,
+ 447, 448, 449, -1, -1, 452, 453, 454, 455, 456,
+ 457, 458, -1, 460, -1, 462, 463, 464, 465, -1,
+ -1, 468, -1, -1, 471, 472, 473, 474, 475, 476,
+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486,
+ 487, 488, 489, 490, 3, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 20, 21, 22, 23, 24, 25, 26, 27, 28,
+ 29, 30, 31, 32, -1, -1, -1, -1, -1, -1,
+ -1, 40, 41, 42, -1, 44, 45, 46, 47, -1,
+ 49, 50, 51, 52, 53, -1, 55, 56, -1, 58,
+ 59, 60, 61, 62, 63, 64, -1, -1, 67, 68,
+ 69, 70, 71, -1, 73, 74, 75, 76, 77, -1,
+ -1, -1, 81, 82, 83, 84, 85, 86, -1, 88,
+ 89, 90, -1, 92, 93, 94, 95, 96, 97, -1,
+ -1, 100, 101, 102, -1, -1, -1, 106, -1, -1,
+ -1, 110, 111, 112, 113, 114, 115, 116, 117, 118,
+ -1, 120, -1, 122, 123, 124, 125, 126, 127, 128,
+ -1, 130, 131, 132, 133, -1, -1, 136, 137, 138,
+ 139, 140, -1, 142, 143, 144, -1, 146, 147, 148,
+ -1, 150, 151, 152, 153, 154, 155, 156, 157, 158,
+ 159, -1, 161, -1, 163, 164, 165, 166, 167, -1,
+ 169, -1, 171, 172, -1, -1, -1, 176, 177, 178,
+ 179, -1, 181, 182, -1, 184, 185, 186, -1, 188,
+ 189, 190, 191, 192, -1, 194, 195, 196, 197, -1,
+ 199, 200, 201, 202, 203, 204, 205, 206, -1, 208,
+ -1, 210, 211, 212, 213, 214, 215, 216, -1, 218,
+ -1, 220, -1, -1, 223, -1, 225, 226, 227, 228,
+ 229, 230, 231, 232, 233, 234, 235, -1, -1, 238,
+ 239, -1, 241, -1, -1, 244, 245, 246, -1, -1,
+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
+ 259, 260, 261, 262, 263, 264, 265, 266, 267, -1,
+ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
+ 279, -1, 281, 282, -1, 284, -1, 286, 287, 288,
+ 289, 290, 291, -1, 293, 294, -1, 296, 297, 298,
+ 299, -1, -1, 302, 303, 304, -1, 306, -1, 308,
+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
+ -1, 320, 321, 322, 323, 324, 325, 326, 327, -1,
+ 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, -1, 345, 346, 347, 348,
+ 349, 350, 351, 352, 353, 354, 355, 356, 357, -1,
+ 359, 360, -1, 362, 363, 364, 365, 366, 367, 368,
+ 369, 370, 371, 372, 373, 374, 375, 376, 377, -1,
+ 379, 380, 381, 382, 383, -1, 385, 386, 387, 388,
+ 389, -1, 391, 392, 393, 394, -1, 396, 397, 398,
+ 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
+ 409, 410, -1, 412, 413, -1, 415, 416, -1, 418,
+ 419, 420, 421, 422, -1, 424, 425, 426, -1, -1,
+ 429, 430, 431, 432, 433, -1, 435, 436, 437, 438,
+ 439, 440, 441, 442, -1, -1, 445, 446, 447, 448,
+ 449, -1, -1, 452, 453, 454, 455, 456, 457, 458,
+ -1, 460, -1, 462, 463, 464, 465, -1, -1, 468,
+ -1, -1, 471, 472, 473, 474, 475, 476, 477, 478,
+ 479, 480, 481, 482, 483, 484, 485, 486, 487, 488,
+ 489, 490, 3, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 20,
+ 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
+ 31, 32, -1, -1, -1, -1, -1, -1, -1, 40,
+ 41, 42, -1, 44, 45, 46, 47, -1, 49, 50,
+ 51, 52, 53, -1, 55, 56, -1, 58, 59, 60,
+ 61, 62, 63, 64, -1, -1, 67, 68, 69, 70,
+ 71, -1, 73, 74, 75, 76, 77, -1, -1, -1,
+ 81, 82, 83, 84, 85, 86, -1, 88, 89, 90,
+ -1, 92, 93, 94, 95, 96, 97, -1, -1, 100,
+ 101, 102, -1, -1, -1, -1, -1, -1, -1, 110,
+ 111, 112, 113, 114, 115, 116, 117, 118, -1, 120,
+ -1, 122, 123, 124, 125, 126, 127, 128, -1, 130,
+ 131, 132, 133, -1, -1, 136, 137, 138, 139, 140,
+ -1, 142, 143, 144, -1, 146, 147, 148, -1, 150,
+ 151, 152, 153, 154, 155, 156, 157, 158, 159, -1,
+ 161, -1, 163, 164, 165, 166, 167, -1, 169, 170,
+ 171, 172, -1, -1, -1, 176, 177, 178, 179, -1,
+ 181, 182, -1, 184, 185, 186, -1, 188, 189, 190,
+ 191, 192, -1, 194, 195, 196, 197, -1, 199, 200,
+ 201, 202, 203, 204, 205, 206, -1, 208, -1, 210,
+ 211, 212, 213, 214, 215, 216, -1, 218, -1, 220,
+ -1, -1, 223, -1, 225, 226, 227, 228, 229, 230,
+ 231, 232, 233, 234, 235, -1, -1, 238, 239, -1,
+ 241, -1, -1, 244, 245, 246, -1, -1, 249, 250,
+ 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
+ 261, 262, 263, 264, 265, 266, 267, -1, 269, 270,
+ 271, 272, 273, 274, 275, 276, 277, 278, 279, -1,
+ 281, 282, -1, 284, -1, 286, 287, 288, 289, 290,
+ 291, -1, 293, 294, -1, -1, 297, 298, 299, -1,
+ -1, 302, 303, 304, -1, 306, -1, 308, 309, 310,
+ 311, 312, 313, 314, 315, 316, 317, 318, -1, 320,
+ 321, 322, 323, 324, 325, 326, 327, -1, 329, 330,
+ 331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
+ 341, 342, 343, -1, 345, 346, 347, 348, 349, 350,
+ 351, 352, 353, 354, 355, 356, 357, -1, 359, 360,
+ -1, 362, 363, 364, 365, 366, 367, 368, 369, 370,
+ 371, 372, 373, 374, 375, 376, 377, -1, 379, 380,
+ 381, 382, 383, -1, 385, 386, 387, 388, 389, -1,
+ 391, 392, 393, 394, -1, 396, 397, 398, 399, 400,
+ 401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
+ -1, 412, 413, -1, 415, 416, -1, 418, 419, 420,
+ 421, 422, -1, 424, 425, 426, -1, -1, 429, 430,
+ 431, 432, 433, -1, 435, 436, 437, 438, 439, 440,
+ 441, 442, -1, -1, 445, 446, 447, 448, 449, -1,
+ -1, 452, 453, 454, 455, 456, 457, 458, -1, 460,
+ -1, 462, 463, 464, 465, -1, -1, 468, -1, -1,
+ 471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
+ 481, 482, 483, 484, 485, 486, 487, 488, 489, 490,
+ 3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 20, 21, 22,
+ 23, 24, 25, 26, 27, 28, -1, 30, 31, 32,
+ -1, -1, -1, -1, -1, -1, -1, 40, 41, 42,
+ -1, 44, 45, 46, 47, -1, 49, 50, 51, 52,
+ 53, -1, 55, 56, -1, 58, 59, 60, 61, 62,
+ 63, 64, -1, -1, 67, 68, 69, 70, 71, -1,
+ 73, 74, 75, 76, 77, -1, -1, -1, 81, 82,
+ 83, 84, 85, 86, -1, 88, 89, 90, -1, 92,
+ 93, 94, 95, 96, 97, 98, -1, 100, 101, 102,
+ -1, -1, -1, -1, -1, -1, -1, 110, 111, 112,
+ 113, 114, 115, 116, 117, 118, -1, 120, -1, 122,
+ 123, 124, 125, 126, 127, 128, -1, 130, 131, 132,
+ 133, -1, -1, 136, 137, 138, 139, 140, -1, 142,
+ 143, 144, -1, 146, 147, 148, -1, 150, 151, 152,
+ 153, 154, 155, 156, 157, 158, 159, -1, 161, -1,
+ 163, 164, 165, 166, 167, -1, 169, -1, 171, 172,
+ -1, -1, -1, 176, 177, 178, 179, -1, 181, 182,
+ -1, 184, 185, 186, -1, 188, 189, 190, 191, 192,
+ -1, 194, 195, 196, 197, -1, 199, 200, 201, 202,
+ 203, 204, 205, 206, -1, 208, -1, 210, 211, 212,
+ 213, 214, 215, 216, -1, 218, -1, 220, -1, -1,
+ 223, -1, 225, 226, 227, 228, 229, 230, 231, 232,
+ 233, 234, 235, -1, -1, 238, 239, -1, 241, -1,
+ -1, 244, 245, 246, -1, -1, 249, 250, 251, 252,
+ 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
+ 263, 264, 265, 266, 267, -1, 269, 270, 271, 272,
+ 273, 274, 275, 276, 277, 278, 279, -1, 281, 282,
+ -1, 284, -1, 286, 287, 288, 289, 290, 291, -1,
+ 293, 294, -1, -1, 297, 298, 299, -1, -1, 302,
+ 303, 304, -1, 306, -1, 308, 309, 310, 311, 312,
+ 313, 314, 315, 316, 317, 318, -1, 320, 321, 322,
+ 323, 324, 325, 326, 327, -1, 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, -1, 359, 360, -1, 362,
+ 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
+ 373, 374, 375, 376, 377, 378, 379, 380, 381, 382,
+ 383, -1, 385, 386, 387, 388, 389, -1, 391, 392,
+ 393, 394, -1, 396, 397, 398, 399, 400, 401, 402,
+ 403, 404, 405, 406, 407, 408, 409, 410, -1, 412,
+ 413, -1, -1, 416, -1, 418, 419, 420, 421, 422,
+ -1, 424, 425, 426, -1, -1, 429, 430, 431, 432,
+ 433, -1, 435, 436, 437, 438, 439, 440, 441, 442,
+ -1, -1, 445, 446, 447, 448, 449, -1, -1, 452,
+ 453, 454, 455, 456, 457, 458, -1, 460, -1, 462,
+ 463, 464, 465, -1, -1, 468, -1, -1, 471, 472,
+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482,
+ 483, 484, 485, 486, 487, 488, 489, 490, 3, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, -1, 30, 31, 32, -1, -1,
+ -1, -1, -1, -1, -1, 40, 41, 42, -1, 44,
+ 45, 46, 47, -1, 49, 50, 51, 52, 53, -1,
+ 55, 56, -1, 58, 59, 60, 61, 62, 63, 64,
+ -1, -1, 67, 68, 69, 70, 71, -1, 73, 74,
+ 75, 76, 77, -1, -1, -1, 81, 82, 83, 84,
+ 85, 86, -1, 88, 89, 90, -1, 92, 93, 94,
+ 95, 96, 97, -1, -1, 100, 101, 102, -1, -1,
+ -1, 106, -1, -1, -1, 110, 111, 112, 113, 114,
+ 115, 116, 117, 118, -1, 120, -1, 122, 123, 124,
+ 125, 126, 127, 128, -1, 130, 131, 132, 133, -1,
+ -1, 136, 137, 138, 139, 140, -1, 142, 143, 144,
+ -1, 146, 147, 148, -1, 150, 151, 152, 153, 154,
+ 155, 156, 157, 158, 159, -1, 161, -1, 163, 164,
+ 165, 166, 167, -1, 169, -1, 171, 172, -1, -1,
+ -1, 176, 177, 178, 179, -1, 181, 182, -1, 184,
+ 185, 186, -1, 188, 189, 190, 191, 192, -1, 194,
+ 195, 196, 197, -1, 199, 200, 201, 202, 203, 204,
+ 205, 206, -1, 208, -1, 210, 211, 212, 213, 214,
+ 215, 216, -1, 218, -1, 220, -1, -1, 223, -1,
+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
+ 235, -1, -1, 238, 239, -1, 241, -1, -1, 244,
+ 245, 246, -1, -1, 249, 250, 251, 252, 253, 254,
+ 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
+ 265, 266, 267, -1, 269, 270, 271, 272, 273, 274,
+ 275, 276, 277, 278, 279, -1, 281, 282, -1, 284,
+ -1, 286, 287, 288, 289, 290, 291, -1, 293, 294,
+ -1, 296, 297, 298, 299, -1, -1, 302, 303, 304,
+ -1, 306, -1, 308, 309, 310, 311, 312, 313, 314,
+ 315, 316, 317, 318, -1, 320, 321, 322, 323, 324,
+ 325, 326, 327, -1, 329, 330, 331, 332, 333, 334,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, -1,
+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
+ 355, 356, 357, -1, 359, 360, -1, 362, 363, 364,
+ 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
+ 375, 376, 377, -1, 379, 380, 381, 382, 383, -1,
+ 385, 386, 387, 388, 389, -1, 391, 392, 393, 394,
+ -1, 396, 397, 398, 399, 400, 401, 402, 403, 404,
+ 405, 406, 407, 408, 409, 410, -1, 412, 413, -1,
+ 415, 416, -1, 418, 419, 420, 421, 422, -1, 424,
+ 425, 426, -1, -1, 429, 430, 431, 432, 433, -1,
+ 435, 436, 437, 438, 439, 440, 441, 442, -1, -1,
+ 445, 446, 447, 448, 449, -1, -1, 452, 453, 454,
+ 455, 456, 457, 458, -1, 460, -1, 462, 463, 464,
+ 465, -1, -1, 468, -1, -1, 471, 472, 473, 474,
+ 475, 476, 477, 478, 479, 480, 481, 482, 483, 484,
+ 485, 486, 487, 488, 489, 490, 3, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 20, 21, 22, 23, 24, 25, 26,
+ 27, 28, 29, 30, 31, 32, -1, -1, -1, -1,
+ -1, -1, -1, 40, 41, 42, -1, 44, 45, 46,
+ 47, -1, 49, 50, 51, 52, 53, -1, 55, 56,
+ -1, 58, 59, 60, 61, 62, 63, 64, -1, -1,
+ 67, 68, 69, 70, 71, -1, 73, 74, 75, 76,
+ 77, -1, -1, -1, 81, 82, 83, 84, 85, 86,
+ -1, 88, 89, 90, -1, 92, 93, 94, 95, 96,
+ 97, -1, -1, 100, 101, 102, -1, -1, -1, -1,
+ -1, -1, -1, 110, 111, 112, 113, 114, 115, 116,
+ 117, 118, -1, 120, -1, 122, 123, 124, 125, 126,
+ 127, 128, -1, 130, 131, 132, 133, -1, -1, 136,
+ 137, 138, 139, 140, -1, 142, 143, 144, -1, 146,
+ 147, 148, -1, 150, 151, 152, 153, 154, 155, 156,
+ 157, 158, 159, -1, 161, -1, 163, 164, 165, 166,
+ 167, -1, 169, -1, 171, 172, -1, -1, -1, 176,
+ 177, 178, 179, -1, 181, 182, -1, 184, 185, 186,
+ -1, 188, 189, 190, 191, 192, -1, 194, 195, 196,
+ 197, -1, 199, 200, 201, 202, 203, 204, 205, 206,
+ -1, 208, -1, 210, 211, 212, 213, 214, 215, 216,
+ -1, 218, -1, 220, -1, -1, 223, -1, 225, 226,
+ 227, 228, 229, 230, 231, 232, 233, 234, 235, -1,
+ -1, 238, 239, -1, 241, -1, -1, 244, 245, 246,
+ -1, -1, 249, 250, 251, 252, 253, 254, 255, 256,
+ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
+ 267, -1, 269, 270, 271, 272, 273, 274, 275, 276,
+ 277, 278, 279, -1, 281, 282, -1, 284, -1, 286,
+ 287, 288, 289, 290, 291, -1, 293, 294, -1, 296,
+ 297, 298, 299, -1, -1, 302, 303, 304, -1, 306,
+ -1, 308, 309, 310, 311, 312, 313, 314, 315, 316,
+ 317, 318, -1, 320, 321, 322, 323, 324, 325, 326,
+ 327, -1, 329, 330, 331, 332, 333, 334, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, -1, 345, 346,
+ 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
+ 357, -1, 359, 360, -1, 362, 363, 364, 365, 366,
+ 367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
+ 377, -1, 379, 380, 381, 382, 383, -1, 385, 386,
+ 387, 388, 389, -1, 391, 392, 393, 394, -1, 396,
+ 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
+ 407, 408, 409, 410, -1, 412, 413, -1, -1, 416,
+ -1, 418, 419, 420, 421, 422, -1, 424, 425, 426,
+ -1, -1, 429, 430, 431, 432, 433, -1, 435, 436,
+ 437, 438, 439, 440, 441, 442, -1, -1, 445, 446,
+ 447, 448, 449, -1, -1, 452, 453, 454, 455, 456,
+ 457, 458, -1, 460, -1, 462, 463, 464, 465, -1,
+ -1, 468, -1, -1, 471, 472, 473, 474, 475, 476,
+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486,
+ 487, 488, 489, 490, 3, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 20, 21, 22, 23, 24, 25, 26, 27, 28,
+ 29, 30, 31, 32, -1, -1, -1, -1, -1, -1,
+ -1, 40, 41, 42, -1, 44, 45, 46, 47, -1,
+ 49, 50, 51, 52, 53, -1, 55, 56, -1, 58,
+ 59, 60, 61, 62, 63, 64, -1, -1, 67, 68,
+ 69, 70, 71, -1, 73, 74, 75, 76, 77, -1,
+ -1, -1, 81, 82, 83, 84, 85, 86, -1, 88,
+ 89, 90, -1, 92, 93, 94, 95, 96, 97, -1,
+ -1, 100, 101, 102, -1, -1, -1, -1, -1, -1,
+ -1, 110, 111, 112, 113, 114, 115, 116, 117, 118,
+ -1, 120, -1, 122, 123, 124, 125, 126, 127, 128,
+ -1, 130, 131, 132, 133, -1, -1, 136, 137, 138,
+ 139, 140, -1, 142, 143, 144, -1, 146, 147, 148,
+ -1, 150, 151, 152, 153, 154, 155, 156, 157, 158,
+ 159, -1, 161, -1, 163, 164, 165, 166, 167, -1,
+ 169, -1, 171, 172, -1, -1, -1, 176, 177, 178,
+ 179, -1, 181, 182, -1, 184, 185, 186, -1, 188,
+ 189, 190, 191, 192, -1, 194, 195, 196, 197, -1,
+ 199, 200, 201, 202, 203, 204, 205, 206, -1, 208,
+ -1, 210, 211, 212, 213, 214, 215, 216, -1, 218,
+ -1, 220, -1, -1, 223, -1, 225, 226, 227, 228,
+ 229, 230, 231, 232, 233, 234, 235, -1, -1, 238,
+ 239, -1, 241, -1, -1, 244, 245, 246, -1, -1,
+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
+ 259, 260, 261, 262, 263, 264, 265, 266, 267, -1,
+ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
+ 279, -1, 281, 282, -1, 284, -1, 286, 287, 288,
+ 289, 290, 291, -1, 293, 294, -1, -1, 297, 298,
+ 299, -1, -1, 302, 303, 304, -1, 306, -1, 308,
+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
+ -1, 320, 321, 322, 323, 324, 325, 326, 327, -1,
+ 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, -1, 345, 346, 347, 348,
+ 349, 350, 351, 352, 353, 354, 355, 356, 357, -1,
+ 359, 360, -1, 362, 363, 364, 365, 366, 367, 368,
+ 369, 370, 371, 372, 373, 374, 375, 376, 377, -1,
+ 379, 380, 381, 382, 383, -1, 385, 386, 387, 388,
+ 389, -1, 391, 392, 393, 394, -1, 396, 397, 398,
+ 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
+ 409, 410, -1, 412, 413, -1, -1, 416, -1, 418,
+ 419, 420, 421, 422, -1, 424, 425, 426, -1, -1,
+ 429, 430, 431, 432, 433, -1, 435, 436, 437, 438,
+ 439, 440, 441, 442, -1, -1, 445, 446, 447, 448,
+ 449, 450, -1, 452, 453, 454, 455, 456, 457, 458,
+ -1, 460, -1, 462, 463, 464, 465, -1, -1, 468,
+ -1, -1, 471, 472, 473, 474, 475, 476, 477, 478,
+ 479, 480, 481, 482, 483, 484, 485, 486, 487, 488,
+ 489, 490, 3, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 20,
+ 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
+ 31, 32, -1, -1, -1, -1, -1, -1, -1, 40,
+ 41, 42, -1, 44, 45, 46, 47, -1, 49, 50,
+ 51, 52, 53, -1, 55, 56, -1, 58, 59, 60,
+ 61, 62, 63, 64, -1, -1, 67, 68, 69, 70,
+ 71, -1, 73, 74, 75, 76, 77, -1, -1, -1,
+ 81, 82, 83, 84, 85, 86, -1, 88, 89, 90,
+ -1, 92, 93, 94, 95, 96, 97, -1, -1, 100,
+ 101, 102, -1, -1, -1, -1, -1, -1, -1, 110,
+ 111, 112, 113, 114, 115, 116, 117, 118, -1, 120,
+ -1, 122, 123, 124, 125, 126, 127, 128, -1, 130,
+ 131, 132, 133, -1, -1, 136, 137, 138, 139, 140,
+ -1, 142, 143, 144, -1, 146, 147, 148, -1, 150,
+ 151, 152, 153, 154, 155, 156, 157, 158, 159, -1,
+ 161, -1, 163, 164, 165, 166, 167, -1, 169, -1,
+ 171, 172, -1, -1, -1, 176, 177, 178, 179, -1,
+ 181, 182, -1, 184, 185, 186, -1, 188, 189, 190,
+ 191, 192, -1, 194, 195, 196, 197, -1, 199, 200,
+ 201, 202, 203, 204, 205, 206, -1, 208, -1, 210,
+ 211, 212, 213, 214, 215, 216, -1, 218, -1, 220,
+ -1, -1, 223, -1, 225, 226, 227, 228, 229, 230,
+ 231, 232, 233, 234, 235, -1, -1, 238, 239, -1,
+ 241, -1, -1, 244, 245, 246, -1, -1, 249, 250,
+ 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
+ 261, 262, 263, 264, 265, 266, 267, -1, 269, 270,
+ 271, 272, 273, 274, 275, 276, 277, 278, 279, -1,
+ 281, 282, -1, 284, -1, 286, 287, 288, 289, 290,
+ 291, -1, 293, 294, -1, -1, 297, 298, 299, -1,
+ -1, 302, 303, 304, -1, 306, -1, 308, 309, 310,
+ 311, 312, 313, 314, 315, 316, 317, 318, -1, 320,
+ 321, 322, 323, 324, 325, 326, 327, -1, 329, 330,
+ 331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
+ 341, 342, 343, -1, 345, 346, 347, 348, 349, 350,
+ 351, 352, 353, 354, 355, 356, 357, -1, 359, 360,
+ -1, 362, 363, 364, 365, 366, 367, 368, 369, 370,
+ 371, 372, 373, 374, 375, 376, 377, -1, 379, 380,
+ 381, 382, 383, -1, 385, 386, 387, 388, 389, -1,
+ 391, 392, 393, 394, -1, 396, 397, 398, 399, 400,
+ 401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
+ -1, 412, 413, -1, -1, 416, -1, 418, 419, 420,
+ 421, 422, -1, 424, 425, 426, -1, -1, 429, 430,
+ 431, 432, 433, -1, 435, 436, 437, 438, 439, 440,
+ 441, 442, -1, -1, 445, 446, 447, 448, 449, 450,
+ -1, 452, 453, 454, 455, 456, 457, 458, -1, 460,
+ -1, 462, 463, 464, 465, -1, -1, 468, -1, -1,
+ 471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
+ 481, 482, 483, 484, 485, 486, 487, 488, 489, 490,
+ 3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 20, 21, 22,
+ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ -1, -1, -1, -1, -1, -1, -1, 40, 41, 42,
+ -1, 44, 45, 46, 47, -1, 49, 50, 51, 52,
+ 53, -1, 55, 56, -1, 58, 59, 60, 61, 62,
+ 63, 64, -1, -1, 67, 68, 69, 70, 71, -1,
+ 73, 74, 75, 76, 77, -1, -1, -1, 81, 82,
+ 83, 84, 85, 86, -1, 88, 89, 90, -1, 92,
+ 93, 94, 95, 96, 97, -1, -1, 100, 101, 102,
+ -1, -1, -1, -1, -1, -1, -1, 110, 111, 112,
+ 113, 114, 115, 116, 117, 118, -1, 120, -1, 122,
+ 123, 124, 125, 126, 127, 128, -1, 130, 131, 132,
+ 133, -1, -1, 136, 137, 138, 139, 140, -1, 142,
+ 143, 144, -1, 146, 147, 148, -1, 150, 151, 152,
+ 153, 154, 155, 156, 157, 158, 159, -1, 161, -1,
+ 163, 164, 165, 166, 167, -1, 169, -1, 171, 172,
+ -1, -1, -1, 176, 177, 178, 179, -1, 181, 182,
+ -1, 184, 185, 186, -1, 188, 189, 190, 191, 192,
+ -1, 194, 195, 196, 197, -1, 199, 200, 201, 202,
+ 203, 204, 205, 206, -1, 208, -1, 210, 211, 212,
+ 213, 214, 215, 216, -1, 218, -1, 220, -1, -1,
+ 223, -1, 225, 226, 227, 228, 229, 230, 231, 232,
+ 233, 234, 235, -1, -1, 238, 239, -1, 241, -1,
+ -1, 244, 245, 246, -1, -1, 249, 250, 251, 252,
+ 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
+ 263, 264, 265, 266, 267, -1, 269, 270, 271, 272,
+ 273, 274, 275, 276, 277, 278, 279, -1, 281, 282,
+ -1, 284, -1, 286, 287, 288, 289, 290, 291, -1,
+ 293, 294, -1, -1, 297, 298, 299, -1, -1, 302,
+ 303, 304, -1, 306, -1, 308, 309, 310, 311, 312,
+ 313, 314, 315, 316, 317, 318, -1, 320, 321, 322,
+ 323, 324, 325, 326, 327, -1, 329, 330, 331, 332,
+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342,
+ 343, -1, 345, 346, 347, 348, 349, 350, 351, 352,
+ 353, 354, 355, 356, 357, -1, 359, 360, -1, 362,
+ 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
+ 373, 374, 375, 376, 377, -1, 379, 380, 381, 382,
+ 383, -1, 385, 386, 387, 388, 389, -1, 391, 392,
+ 393, 394, -1, 396, 397, 398, 399, 400, 401, 402,
+ 403, 404, 405, 406, 407, 408, 409, 410, -1, 412,
+ 413, -1, -1, 416, -1, 418, 419, 420, 421, 422,
+ -1, 424, 425, 426, -1, -1, 429, 430, 431, 432,
+ 433, -1, 435, 436, 437, 438, 439, 440, 441, 442,
+ -1, -1, 445, 446, 447, 448, 449, -1, -1, 452,
+ 453, 454, 455, 456, 457, 458, -1, 460, -1, 462,
+ 463, 464, 465, -1, -1, 468, -1, -1, 471, 472,
+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482,
+ 483, 484, 485, 486, 487, 488, 489, 490, 3, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, 29, 30, 31, 32, -1, -1,
+ -1, -1, -1, -1, -1, 40, 41, 42, -1, 44,
+ 45, 46, 47, -1, 49, 50, 51, 52, 53, -1,
+ 55, 56, -1, 58, 59, 60, 61, 62, 63, 64,
+ -1, -1, 67, 68, 69, 70, 71, -1, 73, 74,
+ 75, 76, 77, -1, -1, -1, 81, 82, 83, 84,
+ 85, 86, -1, 88, 89, 90, -1, 92, 93, 94,
+ 95, 96, 97, -1, -1, 100, 101, 102, -1, -1,
+ -1, -1, -1, -1, -1, 110, 111, 112, 113, 114,
+ 115, 116, 117, 118, -1, 120, -1, 122, 123, 124,
+ 125, 126, 127, 128, -1, 130, 131, 132, 133, -1,
+ -1, 136, 137, 138, 139, 140, -1, 142, 143, 144,
+ -1, 146, 147, 148, -1, 150, 151, 152, 153, 154,
+ 155, 156, 157, 158, 159, -1, 161, -1, 163, 164,
+ 165, 166, 167, -1, 169, -1, 171, 172, -1, -1,
+ -1, 176, 177, 178, 179, -1, 181, 182, -1, 184,
+ 185, 186, -1, 188, 189, 190, 191, 192, -1, 194,
+ 195, 196, 197, -1, 199, 200, 201, 202, 203, 204,
+ 205, 206, -1, 208, -1, 210, 211, 212, 213, 214,
+ 215, 216, -1, 218, -1, 220, -1, -1, 223, -1,
+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
+ 235, -1, -1, 238, 239, -1, 241, -1, -1, 244,
+ 245, 246, -1, -1, 249, 250, 251, 252, 253, 254,
+ 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
+ 265, 266, 267, -1, 269, 270, 271, 272, 273, 274,
+ 275, 276, 277, 278, 279, -1, 281, 282, -1, 284,
+ -1, 286, 287, 288, 289, 290, 291, -1, 293, 294,
+ -1, -1, 297, 298, 299, -1, -1, 302, 303, 304,
+ -1, 306, -1, 308, 309, 310, 311, 312, 313, 314,
+ 315, 316, 317, 318, -1, 320, 321, 322, 323, 324,
+ 325, 326, 327, -1, 329, 330, 331, 332, 333, 334,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, -1,
+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
+ 355, 356, 357, -1, 359, 360, -1, 362, 363, 364,
+ 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
+ 375, 376, 377, -1, 379, 380, 381, 382, 383, -1,
+ 385, 386, 387, 388, 389, -1, 391, 392, 393, 394,
+ -1, 396, 397, 398, 399, 400, 401, 402, 403, 404,
+ 405, 406, 407, 408, 409, 410, -1, 412, 413, -1,
+ -1, 416, -1, 418, 419, 420, 421, 422, -1, 424,
+ 425, 426, -1, -1, 429, 430, 431, 432, 433, -1,
+ 435, 436, 437, 438, 439, 440, 441, 442, -1, -1,
+ 445, 446, 447, 448, 449, -1, -1, 452, 453, 454,
+ 455, 456, 457, 458, -1, 460, -1, 462, 463, 464,
+ 465, -1, -1, 468, -1, -1, 471, 472, 473, 474,
+ 475, 476, 477, 478, 479, 480, 481, 482, 483, 484,
+ 485, 486, 487, 488, 489, 490, 3, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 20, 21, 22, 23, 24, 25, 26,
+ 27, 28, 29, 30, 31, 32, -1, -1, -1, -1,
+ -1, -1, -1, 40, 41, 42, -1, 44, 45, 46,
+ 47, -1, 49, 50, 51, 52, 53, -1, 55, 56,
+ -1, 58, 59, 60, 61, 62, 63, 64, -1, -1,
+ 67, 68, 69, 70, 71, -1, 73, 74, 75, 76,
+ 77, -1, -1, -1, 81, 82, 83, 84, 85, 86,
+ -1, 88, 89, 90, -1, 92, 93, 94, 95, 96,
+ 97, -1, -1, 100, 101, 102, -1, -1, -1, -1,
+ -1, -1, -1, 110, 111, 112, 113, 114, 115, 116,
+ 117, 118, -1, 120, -1, 122, 123, 124, 125, 126,
+ 127, 128, -1, 130, 131, 132, 133, -1, -1, 136,
+ 137, 138, 139, 140, -1, 142, 143, 144, -1, 146,
+ 147, 148, -1, 150, 151, 152, 153, 154, 155, 156,
+ 157, 158, 159, -1, 161, -1, 163, 164, 165, 166,
+ 167, -1, 169, -1, 171, 172, -1, -1, -1, 176,
+ 177, 178, 179, -1, 181, 182, -1, 184, 185, 186,
+ -1, 188, 189, 190, 191, 192, -1, 194, 195, 196,
+ 197, -1, 199, 200, 201, 202, 203, 204, 205, 206,
+ -1, 208, -1, 210, 211, 212, 213, 214, 215, 216,
+ -1, 218, -1, 220, -1, -1, 223, -1, 225, 226,
+ 227, 228, 229, 230, 231, 232, 233, 234, 235, -1,
+ -1, 238, 239, -1, 241, -1, -1, 244, 245, 246,
+ -1, -1, 249, 250, 251, 252, 253, 254, 255, 256,
+ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
+ 267, -1, 269, 270, 271, 272, 273, 274, 275, 276,
+ 277, 278, 279, -1, 281, 282, -1, 284, -1, 286,
+ 287, 288, 289, 290, 291, -1, 293, 294, -1, -1,
+ 297, 298, 299, -1, -1, 302, 303, 304, -1, 306,
+ -1, 308, 309, 310, 311, 312, 313, 314, 315, 316,
+ 317, 318, -1, 320, 321, 322, 323, 324, 325, 326,
+ 327, -1, 329, 330, 331, 332, 333, 334, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, -1, 345, 346,
+ 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
+ 357, -1, 359, 360, -1, 362, 363, 364, 365, 366,
+ 367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
+ 377, -1, 379, 380, 381, 382, 383, -1, 385, 386,
+ 387, 388, 389, -1, 391, 392, 393, 394, -1, 396,
+ 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
+ 407, 408, 409, 410, -1, 412, 413, -1, -1, 416,
+ -1, 418, 419, 420, 421, 422, -1, 424, 425, 426,
+ -1, -1, 429, 430, 431, 432, 433, -1, 435, 436,
+ 437, 438, 439, 440, 441, 442, -1, -1, 445, 446,
+ 447, 448, 449, -1, -1, 452, 453, 454, 455, 456,
+ 457, 458, -1, 460, -1, 462, 463, 464, 465, -1,
+ -1, 468, -1, -1, 471, 472, 473, 474, 475, 476,
+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486,
+ 487, 488, 489, 490, 3, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 20, 21, 22, 23, 24, 25, 26, 27, 28,
+ 29, 30, 31, 32, -1, -1, -1, -1, -1, -1,
+ -1, 40, 41, 42, -1, 44, 45, 46, 47, -1,
+ 49, 50, 51, 52, 53, -1, 55, 56, -1, 58,
+ 59, 60, 61, 62, 63, 64, -1, -1, 67, 68,
+ 69, 70, 71, -1, 73, 74, 75, 76, 77, -1,
+ -1, -1, 81, 82, 83, 84, 85, 86, -1, 88,
+ 89, 90, -1, 92, 93, 94, 95, 96, 97, -1,
+ -1, 100, 101, 102, -1, -1, -1, -1, -1, -1,
+ -1, 110, 111, 112, 113, 114, 115, 116, 117, 118,
+ -1, 120, -1, 122, 123, 124, 125, 126, 127, 128,
+ -1, 130, 131, 132, 133, -1, -1, 136, 137, 138,
+ 139, 140, -1, 142, 143, 144, -1, 146, 147, 148,
+ -1, 150, 151, 152, 153, 154, 155, 156, 157, 158,
+ 159, -1, 161, -1, 163, 164, 165, 166, 167, -1,
+ 169, -1, 171, 172, -1, -1, -1, 176, 177, 178,
+ 179, -1, 181, 182, -1, 184, 185, 186, -1, 188,
+ 189, 190, 191, 192, -1, 194, 195, 196, 197, -1,
+ 199, 200, 201, 202, 203, 204, 205, 206, -1, 208,
+ -1, 210, 211, 212, 213, 214, 215, 216, -1, 218,
+ -1, 220, -1, -1, 223, -1, 225, 226, 227, 228,
+ 229, 230, 231, 232, 233, 234, 235, -1, -1, 238,
+ 239, -1, 241, -1, -1, 244, 245, 246, -1, -1,
+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
+ 259, 260, 261, 262, 263, 264, 265, 266, 267, -1,
+ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
+ 279, -1, 281, 282, -1, 284, -1, 286, 287, 288,
+ 289, 290, 291, -1, 293, 294, -1, -1, 297, 298,
+ 299, -1, -1, 302, 303, 304, -1, 306, -1, 308,
+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
+ -1, 320, 321, 322, 323, 324, 325, 326, 327, -1,
+ 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, -1, 345, 346, 347, 348,
+ 349, 350, 351, 352, 353, 354, 355, 356, 357, -1,
+ 359, 360, -1, 362, 363, 364, 365, 366, 367, 368,
+ 369, 370, 371, 372, 373, 374, 375, 376, 377, -1,
+ 379, 380, 381, 382, 383, -1, 385, 386, 387, 388,
+ 389, -1, 391, 392, 393, 394, -1, 396, 397, 398,
+ 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
+ 409, 410, -1, 412, 413, -1, -1, 416, -1, 418,
+ 419, 420, 421, 422, -1, 424, 425, 426, -1, -1,
+ 429, 430, 431, 432, 433, -1, 435, 436, 437, 438,
+ 439, 440, 441, 442, -1, -1, 445, 446, 447, 448,
+ 449, -1, -1, 452, 453, 454, 455, 456, 457, 458,
+ -1, 460, -1, 462, 463, 464, 465, -1, -1, 468,
+ -1, -1, 471, 472, 473, 474, 475, 476, 477, 478,
+ 479, 480, 481, 482, 483, 484, 485, 486, 487, 488,
+ 489, 490, 3, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 20,
+ 21, 22, 23, 24, 25, 26, 27, 28, -1, 30,
+ 31, 32, -1, -1, -1, -1, -1, -1, -1, 40,
+ 41, 42, -1, 44, 45, 46, 47, -1, 49, 50,
+ 51, 52, 53, -1, 55, 56, -1, 58, 59, 60,
+ 61, 62, 63, 64, -1, -1, 67, 68, 69, 70,
+ 71, -1, 73, 74, 75, 76, 77, -1, -1, -1,
+ 81, 82, 83, 84, 85, 86, -1, 88, 89, 90,
+ -1, 92, 93, 94, 95, 96, 97, -1, -1, 100,
+ 101, 102, -1, -1, -1, -1, -1, -1, -1, 110,
+ 111, 112, 113, 114, 115, 116, 117, 118, -1, 120,
+ -1, 122, 123, 124, 125, 126, 127, 128, -1, 130,
+ 131, 132, 133, -1, -1, 136, 137, 138, 139, 140,
+ -1, 142, 143, 144, -1, 146, 147, 148, -1, 150,
+ 151, 152, 153, 154, 155, 156, 157, 158, 159, -1,
+ 161, -1, 163, 164, 165, 166, 167, -1, 169, -1,
+ 171, 172, -1, -1, -1, 176, 177, 178, 179, -1,
+ 181, 182, -1, 184, 185, 186, -1, 188, 189, 190,
+ 191, 192, -1, 194, 195, 196, 197, -1, 199, 200,
+ 201, 202, 203, 204, 205, 206, -1, 208, -1, 210,
+ 211, 212, 213, 214, 215, 216, -1, 218, -1, 220,
+ -1, -1, 223, -1, 225, 226, 227, 228, 229, 230,
+ 231, 232, 233, 234, 235, -1, -1, 238, 239, -1,
+ 241, -1, -1, 244, 245, 246, -1, -1, 249, 250,
+ 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
+ 261, 262, 263, 264, 265, 266, 267, -1, 269, 270,
+ 271, 272, 273, 274, 275, 276, 277, 278, 279, -1,
+ 281, 282, -1, 284, -1, 286, 287, 288, 289, 290,
+ 291, -1, 293, 294, -1, 296, 297, 298, 299, -1,
+ -1, 302, 303, 304, -1, 306, -1, 308, 309, 310,
+ 311, 312, 313, 314, 315, 316, 317, 318, -1, 320,
+ 321, 322, 323, 324, 325, 326, 327, -1, 329, 330,
+ 331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
+ 341, 342, 343, -1, 345, 346, 347, 348, 349, 350,
+ 351, 352, 353, 354, 355, 356, 357, -1, 359, 360,
+ -1, 362, 363, 364, 365, 366, 367, 368, 369, 370,
+ 371, 372, 373, 374, 375, 376, 377, -1, 379, 380,
+ 381, 382, 383, -1, 385, 386, 387, 388, 389, -1,
+ 391, 392, 393, 394, -1, 396, 397, 398, 399, 400,
+ 401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
+ -1, 412, 413, -1, -1, 416, -1, 418, 419, 420,
+ 421, 422, -1, 424, 425, 426, -1, -1, 429, 430,
+ 431, 432, 433, -1, 435, 436, 437, 438, 439, 440,
+ 441, 442, -1, -1, 445, 446, 447, 448, 449, -1,
+ -1, 452, 453, 454, 455, 456, 457, 458, -1, 460,
+ -1, 462, 463, 464, 465, -1, -1, 468, -1, -1,
+ 471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
+ 481, 482, 483, 484, 485, 486, 487, 488, 489, 490,
+ 3, -1, -1, -1, -1, -1, -1, -1, -1, 12,
+ -1, -1, -1, -1, -1, -1, -1, 20, 21, 22,
+ 23, 24, 25, 26, 27, 28, -1, 30, 31, 32,
+ -1, -1, -1, -1, -1, -1, -1, 40, 41, 42,
+ -1, 44, 45, 46, 47, -1, 49, 50, 51, 52,
+ 53, -1, 55, 56, -1, 58, 59, 60, 61, 62,
+ 63, 64, -1, -1, 67, 68, 69, 70, 71, -1,
+ 73, 74, 75, 76, 77, -1, -1, -1, 81, 82,
+ 83, 84, 85, 86, -1, 88, 89, 90, -1, 92,
+ 93, 94, 95, 96, 97, -1, -1, 100, 101, 102,
+ -1, -1, -1, -1, -1, -1, -1, 110, 111, 112,
+ 113, 114, 115, 116, 117, 118, -1, 120, -1, 122,
+ 123, 124, 125, 126, 127, 128, -1, 130, 131, 132,
+ 133, -1, -1, 136, 137, 138, 139, 140, -1, 142,
+ 143, 144, -1, 146, 147, 148, -1, 150, 151, 152,
+ 153, 154, 155, 156, 157, 158, 159, -1, 161, -1,
+ 163, 164, 165, 166, 167, -1, 169, -1, 171, 172,
+ -1, -1, -1, 176, 177, 178, 179, -1, 181, 182,
+ -1, 184, 185, 186, -1, 188, 189, 190, 191, 192,
+ -1, 194, 195, 196, 197, -1, 199, 200, 201, 202,
+ 203, 204, 205, 206, -1, 208, -1, 210, 211, 212,
+ 213, 214, 215, 216, -1, 218, -1, 220, -1, -1,
+ 223, -1, 225, 226, 227, 228, 229, 230, 231, 232,
+ 233, 234, 235, -1, -1, 238, 239, -1, 241, -1,
+ -1, 244, 245, 246, -1, -1, 249, 250, 251, 252,
+ 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
+ 263, 264, 265, 266, 267, -1, 269, 270, 271, 272,
+ 273, 274, 275, 276, 277, 278, 279, -1, 281, 282,
+ -1, 284, -1, 286, 287, 288, 289, 290, 291, -1,
+ 293, 294, -1, -1, 297, 298, 299, -1, -1, 302,
+ 303, 304, -1, 306, -1, 308, 309, 310, 311, 312,
+ 313, 314, 315, 316, 317, 318, -1, 320, 321, 322,
+ 323, 324, 325, 326, 327, -1, 329, 330, 331, 332,
+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342,
+ 343, -1, 345, 346, 347, 348, 349, 350, 351, 352,
+ 353, 354, 355, 356, 357, -1, 359, 360, -1, 362,
+ 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
+ 373, 374, 375, 376, 377, -1, 379, 380, 381, 382,
+ 383, -1, 385, 386, 387, 388, 389, -1, 391, 392,
+ 393, 394, -1, 396, 397, 398, 399, 400, 401, 402,
+ 403, 404, 405, 406, 407, 408, 409, 410, -1, 412,
+ 413, -1, -1, 416, -1, 418, 419, 420, 421, 422,
+ -1, 424, 425, 426, -1, -1, 429, 430, 431, 432,
+ 433, -1, 435, 436, 437, 438, 439, 440, 441, 442,
+ -1, -1, 445, 446, 447, 448, 449, -1, -1, 452,
+ 453, 454, 455, 456, 457, 458, -1, 460, -1, 462,
+ 463, 464, 465, -1, -1, 468, -1, -1, 471, 472,
+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482,
+ 483, 484, 485, 486, 487, 488, 489, 490, 3, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, 29, 30, 31, 32, -1, -1,
+ -1, -1, -1, -1, -1, 40, 41, 42, -1, 44,
+ 45, 46, 47, -1, 49, 50, 51, 52, 53, -1,
+ 55, 56, -1, 58, 59, 60, 61, 62, 63, 64,
+ -1, -1, 67, 68, 69, 70, 71, -1, 73, 74,
+ 75, 76, 77, -1, -1, -1, 81, 82, 83, 84,
+ 85, 86, -1, 88, 89, 90, -1, 92, 93, 94,
+ 95, 96, 97, -1, -1, 100, 101, 102, -1, -1,
+ -1, -1, -1, -1, -1, 110, 111, 112, 113, 114,
+ 115, 116, 117, 118, -1, 120, -1, 122, 123, 124,
+ 125, 126, 127, 128, -1, 130, 131, 132, 133, -1,
+ -1, 136, 137, 138, 139, 140, -1, 142, 143, 144,
+ -1, 146, 147, 148, -1, 150, 151, 152, 153, 154,
+ 155, 156, 157, 158, 159, -1, 161, -1, 163, 164,
+ 165, 166, 167, -1, 169, -1, 171, 172, -1, -1,
+ -1, 176, 177, 178, 179, -1, 181, 182, -1, 184,
+ 185, 186, -1, 188, 189, 190, 191, 192, -1, 194,
+ 195, 196, 197, -1, 199, 200, 201, 202, 203, 204,
+ 205, 206, -1, 208, -1, 210, 211, 212, 213, 214,
+ 215, 216, -1, 218, -1, 220, -1, -1, 223, -1,
+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
+ 235, -1, -1, 238, 239, -1, 241, -1, -1, 244,
+ 245, 246, -1, -1, 249, 250, 251, 252, 253, 254,
+ 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
+ 265, 266, 267, -1, 269, 270, 271, 272, 273, 274,
+ 275, 276, 277, 278, 279, -1, 281, 282, -1, 284,
+ -1, 286, 287, 288, 289, 290, 291, -1, 293, 294,
+ -1, -1, 297, 298, 299, -1, -1, 302, 303, 304,
+ -1, 306, -1, 308, 309, 310, 311, 312, 313, 314,
+ 315, 316, 317, 318, -1, 320, 321, 322, 323, 324,
+ 325, 326, 327, -1, 329, 330, 331, 332, 333, 334,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, -1,
+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
+ 355, 356, 357, -1, 359, 360, -1, 362, 363, 364,
+ 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
+ 375, 376, 377, -1, 379, 380, 381, 382, 383, -1,
+ 385, 386, 387, 388, 389, -1, 391, 392, 393, 394,
+ -1, 396, 397, 398, 399, 400, 401, 402, 403, 404,
+ 405, 406, 407, 408, 409, 410, -1, 412, 413, -1,
+ -1, 416, -1, 418, 419, 420, 421, 422, -1, 424,
+ 425, 426, -1, -1, 429, 430, 431, 432, 433, -1,
+ 435, 436, 437, 438, 439, 440, 441, 442, -1, -1,
+ 445, 446, 447, 448, 449, -1, -1, 452, 453, 454,
+ 455, 456, 457, 458, -1, 460, -1, 462, 463, 464,
+ 465, -1, -1, 468, -1, -1, 471, 472, 473, 474,
+ 475, 476, 477, 478, 479, 480, 481, 482, 483, 484,
+ 485, 486, 487, 488, 489, 490, 3, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 20, 21, 22, 23, 24, 25, 26,
+ 27, 28, 29, 30, 31, 32, -1, -1, -1, -1,
+ -1, -1, -1, 40, 41, 42, -1, 44, 45, 46,
+ 47, -1, 49, 50, 51, 52, 53, -1, 55, 56,
+ -1, 58, 59, 60, 61, 62, 63, 64, -1, -1,
+ 67, 68, 69, 70, 71, -1, 73, 74, 75, 76,
+ 77, -1, -1, -1, 81, 82, 83, 84, 85, 86,
+ -1, 88, 89, 90, -1, 92, 93, 94, 95, 96,
+ 97, -1, -1, 100, 101, 102, -1, -1, -1, -1,
+ -1, -1, -1, 110, 111, 112, 113, 114, 115, 116,
+ 117, 118, -1, 120, -1, 122, 123, 124, 125, 126,
+ 127, 128, -1, 130, 131, 132, 133, -1, -1, 136,
+ 137, 138, 139, 140, -1, 142, 143, 144, -1, 146,
+ 147, 148, -1, 150, 151, 152, 153, 154, 155, 156,
+ 157, 158, 159, -1, 161, -1, 163, 164, 165, 166,
+ 167, -1, 169, -1, 171, 172, -1, -1, -1, 176,
+ 177, 178, 179, -1, 181, 182, -1, 184, 185, 186,
+ -1, 188, 189, 190, 191, 192, -1, 194, 195, 196,
+ 197, -1, 199, 200, 201, 202, 203, 204, 205, 206,
+ -1, 208, -1, 210, 211, 212, 213, 214, 215, 216,
+ -1, 218, -1, 220, -1, -1, 223, -1, 225, 226,
+ 227, 228, 229, 230, 231, 232, 233, 234, 235, -1,
+ -1, 238, 239, -1, 241, -1, -1, 244, 245, 246,
+ -1, -1, 249, 250, 251, 252, 253, 254, 255, 256,
+ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
+ 267, -1, 269, 270, 271, 272, 273, 274, 275, 276,
+ 277, 278, 279, -1, 281, 282, -1, 284, -1, 286,
+ 287, 288, 289, 290, 291, -1, 293, 294, -1, -1,
+ 297, 298, 299, -1, -1, 302, 303, 304, -1, 306,
+ -1, 308, 309, 310, 311, 312, 313, 314, 315, 316,
+ 317, 318, -1, 320, 321, 322, 323, 324, 325, 326,
+ 327, -1, 329, 330, 331, 332, 333, 334, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, -1, 345, 346,
+ 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
+ 357, -1, 359, 360, -1, 362, 363, 364, 365, 366,
+ 367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
+ 377, -1, 379, 380, 381, 382, 383, -1, 385, 386,
+ 387, 388, 389, -1, 391, 392, 393, 394, -1, 396,
+ 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
+ 407, 408, 409, 410, -1, 412, 413, -1, -1, 416,
+ -1, 418, 419, 420, 421, 422, -1, 424, 425, 426,
+ -1, -1, 429, 430, 431, 432, 433, -1, 435, 436,
+ 437, 438, 439, 440, 441, 442, -1, -1, 445, 446,
+ 447, 448, 449, -1, -1, 452, 453, 454, 455, 456,
+ 457, 458, -1, 460, -1, 462, 463, 464, 465, -1,
+ -1, 468, -1, -1, 471, 472, 473, 474, 475, 476,
+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486,
+ 487, 488, 489, 490, 3, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 20, 21, 22, 23, 24, 25, 26, 27, 28,
+ 29, 30, 31, 32, -1, -1, -1, -1, -1, -1,
+ -1, 40, 41, 42, -1, 44, 45, 46, 47, -1,
+ 49, 50, 51, 52, 53, -1, 55, 56, -1, 58,
+ 59, 60, 61, 62, 63, 64, -1, -1, 67, 68,
+ 69, 70, 71, -1, 73, 74, 75, 76, 77, -1,
+ -1, -1, 81, 82, 83, 84, 85, 86, -1, 88,
+ 89, 90, -1, 92, 93, 94, 95, 96, 97, -1,
+ -1, 100, 101, 102, -1, -1, -1, -1, -1, -1,
+ -1, 110, 111, 112, 113, 114, 115, 116, 117, 118,
+ -1, 120, -1, 122, 123, 124, 125, 126, 127, 128,
+ -1, 130, 131, 132, 133, -1, -1, 136, 137, 138,
+ 139, 140, -1, 142, 143, 144, -1, 146, 147, 148,
+ -1, 150, 151, 152, 153, 154, 155, 156, 157, 158,
+ 159, -1, 161, -1, 163, 164, 165, 166, 167, -1,
+ 169, -1, 171, 172, -1, -1, -1, 176, 177, 178,
+ 179, -1, 181, 182, -1, 184, 185, 186, -1, 188,
+ 189, 190, 191, 192, -1, 194, 195, 196, 197, -1,
+ 199, 200, 201, 202, 203, 204, 205, 206, -1, 208,
+ -1, 210, 211, 212, 213, 214, 215, 216, -1, 218,
+ -1, 220, -1, -1, 223, -1, 225, 226, 227, 228,
+ 229, 230, 231, 232, 233, 234, 235, -1, -1, 238,
+ 239, -1, 241, -1, -1, 244, 245, 246, -1, -1,
+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
+ 259, 260, 261, 262, 263, 264, 265, 266, 267, -1,
+ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
+ 279, -1, 281, 282, -1, 284, -1, 286, 287, 288,
+ 289, 290, 291, -1, 293, 294, -1, -1, 297, 298,
+ 299, -1, -1, 302, 303, 304, -1, 306, -1, 308,
+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
+ -1, 320, 321, 322, 323, 324, 325, 326, 327, -1,
+ 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, -1, 345, 346, 347, 348,
+ 349, 350, 351, 352, 353, 354, 355, 356, 357, -1,
+ 359, 360, -1, 362, 363, 364, 365, 366, 367, 368,
+ 369, 370, 371, 372, 373, 374, 375, 376, 377, -1,
+ 379, 380, 381, 382, 383, -1, 385, 386, 387, 388,
+ 389, -1, 391, 392, 393, 394, -1, 396, 397, 398,
+ 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
+ 409, 410, -1, 412, 413, -1, -1, 416, -1, 418,
+ 419, 420, 421, 422, -1, 424, 425, 426, -1, -1,
+ 429, 430, 431, 432, 433, -1, 435, 436, 437, 438,
+ 439, 440, 441, 442, -1, -1, 445, 446, 447, 448,
+ 449, -1, -1, 452, 453, 454, 455, 456, 457, 458,
+ -1, 460, -1, 462, 463, 464, 465, -1, -1, 468,
+ -1, -1, 471, 472, 473, 474, 475, 476, 477, 478,
+ 479, 480, 481, 482, 483, 484, 485, 486, 487, 488,
+ 489, 490, 3, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 20,
+ 21, 22, 23, 24, 25, 26, 27, 28, -1, 30,
+ 31, 32, -1, -1, -1, -1, -1, -1, -1, 40,
+ 41, 42, -1, 44, 45, 46, 47, 48, 49, 50,
+ 51, 52, 53, -1, 55, 56, -1, 58, 59, 60,
+ 61, 62, 63, 64, -1, -1, 67, 68, 69, 70,
+ 71, -1, 73, 74, 75, 76, 77, -1, -1, -1,
+ 81, 82, 83, 84, 85, 86, -1, 88, 89, 90,
+ -1, 92, 93, 94, 95, 96, 97, -1, -1, 100,
+ 101, 102, -1, -1, -1, -1, -1, -1, -1, 110,
+ 111, 112, 113, 114, 115, 116, 117, 118, -1, 120,
+ -1, 122, 123, 124, 125, 126, 127, 128, -1, 130,
+ 131, 132, 133, -1, -1, 136, 137, 138, 139, 140,
+ -1, 142, 143, 144, -1, 146, 147, 148, -1, 150,
+ 151, 152, 153, 154, 155, 156, 157, 158, 159, -1,
+ 161, -1, 163, 164, 165, 166, 167, -1, 169, -1,
+ 171, 172, -1, -1, -1, 176, 177, 178, 179, -1,
+ 181, 182, -1, 184, 185, 186, -1, 188, 189, 190,
+ 191, 192, -1, 194, 195, 196, 197, -1, 199, 200,
+ 201, 202, 203, 204, 205, 206, -1, 208, -1, 210,
+ 211, 212, 213, 214, 215, 216, -1, 218, -1, 220,
+ -1, -1, 223, -1, 225, 226, 227, 228, 229, 230,
+ 231, 232, 233, 234, 235, -1, -1, 238, 239, -1,
+ 241, -1, -1, 244, 245, 246, -1, -1, 249, 250,
+ 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
+ 261, 262, 263, 264, 265, 266, 267, -1, 269, 270,
+ 271, 272, 273, 274, 275, 276, 277, 278, 279, -1,
+ 281, 282, -1, 284, -1, 286, 287, 288, 289, 290,
+ 291, -1, 293, 294, -1, -1, 297, 298, 299, -1,
+ -1, 302, 303, 304, -1, 306, -1, 308, 309, 310,
+ 311, 312, 313, 314, 315, 316, 317, 318, -1, 320,
+ 321, 322, 323, 324, 325, 326, 327, -1, 329, 330,
+ 331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
+ 341, 342, 343, -1, 345, 346, 347, 348, 349, 350,
+ 351, 352, 353, 354, 355, 356, 357, -1, 359, 360,
+ -1, 362, 363, 364, 365, 366, 367, 368, 369, 370,
+ 371, 372, 373, 374, 375, 376, 377, -1, 379, 380,
+ 381, 382, 383, -1, 385, 386, 387, 388, 389, -1,
+ 391, 392, 393, 394, -1, 396, 397, 398, 399, 400,
+ 401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
+ -1, 412, 413, -1, -1, 416, -1, 418, 419, 420,
+ 421, 422, -1, 424, 425, 426, -1, -1, 429, 430,
+ 431, 432, 433, -1, 435, 436, 437, 438, 439, 440,
+ 441, 442, -1, -1, 445, 446, 447, 448, 449, -1,
+ -1, 452, 453, 454, 455, 456, 457, 458, -1, 460,
+ -1, 462, 463, 464, 465, -1, -1, 468, -1, -1,
+ 471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
+ 481, 482, 483, 484, 485, 486, 487, 488, 489, 490,
+ 3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 20, 21, 22,
+ 23, 24, 25, 26, 27, 28, -1, 30, 31, 32,
+ -1, -1, -1, -1, -1, -1, -1, 40, 41, 42,
+ -1, 44, 45, 46, 47, -1, 49, 50, 51, 52,
+ 53, -1, 55, 56, -1, 58, 59, 60, 61, 62,
+ 63, 64, -1, -1, 67, 68, 69, 70, 71, -1,
+ 73, 74, 75, 76, 77, -1, -1, -1, 81, 82,
+ 83, 84, 85, 86, -1, 88, 89, 90, -1, 92,
+ 93, 94, 95, 96, 97, -1, -1, 100, 101, 102,
+ -1, -1, -1, -1, -1, -1, -1, 110, 111, 112,
+ 113, 114, 115, 116, 117, 118, -1, 120, -1, 122,
+ 123, 124, 125, 126, 127, 128, -1, 130, 131, 132,
+ 133, -1, -1, 136, 137, 138, 139, 140, -1, 142,
+ 143, 144, -1, 146, 147, 148, -1, 150, 151, 152,
+ 153, 154, 155, 156, 157, 158, 159, -1, 161, -1,
+ 163, 164, 165, 166, 167, -1, 169, -1, 171, 172,
+ -1, -1, -1, 176, 177, 178, 179, -1, 181, 182,
+ -1, 184, 185, 186, -1, 188, 189, 190, 191, 192,
+ -1, 194, 195, 196, 197, -1, 199, 200, 201, 202,
+ 203, 204, 205, 206, -1, 208, -1, 210, 211, 212,
+ 213, 214, 215, 216, -1, 218, -1, 220, -1, -1,
+ 223, -1, 225, 226, 227, 228, 229, 230, 231, 232,
+ 233, 234, 235, -1, -1, 238, 239, -1, 241, -1,
+ -1, 244, 245, 246, -1, -1, 249, 250, 251, 252,
+ 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
+ 263, 264, 265, 266, 267, -1, 269, 270, 271, 272,
+ 273, 274, 275, 276, 277, 278, 279, -1, 281, 282,
+ -1, 284, -1, 286, 287, 288, 289, 290, 291, -1,
+ 293, 294, -1, 296, 297, 298, 299, -1, -1, 302,
+ 303, 304, -1, 306, -1, 308, 309, 310, 311, 312,
+ 313, 314, 315, 316, 317, 318, -1, 320, 321, 322,
+ 323, 324, 325, 326, 327, -1, 329, 330, 331, 332,
+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342,
+ 343, -1, 345, 346, 347, 348, 349, 350, 351, 352,
+ 353, 354, 355, 356, 357, -1, 359, 360, -1, 362,
+ 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
+ 373, 374, 375, 376, 377, -1, 379, 380, 381, 382,
+ 383, -1, 385, 386, 387, 388, 389, -1, 391, 392,
+ 393, 394, -1, 396, 397, 398, 399, 400, 401, 402,
+ 403, 404, 405, 406, 407, 408, 409, 410, -1, 412,
+ 413, -1, -1, 416, -1, 418, 419, 420, 421, 422,
+ -1, 424, 425, 426, -1, -1, 429, 430, 431, 432,
+ 433, -1, 435, 436, 437, 438, 439, 440, 441, 442,
+ -1, -1, 445, 446, 447, 448, 449, -1, -1, 452,
+ 453, 454, 455, 456, 457, 458, -1, 460, -1, 462,
+ 463, 464, 465, -1, -1, 468, -1, -1, 471, 472,
+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482,
+ 483, 484, 485, 486, 487, 488, 489, 490, 3, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, 29, 30, 31, 32, -1, -1,
+ -1, -1, -1, -1, -1, 40, 41, 42, -1, 44,
+ 45, 46, 47, -1, 49, 50, 51, 52, 53, -1,
+ 55, 56, -1, 58, 59, 60, 61, 62, 63, 64,
+ -1, -1, 67, 68, 69, 70, 71, -1, 73, 74,
+ 75, 76, 77, -1, -1, -1, 81, 82, 83, 84,
+ 85, 86, -1, 88, 89, 90, -1, 92, 93, 94,
+ 95, 96, 97, -1, -1, 100, 101, 102, -1, -1,
+ -1, -1, -1, -1, -1, 110, 111, 112, 113, 114,
+ 115, 116, 117, 118, -1, 120, -1, 122, 123, 124,
+ 125, 126, 127, 128, -1, 130, 131, 132, 133, -1,
+ -1, 136, 137, 138, 139, 140, -1, 142, 143, 144,
+ -1, 146, 147, 148, -1, 150, 151, 152, 153, 154,
+ 155, 156, 157, 158, 159, -1, 161, -1, 163, 164,
+ 165, 166, 167, -1, 169, -1, 171, 172, -1, -1,
+ -1, 176, 177, 178, 179, -1, 181, 182, -1, 184,
+ 185, 186, -1, 188, 189, 190, 191, 192, -1, 194,
+ 195, 196, 197, -1, 199, 200, 201, 202, 203, 204,
+ 205, 206, -1, 208, -1, 210, 211, 212, 213, 214,
+ 215, 216, -1, 218, -1, 220, -1, -1, 223, -1,
+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
+ 235, -1, -1, 238, 239, -1, 241, -1, -1, 244,
+ 245, 246, -1, -1, 249, 250, 251, 252, 253, 254,
+ 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
+ 265, 266, 267, -1, 269, 270, 271, 272, 273, 274,
+ 275, 276, 277, 278, 279, -1, 281, 282, -1, 284,
+ -1, 286, 287, 288, 289, 290, 291, -1, 293, 294,
+ -1, -1, 297, 298, 299, -1, -1, 302, 303, 304,
+ -1, 306, -1, 308, 309, 310, 311, 312, 313, 314,
+ 315, 316, 317, 318, -1, 320, 321, 322, 323, 324,
+ 325, 326, 327, -1, 329, 330, 331, 332, 333, 334,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, -1,
+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
+ 355, 356, 357, -1, 359, 360, -1, 362, 363, 364,
+ 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
+ 375, 376, 377, -1, 379, 380, 381, 382, 383, -1,
+ 385, 386, 387, 388, 389, -1, 391, 392, 393, 394,
+ -1, 396, 397, 398, 399, 400, 401, 402, 403, 404,
+ 405, 406, 407, 408, 409, 410, -1, 412, 413, -1,
+ -1, 416, -1, 418, 419, 420, 421, 422, -1, 424,
+ 425, 426, -1, -1, 429, 430, 431, 432, 433, -1,
+ 435, 436, 437, 438, 439, 440, 441, 442, -1, -1,
+ 445, 446, 447, 448, 449, -1, -1, 452, 453, 454,
+ 455, 456, 457, 458, -1, 460, -1, 462, 463, 464,
+ 465, -1, -1, 468, -1, -1, 471, 472, 473, 474,
+ 475, 476, 477, 478, 479, 480, 481, 482, 483, 484,
+ 485, 486, 487, 488, 489, 490, 3, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 20, 21, 22, 23, 24, 25, 26,
+ 27, 28, 29, 30, 31, 32, -1, -1, -1, -1,
+ -1, -1, -1, 40, 41, 42, -1, 44, 45, 46,
+ 47, -1, 49, 50, 51, 52, 53, -1, 55, 56,
+ -1, 58, 59, 60, 61, 62, 63, 64, -1, -1,
+ 67, 68, 69, 70, 71, -1, 73, 74, 75, 76,
+ 77, -1, -1, -1, 81, 82, 83, 84, 85, 86,
+ -1, 88, 89, 90, -1, 92, 93, 94, 95, 96,
+ 97, -1, -1, 100, 101, 102, -1, -1, -1, -1,
+ -1, -1, -1, 110, 111, 112, 113, 114, 115, 116,
+ 117, 118, -1, 120, -1, 122, 123, 124, 125, 126,
+ 127, 128, -1, 130, 131, 132, 133, -1, -1, 136,
+ 137, 138, 139, 140, -1, 142, 143, 144, -1, 146,
+ 147, 148, -1, 150, 151, 152, 153, 154, 155, 156,
+ 157, 158, 159, -1, 161, -1, 163, 164, 165, 166,
+ 167, -1, 169, -1, 171, 172, -1, -1, -1, 176,
+ 177, 178, 179, -1, 181, 182, -1, 184, 185, 186,
+ -1, 188, 189, 190, 191, 192, -1, 194, 195, 196,
+ 197, -1, 199, 200, 201, 202, 203, 204, 205, 206,
+ -1, 208, -1, 210, 211, 212, 213, 214, 215, 216,
+ -1, 218, -1, 220, -1, -1, 223, -1, 225, 226,
+ 227, 228, 229, 230, 231, 232, 233, 234, 235, -1,
+ -1, 238, 239, -1, 241, -1, -1, 244, 245, 246,
+ -1, -1, 249, 250, 251, 252, 253, 254, 255, 256,
+ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
+ 267, -1, 269, 270, 271, 272, 273, 274, 275, 276,
+ 277, 278, 279, -1, 281, 282, -1, 284, -1, 286,
+ 287, 288, 289, 290, 291, -1, 293, 294, -1, -1,
+ 297, 298, 299, -1, -1, 302, 303, 304, -1, 306,
+ -1, 308, 309, 310, 311, 312, 313, 314, 315, 316,
+ 317, 318, -1, 320, 321, 322, 323, 324, 325, 326,
+ 327, -1, 329, 330, 331, 332, 333, 334, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, -1, 345, 346,
+ 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
+ 357, -1, 359, 360, -1, 362, 363, 364, 365, 366,
+ 367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
+ 377, -1, 379, 380, 381, 382, 383, -1, 385, 386,
+ 387, 388, 389, -1, 391, 392, 393, 394, -1, 396,
+ 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
+ 407, 408, 409, 410, -1, 412, 413, -1, -1, 416,
+ -1, 418, 419, 420, 421, 422, -1, 424, 425, 426,
+ -1, -1, 429, 430, 431, 432, 433, -1, 435, 436,
+ 437, 438, 439, 440, 441, 442, -1, -1, 445, 446,
+ 447, 448, 449, -1, -1, 452, 453, 454, 455, 456,
+ 457, 458, -1, 460, -1, 462, 463, 464, 465, -1,
+ -1, 468, -1, -1, 471, 472, 473, 474, 475, 476,
+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486,
+ 487, 488, 489, 490, 3, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 20, 21, 22, 23, 24, 25, 26, 27, 28,
+ -1, 30, 31, 32, -1, -1, -1, -1, -1, -1,
+ -1, 40, 41, 42, -1, 44, 45, 46, 47, -1,
+ 49, 50, 51, 52, 53, -1, 55, 56, -1, 58,
+ 59, 60, 61, 62, 63, 64, -1, -1, 67, 68,
+ 69, 70, 71, -1, 73, 74, 75, 76, 77, -1,
+ -1, -1, 81, 82, 83, 84, 85, 86, -1, 88,
+ 89, 90, -1, 92, 93, 94, 95, 96, 97, -1,
+ -1, 100, 101, 102, -1, -1, -1, -1, -1, -1,
+ -1, 110, 111, 112, 113, 114, 115, 116, 117, 118,
+ -1, 120, -1, 122, 123, 124, 125, 126, 127, 128,
+ -1, 130, 131, 132, 133, -1, -1, 136, 137, 138,
+ 139, 140, -1, 142, 143, 144, -1, 146, 147, 148,
+ -1, 150, 151, 152, 153, 154, 155, 156, 157, 158,
+ 159, -1, 161, -1, 163, 164, 165, 166, 167, -1,
+ 169, -1, 171, 172, -1, -1, -1, 176, 177, 178,
+ 179, -1, 181, 182, -1, 184, 185, 186, -1, 188,
+ 189, 190, 191, 192, -1, 194, 195, 196, 197, -1,
+ 199, 200, 201, 202, 203, 204, 205, 206, -1, 208,
+ -1, 210, 211, 212, 213, 214, 215, 216, -1, 218,
+ -1, 220, -1, -1, 223, -1, 225, 226, 227, 228,
+ 229, 230, 231, 232, 233, 234, 235, -1, -1, 238,
+ 239, -1, 241, -1, -1, 244, 245, 246, -1, -1,
+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
+ 259, 260, 261, 262, 263, 264, 265, 266, 267, -1,
+ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
+ 279, -1, 281, 282, -1, 284, -1, 286, 287, 288,
+ 289, 290, 291, -1, 293, 294, -1, -1, 297, 298,
+ 299, -1, -1, 302, 303, 304, -1, 306, -1, 308,
+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
+ -1, 320, 321, 322, 323, 324, 325, 326, 327, -1,
+ 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, -1, 345, 346, 347, 348,
+ 349, 350, 351, 352, 353, 354, 355, 356, 357, -1,
+ 359, 360, -1, 362, 363, 364, 365, 366, 367, 368,
+ 369, 370, 371, 372, 373, 374, 375, 376, 377, -1,
+ 379, 380, 381, 382, 383, -1, 385, 386, 387, 388,
+ 389, -1, 391, 392, 393, 394, -1, 396, 397, 398,
+ 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
+ 409, 410, -1, 412, 413, -1, 415, 416, -1, 418,
+ 419, 420, 421, 422, -1, 424, 425, 426, -1, -1,
+ 429, 430, 431, 432, 433, -1, 435, 436, 437, 438,
+ 439, 440, 441, 442, -1, -1, 445, 446, 447, 448,
+ 449, -1, -1, 452, 453, 454, 455, 456, 457, 458,
+ -1, 460, -1, 462, 463, 464, 465, -1, -1, 468,
+ -1, -1, 471, 472, 473, 474, 475, 476, 477, 478,
+ 479, 480, 481, 482, 483, 484, 485, 486, 487, 488,
+ 489, 490, 3, -1, -1, 6, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 20,
+ 21, 22, 23, 24, 25, 26, 27, 28, -1, 30,
+ 31, 32, -1, -1, -1, -1, -1, -1, -1, 40,
+ 41, 42, -1, 44, 45, 46, 47, -1, 49, 50,
+ 51, 52, 53, -1, 55, 56, -1, 58, 59, 60,
+ 61, 62, 63, 64, -1, -1, 67, 68, 69, 70,
+ 71, -1, 73, 74, 75, 76, 77, -1, -1, -1,
+ 81, 82, 83, 84, 85, 86, -1, 88, 89, 90,
+ -1, 92, 93, 94, 95, 96, 97, -1, -1, 100,
+ 101, 102, -1, -1, -1, -1, -1, -1, -1, 110,
+ 111, 112, 113, 114, 115, 116, 117, 118, -1, 120,
+ -1, 122, 123, 124, 125, 126, 127, 128, -1, 130,
+ 131, 132, 133, -1, -1, 136, 137, 138, 139, 140,
+ -1, 142, 143, 144, -1, 146, 147, 148, -1, 150,
+ 151, 152, 153, 154, 155, 156, 157, 158, 159, -1,
+ 161, -1, 163, 164, 165, 166, 167, -1, 169, -1,
+ 171, 172, -1, -1, -1, 176, 177, 178, 179, -1,
+ 181, 182, -1, 184, 185, 186, -1, 188, 189, 190,
+ 191, 192, -1, 194, 195, 196, 197, -1, 199, 200,
+ 201, 202, 203, 204, 205, 206, -1, 208, -1, 210,
+ 211, 212, 213, 214, 215, 216, -1, 218, -1, 220,
+ -1, -1, 223, -1, 225, 226, 227, 228, 229, 230,
+ 231, 232, 233, 234, 235, -1, -1, 238, 239, -1,
+ 241, -1, -1, 244, 245, 246, -1, -1, 249, 250,
+ 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
+ 261, 262, 263, 264, 265, 266, 267, -1, 269, 270,
+ 271, 272, 273, 274, 275, 276, 277, 278, 279, -1,
+ 281, 282, -1, 284, -1, 286, 287, 288, 289, 290,
+ 291, -1, 293, 294, -1, -1, 297, 298, 299, -1,
+ -1, 302, 303, 304, -1, 306, -1, 308, 309, 310,
+ 311, 312, 313, 314, 315, 316, 317, 318, -1, 320,
+ 321, 322, 323, 324, 325, 326, 327, -1, 329, 330,
+ 331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
+ 341, 342, 343, -1, 345, 346, 347, 348, 349, 350,
+ 351, 352, 353, 354, 355, 356, 357, -1, 359, 360,
+ -1, 362, 363, 364, 365, 366, 367, 368, 369, 370,
+ 371, 372, 373, 374, 375, 376, 377, -1, 379, 380,
+ 381, 382, 383, -1, 385, 386, 387, 388, 389, -1,
+ 391, 392, 393, 394, -1, 396, 397, 398, 399, 400,
+ 401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
+ -1, 412, 413, -1, -1, 416, -1, 418, 419, 420,
+ 421, 422, -1, 424, 425, 426, -1, -1, 429, 430,
+ 431, 432, 433, -1, 435, 436, 437, 438, 439, 440,
+ 441, 442, -1, -1, 445, 446, 447, 448, 449, -1,
+ -1, 452, 453, 454, 455, 456, 457, 458, -1, 460,
+ -1, 462, 463, 464, 465, -1, -1, 468, -1, -1,
+ 471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
+ 481, 482, 483, 484, 485, 486, 487, 488, 489, 490,
+ 3, -1, -1, -1, -1, -1, -1, -1, 11, -1,
+ -1, -1, -1, -1, -1, -1, -1, 20, 21, 22,
+ 23, 24, 25, 26, 27, 28, -1, 30, 31, 32,
+ -1, -1, -1, -1, -1, -1, -1, 40, 41, 42,
+ -1, 44, 45, 46, 47, -1, 49, 50, 51, 52,
+ 53, -1, 55, 56, -1, 58, 59, 60, 61, 62,
+ 63, 64, -1, -1, 67, 68, 69, 70, 71, -1,
+ 73, 74, 75, 76, 77, -1, -1, -1, 81, 82,
+ 83, 84, 85, 86, -1, 88, 89, 90, -1, 92,
+ 93, 94, 95, 96, 97, -1, -1, 100, 101, 102,
+ -1, -1, -1, -1, -1, -1, -1, 110, 111, 112,
+ 113, 114, 115, 116, 117, 118, -1, 120, -1, 122,
+ 123, 124, 125, 126, 127, 128, -1, 130, 131, 132,
+ 133, -1, -1, 136, 137, 138, 139, 140, -1, 142,
+ 143, 144, -1, 146, 147, 148, -1, 150, 151, 152,
+ 153, 154, 155, 156, 157, 158, 159, -1, 161, -1,
+ 163, 164, 165, 166, 167, -1, 169, -1, 171, 172,
+ -1, -1, -1, 176, 177, 178, 179, -1, 181, 182,
+ -1, 184, 185, 186, -1, 188, 189, 190, 191, 192,
+ -1, 194, 195, 196, 197, -1, 199, 200, 201, 202,
+ 203, 204, 205, 206, -1, 208, -1, 210, 211, 212,
+ 213, 214, 215, 216, -1, 218, -1, 220, -1, -1,
+ 223, -1, 225, 226, 227, 228, 229, 230, 231, 232,
+ 233, 234, 235, -1, -1, 238, 239, -1, 241, -1,
+ -1, 244, 245, 246, -1, -1, 249, 250, 251, 252,
+ 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
+ 263, 264, 265, 266, 267, -1, 269, 270, 271, 272,
+ 273, 274, 275, 276, 277, 278, 279, -1, 281, 282,
+ -1, 284, -1, 286, 287, 288, 289, 290, 291, -1,
+ 293, 294, -1, -1, 297, 298, 299, -1, -1, 302,
+ 303, 304, -1, 306, -1, 308, 309, 310, 311, 312,
+ 313, 314, 315, 316, 317, 318, -1, 320, 321, 322,
+ 323, 324, 325, 326, 327, -1, 329, 330, 331, 332,
+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342,
+ 343, -1, 345, 346, 347, 348, 349, 350, 351, 352,
+ 353, 354, 355, 356, 357, -1, 359, 360, -1, 362,
+ 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
+ 373, 374, 375, 376, 377, -1, 379, 380, 381, 382,
+ 383, -1, 385, 386, 387, 388, 389, -1, 391, 392,
+ 393, 394, -1, 396, 397, 398, 399, 400, 401, 402,
+ 403, 404, 405, 406, 407, 408, 409, 410, -1, 412,
+ 413, -1, -1, 416, -1, 418, 419, 420, 421, 422,
+ -1, 424, 425, 426, -1, -1, 429, 430, 431, 432,
+ 433, -1, 435, 436, 437, 438, 439, 440, 441, 442,
+ -1, -1, 445, 446, 447, 448, 449, -1, -1, 452,
+ 453, 454, 455, 456, 457, 458, -1, 460, -1, 462,
+ 463, 464, 465, -1, -1, 468, -1, -1, 471, 472,
+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482,
+ 483, 484, 485, 486, 487, 488, 489, 490, 3, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, -1, 30, 31, 32, -1, -1,
+ -1, -1, -1, 38, -1, 40, 41, 42, -1, 44,
+ 45, 46, 47, -1, 49, 50, 51, 52, 53, -1,
+ 55, 56, -1, 58, 59, 60, 61, 62, 63, 64,
+ -1, -1, 67, 68, 69, 70, 71, -1, 73, 74,
+ 75, 76, 77, -1, -1, -1, 81, 82, 83, 84,
+ 85, 86, -1, 88, 89, 90, -1, 92, 93, 94,
+ 95, 96, 97, -1, -1, 100, 101, 102, -1, -1,
+ -1, -1, -1, -1, -1, 110, 111, 112, 113, 114,
+ 115, 116, 117, 118, -1, 120, -1, 122, 123, 124,
+ 125, 126, 127, 128, -1, 130, 131, 132, 133, -1,
+ -1, 136, 137, 138, 139, 140, -1, 142, 143, 144,
+ -1, 146, 147, 148, -1, 150, 151, 152, 153, 154,
+ 155, 156, 157, 158, 159, -1, 161, -1, 163, 164,
+ 165, 166, 167, -1, 169, -1, 171, 172, -1, -1,
+ -1, 176, 177, 178, 179, -1, 181, 182, -1, 184,
+ 185, 186, -1, 188, 189, 190, 191, 192, -1, 194,
+ 195, 196, 197, -1, 199, 200, 201, 202, 203, 204,
+ 205, 206, -1, 208, -1, 210, 211, 212, 213, 214,
+ 215, 216, -1, 218, -1, 220, -1, -1, 223, -1,
+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
+ 235, -1, -1, 238, 239, -1, 241, -1, -1, 244,
+ 245, 246, -1, -1, 249, 250, 251, 252, 253, 254,
+ 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
+ 265, 266, 267, -1, 269, 270, 271, 272, 273, 274,
+ 275, 276, 277, 278, 279, -1, 281, 282, -1, 284,
+ -1, 286, 287, 288, 289, 290, 291, -1, 293, 294,
+ -1, -1, 297, 298, 299, -1, -1, 302, 303, 304,
+ -1, 306, -1, 308, 309, 310, 311, 312, 313, 314,
+ 315, 316, 317, 318, -1, 320, 321, 322, 323, 324,
+ 325, 326, 327, -1, 329, 330, 331, 332, 333, 334,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, -1,
+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
+ 355, 356, 357, -1, 359, 360, -1, 362, 363, 364,
+ 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
+ 375, 376, 377, -1, 379, 380, 381, 382, 383, -1,
+ 385, 386, 387, 388, 389, -1, 391, 392, 393, 394,
+ -1, 396, 397, 398, 399, 400, 401, 402, 403, 404,
+ 405, 406, 407, 408, 409, 410, -1, 412, 413, -1,
+ -1, 416, -1, 418, 419, 420, 421, 422, -1, 424,
+ 425, 426, -1, -1, 429, 430, 431, 432, 433, -1,
+ 435, 436, 437, 438, 439, 440, 441, 442, -1, -1,
+ 445, 446, 447, 448, 449, -1, -1, 452, 453, 454,
+ 455, 456, 457, 458, -1, 460, -1, 462, 463, 464,
+ 465, -1, -1, 468, -1, -1, 471, 472, 473, 474,
+ 475, 476, 477, 478, 479, 480, 481, 482, 483, 484,
+ 485, 486, 487, 488, 489, 490, 3, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 20, 21, 22, 23, 24, 25, 26,
+ 27, 28, -1, 30, 31, 32, -1, -1, -1, -1,
+ -1, 38, -1, 40, 41, 42, -1, 44, 45, 46,
+ 47, -1, 49, 50, 51, 52, 53, -1, 55, 56,
+ -1, 58, 59, 60, 61, 62, 63, 64, -1, -1,
+ 67, 68, 69, 70, 71, -1, 73, 74, 75, 76,
+ 77, -1, -1, -1, 81, 82, 83, 84, 85, 86,
+ -1, 88, 89, 90, -1, 92, 93, 94, 95, 96,
+ 97, -1, -1, 100, 101, 102, -1, -1, -1, -1,
+ -1, -1, -1, 110, 111, 112, 113, 114, 115, 116,
+ 117, 118, -1, 120, -1, 122, 123, 124, 125, 126,
+ 127, 128, -1, 130, 131, 132, 133, -1, -1, 136,
+ 137, 138, 139, 140, -1, 142, 143, 144, -1, 146,
+ 147, 148, -1, 150, 151, 152, 153, 154, 155, 156,
+ 157, 158, 159, -1, 161, -1, 163, 164, 165, 166,
+ 167, -1, 169, -1, 171, 172, -1, -1, -1, 176,
+ 177, 178, 179, -1, 181, 182, -1, 184, 185, 186,
+ -1, 188, 189, 190, 191, 192, -1, 194, 195, 196,
+ 197, -1, 199, 200, 201, 202, 203, 204, 205, 206,
+ -1, 208, -1, 210, 211, 212, 213, 214, 215, 216,
+ -1, 218, -1, 220, -1, -1, 223, -1, 225, 226,
+ 227, 228, 229, 230, 231, 232, 233, 234, 235, -1,
+ -1, 238, 239, -1, 241, -1, -1, 244, 245, 246,
+ -1, -1, 249, 250, 251, 252, 253, 254, 255, 256,
+ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
+ 267, -1, 269, 270, 271, 272, 273, 274, 275, 276,
+ 277, 278, 279, -1, 281, 282, -1, 284, -1, 286,
+ 287, 288, 289, 290, 291, -1, 293, 294, -1, -1,
+ 297, 298, 299, -1, -1, 302, 303, 304, -1, 306,
+ -1, 308, 309, 310, 311, 312, 313, 314, 315, 316,
+ 317, 318, -1, 320, 321, 322, 323, 324, 325, 326,
+ 327, -1, 329, 330, 331, 332, 333, 334, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, -1, 345, 346,
+ 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
+ 357, -1, 359, 360, -1, 362, 363, 364, 365, 366,
+ 367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
+ 377, -1, 379, 380, 381, 382, 383, -1, 385, 386,
+ 387, 388, 389, -1, 391, 392, 393, 394, -1, 396,
+ 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
+ 407, 408, 409, 410, -1, 412, 413, -1, -1, 416,
+ -1, 418, 419, 420, 421, 422, -1, 424, 425, 426,
+ -1, -1, 429, 430, 431, 432, 433, -1, 435, 436,
+ 437, 438, 439, 440, 441, 442, -1, -1, 445, 446,
+ 447, 448, 449, -1, -1, 452, 453, 454, 455, 456,
+ 457, 458, -1, 460, -1, 462, 463, 464, 465, -1,
+ -1, 468, -1, -1, 471, 472, 473, 474, 475, 476,
+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486,
+ 487, 488, 489, 490, 3, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 20, 21, 22, 23, 24, 25, 26, 27, 28,
+ -1, 30, 31, 32, -1, -1, -1, -1, -1, -1,
+ -1, 40, 41, 42, -1, 44, 45, 46, 47, -1,
+ 49, 50, 51, 52, 53, -1, 55, 56, -1, 58,
+ 59, 60, 61, 62, 63, 64, -1, -1, 67, 68,
+ 69, 70, 71, -1, 73, 74, 75, 76, 77, -1,
+ -1, -1, 81, 82, 83, 84, 85, 86, -1, 88,
+ 89, 90, -1, 92, 93, 94, 95, 96, 97, -1,
+ -1, 100, 101, 102, -1, -1, -1, -1, -1, -1,
+ -1, 110, 111, 112, 113, 114, 115, 116, 117, 118,
+ 119, 120, -1, 122, 123, 124, 125, 126, 127, 128,
+ -1, 130, 131, 132, 133, -1, -1, 136, 137, 138,
+ 139, 140, -1, 142, 143, 144, -1, 146, 147, 148,
+ -1, 150, 151, 152, 153, 154, 155, 156, 157, 158,
+ 159, -1, 161, -1, 163, 164, 165, 166, 167, -1,
+ 169, -1, 171, 172, -1, -1, -1, 176, 177, 178,
+ 179, -1, 181, 182, -1, 184, 185, 186, -1, 188,
+ 189, 190, 191, 192, -1, 194, 195, 196, 197, -1,
+ 199, 200, 201, 202, 203, 204, 205, 206, -1, 208,
+ -1, 210, 211, 212, 213, 214, 215, 216, -1, 218,
+ -1, 220, -1, -1, 223, -1, 225, 226, 227, 228,
+ 229, 230, 231, 232, 233, 234, 235, -1, -1, 238,
+ 239, -1, 241, -1, -1, 244, 245, 246, -1, -1,
+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
+ 259, 260, 261, 262, 263, 264, 265, 266, 267, -1,
+ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
+ 279, -1, 281, 282, -1, 284, -1, 286, 287, 288,
+ 289, 290, 291, -1, 293, 294, -1, -1, 297, 298,
+ 299, -1, -1, 302, 303, 304, -1, 306, -1, 308,
+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
+ -1, 320, 321, 322, 323, 324, 325, 326, 327, -1,
+ 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, -1, 345, 346, 347, 348,
+ 349, 350, 351, 352, 353, 354, 355, 356, 357, -1,
+ 359, 360, -1, 362, 363, 364, 365, 366, 367, 368,
+ 369, 370, 371, 372, 373, 374, 375, 376, 377, -1,
+ 379, 380, 381, 382, 383, -1, 385, 386, 387, 388,
+ 389, -1, 391, 392, 393, 394, -1, 396, 397, 398,
+ 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
+ 409, 410, -1, 412, 413, -1, -1, 416, -1, 418,
+ 419, 420, 421, 422, -1, 424, 425, 426, -1, -1,
+ 429, 430, 431, 432, 433, -1, 435, 436, 437, 438,
+ 439, 440, 441, 442, -1, -1, 445, 446, 447, 448,
+ 449, -1, -1, 452, 453, 454, 455, 456, 457, 458,
+ -1, 460, -1, 462, 463, 464, 465, -1, -1, 468,
+ -1, -1, 471, 472, 473, 474, 475, 476, 477, 478,
+ 479, 480, 481, 482, 483, 484, 485, 486, 487, 488,
+ 489, 490, 3, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 20,
+ 21, 22, 23, 24, 25, 26, 27, 28, -1, 30,
+ 31, 32, -1, -1, -1, -1, -1, -1, -1, 40,
+ 41, 42, -1, 44, 45, 46, 47, -1, 49, 50,
+ 51, 52, 53, -1, 55, 56, -1, 58, 59, 60,
+ 61, 62, 63, 64, -1, -1, 67, 68, 69, 70,
+ 71, -1, 73, 74, 75, 76, 77, -1, -1, -1,
+ 81, 82, 83, 84, 85, 86, -1, 88, 89, 90,
+ -1, 92, 93, 94, 95, 96, 97, -1, -1, 100,
+ 101, 102, -1, -1, -1, 106, -1, -1, -1, 110,
+ 111, 112, 113, 114, 115, 116, 117, 118, -1, 120,
+ -1, 122, 123, 124, 125, 126, 127, 128, -1, 130,
+ 131, 132, 133, -1, -1, 136, 137, 138, 139, 140,
+ -1, 142, 143, 144, -1, 146, 147, 148, -1, 150,
+ 151, 152, 153, 154, 155, 156, 157, 158, 159, -1,
+ 161, -1, 163, 164, 165, 166, 167, -1, 169, -1,
+ 171, 172, -1, -1, -1, 176, 177, 178, 179, -1,
+ 181, 182, -1, 184, 185, 186, -1, 188, 189, 190,
+ 191, 192, -1, 194, 195, 196, 197, -1, 199, 200,
+ 201, 202, 203, 204, 205, 206, -1, 208, -1, 210,
+ 211, 212, 213, 214, 215, 216, -1, 218, -1, 220,
+ -1, -1, 223, -1, 225, 226, 227, 228, 229, 230,
+ 231, 232, 233, 234, 235, -1, -1, 238, 239, -1,
+ 241, -1, -1, 244, 245, 246, -1, -1, 249, 250,
+ 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
+ 261, 262, 263, 264, 265, 266, 267, -1, 269, 270,
+ 271, 272, 273, 274, 275, 276, 277, 278, 279, -1,
+ 281, 282, -1, 284, -1, 286, 287, 288, 289, 290,
+ 291, -1, 293, 294, -1, -1, 297, 298, 299, -1,
+ -1, 302, 303, 304, -1, 306, -1, 308, 309, 310,
+ 311, 312, 313, 314, 315, 316, 317, 318, -1, 320,
+ 321, 322, 323, 324, 325, 326, 327, -1, 329, 330,
+ 331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
+ 341, 342, 343, -1, 345, 346, 347, 348, 349, 350,
+ 351, 352, 353, 354, 355, 356, 357, -1, 359, 360,
+ -1, 362, 363, 364, 365, 366, 367, 368, 369, 370,
+ 371, 372, 373, 374, 375, 376, 377, -1, 379, 380,
+ 381, 382, 383, -1, 385, 386, 387, 388, 389, -1,
+ 391, 392, 393, 394, -1, 396, 397, 398, 399, 400,
+ 401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
+ -1, 412, 413, -1, -1, 416, -1, 418, 419, 420,
+ 421, 422, -1, 424, 425, 426, -1, -1, 429, 430,
+ 431, 432, 433, -1, 435, 436, 437, 438, 439, 440,
+ 441, 442, -1, -1, 445, 446, 447, 448, 449, -1,
+ -1, 452, 453, 454, 455, 456, 457, 458, -1, 460,
+ -1, 462, 463, 464, 465, -1, -1, 468, -1, -1,
+ 471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
+ 481, 482, 483, 484, 485, 486, 487, 488, 489, 490,
+ 3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 20, 21, 22,
+ 23, 24, 25, 26, 27, 28, -1, 30, 31, 32,
+ -1, -1, -1, -1, -1, -1, -1, 40, 41, 42,
+ -1, 44, 45, 46, 47, -1, 49, 50, 51, 52,
+ 53, -1, 55, 56, -1, 58, 59, 60, 61, 62,
+ 63, 64, -1, -1, 67, 68, 69, 70, 71, -1,
+ 73, 74, 75, 76, 77, -1, -1, -1, 81, 82,
+ 83, 84, 85, 86, -1, 88, 89, 90, -1, 92,
+ 93, 94, 95, 96, 97, -1, -1, 100, 101, 102,
+ -1, -1, -1, -1, -1, -1, -1, 110, 111, 112,
+ 113, 114, 115, 116, 117, 118, 119, 120, -1, 122,
+ 123, 124, 125, 126, 127, 128, -1, 130, 131, 132,
+ 133, -1, -1, 136, 137, 138, 139, 140, -1, 142,
+ 143, 144, -1, 146, 147, 148, -1, 150, 151, 152,
+ 153, 154, 155, 156, 157, 158, 159, -1, 161, -1,
+ 163, 164, 165, 166, 167, -1, 169, -1, 171, 172,
+ -1, -1, -1, 176, 177, 178, 179, -1, 181, 182,
+ -1, 184, 185, 186, -1, 188, 189, 190, 191, 192,
+ -1, 194, 195, 196, 197, -1, 199, 200, 201, 202,
+ 203, 204, 205, 206, -1, 208, -1, 210, 211, 212,
+ 213, 214, 215, 216, -1, 218, -1, 220, -1, -1,
+ 223, -1, 225, 226, 227, 228, 229, 230, 231, 232,
+ 233, 234, 235, -1, -1, 238, 239, -1, 241, -1,
+ -1, 244, 245, 246, -1, -1, 249, 250, 251, 252,
+ 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
+ 263, 264, 265, 266, 267, -1, 269, 270, 271, 272,
+ 273, 274, 275, 276, 277, 278, 279, -1, 281, 282,
+ -1, 284, -1, 286, 287, 288, 289, 290, 291, -1,
+ 293, 294, -1, -1, 297, 298, 299, -1, -1, 302,
+ 303, 304, -1, 306, -1, 308, 309, 310, 311, 312,
+ 313, 314, 315, 316, 317, 318, -1, 320, 321, 322,
+ 323, 324, 325, 326, 327, -1, 329, 330, 331, 332,
+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342,
+ 343, -1, 345, 346, 347, 348, 349, 350, 351, 352,
+ 353, 354, 355, 356, 357, -1, 359, 360, -1, 362,
+ 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
+ 373, 374, 375, 376, 377, -1, 379, 380, 381, 382,
+ 383, -1, 385, 386, 387, 388, 389, -1, 391, 392,
+ 393, 394, -1, 396, 397, 398, 399, 400, 401, 402,
+ 403, 404, 405, 406, 407, 408, 409, 410, -1, 412,
+ 413, -1, -1, 416, -1, 418, 419, 420, 421, 422,
+ -1, 424, 425, 426, -1, -1, 429, 430, 431, 432,
+ 433, -1, 435, 436, 437, 438, 439, 440, 441, 442,
+ -1, -1, 445, 446, 447, 448, 449, -1, -1, 452,
+ 453, 454, 455, 456, 457, 458, -1, 460, -1, 462,
+ 463, 464, 465, -1, -1, 468, -1, -1, 471, 472,
+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482,
+ 483, 484, 485, 486, 487, 488, 489, 490, 3, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, -1, 30, 31, 32, -1, -1,
+ -1, -1, -1, -1, -1, 40, 41, 42, -1, 44,
+ 45, 46, 47, -1, 49, 50, 51, 52, 53, -1,
+ 55, 56, -1, 58, 59, 60, 61, 62, 63, 64,
+ -1, -1, 67, 68, 69, 70, 71, -1, 73, 74,
+ 75, 76, 77, -1, -1, -1, 81, 82, 83, 84,
+ 85, 86, -1, 88, 89, 90, -1, 92, 93, 94,
+ 95, 96, 97, -1, -1, 100, 101, 102, -1, -1,
+ -1, -1, -1, -1, -1, 110, 111, 112, 113, 114,
+ 115, 116, 117, 118, -1, 120, -1, 122, 123, 124,
+ 125, 126, 127, 128, -1, 130, 131, 132, 133, -1,
+ -1, 136, 137, 138, 139, 140, -1, 142, 143, 144,
+ -1, 146, 147, 148, -1, 150, 151, 152, 153, 154,
+ 155, 156, 157, 158, 159, -1, 161, -1, 163, 164,
+ 165, 166, 167, -1, 169, -1, 171, 172, -1, -1,
+ -1, 176, 177, 178, 179, -1, 181, 182, -1, 184,
+ 185, 186, -1, 188, 189, 190, 191, 192, -1, 194,
+ 195, 196, 197, -1, 199, 200, 201, 202, 203, 204,
+ 205, 206, -1, 208, -1, 210, 211, 212, 213, 214,
+ 215, 216, -1, 218, -1, 220, -1, -1, 223, -1,
+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
+ 235, -1, -1, 238, 239, -1, 241, -1, -1, 244,
+ 245, 246, -1, -1, 249, 250, 251, 252, 253, 254,
+ 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
+ 265, 266, 267, -1, 269, 270, 271, 272, 273, 274,
+ 275, 276, 277, 278, 279, -1, 281, 282, -1, 284,
+ -1, 286, 287, 288, 289, 290, 291, -1, 293, 294,
+ -1, -1, 297, 298, 299, -1, -1, 302, 303, 304,
+ -1, 306, -1, 308, 309, 310, 311, 312, 313, 314,
+ 315, 316, 317, 318, -1, 320, 321, 322, 323, 324,
+ 325, 326, 327, -1, 329, 330, 331, 332, 333, 334,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, -1,
+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
+ 355, 356, 357, -1, 359, 360, -1, 362, 363, 364,
+ 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
+ 375, 376, 377, -1, 379, 380, 381, 382, 383, -1,
+ 385, 386, 387, 388, 389, -1, 391, 392, 393, 394,
+ -1, 396, 397, 398, 399, 400, 401, 402, 403, 404,
+ 405, 406, 407, 408, 409, 410, -1, 412, 413, -1,
+ -1, 416, -1, 418, 419, 420, 421, 422, -1, 424,
+ 425, 426, -1, -1, 429, 430, 431, 432, 433, -1,
+ 435, 436, 437, 438, 439, 440, 441, 442, -1, -1,
+ 445, 446, 447, 448, 449, -1, -1, 452, 453, 454,
+ 455, 456, 457, 458, -1, 460, -1, 462, 463, 464,
+ 465, -1, -1, 468, -1, -1, 471, 472, 473, 474,
+ 475, 476, 477, 478, 479, 480, 481, 482, 483, 484,
+ 485, 486, 487, 488, 489, 490, 3, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 20, 21, 22, 23, 24, 25, 26,
+ 27, 28, -1, 30, 31, 32, -1, -1, -1, -1,
+ -1, -1, -1, 40, 41, 42, -1, 44, 45, 46,
+ 47, -1, 49, 50, 51, 52, 53, -1, 55, 56,
+ -1, 58, 59, 60, 61, 62, 63, 64, -1, -1,
+ 67, 68, 69, 70, 71, -1, 73, 74, 75, 76,
+ 77, -1, -1, -1, 81, 82, 83, 84, 85, 86,
+ -1, 88, 89, 90, -1, 92, 93, 94, 95, 96,
+ 97, -1, -1, 100, 101, 102, -1, -1, -1, -1,
+ -1, -1, -1, 110, 111, 112, 113, 114, 115, 116,
+ 117, 118, -1, 120, -1, 122, 123, 124, 125, 126,
+ 127, 128, -1, 130, 131, 132, 133, -1, -1, 136,
+ 137, 138, 139, 140, -1, 142, 143, 144, -1, 146,
+ 147, 148, -1, 150, 151, 152, 153, 154, 155, 156,
+ 157, 158, 159, -1, 161, -1, 163, 164, 165, 166,
+ 167, -1, 169, -1, 171, 172, -1, -1, -1, 176,
+ 177, 178, 179, -1, 181, 182, -1, 184, 185, 186,
+ -1, 188, 189, 190, 191, 192, -1, 194, 195, 196,
+ 197, -1, 199, 200, 201, 202, 203, 204, 205, 206,
+ -1, 208, -1, 210, 211, 212, 213, 214, 215, 216,
+ -1, 218, -1, 220, -1, -1, 223, -1, 225, 226,
+ 227, 228, 229, 230, 231, 232, 233, 234, 235, -1,
+ -1, 238, 239, -1, 241, -1, -1, 244, 245, 246,
+ -1, -1, 249, 250, 251, 252, 253, 254, 255, 256,
+ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
+ 267, -1, 269, 270, 271, 272, 273, 274, 275, 276,
+ 277, 278, 279, -1, 281, 282, -1, 284, -1, 286,
+ 287, 288, 289, 290, 291, -1, 293, 294, -1, -1,
+ 297, 298, 299, -1, -1, 302, 303, 304, -1, 306,
+ -1, 308, 309, 310, 311, 312, 313, 314, 315, 316,
+ 317, 318, -1, 320, 321, 322, 323, 324, 325, 326,
+ 327, -1, 329, 330, 331, 332, 333, 334, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, -1, 345, 346,
+ 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
+ 357, -1, 359, 360, -1, 362, 363, 364, 365, 366,
+ 367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
+ 377, -1, 379, 380, 381, 382, 383, -1, 385, 386,
+ 387, 388, 389, -1, 391, 392, 393, 394, -1, 396,
+ 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
+ 407, 408, 409, 410, -1, 412, 413, -1, -1, 416,
+ -1, 418, 419, 420, 421, 422, -1, 424, 425, 426,
+ -1, -1, 429, 430, 431, 432, 433, -1, 435, 436,
+ 437, 438, 439, 440, 441, 442, -1, -1, 445, 446,
+ 447, 448, 449, -1, -1, 452, 453, 454, 455, 456,
+ 457, 458, -1, 460, -1, 462, 463, 464, 465, -1,
+ -1, 468, -1, -1, 471, 472, 473, 474, 475, 476,
+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486,
+ 487, 488, 489, 490, 3, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 20, 21, 22, 23, 24, 25, 26, 27, 28,
+ -1, 30, 31, 32, -1, -1, -1, -1, -1, -1,
+ -1, 40, 41, 42, -1, 44, 45, 46, 47, -1,
+ 49, 50, 51, 52, 53, -1, 55, 56, -1, 58,
+ 59, 60, 61, 62, 63, 64, -1, -1, 67, 68,
+ 69, 70, 71, -1, 73, 74, 75, 76, 77, -1,
+ -1, -1, 81, 82, 83, 84, 85, 86, -1, 88,
+ 89, 90, -1, 92, 93, 94, 95, 96, 97, -1,
+ -1, 100, 101, 102, -1, -1, -1, -1, -1, -1,
+ -1, 110, 111, 112, 113, 114, 115, 116, 117, 118,
+ -1, 120, -1, 122, 123, 124, 125, 126, 127, 128,
+ -1, 130, 131, 132, 133, -1, -1, 136, 137, 138,
+ 139, 140, -1, 142, 143, 144, -1, 146, 147, 148,
+ -1, 150, 151, 152, 153, 154, 155, 156, 157, 158,
+ 159, -1, 161, -1, 163, 164, 165, 166, 167, -1,
+ 169, -1, 171, 172, -1, -1, -1, 176, 177, 178,
+ 179, -1, 181, 182, -1, 184, 185, 186, -1, 188,
+ 189, 190, 191, 192, -1, 194, 195, 196, 197, -1,
+ 199, 200, 201, 202, 203, 204, 205, 206, -1, 208,
+ -1, 210, 211, 212, 213, 214, 215, 216, -1, 218,
+ -1, 220, -1, -1, 223, -1, 225, 226, 227, 228,
+ 229, 230, 231, 232, 233, 234, 235, -1, -1, 238,
+ 239, -1, 241, -1, -1, 244, 245, 246, -1, -1,
+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
+ 259, 260, 261, 262, 263, 264, 265, 266, 267, -1,
+ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
+ 279, -1, 281, 282, -1, 284, -1, 286, 287, 288,
+ 289, 290, 291, -1, 293, 294, -1, -1, 297, 298,
+ 299, -1, -1, 302, 303, 304, -1, 306, -1, 308,
+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
+ -1, 320, 321, 322, 323, 324, 325, 326, 327, -1,
+ 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, -1, 345, 346, 347, 348,
+ 349, 350, 351, 352, 353, 354, 355, 356, 357, -1,
+ 359, 360, -1, 362, 363, 364, 365, 366, 367, 368,
+ 369, 370, 371, 372, 373, 374, 375, 376, 377, -1,
+ 379, 380, 381, 382, 383, -1, 385, 386, 387, 388,
+ 389, -1, 391, 392, 393, 394, -1, 396, 397, 398,
+ 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
+ 409, 410, -1, 412, 413, -1, -1, 416, -1, 418,
+ 419, 420, 421, 422, -1, 424, 425, 426, -1, -1,
+ 429, 430, 431, 432, 433, -1, 435, 436, 437, 438,
+ 439, 440, 441, 442, -1, -1, 445, 446, 447, 448,
+ 449, -1, -1, 452, 453, 454, 455, 456, 457, 458,
+ -1, 460, -1, 462, 463, 464, 465, -1, -1, 468,
+ -1, -1, 471, 472, 473, 474, 475, 476, 477, 478,
+ 479, 480, 481, 482, 483, 484, 485, 486, 487, 488,
+ 489, 490, 3, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 20,
+ 21, 22, 23, 24, 25, 26, 27, 28, -1, 30,
+ 31, 32, -1, -1, -1, -1, -1, -1, -1, 40,
+ 41, 42, -1, 44, 45, 46, 47, -1, 49, 50,
+ 51, 52, 53, -1, 55, 56, -1, 58, 59, 60,
+ 61, 62, 63, 64, -1, -1, 67, 68, 69, 70,
+ 71, -1, 73, 74, 75, 76, 77, -1, -1, -1,
+ 81, 82, 83, 84, 85, 86, -1, 88, 89, 90,
+ -1, 92, 93, 94, 95, 96, 97, -1, -1, 100,
+ 101, 102, -1, -1, -1, -1, -1, -1, -1, 110,
+ 111, 112, 113, 114, 115, 116, 117, 118, -1, 120,
+ -1, 122, 123, 124, 125, 126, 127, 128, -1, 130,
+ 131, 132, 133, -1, -1, 136, 137, 138, 139, 140,
+ -1, 142, 143, 144, -1, 146, 147, 148, -1, 150,
+ 151, 152, 153, 154, 155, 156, 157, 158, 159, -1,
+ 161, -1, 163, 164, 165, 166, 167, -1, 169, -1,
+ 171, 172, -1, -1, -1, 176, 177, 178, 179, -1,
+ 181, 182, -1, 184, 185, 186, -1, 188, 189, 190,
+ 191, 192, -1, 194, 195, 196, 197, -1, 199, 200,
+ 201, 202, 203, 204, 205, 206, -1, 208, -1, 210,
+ 211, 212, 213, 214, 215, 216, -1, 218, -1, 220,
+ -1, -1, 223, -1, 225, 226, 227, 228, 229, 230,
+ 231, 232, 233, 234, 235, -1, -1, 238, 239, -1,
+ 241, -1, -1, 244, 245, 246, -1, -1, 249, 250,
+ 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
+ 261, 262, 263, 264, 265, 266, 267, -1, 269, 270,
+ 271, 272, 273, 274, 275, 276, 277, 278, 279, -1,
+ 281, 282, -1, 284, -1, 286, 287, 288, 289, 290,
+ 291, -1, 293, 294, -1, -1, 297, 298, 299, -1,
+ -1, 302, 303, 304, -1, 306, -1, 308, 309, 310,
+ 311, 312, 313, 314, 315, 316, 317, 318, -1, 320,
+ 321, 322, 323, 324, 325, 326, 327, -1, 329, 330,
+ 331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
+ 341, 342, 343, -1, 345, 346, 347, 348, 349, 350,
+ 351, 352, 353, 354, 355, 356, 357, -1, 359, 360,
+ -1, 362, 363, 364, 365, 366, 367, 368, 369, 370,
+ 371, 372, 373, 374, 375, 376, 377, -1, 379, 380,
+ 381, 382, 383, -1, 385, 386, 387, 388, 389, -1,
+ 391, 392, 393, 394, -1, 396, 397, 398, 399, 400,
+ 401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
+ -1, 412, 413, -1, -1, 416, -1, 418, 419, 420,
+ 421, 422, -1, 424, 425, 426, -1, -1, 429, 430,
+ 431, 432, 433, -1, 435, 436, 437, 438, 439, 440,
+ 441, 442, -1, -1, 445, 446, 447, 448, 449, -1,
+ -1, 452, 453, 454, 455, 456, 457, 458, -1, 460,
+ -1, 462, 463, 464, 465, -1, -1, 468, -1, -1,
+ 471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
+ 481, 482, 483, 484, 485, 486, 487, 488, 489, 490,
+ 3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 20, 21, 22,
+ 23, 24, 25, 26, 27, 28, -1, 30, 31, 32,
+ -1, -1, -1, -1, -1, -1, -1, 40, 41, 42,
+ -1, 44, 45, 46, 47, -1, 49, 50, 51, 52,
+ 53, -1, 55, 56, -1, 58, 59, 60, 61, 62,
+ 63, 64, -1, -1, 67, 68, 69, 70, 71, -1,
+ 73, 74, 75, 76, 77, -1, -1, -1, 81, 82,
+ 83, 84, 85, 86, -1, 88, 89, 90, -1, 92,
+ 93, 94, 95, 96, 97, -1, -1, 100, 101, 102,
+ -1, -1, -1, -1, -1, -1, -1, 110, 111, 112,
+ 113, 114, 115, 116, 117, 118, -1, 120, -1, 122,
+ 123, 124, 125, 126, 127, 128, -1, 130, 131, 132,
+ 133, -1, -1, 136, 137, 138, 139, 140, -1, 142,
+ 143, 144, -1, 146, 147, 148, -1, 150, 151, 152,
+ 153, 154, 155, 156, 157, 158, 159, -1, 161, -1,
+ 163, 164, 165, 166, 167, -1, 169, -1, 171, 172,
+ -1, -1, -1, 176, 177, 178, 179, -1, 181, 182,
+ -1, 184, 185, 186, -1, 188, 189, 190, 191, 192,
+ -1, 194, 195, 196, 197, -1, 199, 200, 201, 202,
+ 203, 204, 205, 206, -1, 208, -1, 210, 211, 212,
+ 213, 214, 215, 216, -1, 218, -1, 220, -1, -1,
+ 223, -1, 225, 226, 227, 228, 229, 230, 231, 232,
+ 233, 234, 235, -1, -1, 238, 239, -1, 241, -1,
+ -1, 244, 245, 246, -1, -1, 249, 250, 251, 252,
+ 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
+ 263, 264, 265, 266, 267, -1, 269, 270, 271, 272,
+ 273, 274, 275, 276, 277, 278, 279, -1, 281, 282,
+ -1, 284, -1, 286, 287, 288, 289, 290, 291, -1,
+ 293, 294, -1, -1, 297, 298, 299, -1, -1, 302,
+ 303, 304, -1, 306, -1, 308, 309, 310, 311, 312,
+ 313, 314, 315, 316, 317, 318, -1, 320, 321, 322,
+ 323, 324, 325, 326, 327, -1, 329, 330, 331, 332,
+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342,
+ 343, -1, 345, 346, 347, 348, 349, 350, 351, 352,
+ 353, 354, 355, 356, 357, -1, 359, 360, -1, 362,
+ 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
+ 373, 374, 375, 376, 377, -1, 379, 380, 381, 382,
+ 383, -1, 385, 386, 387, 388, 389, -1, 391, 392,
+ 393, 394, -1, 396, 397, 398, 399, 400, 401, 402,
+ 403, 404, 405, 406, 407, 408, 409, 410, -1, 412,
+ 413, -1, -1, 416, -1, 418, 419, 420, 421, 422,
+ -1, 424, 425, 426, -1, -1, 429, 430, 431, 432,
+ 433, -1, 435, 436, 437, 438, 439, 440, 441, 442,
+ -1, -1, 445, 446, 447, 448, 449, -1, -1, 452,
+ 453, 454, 455, 456, 457, 458, -1, 460, -1, 462,
+ 463, 464, 465, -1, -1, 468, -1, -1, 471, 472,
+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482,
+ 483, 484, 485, 486, 487, 488, 489, 490, 3, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, -1, 30, 31, 32, -1, -1,
+ -1, -1, -1, -1, -1, 40, 41, 42, -1, 44,
+ 45, 46, 47, -1, 49, 50, 51, 52, 53, -1,
+ 55, 56, -1, 58, 59, 60, 61, 62, 63, 64,
+ -1, -1, 67, 68, 69, 70, 71, -1, 73, 74,
+ 75, 76, 77, -1, -1, -1, 81, 82, 83, 84,
+ 85, 86, -1, 88, 89, 90, -1, 92, 93, 94,
+ 95, 96, 97, -1, -1, 100, 101, 102, -1, -1,
+ -1, -1, -1, -1, -1, 110, 111, 112, 113, 114,
+ 115, 116, 117, 118, -1, 120, -1, 122, 123, 124,
+ 125, 126, 127, 128, -1, 130, 131, 132, 133, -1,
+ -1, 136, 137, 138, 139, 140, -1, 142, 143, 144,
+ -1, 146, 147, 148, -1, 150, 151, 152, 153, 154,
+ 155, 156, 157, 158, 159, -1, 161, -1, 163, 164,
+ 165, 166, 167, -1, 169, -1, 171, 172, -1, -1,
+ -1, 176, 177, 178, 179, -1, 181, 182, -1, 184,
+ 185, 186, -1, 188, 189, 190, 191, 192, -1, 194,
+ 195, 196, 197, -1, 199, 200, 201, 202, 203, 204,
+ 205, 206, -1, 208, -1, 210, 211, 212, 213, 214,
+ 215, 216, -1, 218, -1, 220, -1, -1, 223, -1,
+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
+ 235, -1, -1, 238, 239, -1, 241, -1, -1, 244,
+ 245, 246, -1, -1, 249, 250, 251, 252, 253, 254,
+ 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
+ 265, 266, 267, -1, 269, 270, 271, 272, 273, 274,
+ 275, 276, 277, 278, 279, -1, 281, 282, -1, 284,
+ -1, 286, 287, 288, 289, 290, 291, -1, 293, 294,
+ -1, -1, 297, 298, 299, -1, -1, 302, 303, 304,
+ -1, 306, -1, 308, 309, 310, 311, 312, 313, 314,
+ 315, 316, 317, 318, -1, 320, 321, 322, 323, 324,
+ 325, 326, 327, -1, 329, 330, 331, 332, 333, 334,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, -1,
+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
+ 355, 356, 357, -1, 359, 360, -1, 362, 363, 364,
+ 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
+ 375, 376, 377, -1, 379, 380, 381, 382, 383, -1,
+ 385, 386, 387, 388, 389, -1, 391, 392, 393, 394,
+ -1, 396, 397, 398, 399, 400, 401, 402, 403, 404,
+ 405, 406, 407, 408, 409, 410, -1, 412, 413, -1,
+ -1, 416, -1, 418, 419, 420, 421, 422, -1, 424,
+ 425, 426, -1, -1, 429, 430, 431, 432, 433, -1,
+ 435, 436, 437, 438, 439, 440, 441, 442, -1, -1,
+ 445, 446, 447, 448, 449, -1, -1, 452, 453, 454,
+ 455, 456, 457, 458, -1, 460, -1, 462, 463, 464,
+ 465, -1, -1, 468, -1, -1, 471, 472, 473, 474,
+ 475, 476, 477, 478, 479, 480, 481, 482, 483, 484,
+ 485, 486, 487, 488, 489, 490, 3, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 20, 21, 22, 23, 24, 25, 26,
+ 27, 28, -1, 30, 31, 32, -1, -1, -1, -1,
+ -1, -1, -1, 40, 41, 42, -1, 44, 45, 46,
+ 47, -1, 49, 50, 51, 52, 53, -1, 55, 56,
+ -1, 58, 59, 60, 61, 62, 63, 64, -1, -1,
+ 67, 68, 69, 70, 71, -1, 73, 74, 75, 76,
+ 77, -1, -1, -1, 81, 82, 83, 84, 85, 86,
+ -1, 88, 89, 90, -1, 92, 93, 94, 95, 96,
+ 97, -1, -1, 100, 101, 102, -1, -1, -1, -1,
+ -1, -1, -1, 110, 111, 112, 113, 114, 115, 116,
+ 117, 118, -1, 120, -1, 122, 123, 124, 125, 126,
+ 127, 128, -1, 130, 131, 132, 133, -1, -1, 136,
+ 137, 138, 139, 140, -1, 142, 143, 144, -1, 146,
+ 147, 148, -1, 150, 151, 152, 153, 154, 155, 156,
+ 157, 158, 159, -1, 161, -1, 163, 164, 165, 166,
+ 167, -1, 169, -1, 171, 172, -1, -1, -1, 176,
+ 177, 178, 179, -1, 181, 182, -1, 184, 185, 186,
+ -1, 188, 189, 190, 191, 192, -1, 194, 195, 196,
+ 197, -1, 199, 200, 201, 202, 203, 204, 205, 206,
+ -1, 208, -1, 210, 211, 212, 213, 214, 215, 216,
+ -1, 218, -1, 220, -1, -1, 223, -1, 225, 226,
+ 227, 228, 229, 230, 231, 232, 233, 234, 235, -1,
+ -1, 238, 239, -1, 241, -1, -1, 244, 245, 246,
+ -1, -1, 249, 250, 251, 252, 253, 254, 255, 256,
+ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
+ 267, -1, 269, 270, 271, 272, 273, 274, 275, 276,
+ 277, 278, 279, -1, 281, 282, -1, 284, -1, 286,
+ 287, 288, 289, 290, 291, -1, 293, 294, -1, -1,
+ 297, 298, 299, -1, -1, 302, 303, 304, -1, 306,
+ -1, 308, 309, 310, 311, 312, 313, 314, 315, 316,
+ 317, 318, -1, 320, 321, 322, 323, 324, 325, 326,
+ 327, -1, 329, 330, 331, 332, 333, 334, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, -1, 345, 346,
+ 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
+ 357, -1, 359, 360, -1, 362, 363, 364, 365, 366,
+ 367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
+ 377, -1, 379, 380, 381, 382, 383, -1, 385, 386,
+ 387, 388, 389, -1, 391, 392, 393, 394, -1, 396,
+ 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
+ 407, 408, 409, 410, -1, 412, 413, -1, -1, 416,
+ -1, 418, 419, 420, 421, 422, -1, 424, 425, 426,
+ -1, -1, 429, 430, 431, 432, 433, -1, 435, 436,
+ 437, 438, 439, 440, 441, 442, -1, -1, 445, 446,
+ 447, 448, 449, -1, -1, 452, 453, 454, 455, 456,
+ 457, 458, -1, 460, -1, 462, 463, 464, 465, -1,
+ -1, 468, -1, -1, 471, 472, 473, 474, 475, 476,
+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486,
+ 487, 488, 489, 490, 3, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 20, 21, 22, 23, 24, 25, 26, 27, 28,
+ -1, 30, 31, 32, -1, -1, -1, -1, -1, -1,
+ -1, 40, 41, 42, -1, 44, 45, 46, 47, -1,
+ 49, 50, 51, 52, 53, -1, 55, 56, -1, 58,
+ 59, 60, 61, 62, 63, 64, -1, -1, 67, 68,
+ 69, 70, 71, -1, 73, 74, 75, 76, 77, -1,
+ -1, -1, 81, 82, 83, 84, 85, 86, -1, 88,
+ 89, 90, -1, 92, 93, 94, 95, 96, 97, -1,
+ -1, 100, 101, 102, -1, -1, -1, -1, -1, -1,
+ -1, 110, 111, 112, 113, 114, 115, 116, 117, 118,
+ -1, 120, -1, 122, 123, 124, 125, 126, 127, 128,
+ -1, 130, 131, 132, 133, -1, -1, 136, 137, 138,
+ 139, 140, -1, 142, 143, 144, -1, 146, 147, 148,
+ -1, 150, 151, 152, 153, 154, 155, 156, 157, 158,
+ 159, -1, 161, -1, 163, 164, 165, 166, 167, -1,
+ 169, -1, 171, 172, -1, -1, -1, 176, 177, 178,
+ 179, -1, 181, 182, -1, 184, 185, 186, -1, 188,
+ 189, 190, 191, 192, -1, 194, 195, 196, 197, -1,
+ 199, 200, 201, 202, 203, 204, 205, 206, -1, 208,
+ -1, 210, 211, 212, 213, 214, 215, 216, -1, 218,
+ -1, 220, -1, -1, 223, -1, 225, 226, 227, 228,
+ 229, 230, 231, 232, 233, 234, 235, -1, -1, 238,
+ 239, -1, 241, -1, -1, 244, 245, 246, -1, -1,
+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
+ 259, 260, 261, 262, 263, 264, 265, 266, 267, -1,
+ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
+ 279, -1, 281, 282, -1, 284, -1, 286, 287, 288,
+ 289, 290, 291, -1, 293, 294, -1, -1, 297, 298,
+ 299, -1, -1, 302, 303, 304, -1, 306, -1, 308,
+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
+ -1, 320, 321, 322, 323, 324, 325, 326, 327, -1,
+ 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, -1, 345, 346, 347, 348,
+ 349, 350, 351, 352, 353, 354, 355, 356, 357, -1,
+ 359, 360, -1, 362, 363, 364, 365, 366, 367, 368,
+ 369, 370, 371, 372, 373, 374, 375, 376, 377, -1,
+ 379, 380, 381, 382, 383, -1, 385, 386, 387, 388,
+ 389, -1, 391, 392, 393, 394, -1, 396, 397, 398,
+ 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
+ 409, 410, -1, 412, 413, -1, -1, 416, -1, 418,
+ 419, 420, 421, 422, -1, 424, 425, 426, -1, -1,
+ 429, 430, 431, 432, 433, -1, 435, 436, 437, 438,
+ 439, 440, 441, 442, -1, -1, 445, 446, 447, 448,
+ 449, -1, -1, 452, 453, 454, 455, 456, 457, 458,
+ -1, 460, -1, 462, 463, 464, 465, -1, -1, 468,
+ -1, -1, 471, 472, 473, 474, 475, 476, 477, 478,
+ 479, 480, 481, 482, 483, 484, 485, 486, 487, 488,
+ 489, 490, 3, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 20,
+ 21, 22, 23, 24, 25, 26, 27, 28, -1, 30,
+ 31, 32, -1, -1, -1, -1, -1, -1, -1, 40,
+ 41, 42, -1, 44, 45, 46, 47, -1, 49, 50,
+ 51, 52, 53, -1, 55, 56, -1, 58, 59, 60,
+ 61, 62, 63, 64, -1, -1, 67, 68, 69, 70,
+ 71, -1, 73, 74, 75, 76, 77, -1, -1, -1,
+ 81, 82, 83, 84, 85, 86, -1, 88, 89, 90,
+ -1, 92, 93, 94, 95, 96, 97, -1, -1, 100,
+ 101, 102, -1, -1, -1, -1, -1, -1, -1, 110,
+ 111, 112, 113, 114, 115, 116, 117, 118, -1, 120,
+ -1, 122, 123, 124, 125, 126, 127, 128, -1, 130,
+ 131, 132, 133, -1, -1, 136, 137, 138, 139, 140,
+ -1, 142, 143, 144, -1, 146, 147, 148, -1, 150,
+ 151, 152, 153, 154, 155, 156, 157, 158, 159, -1,
+ 161, -1, 163, 164, 165, 166, 167, -1, 169, -1,
+ 171, 172, -1, -1, -1, 176, 177, 178, 179, -1,
+ 181, 182, -1, 184, 185, 186, -1, 188, 189, 190,
+ 191, 192, -1, 194, 195, 196, 197, -1, 199, 200,
+ 201, 202, 203, 204, 205, 206, -1, 208, -1, 210,
+ 211, 212, 213, 214, 215, 216, -1, 218, -1, 220,
+ -1, -1, 223, -1, 225, 226, 227, 228, 229, 230,
+ 231, 232, 233, 234, 235, -1, -1, 238, 239, -1,
+ 241, -1, -1, 244, 245, 246, -1, -1, 249, 250,
+ 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
+ 261, 262, 263, 264, 265, 266, 267, -1, 269, 270,
+ 271, 272, 273, 274, 275, 276, 277, 278, 279, -1,
+ 281, 282, -1, 284, -1, 286, 287, 288, 289, 290,
+ 291, -1, 293, 294, -1, -1, 297, 298, 299, -1,
+ -1, 302, 303, 304, -1, 306, -1, 308, 309, 310,
+ 311, 312, 313, 314, 315, 316, 317, 318, -1, 320,
+ 321, 322, 323, 324, 325, 326, 327, -1, 329, 330,
+ 331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
+ 341, 342, 343, -1, 345, 346, 347, 348, 349, 350,
+ 351, 352, 353, 354, 355, 356, 357, -1, 359, 360,
+ -1, 362, 363, 364, 365, 366, 367, 368, 369, 370,
+ 371, 372, 373, 374, 375, 376, 377, -1, 379, 380,
+ 381, 382, 383, -1, 385, 386, 387, 388, 389, -1,
+ 391, 392, 393, 394, -1, 396, 397, 398, 399, 400,
+ 401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
+ -1, 412, 413, -1, -1, 416, -1, 418, 419, 420,
+ 421, 422, -1, 424, 425, 426, -1, -1, 429, 430,
+ 431, 432, 433, -1, 435, 436, 437, 438, 439, 440,
+ 441, 442, -1, -1, 445, 446, 447, 448, 449, -1,
+ -1, 452, 453, 454, 455, 456, 457, 458, -1, 460,
+ -1, 462, 463, 464, 465, -1, -1, 468, -1, -1,
+ 471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
+ 481, 482, 483, 484, 485, 486, 487, 488, 489, 490,
+ 3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 20, 21, 22,
+ 23, 24, 25, 26, 27, 28, -1, 30, 31, 32,
+ -1, -1, -1, -1, -1, -1, -1, 40, 41, 42,
+ -1, 44, 45, 46, 47, -1, 49, 50, 51, 52,
+ 53, -1, 55, 56, -1, 58, 59, 60, 61, 62,
+ 63, 64, -1, -1, 67, 68, 69, 70, 71, -1,
+ 73, 74, 75, 76, 77, -1, -1, -1, 81, 82,
+ 83, 84, 85, 86, -1, 88, 89, 90, -1, 92,
+ 93, 94, 95, 96, 97, -1, -1, 100, 101, 102,
+ -1, -1, -1, -1, -1, -1, -1, 110, 111, 112,
+ 113, 114, 115, 116, 117, 118, -1, 120, -1, 122,
+ 123, 124, 125, 126, 127, 128, -1, 130, 131, 132,
+ 133, -1, -1, 136, 137, 138, 139, 140, -1, 142,
+ 143, 144, -1, 146, 147, 148, -1, 150, 151, 152,
+ 153, 154, 155, 156, 157, 158, 159, -1, 161, -1,
+ 163, 164, 165, 166, 167, -1, 169, -1, 171, 172,
+ -1, -1, -1, 176, 177, 178, 179, -1, 181, 182,
+ -1, 184, 185, 186, -1, 188, 189, 190, 191, 192,
+ -1, 194, 195, 196, 197, -1, 199, 200, 201, 202,
+ 203, 204, 205, 206, -1, 208, -1, 210, 211, 212,
+ 213, 214, 215, 216, -1, 218, -1, 220, -1, -1,
+ 223, -1, 225, 226, 227, 228, 229, 230, 231, 232,
+ 233, 234, 235, -1, -1, 238, 239, -1, 241, -1,
+ -1, 244, 245, 246, -1, -1, 249, 250, 251, 252,
+ 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
+ 263, 264, 265, 266, 267, -1, 269, 270, 271, 272,
+ 273, 274, 275, 276, 277, 278, 279, -1, 281, 282,
+ -1, 284, -1, 286, 287, 288, 289, 290, 291, -1,
+ 293, 294, -1, -1, 297, 298, 299, -1, -1, 302,
+ 303, 304, -1, 306, -1, 308, 309, 310, 311, 312,
+ 313, 314, 315, 316, 317, 318, -1, 320, 321, 322,
+ 323, 324, 325, 326, 327, -1, 329, 330, 331, 332,
+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342,
+ 343, -1, 345, 346, 347, 348, 349, 350, 351, 352,
+ 353, 354, 355, 356, 357, -1, 359, 360, -1, 362,
+ 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
+ 373, 374, 375, 376, 377, -1, 379, 380, 381, 382,
+ 383, -1, 385, 386, 387, 388, 389, -1, 391, 392,
+ 393, 394, -1, 396, 397, 398, 399, 400, 401, 402,
+ 403, 404, 405, 406, 407, 408, 409, 410, -1, 412,
+ 413, -1, -1, 416, -1, 418, 419, 420, 421, 422,
+ -1, 424, 425, 426, -1, -1, 429, 430, 431, 432,
+ 433, -1, 435, 436, 437, 438, 439, 440, 441, 442,
+ -1, -1, 445, 446, 447, 448, 449, -1, -1, 452,
+ 453, 454, 455, 456, 457, 458, -1, 460, -1, 462,
+ 463, 464, 465, -1, -1, 468, -1, -1, 471, 472,
+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482,
+ 483, 484, 485, 486, 487, 488, 489, 490, 3, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, -1, 30, 31, 32, -1, -1,
+ -1, -1, -1, -1, -1, 40, 41, 42, -1, 44,
+ 45, 46, 47, -1, 49, 50, 51, 52, 53, -1,
+ 55, 56, -1, 58, 59, 60, 61, 62, 63, 64,
+ -1, -1, 67, 68, 69, 70, 71, -1, 73, 74,
+ 75, 76, 77, -1, -1, -1, 81, 82, 83, 84,
+ 85, 86, -1, 88, 89, 90, -1, 92, 93, 94,
+ 95, 96, 97, -1, -1, 100, 101, 102, -1, -1,
+ -1, -1, -1, -1, -1, 110, 111, 112, 113, 114,
+ 115, 116, 117, 118, -1, 120, -1, 122, 123, 124,
+ 125, 126, 127, 128, -1, 130, 131, 132, 133, -1,
+ -1, 136, 137, 138, 139, 140, -1, 142, 143, 144,
+ -1, 146, 147, 148, -1, 150, 151, 152, 153, 154,
+ 155, 156, 157, 158, 159, -1, 161, -1, 163, 164,
+ 165, 166, 167, -1, 169, -1, 171, 172, -1, -1,
+ -1, 176, 177, 178, 179, -1, 181, 182, -1, 184,
+ 185, 186, -1, 188, 189, 190, 191, 192, -1, 194,
+ 195, 196, 197, -1, 199, 200, 201, 202, 203, 204,
+ 205, 206, -1, 208, -1, 210, 211, 212, 213, 214,
+ 215, 216, -1, 218, -1, 220, -1, -1, 223, -1,
+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
+ 235, -1, -1, 238, 239, -1, 241, -1, -1, 244,
+ 245, 246, -1, -1, 249, 250, 251, 252, 253, 254,
+ 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
+ 265, 266, 267, -1, 269, 270, 271, 272, 273, 274,
+ 275, 276, 277, 278, 279, -1, 281, 282, -1, 284,
+ -1, 286, 287, 288, 289, 290, 291, -1, 293, 294,
+ -1, -1, 297, 298, 299, -1, -1, 302, 303, 304,
+ -1, 306, -1, 308, 309, 310, 311, 312, 313, 314,
+ 315, 316, 317, 318, -1, 320, 321, 322, 323, 324,
+ 325, 326, 327, -1, 329, 330, 331, 332, 333, 334,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, -1,
+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
+ 355, 356, 357, -1, 359, 360, -1, 362, 363, 364,
+ 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
+ 375, 376, 377, -1, 379, 380, 381, 382, 383, -1,
+ 385, 386, 387, 388, 389, -1, 391, 392, 393, 394,
+ -1, 396, 397, 398, 399, 400, 401, 402, 403, 404,
+ 405, 406, 407, 408, 409, 410, -1, 412, 413, -1,
+ -1, 416, -1, 418, 419, 420, 421, 422, -1, 424,
+ 425, 426, -1, -1, 429, 430, 431, 432, 433, -1,
+ 435, 436, 437, 438, 439, 440, 441, 442, -1, -1,
+ 445, 446, 447, 448, 449, -1, -1, 452, 453, 454,
+ 455, 456, 457, 458, -1, 460, -1, 462, 463, 464,
+ 465, -1, -1, 468, -1, -1, 471, 472, 473, 474,
+ 475, 476, 477, 478, 479, 480, 481, 482, 483, 484,
+ 485, 486, 487, 488, 489, 490, 3, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 20, 21, 22, 23, 24, 25, 26,
+ 27, 28, -1, 30, 31, 32, -1, -1, -1, -1,
+ -1, -1, -1, 40, 41, 42, -1, 44, 45, 46,
+ 47, -1, 49, 50, 51, 52, 53, -1, 55, 56,
+ -1, 58, 59, 60, 61, 62, 63, 64, -1, -1,
+ 67, 68, 69, 70, 71, -1, 73, 74, 75, 76,
+ 77, -1, -1, -1, 81, 82, 83, 84, 85, 86,
+ -1, 88, 89, 90, -1, 92, 93, 94, 95, 96,
+ 97, -1, -1, 100, 101, 102, -1, -1, -1, -1,
+ -1, -1, -1, 110, 111, 112, 113, 114, 115, 116,
+ 117, 118, -1, 120, -1, 122, 123, 124, 125, 126,
+ 127, 128, -1, 130, 131, 132, 133, -1, -1, 136,
+ 137, 138, 139, 140, -1, 142, 143, 144, -1, 146,
+ 147, 148, -1, 150, 151, 152, 153, 154, 155, 156,
+ 157, 158, 159, -1, 161, -1, 163, 164, 165, 166,
+ 167, -1, 169, -1, 171, 172, -1, -1, -1, 176,
+ 177, 178, 179, -1, 181, 182, -1, 184, 185, 186,
+ -1, 188, 189, 190, 191, 192, -1, 194, 195, 196,
+ 197, -1, 199, 200, 201, 202, 203, 204, 205, 206,
+ -1, 208, -1, 210, 211, 212, 213, 214, 215, 216,
+ -1, 218, -1, 220, -1, -1, 223, -1, 225, 226,
+ 227, 228, 229, 230, 231, 232, 233, 234, 235, -1,
+ -1, 238, 239, -1, 241, -1, -1, 244, 245, 246,
+ -1, -1, 249, 250, 251, 252, 253, 254, 255, 256,
+ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
+ 267, -1, 269, 270, 271, 272, 273, 274, 275, 276,
+ 277, 278, 279, -1, 281, 282, -1, 284, -1, 286,
+ 287, 288, 289, 290, 291, -1, 293, 294, -1, -1,
+ 297, 298, 299, -1, -1, 302, 303, 304, -1, 306,
+ -1, 308, 309, 310, 311, 312, 313, 314, 315, 316,
+ 317, 318, -1, 320, 321, 322, 323, 324, 325, 326,
+ 327, -1, 329, 330, 331, 332, 333, 334, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, -1, 345, 346,
+ 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
+ 357, -1, 359, 360, -1, 362, 363, 364, 365, 366,
+ 367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
+ 377, -1, 379, 380, 381, 382, 383, -1, 385, 386,
+ 387, 388, 389, -1, 391, 392, 393, 394, -1, 396,
+ 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
+ 407, 408, 409, 410, -1, 412, 413, -1, -1, 416,
+ -1, 418, 419, 420, 421, 422, -1, 424, 425, 426,
+ -1, -1, 429, 430, 431, 432, 433, -1, 435, 436,
+ 437, 438, 439, 440, 441, 442, -1, -1, 445, 446,
+ 447, 448, 449, -1, -1, 452, 453, 454, 455, 456,
+ 457, 458, -1, 460, -1, 462, 463, 464, 465, -1,
+ -1, 468, -1, -1, 471, 472, 473, 474, 475, 476,
+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486,
+ 487, 488, 489, 490, 3, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 20, 21, 22, 23, 24, 25, 26, 27, 28,
+ -1, 30, 31, 32, -1, -1, -1, -1, -1, -1,
+ -1, 40, 41, 42, -1, 44, 45, 46, 47, -1,
+ 49, 50, 51, 52, 53, -1, 55, 56, -1, 58,
+ 59, 60, 61, 62, 63, 64, -1, -1, 67, 68,
+ 69, 70, 71, -1, 73, 74, 75, 76, 77, -1,
+ -1, -1, 81, 82, 83, 84, 85, 86, -1, 88,
+ 89, 90, -1, 92, 93, 94, 95, 96, 97, -1,
+ -1, 100, 101, 102, -1, -1, -1, -1, -1, -1,
+ -1, 110, 111, 112, 113, 114, 115, 116, 117, 118,
+ -1, 120, -1, 122, 123, 124, 125, 126, 127, 128,
+ -1, 130, 131, 132, 133, -1, -1, 136, 137, 138,
+ 139, 140, -1, 142, 143, 144, -1, 146, 147, 148,
+ -1, 150, 151, 152, 153, 154, 155, 156, 157, 158,
+ 159, -1, 161, -1, 163, 164, 165, 166, 167, -1,
+ 169, -1, 171, 172, -1, -1, -1, 176, 177, 178,
+ 179, -1, 181, 182, -1, 184, 185, 186, -1, 188,
+ 189, 190, 191, 192, -1, 194, 195, 196, 197, -1,
+ 199, 200, 201, 202, 203, 204, 205, 206, -1, 208,
+ -1, 210, 211, 212, 213, 214, 215, 216, -1, 218,
+ -1, 220, -1, -1, 223, -1, 225, 226, 227, 228,
+ 229, 230, 231, 232, 233, 234, 235, -1, -1, 238,
+ 239, -1, 241, -1, -1, 244, 245, 246, -1, -1,
+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
+ 259, 260, 261, 262, 263, 264, 265, 266, 267, -1,
+ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
+ 279, -1, 281, 282, -1, 284, -1, 286, 287, 288,
+ 289, 290, 291, -1, 293, 294, -1, -1, 297, 298,
+ 299, -1, -1, 302, 303, 304, -1, 306, -1, 308,
+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
+ -1, 320, 321, 322, 323, 324, 325, 326, 327, -1,
+ 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, -1, 345, 346, 347, 348,
+ 349, 350, 351, 352, 353, 354, 355, 356, 357, -1,
+ 359, 360, -1, 362, 363, 364, 365, 366, 367, 368,
+ 369, 370, 371, 372, 373, 374, 375, 376, 377, -1,
+ 379, 380, 381, 382, 383, -1, 385, 386, 387, 388,
+ 389, -1, 391, 392, 393, 394, -1, 396, 397, 398,
+ 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
+ 409, 410, -1, 412, 413, -1, -1, 416, -1, 418,
+ 419, 420, 421, 422, -1, 424, 425, 426, -1, -1,
+ 429, 430, 431, 432, 433, -1, 435, 436, 437, 438,
+ 439, 440, 441, 442, -1, -1, 445, 446, 447, 448,
+ 449, -1, -1, 452, 453, 454, 455, 456, 457, 458,
+ -1, 460, -1, 462, 463, 464, 465, -1, -1, 468,
+ -1, -1, 471, 472, 473, 474, 475, 476, 477, 478,
+ 479, 480, 481, 482, 483, 484, 485, 486, 487, 488,
+ 489, 490, 3, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 20,
+ 21, 22, 23, 24, 25, 26, 27, 28, -1, 30,
+ 31, 32, -1, -1, -1, -1, -1, -1, -1, 40,
+ 41, 42, -1, 44, 45, 46, 47, -1, 49, 50,
+ 51, 52, 53, -1, 55, 56, -1, 58, 59, 60,
+ 61, 62, 63, 64, -1, -1, 67, 68, 69, 70,
+ 71, -1, 73, 74, 75, 76, 77, -1, -1, -1,
+ 81, 82, 83, 84, 85, 86, -1, 88, 89, 90,
+ -1, 92, 93, 94, 95, 96, 97, -1, -1, 100,
+ 101, 102, -1, -1, -1, -1, -1, -1, -1, 110,
+ 111, 112, 113, 114, 115, 116, 117, 118, -1, 120,
+ -1, 122, 123, 124, 125, 126, 127, 128, -1, 130,
+ 131, 132, 133, -1, -1, 136, 137, 138, 139, 140,
+ -1, 142, 143, 144, -1, 146, 147, 148, -1, 150,
+ 151, 152, 153, 154, 155, 156, 157, 158, 159, -1,
+ 161, -1, 163, 164, 165, 166, 167, -1, 169, -1,
+ 171, 172, -1, -1, -1, 176, 177, 178, 179, -1,
+ 181, 182, -1, 184, 185, 186, -1, 188, 189, 190,
+ 191, 192, -1, 194, 195, 196, 197, -1, 199, 200,
+ 201, 202, 203, 204, 205, 206, -1, 208, -1, 210,
+ 211, 212, 213, 214, 215, 216, -1, 218, -1, 220,
+ -1, -1, 223, -1, 225, 226, 227, 228, 229, 230,
+ 231, 232, 233, 234, 235, -1, -1, 238, 239, -1,
+ 241, -1, -1, 244, 245, 246, -1, -1, 249, 250,
+ 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
+ 261, 262, 263, 264, 265, 266, 267, -1, 269, 270,
+ 271, 272, 273, 274, 275, 276, 277, 278, 279, -1,
+ 281, 282, -1, 284, -1, 286, 287, 288, 289, 290,
+ 291, -1, 293, 294, -1, -1, 297, 298, 299, -1,
+ -1, 302, 303, 304, -1, 306, -1, 308, 309, 310,
+ 311, 312, 313, 314, 315, 316, 317, 318, -1, 320,
+ 321, 322, 323, 324, 325, 326, 327, -1, 329, 330,
+ 331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
+ 341, 342, 343, -1, 345, 346, 347, 348, 349, 350,
+ 351, 352, 353, 354, 355, 356, 357, -1, 359, 360,
+ -1, 362, 363, 364, 365, 366, 367, 368, 369, 370,
+ 371, 372, 373, 374, 375, 376, 377, -1, 379, 380,
+ 381, 382, 383, -1, 385, 386, 387, 388, 389, -1,
+ 391, 392, 393, 394, -1, 396, 397, 398, 399, 400,
+ 401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
+ -1, 412, 413, -1, -1, 416, -1, 418, 419, 420,
+ 421, 422, -1, 424, 425, 426, -1, -1, 429, 430,
+ 431, 432, 433, -1, 435, 436, 437, 438, 439, 440,
+ 441, 442, -1, -1, 445, 446, 447, 448, 449, -1,
+ -1, 452, 453, 454, 455, 456, 457, 458, -1, 460,
+ -1, 462, 463, 464, 465, -1, -1, 468, -1, -1,
+ 471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
+ 481, 482, 483, 484, 485, 486, 487, 488, 489, 490,
+ 3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 20, 21, 22,
+ 23, 24, 25, 26, 27, 28, -1, 30, 31, 32,
+ -1, -1, -1, -1, -1, -1, -1, 40, 41, 42,
+ -1, 44, 45, 46, 47, -1, 49, 50, 51, 52,
+ 53, -1, 55, 56, -1, 58, 59, 60, 61, 62,
+ 63, 64, -1, -1, 67, 68, 69, 70, 71, -1,
+ 73, 74, 75, 76, 77, -1, -1, -1, 81, 82,
+ 83, 84, 85, 86, -1, 88, 89, 90, -1, 92,
+ 93, 94, 95, 96, 97, -1, -1, 100, 101, 102,
+ -1, -1, -1, -1, -1, -1, -1, 110, 111, 112,
+ 113, 114, 115, 116, 117, 118, -1, 120, -1, 122,
+ 123, 124, 125, 126, 127, 128, -1, 130, 131, 132,
+ 133, -1, -1, 136, 137, 138, 139, 140, -1, 142,
+ 143, 144, -1, 146, 147, 148, -1, 150, 151, 152,
+ 153, 154, 155, 156, 157, 158, 159, -1, 161, -1,
+ 163, 164, 165, 166, 167, -1, 169, -1, 171, 172,
+ -1, -1, -1, 176, 177, 178, 179, -1, 181, 182,
+ -1, 184, 185, 186, -1, 188, 189, 190, 191, 192,
+ -1, 194, 195, 196, 197, -1, 199, 200, 201, 202,
+ 203, 204, 205, 206, -1, 208, -1, 210, 211, 212,
+ 213, 214, 215, 216, -1, 218, -1, 220, -1, -1,
+ 223, -1, 225, 226, 227, 228, 229, 230, 231, 232,
+ 233, 234, 235, -1, -1, 238, 239, -1, 241, -1,
+ -1, 244, 245, 246, -1, -1, 249, 250, 251, 252,
+ 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
+ 263, 264, 265, 266, 267, -1, 269, 270, 271, 272,
+ 273, 274, 275, 276, 277, 278, 279, -1, 281, 282,
+ -1, 284, -1, 286, 287, 288, 289, 290, 291, -1,
+ 293, 294, -1, -1, 297, 298, 299, -1, -1, 302,
+ 303, 304, -1, 306, -1, 308, 309, 310, 311, 312,
+ 313, 314, 315, 316, 317, 318, -1, 320, 321, 322,
+ 323, 324, 325, 326, 327, -1, 329, 330, 331, 332,
+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342,
+ 343, -1, 345, 346, 347, 348, 349, 350, 351, 352,
+ 353, 354, 355, 356, 357, -1, 359, 360, -1, 362,
+ 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
+ 373, 374, 375, 376, 377, -1, 379, 380, 381, 382,
+ 383, -1, 385, 386, 387, 388, 389, -1, 391, 392,
+ 393, 394, -1, 396, 397, 398, 399, 400, 401, 402,
+ 403, 404, 405, 406, 407, 408, 409, 410, -1, 412,
+ 413, -1, -1, 416, -1, 418, 419, 420, 421, 422,
+ -1, 424, 425, 426, -1, -1, 429, 430, 431, 432,
+ 433, -1, 435, 436, 437, 438, 439, 440, 441, 442,
+ -1, -1, 445, 446, 447, 448, 449, -1, -1, 452,
+ 453, 454, 455, 456, 457, 458, -1, 460, -1, 462,
+ 463, 464, 465, -1, -1, 468, -1, -1, 471, 472,
+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482,
+ 483, 484, 485, 486, 487, 488, 489, 490, 3, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, -1, 30, 31, 32, -1, -1,
+ -1, -1, -1, -1, -1, 40, 41, 42, -1, 44,
+ 45, 46, 47, -1, 49, 50, 51, 52, 53, -1,
+ 55, 56, -1, 58, 59, 60, 61, 62, 63, 64,
+ -1, -1, 67, 68, 69, 70, 71, -1, 73, 74,
+ 75, 76, 77, -1, -1, -1, 81, 82, 83, 84,
+ 85, 86, -1, 88, 89, 90, -1, 92, 93, 94,
+ 95, 96, 97, -1, -1, 100, 101, 102, -1, -1,
+ -1, -1, -1, -1, -1, 110, 111, 112, 113, 114,
+ 115, 116, 117, 118, -1, 120, -1, 122, 123, 124,
+ 125, 126, 127, 128, -1, 130, 131, 132, 133, -1,
+ -1, 136, 137, 138, 139, 140, -1, 142, 143, 144,
+ -1, 146, 147, 148, -1, 150, 151, 152, 153, 154,
+ 155, 156, 157, 158, 159, -1, 161, -1, 163, 164,
+ 165, 166, 167, -1, 169, -1, 171, 172, -1, -1,
+ -1, 176, 177, 178, 179, -1, 181, 182, -1, 184,
+ 185, 186, -1, 188, 189, 190, 191, 192, -1, 194,
+ 195, 196, 197, -1, 199, 200, 201, 202, 203, 204,
+ 205, 206, -1, 208, -1, 210, 211, 212, 213, 214,
+ 215, 216, -1, 218, -1, 220, -1, -1, 223, -1,
+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
+ 235, -1, -1, 238, 239, -1, 241, -1, -1, 244,
+ 245, 246, -1, -1, 249, 250, 251, 252, 253, 254,
+ 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
+ 265, 266, 267, -1, 269, 270, 271, 272, 273, 274,
+ 275, 276, 277, 278, 279, -1, 281, 282, -1, 284,
+ -1, 286, 287, 288, 289, 290, 291, -1, 293, 294,
+ -1, -1, 297, 298, 299, -1, -1, 302, 303, 304,
+ -1, 306, -1, 308, 309, 310, 311, 312, 313, 314,
+ 315, 316, 317, 318, -1, 320, 321, 322, 323, 324,
+ 325, 326, 327, -1, 329, 330, 331, 332, 333, 334,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, -1,
+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
+ 355, 356, 357, -1, 359, 360, -1, 362, 363, 364,
+ 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
+ 375, 376, 377, -1, 379, 380, 381, 382, 383, -1,
+ 385, 386, 387, 388, 389, -1, 391, 392, 393, 394,
+ -1, 396, 397, 398, 399, 400, 401, 402, 403, 404,
+ 405, 406, 407, 408, 409, 410, -1, 412, 413, -1,
+ -1, 416, -1, 418, 419, 420, 421, 422, -1, 424,
+ 425, 426, -1, -1, 429, 430, 431, 432, 433, -1,
+ 435, 436, 437, 438, 439, 440, 441, 442, -1, -1,
+ 445, 446, 447, 448, 449, -1, -1, 452, 453, 454,
+ 455, 456, 457, 458, -1, 460, -1, 462, 463, 464,
+ 465, -1, -1, 468, -1, -1, 471, 472, 473, 474,
+ 475, 476, 477, 478, 479, 480, 481, 482, 483, 484,
+ 485, 486, 487, 488, 489, 490, 3, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 20, 21, 22, 23, 24, 25, 26,
+ 27, 28, -1, 30, 31, 32, -1, -1, -1, -1,
+ -1, -1, -1, 40, 41, 42, -1, 44, 45, 46,
+ 47, -1, 49, 50, 51, 52, 53, -1, 55, 56,
+ -1, 58, 59, 60, 61, 62, 63, 64, -1, -1,
+ 67, 68, 69, 70, 71, -1, 73, 74, 75, 76,
+ 77, -1, -1, -1, 81, 82, 83, 84, 85, 86,
+ -1, 88, 89, 90, -1, 92, 93, 94, 95, 96,
+ 97, -1, -1, 100, 101, 102, -1, -1, -1, -1,
+ -1, -1, -1, 110, 111, 112, 113, 114, 115, 116,
+ 117, 118, -1, 120, -1, 122, 123, 124, 125, 126,
+ 127, 128, -1, 130, 131, 132, 133, -1, -1, 136,
+ 137, 138, 139, 140, -1, 142, 143, 144, -1, 146,
+ 147, 148, -1, 150, 151, 152, 153, 154, 155, 156,
+ 157, 158, 159, -1, 161, -1, 163, 164, 165, 166,
+ 167, -1, 169, -1, 171, 172, -1, -1, -1, 176,
+ 177, 178, 179, -1, 181, 182, -1, 184, 185, 186,
+ -1, 188, 189, 190, 191, 192, -1, 194, 195, 196,
+ 197, -1, 199, 200, 201, 202, 203, 204, 205, 206,
+ -1, 208, -1, 210, 211, 212, 213, 214, 215, 216,
+ -1, 218, -1, 220, -1, -1, 223, -1, 225, 226,
+ 227, 228, 229, 230, 231, 232, 233, 234, 235, -1,
+ -1, 238, 239, -1, 241, -1, -1, 244, 245, 246,
+ -1, -1, 249, 250, 251, 252, 253, 254, 255, 256,
+ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
+ 267, -1, 269, 270, 271, 272, 273, 274, 275, 276,
+ 277, 278, 279, -1, 281, 282, -1, 284, -1, 286,
+ 287, 288, 289, 290, 291, -1, 293, 294, -1, -1,
+ 297, 298, 299, -1, -1, 302, 303, 304, -1, 306,
+ -1, 308, 309, 310, 311, 312, 313, 314, 315, 316,
+ 317, 318, -1, 320, 321, 322, 323, 324, 325, 326,
+ 327, -1, 329, 330, 331, 332, 333, 334, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, -1, 345, 346,
+ 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
+ 357, -1, 359, 360, -1, 362, 363, 364, 365, 366,
+ 367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
+ 377, -1, 379, 380, 381, 382, 383, -1, 385, 386,
+ 387, 388, 389, -1, 391, 392, 393, 394, -1, 396,
+ 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
+ 407, 408, 409, 410, -1, 412, 413, -1, -1, 416,
+ -1, 418, 419, 420, 421, 422, -1, 424, 425, 426,
+ -1, -1, 429, 430, 431, 432, 433, -1, 435, 436,
+ 437, 438, 439, 440, 441, 442, -1, -1, 445, 446,
+ 447, 448, 449, -1, -1, 452, 453, 454, 455, 456,
+ 457, 458, -1, 460, -1, 462, 463, 464, 465, -1,
+ -1, 468, -1, -1, 471, 472, 473, 474, 475, 476,
+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486,
+ 487, 488, 489, 490, 3, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 20, 21, 22, 23, 24, 25, 26, 27, 28,
+ -1, 30, 31, 32, -1, -1, -1, -1, -1, -1,
+ -1, 40, 41, 42, -1, 44, 45, 46, 47, -1,
+ 49, 50, 51, 52, 53, -1, 55, 56, -1, 58,
+ 59, 60, 61, 62, 63, 64, -1, -1, 67, 68,
+ 69, 70, 71, -1, 73, 74, 75, 76, 77, -1,
+ -1, -1, 81, 82, 83, 84, 85, 86, -1, 88,
+ 89, 90, -1, 92, 93, 94, 95, 96, 97, -1,
+ -1, 100, 101, 102, -1, -1, -1, -1, -1, -1,
+ -1, 110, 111, 112, 113, 114, 115, 116, 117, 118,
+ -1, 120, -1, 122, 123, 124, 125, 126, 127, 128,
+ -1, 130, 131, 132, 133, -1, -1, 136, 137, 138,
+ 139, 140, -1, 142, 143, 144, -1, 146, 147, 148,
+ -1, 150, 151, 152, 153, 154, 155, 156, 157, 158,
+ 159, -1, 161, -1, 163, 164, 165, 166, 167, -1,
+ 169, -1, 171, 172, -1, -1, -1, 176, 177, 178,
+ 179, -1, 181, 182, -1, 184, 185, 186, -1, 188,
+ 189, 190, 191, 192, -1, 194, 195, 196, 197, -1,
+ 199, 200, 201, 202, 203, 204, 205, 206, -1, 208,
+ -1, 210, 211, 212, 213, 214, 215, 216, -1, 218,
+ -1, 220, -1, -1, 223, -1, 225, 226, 227, 228,
+ 229, 230, 231, 232, 233, 234, 235, -1, -1, 238,
+ 239, -1, 241, -1, -1, 244, 245, 246, -1, -1,
+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
+ 259, 260, 261, 262, 263, 264, 265, 266, 267, -1,
+ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
+ 279, -1, 281, 282, -1, 284, -1, 286, 287, 288,
+ 289, 290, 291, -1, 293, 294, -1, -1, 297, 298,
+ 299, -1, -1, 302, 303, 304, -1, 306, -1, 308,
+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
+ -1, 320, 321, 322, 323, 324, 325, 326, 327, -1,
+ 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, -1, 345, 346, 347, 348,
+ 349, 350, 351, 352, 353, 354, 355, 356, 357, -1,
+ 359, 360, -1, 362, 363, 364, 365, 366, 367, 368,
+ 369, 370, 371, 372, 373, 374, 375, 376, 377, -1,
+ 379, 380, 381, 382, 383, -1, 385, 386, 387, 388,
+ 389, -1, 391, 392, 393, 394, -1, 396, 397, 398,
+ 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
+ 409, 410, -1, 412, 413, -1, -1, 416, -1, 418,
+ 419, 420, 421, 422, -1, 424, 425, 426, -1, -1,
+ 429, 430, 431, 432, 433, -1, 435, 436, 437, 438,
+ 439, 440, 441, 442, -1, -1, 445, 446, 447, 448,
+ 449, -1, -1, 452, 453, 454, 455, 456, 457, 458,
+ -1, 460, -1, 462, 463, 464, 465, -1, -1, 468,
+ -1, -1, 471, 472, 473, 474, 475, 476, 477, 478,
+ 479, 480, 481, 482, 483, 484, 485, 486, 487, 488,
+ 489, 490, 3, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 20,
+ 21, 22, 23, 24, 25, 26, 27, 28, -1, 30,
+ 31, 32, -1, -1, -1, -1, -1, -1, -1, 40,
+ 41, 42, -1, 44, 45, 46, 47, -1, 49, 50,
+ 51, 52, 53, -1, 55, 56, -1, 58, 59, 60,
+ 61, 62, 63, 64, -1, -1, 67, 68, 69, 70,
+ 71, -1, 73, 74, 75, 76, 77, -1, -1, -1,
+ 81, 82, 83, 84, 85, 86, -1, 88, 89, 90,
+ -1, 92, 93, 94, 95, 96, 97, -1, -1, 100,
+ 101, 102, -1, -1, -1, -1, -1, -1, -1, 110,
+ 111, 112, 113, 114, 115, 116, 117, 118, -1, 120,
+ -1, 122, 123, 124, 125, 126, 127, 128, -1, 130,
+ 131, 132, 133, -1, -1, 136, 137, 138, 139, 140,
+ -1, 142, 143, 144, -1, 146, 147, 148, -1, 150,
+ 151, 152, 153, 154, 155, 156, 157, 158, 159, -1,
+ 161, -1, 163, 164, 165, 166, 167, -1, 169, -1,
+ 171, 172, -1, -1, -1, 176, 177, 178, 179, -1,
+ 181, 182, -1, 184, 185, 186, -1, 188, 189, 190,
+ 191, 192, -1, 194, 195, 196, 197, -1, 199, 200,
+ 201, 202, 203, 204, 205, 206, -1, 208, -1, 210,
+ 211, 212, 213, 214, 215, 216, -1, 218, -1, 220,
+ -1, -1, 223, -1, 225, 226, 227, 228, 229, 230,
+ 231, 232, 233, 234, 235, -1, -1, 238, 239, -1,
+ 241, -1, -1, 244, 245, 246, -1, -1, 249, 250,
+ 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
+ 261, 262, 263, 264, 265, 266, 267, -1, 269, 270,
+ 271, 272, 273, 274, 275, 276, 277, 278, 279, -1,
+ 281, 282, -1, 284, -1, 286, 287, 288, 289, 290,
+ 291, -1, 293, 294, -1, -1, 297, 298, 299, -1,
+ -1, 302, 303, 304, -1, 306, -1, 308, 309, 310,
+ 311, 312, 313, 314, 315, 316, 317, 318, -1, 320,
+ 321, 322, 323, 324, 325, 326, 327, -1, 329, 330,
+ 331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
+ 341, 342, 343, -1, 345, 346, 347, 348, 349, 350,
+ 351, 352, 353, 354, 355, 356, 357, -1, 359, 360,
+ -1, 362, 363, 364, 365, 366, 367, 368, 369, 370,
+ 371, 372, 373, 374, 375, 376, 377, -1, 379, 380,
+ 381, 382, 383, -1, 385, 386, 387, 388, 389, -1,
+ 391, 392, 393, 394, -1, 396, 397, 398, 399, 400,
+ 401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
+ -1, 412, 413, -1, -1, 416, -1, 418, 419, 420,
+ 421, 422, -1, 424, 425, 426, -1, -1, 429, 430,
+ 431, 432, 433, -1, 435, 436, 437, 438, 439, 440,
+ 441, 442, -1, -1, 445, 446, 447, 448, 449, -1,
+ -1, 452, 453, 454, 455, 456, 457, 458, -1, 460,
+ -1, 462, 463, 464, 465, -1, -1, 468, -1, -1,
+ 471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
+ 481, 482, 483, 484, 485, 486, 487, 488, 489, 490,
+ 3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 20, 21, 22,
+ 23, 24, 25, 26, 27, 28, -1, 30, 31, 32,
+ -1, -1, -1, -1, -1, -1, -1, 40, 41, 42,
+ -1, 44, 45, 46, 47, -1, 49, 50, 51, 52,
+ 53, -1, 55, 56, -1, 58, 59, 60, 61, 62,
+ 63, 64, -1, -1, 67, 68, 69, 70, 71, -1,
+ 73, 74, 75, 76, 77, -1, -1, -1, 81, 82,
+ 83, 84, 85, 86, -1, 88, 89, 90, -1, 92,
+ 93, 94, 95, 96, 97, -1, -1, 100, 101, 102,
+ -1, -1, -1, -1, -1, -1, -1, 110, 111, 112,
+ 113, 114, 115, 116, 117, 118, -1, 120, -1, 122,
+ 123, 124, 125, 126, 127, 128, -1, 130, 131, 132,
+ 133, -1, -1, 136, 137, 138, 139, 140, -1, 142,
+ 143, 144, -1, 146, 147, 148, -1, 150, 151, 152,
+ 153, 154, 155, 156, 157, 158, 159, -1, 161, -1,
+ 163, 164, 165, 166, 167, -1, 169, -1, 171, 172,
+ -1, -1, -1, 176, 177, 178, 179, -1, 181, 182,
+ -1, 184, 185, 186, -1, 188, 189, 190, 191, 192,
+ -1, 194, 195, 196, 197, -1, 199, 200, 201, 202,
+ 203, 204, 205, 206, -1, 208, -1, 210, 211, 212,
+ 213, 214, 215, 216, -1, 218, -1, 220, -1, -1,
+ 223, -1, 225, 226, 227, 228, 229, 230, 231, 232,
+ 233, 234, 235, -1, -1, 238, 239, -1, 241, -1,
+ -1, 244, 245, 246, -1, -1, 249, 250, 251, 252,
+ 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
+ 263, 264, 265, 266, 267, -1, 269, 270, 271, 272,
+ 273, 274, 275, 276, 277, 278, 279, -1, 281, 282,
+ -1, 284, -1, 286, 287, 288, 289, 290, 291, -1,
+ 293, 294, -1, -1, 297, 298, 299, -1, -1, 302,
+ 303, 304, -1, 306, -1, 308, 309, 310, 311, 312,
+ 313, 314, 315, 316, 317, 318, -1, 320, 321, 322,
+ 323, 324, 325, 326, 327, -1, 329, 330, 331, 332,
+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342,
+ 343, -1, 345, 346, 347, 348, 349, 350, 351, 352,
+ 353, 354, 355, 356, 357, -1, 359, 360, -1, 362,
+ 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
+ 373, 374, 375, 376, 377, -1, 379, 380, 381, 382,
+ 383, -1, 385, 386, 387, 388, 389, -1, 391, 392,
+ 393, 394, -1, 396, 397, 398, 399, 400, 401, 402,
+ 403, 404, 405, 406, 407, 408, 409, 410, -1, 412,
+ 413, -1, -1, 416, -1, 418, 419, 420, 421, 422,
+ -1, 424, 425, 426, -1, -1, 429, 430, 431, 432,
+ 433, -1, 435, 436, 437, 438, 439, 440, 441, 442,
+ -1, -1, 445, 446, 447, 448, 449, -1, -1, 452,
+ 453, 454, 455, 456, 457, 458, -1, 460, -1, 462,
+ 463, 464, 465, -1, -1, 468, -1, -1, 471, 472,
+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482,
+ 483, 484, 485, 486, 487, 488, 489, 490, 3, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, -1, 30, 31, 32, -1, -1,
+ -1, -1, -1, -1, -1, 40, 41, 42, -1, 44,
+ 45, 46, 47, -1, 49, 50, 51, 52, 53, -1,
+ 55, 56, -1, 58, 59, 60, 61, 62, 63, 64,
+ -1, -1, 67, 68, 69, 70, 71, -1, 73, 74,
+ 75, 76, 77, -1, -1, -1, 81, 82, 83, 84,
+ 85, 86, -1, 88, 89, 90, -1, 92, 93, 94,
+ 95, 96, 97, -1, -1, 100, 101, 102, -1, -1,
+ -1, -1, -1, -1, -1, 110, 111, 112, 113, 114,
+ 115, 116, 117, 118, -1, 120, -1, 122, 123, 124,
+ 125, 126, 127, 128, -1, 130, 131, 132, 133, -1,
+ -1, 136, 137, 138, 139, 140, -1, 142, 143, 144,
+ -1, 146, 147, 148, -1, 150, 151, 152, 153, 154,
+ 155, 156, 157, 158, 159, -1, 161, -1, 163, 164,
+ 165, 166, 167, -1, 169, -1, 171, 172, -1, -1,
+ -1, 176, 177, 178, 179, -1, 181, 182, -1, 184,
+ 185, 186, -1, 188, 189, 190, 191, 192, -1, 194,
+ 195, 196, 197, -1, 199, 200, 201, 202, 203, 204,
+ 205, 206, -1, 208, -1, 210, 211, 212, 213, 214,
+ 215, 216, -1, 218, -1, 220, -1, -1, 223, -1,
+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
+ 235, -1, -1, 238, 239, -1, 241, -1, -1, 244,
+ 245, 246, -1, -1, 249, 250, 251, 252, 253, 254,
+ 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
+ 265, 266, 267, -1, 269, 270, 271, 272, 273, 274,
+ 275, 276, 277, 278, 279, -1, 281, 282, -1, 284,
+ -1, 286, 287, 288, 289, 290, 291, -1, 293, 294,
+ -1, -1, 297, 298, 299, -1, -1, 302, 303, 304,
+ -1, 306, -1, 308, 309, 310, 311, 312, 313, 314,
+ 315, 316, 317, 318, -1, 320, 321, 322, 323, 324,
+ 325, 326, 327, -1, 329, 330, 331, 332, 333, 334,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, -1,
+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
+ 355, 356, 357, -1, 359, 360, -1, 362, 363, 364,
+ 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
+ 375, 376, 377, -1, 379, 380, 381, 382, 383, -1,
+ 385, 386, 387, 388, 389, -1, 391, 392, 393, 394,
+ -1, 396, 397, 398, 399, 400, 401, 402, 403, 404,
+ 405, 406, 407, 408, 409, 410, -1, 412, 413, -1,
+ -1, 416, -1, 418, 419, 420, 421, 422, -1, 424,
+ 425, 426, -1, -1, 429, 430, 431, 432, 433, -1,
+ 435, 436, 437, 438, 439, 440, 441, 442, -1, -1,
+ 445, 446, 447, 448, 449, -1, -1, 452, 453, 454,
+ 455, 456, 457, 458, -1, 460, -1, 462, 463, 464,
+ 465, -1, -1, 468, -1, -1, 471, 472, 473, 474,
+ 475, 476, 477, 478, 479, 480, 481, 482, 483, 484,
+ 485, 486, 487, 488, 489, 490, 3, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 20, 21, 22, 23, 24, 25, 26,
+ 27, 28, -1, 30, 31, 32, -1, -1, -1, -1,
+ -1, -1, -1, 40, 41, 42, -1, 44, 45, 46,
+ 47, -1, 49, 50, 51, 52, 53, -1, 55, 56,
+ -1, 58, 59, 60, 61, 62, 63, 64, -1, -1,
+ 67, 68, 69, 70, 71, -1, 73, 74, 75, 76,
+ 77, -1, -1, -1, 81, 82, 83, 84, 85, 86,
+ -1, 88, 89, 90, -1, 92, 93, 94, 95, 96,
+ 97, -1, -1, 100, 101, 102, -1, -1, -1, -1,
+ -1, -1, -1, 110, 111, 112, 113, 114, 115, 116,
+ 117, 118, -1, 120, -1, 122, 123, 124, 125, 126,
+ 127, 128, -1, 130, 131, 132, 133, -1, -1, 136,
+ 137, 138, 139, 140, -1, 142, 143, 144, -1, 146,
+ 147, 148, -1, 150, 151, 152, 153, 154, 155, 156,
+ 157, 158, 159, -1, 161, -1, 163, 164, 165, 166,
+ 167, -1, 169, -1, 171, 172, -1, -1, -1, 176,
+ 177, 178, 179, -1, 181, 182, -1, 184, 185, 186,
+ -1, 188, 189, 190, 191, 192, -1, 194, 195, 196,
+ 197, -1, 199, 200, 201, 202, 203, 204, 205, 206,
+ -1, 208, -1, 210, 211, 212, 213, 214, 215, 216,
+ -1, 218, -1, 220, -1, -1, 223, -1, 225, 226,
+ 227, 228, 229, 230, 231, 232, 233, 234, 235, -1,
+ -1, 238, 239, -1, 241, -1, -1, 244, 245, 246,
+ -1, -1, 249, 250, 251, 252, 253, 254, 255, 256,
+ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
+ 267, -1, 269, 270, 271, 272, 273, 274, 275, 276,
+ 277, 278, 279, -1, 281, 282, -1, 284, -1, 286,
+ 287, 288, 289, 290, 291, -1, 293, 294, -1, -1,
+ 297, 298, 299, -1, -1, 302, 303, 304, -1, 306,
+ -1, 308, 309, 310, 311, 312, 313, 314, 315, 316,
+ 317, 318, -1, 320, 321, 322, 323, 324, 325, 326,
+ 327, -1, 329, 330, 331, 332, 333, 334, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, -1, 345, 346,
+ 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
+ 357, -1, 359, 360, -1, 362, 363, 364, 365, 366,
+ 367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
+ 377, -1, 379, 380, 381, 382, 383, -1, 385, 386,
+ 387, 388, 389, -1, 391, 392, 393, 394, -1, 396,
+ 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
+ 407, 408, 409, 410, -1, 412, 413, -1, -1, 416,
+ -1, 418, 419, 420, 421, 422, -1, 424, 425, 426,
+ -1, -1, 429, 430, 431, 432, 433, -1, 435, 436,
+ 437, 438, 439, 440, 441, 442, -1, -1, 445, 446,
+ 447, 448, 449, -1, -1, 452, 453, 454, 455, 456,
+ 457, 458, -1, 460, -1, 462, 463, 464, 465, -1,
+ -1, 468, -1, -1, 471, 472, 473, 474, 475, 476,
+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486,
+ 487, 488, 489, 490, 3, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 20, 21, 22, 23, 24, 25, 26, 27, 28,
+ -1, 30, 31, 32, -1, -1, -1, -1, -1, -1,
+ -1, 40, 41, 42, -1, 44, 45, 46, 47, -1,
+ 49, 50, 51, 52, 53, -1, 55, 56, -1, 58,
+ 59, 60, 61, 62, 63, 64, -1, -1, 67, 68,
+ 69, 70, 71, -1, 73, 74, 75, 76, 77, -1,
+ -1, -1, 81, 82, 83, 84, 85, 86, -1, 88,
+ 89, 90, -1, 92, 93, 94, 95, 96, 97, -1,
+ -1, 100, 101, 102, -1, -1, -1, -1, -1, -1,
+ -1, 110, 111, 112, 113, 114, 115, 116, 117, 118,
+ -1, 120, -1, 122, 123, 124, 125, 126, 127, 128,
+ -1, 130, 131, 132, 133, -1, -1, 136, 137, 138,
+ 139, 140, -1, 142, 143, 144, -1, 146, 147, 148,
+ -1, 150, 151, 152, 153, 154, 155, 156, 157, 158,
+ 159, -1, 161, -1, 163, 164, 165, 166, 167, -1,
+ 169, -1, 171, 172, -1, -1, -1, 176, 177, 178,
+ 179, -1, 181, 182, -1, 184, 185, 186, -1, 188,
+ 189, 190, 191, 192, -1, 194, 195, 196, 197, -1,
+ 199, 200, 201, 202, 203, 204, 205, 206, -1, 208,
+ -1, 210, 211, 212, 213, 214, 215, 216, -1, 218,
+ -1, 220, -1, -1, 223, -1, 225, 226, 227, 228,
+ 229, 230, 231, 232, 233, 234, 235, -1, -1, 238,
+ 239, -1, 241, -1, -1, 244, 245, 246, -1, -1,
+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
+ 259, 260, 261, 262, 263, 264, 265, 266, 267, -1,
+ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
+ 279, -1, 281, 282, -1, 284, -1, 286, 287, 288,
+ 289, 290, 291, -1, 293, 294, -1, -1, 297, 298,
+ 299, -1, -1, 302, 303, 304, -1, 306, -1, 308,
+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
+ -1, 320, 321, 322, 323, 324, 325, 326, 327, -1,
+ 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, -1, 345, 346, 347, 348,
+ 349, 350, 351, 352, 353, 354, 355, 356, 357, -1,
+ 359, 360, -1, 362, 363, 364, 365, 366, 367, 368,
+ 369, 370, 371, 372, 373, 374, 375, 376, 377, -1,
+ 379, 380, 381, 382, 383, -1, 385, 386, 387, 388,
+ 389, -1, 391, 392, 393, 394, -1, 396, 397, 398,
+ 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
+ 409, 410, -1, 412, 413, -1, -1, 416, -1, 418,
+ 419, 420, 421, 422, -1, 424, 425, 426, -1, -1,
+ 429, 430, 431, 432, 433, -1, 435, 436, 437, 438,
+ 439, 440, 441, 442, -1, -1, 445, 446, 447, 448,
+ 449, -1, -1, 452, 453, 454, 455, 456, 457, 458,
+ -1, 460, -1, 462, 463, 464, 465, -1, -1, 468,
+ -1, -1, 471, 472, 473, 474, 475, 476, 477, 478,
+ 479, 480, 481, 482, 483, 484, 485, 486, 487, 488,
+ 489, 490, 3, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 20,
+ 21, 22, 23, 24, 25, 26, 27, 28, -1, 30,
+ 31, 32, -1, -1, -1, -1, -1, -1, -1, 40,
+ 41, 42, -1, 44, 45, 46, 47, -1, 49, 50,
+ 51, 52, 53, -1, 55, 56, -1, 58, 59, 60,
+ 61, 62, 63, 64, -1, -1, 67, 68, 69, 70,
+ 71, -1, 73, 74, 75, 76, 77, -1, -1, -1,
+ 81, 82, 83, 84, 85, 86, -1, 88, 89, 90,
+ -1, 92, 93, 94, 95, 96, 97, -1, -1, 100,
+ 101, 102, -1, -1, -1, -1, -1, -1, -1, 110,
+ 111, 112, 113, 114, 115, 116, 117, 118, -1, 120,
+ -1, 122, 123, 124, 125, 126, 127, 128, -1, 130,
+ 131, 132, 133, -1, -1, 136, 137, 138, 139, 140,
+ -1, 142, 143, 144, -1, 146, 147, 148, -1, 150,
+ 151, 152, 153, 154, 155, 156, 157, 158, 159, -1,
+ 161, -1, 163, 164, 165, 166, 167, -1, 169, -1,
+ 171, 172, -1, -1, -1, 176, 177, 178, 179, -1,
+ 181, 182, -1, 184, 185, 186, -1, 188, 189, 190,
+ 191, 192, -1, 194, 195, 196, 197, -1, 199, 200,
+ 201, 202, 203, 204, 205, 206, -1, 208, -1, 210,
+ 211, 212, 213, 214, 215, 216, -1, 218, -1, 220,
+ -1, -1, 223, -1, 225, 226, 227, 228, 229, 230,
+ 231, 232, 233, 234, 235, -1, -1, 238, 239, -1,
+ 241, -1, -1, 244, 245, 246, -1, -1, 249, 250,
+ 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
+ 261, 262, 263, 264, 265, 266, 267, -1, 269, 270,
+ 271, 272, 273, 274, 275, 276, 277, 278, 279, -1,
+ 281, 282, -1, 284, -1, 286, 287, 288, 289, 290,
+ 291, -1, 293, 294, -1, -1, 297, 298, 299, -1,
+ -1, 302, 303, 304, -1, 306, -1, 308, 309, 310,
+ 311, 312, 313, 314, 315, 316, 317, 318, -1, 320,
+ 321, 322, 323, 324, 325, 326, 327, -1, 329, 330,
+ 331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
+ 341, 342, 343, -1, 345, 346, 347, 348, 349, 350,
+ 351, 352, 353, 354, 355, 356, 357, -1, 359, 360,
+ -1, 362, 363, 364, 365, 366, 367, 368, 369, 370,
+ 371, 372, 373, 374, 375, 376, 377, -1, 379, 380,
+ 381, 382, 383, -1, 385, 386, 387, 388, 389, -1,
+ 391, 392, 393, 394, -1, 396, 397, 398, 399, 400,
+ 401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
+ -1, 412, 413, -1, -1, 416, -1, 418, 419, 420,
+ 421, 422, -1, 424, 425, 426, -1, -1, 429, 430,
+ 431, 432, 433, -1, 435, 436, 437, 438, 439, 440,
+ 441, 442, -1, -1, 445, 446, 447, 448, 449, -1,
+ -1, 452, 453, 454, 455, 456, 457, 458, -1, 460,
+ -1, 462, 463, 464, 465, -1, -1, 468, -1, -1,
+ 471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
+ 481, 482, 483, 484, 485, 486, 487, 488, 489, 490,
+ 3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 20, 21, 22,
+ 23, 24, 25, 26, 27, 28, -1, 30, 31, 32,
+ -1, -1, -1, -1, -1, -1, -1, 40, 41, 42,
+ -1, 44, 45, 46, 47, -1, 49, 50, 51, 52,
+ 53, -1, 55, 56, -1, 58, 59, 60, 61, 62,
+ 63, 64, -1, -1, 67, 68, 69, 70, 71, -1,
+ 73, 74, 75, 76, 77, -1, -1, -1, 81, 82,
+ 83, 84, 85, 86, -1, 88, 89, 90, -1, 92,
+ 93, 94, 95, 96, 97, -1, -1, 100, 101, 102,
+ -1, -1, -1, -1, -1, -1, -1, 110, 111, 112,
+ 113, 114, 115, 116, 117, 118, -1, 120, -1, 122,
+ 123, 124, 125, 126, 127, 128, -1, 130, 131, 132,
+ 133, -1, -1, 136, 137, 138, 139, 140, -1, 142,
+ 143, 144, -1, 146, 147, 148, -1, 150, 151, 152,
+ 153, 154, 155, 156, 157, 158, 159, -1, 161, -1,
+ 163, 164, 165, 166, 167, -1, 169, -1, 171, 172,
+ -1, -1, -1, 176, 177, 178, 179, -1, 181, 182,
+ -1, 184, 185, 186, -1, 188, 189, 190, 191, 192,
+ -1, 194, 195, 196, 197, -1, 199, 200, 201, 202,
+ 203, 204, 205, 206, -1, 208, -1, 210, 211, 212,
+ 213, 214, 215, 216, -1, 218, -1, 220, -1, -1,
+ 223, -1, 225, 226, 227, 228, 229, 230, 231, 232,
+ 233, 234, 235, -1, -1, 238, 239, -1, 241, -1,
+ -1, 244, 245, 246, -1, -1, 249, 250, 251, 252,
+ 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
+ 263, 264, 265, 266, 267, -1, 269, 270, 271, 272,
+ 273, 274, 275, 276, 277, 278, 279, -1, 281, 282,
+ -1, 284, -1, 286, 287, 288, 289, 290, 291, -1,
+ 293, 294, -1, -1, 297, 298, 299, -1, -1, 302,
+ 303, 304, -1, 306, -1, 308, 309, 310, 311, 312,
+ 313, 314, 315, 316, 317, 318, -1, 320, 321, 322,
+ 323, 324, 325, 326, 327, -1, 329, 330, 331, 332,
+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342,
+ 343, -1, 345, 346, 347, 348, 349, 350, 351, 352,
+ 353, 354, 355, 356, 357, -1, 359, 360, -1, 362,
+ 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
+ 373, 374, 375, 376, 377, -1, 379, 380, 381, 382,
+ 383, -1, 385, 386, 387, 388, 389, -1, 391, 392,
+ 393, 394, -1, 396, 397, 398, 399, 400, 401, 402,
+ 403, 404, 405, 406, 407, 408, 409, 410, -1, 412,
+ 413, -1, -1, 416, -1, 418, 419, 420, 421, 422,
+ -1, 424, 425, 426, -1, -1, 429, 430, 431, 432,
+ 433, -1, 435, 436, 437, 438, 439, 440, 441, 442,
+ -1, -1, 445, 446, 447, 448, 449, -1, -1, 452,
+ 453, 454, 455, 456, 457, 458, -1, 460, -1, 462,
+ 463, 464, 465, -1, -1, 468, -1, -1, 471, 472,
+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482,
+ 483, 484, 485, 486, 487, 488, 489, 490, 3, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, -1, 30, 31, 32, -1, -1,
+ -1, -1, -1, -1, -1, 40, 41, 42, -1, 44,
+ 45, 46, 47, -1, 49, 50, 51, 52, 53, -1,
+ 55, 56, -1, 58, 59, 60, 61, 62, 63, 64,
+ -1, -1, 67, 68, 69, 70, 71, -1, 73, 74,
+ 75, 76, 77, -1, -1, -1, 81, 82, 83, 84,
+ 85, 86, -1, 88, 89, 90, -1, 92, 93, 94,
+ 95, 96, 97, -1, -1, 100, 101, 102, -1, -1,
+ -1, -1, -1, -1, -1, 110, 111, 112, 113, 114,
+ 115, 116, 117, 118, -1, 120, -1, 122, 123, 124,
+ 125, 126, 127, 128, -1, 130, 131, 132, 133, -1,
+ -1, 136, 137, 138, 139, 140, -1, 142, 143, 144,
+ -1, 146, 147, 148, -1, 150, 151, 152, 153, 154,
+ 155, 156, 157, 158, 159, -1, 161, -1, 163, 164,
+ 165, 166, 167, -1, 169, -1, 171, 172, -1, -1,
+ -1, 176, 177, 178, 179, -1, 181, 182, -1, 184,
+ 185, 186, -1, 188, 189, 190, 191, 192, -1, 194,
+ 195, 196, 197, -1, 199, 200, 201, 202, 203, 204,
+ 205, 206, -1, 208, -1, 210, 211, 212, 213, 214,
+ 215, 216, -1, 218, -1, 220, -1, -1, 223, -1,
+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
+ 235, -1, -1, 238, 239, -1, 241, -1, -1, 244,
+ 245, 246, -1, -1, 249, 250, 251, 252, 253, 254,
+ 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
+ 265, 266, 267, -1, 269, 270, 271, 272, 273, 274,
+ 275, 276, 277, 278, 279, -1, 281, 282, -1, 284,
+ -1, 286, 287, 288, 289, 290, 291, -1, 293, 294,
+ -1, -1, 297, 298, 299, -1, -1, 302, 303, 304,
+ -1, 306, -1, 308, 309, 310, 311, 312, 313, 314,
+ 315, 316, 317, 318, -1, 320, 321, 322, 323, 324,
+ 325, 326, 327, -1, 329, 330, 331, 332, 333, 334,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, -1,
+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
+ 355, 356, 357, -1, 359, 360, -1, 362, 363, 364,
+ 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
+ 375, 376, 377, -1, 379, 380, 381, 382, 383, -1,
+ 385, 386, 387, 388, 389, -1, 391, 392, 393, 394,
+ -1, 396, 397, 398, 399, 400, 401, 402, 403, 404,
+ 405, 406, 407, 408, 409, 410, -1, 412, 413, -1,
+ -1, 416, -1, 418, 419, 420, 421, 422, -1, 424,
+ 425, 426, -1, -1, 429, 430, 431, 432, 433, -1,
+ 435, 436, 437, 438, 439, 440, 441, 442, -1, -1,
+ 445, 446, 447, 448, 449, -1, -1, 452, 453, 454,
+ 455, 456, 457, 458, -1, 460, -1, 462, 463, 464,
+ 465, -1, -1, 468, -1, -1, 471, 472, 473, 474,
+ 475, 476, 477, 478, 479, 480, 481, 482, 483, 484,
+ 485, 486, 487, 488, 489, 490, 3, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 20, 21, 22, 23, 24, 25, 26,
+ 27, 28, -1, 30, 31, 32, -1, -1, -1, -1,
+ -1, -1, -1, 40, 41, 42, -1, 44, 45, 46,
+ 47, -1, 49, 50, 51, 52, 53, -1, 55, 56,
+ -1, 58, 59, 60, 61, 62, 63, 64, -1, -1,
+ 67, 68, 69, 70, 71, -1, 73, 74, 75, 76,
+ 77, -1, -1, -1, 81, 82, 83, 84, 85, 86,
+ -1, 88, 89, 90, -1, 92, 93, 94, 95, 96,
+ 97, -1, -1, 100, 101, 102, -1, -1, -1, -1,
+ -1, -1, -1, 110, 111, 112, 113, 114, 115, 116,
+ 117, 118, -1, 120, -1, 122, 123, 124, 125, 126,
+ 127, 128, -1, 130, 131, 132, 133, -1, -1, 136,
+ 137, 138, 139, 140, -1, 142, 143, 144, -1, 146,
+ 147, 148, -1, 150, 151, 152, 153, 154, 155, 156,
+ 157, 158, 159, -1, 161, -1, 163, 164, 165, 166,
+ 167, -1, 169, -1, 171, 172, -1, -1, -1, 176,
+ 177, 178, 179, -1, 181, 182, -1, 184, 185, 186,
+ -1, 188, 189, 190, 191, 192, -1, 194, 195, 196,
+ 197, -1, 199, 200, 201, 202, 203, 204, 205, 206,
+ -1, 208, -1, 210, 211, 212, 213, 214, 215, 216,
+ -1, 218, -1, 220, -1, -1, 223, -1, 225, 226,
+ 227, 228, 229, 230, 231, 232, 233, 234, 235, -1,
+ -1, 238, 239, -1, 241, -1, -1, 244, 245, 246,
+ -1, -1, 249, 250, 251, 252, 253, 254, 255, 256,
+ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
+ 267, -1, 269, 270, 271, 272, 273, 274, 275, 276,
+ 277, 278, 279, -1, 281, 282, -1, 284, -1, 286,
+ 287, 288, 289, 290, 291, -1, 293, 294, -1, -1,
+ 297, 298, 299, -1, -1, 302, 303, 304, -1, 306,
+ -1, 308, 309, 310, 311, 312, 313, 314, 315, 316,
+ 317, 318, -1, 320, 321, 322, 323, 324, 325, 326,
+ 327, -1, 329, 330, 331, 332, 333, 334, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, -1, 345, 346,
+ 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
+ 357, -1, 359, 360, -1, 362, 363, 364, 365, 366,
+ 367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
+ 377, -1, 379, 380, 381, 382, 383, -1, 385, 386,
+ 387, 388, 389, -1, 391, 392, 393, 394, -1, 396,
+ 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
+ 407, 408, 409, 410, -1, 412, 413, -1, -1, 416,
+ -1, 418, 419, 420, 421, 422, -1, 424, 425, 426,
+ -1, -1, 429, 430, 431, 432, 433, -1, 435, 436,
+ 437, 438, 439, 440, 441, 442, -1, -1, 445, 446,
+ 447, 448, 449, -1, -1, 452, 453, 454, 455, 456,
+ 457, 458, -1, 460, -1, 462, 463, 464, 465, -1,
+ -1, 468, -1, -1, 471, 472, 473, 474, 475, 476,
+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486,
+ 487, 488, 489, 490, 3, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 20, 21, 22, 23, 24, 25, 26, 27, 28,
+ -1, 30, 31, 32, -1, -1, -1, -1, -1, -1,
+ -1, 40, 41, 42, -1, 44, 45, 46, 47, -1,
+ 49, 50, 51, 52, 53, -1, 55, 56, -1, 58,
+ 59, 60, 61, 62, 63, 64, -1, -1, 67, 68,
+ 69, 70, 71, -1, 73, 74, 75, 76, 77, -1,
+ -1, -1, 81, 82, 83, 84, 85, 86, -1, 88,
+ 89, 90, -1, 92, 93, 94, 95, 96, 97, -1,
+ -1, 100, 101, 102, -1, -1, -1, -1, -1, -1,
+ -1, 110, 111, 112, 113, 114, 115, 116, 117, 118,
+ -1, 120, -1, 122, 123, 124, 125, 126, 127, 128,
+ -1, 130, 131, 132, 133, -1, -1, 136, 137, 138,
+ 139, 140, -1, 142, 143, 144, -1, 146, 147, 148,
+ -1, 150, 151, 152, 153, 154, 155, 156, 157, 158,
+ 159, -1, 161, -1, 163, 164, 165, 166, 167, -1,
+ 169, -1, 171, 172, -1, -1, -1, 176, 177, 178,
+ 179, -1, 181, 182, -1, 184, 185, 186, -1, 188,
+ 189, 190, 191, 192, -1, 194, 195, 196, 197, -1,
+ 199, 200, 201, 202, 203, 204, 205, 206, -1, 208,
+ -1, 210, 211, 212, 213, 214, 215, 216, -1, 218,
+ -1, 220, -1, -1, 223, -1, 225, 226, 227, 228,
+ 229, 230, 231, 232, 233, 234, 235, -1, -1, 238,
+ 239, -1, 241, -1, -1, 244, 245, 246, -1, -1,
+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
+ 259, 260, 261, 262, 263, 264, 265, 266, 267, -1,
+ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
+ 279, -1, 281, 282, -1, 284, -1, 286, 287, 288,
+ 289, 290, 291, -1, 293, 294, -1, -1, 297, 298,
+ 299, -1, -1, 302, 303, 304, -1, 306, -1, 308,
+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
+ -1, 320, 321, 322, 323, 324, 325, 326, 327, -1,
+ 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, -1, 345, 346, 347, 348,
+ 349, 350, 351, 352, 353, 354, 355, 356, 357, -1,
+ 359, 360, -1, 362, 363, 364, 365, 366, 367, 368,
+ 369, 370, 371, 372, 373, 374, 375, 376, 377, -1,
+ 379, 380, 381, 382, 383, -1, 385, 386, 387, 388,
+ 389, -1, 391, 392, 393, 394, -1, 396, 397, 398,
+ 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
+ 409, 410, -1, 412, 413, -1, -1, 416, -1, 418,
+ 419, 420, 421, 422, -1, 424, 425, 426, -1, -1,
+ 429, 430, 431, 432, 433, -1, 435, 436, 437, 438,
+ 439, 440, 441, 442, -1, -1, 445, 446, 447, 448,
+ 449, -1, -1, 452, 453, 454, 455, 456, 457, 458,
+ -1, 460, -1, 462, 463, 464, 465, -1, -1, 468,
+ -1, -1, 471, 472, 473, 474, 475, 476, 477, 478,
+ 479, 480, 481, 482, 483, 484, 485, 486, 487, 488,
+ 489, 490, 3, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 20,
+ 21, 22, 23, 24, 25, 26, 27, 28, -1, 30,
+ 31, 32, -1, -1, -1, -1, -1, 38, -1, 40,
+ 41, 42, -1, 44, 45, 46, 47, -1, 49, 50,
+ 51, 52, 53, -1, 55, 56, -1, 58, 59, 60,
+ 61, 62, 63, 64, -1, -1, 67, 68, 69, 70,
+ 71, -1, 73, 74, 75, 76, 77, -1, -1, -1,
+ 81, 82, 83, 84, 85, 86, -1, 88, 89, 90,
+ -1, 92, 93, 94, 95, 96, 97, -1, -1, 100,
+ 101, 102, -1, -1, -1, -1, -1, -1, -1, 110,
+ 111, 112, 113, 114, 115, 116, 117, 118, -1, 120,
+ -1, 122, 123, 124, 125, 126, 127, 128, -1, 130,
+ 131, 132, 133, -1, -1, 136, 137, 138, 139, 140,
+ -1, 142, 143, 144, -1, 146, 147, 148, -1, 150,
+ 151, 152, 153, 154, 155, 156, 157, 158, 159, -1,
+ 161, -1, 163, 164, 165, 166, 167, -1, 169, -1,
+ 171, 172, -1, -1, -1, 176, 177, 178, 179, -1,
+ 181, 182, -1, 184, 185, 186, -1, 188, 189, 190,
+ 191, 192, -1, 194, 195, 196, 197, -1, 199, 200,
+ 201, 202, 203, 204, 205, 206, -1, 208, -1, 210,
+ 211, 212, 213, 214, 215, 216, -1, 218, -1, 220,
+ -1, -1, 223, -1, 225, 226, 227, 228, 229, 230,
+ 231, 232, 233, 234, 235, -1, -1, 238, 239, -1,
+ 241, -1, -1, 244, 245, 246, -1, -1, 249, 250,
+ 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
+ 261, 262, 263, 264, 265, 266, 267, -1, 269, 270,
+ 271, 272, 273, 274, 275, 276, 277, 278, 279, -1,
+ 281, 282, -1, 284, -1, 286, 287, 288, 289, 290,
+ 291, -1, 293, 294, -1, -1, 297, 298, 299, -1,
+ -1, 302, 303, 304, -1, 306, -1, 308, 309, 310,
+ 311, 312, 313, 314, 315, 316, 317, 318, -1, 320,
+ 321, 322, 323, 324, 325, 326, 327, -1, 329, 330,
+ 331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
+ 341, 342, 343, -1, 345, 346, 347, 348, 349, 350,
+ 351, 352, 353, 354, 355, 356, 357, -1, 359, 360,
+ -1, 362, 363, 364, 365, 366, 367, 368, 369, 370,
+ 371, 372, 373, 374, 375, 376, 377, -1, 379, 380,
+ 381, 382, 383, -1, -1, 386, 387, 388, 389, -1,
+ 391, 392, 393, 394, -1, 396, 397, 398, 399, 400,
+ 401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
+ -1, 412, 413, -1, -1, 416, -1, 418, 419, 420,
+ 421, 422, -1, 424, 425, 426, -1, -1, 429, 430,
+ 431, 432, 433, -1, 435, 436, 437, 438, 439, 440,
+ 441, 442, -1, -1, 445, 446, 447, 448, 449, -1,
+ -1, 452, 453, 454, 455, 456, 457, 458, -1, 460,
+ -1, 462, 463, 464, 465, -1, -1, 468, -1, -1,
+ 471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
+ 481, 482, 483, 484, 485, 486, 487, 488, 489, 490,
+ 3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 20, 21, 22,
+ 23, 24, 25, 26, 27, 28, -1, 30, 31, 32,
+ -1, -1, -1, -1, -1, -1, -1, 40, 41, 42,
+ -1, 44, 45, 46, 47, -1, 49, 50, 51, 52,
+ 53, -1, 55, 56, -1, 58, 59, 60, 61, 62,
+ 63, 64, -1, -1, 67, 68, 69, 70, 71, -1,
+ 73, 74, 75, 76, 77, -1, -1, -1, 81, 82,
+ 83, 84, 85, 86, -1, 88, 89, 90, -1, 92,
+ 93, 94, 95, 96, 97, -1, -1, 100, 101, 102,
+ -1, -1, -1, -1, -1, -1, -1, 110, 111, 112,
+ 113, 114, 115, 116, 117, 118, -1, 120, -1, 122,
+ 123, 124, 125, 126, 127, 128, -1, 130, 131, 132,
+ 133, -1, -1, 136, 137, 138, 139, 140, -1, 142,
+ 143, 144, -1, 146, 147, 148, -1, 150, 151, 152,
+ 153, 154, 155, 156, 157, 158, 159, -1, 161, -1,
+ 163, 164, 165, 166, 167, -1, 169, -1, 171, 172,
+ -1, -1, -1, 176, 177, 178, 179, -1, 181, 182,
+ -1, 184, 185, 186, -1, 188, 189, 190, 191, 192,
+ -1, 194, 195, 196, 197, -1, 199, 200, 201, 202,
+ 203, 204, 205, 206, -1, 208, -1, 210, 211, 212,
+ 213, 214, 215, 216, -1, 218, -1, 220, -1, -1,
+ 223, -1, 225, 226, 227, 228, 229, 230, 231, 232,
+ 233, 234, 235, -1, -1, 238, 239, -1, 241, -1,
+ -1, 244, 245, 246, -1, -1, 249, 250, 251, 252,
+ 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
+ 263, 264, 265, 266, 267, -1, 269, 270, 271, 272,
+ 273, 274, 275, 276, 277, 278, 279, -1, 281, 282,
+ -1, 284, -1, 286, 287, 288, 289, 290, 291, -1,
+ 293, 294, -1, -1, 297, 298, 299, -1, -1, 302,
+ 303, 304, -1, 306, -1, 308, 309, 310, 311, 312,
+ 313, 314, 315, 316, 317, 318, -1, 320, 321, 322,
+ 323, 324, 325, 326, 327, -1, 329, 330, 331, 332,
+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342,
+ 343, -1, 345, 346, 347, 348, 349, 350, 351, 352,
+ 353, 354, 355, 356, 357, -1, 359, 360, -1, 362,
+ 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
+ 373, 374, 375, 376, 377, -1, 379, 380, 381, 382,
+ 383, -1, 385, 386, 387, 388, 389, -1, 391, 392,
+ 393, 394, -1, 396, 397, 398, 399, 400, 401, 402,
+ 403, 404, 405, 406, 407, 408, 409, 410, -1, 412,
+ 413, -1, -1, 416, -1, 418, 419, 420, 421, 422,
+ -1, 424, 425, 426, -1, -1, 429, 430, 431, 432,
+ 433, -1, 435, 436, 437, 438, 439, 440, 441, 442,
+ -1, -1, 445, 446, 447, 448, 449, -1, -1, 452,
+ 453, 454, 455, 456, 457, 458, -1, 460, -1, 462,
+ 463, 464, 465, -1, -1, 468, -1, -1, 471, 472,
+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482,
+ 483, 484, 485, 486, 487, 488, 489, 490, 3, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, -1, 30, 31, 32, -1, -1,
+ -1, -1, -1, -1, -1, 40, 41, 42, -1, 44,
+ 45, 46, 47, -1, 49, 50, 51, 52, 53, -1,
+ 55, 56, -1, 58, 59, 60, 61, 62, 63, 64,
+ -1, -1, 67, 68, 69, 70, 71, -1, 73, 74,
+ 75, 76, 77, -1, -1, -1, 81, 82, 83, 84,
+ 85, 86, -1, 88, 89, 90, -1, 92, 93, 94,
+ 95, 96, 97, -1, -1, 100, 101, 102, -1, -1,
+ -1, -1, -1, -1, -1, 110, 111, 112, 113, 114,
+ 115, 116, 117, 118, -1, 120, -1, 122, 123, 124,
+ 125, 126, 127, 128, -1, 130, 131, 132, 133, -1,
+ -1, 136, 137, 138, 139, 140, -1, 142, 143, 144,
+ -1, 146, 147, 148, -1, 150, 151, 152, 153, 154,
+ 155, 156, 157, 158, 159, -1, 161, -1, 163, 164,
+ 165, 166, 167, -1, 169, -1, 171, 172, -1, -1,
+ -1, 176, 177, 178, 179, -1, 181, 182, -1, 184,
+ 185, 186, -1, 188, 189, 190, 191, 192, -1, 194,
+ 195, 196, 197, -1, 199, 200, 201, 202, 203, 204,
+ 205, 206, -1, 208, -1, 210, 211, 212, 213, 214,
+ 215, 216, -1, 218, -1, 220, -1, -1, 223, -1,
+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
+ 235, -1, -1, 238, 239, -1, 241, -1, -1, 244,
+ 245, 246, -1, -1, 249, 250, 251, 252, 253, 254,
+ 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
+ 265, 266, 267, -1, 269, 270, 271, 272, 273, 274,
+ 275, 276, 277, 278, 279, -1, 281, 282, -1, 284,
+ -1, 286, 287, 288, 289, 290, 291, -1, 293, 294,
+ -1, -1, 297, 298, 299, -1, -1, 302, 303, 304,
+ -1, 306, -1, 308, 309, 310, 311, 312, 313, 314,
+ 315, 316, 317, 318, -1, 320, 321, 322, 323, 324,
+ 325, 326, 327, -1, 329, 330, 331, 332, 333, 334,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, -1,
+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
+ 355, 356, 357, -1, 359, 360, -1, 362, 363, 364,
+ 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
+ 375, 376, 377, -1, 379, 380, 381, 382, 383, -1,
+ 385, 386, 387, 388, 389, -1, 391, 392, 393, 394,
+ -1, 396, 397, 398, 399, 400, 401, 402, 403, 404,
+ 405, 406, 407, 408, 409, 410, -1, 412, 413, -1,
+ -1, 416, -1, 418, 419, 420, 421, 422, -1, 424,
+ 425, 426, -1, -1, 429, 430, 431, 432, 433, -1,
+ 435, 436, 437, 438, 439, 440, 441, 442, -1, -1,
+ 445, 446, 447, 448, 449, -1, -1, 452, 453, 454,
+ 455, 456, 457, 458, -1, 460, -1, 462, 463, 464,
+ 465, -1, -1, 468, -1, -1, 471, 472, 473, 474,
+ 475, 476, 477, 478, 479, 480, 481, 482, 483, 484,
+ 485, 486, 487, 488, 489, 490, 3, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 20, 21, 22, 23, 24, 25, 26,
+ 27, 28, -1, 30, 31, 32, -1, -1, -1, -1,
+ -1, -1, -1, 40, 41, 42, -1, 44, 45, 46,
+ 47, -1, 49, 50, 51, 52, 53, -1, 55, 56,
+ -1, 58, 59, 60, 61, 62, 63, 64, -1, -1,
+ 67, 68, 69, 70, 71, -1, 73, 74, 75, 76,
+ 77, -1, -1, -1, 81, 82, 83, 84, 85, 86,
+ -1, 88, 89, 90, -1, 92, 93, 94, 95, 96,
+ 97, -1, -1, 100, 101, 102, -1, -1, -1, -1,
+ -1, -1, -1, 110, 111, 112, 113, 114, 115, 116,
+ 117, 118, -1, 120, -1, 122, 123, 124, 125, 126,
+ 127, 128, -1, 130, 131, 132, 133, -1, -1, 136,
+ 137, 138, 139, 140, -1, 142, 143, 144, -1, 146,
+ 147, 148, -1, 150, 151, 152, 153, 154, 155, 156,
+ 157, 158, 159, -1, 161, -1, 163, 164, 165, 166,
+ 167, -1, 169, -1, 171, 172, -1, -1, -1, 176,
+ 177, 178, 179, -1, 181, 182, -1, 184, 185, 186,
+ -1, 188, 189, 190, 191, 192, -1, 194, 195, 196,
+ 197, -1, 199, 200, 201, 202, 203, 204, 205, 206,
+ -1, 208, -1, 210, 211, 212, 213, 214, 215, 216,
+ -1, 218, -1, 220, -1, -1, 223, -1, 225, 226,
+ 227, 228, 229, 230, 231, 232, 233, 234, 235, -1,
+ -1, 238, 239, -1, 241, -1, -1, 244, 245, 246,
+ -1, -1, 249, 250, 251, 252, 253, 254, 255, 256,
+ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
+ 267, -1, 269, 270, 271, 272, 273, 274, 275, 276,
+ 277, 278, 279, -1, 281, 282, -1, 284, -1, 286,
+ 287, 288, 289, 290, 291, -1, 293, 294, -1, -1,
+ 297, 298, 299, -1, -1, 302, 303, 304, -1, 306,
+ -1, 308, 309, 310, 311, 312, 313, 314, 315, 316,
+ 317, 318, -1, 320, 321, 322, 323, 324, 325, 326,
+ 327, -1, 329, 330, 331, 332, 333, 334, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, -1, 345, 346,
+ 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
+ 357, -1, 359, 360, -1, 362, 363, 364, 365, 366,
+ 367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
+ 377, -1, 379, 380, 381, 382, 383, -1, 385, 386,
+ 387, 388, 389, -1, 391, 392, 393, 394, -1, 396,
+ 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
+ 407, 408, 409, 410, -1, 412, 413, -1, -1, 416,
+ -1, 418, 419, 420, 421, 422, -1, 424, 425, 426,
+ -1, -1, 429, 430, 431, 432, 433, -1, 435, 436,
+ 437, 438, 439, 440, 441, 442, -1, -1, 445, 446,
+ 447, 448, 449, -1, -1, 452, 453, 454, 455, 456,
+ 457, 458, -1, 460, -1, 462, 463, 464, 465, -1,
+ -1, 468, -1, -1, 471, 472, 473, 474, 475, 476,
+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486,
+ 487, 488, 489, 490, 3, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 20, 21, 22, 23, 24, 25, 26, 27, 28,
+ -1, 30, 31, 32, -1, -1, -1, -1, -1, -1,
+ -1, 40, 41, 42, -1, 44, 45, 46, 47, -1,
+ 49, 50, 51, 52, 53, -1, 55, 56, -1, 58,
+ 59, 60, 61, 62, 63, 64, -1, -1, 67, 68,
+ 69, 70, 71, -1, 73, 74, 75, 76, 77, -1,
+ -1, -1, 81, 82, 83, 84, 85, 86, -1, 88,
+ 89, 90, -1, 92, 93, 94, 95, 96, 97, -1,
+ -1, 100, 101, 102, -1, -1, -1, -1, -1, -1,
+ -1, 110, 111, 112, 113, 114, 115, 116, 117, 118,
+ -1, 120, -1, 122, 123, 124, 125, 126, 127, 128,
+ -1, 130, 131, 132, 133, -1, -1, 136, 137, 138,
+ 139, 140, -1, 142, 143, 144, -1, 146, 147, 148,
+ -1, 150, 151, 152, 153, 154, 155, 156, 157, 158,
+ 159, -1, 161, -1, 163, 164, 165, 166, 167, -1,
+ 169, -1, 171, 172, -1, -1, -1, 176, 177, 178,
+ 179, -1, 181, 182, -1, 184, 185, 186, -1, 188,
+ 189, 190, 191, 192, -1, 194, 195, 196, 197, -1,
+ 199, 200, 201, 202, 203, 204, 205, 206, -1, 208,
+ -1, 210, 211, 212, 213, 214, 215, 216, -1, 218,
+ -1, 220, -1, -1, 223, -1, 225, 226, 227, 228,
+ 229, 230, 231, 232, 233, 234, 235, -1, -1, 238,
+ 239, -1, 241, -1, -1, 244, 245, 246, -1, -1,
+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
+ 259, 260, 261, 262, 263, 264, 265, 266, 267, -1,
+ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
+ 279, -1, 281, 282, -1, 284, -1, 286, 287, 288,
+ 289, 290, 291, -1, 293, 294, -1, -1, 297, 298,
+ 299, -1, -1, 302, 303, 304, -1, 306, -1, 308,
+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
+ -1, 320, 321, 322, 323, 324, 325, 326, 327, -1,
+ 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, -1, 345, 346, 347, 348,
+ 349, 350, 351, 352, 353, 354, 355, 356, 357, -1,
+ 359, 360, -1, 362, 363, 364, 365, 366, 367, 368,
+ 369, 370, 371, 372, 373, 374, 375, 376, 377, -1,
+ 379, 380, 381, 382, 383, -1, 385, 386, 387, 388,
+ 389, -1, 391, 392, 393, 394, -1, 396, 397, 398,
+ 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
+ 409, 410, -1, 412, 413, -1, -1, 416, -1, 418,
+ 419, 420, 421, 422, -1, 424, 425, 426, -1, -1,
+ 429, 430, 431, 432, 433, -1, 435, 436, 437, 438,
+ 439, 440, 441, 442, -1, -1, 445, 446, 447, 448,
+ 449, -1, -1, 452, 453, 454, 455, 456, 457, 458,
+ -1, 460, -1, 462, 463, 464, 465, -1, -1, 468,
+ -1, -1, 471, 472, 473, 474, 475, 476, 477, 478,
+ 479, 480, 481, 482, 483, 484, 485, 486, 487, 488,
+ 489, 490, 3, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 20,
+ 21, 22, 23, 24, 25, 26, 27, 28, -1, 30,
+ 31, 32, -1, -1, -1, -1, -1, -1, -1, 40,
+ 41, 42, -1, 44, 45, 46, 47, -1, 49, 50,
+ 51, 52, 53, -1, 55, 56, -1, 58, 59, 60,
+ 61, 62, 63, 64, -1, -1, 67, 68, 69, 70,
+ 71, -1, 73, 74, 75, 76, 77, -1, -1, -1,
+ 81, 82, 83, 84, 85, 86, -1, 88, 89, 90,
+ -1, 92, 93, 94, 95, 96, 97, -1, -1, 100,
+ 101, 102, -1, -1, -1, -1, -1, -1, -1, 110,
+ 111, 112, 113, 114, 115, 116, 117, 118, -1, 120,
+ -1, 122, 123, 124, 125, 126, 127, 128, -1, 130,
+ 131, 132, 133, -1, -1, 136, 137, 138, 139, 140,
+ -1, 142, 143, 144, -1, 146, 147, 148, -1, 150,
+ 151, 152, 153, 154, 155, 156, 157, 158, 159, -1,
+ 161, -1, 163, 164, 165, 166, 167, -1, 169, -1,
+ 171, 172, -1, -1, -1, 176, 177, 178, 179, -1,
+ 181, 182, -1, 184, 185, 186, -1, 188, 189, 190,
+ 191, 192, -1, 194, 195, 196, 197, -1, 199, 200,
+ 201, 202, 203, 204, 205, 206, -1, 208, -1, 210,
+ 211, 212, 213, 214, 215, 216, -1, 218, -1, 220,
+ -1, -1, 223, -1, 225, 226, 227, 228, 229, 230,
+ 231, 232, 233, 234, 235, -1, -1, 238, 239, -1,
+ 241, -1, -1, 244, 245, 246, -1, -1, 249, 250,
+ 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
+ 261, 262, 263, 264, 265, 266, 267, -1, 269, 270,
+ 271, 272, 273, 274, 275, 276, 277, 278, 279, -1,
+ 281, 282, -1, 284, -1, 286, 287, 288, 289, 290,
+ 291, -1, 293, 294, -1, -1, 297, 298, 299, -1,
+ -1, 302, 303, 304, -1, 306, -1, 308, 309, 310,
+ 311, 312, 313, 314, 315, 316, 317, 318, -1, 320,
+ 321, 322, 323, 324, 325, 326, 327, -1, 329, 330,
+ 331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
+ 341, 342, 343, -1, 345, 346, 347, 348, 349, 350,
+ 351, 352, 353, 354, 355, 356, 357, -1, 359, 360,
+ -1, 362, 363, 364, 365, 366, 367, 368, 369, 370,
+ 371, 372, 373, 374, 375, 376, 377, -1, 379, 380,
+ 381, 382, 383, -1, 385, 386, 387, 388, 389, -1,
+ 391, 392, 393, 394, -1, 396, 397, 398, 399, 400,
+ 401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
+ -1, 412, 413, -1, -1, 416, -1, 418, 419, 420,
+ 421, 422, -1, 424, 425, 426, -1, -1, 429, 430,
+ 431, 432, 433, -1, 435, 436, 437, 438, 439, 440,
+ 441, 442, -1, -1, 445, 446, 447, 448, 449, -1,
+ -1, 452, 453, 454, 455, 456, 457, 458, -1, 460,
+ -1, 462, 463, 464, 465, -1, -1, 468, -1, -1,
+ 471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
+ 481, 482, 483, 484, 485, 486, 487, 488, 489, 490,
+ 3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 20, 21, 22,
+ 23, 24, 25, 26, 27, 28, -1, 30, 31, 32,
+ -1, -1, -1, -1, -1, -1, -1, 40, 41, 42,
+ -1, 44, 45, 46, 47, -1, 49, 50, 51, 52,
+ 53, -1, 55, 56, -1, 58, 59, 60, 61, 62,
+ 63, 64, -1, -1, 67, 68, 69, 70, 71, -1,
+ 73, 74, 75, 76, 77, -1, -1, -1, 81, 82,
+ 83, 84, 85, 86, -1, 88, 89, 90, -1, 92,
+ 93, 94, 95, 96, 97, -1, -1, 100, 101, 102,
+ -1, -1, -1, -1, -1, -1, -1, 110, 111, 112,
+ 113, 114, 115, 116, 117, 118, -1, 120, -1, 122,
+ 123, 124, 125, 126, 127, 128, -1, 130, 131, 132,
+ 133, -1, -1, 136, 137, 138, 139, 140, -1, 142,
+ 143, 144, -1, 146, 147, 148, -1, 150, 151, 152,
+ 153, 154, 155, 156, 157, 158, 159, -1, 161, -1,
+ 163, 164, 165, 166, 167, -1, 169, -1, 171, 172,
+ -1, -1, -1, 176, 177, 178, 179, -1, 181, 182,
+ -1, 184, 185, 186, -1, 188, 189, 190, 191, 192,
+ -1, 194, 195, 196, 197, -1, 199, 200, 201, 202,
+ 203, 204, 205, 206, -1, 208, -1, 210, 211, 212,
+ 213, 214, 215, 216, -1, 218, -1, 220, -1, -1,
+ 223, -1, 225, 226, 227, 228, 229, 230, 231, 232,
+ 233, 234, 235, -1, -1, 238, 239, -1, 241, -1,
+ -1, 244, 245, 246, -1, -1, 249, 250, 251, 252,
+ 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
+ 263, 264, 265, 266, 267, -1, 269, 270, 271, 272,
+ 273, 274, 275, 276, 277, 278, 279, -1, 281, 282,
+ -1, 284, -1, 286, 287, 288, 289, 290, 291, -1,
+ 293, 294, -1, -1, 297, 298, 299, -1, -1, 302,
+ 303, 304, -1, 306, -1, 308, 309, 310, 311, 312,
+ 313, 314, 315, 316, 317, 318, -1, 320, 321, 322,
+ 323, 324, 325, 326, 327, -1, 329, 330, 331, 332,
+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342,
+ 343, -1, 345, 346, 347, 348, 349, 350, 351, 352,
+ 353, 354, 355, 356, 357, -1, 359, 360, -1, 362,
+ 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
+ 373, 374, 375, 376, 377, -1, 379, 380, 381, 382,
+ 383, -1, 385, 386, 387, 388, 389, -1, 391, 392,
+ 393, 394, -1, 396, 397, 398, 399, 400, 401, 402,
+ 403, 404, 405, 406, 407, 408, 409, 410, -1, 412,
+ 413, -1, -1, 416, -1, 418, 419, 420, 421, 422,
+ -1, 424, 425, 426, -1, -1, 429, 430, 431, 432,
+ 433, -1, 435, 436, 437, 438, 439, 440, 441, 442,
+ -1, -1, 445, 446, 447, 448, 449, -1, -1, 452,
+ 453, 454, 455, 456, 457, 458, -1, 460, -1, 462,
+ 463, 464, 465, -1, -1, 468, -1, -1, 471, 472,
+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482,
+ 483, 484, 485, 486, 487, 488, 489, 490, 3, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, -1, 30, 31, 32, -1, -1,
+ -1, -1, -1, -1, -1, 40, 41, 42, -1, 44,
+ 45, 46, 47, -1, 49, 50, 51, 52, 53, -1,
+ 55, 56, -1, 58, 59, 60, 61, 62, 63, 64,
+ -1, -1, 67, 68, 69, 70, 71, -1, 73, 74,
+ 75, 76, 77, -1, -1, -1, 81, 82, 83, 84,
+ 85, 86, -1, 88, 89, 90, -1, 92, 93, 94,
+ 95, 96, 97, -1, -1, 100, 101, 102, -1, -1,
+ -1, -1, -1, -1, -1, 110, 111, 112, 113, 114,
+ 115, 116, 117, 118, -1, 120, -1, 122, 123, 124,
+ 125, 126, 127, 128, -1, 130, 131, 132, 133, -1,
+ -1, 136, 137, 138, 139, 140, -1, 142, 143, 144,
+ -1, 146, 147, 148, -1, 150, 151, 152, 153, 154,
+ 155, 156, 157, 158, 159, -1, 161, -1, 163, 164,
+ 165, 166, 167, -1, 169, -1, 171, 172, -1, -1,
+ -1, 176, 177, 178, 179, -1, 181, 182, -1, 184,
+ 185, 186, -1, 188, 189, 190, 191, 192, -1, 194,
+ 195, 196, 197, -1, 199, 200, 201, 202, 203, 204,
+ 205, 206, -1, 208, -1, 210, 211, 212, 213, 214,
+ 215, 216, -1, 218, -1, 220, -1, -1, 223, -1,
+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
+ 235, -1, -1, 238, 239, -1, 241, -1, -1, 244,
+ 245, 246, -1, -1, 249, 250, 251, 252, 253, 254,
+ 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
+ 265, 266, 267, -1, 269, 270, 271, 272, 273, 274,
+ 275, 276, 277, 278, 279, -1, 281, 282, -1, 284,
+ -1, 286, 287, 288, 289, 290, 291, -1, 293, 294,
+ -1, -1, 297, 298, 299, -1, -1, 302, 303, 304,
+ -1, 306, -1, 308, 309, 310, 311, 312, 313, 314,
+ 315, 316, 317, 318, -1, 320, 321, 322, 323, 324,
+ 325, 326, 327, -1, 329, 330, 331, 332, 333, 334,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, -1,
+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
+ 355, 356, 357, -1, 359, 360, -1, 362, 363, 364,
+ 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
+ 375, 376, 377, -1, 379, 380, 381, 382, 383, -1,
+ 385, 386, 387, 388, 389, -1, 391, 392, 393, 394,
+ -1, 396, 397, 398, 399, 400, 401, 402, 403, 404,
+ 405, 406, 407, 408, 409, 410, -1, 412, 413, -1,
+ -1, 416, -1, 418, 419, 420, 421, 422, -1, 424,
+ 425, 426, -1, -1, 429, 430, 431, 432, 433, -1,
+ 435, 436, 437, 438, 439, 440, 441, 442, -1, -1,
+ 445, 446, 447, 448, 449, -1, -1, 452, 453, 454,
+ 455, 456, 457, 458, -1, 460, -1, 462, 463, 464,
+ 465, -1, -1, 468, -1, -1, 471, 472, 473, 474,
+ 475, 476, 477, 478, 479, 480, 481, 482, 483, 484,
+ 485, 486, 487, 488, 489, 490, 3, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 20, 21, 22, 23, 24, 25, 26,
+ 27, 28, -1, 30, 31, 32, -1, -1, -1, -1,
+ -1, -1, -1, 40, 41, 42, -1, 44, 45, 46,
+ 47, -1, 49, 50, 51, 52, 53, -1, 55, 56,
+ -1, 58, 59, 60, 61, 62, 63, 64, -1, -1,
+ 67, 68, 69, 70, 71, -1, 73, 74, 75, 76,
+ 77, -1, -1, -1, 81, 82, 83, 84, 85, 86,
+ -1, 88, 89, 90, -1, 92, 93, 94, 95, 96,
+ 97, -1, -1, 100, 101, 102, -1, -1, -1, -1,
+ -1, -1, -1, 110, 111, 112, 113, 114, 115, 116,
+ 117, 118, -1, 120, -1, 122, 123, 124, 125, 126,
+ 127, 128, -1, 130, 131, 132, 133, -1, -1, 136,
+ 137, 138, 139, 140, -1, 142, 143, 144, -1, 146,
+ 147, 148, -1, 150, 151, 152, 153, 154, 155, 156,
+ 157, 158, 159, -1, 161, -1, 163, 164, 165, 166,
+ 167, -1, 169, -1, 171, 172, -1, -1, -1, 176,
+ 177, 178, 179, -1, 181, 182, -1, 184, 185, 186,
+ -1, 188, 189, 190, 191, 192, -1, 194, 195, 196,
+ 197, -1, 199, 200, 201, 202, 203, 204, 205, 206,
+ -1, 208, -1, 210, 211, 212, 213, 214, 215, 216,
+ -1, 218, -1, 220, -1, -1, 223, -1, 225, 226,
+ 227, 228, 229, 230, 231, 232, 233, 234, 235, -1,
+ -1, 238, 239, -1, 241, -1, -1, 244, 245, 246,
+ -1, -1, 249, 250, 251, 252, 253, 254, 255, 256,
+ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
+ 267, -1, 269, 270, 271, 272, 273, 274, 275, 276,
+ 277, 278, 279, -1, 281, 282, -1, 284, -1, 286,
+ 287, 288, 289, 290, 291, -1, 293, 294, -1, -1,
+ 297, 298, 299, -1, -1, 302, 303, 304, -1, 306,
+ -1, 308, 309, 310, 311, 312, 313, 314, 315, 316,
+ 317, 318, -1, 320, 321, 322, 323, 324, 325, 326,
+ 327, -1, 329, 330, 331, 332, 333, 334, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, -1, 345, 346,
+ 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
+ 357, -1, 359, 360, -1, 362, 363, 364, 365, 366,
+ 367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
+ 377, -1, 379, 380, 381, 382, 383, -1, 385, 386,
+ 387, 388, 389, -1, 391, 392, 393, 394, -1, 396,
+ 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
+ 407, 408, 409, 410, -1, 412, 413, -1, -1, 416,
+ -1, 418, 419, 420, 421, 422, -1, 424, 425, 426,
+ -1, -1, 429, 430, 431, 432, 433, -1, 435, 436,
+ 437, 438, 439, 440, 441, 442, -1, -1, 445, 446,
+ 447, 448, 449, -1, -1, 452, 453, 454, 455, 456,
+ 457, 458, -1, 460, -1, 462, 463, 464, 465, -1,
+ -1, 468, -1, -1, 471, 472, 473, 474, 475, 476,
+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486,
+ 487, 488, 489, 490, 3, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 20, 21, 22, 23, 24, 25, 26, 27, 28,
+ -1, 30, 31, 32, -1, -1, -1, -1, -1, -1,
+ -1, 40, 41, 42, -1, 44, 45, 46, 47, -1,
+ 49, 50, 51, 52, 53, -1, 55, 56, -1, 58,
+ 59, 60, 61, 62, 63, 64, -1, -1, 67, 68,
+ 69, 70, 71, -1, 73, 74, 75, 76, 77, -1,
+ -1, -1, 81, 82, 83, 84, 85, 86, -1, 88,
+ 89, 90, -1, 92, 93, 94, 95, 96, 97, -1,
+ -1, 100, 101, 102, -1, -1, -1, -1, -1, -1,
+ -1, 110, 111, 112, 113, 114, 115, 116, 117, 118,
+ -1, 120, -1, 122, 123, 124, 125, 126, 127, 128,
+ -1, 130, 131, 132, 133, -1, -1, 136, 137, 138,
+ 139, 140, -1, 142, 143, 144, -1, 146, 147, 148,
+ -1, 150, 151, 152, 153, 154, 155, 156, 157, 158,
+ 159, -1, 161, -1, 163, 164, 165, 166, 167, -1,
+ 169, -1, 171, 172, -1, -1, -1, 176, 177, 178,
+ 179, -1, 181, 182, -1, 184, 185, 186, -1, 188,
+ 189, 190, 191, 192, -1, 194, 195, 196, 197, -1,
+ 199, 200, 201, 202, 203, 204, 205, 206, -1, 208,
+ -1, 210, 211, 212, 213, 214, 215, 216, -1, 218,
+ -1, 220, -1, -1, 223, -1, 225, 226, 227, 228,
+ 229, 230, 231, 232, 233, 234, 235, -1, -1, 238,
+ 239, -1, 241, -1, -1, 244, 245, 246, -1, -1,
+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
+ 259, 260, 261, 262, 263, 264, 265, 266, 267, -1,
+ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
+ 279, -1, 281, 282, -1, 284, -1, 286, 287, 288,
+ 289, 290, 291, -1, 293, 294, -1, -1, 297, 298,
+ 299, -1, -1, 302, 303, 304, -1, 306, -1, 308,
+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
+ -1, 320, 321, 322, 323, 324, 325, 326, 327, -1,
+ 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, -1, 345, 346, 347, 348,
+ 349, 350, 351, 352, 353, 354, 355, 356, 357, -1,
+ 359, 360, -1, 362, 363, 364, 365, 366, 367, 368,
+ 369, 370, 371, 372, 373, 374, 375, 376, 377, -1,
+ 379, 380, 381, 382, 383, -1, 385, 386, 387, 388,
+ 389, -1, 391, 392, 393, 394, -1, 396, 397, 398,
+ 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
+ 409, 410, -1, 412, 413, -1, -1, 416, -1, 418,
+ 419, 420, 421, 422, -1, 424, 425, 426, -1, -1,
+ 429, 430, 431, 432, 433, -1, 435, 436, 437, 438,
+ 439, 440, 441, 442, -1, -1, 445, 446, 447, 448,
+ 449, -1, -1, 452, 453, 454, 455, 456, 457, 458,
+ -1, 460, -1, 462, 463, 464, 465, -1, -1, 468,
+ -1, -1, 471, 472, 473, 474, 475, 476, 477, 478,
+ 479, 480, 481, 482, 483, 484, 485, 486, 487, 488,
+ 489, 490, 3, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 20,
+ 21, 22, 23, 24, 25, 26, 27, 28, -1, 30,
+ 31, 32, -1, -1, -1, -1, -1, -1, -1, 40,
+ 41, 42, -1, 44, 45, 46, 47, -1, 49, 50,
+ 51, 52, 53, -1, 55, 56, -1, 58, 59, 60,
+ 61, 62, 63, 64, -1, -1, 67, 68, 69, 70,
+ 71, -1, 73, 74, 75, 76, 77, -1, -1, -1,
+ 81, 82, 83, 84, 85, 86, -1, 88, 89, 90,
+ -1, 92, 93, 94, 95, 96, 97, -1, -1, 100,
+ 101, 102, -1, -1, -1, -1, -1, -1, -1, 110,
+ 111, 112, 113, 114, 115, 116, 117, 118, -1, 120,
+ -1, 122, 123, 124, 125, 126, 127, 128, -1, 130,
+ 131, 132, 133, -1, -1, 136, 137, 138, 139, 140,
+ -1, 142, 143, 144, -1, 146, 147, 148, -1, 150,
+ 151, 152, 153, 154, 155, 156, 157, 158, 159, -1,
+ 161, -1, 163, 164, 165, 166, 167, -1, 169, -1,
+ 171, 172, -1, -1, -1, 176, 177, 178, 179, -1,
+ 181, 182, -1, 184, 185, 186, -1, 188, 189, 190,
+ 191, 192, -1, 194, 195, 196, 197, -1, 199, 200,
+ 201, 202, 203, 204, 205, 206, -1, 208, -1, 210,
+ 211, 212, 213, 214, 215, 216, -1, 218, -1, 220,
+ -1, -1, 223, -1, 225, 226, 227, 228, 229, 230,
+ 231, 232, 233, 234, 235, -1, -1, 238, 239, -1,
+ 241, -1, -1, 244, 245, 246, -1, -1, 249, 250,
+ 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
+ 261, 262, 263, 264, 265, 266, 267, -1, 269, 270,
+ 271, 272, 273, 274, 275, 276, 277, 278, 279, -1,
+ 281, 282, -1, 284, -1, 286, 287, 288, 289, 290,
+ 291, -1, 293, 294, -1, -1, 297, 298, 299, -1,
+ -1, 302, 303, 304, -1, 306, -1, 308, 309, 310,
+ 311, 312, 313, 314, 315, 316, 317, 318, -1, 320,
+ 321, 322, 323, 324, 325, 326, 327, -1, 329, 330,
+ 331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
+ 341, 342, 343, -1, 345, 346, 347, 348, 349, 350,
+ 351, 352, 353, 354, 355, 356, 357, -1, 359, 360,
+ -1, 362, 363, 364, 365, 366, 367, 368, 369, 370,
+ 371, 372, 373, 374, 375, 376, 377, -1, 379, 380,
+ 381, 382, 383, -1, 385, 386, 387, 388, 389, -1,
+ 391, 392, 393, 394, -1, 396, 397, 398, 399, 400,
+ 401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
+ -1, 412, 413, -1, -1, 416, -1, 418, 419, 420,
+ 421, 422, -1, 424, 425, 426, -1, -1, 429, 430,
+ 431, 432, 433, -1, 435, 436, 437, 438, 439, 440,
+ 441, 442, -1, -1, 445, 446, 447, 448, 449, -1,
+ -1, 452, 453, 454, 455, 456, 457, 458, -1, 460,
+ -1, 462, 463, 464, 465, -1, -1, 468, -1, -1,
+ 471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
+ 481, 482, 483, 484, 485, 486, 487, 488, 489, 490,
+ 3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 20, 21, 22,
+ 23, 24, 25, 26, 27, 28, -1, 30, 31, 32,
+ -1, -1, -1, -1, -1, -1, -1, 40, 41, 42,
+ -1, 44, 45, 46, 47, -1, 49, 50, 51, 52,
+ 53, -1, 55, 56, -1, 58, 59, 60, 61, 62,
+ 63, 64, -1, -1, 67, 68, 69, 70, 71, -1,
+ 73, 74, 75, 76, 77, -1, -1, -1, 81, 82,
+ 83, 84, 85, 86, -1, 88, 89, 90, -1, 92,
+ 93, 94, 95, 96, 97, -1, -1, 100, 101, 102,
+ -1, -1, -1, -1, -1, -1, -1, 110, 111, 112,
+ 113, 114, 115, 116, 117, 118, -1, 120, -1, 122,
+ 123, 124, 125, 126, 127, 128, -1, 130, 131, 132,
+ 133, -1, -1, 136, 137, 138, 139, 140, -1, 142,
+ 143, 144, -1, 146, 147, 148, -1, 150, 151, 152,
+ 153, 154, 155, 156, 157, 158, 159, -1, 161, -1,
+ 163, 164, 165, 166, 167, -1, 169, -1, 171, 172,
+ -1, -1, -1, 176, 177, 178, 179, -1, 181, 182,
+ -1, 184, 185, 186, -1, 188, 189, 190, 191, 192,
+ -1, 194, 195, 196, 197, -1, 199, 200, 201, 202,
+ 203, 204, 205, 206, -1, 208, -1, 210, 211, 212,
+ 213, 214, 215, 216, -1, 218, -1, 220, -1, -1,
+ 223, -1, 225, 226, 227, 228, 229, 230, 231, 232,
+ 233, 234, 235, -1, -1, 238, 239, -1, 241, -1,
+ -1, 244, 245, 246, -1, -1, 249, 250, 251, 252,
+ 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
+ 263, 264, 265, 266, 267, -1, 269, 270, 271, 272,
+ 273, 274, 275, 276, 277, 278, 279, -1, 281, 282,
+ -1, 284, -1, 286, 287, 288, 289, 290, 291, -1,
+ 293, 294, -1, -1, 297, 298, 299, -1, -1, 302,
+ 303, 304, -1, 306, -1, 308, 309, 310, 311, 312,
+ 313, 314, 315, 316, 317, 318, -1, 320, 321, 322,
+ 323, 324, 325, 326, 327, -1, 329, 330, 331, 332,
+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342,
+ 343, -1, 345, 346, 347, 348, 349, 350, 351, 352,
+ 353, 354, 355, 356, 357, -1, 359, 360, -1, 362,
+ 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
+ 373, 374, 375, 376, 377, -1, 379, 380, 381, 382,
+ 383, -1, 385, 386, 387, 388, 389, -1, 391, 392,
+ 393, 394, -1, 396, 397, 398, 399, 400, 401, 402,
+ 403, 404, 405, 406, 407, 408, 409, 410, -1, 412,
+ 413, -1, -1, 416, -1, 418, 419, 420, 421, 422,
+ -1, 424, 425, 426, -1, -1, 429, 430, 431, 432,
+ 433, -1, 435, 436, 437, 438, 439, 440, 441, 442,
+ -1, -1, 445, 446, 447, 448, 449, -1, -1, 452,
+ 453, 454, 455, 456, 457, 458, -1, 460, -1, 462,
+ 463, 464, 465, -1, -1, 468, -1, -1, 471, 472,
+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482,
+ 483, 484, 485, 486, 487, 488, 489, 490, 3, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, -1, 30, 31, 32, -1, -1,
+ -1, -1, -1, -1, -1, 40, 41, 42, -1, 44,
+ 45, 46, 47, -1, 49, 50, 51, 52, 53, -1,
+ 55, 56, -1, 58, 59, 60, 61, 62, 63, 64,
+ -1, -1, 67, 68, 69, 70, 71, -1, 73, 74,
+ 75, 76, 77, -1, -1, -1, 81, 82, 83, 84,
+ 85, 86, -1, 88, 89, 90, -1, 92, 93, 94,
+ 95, 96, 97, -1, -1, 100, 101, 102, -1, -1,
+ -1, -1, -1, -1, -1, 110, 111, 112, 113, 114,
+ 115, 116, 117, 118, -1, 120, -1, 122, 123, 124,
+ 125, 126, 127, 128, -1, 130, 131, 132, 133, -1,
+ -1, 136, 137, 138, 139, 140, -1, 142, 143, 144,
+ -1, 146, 147, 148, -1, 150, 151, 152, 153, 154,
+ 155, 156, 157, 158, 159, -1, 161, -1, 163, 164,
+ 165, 166, 167, -1, 169, -1, 171, 172, -1, -1,
+ -1, 176, 177, 178, 179, -1, 181, 182, -1, 184,
+ 185, 186, -1, 188, 189, 190, 191, 192, -1, 194,
+ 195, 196, 197, -1, 199, 200, 201, 202, 203, 204,
+ 205, 206, -1, 208, -1, 210, 211, 212, 213, 214,
+ 215, 216, -1, 218, -1, 220, -1, -1, 223, -1,
+ 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
+ 235, -1, -1, 238, 239, -1, 241, -1, -1, 244,
+ 245, 246, -1, -1, 249, 250, 251, 252, 253, 254,
+ 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
+ 265, 266, 267, -1, 269, 270, 271, 272, 273, 274,
+ 275, 276, 277, 278, 279, -1, 281, 282, -1, 284,
+ -1, 286, 287, 288, 289, 290, 291, -1, 293, 294,
+ -1, -1, 297, 298, 299, -1, -1, 302, 303, 304,
+ -1, 306, -1, 308, 309, 310, 311, 312, 313, 314,
+ 315, 316, 317, 318, -1, 320, 321, 322, 323, 324,
+ 325, 326, 327, -1, 329, 330, 331, 332, 333, 334,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, -1,
+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
+ 355, 356, 357, -1, 359, 360, -1, 362, 363, 364,
+ 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
+ 375, 376, 377, -1, 379, 380, 381, 382, 383, -1,
+ 385, 386, 387, 388, 389, -1, 391, 392, 393, 394,
+ -1, 396, 397, 398, 399, 400, 401, 402, 403, 404,
+ 405, 406, 407, 408, 409, 410, -1, 412, 413, -1,
+ -1, 416, -1, 418, 419, 420, 421, 422, -1, 424,
+ 425, 426, -1, -1, 429, 430, 431, 432, 433, -1,
+ 435, 436, 437, 438, 439, 440, 441, 442, -1, -1,
+ 445, 446, 447, 448, 449, -1, -1, 452, 453, 454,
+ 455, 456, 457, 458, -1, 460, -1, 462, 463, 464,
+ 465, -1, -1, 468, -1, -1, 471, 472, 473, 474,
+ 475, 476, 477, 478, 479, 480, 481, 482, 483, 484,
+ 485, 486, 487, 488, 489, 490, 3, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 20, 21, 22, 23, 24, 25, 26,
+ 27, 28, -1, 30, 31, 32, -1, -1, -1, -1,
+ -1, -1, -1, 40, 41, 42, -1, 44, 45, 46,
+ 47, -1, 49, 50, 51, 52, 53, -1, 55, 56,
+ -1, 58, 59, 60, 61, 62, 63, 64, -1, -1,
+ 67, 68, 69, 70, 71, -1, 73, 74, 75, 76,
+ 77, -1, -1, -1, 81, 82, 83, 84, 85, 86,
+ -1, 88, 89, 90, -1, 92, 93, 94, 95, 96,
+ 97, -1, -1, 100, 101, 102, -1, -1, -1, -1,
+ -1, -1, -1, 110, 111, 112, 113, 114, 115, 116,
+ 117, 118, -1, 120, -1, 122, 123, 124, 125, 126,
+ 127, 128, -1, 130, 131, 132, 133, -1, -1, 136,
+ 137, 138, 139, 140, -1, 142, 143, 144, -1, 146,
+ 147, 148, -1, 150, 151, 152, 153, 154, 155, 156,
+ 157, 158, 159, -1, 161, -1, 163, 164, 165, 166,
+ 167, -1, 169, -1, 171, 172, -1, -1, -1, 176,
+ 177, 178, 179, -1, 181, 182, -1, 184, 185, 186,
+ -1, 188, 189, 190, 191, 192, -1, 194, 195, 196,
+ 197, -1, 199, 200, 201, 202, 203, 204, 205, 206,
+ -1, 208, -1, 210, 211, 212, 213, 214, 215, 216,
+ -1, 218, -1, 220, -1, -1, 223, -1, 225, 226,
+ 227, 228, 229, 230, 231, 232, 233, 234, 235, -1,
+ -1, 238, 239, -1, 241, -1, -1, 244, 245, 246,
+ -1, -1, 249, 250, 251, 252, 253, 254, 255, 256,
+ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
+ 267, -1, 269, 270, 271, 272, 273, 274, 275, 276,
+ 277, 278, 279, -1, 281, 282, -1, 284, -1, 286,
+ 287, 288, 289, 290, 291, -1, 293, 294, -1, -1,
+ 297, 298, 299, -1, -1, 302, 303, 304, -1, 306,
+ -1, 308, 309, 310, 311, 312, 313, 314, 315, 316,
+ 317, 318, -1, 320, 321, 322, 323, 324, 325, 326,
+ 327, -1, 329, 330, 331, 332, 333, 334, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, -1, 345, 346,
+ 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
+ 357, -1, 359, 360, -1, 362, 363, 364, 365, 366,
+ 367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
+ 377, -1, 379, 380, 381, 382, 383, -1, 385, 386,
+ 387, 388, 389, -1, 391, 392, 393, 394, -1, 396,
+ 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
+ 407, 408, 409, 410, -1, 412, 413, -1, -1, 416,
+ -1, 418, 419, 420, 421, 422, -1, 424, 425, 426,
+ -1, -1, 429, 430, 431, 432, 433, -1, 435, 436,
+ 437, 438, 439, 440, 441, 442, -1, -1, 445, 446,
+ 447, 448, 449, -1, -1, 452, 453, 454, 455, 456,
+ 457, 458, -1, 460, -1, 462, 463, 464, 465, -1,
+ -1, 468, -1, -1, 471, 472, 473, 474, 475, 476,
+ 477, 478, 479, 480, 481, 482, 483, 484, 485, 486,
+ 487, 488, 489, 490, 3, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 20, 21, 22, 23, 24, 25, 26, 27, 28,
+ -1, 30, 31, 32, -1, -1, -1, -1, -1, -1,
+ -1, 40, 41, 42, -1, 44, 45, 46, 47, -1,
+ 49, 50, 51, 52, 53, -1, 55, 56, -1, 58,
+ 59, 60, 61, 62, 63, 64, -1, -1, 67, 68,
+ 69, 70, 71, -1, 73, 74, 75, 76, 77, -1,
+ -1, -1, 81, 82, 83, 84, 85, 86, -1, 88,
+ 89, 90, -1, 92, 93, 94, 95, 96, 97, -1,
+ -1, 100, 101, 102, -1, -1, -1, -1, -1, -1,
+ -1, 110, 111, 112, 113, 114, 115, 116, 117, 118,
+ -1, 120, -1, 122, 123, 124, 125, 126, 127, 128,
+ -1, 130, 131, 132, 133, -1, -1, 136, 137, 138,
+ 139, 140, -1, 142, 143, 144, -1, 146, 147, 148,
+ -1, 150, 151, 152, 153, 154, 155, 156, 157, 158,
+ 159, -1, 161, -1, 163, 164, 165, 166, 167, -1,
+ 169, -1, 171, 172, -1, -1, -1, 176, 177, 178,
+ 179, -1, 181, 182, -1, 184, 185, 186, -1, 188,
+ 189, 190, 191, 192, -1, 194, 195, 196, 197, -1,
+ 199, 200, 201, 202, 203, 204, 205, 206, -1, 208,
+ -1, 210, 211, 212, 213, 214, 215, 216, -1, 218,
+ -1, 220, -1, -1, 223, -1, 225, 226, 227, 228,
+ 229, 230, 231, 232, 233, 234, 235, -1, -1, 238,
+ 239, -1, 241, -1, -1, 244, 245, 246, -1, -1,
+ 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
+ 259, 260, 261, 262, 263, 264, 265, 266, 267, -1,
+ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
+ 279, -1, 281, 282, -1, 284, -1, 286, 287, 288,
+ 289, 290, 291, -1, 293, 294, -1, -1, 297, 298,
+ 299, -1, -1, 302, 303, 304, -1, 306, -1, 308,
+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
+ -1, 320, 321, 322, 323, 324, 325, 326, 327, -1,
+ 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, -1, 345, 346, 347, 348,
+ 349, 350, 351, 352, 353, 354, 355, 356, 357, -1,
+ 359, 360, -1, 362, 363, 364, 365, 366, 367, 368,
+ 369, 370, 371, 372, 373, 374, 375, 376, 377, -1,
+ 379, 380, 381, 382, 383, -1, 385, 386, 387, 388,
+ 389, -1, 391, 392, 393, 394, -1, 396, 397, 398,
+ 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
+ 409, 410, -1, 412, 413, -1, -1, 416, -1, 418,
+ 419, 420, 421, 422, -1, 424, 425, 426, -1, -1,
+ 429, 430, 431, 432, 433, -1, 435, 436, 437, 438,
+ 439, 440, 441, 442, -1, -1, 445, 446, 447, 448,
+ 449, -1, -1, 452, 453, 454, 455, 456, 457, 458,
+ -1, 460, -1, 462, 463, 464, 465, -1, -1, 468,
+ -1, -1, 471, 472, 473, 474, 475, 476, 477, 478,
+ 479, 480, 481, 482, 483, 484, 485, 486, 487, 488,
+ 489, 490, 3, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 20,
+ 21, 22, 23, 24, 25, 26, 27, 28, -1, 30,
+ 31, 32, -1, -1, -1, -1, -1, -1, -1, 40,
+ 41, 42, -1, 44, 45, 46, 47, -1, 49, 50,
+ 51, 52, 53, -1, 55, 56, -1, 58, 59, 60,
+ 61, 62, 63, 64, -1, -1, 67, 68, 69, 70,
+ 71, -1, 73, 74, 75, 76, 77, -1, -1, -1,
+ 81, 82, 83, 84, 85, 86, -1, 88, 89, 90,
+ -1, 92, 93, 94, 95, 96, 97, -1, -1, 100,
+ 101, 102, -1, -1, -1, -1, -1, -1, -1, 110,
+ 111, 112, 113, 114, 115, 116, 117, 118, -1, 120,
+ -1, 122, 123, 124, 125, 126, 127, 128, -1, 130,
+ 131, 132, 133, -1, -1, 136, 137, 138, 139, 140,
+ -1, 142, 143, 144, -1, 146, 147, 148, -1, 150,
+ 151, 152, 153, 154, 155, 156, 157, 158, 159, -1,
+ 161, -1, 163, 164, 165, 166, 167, -1, 169, -1,
+ 171, 172, -1, -1, -1, 176, 177, 178, 179, -1,
+ 181, 182, -1, 184, 185, 186, -1, 188, 189, 190,
+ 191, 192, -1, 194, 195, 196, 197, -1, 199, 200,
+ 201, 202, 203, 204, 205, 206, -1, 208, -1, 210,
+ 211, 212, 213, 214, 215, 216, -1, 218, -1, 220,
+ -1, -1, 223, -1, 225, 226, 227, 228, 229, 230,
+ 231, 232, 233, 234, 235, -1, -1, 238, 239, -1,
+ 241, -1, -1, 244, 245, 246, -1, -1, 249, 250,
+ 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
+ 261, 262, 263, 264, 265, 266, 267, -1, 269, 270,
+ 271, 272, 273, 274, 275, 276, 277, 278, 279, -1,
+ 281, 282, -1, 284, -1, 286, 287, 288, 289, 290,
+ 291, -1, 293, 294, -1, -1, 297, 298, 299, -1,
+ -1, 302, 303, 304, -1, 306, -1, 308, 309, 310,
+ 311, 312, 313, 314, 315, 316, 317, 318, -1, 320,
+ 321, 322, 323, 324, 325, 326, 327, -1, 329, 330,
+ 331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
+ 341, 342, 343, -1, 345, 346, 347, 348, 349, 350,
+ 351, 352, 353, 354, 355, 356, 357, -1, 359, 360,
+ -1, 362, 363, 364, 365, 366, 367, 368, 369, 370,
+ 371, 372, 373, 374, 375, 376, 377, -1, 379, 380,
+ 381, 382, 383, -1, 385, 386, 387, 388, 389, -1,
+ 391, 392, 393, 394, -1, 396, 397, 398, 399, 400,
+ 401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
+ -1, 412, 413, -1, -1, 416, -1, 418, 419, 420,
+ 421, 422, -1, 424, 425, 426, -1, -1, 429, 430,
+ 431, 432, 433, -1, 435, 436, 437, 438, 439, 440,
+ 441, 442, -1, -1, 445, 446, 447, 448, 449, -1,
+ -1, 452, 453, 454, 455, 456, 457, 458, -1, 460,
+ -1, 462, 463, 464, 465, -1, -1, 468, -1, -1,
+ 471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
+ 481, 482, 483, 484, 485, 486, 487, 488, 489, 490,
+ 3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 20, 21, 22,
+ 23, 24, 25, 26, 27, 28, -1, 30, 31, 32,
+ -1, -1, -1, -1, -1, -1, -1, 40, 41, 42,
+ -1, 44, 45, 46, 47, -1, 49, 50, 51, 52,
+ 53, -1, 55, 56, -1, 58, 59, 60, 61, 62,
+ 63, 64, -1, -1, 67, 68, 69, 70, 71, -1,
+ 73, 74, 75, 76, 77, -1, -1, -1, 81, 82,
+ 83, 84, 85, 86, -1, 88, 89, 90, -1, 92,
+ 93, 94, 95, 96, 97, -1, -1, 100, 101, 102,
+ -1, -1, -1, -1, -1, -1, -1, 110, 111, 112,
+ 113, 114, 115, 116, 117, 118, -1, 120, -1, 122,
+ 123, 124, 125, 126, 127, 128, -1, 130, 131, 132,
+ 133, -1, -1, 136, 137, 138, 139, 140, -1, 142,
+ 143, 144, -1, 146, 147, 148, -1, 150, 151, 152,
+ 153, 154, 155, 156, 157, 158, 159, -1, 161, -1,
+ 163, 164, 165, 166, 167, -1, 169, -1, 171, 172,
+ -1, -1, -1, 176, 177, 178, 179, -1, 181, 182,
+ -1, 184, -1, 186, -1, 188, 189, 190, 191, 192,
+ -1, 194, 195, 196, 197, -1, 199, 200, 201, 202,
+ 203, 204, 205, 206, -1, 208, -1, 210, 211, 212,
+ 213, 214, 215, 216, -1, 218, -1, 220, -1, -1,
+ 223, -1, 225, 226, 227, 228, 229, 230, 231, 232,
+ 233, 234, 235, -1, -1, 238, 239, -1, 241, -1,
+ -1, 244, 245, 246, -1, -1, 249, 250, 251, 252,
+ 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
+ 263, 264, 265, 266, 267, -1, 269, 270, 271, 272,
+ 273, 274, 275, 276, 277, 278, 279, -1, 281, 282,
+ -1, 284, -1, 286, 287, 288, 289, 290, 291, -1,
+ 293, 294, -1, -1, 297, 298, 299, -1, -1, 302,
+ 303, 304, -1, 306, -1, 308, 309, 310, 311, 312,
+ 313, 314, 315, -1, 317, 318, -1, 320, 321, 322,
+ 323, 324, 325, 326, 327, -1, 329, 330, 331, 332,
+ 333, 334, 335, 336, -1, 338, 339, 340, 341, 342,
+ 343, -1, 345, 346, 347, 348, 349, 350, 351, 352,
+ 353, 354, 355, 356, 357, -1, 359, 360, -1, 362,
+ 363, 364, 365, 366, 367, -1, 369, 370, 371, 372,
+ 373, 374, 375, 376, 377, -1, 379, 380, 381, 382,
+ 383, -1, 385, 386, 387, 388, 389, -1, 391, 392,
+ 393, 394, -1, 396, 397, 398, 399, 400, 401, 402,
+ 403, 404, 405, 406, 407, 408, 409, 410, -1, 412,
+ 413, -1, -1, 416, -1, 418, 419, 420, 421, 422,
+ -1, 424, 425, 426, -1, -1, 429, 430, 431, 432,
+ 433, -1, 435, 436, 437, 438, 439, 440, 441, 442,
+ -1, -1, 445, 446, 447, 448, 449, -1, -1, 452,
+ 453, 454, 455, 456, 457, 458, -1, 460, -1, 462,
+ 463, 464, 465, -1, -1, 468, -1, -1, 471, 472,
+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482,
+ 483, 484, 485, 486, 487, 488, 489, 490, 3, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, -1, 30, 31, 32, -1, -1,
+ -1, -1, -1, -1, -1, 40, 41, 42, -1, 44,
+ 45, 46, 47, 48, 49, 50, 51, -1, 53, 54,
+ 55, 56, -1, 58, 59, 60, 61, 62, 63, 64,
+ -1, -1, 67, 68, 69, 70, 71, -1, 73, 74,
+ 75, 76, -1, -1, 79, -1, 81, 82, 83, 84,
+ 85, 86, 87, 88, 89, 90, -1, 92, 93, 94,
+ 95, 96, 97, -1, 99, 100, 101, 102, -1, -1,
+ -1, 106, -1, -1, -1, 110, 111, 112, 113, 114,
+ 115, 116, 117, 118, -1, 120, -1, 122, 123, 124,
+ 125, 126, 127, 128, -1, 130, 131, 132, 133, -1,
+ -1, 136, 137, 138, 139, 140, -1, 142, 143, 144,
+ -1, 146, 147, 148, -1, 150, 151, 152, 153, -1,
+ 155, 156, 157, 158, -1, -1, 161, -1, 163, 164,
+ 165, 166, 167, -1, 169, -1, 171, 172, 173, -1,
+ 175, 176, 177, 178, 179, -1, 181, -1, -1, -1,
+ 185, 186, -1, 188, 189, 190, 191, 192, 193, 194,
+ 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
+ 205, 206, -1, 208, 209, 210, 211, 212, 213, 214,
+ 215, 216, -1, 218, -1, 220, 221, 222, 223, 224,
+ 225, -1, -1, -1, -1, 230, 231, 232, 233, 234,
+ 235, -1, -1, 238, -1, 240, 241, 242, -1, 244,
+ 245, 246, -1, -1, 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, -1, -1, 279, -1, 281, 282, 283, 284,
+ -1, -1, 287, 288, 289, 290, 291, -1, 293, 294,
+ -1, -1, 297, 298, 299, -1, -1, 302, 303, 304,
+ 305, 306, 307, -1, 309, 310, 311, 312, 313, 314,
+ 315, 316, 317, 318, -1, 320, 321, -1, 323, -1,
+ 325, 326, 327, -1, 329, 330, 331, 332, 333, 334,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, -1,
+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
+ 355, 356, 357, -1, 359, 360, 361, 362, 363, 364,
+ 365, 366, -1, 368, 369, 370, 371, 372, 373, 374,
+ 375, 376, 377, -1, 379, 380, 381, 382, 383, -1,
+ 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
+ -1, 396, 397, 398, 399, 400, 401, 402, 403, 404,
+ 405, 406, 407, 408, -1, 410, -1, 412, 413, -1,
+ -1, 416, 417, 418, 419, 420, 421, 422, -1, 424,
+ 425, 426, -1, -1, 429, 430, -1, 432, -1, -1,
+ 435, 436, 437, 438, 439, 440, 441, 442, -1, -1,
+ 445, 446, 447, 448, 449, -1, -1, 452, 453, 454,
+ 455, 456, -1, 458, 459, 460, 461, 462, 463, 464,
+ 465, -1, -1, 468, -1, -1, 471, 472, 473, 474,
+ 475, 476, 3, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 488, 489, 490, -1, -1, -1, 20,
+ 21, 22, 23, 24, 25, 26, 27, 28, -1, 30,
+ 31, 32, -1, -1, -1, -1, -1, -1, -1, 40,
+ 41, 42, -1, 44, 45, 46, 47, 48, 49, 50,
+ 51, -1, 53, 54, 55, 56, -1, 58, 59, 60,
+ 61, 62, 63, 64, -1, -1, 67, 68, 69, 70,
+ 71, -1, 73, 74, 75, 76, -1, -1, 79, -1,
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
+ -1, 92, 93, 94, 95, 96, 97, -1, 99, 100,
+ 101, 102, -1, -1, -1, 106, -1, -1, -1, 110,
+ 111, 112, 113, 114, 115, 116, 117, 118, -1, 120,
+ -1, 122, 123, 124, 125, 126, 127, 128, -1, 130,
+ 131, 132, 133, -1, -1, 136, 137, 138, 139, 140,
+ -1, 142, 143, 144, -1, 146, 147, 148, -1, 150,
+ 151, 152, 153, -1, 155, 156, 157, 158, -1, -1,
+ 161, -1, 163, 164, 165, 166, 167, -1, 169, -1,
+ 171, 172, 173, -1, 175, 176, 177, 178, 179, -1,
+ 181, -1, -1, -1, 185, 186, -1, 188, 189, 190,
+ 191, 192, 193, 194, 195, 196, 197, -1, 199, 200,
+ 201, 202, 203, 204, 205, 206, -1, 208, 209, -1,
+ 211, 212, 213, 214, 215, 216, -1, 218, -1, 220,
+ 221, 222, 223, 224, 225, -1, -1, -1, -1, 230,
+ 231, 232, 233, 234, 235, -1, -1, 238, -1, 240,
+ 241, 242, -1, 244, 245, 246, -1, -1, 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, -1, -1, 279, -1,
+ 281, 282, 283, 284, 285, -1, 287, 288, 289, 290,
+ 291, -1, 293, 294, -1, -1, 297, 298, 299, -1,
+ -1, 302, 303, -1, 305, 306, 307, -1, 309, 310,
+ 311, 312, 313, 314, 315, 316, 317, 318, -1, 320,
+ 321, -1, 323, -1, 325, 326, 327, -1, 329, 330,
+ 331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
+ 341, 342, 343, -1, 345, 346, 347, 348, 349, 350,
+ 351, 352, 353, 354, 355, 356, 357, -1, 359, 360,
+ 361, 362, 363, 364, 365, 366, -1, 368, 369, 370,
+ 371, 372, 373, 374, 375, 376, 377, -1, 379, 380,
+ 381, 382, 383, -1, 385, 386, 387, 388, 389, 390,
+ 391, 392, 393, 394, -1, 396, 397, 398, 399, 400,
+ 401, 402, 403, 404, 405, 406, 407, 408, -1, 410,
+ -1, 412, 413, -1, 415, 416, 417, 418, 419, 420,
+ 421, 422, -1, 424, 425, 426, -1, -1, 429, 430,
+ -1, 432, -1, -1, 435, 436, 437, 438, 439, 440,
+ 441, 442, -1, -1, 445, 446, 447, 448, 449, -1,
+ -1, 452, 453, 454, 455, 456, -1, 458, -1, 460,
+ 461, 462, 463, 464, 465, -1, -1, 468, -1, -1,
+ 471, 472, 473, 474, 475, 476, 3, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 488, 489, 490,
+ -1, -1, -1, 20, 21, 22, 23, 24, 25, 26,
+ 27, 28, -1, 30, 31, 32, -1, -1, -1, -1,
+ -1, -1, -1, 40, 41, 42, -1, 44, 45, 46,
+ 47, 48, 49, 50, 51, -1, 53, 54, 55, 56,
+ -1, 58, 59, 60, 61, 62, 63, 64, -1, -1,
+ 67, 68, 69, 70, 71, -1, 73, 74, 75, 76,
+ -1, -1, 79, -1, 81, 82, 83, 84, 85, 86,
+ 87, 88, 89, 90, -1, 92, 93, 94, 95, 96,
+ 97, -1, 99, 100, 101, 102, -1, -1, -1, 106,
+ -1, -1, -1, 110, 111, 112, 113, 114, 115, 116,
+ 117, 118, -1, 120, -1, 122, 123, 124, 125, 126,
+ 127, 128, -1, 130, 131, 132, 133, -1, -1, 136,
+ 137, 138, 139, 140, -1, 142, 143, 144, -1, 146,
+ 147, 148, -1, 150, 151, 152, 153, -1, 155, 156,
+ 157, 158, -1, -1, 161, -1, 163, 164, 165, 166,
+ 167, -1, 169, -1, 171, 172, 173, -1, 175, 176,
+ 177, 178, 179, -1, 181, -1, -1, -1, 185, 186,
+ -1, 188, 189, 190, 191, 192, 193, 194, 195, 196,
+ 197, -1, 199, 200, 201, 202, 203, 204, 205, 206,
+ -1, 208, 209, -1, 211, 212, 213, 214, 215, 216,
+ -1, 218, -1, 220, 221, 222, 223, 224, 225, -1,
+ -1, -1, -1, 230, 231, 232, 233, 234, 235, -1,
+ -1, 238, -1, 240, 241, 242, -1, 244, 245, 246,
+ -1, -1, 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, -1, 279, -1, 281, 282, 283, 284, -1, -1,
+ 287, 288, 289, 290, 291, -1, 293, 294, -1, -1,
+ 297, 298, 299, -1, -1, 302, 303, -1, 305, 306,
+ 307, -1, 309, 310, 311, 312, 313, 314, 315, 316,
+ 317, 318, -1, 320, 321, -1, 323, -1, 325, 326,
+ 327, -1, 329, 330, 331, 332, 333, 334, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, -1, 345, 346,
+ 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
+ 357, -1, 359, 360, 361, 362, 363, 364, 365, 366,
+ -1, 368, 369, 370, 371, 372, 373, 374, 375, 376,
+ 377, -1, 379, 380, 381, 382, 383, -1, 385, 386,
+ 387, 388, 389, 390, 391, 392, 393, 394, -1, 396,
+ 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
+ 407, 408, -1, 410, -1, 412, 413, -1, -1, 416,
+ 417, 418, 419, 420, 421, 422, -1, 424, 425, 426,
+ -1, -1, 429, 430, -1, 432, -1, -1, 435, 436,
+ 437, 438, 439, 440, 441, 442, -1, -1, 445, 446,
+ 447, 448, 449, -1, -1, 452, 453, 454, 455, 456,
+ -1, 458, -1, 460, 461, 462, 463, 464, 465, -1,
+ -1, 468, -1, -1, 471, 472, 473, 474, 475, 476,
+ 3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 488, 489, 490, -1, -1, -1, 20, 21, 22,
+ 23, 24, 25, 26, 27, 28, -1, 30, 31, 32,
+ -1, -1, -1, -1, -1, -1, -1, 40, 41, 42,
+ -1, 44, 45, 46, 47, 48, 49, 50, 51, -1,
+ 53, 54, 55, 56, -1, 58, 59, 60, 61, 62,
+ 63, 64, -1, -1, 67, 68, 69, 70, 71, -1,
+ 73, 74, 75, 76, -1, -1, 79, -1, 81, 82,
+ 83, 84, 85, 86, 87, 88, 89, 90, -1, 92,
+ 93, 94, 95, 96, 97, -1, 99, 100, 101, 102,
+ -1, -1, -1, 106, -1, -1, -1, 110, 111, 112,
+ 113, 114, 115, 116, 117, 118, -1, 120, -1, 122,
+ 123, 124, 125, 126, 127, 128, -1, 130, 131, 132,
+ 133, -1, -1, 136, 137, 138, 139, 140, -1, 142,
+ 143, 144, -1, 146, 147, 148, -1, 150, 151, 152,
+ 153, -1, 155, 156, 157, 158, -1, -1, 161, -1,
+ 163, 164, 165, 166, 167, -1, 169, -1, 171, 172,
+ 173, -1, 175, 176, 177, 178, 179, -1, 181, -1,
+ -1, -1, 185, 186, -1, 188, 189, 190, 191, 192,
+ 193, 194, 195, 196, 197, -1, 199, 200, 201, 202,
+ 203, 204, 205, 206, -1, 208, 209, -1, 211, 212,
+ 213, 214, 215, 216, -1, 218, -1, 220, 221, 222,
+ 223, 224, 225, -1, -1, -1, -1, 230, 231, 232,
+ 233, 234, 235, -1, -1, 238, -1, 240, 241, 242,
+ -1, 244, 245, 246, -1, -1, 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, -1, 279, -1, 281, 282,
+ 283, 284, -1, -1, 287, 288, 289, 290, 291, -1,
+ 293, 294, -1, -1, 297, 298, 299, -1, -1, 302,
+ 303, -1, 305, 306, 307, -1, 309, 310, 311, 312,
+ 313, 314, 315, 316, 317, 318, -1, 320, 321, -1,
+ 323, -1, 325, 326, 327, -1, 329, 330, 331, 332,
+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342,
+ 343, -1, 345, 346, 347, 348, 349, 350, 351, 352,
+ 353, 354, 355, 356, 357, -1, 359, 360, 361, 362,
+ 363, 364, 365, 366, -1, 368, 369, 370, 371, 372,
+ 373, 374, 375, 376, 377, -1, 379, 380, 381, 382,
+ 383, -1, 385, 386, 387, 388, 389, 390, 391, 392,
+ 393, 394, -1, 396, 397, 398, 399, 400, 401, 402,
+ 403, 404, 405, 406, 407, 408, -1, 410, -1, 412,
+ 413, -1, -1, 416, 417, 418, 419, 420, 421, 422,
+ -1, 424, 425, 426, -1, -1, 429, 430, -1, 432,
+ -1, -1, 435, 436, 437, 438, 439, 440, 441, 442,
+ -1, -1, 445, 446, 447, 448, 449, -1, -1, 452,
+ 453, 454, 455, 456, -1, 458, -1, 460, 461, 462,
+ 463, 464, 465, -1, -1, 468, -1, -1, 471, 472,
+ 473, 474, 475, 476, 3, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 488, 489, 490, -1, -1,
+ -1, 20, 21, 22, 23, 24, 25, 26, 27, 28,
+ -1, 30, 31, 32, -1, -1, -1, -1, -1, -1,
+ -1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
+ 49, 50, 51, -1, 53, 54, 55, 56, -1, 58,
+ 59, 60, 61, 62, 63, 64, -1, -1, 67, 68,
+ 69, 70, 71, -1, 73, 74, 75, 76, -1, -1,
+ 79, -1, 81, 82, 83, 84, 85, 86, 87, 88,
+ 89, 90, -1, 92, 93, 94, 95, 96, 97, -1,
+ 99, 100, 101, 102, -1, -1, -1, 106, -1, -1,
+ -1, 110, 111, 112, 113, 114, 115, 116, 117, 118,
+ -1, 120, -1, 122, 123, 124, 125, 126, 127, 128,
+ -1, 130, 131, 132, 133, -1, -1, 136, 137, 138,
+ 139, 140, -1, 142, 143, 144, -1, 146, 147, 148,
+ -1, 150, 151, 152, 153, -1, 155, 156, 157, 158,
+ -1, -1, 161, -1, 163, 164, 165, 166, 167, 168,
+ 169, -1, 171, 172, 173, -1, 175, 176, 177, 178,
+ 179, -1, 181, -1, -1, -1, 185, 186, -1, 188,
+ 189, 190, 191, 192, 193, 194, 195, 196, 197, -1,
+ 199, 200, 201, 202, 203, 204, 205, 206, -1, 208,
+ 209, -1, 211, 212, 213, 214, 215, 216, -1, 218,
+ -1, 220, 221, 222, 223, 224, 225, -1, -1, -1,
+ -1, 230, 231, 232, 233, 234, 235, -1, -1, 238,
+ -1, 240, 241, 242, -1, 244, 245, 246, -1, -1,
+ 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, -1, -1,
+ 279, -1, 281, 282, 283, 284, -1, -1, 287, 288,
+ 289, 290, 291, -1, 293, 294, -1, -1, 297, 298,
+ 299, -1, -1, 302, 303, -1, 305, 306, 307, -1,
+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
+ -1, 320, 321, -1, 323, -1, 325, 326, 327, -1,
+ 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, -1, 345, 346, 347, 348,
+ 349, 350, 351, 352, 353, 354, 355, 356, 357, -1,
+ 359, 360, 361, 362, 363, 364, 365, 366, -1, 368,
+ 369, 370, 371, 372, 373, 374, 375, 376, 377, -1,
+ 379, 380, 381, 382, 383, -1, 385, 386, 387, 388,
+ 389, 390, 391, 392, 393, 394, -1, 396, 397, 398,
+ 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
+ -1, 410, -1, 412, 413, -1, -1, 416, 417, 418,
+ 419, 420, 421, 422, -1, 424, 425, 426, -1, -1,
+ 429, 430, -1, 432, -1, -1, 435, 436, 437, 438,
+ 439, 440, 441, 442, -1, -1, 445, 446, 447, 448,
+ 449, -1, -1, 452, 453, 454, 455, 456, -1, 458,
+ -1, 460, 461, 462, 463, 464, 465, -1, -1, 468,
+ -1, -1, 471, 472, 473, 474, 475, 476, 3, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 488,
+ 489, 490, -1, -1, -1, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, -1, 30, 31, 32, -1, -1,
+ -1, -1, -1, -1, -1, 40, 41, 42, -1, 44,
+ 45, 46, 47, 48, 49, 50, 51, -1, 53, 54,
+ 55, 56, -1, 58, 59, 60, 61, 62, 63, 64,
+ -1, -1, 67, 68, 69, 70, 71, -1, 73, 74,
+ 75, 76, -1, -1, 79, -1, 81, 82, 83, 84,
+ 85, 86, 87, 88, 89, 90, -1, 92, 93, 94,
+ 95, 96, 97, -1, 99, 100, 101, 102, -1, -1,
+ -1, 106, -1, -1, -1, 110, 111, 112, 113, 114,
+ 115, 116, 117, 118, -1, 120, -1, 122, 123, 124,
+ 125, 126, 127, 128, -1, 130, 131, 132, 133, -1,
+ -1, 136, 137, 138, 139, 140, -1, 142, 143, 144,
+ -1, 146, 147, 148, -1, 150, 151, 152, 153, -1,
+ 155, 156, 157, 158, -1, -1, 161, -1, 163, 164,
+ 165, 166, 167, -1, 169, -1, 171, 172, 173, -1,
+ 175, 176, 177, 178, 179, -1, 181, -1, -1, -1,
+ 185, 186, -1, 188, 189, 190, 191, 192, 193, 194,
+ 195, 196, 197, -1, 199, 200, 201, 202, 203, 204,
+ 205, 206, -1, 208, 209, -1, 211, 212, 213, 214,
+ 215, 216, -1, 218, -1, 220, 221, 222, 223, 224,
+ 225, -1, -1, -1, -1, 230, 231, 232, 233, 234,
+ 235, -1, -1, 238, -1, 240, 241, 242, -1, 244,
+ 245, 246, -1, -1, 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, -1, -1, 279, -1, 281, 282, 283, 284,
+ -1, -1, 287, 288, 289, 290, 291, -1, 293, 294,
+ -1, -1, 297, 298, 299, -1, -1, 302, 303, -1,
+ 305, 306, 307, -1, 309, 310, 311, 312, 313, 314,
+ 315, 316, 317, 318, -1, 320, 321, -1, 323, -1,
+ 325, 326, 327, -1, 329, 330, 331, 332, 333, 334,
+ 335, 336, 337, 338, 339, 340, 341, 342, 343, -1,
+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
+ 355, 356, 357, -1, 359, 360, 361, 362, 363, 364,
+ 365, 366, -1, 368, 369, 370, 371, 372, 373, 374,
+ 375, 376, 377, -1, 379, 380, 381, 382, 383, -1,
+ 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
+ -1, 396, 397, 398, 399, 400, 401, 402, 403, 404,
+ 405, 406, 407, 408, -1, 410, -1, 412, 413, -1,
+ -1, 416, 417, 418, 419, 420, 421, 422, -1, 424,
+ 425, 426, -1, -1, 429, 430, -1, 432, -1, -1,
+ 435, 436, 437, 438, 439, 440, 441, 442, -1, -1,
+ 445, 446, 447, 448, 449, -1, -1, 452, 453, 454,
+ 455, 456, -1, 458, -1, 460, 461, 462, 463, 464,
+ 465, -1, -1, 468, -1, -1, 471, 472, 473, 474,
+ 475, 476, 3, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 488, 489, 490, -1, -1, -1, 20,
+ 21, 22, 23, 24, 25, 26, 27, 28, -1, 30,
+ 31, 32, -1, -1, -1, -1, -1, -1, -1, 40,
+ 41, 42, -1, 44, 45, 46, 47, 48, 49, 50,
+ 51, -1, 53, 54, 55, 56, -1, 58, 59, 60,
+ 61, 62, 63, 64, -1, -1, 67, 68, 69, 70,
+ 71, -1, 73, 74, 75, 76, -1, -1, 79, -1,
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
+ -1, 92, 93, 94, 95, 96, 97, -1, 99, 100,
+ 101, 102, -1, -1, -1, 106, -1, -1, -1, 110,
+ 111, 112, 113, 114, 115, 116, 117, 118, -1, 120,
+ -1, 122, 123, 124, 125, 126, 127, 128, -1, 130,
+ 131, 132, 133, -1, -1, 136, 137, 138, 139, 140,
+ -1, 142, 143, 144, -1, 146, 147, 148, -1, 150,
+ 151, 152, 153, -1, 155, 156, 157, 158, -1, -1,
+ 161, -1, 163, 164, 165, 166, 167, -1, 169, -1,
+ 171, 172, 173, -1, 175, 176, 177, 178, 179, -1,
+ 181, -1, -1, -1, 185, 186, -1, 188, 189, 190,
+ 191, 192, 193, 194, 195, 196, 197, -1, 199, 200,
+ 201, 202, 203, 204, 205, 206, -1, 208, 209, -1,
+ 211, 212, 213, 214, 215, 216, -1, 218, -1, 220,
+ 221, 222, 223, 224, 225, -1, -1, -1, -1, 230,
+ 231, 232, 233, 234, 235, -1, -1, 238, -1, 240,
+ 241, 242, -1, 244, 245, 246, -1, -1, 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, -1, -1, 279, -1,
+ 281, 282, 283, 284, -1, -1, 287, 288, 289, 290,
+ 291, -1, 293, 294, -1, -1, 297, 298, 299, -1,
+ -1, 302, 303, -1, 305, 306, 307, -1, 309, 310,
+ 311, 312, 313, 314, 315, 316, 317, 318, -1, 320,
+ 321, -1, 323, -1, 325, 326, 327, -1, 329, 330,
+ 331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
+ 341, 342, 343, -1, 345, 346, 347, 348, 349, 350,
+ 351, 352, 353, 354, 355, 356, 357, -1, 359, 360,
+ 361, 362, 363, 364, 365, 366, -1, 368, 369, 370,
+ 371, 372, 373, 374, 375, 376, 377, -1, 379, 380,
+ 381, 382, 383, -1, 385, 386, 387, 388, 389, 390,
+ 391, 392, 393, 394, -1, 396, 397, 398, 399, 400,
+ 401, 402, 403, 404, 405, 406, 407, 408, -1, 410,
+ -1, 412, 413, -1, -1, 416, 417, 418, 419, 420,
+ 421, 422, -1, 424, 425, 426, -1, -1, 429, 430,
+ -1, 432, -1, -1, 435, 436, 437, 438, 439, 440,
+ 441, 442, -1, -1, 445, 446, 447, 448, 449, -1,
+ -1, 452, 453, 454, 455, 456, -1, 458, -1, 460,
+ 461, 462, 463, 464, 465, -1, -1, 468, -1, -1,
+ 471, 472, 473, 474, 475, 476, 3, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 488, 489, 490,
+ -1, -1, -1, 20, 21, 22, 23, 24, 25, 26,
+ 27, 28, -1, 30, 31, 32, -1, -1, -1, -1,
+ -1, -1, -1, 40, 41, 42, -1, 44, 45, 46,
+ 47, 48, 49, 50, 51, -1, 53, 54, 55, 56,
+ -1, 58, 59, 60, 61, 62, 63, 64, -1, -1,
+ 67, 68, 69, 70, 71, -1, 73, 74, 75, 76,
+ -1, -1, 79, -1, 81, 82, 83, 84, 85, 86,
+ 87, 88, 89, 90, -1, 92, 93, 94, 95, 96,
+ 97, -1, 99, 100, 101, 102, -1, -1, -1, 106,
+ -1, -1, -1, 110, 111, 112, 113, 114, 115, 116,
+ 117, 118, -1, 120, -1, 122, 123, 124, 125, 126,
+ 127, 128, -1, 130, 131, 132, 133, -1, -1, 136,
+ 137, 138, 139, 140, -1, 142, 143, 144, -1, 146,
+ 147, 148, -1, 150, 151, 152, 153, -1, 155, 156,
+ 157, 158, -1, -1, 161, -1, 163, 164, 165, 166,
+ 167, -1, 169, -1, 171, 172, 173, -1, 175, 176,
+ 177, 178, 179, -1, 181, -1, -1, -1, 185, 186,
+ -1, 188, 189, 190, 191, 192, 193, 194, 195, 196,
+ 197, -1, 199, 200, 201, 202, 203, 204, 205, 206,
+ -1, 208, 209, -1, 211, 212, 213, 214, 215, 216,
+ -1, 218, -1, 220, 221, 222, 223, 224, 225, -1,
+ -1, -1, -1, 230, 231, 232, 233, 234, 235, -1,
+ -1, 238, -1, 240, 241, 242, -1, 244, 245, 246,
+ -1, -1, 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,
+ -1, -1, 279, -1, 281, 282, 283, 284, -1, -1,
+ 287, 288, 289, 290, 291, -1, 293, 294, -1, -1,
+ 297, 298, 299, -1, -1, 302, 303, -1, 305, 306,
+ 307, -1, 309, 310, 311, 312, 313, 314, 315, 316,
+ 317, 318, -1, 320, 321, -1, 323, -1, 325, 326,
+ 327, -1, 329, 330, 331, 332, 333, 334, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, -1, 345, 346,
+ 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
+ 357, -1, 359, 360, 361, 362, 363, 364, 365, 366,
+ -1, 368, 369, 370, 371, 372, 373, 374, 375, 376,
+ 377, -1, 379, 380, 381, 382, 383, -1, 385, 386,
+ 387, 388, 389, 390, 391, 392, 393, 394, -1, 396,
+ 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
+ 407, 408, -1, 410, -1, 412, 413, -1, -1, 416,
+ 417, 418, 419, 420, 421, 422, -1, 424, 425, 426,
+ -1, -1, 429, 430, -1, 432, -1, -1, 435, 436,
+ 437, 438, 439, 440, 441, 442, -1, -1, 445, 446,
+ 447, 448, 449, -1, -1, 452, 453, 454, 455, 456,
+ -1, 458, -1, 460, 461, 462, 463, 464, 465, -1,
+ -1, 468, -1, -1, 471, 472, 473, 474, 475, 476,
+ 3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 488, 489, 490, -1, -1, -1, 20, 21, 22,
+ 23, 24, 25, 26, 27, 28, -1, 30, 31, 32,
+ -1, -1, -1, -1, -1, -1, -1, 40, 41, 42,
+ -1, 44, 45, 46, 47, 48, 49, 50, 51, -1,
+ 53, 54, 55, 56, -1, 58, 59, 60, 61, 62,
+ 63, 64, -1, -1, 67, 68, 69, 70, 71, -1,
+ 73, 74, 75, 76, -1, -1, 79, -1, 81, 82,
+ 83, 84, 85, 86, 87, 88, 89, 90, -1, 92,
+ 93, 94, 95, 96, 97, -1, 99, 100, 101, 102,
+ -1, -1, -1, 106, -1, -1, -1, 110, 111, 112,
+ 113, 114, 115, 116, 117, 118, -1, 120, -1, 122,
+ 123, 124, 125, 126, 127, 128, -1, 130, 131, 132,
+ 133, -1, -1, 136, 137, 138, 139, 140, -1, 142,
+ 143, 144, -1, 146, 147, 148, -1, 150, 151, 152,
+ 153, -1, 155, 156, 157, 158, -1, -1, 161, -1,
+ 163, 164, 165, 166, 167, -1, 169, -1, 171, 172,
+ 173, -1, 175, 176, 177, 178, 179, -1, 181, -1,
+ -1, -1, 185, 186, -1, 188, 189, 190, 191, 192,
+ 193, 194, 195, 196, 197, -1, 199, 200, 201, 202,
+ 203, 204, 205, 206, -1, 208, 209, -1, 211, 212,
+ 213, 214, 215, 216, -1, 218, -1, 220, 221, 222,
+ 223, 224, 225, -1, -1, -1, -1, 230, 231, 232,
+ 233, 234, 235, -1, -1, 238, -1, 240, 241, 242,
+ -1, 244, 245, 246, -1, -1, 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, -1, -1, 279, -1, 281, 282,
+ 283, 284, -1, -1, 287, 288, 289, 290, 291, -1,
+ 293, 294, -1, -1, 297, 298, 299, -1, -1, 302,
+ 303, -1, 305, 306, 307, -1, 309, 310, 311, 312,
+ 313, 314, 315, 316, 317, 318, -1, 320, 321, -1,
+ 323, -1, 325, 326, 327, -1, 329, 330, 331, 332,
+ 333, 334, 335, 336, 337, 338, 339, 340, 341, 342,
+ 343, -1, 345, 346, 347, 348, 349, 350, 351, 352,
+ 353, 354, 355, 356, 357, -1, 359, 360, 361, 362,
+ 363, 364, 365, 366, -1, 368, 369, 370, 371, 372,
+ 373, 374, 375, 376, 377, -1, 379, 380, 381, 382,
+ 383, -1, 385, 386, 387, 388, 389, 390, 391, 392,
+ 393, 394, -1, 396, 397, 398, 399, 400, 401, 402,
+ 403, 404, 405, 406, 407, 408, -1, 410, -1, 412,
+ 413, -1, -1, 416, 417, 418, 419, 420, 421, 422,
+ -1, 424, 425, 426, -1, -1, 429, 430, -1, 432,
+ -1, -1, 435, 436, 437, 438, 439, 440, 441, 442,
+ -1, -1, 445, 446, 447, 448, 449, -1, -1, 452,
+ 453, 454, 455, 456, -1, 458, -1, 460, 461, 462,
+ 463, 464, 465, -1, -1, 468, -1, -1, 471, 472,
+ 473, 474, 475, 476, 3, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 488, 489, 490, -1, -1,
+ -1, 20, 21, 22, 23, 24, 25, 26, 27, 28,
+ -1, 30, 31, 32, -1, -1, -1, -1, -1, -1,
+ -1, 40, 41, 42, -1, 44, 45, 46, 47, 48,
+ 49, 50, 51, -1, 53, 54, 55, 56, -1, 58,
+ 59, 60, 61, 62, 63, 64, -1, -1, 67, 68,
+ 69, 70, 71, -1, 73, 74, 75, 76, -1, -1,
+ 79, -1, 81, 82, 83, 84, 85, 86, 87, 88,
+ 89, 90, -1, 92, 93, 94, 95, 96, 97, -1,
+ 99, 100, 101, 102, -1, -1, -1, 106, -1, -1,
+ -1, 110, 111, 112, 113, 114, 115, 116, 117, 118,
+ -1, 120, -1, 122, 123, 124, 125, 126, 127, 128,
+ -1, 130, 131, 132, 133, -1, -1, 136, 137, 138,
+ 139, 140, -1, 142, 143, 144, -1, 146, 147, 148,
+ -1, 150, 151, 152, 153, -1, 155, 156, 157, 158,
+ -1, -1, 161, -1, 163, 164, 165, 166, 167, -1,
+ 169, -1, 171, 172, 173, -1, 175, 176, 177, 178,
+ 179, -1, 181, -1, -1, -1, 185, 186, -1, 188,
+ 189, 190, 191, 192, 193, 194, 195, 196, 197, -1,
+ 199, 200, 201, 202, 203, 204, 205, 206, -1, 208,
+ 209, -1, 211, 212, 213, 214, 215, 216, -1, 218,
+ -1, 220, 221, 222, 223, 224, 225, -1, -1, -1,
+ -1, 230, 231, 232, 233, 234, 235, -1, -1, 238,
+ -1, 240, 241, 242, -1, 244, 245, 246, -1, -1,
+ 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, -1, -1,
+ 279, -1, 281, 282, 283, 284, -1, -1, 287, 288,
+ 289, 290, 291, -1, 293, 294, -1, -1, 297, 298,
+ 299, -1, -1, 302, 303, -1, 305, 306, 307, -1,
+ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
+ -1, 320, 321, -1, 323, -1, 325, 326, 327, -1,
+ 329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, -1, 345, 346, 347, 348,
+ 349, 350, 351, 352, 353, 354, 355, 356, 357, -1,
+ 359, 360, 361, 362, 363, 364, 365, 366, -1, 368,
+ 369, 370, 371, 372, 373, 374, 375, 376, 377, -1,
+ 379, 380, 381, 382, 383, -1, 385, 386, -1, 388,
+ 389, 390, 391, 392, 393, 394, -1, 396, 397, 398,
+ 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
+ -1, 410, -1, 412, 413, -1, -1, 416, 417, 418,
+ 419, 420, 421, 422, -1, 424, 425, 426, -1, -1,
+ 429, 430, -1, 432, -1, -1, 435, 436, 437, 438,
+ 439, 440, 441, 442, -1, -1, 445, 446, 447, 448,
+ 449, -1, -1, 452, 453, 454, 455, 456, -1, 458,
+ -1, 460, 461, 462, 463, 464, 465, -1, -1, 468,
+ -1, -1, 471, 472, 473, 474, 475, 476, 3, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 488,
+ 489, 490, -1, -1, -1, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, -1, 30, 31, 32, -1, -1,
+ -1, -1, -1, -1, -1, 40, 41, 42, -1, 44,
+ 45, 46, 47, 48, 49, 50, 51, -1, -1, 54,
+ -1, -1, -1, 58, 59, 60, 61, 62, 63, 64,
+ -1, -1, 67, 68, -1, -1, 71, -1, 73, 74,
+ 75, 76, -1, -1, 79, -1, 81, 82, 83, 84,
+ 85, 86, 87, 88, 89, 90, -1, 92, 93, 94,
+ 95, 96, 97, -1, 99, 100, 101, 102, -1, -1,
+ -1, 106, -1, -1, -1, 110, 111, 112, 113, 114,
+ 115, -1, -1, 118, -1, 120, -1, 122, 123, 124,
+ 125, 126, 127, 128, -1, 130, 131, 132, 133, -1,
+ -1, 136, 137, 138, 139, 140, -1, 142, 143, 144,
+ -1, 146, 147, 148, -1, 150, 151, 152, 153, -1,
+ 155, 156, 157, 158, -1, -1, 161, -1, 163, 164,
+ 165, -1, 167, -1, 169, -1, 171, 172, 173, -1,
+ 175, 176, 177, 178, 179, -1, 181, -1, -1, -1,
+ 185, 186, -1, 188, 189, 190, 191, 192, 193, 194,
+ 195, 196, 197, -1, 199, 200, 201, 202, 203, 204,
+ 205, 206, -1, 208, 209, -1, 211, 212, 213, 214,
+ -1, -1, -1, -1, -1, 220, 221, 222, 223, 224,
+ 225, -1, -1, -1, -1, 230, 231, 232, 233, 234,
+ 235, -1, -1, 238, -1, 240, 241, 242, -1, 244,
+ 245, 246, -1, -1, 249, 250, 251, 252, 253, 254,
+ 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
+ 265, 266, -1, 268, -1, 270, 271, 272, 273, 274,
+ 275, 276, -1, -1, 279, -1, 281, 282, 283, 284,
+ -1, -1, 287, -1, 289, 290, 291, -1, 293, 294,
+ -1, -1, 297, 298, 299, -1, -1, 302, 303, -1,
+ 305, 306, 307, -1, 309, 310, 311, 312, 313, 314,
+ 315, 316, 317, 318, -1, 320, 321, -1, 323, -1,
+ 325, 326, 327, -1, 329, 330, 331, 332, 333, 334,
+ 335, 336, 337, 338, -1, 340, 341, 342, 343, -1,
+ 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
+ 355, 356, 357, -1, 359, 360, 361, 362, 363, 364,
+ 365, 366, -1, 368, 369, 370, 371, 372, 373, 374,
+ 375, 376, 377, -1, 379, 380, 381, 382, 383, -1,
+ 385, 386, -1, 388, 389, 390, 391, 392, -1, 394,
+ -1, 396, 397, 398, 399, 400, 401, 402, 403, 404,
+ 405, 406, 407, 408, -1, 410, -1, 412, 413, -1,
+ -1, 416, 417, 418, 419, 420, 421, 422, -1, 424,
+ -1, -1, -1, -1, 429, 430, -1, 432, -1, -1,
+ 435, 436, 437, 438, 439, 440, 441, 442, -1, -1,
+ 445, 446, 447, 448, 449, -1, -1, 452, 453, 454,
+ 455, 456, -1, -1, -1, 460, 461, 462, 463, 464,
+ 465, -1, -1, 468, -1, -1, 471, 472, 473, 474,
+ 475, 476, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 488, 489, 490
+};
+
+ /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
+ symbol of state STATE-NUM. */
+static const yytype_int16 yystos[] =
+{
+ 0, 20, 31, 33, 34, 51, 61, 73, 75, 76,
+ 82, 84, 96, 98, 115, 118, 133, 135, 139, 145,
+ 153, 155, 162, 180, 197, 244, 245, 250, 264, 282,
+ 326, 340, 346, 347, 349, 354, 360, 363, 370, 377,
+ 378, 385, 389, 399, 415, 435, 446, 452, 457, 470,
+ 494, 496, 497, 498, 499, 500, 513, 520, 521, 522,
+ 523, 528, 529, 535, 536, 538, 539, 540, 541, 543,
+ 546, 558, 563, 564, 567, 568, 569, 587, 590, 591,
+ 606, 655, 658, 659, 662, 665, 666, 667, 675, 682,
+ 684, 685, 688, 691, 692, 696, 705, 709, 710, 711,
+ 714, 716, 717, 718, 719, 727, 729, 749, 753, 755,
+ 756, 766, 768, 775, 776, 779, 780, 781, 782, 783,
+ 792, 794, 796, 799, 803, 804, 814, 815, 820, 825,
+ 836, 868, 871, 872, 873, 878, 881, 883, 885, 887,
+ 888, 892, 893, 896, 898, 899, 903, 904, 905, 908,
+ 909, 910, 911, 912, 919, 921, 922, 923, 924, 930,
+ 932, 933, 939, 940, 941, 944, 945, 946, 947, 949,
+ 950, 952, 953, 955, 956, 958, 970, 972, 975, 977,
+ 978, 987, 989, 994, 999, 1007, 1011, 1012, 1013, 1014,
+ 1015, 1016, 1022, 1058, 429, 473, 925, 28, 79, 95,
+ 113, 119, 137, 148, 157, 170, 176, 183, 203, 234,
+ 256, 297, 321, 331, 332, 335, 362, 365, 369, 372,
+ 379, 382, 401, 408, 413, 415, 418, 422, 432, 437,
+ 450, 463, 681, 925, 3, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, 30, 31, 32, 40, 41, 42,
+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
+ 54, 55, 56, 58, 59, 60, 61, 62, 63, 64,
+ 67, 68, 69, 70, 71, 73, 74, 75, 76, 77,
+ 79, 81, 82, 83, 84, 85, 86, 87, 88, 89,
+ 90, 92, 93, 94, 95, 96, 97, 99, 100, 101,
+ 102, 106, 110, 111, 112, 113, 114, 115, 116, 117,
+ 118, 120, 122, 123, 124, 125, 126, 127, 128, 130,
+ 131, 132, 133, 136, 137, 138, 139, 140, 142, 143,
+ 144, 146, 147, 148, 150, 151, 152, 153, 154, 155,
+ 156, 157, 158, 159, 161, 163, 164, 165, 166, 167,
+ 169, 171, 172, 173, 175, 176, 177, 178, 179, 181,
+ 182, 184, 185, 186, 188, 189, 190, 191, 192, 193,
+ 194, 195, 196, 197, 199, 200, 201, 202, 203, 204,
+ 205, 206, 208, 209, 210, 211, 212, 213, 214, 215,
+ 216, 218, 220, 221, 222, 223, 224, 225, 226, 227,
+ 228, 229, 230, 231, 232, 233, 234, 235, 238, 239,
+ 240, 241, 242, 244, 245, 246, 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, 281, 282, 283,
+ 284, 286, 287, 288, 289, 290, 291, 293, 294, 297,
+ 298, 299, 302, 303, 304, 305, 306, 307, 308, 309,
+ 310, 311, 312, 313, 314, 315, 316, 317, 318, 320,
+ 321, 322, 323, 324, 325, 326, 327, 329, 330, 331,
+ 332, 333, 334, 335, 336, 337, 338, 339, 340, 341,
+ 342, 343, 345, 346, 347, 348, 349, 350, 351, 352,
+ 353, 354, 355, 356, 357, 359, 360, 361, 362, 363,
+ 364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
+ 374, 375, 376, 377, 379, 380, 381, 382, 383, 385,
+ 386, 387, 388, 389, 390, 391, 392, 393, 394, 396,
+ 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
+ 407, 408, 409, 410, 412, 413, 416, 417, 418, 419,
+ 420, 421, 422, 424, 425, 426, 429, 430, 431, 432,
+ 433, 435, 436, 437, 438, 439, 440, 441, 442, 445,
+ 446, 447, 448, 449, 452, 453, 454, 455, 456, 457,
+ 458, 460, 461, 462, 463, 464, 465, 468, 471, 472,
+ 473, 474, 475, 476, 477, 478, 479, 480, 481, 482,
+ 483, 484, 485, 486, 487, 488, 489, 490, 1119, 1203,
+ 1215, 1216, 1220, 1221, 1222, 3, 29, 1008, 1200, 1215,
+ 1220, 461, 513, 963, 295, 327, 925, 54, 513, 598,
+ 23, 41, 66, 79, 113, 119, 137, 148, 157, 170,
+ 179, 183, 246, 297, 300, 321, 335, 362, 372, 382,
+ 401, 408, 418, 419, 421, 422, 437, 444, 447, 450,
+ 607, 664, 771, 826, 837, 29, 326, 1200, 1008, 29,
+ 320, 380, 419, 421, 6, 233, 879, 880, 1206, 23,
+ 28, 66, 79, 95, 113, 137, 148, 157, 170, 176,
+ 183, 203, 256, 297, 310, 321, 332, 335, 362, 365,
+ 369, 372, 379, 382, 401, 408, 415, 418, 422, 430,
+ 432, 437, 450, 463, 681, 784, 786, 787, 925, 1200,
+ 98, 461, 513, 659, 662, 665, 958, 971, 975, 978,
+ 987, 994, 999, 1007, 1011, 11, 22, 29, 49, 165,
+ 172, 174, 198, 235, 271, 329, 348, 504, 505, 800,
+ 801, 1008, 1205, 1207, 29, 31, 98, 344, 378, 805,
+ 806, 807, 1215, 170, 1215, 1202, 1206, 415, 1025, 800,
+ 1215, 429, 1200, 310, 256, 513, 891, 370, 1215, 29,
+ 383, 425, 429, 550, 559, 560, 1215, 180, 805, 806,
+ 1215, 327, 925, 1215, 232, 29, 134, 1027, 1028, 67,
+ 92, 246, 266, 362, 372, 383, 425, 429, 476, 547,
+ 548, 549, 550, 29, 383, 425, 429, 550, 429, 296,
+ 1070, 1071, 1198, 1215, 1025, 506, 1215, 175, 513, 964,
+ 513, 342, 1017, 1018, 1200, 1017, 3, 53, 55, 56,
+ 69, 70, 116, 117, 138, 166, 215, 216, 218, 267,
+ 269, 288, 339, 387, 393, 425, 426, 458, 1093, 1095,
+ 1097, 1099, 1101, 1103, 1104, 1105, 1107, 1108, 1109, 1111,
+ 1112, 1216, 1220, 1027, 1028, 1029, 1211, 12, 1212, 1213,
+ 1215, 1212, 1212, 1012, 1013, 1016, 0, 516, 513, 963,
+ 149, 217, 301, 443, 1030, 1031, 1012, 1014, 1015, 124,
+ 213, 258, 449, 517, 35, 929, 853, 1203, 789, 1215,
+ 789, 1200, 330, 789, 432, 1200, 112, 415, 841, 1203,
+ 1215, 1222, 3, 105, 109, 384, 1208, 1209, 1217, 1220,
+ 1221, 1222, 29, 192, 1198, 289, 463, 10, 17, 18,
+ 19, 74, 161, 501, 502, 503, 504, 505, 506, 507,
+ 508, 509, 875, 877, 1150, 1151, 1215, 192, 1200, 841,
+ 1200, 29, 1208, 1209, 841, 1200, 1200, 192, 1198, 1200,
+ 192, 789, 1200, 354, 385, 29, 192, 1070, 1200, 375,
+ 1200, 789, 29, 253, 1208, 1209, 192, 1198, 233, 121,
+ 223, 280, 338, 926, 927, 928, 513, 511, 515, 1176,
+ 1178, 491, 957, 958, 959, 960, 1217, 1198, 1200, 1215,
+ 28, 66, 80, 91, 113, 137, 176, 203, 234, 297,
+ 332, 362, 365, 408, 418, 430, 437, 784, 785, 786,
+ 787, 1206, 929, 974, 978, 987, 994, 999, 1011, 1198,
+ 259, 789, 513, 192, 789, 1200, 789, 432, 192, 1200,
+ 112, 415, 419, 421, 1208, 1209, 419, 421, 74, 161,
+ 875, 352, 1200, 1200, 1208, 192, 524, 1215, 192, 1200,
+ 192, 525, 789, 1200, 1200, 375, 789, 253, 1208, 342,
+ 379, 415, 463, 256, 95, 203, 28, 91, 176, 332,
+ 369, 430, 432, 436, 676, 29, 1200, 1009, 557, 1206,
+ 1217, 880, 259, 192, 853, 854, 192, 884, 192, 1200,
+ 192, 791, 1093, 432, 112, 415, 192, 840, 841, 192,
+ 1209, 1210, 87, 463, 74, 161, 192, 876, 877, 59,
+ 192, 840, 192, 1210, 192, 840, 192, 1200, 192, 1200,
+ 375, 884, 192, 791, 192, 253, 1210, 233, 192, 788,
+ 789, 192, 1199, 1200, 192, 1200, 929, 513, 976, 607,
+ 971, 457, 957, 963, 1207, 801, 802, 29, 802, 1207,
+ 802, 29, 802, 1207, 802, 802, 802, 1207, 1205, 1205,
+ 1008, 802, 330, 513, 413, 513, 632, 632, 632, 295,
+ 427, 517, 632, 372, 1070, 1072, 517, 920, 1206, 513,
+ 973, 59, 463, 957, 113, 203, 372, 413, 415, 889,
+ 890, 1215, 48, 490, 223, 515, 298, 295, 174, 298,
+ 1206, 427, 929, 168, 797, 295, 5, 8, 9, 10,
+ 12, 37, 53, 55, 56, 65, 66, 69, 70, 77,
+ 79, 103, 104, 105, 106, 107, 108, 109, 116, 117,
+ 119, 154, 159, 160, 166, 182, 184, 215, 216, 218,
+ 226, 227, 228, 229, 239, 247, 248, 267, 269, 278,
+ 280, 285, 286, 288, 297, 308, 322, 339, 367, 384,
+ 393, 409, 414, 425, 426, 431, 433, 434, 444, 450,
+ 458, 478, 479, 480, 481, 483, 484, 485, 486, 492,
+ 504, 505, 506, 513, 1012, 1096, 1099, 1102, 1103, 1104,
+ 1106, 1107, 1108, 1111, 1112, 1116, 1118, 1119, 1120, 1122,
+ 1146, 1147, 1148, 1152, 1170, 1175, 1192, 1195, 1196, 1203,
+ 1204, 1205, 1206, 1215, 1194, 1195, 1206, 29, 565, 1197,
+ 1198, 383, 547, 119, 556, 1206, 557, 1206, 48, 71,
+ 547, 490, 394, 927, 298, 174, 427, 503, 48, 490,
+ 223, 928, 513, 1198, 506, 1178, 1072, 957, 173, 965,
+ 1116, 1155, 1017, 517, 513, 966, 460, 1110, 1110, 1110,
+ 513, 1098, 1098, 324, 513, 1100, 69, 70, 1110, 1098,
+ 1095, 494, 495, 513, 1113, 513, 1113, 37, 1094, 513,
+ 114, 190, 260, 263, 376, 488, 513, 1114, 1115, 515,
+ 790, 1098, 1194, 1179, 514, 514, 522, 957, 967, 968,
+ 969, 1198, 29, 134, 1026, 1026, 59, 1026, 162, 168,
+ 243, 292, 1034, 1036, 1037, 1052, 1054, 1055, 1056, 1030,
+ 1031, 174, 219, 219, 1070, 1073, 513, 68, 276, 311,
+ 350, 385, 513, 851, 311, 346, 350, 385, 790, 311,
+ 350, 385, 3, 90, 143, 249, 311, 346, 350, 385,
+ 418, 420, 470, 558, 561, 934, 935, 936, 937, 821,
+ 25, 139, 311, 350, 385, 454, 574, 1200, 25, 139,
+ 385, 449, 542, 474, 192, 1070, 62, 97, 158, 195,
+ 238, 276, 280, 311, 312, 350, 359, 368, 377, 385,
+ 397, 406, 410, 465, 558, 562, 857, 869, 897, 513,
+ 838, 1178, 350, 542, 198, 154, 25, 31, 46, 76,
+ 132, 139, 142, 169, 205, 276, 280, 290, 299, 311,
+ 350, 353, 354, 385, 454, 570, 572, 573, 699, 897,
+ 5, 504, 505, 673, 1207, 29, 192, 1198, 789, 789,
+ 513, 874, 311, 385, 515, 154, 295, 311, 350, 385,
+ 869, 897, 25, 139, 311, 350, 385, 198, 537, 350,
+ 470, 494, 530, 537, 311, 350, 385, 869, 897, 295,
+ 311, 350, 154, 38, 60, 111, 201, 257, 261, 276,
+ 310, 350, 355, 379, 385, 399, 570, 670, 671, 311,
+ 350, 462, 699, 707, 154, 311, 350, 385, 25, 90,
+ 132, 139, 142, 311, 346, 350, 385, 392, 560, 548,
+ 550, 198, 154, 46, 130, 276, 350, 385, 570, 571,
+ 311, 350, 354, 385, 88, 131, 314, 420, 295, 25,
+ 31, 139, 311, 350, 385, 588, 589, 537, 168, 350,
+ 530, 537, 154, 350, 385, 570, 1200, 241, 121, 296,
+ 475, 517, 926, 29, 134, 459, 506, 514, 846, 1116,
+ 1156, 1157, 1216, 1116, 1177, 3, 29, 33, 34, 35,
+ 36, 37, 38, 39, 43, 57, 65, 66, 72, 78,
+ 80, 91, 98, 103, 104, 105, 107, 108, 109, 119,
+ 121, 129, 134, 135, 141, 145, 149, 160, 162, 168,
+ 170, 174, 180, 183, 187, 198, 207, 217, 219, 236,
+ 237, 243, 247, 248, 280, 285, 292, 295, 296, 300,
+ 301, 319, 328, 344, 358, 378, 384, 395, 411, 414,
+ 415, 423, 427, 428, 434, 443, 444, 450, 451, 459,
+ 466, 467, 469, 470, 506, 1201, 1218, 1220, 1221, 1222,
+ 1223, 1176, 514, 517, 160, 295, 434, 554, 557, 673,
+ 961, 451, 954, 295, 853, 513, 789, 1200, 1093, 841,
+ 289, 74, 161, 877, 841, 841, 168, 1093, 789, 1200,
+ 1200, 514, 632, 1200, 72, 1093, 280, 174, 513, 757,
+ 530, 38, 948, 1200, 280, 530, 474, 192, 1198, 530,
+ 789, 789, 757, 447, 607, 295, 168, 470, 865, 530,
+ 280, 48, 544, 280, 437, 706, 280, 966, 90, 311,
+ 683, 88, 131, 314, 420, 38, 757, 168, 192, 530,
+ 463, 192, 1198, 192, 660, 1198, 1198, 463, 789, 87,
+ 526, 1203, 432, 1203, 1203, 1200, 168, 1200, 681, 40,
+ 54, 110, 212, 276, 374, 154, 63, 356, 517, 527,
+ 154, 513, 154, 530, 154, 517, 527, 474, 154, 517,
+ 527, 154, 517, 192, 788, 192, 789, 192, 789, 154,
+ 517, 527, 1210, 154, 527, 154, 154, 527, 154, 527,
+ 154, 88, 131, 314, 420, 168, 154, 527, 154, 168,
+ 192, 154, 517, 527, 154, 517, 527, 154, 295, 1155,
+ 415, 514, 971, 802, 1008, 802, 1008, 802, 1008, 802,
+ 1008, 802, 1008, 1008, 1008, 802, 1008, 513, 633, 634,
+ 1215, 633, 29, 113, 137, 170, 176, 233, 234, 313,
+ 332, 365, 372, 379, 415, 418, 437, 810, 1197, 1210,
+ 807, 1200, 198, 517, 990, 1206, 1093, 1159, 38, 1210,
+ 526, 514, 526, 526, 526, 241, 1215, 168, 810, 1210,
+ 168, 370, 1215, 557, 295, 513, 1179, 511, 1012, 1160,
+ 1116, 1174, 513, 513, 168, 513, 513, 1012, 513, 513,
+ 513, 513, 513, 513, 513, 513, 513, 513, 513, 1116,
+ 513, 513, 513, 513, 513, 513, 513, 513, 287, 623,
+ 513, 513, 513, 513, 513, 513, 513, 513, 1116, 1116,
+ 1116, 1012, 1116, 1155, 1178, 1206, 513, 1206, 3, 10,
+ 13, 17, 18, 19, 20, 21, 22, 23, 24, 25,
+ 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
+ 36, 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, 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, 99,
+ 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
+ 110, 111, 112, 113, 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, 150, 151,
+ 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
+ 164, 165, 166, 167, 169, 170, 171, 172, 173, 175,
+ 176, 177, 178, 179, 181, 182, 184, 185, 186, 188,
+ 189, 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, 218, 220, 221,
+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
+ 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
+ 242, 244, 245, 246, 247, 248, 249, 250, 251, 252,
+ 253, 254, 255, 256, 257, 258, 259, 261, 262, 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, 293, 294, 296,
+ 297, 298, 299, 300, 302, 303, 304, 305, 308, 309,
+ 310, 311, 312, 313, 314, 315, 316, 317, 318, 319,
+ 320, 321, 322, 323, 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, 359, 360, 361,
+ 362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
+ 372, 373, 374, 375, 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, 428, 429, 430, 431, 432, 433,
+ 434, 435, 436, 437, 438, 439, 440, 441, 442, 444,
+ 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
+ 455, 456, 457, 458, 459, 461, 462, 463, 464, 465,
+ 466, 468, 473, 474, 475, 476, 477, 478, 479, 480,
+ 481, 482, 483, 484, 485, 486, 487, 489, 490, 492,
+ 501, 502, 503, 504, 505, 506, 507, 508, 509, 1150,
+ 1152, 1154, 1219, 1224, 471, 1133, 307, 1116, 163, 1134,
+ 219, 517, 1023, 513, 1206, 1178, 1023, 122, 194, 566,
+ 517, 71, 119, 557, 38, 3, 119, 246, 555, 673,
+ 1112, 1206, 1206, 93, 136, 1128, 102, 119, 551, 552,
+ 554, 673, 119, 551, 241, 1198, 94, 355, 793, 514,
+ 963, 35, 45, 52, 78, 193, 198, 221, 242, 297,
+ 300, 390, 514, 517, 1018, 1199, 38, 513, 1155, 1205,
+ 1110, 1110, 37, 1094, 425, 425, 1205, 1205, 511, 511,
+ 1205, 427, 427, 427, 513, 427, 1205, 1201, 515, 1098,
+ 174, 1059, 15, 503, 1176, 1214, 514, 517, 966, 1014,
+ 1014, 1032, 1033, 1116, 1014, 165, 271, 1043, 230, 276,
+ 338, 388, 449, 29, 1038, 1116, 504, 505, 1039, 1040,
+ 1116, 1118, 1052, 1053, 1037, 1036, 1034, 1035, 168, 1055,
+ 290, 1057, 1034, 1052, 1073, 979, 1198, 1073, 38, 1215,
+ 385, 1155, 68, 427, 427, 372, 198, 210, 301, 304,
+ 387, 459, 506, 844, 845, 846, 848, 850, 852, 1093,
+ 1216, 427, 462, 427, 372, 427, 427, 372, 243, 427,
+ 79, 427, 418, 547, 311, 934, 936, 503, 938, 168,
+ 180, 198, 360, 822, 823, 72, 91, 150, 170, 328,
+ 444, 629, 630, 91, 119, 280, 427, 91, 427, 119,
+ 280, 372, 91, 132, 142, 311, 350, 754, 372, 689,
+ 28, 66, 137, 176, 297, 332, 365, 430, 437, 784,
+ 785, 1200, 154, 350, 385, 570, 295, 673, 377, 238,
+ 427, 1215, 427, 285, 673, 123, 220, 372, 383, 429,
+ 549, 789, 356, 385, 857, 870, 127, 514, 839, 844,
+ 427, 450, 418, 1198, 80, 150, 192, 614, 629, 1215,
+ 80, 91, 894, 316, 295, 367, 369, 432, 91, 894,
+ 32, 353, 367, 369, 432, 367, 1198, 169, 205, 290,
+ 789, 513, 427, 427, 191, 513, 578, 23, 252, 418,
+ 447, 472, 578, 91, 517, 127, 5, 5, 311, 198,
+ 154, 350, 385, 570, 897, 451, 451, 277, 1093, 427,
+ 372, 513, 875, 1200, 1198, 427, 427, 372, 870, 127,
+ 106, 415, 416, 906, 907, 1071, 1198, 1215, 907, 427,
+ 427, 757, 907, 113, 385, 561, 427, 532, 561, 427,
+ 427, 372, 870, 127, 1198, 427, 427, 1198, 1095, 673,
+ 59, 672, 673, 673, 111, 257, 261, 59, 427, 530,
+ 265, 372, 530, 276, 671, 427, 427, 285, 1206, 699,
+ 789, 427, 427, 372, 401, 335, 1206, 335, 427, 335,
+ 427, 335, 757, 757, 418, 1070, 316, 316, 91, 427,
+ 894, 372, 427, 427, 578, 578, 789, 789, 789, 789,
+ 1198, 47, 456, 47, 47, 427, 47, 427, 456, 372,
+ 513, 517, 561, 450, 715, 1209, 427, 532, 561, 1198,
+ 427, 894, 372, 311, 350, 338, 351, 381, 553, 926,
+ 1156, 1156, 1157, 514, 15, 16, 517, 1030, 1031, 512,
+ 518, 1198, 959, 1200, 1198, 221, 1093, 221, 295, 221,
+ 221, 673, 789, 789, 221, 221, 221, 1093, 221, 221,
+ 221, 295, 427, 174, 427, 592, 437, 513, 38, 154,
+ 789, 758, 759, 1218, 934, 1093, 295, 154, 686, 1200,
+ 280, 316, 513, 531, 771, 451, 342, 463, 1198, 29,
+ 907, 757, 531, 154, 1209, 98, 180, 545, 606, 666,
+ 729, 803, 825, 930, 154, 1206, 707, 708, 154, 295,
+ 1206, 1209, 249, 789, 789, 789, 789, 146, 337, 513,
+ 715, 280, 531, 1198, 280, 668, 670, 280, 38, 290,
+ 316, 513, 632, 632, 192, 663, 1198, 168, 192, 524,
+ 1215, 513, 761, 851, 1200, 513, 842, 842, 38, 1093,
+ 27, 50, 214, 730, 233, 470, 472, 1010, 374, 854,
+ 853, 1093, 1200, 513, 791, 1093, 840, 841, 1210, 1209,
+ 154, 527, 154, 451, 154, 451, 876, 877, 527, 840,
+ 1210, 840, 1200, 1200, 1093, 791, 1210, 715, 154, 788,
+ 789, 1199, 1200, 1200, 789, 514, 192, 1198, 971, 1008,
+ 1008, 1008, 1008, 1008, 1008, 633, 514, 517, 514, 177,
+ 333, 366, 380, 416, 1199, 788, 112, 382, 840, 1199,
+ 289, 808, 809, 1215, 840, 840, 1199, 1197, 1197, 1199,
+ 788, 427, 181, 470, 819, 149, 243, 712, 713, 23,
+ 152, 367, 388, 991, 1070, 284, 992, 514, 517, 974,
+ 427, 1198, 1200, 1198, 524, 805, 806, 174, 819, 806,
+ 1215, 28, 80, 137, 176, 234, 332, 365, 437, 784,
+ 785, 1155, 512, 1155, 1160, 1161, 466, 1171, 1172, 1116,
+ 1155, 513, 1205, 1205, 3, 114, 190, 260, 263, 376,
+ 488, 1162, 1163, 1206, 1155, 1155, 358, 1012, 1013, 1116,
+ 1181, 1184, 1191, 1181, 1116, 1118, 1156, 1184, 1187, 1188,
+ 1116, 1188, 1155, 1205, 1205, 1116, 1116, 875, 1116, 1156,
+ 1158, 1165, 367, 504, 505, 513, 1117, 1118, 1152, 1166,
+ 514, 1155, 1116, 1158, 1167, 1116, 57, 174, 237, 428,
+ 1116, 1155, 1168, 134, 280, 1012, 1155, 265, 1118, 1116,
+ 1126, 1127, 1128, 265, 1116, 1128, 514, 517, 1205, 1114,
+ 1093, 1116, 1116, 1116, 1116, 1218, 425, 43, 411, 1180,
+ 789, 1116, 513, 1012, 1169, 134, 136, 160, 225, 272,
+ 273, 274, 275, 279, 280, 285, 434, 445, 1164, 1185,
+ 1116, 513, 1116, 427, 52, 193, 198, 242, 390, 1116,
+ 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 29,
+ 36, 395, 1149, 183, 1134, 367, 513, 1146, 513, 306,
+ 1138, 179, 246, 415, 419, 421, 447, 1024, 1198, 1196,
+ 1059, 1156, 1059, 1198, 429, 513, 1206, 517, 514, 191,
+ 191, 527, 969, 958, 962, 1116, 514, 256, 280, 1019,
+ 1155, 514, 514, 511, 490, 490, 514, 514, 1205, 512,
+ 1205, 514, 190, 260, 1115, 260, 1115, 1115, 1205, 263,
+ 514, 1201, 236, 368, 487, 513, 1012, 1060, 1061, 1062,
+ 1070, 1076, 1086, 1119, 1121, 1122, 1192, 1215, 467, 1081,
+ 1211, 969, 967, 517, 39, 129, 451, 834, 367, 368,
+ 504, 505, 1040, 1042, 1118, 388, 230, 296, 517, 5,
+ 1041, 1205, 1041, 367, 368, 1042, 1197, 284, 392, 993,
+ 1053, 1035, 451, 988, 119, 309, 513, 980, 1011, 38,
+ 451, 1215, 513, 995, 996, 997, 1215, 514, 1209, 1200,
+ 1200, 304, 59, 1216, 514, 846, 848, 845, 848, 1216,
+ 301, 514, 517, 790, 1209, 1200, 1200, 1209, 1200, 1200,
+ 1209, 462, 1200, 1200, 119, 554, 673, 362, 450, 805,
+ 372, 180, 805, 513, 1200, 451, 827, 230, 230, 451,
+ 623, 654, 192, 1200, 285, 1209, 1200, 1200, 1116, 285,
+ 1200, 1200, 32, 353, 427, 427, 1200, 427, 690, 853,
+ 513, 1093, 841, 74, 161, 877, 841, 841, 168, 1093,
+ 789, 1200, 186, 276, 311, 350, 455, 693, 694, 695,
+ 1070, 427, 894, 372, 285, 123, 220, 1209, 1200, 295,
+ 1200, 295, 514, 517, 1208, 1210, 1200, 350, 570, 192,
+ 614, 280, 1093, 1200, 1205, 1215, 1198, 1200, 241, 1200,
+ 29, 450, 1200, 192, 1200, 192, 1215, 369, 432, 369,
+ 432, 241, 1200, 29, 450, 1200, 241, 367, 1198, 25,
+ 139, 385, 700, 701, 702, 703, 1218, 1209, 1200, 119,
+ 175, 281, 451, 577, 580, 581, 1218, 259, 1200, 76,
+ 293, 1200, 573, 295, 427, 418, 1198, 427, 894, 372,
+ 127, 1200, 1200, 517, 514, 517, 1209, 1200, 900, 901,
+ 1218, 295, 350, 427, 723, 1209, 1200, 1200, 295, 1070,
+ 198, 517, 632, 632, 1178, 1209, 1200, 1200, 1208, 3,
+ 90, 144, 205, 318, 442, 450, 453, 533, 1209, 1200,
+ 1200, 295, 350, 1209, 1200, 350, 385, 570, 670, 673,
+ 789, 1200, 673, 789, 1200, 673, 1209, 1200, 385, 1209,
+ 1200, 1200, 1207, 1199, 1199, 1209, 865, 1200, 1199, 1200,
+ 350, 385, 570, 571, 1198, 1198, 1200, 1200, 1200, 1200,
+ 1209, 1200, 25, 31, 139, 311, 350, 385, 311, 350,
+ 385, 757, 350, 385, 350, 385, 350, 897, 1085, 1215,
+ 192, 767, 1215, 192, 1215, 1209, 1200, 1200, 1206, 1200,
+ 900, 25, 589, 382, 1208, 350, 385, 570, 1200, 1200,
+ 1200, 427, 427, 85, 441, 338, 517, 1030, 1030, 1030,
+ 1116, 1116, 459, 1157, 514, 1116, 1177, 954, 285, 795,
+ 1206, 38, 795, 137, 789, 795, 795, 221, 451, 451,
+ 795, 795, 795, 233, 795, 795, 795, 789, 334, 593,
+ 593, 203, 415, 728, 1116, 1093, 789, 514, 517, 503,
+ 620, 1218, 1200, 63, 174, 372, 462, 687, 694, 695,
+ 154, 290, 242, 608, 610, 612, 614, 626, 629, 26,
+ 198, 362, 412, 533, 534, 168, 1200, 463, 1198, 38,
+ 724, 416, 865, 524, 1215, 544, 607, 837, 1200, 170,
+ 789, 513, 656, 657, 1121, 1215, 335, 1206, 757, 757,
+ 757, 757, 513, 757, 1083, 1084, 1085, 382, 154, 513,
+ 154, 154, 153, 1011, 789, 290, 608, 1215, 451, 649,
+ 470, 579, 280, 38, 632, 1206, 280, 295, 3, 762,
+ 763, 757, 27, 514, 843, 844, 849, 38, 233, 359,
+ 430, 469, 855, 856, 857, 858, 855, 295, 233, 290,
+ 124, 213, 435, 449, 731, 732, 1200, 189, 189, 168,
+ 527, 38, 530, 169, 942, 943, 527, 527, 788, 789,
+ 1200, 789, 1200, 527, 527, 527, 527, 233, 527, 382,
+ 168, 527, 527, 295, 527, 280, 514, 634, 198, 198,
+ 198, 198, 198, 474, 1199, 673, 674, 517, 515, 183,
+ 811, 812, 1209, 59, 816, 817, 1218, 427, 513, 174,
+ 152, 388, 152, 388, 367, 449, 262, 1093, 1209, 470,
+ 661, 295, 811, 527, 174, 853, 789, 1093, 841, 289,
+ 841, 841, 1093, 789, 1200, 514, 512, 512, 517, 1116,
+ 141, 1172, 1173, 38, 514, 1116, 514, 514, 514, 174,
+ 514, 514, 1093, 491, 1182, 1182, 514, 21, 285, 517,
+ 1190, 301, 1193, 518, 456, 514, 514, 21, 285, 517,
+ 1189, 1189, 514, 514, 514, 514, 517, 517, 514, 319,
+ 514, 514, 513, 1117, 1117, 1155, 13, 17, 18, 19,
+ 198, 221, 297, 501, 502, 503, 504, 505, 506, 507,
+ 508, 509, 1152, 1117, 514, 514, 168, 174, 390, 514,
+ 514, 38, 1168, 1155, 1168, 1168, 174, 514, 134, 514,
+ 1218, 317, 1131, 38, 514, 517, 1116, 1218, 517, 1116,
+ 1179, 1116, 514, 490, 1117, 1117, 147, 1155, 174, 37,
+ 289, 371, 456, 134, 136, 160, 279, 285, 434, 445,
+ 1164, 1185, 279, 470, 472, 1186, 147, 875, 1116, 411,
+ 1180, 1116, 1169, 1116, 427, 513, 1012, 513, 1138, 513,
+ 1155, 467, 513, 1139, 1215, 419, 421, 419, 421, 1198,
+ 1025, 1025, 1025, 1081, 1030, 1081, 927, 1205, 1114, 552,
+ 969, 256, 513, 514, 1205, 1113, 1113, 512, 512, 514,
+ 1012, 1076, 1086, 174, 513, 1012, 1061, 1062, 38, 1063,
+ 1064, 1215, 517, 99, 175, 209, 224, 240, 268, 361,
+ 1067, 1064, 38, 1063, 1066, 1215, 1064, 494, 1080, 1178,
+ 1116, 183, 1044, 1033, 297, 1150, 1153, 493, 835, 5,
+ 1205, 1042, 296, 470, 449, 1039, 251, 1060, 467, 1082,
+ 457, 413, 450, 981, 982, 983, 1215, 295, 984, 1215,
+ 1061, 997, 998, 517, 1059, 503, 1179, 852, 790, 848,
+ 848, 59, 850, 508, 1210, 1210, 295, 1199, 298, 295,
+ 1116, 630, 1200, 513, 513, 513, 654, 203, 513, 747,
+ 154, 527, 427, 1209, 1200, 557, 1093, 789, 789, 1093,
+ 677, 1200, 186, 455, 427, 427, 677, 693, 699, 350,
+ 385, 570, 1200, 1200, 1200, 211, 285, 157, 844, 310,
+ 385, 427, 280, 154, 404, 618, 619, 747, 385, 25,
+ 139, 354, 355, 385, 574, 582, 583, 699, 895, 377,
+ 154, 527, 154, 527, 1200, 1200, 1200, 1200, 377, 377,
+ 241, 702, 703, 702, 514, 517, 704, 1206, 203, 514,
+ 517, 503, 515, 1200, 157, 1209, 1200, 350, 385, 570,
+ 1200, 1200, 1200, 295, 311, 350, 385, 25, 139, 311,
+ 350, 385, 1093, 277, 1093, 514, 517, 503, 1198, 427,
+ 1210, 451, 720, 157, 632, 372, 906, 467, 639, 639,
+ 632, 243, 318, 285, 1206, 318, 1210, 448, 157, 427,
+ 427, 372, 401, 865, 865, 865, 310, 385, 91, 427,
+ 894, 372, 119, 168, 584, 164, 526, 427, 427, 253,
+ 253, 253, 427, 427, 372, 427, 427, 372, 427, 372,
+ 427, 372, 427, 127, 527, 1093, 280, 1206, 385, 895,
+ 154, 527, 427, 427, 514, 1200, 427, 894, 372, 427,
+ 1209, 1200, 514, 514, 514, 1157, 512, 1093, 789, 221,
+ 795, 1200, 1200, 1200, 221, 402, 403, 594, 1206, 594,
+ 186, 514, 514, 174, 757, 759, 277, 297, 504, 505,
+ 673, 760, 848, 1153, 1206, 1223, 72, 78, 91, 119,
+ 121, 178, 207, 280, 285, 328, 344, 444, 621, 622,
+ 625, 153, 466, 530, 557, 1200, 557, 299, 697, 1198,
+ 1198, 1198, 514, 517, 1210, 183, 362, 1210, 1205, 437,
+ 1198, 632, 3, 168, 725, 865, 48, 544, 415, 706,
+ 112, 966, 1116, 174, 517, 1199, 579, 764, 765, 1206,
+ 514, 517, 1200, 168, 633, 1198, 660, 1198, 1200, 661,
+ 513, 609, 1198, 514, 1200, 470, 472, 650, 578, 38,
+ 154, 1011, 649, 427, 154, 1070, 503, 514, 517, 731,
+ 514, 517, 119, 503, 859, 1206, 557, 415, 847, 848,
+ 168, 864, 51, 357, 860, 861, 858, 861, 124, 213,
+ 378, 449, 917, 1200, 290, 295, 300, 186, 1011, 1093,
+ 513, 514, 517, 527, 451, 527, 451, 527, 1200, 1200,
+ 715, 789, 154, 372, 372, 372, 372, 372, 1199, 517,
+ 809, 1215, 1209, 470, 517, 813, 1209, 517, 819, 160,
+ 298, 434, 818, 1072, 382, 152, 152, 112, 276, 810,
+ 819, 1210, 221, 221, 221, 221, 673, 221, 221, 221,
+ 221, 221, 1160, 423, 1116, 145, 1093, 514, 1116, 1182,
+ 225, 1184, 295, 295, 1181, 1184, 59, 1190, 1181, 1181,
+ 295, 295, 1188, 1186, 1186, 1164, 1116, 1116, 514, 1155,
+ 517, 1093, 1117, 1117, 1117, 1117, 134, 136, 280, 1117,
+ 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1116,
+ 1116, 1116, 1093, 514, 514, 514, 1155, 514, 517, 59,
+ 1118, 1132, 514, 1218, 1127, 325, 407, 1130, 514, 517,
+ 462, 1123, 38, 514, 1206, 1116, 35, 35, 1116, 514,
+ 1116, 174, 279, 1186, 444, 444, 1116, 514, 147, 1117,
+ 1117, 147, 147, 1116, 1116, 1031, 514, 1155, 517, 1116,
+ 1140, 1215, 1025, 1025, 1025, 1025, 1198, 1198, 1198, 1044,
+ 514, 1044, 514, 974, 512, 1064, 1066, 1064, 513, 482,
+ 1118, 514, 1215, 513, 1061, 224, 305, 1068, 1061, 1068,
+ 224, 1067, 1068, 224, 417, 1074, 513, 1215, 513, 302,
+ 59, 187, 1051, 513, 835, 165, 235, 296, 470, 424,
+ 102, 1116, 358, 986, 456, 514, 517, 1179, 89, 986,
+ 295, 514, 517, 996, 1082, 1116, 514, 508, 852, 437,
+ 177, 366, 373, 380, 416, 438, 824, 168, 824, 514,
+ 513, 637, 638, 830, 1121, 1215, 633, 633, 747, 1200,
+ 633, 121, 207, 276, 280, 748, 1200, 1200, 38, 451,
+ 451, 233, 790, 1209, 1200, 427, 894, 372, 427, 211,
+ 1200, 59, 418, 1200, 154, 614, 119, 1215, 86, 616,
+ 617, 401, 178, 156, 191, 280, 578, 530, 112, 178,
+ 280, 401, 578, 616, 618, 671, 385, 583, 437, 1200,
+ 1215, 377, 701, 1200, 581, 760, 1218, 1200, 310, 385,
+ 427, 894, 372, 427, 157, 427, 427, 372, 176, 297,
+ 404, 769, 770, 176, 297, 777, 778, 427, 427, 372,
+ 514, 514, 514, 901, 277, 673, 848, 902, 1153, 1206,
+ 1223, 350, 1200, 513, 470, 721, 1200, 639, 106, 1215,
+ 513, 639, 1207, 1206, 1206, 1206, 1200, 1200, 1200, 1200,
+ 1207, 59, 418, 1200, 1200, 1200, 1200, 457, 1200, 1200,
+ 168, 168, 352, 168, 192, 1209, 1200, 1200, 1209, 1200,
+ 1200, 1200, 1200, 1200, 1200, 1200, 295, 78, 575, 154,
+ 27, 50, 437, 1215, 1200, 1206, 699, 1200, 1200, 1200,
+ 1200, 1030, 514, 221, 795, 221, 221, 221, 795, 530,
+ 451, 599, 600, 677, 747, 470, 472, 789, 513, 789,
+ 1200, 1117, 32, 59, 624, 122, 194, 121, 285, 230,
+ 1198, 623, 176, 332, 743, 750, 751, 1215, 686, 513,
+ 316, 513, 609, 627, 206, 644, 612, 1210, 1210, 1093,
+ 513, 579, 29, 124, 213, 378, 449, 726, 427, 722,
+ 1209, 192, 1198, 708, 474, 295, 514, 1060, 657, 865,
+ 514, 517, 1085, 697, 715, 514, 668, 38, 290, 316,
+ 513, 976, 611, 613, 615, 629, 1215, 316, 645, 646,
+ 609, 644, 578, 293, 295, 651, 1011, 663, 661, 579,
+ 1206, 1200, 827, 760, 3, 763, 295, 849, 1116, 1116,
+ 517, 513, 855, 437, 517, 44, 1116, 427, 513, 633,
+ 1198, 732, 677, 514, 942, 943, 1200, 1200, 527, 382,
+ 527, 1199, 1199, 1199, 1199, 1199, 673, 180, 812, 819,
+ 817, 514, 1200, 112, 174, 527, 819, 285, 798, 1206,
+ 798, 798, 798, 221, 798, 798, 798, 798, 798, 1116,
+ 514, 143, 1183, 514, 285, 285, 514, 1032, 1184, 285,
+ 285, 1184, 1184, 514, 514, 174, 514, 1116, 174, 134,
+ 136, 174, 168, 147, 514, 477, 1125, 1155, 343, 456,
+ 59, 1132, 1118, 468, 468, 514, 1116, 276, 1116, 517,
+ 1124, 1095, 1116, 1116, 1116, 231, 231, 1116, 35, 35,
+ 1116, 1116, 147, 514, 514, 514, 1116, 514, 316, 1141,
+ 1198, 1198, 1198, 1198, 1051, 1206, 1051, 1206, 514, 1077,
+ 1078, 1121, 513, 1131, 1063, 513, 1199, 1061, 295, 451,
+ 1069, 1061, 224, 1061, 1203, 1084, 513, 1084, 1215, 1026,
+ 1116, 469, 1135, 875, 424, 290, 1195, 1011, 309, 1011,
+ 983, 295, 513, 985, 1116, 503, 997, 986, 437, 514,
+ 427, 805, 174, 747, 1116, 514, 517, 470, 78, 829,
+ 833, 829, 514, 514, 514, 122, 194, 205, 121, 453,
+ 527, 1093, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1210,
+ 1200, 614, 119, 1215, 697, 1207, 624, 192, 192, 285,
+ 673, 624, 285, 1207, 1093, 527, 527, 503, 59, 418,
+ 1200, 1200, 1200, 1200, 1200, 1209, 1200, 1200, 1205, 1205,
+ 1093, 517, 1205, 1205, 517, 1209, 1200, 1200, 427, 1116,
+ 72, 1116, 1210, 1200, 427, 427, 174, 198, 470, 1199,
+ 1199, 789, 1199, 154, 157, 789, 1206, 1206, 1093, 527,
+ 527, 427, 514, 221, 795, 795, 795, 795, 513, 595,
+ 596, 530, 126, 176, 210, 176, 1116, 280, 622, 119,
+ 38, 865, 632, 865, 1203, 35, 153, 198, 698, 702,
+ 290, 608, 584, 151, 200, 513, 382, 451, 633, 38,
+ 1210, 720, 544, 280, 513, 170, 1200, 656, 1206, 382,
+ 579, 153, 1011, 789, 290, 608, 661, 514, 517, 470,
+ 620, 59, 649, 584, 645, 84, 418, 652, 470, 931,
+ 38, 652, 174, 295, 513, 1198, 1206, 846, 866, 867,
+ 1216, 861, 1093, 168, 862, 1198, 174, 427, 886, 345,
+ 733, 208, 678, 527, 514, 527, 527, 1200, 298, 219,
+ 811, 527, 798, 1200, 514, 514, 514, 1116, 514, 1117,
+ 174, 1116, 1116, 1116, 513, 514, 517, 514, 1132, 514,
+ 456, 398, 514, 202, 276, 1129, 1116, 1116, 1116, 514,
+ 59, 1030, 1135, 1135, 375, 1020, 514, 517, 38, 1079,
+ 119, 1091, 1092, 1117, 81, 1199, 514, 1116, 513, 1061,
+ 1069, 513, 514, 1084, 514, 101, 184, 364, 513, 1045,
+ 1046, 1047, 1048, 1049, 1050, 1116, 1136, 1137, 1215, 1030,
+ 514, 1008, 981, 91, 828, 830, 135, 466, 1000, 1001,
+ 1116, 811, 295, 811, 514, 199, 635, 638, 297, 875,
+ 789, 525, 789, 344, 635, 635, 514, 427, 385, 992,
+ 620, 38, 154, 154, 575, 760, 1210, 1200, 427, 513,
+ 841, 875, 877, 770, 513, 513, 778, 1200, 514, 513,
+ 514, 385, 992, 1200, 1200, 513, 513, 513, 470, 494,
+ 951, 352, 951, 951, 168, 1200, 575, 1200, 795, 601,
+ 602, 1218, 54, 100, 125, 143, 147, 169, 173, 188,
+ 285, 336, 597, 595, 1206, 841, 38, 882, 882, 514,
+ 191, 513, 451, 653, 254, 636, 653, 513, 751, 743,
+ 513, 514, 517, 1198, 514, 382, 29, 83, 86, 92,
+ 120, 178, 191, 204, 401, 404, 628, 628, 1197, 1200,
+ 1200, 514, 1011, 721, 154, 112, 697, 174, 1200, 38,
+ 1200, 661, 609, 1198, 514, 613, 299, 1215, 650, 645,
+ 649, 124, 139, 325, 1200, 64, 72, 246, 1011, 789,
+ 1070, 828, 174, 746, 848, 514, 517, 437, 145, 523,
+ 860, 863, 1081, 396, 396, 514, 270, 294, 734, 735,
+ 736, 168, 739, 677, 276, 455, 679, 680, 1200, 819,
+ 168, 1117, 1126, 1155, 276, 489, 202, 514, 1155, 185,
+ 337, 368, 1142, 58, 128, 111, 1021, 1080, 1077, 513,
+ 1117, 514, 517, 38, 1087, 1088, 1215, 514, 1199, 1155,
+ 514, 513, 386, 513, 514, 517, 517, 38, 1035, 456,
+ 1200, 514, 517, 281, 449, 255, 280, 1001, 813, 824,
+ 527, 829, 513, 865, 513, 834, 578, 1198, 865, 865,
+ 1200, 418, 191, 451, 576, 385, 992, 1200, 1159, 168,
+ 773, 773, 1159, 1159, 1116, 418, 1155, 1155, 585, 586,
+ 1217, 788, 789, 788, 789, 1199, 527, 514, 517, 506,
+ 513, 554, 603, 673, 948, 1206, 948, 280, 285, 336,
+ 948, 948, 1081, 882, 42, 196, 276, 631, 513, 669,
+ 1116, 203, 175, 315, 391, 295, 640, 641, 642, 514,
+ 1203, 6, 752, 702, 609, 644, 1200, 514, 697, 161,
+ 772, 579, 931, 1198, 474, 1060, 697, 1011, 976, 645,
+ 609, 644, 620, 513, 651, 649, 650, 368, 368, 72,
+ 298, 72, 661, 827, 514, 1198, 747, 855, 866, 1093,
+ 516, 135, 470, 470, 735, 367, 415, 737, 140, 740,
+ 466, 742, 455, 677, 697, 527, 1116, 514, 514, 456,
+ 52, 102, 440, 1116, 1143, 1144, 1143, 1143, 514, 165,
+ 165, 633, 1084, 517, 1092, 1218, 514, 517, 168, 1093,
+ 514, 514, 1155, 513, 1155, 1046, 1137, 1139, 1053, 1011,
+ 1081, 830, 385, 35, 1002, 255, 174, 633, 653, 875,
+ 835, 834, 632, 653, 653, 1200, 669, 1116, 418, 514,
+ 301, 375, 341, 774, 774, 514, 514, 514, 1200, 514,
+ 514, 514, 517, 1205, 951, 602, 554, 604, 605, 1206,
+ 1206, 285, 633, 506, 633, 1206, 1206, 205, 670, 514,
+ 418, 124, 449, 295, 642, 295, 641, 513, 514, 517,
+ 584, 382, 697, 789, 38, 38, 513, 1200, 931, 661,
+ 649, 584, 645, 513, 647, 648, 1121, 1215, 652, 650,
+ 651, 298, 298, 513, 199, 831, 168, 861, 30, 214,
+ 918, 176, 176, 948, 367, 400, 741, 513, 153, 1144,
+ 367, 167, 323, 167, 323, 150, 1145, 1145, 1145, 59,
+ 59, 385, 514, 1118, 1088, 302, 3, 119, 280, 285,
+ 1089, 1090, 38, 1065, 351, 1075, 514, 1045, 514, 995,
+ 1116, 423, 1002, 811, 514, 639, 514, 835, 636, 747,
+ 747, 992, 1200, 841, 59, 992, 427, 585, 789, 514,
+ 517, 633, 514, 405, 1200, 63, 276, 356, 385, 643,
+ 643, 514, 6, 382, 1200, 769, 1011, 697, 650, 645,
+ 649, 1116, 514, 517, 833, 833, 651, 652, 828, 513,
+ 623, 140, 281, 513, 913, 915, 919, 978, 987, 994,
+ 1011, 1022, 841, 841, 738, 1215, 1116, 743, 35, 102,
+ 183, 276, 424, 633, 633, 1215, 1131, 1117, 1117, 285,
+ 1090, 1215, 513, 514, 1081, 124, 135, 449, 1003, 1004,
+ 423, 527, 747, 640, 992, 789, 513, 605, 24, 119,
+ 285, 1200, 697, 931, 651, 649, 650, 514, 648, 525,
+ 525, 652, 514, 830, 832, 579, 367, 914, 915, 916,
+ 1012, 1013, 517, 517, 514, 1203, 1144, 367, 303, 385,
+ 385, 427, 451, 81, 1116, 281, 385, 135, 213, 1005,
+ 747, 1155, 632, 632, 697, 652, 650, 651, 833, 831,
+ 514, 517, 652, 742, 514, 516, 427, 174, 513, 1215,
+ 1215, 1203, 1204, 1215, 1087, 514, 995, 281, 119, 309,
+ 457, 513, 1006, 514, 651, 652, 525, 623, 830, 1081,
+ 153, 916, 396, 396, 5, 744, 745, 1205, 1206, 1218,
+ 513, 119, 514, 457, 981, 513, 982, 652, 579, 743,
+ 470, 470, 514, 517, 1156, 1204, 456, 1155, 514, 652,
+ 1203, 176, 176, 745, 1030, 451, 1006, 514, 309, 1006,
+ 1081, 513, 841, 841, 514, 1215, 981, 744, 456, 514,
+ 1006
+};
+
+ /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
+static const yytype_int16 yyr1[] =
+{
+ 0, 519, 520, 520, 520, 520, 520, 520, 521, 521,
+ 522, 522, 523, 523, 523, 523, 523, 523, 523, 523,
+ 523, 523, 523, 523, 523, 523, 523, 523, 523, 523,
+ 523, 523, 523, 523, 523, 523, 523, 523, 523, 523,
+ 523, 523, 523, 523, 523, 523, 523, 523, 523, 523,
+ 523, 523, 523, 523, 523, 523, 523, 523, 523, 523,
+ 523, 523, 523, 523, 523, 523, 523, 523, 523, 523,
+ 523, 523, 523, 523, 523, 523, 523, 523, 523, 523,
+ 523, 523, 523, 523, 523, 523, 523, 523, 523, 523,
+ 523, 523, 523, 523, 523, 523, 523, 523, 523, 523,
+ 523, 523, 523, 523, 523, 523, 523, 523, 523, 523,
+ 523, 523, 523, 523, 523, 523, 523, 523, 523, 523,
+ 523, 523, 523, 523, 523, 523, 523, 523, 523, 523,
+ 523, 523, 523, 523, 523, 523, 523, 524, 524, 525,
+ 525, 526, 526, 527, 527, 527, 528, 529, 530, 530,
+ 530, 531, 531, 532, 532, 533, 533, 533, 533, 533,
+ 533, 533, 533, 533, 534, 534, 534, 534, 534, 534,
+ 535, 536, 536, 537, 537, 538, 538, 538, 538, 539,
+ 539, 539, 539, 539, 539, 540, 541, 542, 542, 543,
+ 543, 543, 543, 544, 544, 545, 545, 545, 545, 545,
+ 545, 546, 546, 546, 547, 547, 547, 548, 548, 548,
+ 548, 549, 549, 549, 549, 549, 549, 549, 549, 549,
+ 549, 549, 550, 550, 551, 551, 552, 552, 553, 553,
+ 553, 553, 554, 554, 554, 554, 555, 555, 555, 555,
+ 555, 555, 555, 556, 556, 556, 557, 557, 558, 559,
+ 559, 559, 559, 560, 560, 561, 561, 562, 562, 563,
+ 563, 563, 563, 563, 564, 565, 565, 566, 566, 567,
+ 568, 568, 568, 568, 568, 569, 569, 569, 569, 569,
+ 569, 569, 569, 569, 569, 569, 569, 569, 569, 569,
+ 569, 569, 569, 569, 569, 569, 570, 570, 571, 571,
+ 571, 572, 573, 573, 573, 573, 573, 573, 573, 573,
+ 573, 573, 573, 573, 573, 573, 573, 573, 573, 573,
+ 573, 573, 573, 573, 573, 573, 573, 573, 573, 573,
+ 573, 573, 573, 573, 573, 573, 573, 573, 573, 573,
+ 573, 573, 573, 573, 573, 573, 573, 573, 573, 573,
+ 573, 573, 573, 573, 573, 573, 573, 573, 573, 573,
+ 573, 573, 574, 574, 575, 575, 576, 576, 577, 577,
+ 577, 577, 578, 579, 579, 580, 580, 581, 581, 581,
+ 581, 582, 582, 583, 583, 583, 583, 584, 584, 584,
+ 584, 585, 586, 586, 587, 588, 588, 589, 589, 589,
+ 589, 590, 590, 591, 591, 592, 592, 593, 593, 594,
+ 594, 594, 595, 595, 596, 596, 597, 597, 597, 597,
+ 597, 597, 597, 597, 597, 597, 597, 597, 597, 598,
+ 598, 599, 599, 600, 600, 601, 601, 602, 603, 603,
+ 603, 603, 603, 604, 604, 605, 606, 606, 606, 606,
+ 606, 606, 607, 607, 607, 607, 607, 607, 607, 607,
+ 608, 608, 609, 609, 610, 610, 611, 611, 612, 612,
+ 612, 613, 613, 614, 615, 615, 616, 616, 617, 617,
+ 618, 618, 619, 619, 620, 620, 621, 621, 621, 621,
+ 622, 622, 622, 622, 622, 622, 622, 622, 622, 623,
+ 623, 623, 624, 624, 625, 625, 625, 625, 626, 627,
+ 627, 627, 628, 628, 628, 628, 628, 628, 628, 628,
+ 628, 628, 629, 629, 630, 630, 630, 630, 630, 630,
+ 630, 631, 631, 632, 632, 633, 633, 634, 635, 635,
+ 636, 636, 636, 636, 637, 637, 638, 638, 639, 639,
+ 640, 640, 640, 640, 640, 641, 642, 643, 643, 643,
+ 643, 643, 644, 644, 645, 645, 646, 647, 647, 648,
+ 648, 648, 649, 649, 650, 650, 650, 651, 651, 651,
+ 651, 652, 652, 653, 653, 654, 655, 655, 656, 656,
+ 657, 657, 657, 658, 658, 659, 659, 660, 661, 661,
+ 661, 662, 662, 663, 664, 664, 665, 666, 666, 667,
+ 667, 668, 668, 669, 669, 670, 670, 671, 671, 671,
+ 671, 671, 671, 671, 671, 671, 671, 671, 671, 671,
+ 671, 672, 672, 673, 673, 673, 673, 674, 674, 675,
+ 675, 676, 676, 677, 677, 678, 678, 679, 679, 680,
+ 680, 681, 681, 682, 683, 683, 684, 684, 685, 685,
+ 686, 686, 687, 687, 687, 687, 688, 689, 689, 690,
+ 691, 691, 691, 691, 691, 691, 691, 691, 691, 691,
+ 691, 691, 691, 692, 693, 693, 693, 693, 694, 694,
+ 695, 695, 696, 696, 697, 697, 698, 698, 699, 700,
+ 700, 701, 701, 701, 701, 702, 703, 704, 705, 705,
+ 706, 706, 707, 707, 708, 708, 709, 709, 709, 710,
+ 710, 710, 710, 711, 712, 712, 713, 713, 714, 714,
+ 715, 715, 716, 716, 717, 718, 719, 720, 720, 721,
+ 721, 722, 722, 723, 723, 724, 724, 725, 725, 726,
+ 726, 726, 726, 726, 727, 728, 728, 729, 729, 730,
+ 730, 730, 731, 731, 732, 732, 732, 732, 732, 733,
+ 733, 734, 734, 735, 736, 736, 737, 737, 738, 739,
+ 739, 740, 740, 741, 741, 742, 742, 743, 743, 744,
+ 744, 744, 745, 745, 745, 745, 746, 746, 747, 747,
+ 748, 748, 748, 748, 748, 748, 749, 749, 750, 750,
+ 751, 752, 752, 753, 754, 754, 754, 754, 755, 756,
+ 756, 756, 756, 756, 756, 756, 756, 756, 756, 756,
+ 756, 756, 756, 756, 756, 757, 758, 758, 759, 759,
+ 760, 760, 760, 760, 760, 760, 761, 762, 762, 763,
+ 764, 764, 765, 765, 766, 766, 766, 766, 767, 767,
+ 768, 769, 769, 770, 770, 770, 770, 770, 771, 771,
+ 772, 772, 773, 773, 773, 774, 774, 775, 776, 776,
+ 777, 777, 778, 778, 779, 779, 780, 780, 781, 782,
+ 783, 783, 783, 783, 783, 783, 783, 783, 783, 783,
+ 783, 783, 784, 784, 784, 784, 784, 784, 784, 784,
+ 784, 784, 784, 784, 784, 785, 785, 785, 785, 785,
+ 786, 786, 786, 786, 786, 786, 786, 786, 787, 787,
+ 787, 788, 788, 789, 789, 790, 790, 791, 791, 792,
+ 793, 793, 793, 794, 794, 794, 794, 794, 794, 794,
+ 794, 794, 794, 794, 794, 794, 794, 794, 794, 794,
+ 794, 795, 795, 796, 796, 796, 796, 796, 796, 796,
+ 796, 796, 796, 797, 797, 798, 798, 799, 799, 800,
+ 800, 800, 800, 800, 800, 800, 800, 800, 800, 800,
+ 800, 800, 800, 800, 800, 801, 801, 802, 802, 803,
+ 804, 804, 805, 805, 805, 805, 805, 806, 806, 807,
+ 807, 807, 807, 807, 808, 808, 809, 809, 810, 810,
+ 810, 810, 810, 810, 810, 810, 810, 810, 810, 810,
+ 810, 810, 810, 810, 810, 810, 810, 810, 810, 811,
+ 811, 812, 812, 813, 813, 814, 814, 815, 815, 816,
+ 816, 817, 818, 818, 818, 819, 819, 820, 821, 821,
+ 822, 822, 822, 823, 823, 823, 824, 824, 824, 824,
+ 824, 824, 825, 825, 826, 826, 827, 827, 828, 828,
+ 829, 829, 830, 830, 830, 831, 831, 832, 832, 833,
+ 833, 834, 834, 834, 835, 835, 835, 836, 836, 836,
+ 836, 837, 837, 838, 838, 839, 839, 840, 840, 841,
+ 841, 841, 841, 842, 842, 843, 843, 844, 844, 844,
+ 844, 844, 845, 845, 845, 845, 845, 846, 847, 848,
+ 848, 848, 849, 849, 849, 850, 851, 851, 851, 851,
+ 852, 852, 853, 854, 854, 855, 855, 856, 856, 857,
+ 857, 857, 857, 857, 857, 857, 857, 857, 857, 857,
+ 857, 857, 857, 857, 857, 857, 858, 858, 858, 858,
+ 858, 859, 859, 860, 861, 861, 861, 862, 862, 863,
+ 863, 864, 864, 865, 865, 866, 867, 867, 868, 868,
+ 868, 869, 869, 870, 870, 871, 871, 871, 871, 871,
+ 871, 872, 872, 873, 873, 874, 874, 874, 874, 875,
+ 875, 876, 876, 877, 878, 879, 879, 880, 880, 881,
+ 881, 881, 882, 882, 882, 883, 884, 884, 885, 886,
+ 886, 886, 886, 887, 888, 888, 888, 889, 889, 890,
+ 890, 891, 891, 892, 892, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893, 893, 893,
+ 893, 893, 893, 893, 893, 893, 893, 893, 893, 893,
+ 894, 894, 895, 895, 896, 896, 896, 896, 896, 896,
+ 897, 897, 898, 898, 898, 898, 898, 898, 898, 898,
+ 898, 898, 898, 898, 898, 898, 898, 898, 898, 898,
+ 898, 898, 898, 898, 898, 898, 898, 898, 898, 899,
+ 900, 900, 901, 901, 902, 902, 902, 902, 902, 903,
+ 904, 904, 904, 904, 904, 904, 904, 904, 904, 904,
+ 904, 904, 904, 904, 904, 904, 904, 904, 904, 904,
+ 904, 904, 904, 904, 905, 905, 905, 906, 906, 906,
+ 906, 906, 906, 906, 907, 907, 908, 908, 908, 908,
+ 909, 910, 910, 910, 910, 910, 910, 910, 910, 910,
+ 911, 911, 912, 913, 913, 913, 914, 914, 915, 915,
+ 915, 915, 915, 916, 916, 917, 917, 917, 917, 918,
+ 918, 918, 919, 920, 920, 921, 922, 922, 923, 923,
+ 923, 923, 923, 923, 923, 923, 923, 923, 923, 923,
+ 924, 924, 925, 925, 925, 926, 926, 926, 926, 926,
+ 927, 927, 927, 928, 928, 929, 929, 929, 930, 930,
+ 930, 930, 931, 931, 931, 931, 932, 933, 934, 934,
+ 935, 935, 936, 936, 936, 937, 937, 937, 937, 937,
+ 937, 937, 938, 938, 939, 939, 939, 939, 940, 941,
+ 941, 941, 941, 942, 942, 943, 944, 945, 945, 946,
+ 947, 947, 947, 947, 947, 947, 947, 948, 948, 949,
+ 950, 950, 950, 950, 950, 950, 951, 951, 952, 953,
+ 953, 953, 953, 954, 954, 955, 955, 956, 956, 957,
+ 957, 958, 958, 959, 960, 960, 960, 961, 961, 961,
+ 962, 962, 963, 963, 964, 964, 965, 965, 966, 966,
+ 967, 968, 968, 969, 969, 970, 970, 970, 970, 971,
+ 971, 971, 971, 971, 971, 971, 971, 971, 971, 972,
+ 973, 973, 974, 974, 974, 974, 974, 975, 975, 975,
+ 976, 976, 977, 977, 977, 977, 978, 979, 979, 980,
+ 980, 980, 980, 980, 981, 981, 982, 982, 983, 984,
+ 984, 984, 985, 985, 985, 986, 986, 987, 988, 988,
+ 989, 990, 990, 991, 991, 991, 991, 991, 991, 991,
+ 991, 992, 992, 993, 993, 993, 994, 995, 995, 996,
+ 996, 997, 998, 998, 999, 1000, 1000, 1001, 1001, 1001,
+ 1001, 1001, 1002, 1002, 1003, 1004, 1005, 1005, 1005, 1005,
+ 1005, 1006, 1007, 1008, 1009, 1009, 1009, 1009, 1009, 1009,
+ 1010, 1010, 1010, 1011, 1011, 1012, 1012, 1013, 1013, 1013,
+ 1013, 1013, 1013, 1013, 1013, 1014, 1014, 1015, 1015, 1015,
+ 1015, 1015, 1015, 1015, 1016, 1016, 1016, 1017, 1017, 1018,
+ 1019, 1019, 1019, 1020, 1020, 1020, 1021, 1021, 1021, 1022,
+ 1022, 1023, 1023, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
+ 1024, 1024, 1025, 1025, 1026, 1026, 1026, 1027, 1027, 1028,
+ 1028, 1029, 1029, 1030, 1030, 1031, 1032, 1032, 1033, 1033,
+ 1034, 1034, 1034, 1034, 1035, 1035, 1036, 1036, 1036, 1036,
+ 1036, 1036, 1037, 1037, 1038, 1038, 1039, 1040, 1040, 1040,
+ 1041, 1041, 1042, 1042, 1043, 1043, 1044, 1044, 1045, 1045,
+ 1046, 1046, 1046, 1046, 1046, 1047, 1048, 1049, 1050, 1051,
+ 1051, 1052, 1052, 1053, 1053, 1054, 1054, 1055, 1056, 1056,
+ 1056, 1056, 1057, 1057, 1058, 1058, 1059, 1059, 1060, 1060,
+ 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
+ 1062, 1062, 1062, 1062, 1062, 1062, 1063, 1063, 1063, 1063,
+ 1064, 1064, 1065, 1065, 1066, 1066, 1066, 1066, 1066, 1067,
+ 1067, 1067, 1067, 1068, 1068, 1069, 1069, 1070, 1070, 1071,
+ 1071, 1071, 1072, 1072, 1073, 1073, 1073, 1074, 1075, 1075,
+ 1076, 1076, 1077, 1078, 1078, 1079, 1079, 1080, 1080, 1081,
+ 1081, 1082, 1082, 1082, 1083, 1083, 1084, 1084, 1085, 1086,
+ 1086, 1087, 1087, 1088, 1088, 1088, 1089, 1089, 1090, 1090,
+ 1090, 1090, 1091, 1091, 1092, 1092, 1093, 1093, 1093, 1093,
+ 1093, 1093, 1094, 1094, 1094, 1095, 1095, 1095, 1095, 1095,
+ 1095, 1095, 1096, 1096, 1096, 1096, 1097, 1097, 1098, 1098,
+ 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099,
+ 1099, 1100, 1100, 1101, 1101, 1102, 1102, 1103, 1104, 1105,
+ 1105, 1106, 1106, 1107, 1108, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1110, 1110, 1111, 1111, 1111, 1111, 1112, 1113, 1113,
+ 1113, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114,
+ 1114, 1114, 1114, 1114, 1114, 1115, 1115, 1116, 1116, 1116,
+ 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116,
+ 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116,
+ 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116,
+ 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116,
+ 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116,
+ 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116,
+ 1116, 1116, 1116, 1116, 1117, 1117, 1117, 1117, 1117, 1117,
+ 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117,
+ 1117, 1117, 1117, 1117, 1117, 1117, 1118, 1118, 1118, 1118,
+ 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118,
+ 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1120, 1120, 1120,
+ 1121, 1121, 1121, 1122, 1122, 1122, 1122, 1122, 1122, 1122,
+ 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122,
+ 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122,
+ 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122,
+ 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122,
+ 1122, 1122, 1122, 1122, 1122, 1122, 1123, 1123, 1124, 1124,
+ 1124, 1124, 1125, 1126, 1126, 1127, 1127, 1128, 1128, 1129,
+ 1129, 1129, 1130, 1130, 1130, 1131, 1131, 1131, 1131, 1132,
+ 1132, 1133, 1133, 1134, 1134, 1135, 1135, 1136, 1136, 1137,
+ 1138, 1138, 1138, 1139, 1140, 1140, 1141, 1141, 1142, 1142,
+ 1142, 1142, 1143, 1143, 1144, 1144, 1144, 1144, 1144, 1145,
+ 1145, 1145, 1145, 1145, 1146, 1146, 1146, 1147, 1147, 1148,
+ 1149, 1149, 1149, 1150, 1150, 1151, 1151, 1151, 1151, 1151,
+ 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1152, 1152, 1153,
+ 1153, 1154, 1154, 1154, 1154, 1154, 1154, 1155, 1155, 1156,
+ 1156, 1157, 1157, 1157, 1158, 1158, 1159, 1159, 1160, 1160,
+ 1160, 1161, 1161, 1162, 1163, 1163, 1163, 1163, 1163, 1163,
+ 1163, 1163, 1164, 1164, 1164, 1164, 1165, 1165, 1166, 1167,
+ 1167, 1167, 1167, 1167, 1168, 1168, 1168, 1169, 1169, 1170,
+ 1171, 1171, 1172, 1173, 1173, 1174, 1174, 1175, 1175, 1176,
+ 1176, 1176, 1176, 1177, 1177, 1178, 1178, 1179, 1179, 1180,
+ 1180, 1181, 1182, 1182, 1183, 1183, 1184, 1184, 1185, 1185,
+ 1185, 1185, 1185, 1186, 1186, 1186, 1186, 1186, 1187, 1187,
+ 1188, 1188, 1189, 1189, 1189, 1190, 1190, 1190, 1191, 1191,
+ 1192, 1192, 1193, 1193, 1194, 1194, 1195, 1195, 1196, 1196,
+ 1196, 1196, 1197, 1197, 1198, 1198, 1199, 1199, 1200, 1201,
+ 1202, 1203, 1203, 1204, 1204, 1204, 1204, 1204, 1204, 1204,
+ 1204, 1204, 1204, 1204, 1204, 1204, 1205, 1206, 1207, 1207,
+ 1207, 1208, 1209, 1209, 1209, 1209, 1210, 1210, 1211, 1212,
+ 1213, 1213, 1214, 1214, 1215, 1215, 1215, 1216, 1216, 1216,
+ 1217, 1217, 1217, 1217, 1218, 1218, 1218, 1218, 1218, 1219,
+ 1219, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220,
+ 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220,
+ 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220,
+ 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220,
+ 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220,
+ 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220,
+ 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220,
+ 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220,
+ 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220,
+ 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220,
+ 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220,
+ 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220,
+ 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220,
+ 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220,
+ 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220,
+ 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220,
+ 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220,
+ 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220,
+ 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220,
+ 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220,
+ 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220,
+ 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220,
+ 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220,
+ 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220,
+ 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220,
+ 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220,
+ 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220,
+ 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220,
+ 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220,
+ 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220,
+ 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220,
+ 1220, 1220, 1220, 1220, 1220, 1220, 1221, 1221, 1221, 1221,
+ 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221,
+ 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221,
+ 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221,
+ 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221,
+ 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221,
+ 1221, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222,
+ 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222,
+ 1222, 1222, 1222, 1222, 1223, 1223, 1223, 1223, 1223, 1223,
+ 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223,
+ 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223,
+ 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223,
+ 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223,
+ 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223,
+ 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223,
+ 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223,
+ 1223, 1223, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224,
+ 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224,
+ 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224,
+ 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224,
+ 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224,
+ 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224,
+ 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224,
+ 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224,
+ 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224,
+ 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224,
+ 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224,
+ 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224,
+ 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224,
+ 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224,
+ 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224,
+ 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224,
+ 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224,
+ 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224,
+ 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224,
+ 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224,
+ 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224,
+ 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224,
+ 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224,
+ 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224,
+ 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224,
+ 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224,
+ 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224,
+ 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224,
+ 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224,
+ 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224,
+ 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224,
+ 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224,
+ 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224,
+ 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224,
+ 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224,
+ 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224,
+ 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224,
+ 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224,
+ 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224,
+ 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224,
+ 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224,
+ 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224,
+ 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224,
+ 1224, 1224, 1224, 1224
+};
+
+ /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
+static const yytype_int8 yyr2[] =
+{
+ 0, 2, 1, 2, 2, 2, 2, 2, 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, 0, 1, 0, 1,
+ 0, 1, 0, 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, 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, 5, 7, 1, 3, 4, 4,
+ 4, 3, 2, 5, 3, 6, 4, 6, 6, 5,
+ 7, 6, 6, 5, 5, 5, 5, 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, 4, 3, 2, 2, 3, 4, 4, 4,
+ 5, 1, 3, 2, 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, 6, 2, 4, 2, 2, 1, 0,
+ 2, 2, 1, 0, 2, 0, 3, 1, 1, 2,
+ 2, 1, 4, 4, 5, 2, 5, 7, 5, 2,
+ 3, 0, 1, 2, 1, 2, 2, 2, 3, 3,
+ 3, 0, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 3, 1, 5, 9, 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,
+ 3, 3, 4, 0, 1, 0, 6, 1, 3, 3,
+ 3, 5, 2, 0, 2, 2, 0, 3, 4, 4,
+ 0, 2, 0, 4, 0, 3, 8, 11, 1, 3,
+ 1, 1, 3, 6, 8, 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, 1, 0, 7, 2, 0, 3, 5, 5, 8,
+ 2, 0, 2, 2, 2, 1, 5, 2, 0, 2,
+ 6, 6, 6, 10, 6, 6, 6, 9, 9, 6,
+ 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, 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, 17, 21, 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, 1, 1, 1, 1, 1,
+ 2, 2, 1, 3, 2, 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,
+ 6, 8, 9, 8, 6, 6, 9, 9, 9, 7,
+ 10, 1, 1, 8, 8, 8, 8, 8, 8, 8,
+ 9, 8, 8, 2, 0, 1, 1, 2, 2, 1,
+ 2, 3, 3, 3, 3, 4, 4, 3, 3, 3,
+ 4, 4, 3, 4, 4, 1, 1, 1, 0, 8,
+ 8, 11, 1, 1, 2, 4, 5, 1, 3, 2,
+ 2, 2, 2, 2, 1, 3, 1, 3, 1, 2,
+ 2, 4, 3, 2, 2, 2, 2, 2, 2, 3,
+ 2, 2, 2, 2, 5, 5, 5, 5, 5, 1,
+ 3, 1, 2, 3, 0, 5, 7, 6, 9, 3,
+ 1, 2, 1, 1, 1, 3, 0, 5, 2, 0,
+ 3, 3, 3, 7, 7, 10, 1, 1, 1, 1,
+ 1, 1, 16, 19, 1, 0, 2, 0, 1, 3,
+ 4, 5, 2, 2, 4, 4, 0, 1, 3, 2,
+ 0, 1, 1, 0, 2, 2, 0, 9, 12, 7,
+ 7, 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, 0, 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, 2, 1, 4, 0, 3, 0, 1,
+ 1, 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, 5, 5, 5, 1, 1, 1,
+ 1, 3, 0, 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, 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, 8, 8, 8, 10, 9, 8,
+ 1, 0, 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, 7,
+ 6, 6, 6, 6, 6, 6, 7, 7, 6, 9,
+ 9, 6, 6, 6, 6, 6, 6, 8, 8, 8,
+ 6, 7, 6, 6, 4, 7, 6, 4, 4, 4,
+ 3, 4, 3, 1, 1, 3, 5, 5, 5, 5,
+ 8, 5, 5, 6, 7, 7, 7, 4, 4, 5,
+ 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, 2, 3, 2, 5, 4, 3, 3, 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, 6, 4, 3,
+ 5, 7, 9, 1, 3, 1, 5, 4, 4, 6,
+ 4, 6, 6, 5, 7, 9, 6, 1, 0, 6,
+ 11, 11, 11, 13, 9, 11, 1, 1, 10, 4,
+ 6, 2, 5, 2, 0, 6, 5, 3, 5, 1,
+ 3, 1, 1, 2, 1, 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, 5,
+ 3, 0, 1, 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, 9, 1, 2, 5, 5, 6,
+ 6, 7, 2, 0, 3, 1, 2, 5, 5, 8,
+ 3, 4, 7, 1, 0, 3, 2, 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, 9,
+ 1, 2, 0, 7, 7, 0, 10, 6, 0, 1,
+ 0, 2, 0, 3, 3, 4, 4, 4, 4, 3,
+ 2, 1, 1, 0, 1, 1, 0, 1, 5, 1,
+ 0, 1, 1, 1, 0, 3, 1, 3, 4, 3,
+ 2, 2, 1, 1, 1, 0, 2, 4, 5, 6,
+ 4, 5, 2, 3, 1, 1, 1, 1, 2, 2,
+ 1, 1, 1, 1, 1, 1, 4, 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, 2, 0, 1, 4, 5, 4, 0, 2,
+ 2, 2, 1, 1, 0, 5, 2, 1, 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, 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,
+ 3, 4, 4, 6, 3, 3, 4, 3, 4, 4,
+ 5, 4, 5, 1, 1, 3, 2, 2, 3, 3,
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
+ 3, 2, 5, 6, 3, 4, 1, 1, 2, 4,
+ 1, 1, 1, 2, 2, 2, 2, 1, 1, 4,
+ 3, 5, 6, 8, 6, 6, 4, 4, 3, 1,
+ 1, 1, 1, 5, 1, 1, 4, 1, 4, 1,
+ 4, 1, 4, 1, 1, 1, 1, 1, 1, 1,
+ 6, 4, 4, 6, 4, 4, 4, 4, 4, 6,
+ 5, 5, 5, 4, 6, 4, 4, 4, 4, 5,
+ 7, 7, 9, 5, 4, 6, 5, 7, 7, 8,
+ 4, 7, 4, 6, 6, 4, 2, 3, 3, 3,
+ 4, 0, 4, 1, 3, 3, 1, 1, 1, 1,
+ 2, 0, 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, 0, 1, 3, 3, 3,
+ 2, 1, 3, 3, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 7, 5, 3, 5,
+ 5, 3, 3, 5, 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, 2, 3, 0, 2, 0, 3, 0, 1, 2,
+ 2, 2, 2, 3, 2, 3, 2, 0, 1, 3,
+ 3, 3, 3, 3, 0, 3, 3, 0, 1, 3,
+ 7, 7, 3, 0, 1, 0, 1, 3, 3, 2,
+ 1, 1, 1, 3, 1, 2, 1, 3, 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, 1, 3, 10, 4,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1
+};
+
+
+enum { YYENOMEM = -2 };
+
+#define yyerrok (yyerrstatus = 0)
+#define yyclearin (yychar = YYEMPTY)
+
+#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)
+
+/* Backward compatibility with an undocumented macro.
+ Use YYerror or YYUNDEF. */
+#define YYERRCODE YYUNDEF
+
+/* 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 <stdio.h> /* 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 /* !defined YY_LOCATION_PRINT */
+
+
+# define YY_SYMBOL_PRINT(Title, Kind, Value, Location) \
+do { \
+ if (yydebug) \
+ { \
+ YYFPRINTF (stderr, "%s ", Title); \
+ yy_symbol_print (stderr, \
+ Kind, Value, Location, yyscanner); \
+ YYFPRINTF (stderr, "\n"); \
+ } \
+} while (0)
+
+
+/*-----------------------------------.
+| Print this symbol's value on YYO. |
+`-----------------------------------*/
+
+static void
+yy_symbol_value_print (FILE *yyo,
+ yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, core_yyscan_t yyscanner)
+{
+ FILE *yyoutput = yyo;
+ YY_USE (yyoutput);
+ YY_USE (yylocationp);
+ YY_USE (yyscanner);
+ if (!yyvaluep)
+ return;
+# ifdef YYPRINT
+ if (yykind < YYNTOKENS)
+ YYPRINT (yyo, yytoknum[yykind], *yyvaluep);
+# endif
+ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+ YY_USE (yykind);
+ YY_IGNORE_MAYBE_UNINITIALIZED_END
+}
+
+
+/*---------------------------.
+| Print this symbol on YYO. |
+`---------------------------*/
+
+static void
+yy_symbol_print (FILE *yyo,
+ yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, core_yyscan_t yyscanner)
+{
+ YYFPRINTF (yyo, "%s %s (",
+ yykind < YYNTOKENS ? "token" : "nterm", yysymbol_name (yykind));
+
+ YY_LOCATION_PRINT (yyo, *yylocationp);
+ YYFPRINTF (yyo, ": ");
+ yy_symbol_value_print (yyo, yykind, 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 (yy_state_t *yybottom, yy_state_t *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 (yy_state_t *yyssp, YYSTYPE *yyvsp, YYLTYPE *yylsp,
+ int yyrule, core_yyscan_t yyscanner)
+{
+ int yylno = yyrline[yyrule];
+ int yynrhs = yyr2[yyrule];
+ int yyi;
+ YYFPRINTF (stderr, "Reducing stack by rule %d (line %d):\n",
+ yyrule - 1, yylno);
+ /* The symbols being reduced. */
+ for (yyi = 0; yyi < yynrhs; yyi++)
+ {
+ YYFPRINTF (stderr, " $%d = ", yyi + 1);
+ yy_symbol_print (stderr,
+ YY_ACCESSING_SYMBOL (+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) ((void) 0)
+# define YY_SYMBOL_PRINT(Title, Kind, 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
+
+
+
+
+
+
+/*-----------------------------------------------.
+| Release the memory associated to this symbol. |
+`-----------------------------------------------*/
+
+static void
+yydestruct (const char *yymsg,
+ yysymbol_kind_t yykind, YYSTYPE *yyvaluep, YYLTYPE *yylocationp, core_yyscan_t yyscanner)
+{
+ YY_USE (yyvaluep);
+ YY_USE (yylocationp);
+ YY_USE (yyscanner);
+ if (!yymsg)
+ yymsg = "Deleting";
+ YY_SYMBOL_PRINT (yymsg, yykind, yyvaluep, yylocationp);
+
+ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+ YY_USE (yykind);
+ YY_IGNORE_MAYBE_UNINITIALIZED_END
+}
+
+
+
+
+
+
+/*----------.
+| yyparse. |
+`----------*/
+
+int
+yyparse (core_yyscan_t yyscanner)
+{
+/* Lookahead token kind. */
+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 = 0;
+
+ yy_state_fast_t yystate = 0;
+ /* Number of tokens to shift before error messages enabled. */
+ int yyerrstatus = 0;
+
+ /* Refer to the stacks through separate pointers, to allow yyoverflow
+ to reallocate them elsewhere. */
+
+ /* Their size. */
+ YYPTRDIFF_T yystacksize = YYINITDEPTH;
+
+ /* The state stack: array, bottom, top. */
+ yy_state_t yyssa[YYINITDEPTH];
+ yy_state_t *yyss = yyssa;
+ yy_state_t *yyssp = yyss;
+
+ /* The semantic value stack: array, bottom, top. */
+ YYSTYPE yyvsa[YYINITDEPTH];
+ YYSTYPE *yyvs = yyvsa;
+ YYSTYPE *yyvsp = yyvs;
+
+ /* The location stack: array, bottom, top. */
+ YYLTYPE yylsa[YYINITDEPTH];
+ YYLTYPE *yyls = yylsa;
+ YYLTYPE *yylsp = yyls;
+
+ int yyn;
+ /* The return value of yyparse. */
+ int yyresult;
+ /* Lookahead symbol kind. */
+ yysymbol_kind_t yytoken = YYSYMBOL_YYEMPTY;
+ /* The variables used to return semantic value and location from the
+ action routines. */
+ YYSTYPE yyval;
+ YYLTYPE yyloc;
+
+ /* The locations where the error started and ended. */
+ YYLTYPE yyerror_range[3];
+
+
+
+#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;
+
+ YYDPRINTF ((stderr, "Starting parse\n"));
+
+ yychar = YYEMPTY; /* Cause a token to be read. */
+ yylsp[0] = yylloc;
+ goto yysetstate;
+
+
+/*------------------------------------------------------------.
+| yynewstate -- push a new state, which is found in yystate. |
+`------------------------------------------------------------*/
+yynewstate:
+ /* In all cases, when you get here, the value and location stacks
+ have just been pushed. So pushing a state here evens the stacks. */
+ yyssp++;
+
+
+/*--------------------------------------------------------------------.
+| yysetstate -- set current state (the top of the stack) to yystate. |
+`--------------------------------------------------------------------*/
+yysetstate:
+ YYDPRINTF ((stderr, "Entering state %d\n", yystate));
+ YY_ASSERT (0 <= yystate && yystate < YYNSTATES);
+ YY_IGNORE_USELESS_CAST_BEGIN
+ *yyssp = YY_CAST (yy_state_t, yystate);
+ YY_IGNORE_USELESS_CAST_END
+ YY_STACK_PRINT (yyss, yyssp);
+
+ 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. */
+ YYPTRDIFF_T yysize = 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. */
+ yy_state_t *yyss1 = yyss;
+ YYSTYPE *yyvs1 = yyvs;
+ 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 * YYSIZEOF (*yyssp),
+ &yyvs1, yysize * YYSIZEOF (*yyvsp),
+ &yyls1, yysize * YYSIZEOF (*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;
+
+ {
+ yy_state_t *yyss1 = yyss;
+ union yyalloc *yyptr =
+ YY_CAST (union yyalloc *,
+ YYSTACK_ALLOC (YY_CAST (YYSIZE_T, 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;
+
+ YY_IGNORE_USELESS_CAST_BEGIN
+ YYDPRINTF ((stderr, "Stack size increased to %ld\n",
+ YY_CAST (long, yystacksize)));
+ YY_IGNORE_USELESS_CAST_END
+
+ if (yyss + yystacksize - 1 <= yyssp)
+ YYABORT;
+ }
+#endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */
+
+ 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 empty, or end-of-input, or a valid lookahead. */
+ if (yychar == YYEMPTY)
+ {
+ YYDPRINTF ((stderr, "Reading a token\n"));
+ yychar = yylex (&yylval, &yylloc, yyscanner);
+ }
+
+ if (yychar <= YYEOF)
+ {
+ yychar = YYEOF;
+ yytoken = YYSYMBOL_YYEOF;
+ YYDPRINTF ((stderr, "Now at end of input.\n"));
+ }
+ else if (yychar == YYerror)
+ {
+ /* The scanner already issued an error message, process directly
+ to error recovery. But do not keep the error token as
+ lookahead, it is too special and may lead us to an endless
+ loop in error recovery. */
+ yychar = YYUNDEF;
+ yytoken = YYSYMBOL_YYerror;
+ yyerror_range[1] = yylloc;
+ goto yyerrlab1;
+ }
+ 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);
+ yystate = yyn;
+ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+ *++yyvsp = yylval;
+ YY_IGNORE_MAYBE_UNINITIALIZED_END
+ *++yylsp = yylloc;
+
+ /* Discard the shifted token. */
+ yychar = YYEMPTY;
+ 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: /* parse_toplevel: stmtmulti */
+#line 887 "gram.y"
+ {
+ pg_yyget_extra(yyscanner)->parsetree = (yyvsp[0].list);
+ (void) yynerrs; /* suppress compiler warning */
+ }
+#line 29082 "gram.c"
+ break;
+
+ case 3: /* parse_toplevel: MODE_TYPE_NAME Typename */
+#line 892 "gram.y"
+ {
+ pg_yyget_extra(yyscanner)->parsetree = list_make1((yyvsp[0].typnam));
+ }
+#line 29090 "gram.c"
+ break;
+
+ case 4: /* parse_toplevel: MODE_PLPGSQL_EXPR PLpgSQL_Expr */
+#line 896 "gram.y"
+ {
+ pg_yyget_extra(yyscanner)->parsetree =
+ list_make1(makeRawStmt((yyvsp[0].node), 0));
+ }
+#line 29099 "gram.c"
+ break;
+
+ case 5: /* parse_toplevel: MODE_PLPGSQL_ASSIGN1 PLAssignStmt */
+#line 901 "gram.y"
+ {
+ PLAssignStmt *n = (PLAssignStmt *) (yyvsp[0].node);
+
+ n->nnames = 1;
+ pg_yyget_extra(yyscanner)->parsetree =
+ list_make1(makeRawStmt((Node *) n, 0));
+ }
+#line 29111 "gram.c"
+ break;
+
+ case 6: /* parse_toplevel: MODE_PLPGSQL_ASSIGN2 PLAssignStmt */
+#line 909 "gram.y"
+ {
+ PLAssignStmt *n = (PLAssignStmt *) (yyvsp[0].node);
+
+ n->nnames = 2;
+ pg_yyget_extra(yyscanner)->parsetree =
+ list_make1(makeRawStmt((Node *) n, 0));
+ }
+#line 29123 "gram.c"
+ break;
+
+ case 7: /* parse_toplevel: MODE_PLPGSQL_ASSIGN3 PLAssignStmt */
+#line 917 "gram.y"
+ {
+ PLAssignStmt *n = (PLAssignStmt *) (yyvsp[0].node);
+
+ n->nnames = 3;
+ pg_yyget_extra(yyscanner)->parsetree =
+ list_make1(makeRawStmt((Node *) n, 0));
+ }
+#line 29135 "gram.c"
+ break;
+
+ case 8: /* stmtmulti: stmtmulti ';' toplevel_stmt */
+#line 937 "gram.y"
+ {
+ 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 29151 "gram.c"
+ break;
+
+ case 9: /* stmtmulti: toplevel_stmt */
+#line 949 "gram.y"
+ {
+ if ((yyvsp[0].node) != NULL)
+ (yyval.list) = list_make1(makeRawStmt((yyvsp[0].node), 0));
+ else
+ (yyval.list) = NIL;
+ }
+#line 29162 "gram.c"
+ break;
+
+ case 136: /* stmt: %empty */
+#line 1092 "gram.y"
+ { (yyval.node) = NULL; }
+#line 29168 "gram.c"
+ break;
+
+ case 137: /* opt_single_name: ColId */
+#line 1099 "gram.y"
+ { (yyval.str) = (yyvsp[0].str); }
+#line 29174 "gram.c"
+ break;
+
+ case 138: /* opt_single_name: %empty */
+#line 1100 "gram.y"
+ { (yyval.str) = NULL; }
+#line 29180 "gram.c"
+ break;
+
+ case 139: /* opt_qualified_name: any_name */
+#line 1104 "gram.y"
+ { (yyval.list) = (yyvsp[0].list); }
+#line 29186 "gram.c"
+ break;
+
+ case 140: /* opt_qualified_name: %empty */
+#line 1105 "gram.y"
+ { (yyval.list) = NIL; }
+#line 29192 "gram.c"
+ break;
+
+ case 141: /* opt_concurrently: CONCURRENTLY */
+#line 1109 "gram.y"
+ { (yyval.boolean) = true; }
+#line 29198 "gram.c"
+ break;
+
+ case 142: /* opt_concurrently: %empty */
+#line 1110 "gram.y"
+ { (yyval.boolean) = false; }
+#line 29204 "gram.c"
+ break;
+
+ case 143: /* opt_drop_behavior: CASCADE */
+#line 1114 "gram.y"
+ { (yyval.dbehavior) = DROP_CASCADE; }
+#line 29210 "gram.c"
+ break;
+
+ case 144: /* opt_drop_behavior: RESTRICT */
+#line 1115 "gram.y"
+ { (yyval.dbehavior) = DROP_RESTRICT; }
+#line 29216 "gram.c"
+ break;
+
+ case 145: /* opt_drop_behavior: %empty */
+#line 1116 "gram.y"
+ { (yyval.dbehavior) = DROP_RESTRICT; /* default */ }
+#line 29222 "gram.c"
+ break;
+
+ case 146: /* CallStmt: CALL func_application */
+#line 1126 "gram.y"
+ {
+ CallStmt *n = makeNode(CallStmt);
+
+ n->funccall = castNode(FuncCall, (yyvsp[0].node));
+ (yyval.node) = (Node *) n;
+ }
+#line 29233 "gram.c"
+ break;
+
+ case 147: /* CreateRoleStmt: CREATE ROLE RoleId opt_with OptRoleList */
+#line 1142 "gram.y"
+ {
+ CreateRoleStmt *n = makeNode(CreateRoleStmt);
+
+ n->stmt_type = ROLESTMT_ROLE;
+ n->role = (yyvsp[-2].str);
+ n->options = (yyvsp[0].list);
+ (yyval.node) = (Node *) n;
+ }
+#line 29246 "gram.c"
+ break;
+
+ case 151: /* OptRoleList: OptRoleList CreateOptRoleElem */
+#line 1164 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
+#line 29252 "gram.c"
+ break;
+
+ case 152: /* OptRoleList: %empty */
+#line 1165 "gram.y"
+ { (yyval.list) = NIL; }
+#line 29258 "gram.c"
+ break;
+
+ case 153: /* AlterOptRoleList: AlterOptRoleList AlterOptRoleElem */
+#line 1169 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
+#line 29264 "gram.c"
+ break;
+
+ case 154: /* AlterOptRoleList: %empty */
+#line 1170 "gram.y"
+ { (yyval.list) = NIL; }
+#line 29270 "gram.c"
+ break;
+
+ case 155: /* AlterOptRoleElem: PASSWORD Sconst */
+#line 1175 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("password",
+ (Node *) makeString((yyvsp[0].str)), (yylsp[-1]));
+ }
+#line 29279 "gram.c"
+ break;
+
+ case 156: /* AlterOptRoleElem: PASSWORD NULL_P */
+#line 1180 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("password", NULL, (yylsp[-1]));
+ }
+#line 29287 "gram.c"
+ break;
+
+ case 157: /* AlterOptRoleElem: ENCRYPTED PASSWORD Sconst */
+#line 1184 "gram.y"
+ {
+ /*
+ * 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 29301 "gram.c"
+ break;
+
+ case 158: /* AlterOptRoleElem: UNENCRYPTED PASSWORD Sconst */
+#line 1194 "gram.y"
+ {
+ 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 29313 "gram.c"
+ break;
+
+ case 159: /* AlterOptRoleElem: INHERIT */
+#line 1202 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("inherit", (Node *) makeBoolean(true), (yylsp[0]));
+ }
+#line 29321 "gram.c"
+ break;
+
+ case 160: /* AlterOptRoleElem: CONNECTION LIMIT SignedIconst */
+#line 1206 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("connectionlimit", (Node *) makeInteger((yyvsp[0].ival)), (yylsp[-2]));
+ }
+#line 29329 "gram.c"
+ break;
+
+ case 161: /* AlterOptRoleElem: VALID UNTIL Sconst */
+#line 1210 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("validUntil", (Node *) makeString((yyvsp[0].str)), (yylsp[-2]));
+ }
+#line 29337 "gram.c"
+ break;
+
+ case 162: /* AlterOptRoleElem: USER role_list */
+#line 1215 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("rolemembers", (Node *) (yyvsp[0].list), (yylsp[-1]));
+ }
+#line 29345 "gram.c"
+ break;
+
+ case 163: /* AlterOptRoleElem: IDENT */
+#line 1219 "gram.y"
+ {
+ /*
+ * 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 *) makeBoolean(true), (yylsp[0]));
+ else if (strcmp((yyvsp[0].str), "nosuperuser") == 0)
+ (yyval.defelt) = makeDefElem("superuser", (Node *) makeBoolean(false), (yylsp[0]));
+ else if (strcmp((yyvsp[0].str), "createrole") == 0)
+ (yyval.defelt) = makeDefElem("createrole", (Node *) makeBoolean(true), (yylsp[0]));
+ else if (strcmp((yyvsp[0].str), "nocreaterole") == 0)
+ (yyval.defelt) = makeDefElem("createrole", (Node *) makeBoolean(false), (yylsp[0]));
+ else if (strcmp((yyvsp[0].str), "replication") == 0)
+ (yyval.defelt) = makeDefElem("isreplication", (Node *) makeBoolean(true), (yylsp[0]));
+ else if (strcmp((yyvsp[0].str), "noreplication") == 0)
+ (yyval.defelt) = makeDefElem("isreplication", (Node *) makeBoolean(false), (yylsp[0]));
+ else if (strcmp((yyvsp[0].str), "createdb") == 0)
+ (yyval.defelt) = makeDefElem("createdb", (Node *) makeBoolean(true), (yylsp[0]));
+ else if (strcmp((yyvsp[0].str), "nocreatedb") == 0)
+ (yyval.defelt) = makeDefElem("createdb", (Node *) makeBoolean(false), (yylsp[0]));
+ else if (strcmp((yyvsp[0].str), "login") == 0)
+ (yyval.defelt) = makeDefElem("canlogin", (Node *) makeBoolean(true), (yylsp[0]));
+ else if (strcmp((yyvsp[0].str), "nologin") == 0)
+ (yyval.defelt) = makeDefElem("canlogin", (Node *) makeBoolean(false), (yylsp[0]));
+ else if (strcmp((yyvsp[0].str), "bypassrls") == 0)
+ (yyval.defelt) = makeDefElem("bypassrls", (Node *) makeBoolean(true), (yylsp[0]));
+ else if (strcmp((yyvsp[0].str), "nobypassrls") == 0)
+ (yyval.defelt) = makeDefElem("bypassrls", (Node *) makeBoolean(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 *) makeBoolean(false), (yylsp[0]));
+ }
+ else
+ ereport(ERROR,
+ (errcode(ERRCODE_SYNTAX_ERROR),
+ errmsg("unrecognized role option \"%s\"", (yyvsp[0].str)),
+ parser_errposition((yylsp[0]))));
+ }
+#line 29394 "gram.c"
+ break;
+
+ case 164: /* CreateOptRoleElem: AlterOptRoleElem */
+#line 1266 "gram.y"
+ { (yyval.defelt) = (yyvsp[0].defelt); }
+#line 29400 "gram.c"
+ break;
+
+ case 165: /* CreateOptRoleElem: SYSID Iconst */
+#line 1269 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("sysid", (Node *) makeInteger((yyvsp[0].ival)), (yylsp[-1]));
+ }
+#line 29408 "gram.c"
+ break;
+
+ case 166: /* CreateOptRoleElem: ADMIN role_list */
+#line 1273 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("adminmembers", (Node *) (yyvsp[0].list), (yylsp[-1]));
+ }
+#line 29416 "gram.c"
+ break;
+
+ case 167: /* CreateOptRoleElem: ROLE role_list */
+#line 1277 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("rolemembers", (Node *) (yyvsp[0].list), (yylsp[-1]));
+ }
+#line 29424 "gram.c"
+ break;
+
+ case 168: /* CreateOptRoleElem: IN_P ROLE role_list */
+#line 1281 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("addroleto", (Node *) (yyvsp[0].list), (yylsp[-2]));
+ }
+#line 29432 "gram.c"
+ break;
+
+ case 169: /* CreateOptRoleElem: IN_P GROUP_P role_list */
+#line 1285 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("addroleto", (Node *) (yyvsp[0].list), (yylsp[-2]));
+ }
+#line 29440 "gram.c"
+ break;
+
+ case 170: /* CreateUserStmt: CREATE USER RoleId opt_with OptRoleList */
+#line 1299 "gram.y"
+ {
+ CreateRoleStmt *n = makeNode(CreateRoleStmt);
+
+ n->stmt_type = ROLESTMT_USER;
+ n->role = (yyvsp[-2].str);
+ n->options = (yyvsp[0].list);
+ (yyval.node) = (Node *) n;
+ }
+#line 29453 "gram.c"
+ break;
+
+ case 171: /* AlterRoleStmt: ALTER ROLE RoleSpec opt_with AlterOptRoleList */
+#line 1318 "gram.y"
+ {
+ 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 29466 "gram.c"
+ break;
+
+ case 172: /* AlterRoleStmt: ALTER USER RoleSpec opt_with AlterOptRoleList */
+#line 1327 "gram.y"
+ {
+ 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 29479 "gram.c"
+ break;
+
+ case 173: /* opt_in_database: %empty */
+#line 1338 "gram.y"
+ { (yyval.str) = NULL; }
+#line 29485 "gram.c"
+ break;
+
+ case 174: /* opt_in_database: IN_P DATABASE name */
+#line 1339 "gram.y"
+ { (yyval.str) = (yyvsp[0].str); }
+#line 29491 "gram.c"
+ break;
+
+ case 175: /* AlterRoleSetStmt: ALTER ROLE RoleSpec opt_in_database SetResetClause */
+#line 1344 "gram.y"
+ {
+ AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
+
+ n->role = (yyvsp[-2].rolespec);
+ n->database = (yyvsp[-1].str);
+ n->setstmt = (yyvsp[0].vsetstmt);
+ (yyval.node) = (Node *) n;
+ }
+#line 29504 "gram.c"
+ break;
+
+ case 176: /* AlterRoleSetStmt: ALTER ROLE ALL opt_in_database SetResetClause */
+#line 1353 "gram.y"
+ {
+ AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
+
+ n->role = NULL;
+ n->database = (yyvsp[-1].str);
+ n->setstmt = (yyvsp[0].vsetstmt);
+ (yyval.node) = (Node *) n;
+ }
+#line 29517 "gram.c"
+ break;
+
+ case 177: /* AlterRoleSetStmt: ALTER USER RoleSpec opt_in_database SetResetClause */
+#line 1362 "gram.y"
+ {
+ AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
+
+ n->role = (yyvsp[-2].rolespec);
+ n->database = (yyvsp[-1].str);
+ n->setstmt = (yyvsp[0].vsetstmt);
+ (yyval.node) = (Node *) n;
+ }
+#line 29530 "gram.c"
+ break;
+
+ case 178: /* AlterRoleSetStmt: ALTER USER ALL opt_in_database SetResetClause */
+#line 1371 "gram.y"
+ {
+ AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
+
+ n->role = NULL;
+ n->database = (yyvsp[-1].str);
+ n->setstmt = (yyvsp[0].vsetstmt);
+ (yyval.node) = (Node *) n;
+ }
+#line 29543 "gram.c"
+ break;
+
+ case 179: /* DropRoleStmt: DROP ROLE role_list */
+#line 1393 "gram.y"
+ {
+ DropRoleStmt *n = makeNode(DropRoleStmt);
+
+ n->missing_ok = false;
+ n->roles = (yyvsp[0].list);
+ (yyval.node) = (Node *) n;
+ }
+#line 29555 "gram.c"
+ break;
+
+ case 180: /* DropRoleStmt: DROP ROLE IF_P EXISTS role_list */
+#line 1401 "gram.y"
+ {
+ DropRoleStmt *n = makeNode(DropRoleStmt);
+
+ n->missing_ok = true;
+ n->roles = (yyvsp[0].list);
+ (yyval.node) = (Node *) n;
+ }
+#line 29567 "gram.c"
+ break;
+
+ case 181: /* DropRoleStmt: DROP USER role_list */
+#line 1409 "gram.y"
+ {
+ DropRoleStmt *n = makeNode(DropRoleStmt);
+
+ n->missing_ok = false;
+ n->roles = (yyvsp[0].list);
+ (yyval.node) = (Node *) n;
+ }
+#line 29579 "gram.c"
+ break;
+
+ case 182: /* DropRoleStmt: DROP USER IF_P EXISTS role_list */
+#line 1417 "gram.y"
+ {
+ DropRoleStmt *n = makeNode(DropRoleStmt);
+
+ n->roles = (yyvsp[0].list);
+ n->missing_ok = true;
+ (yyval.node) = (Node *) n;
+ }
+#line 29591 "gram.c"
+ break;
+
+ case 183: /* DropRoleStmt: DROP GROUP_P role_list */
+#line 1425 "gram.y"
+ {
+ DropRoleStmt *n = makeNode(DropRoleStmt);
+
+ n->missing_ok = false;
+ n->roles = (yyvsp[0].list);
+ (yyval.node) = (Node *) n;
+ }
+#line 29603 "gram.c"
+ break;
+
+ case 184: /* DropRoleStmt: DROP GROUP_P IF_P EXISTS role_list */
+#line 1433 "gram.y"
+ {
+ DropRoleStmt *n = makeNode(DropRoleStmt);
+
+ n->missing_ok = true;
+ n->roles = (yyvsp[0].list);
+ (yyval.node) = (Node *) n;
+ }
+#line 29615 "gram.c"
+ break;
+
+ case 185: /* CreateGroupStmt: CREATE GROUP_P RoleId opt_with OptRoleList */
+#line 1451 "gram.y"
+ {
+ CreateRoleStmt *n = makeNode(CreateRoleStmt);
+
+ n->stmt_type = ROLESTMT_GROUP;
+ n->role = (yyvsp[-2].str);
+ n->options = (yyvsp[0].list);
+ (yyval.node) = (Node *) n;
+ }
+#line 29628 "gram.c"
+ break;
+
+ case 186: /* AlterGroupStmt: ALTER GROUP_P RoleSpec add_drop USER role_list */
+#line 1470 "gram.y"
+ {
+ 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 29642 "gram.c"
+ break;
+
+ case 187: /* add_drop: ADD_P */
+#line 1481 "gram.y"
+ { (yyval.ival) = +1; }
+#line 29648 "gram.c"
+ break;
+
+ case 188: /* add_drop: DROP */
+#line 1482 "gram.y"
+ { (yyval.ival) = -1; }
+#line 29654 "gram.c"
+ break;
+
+ case 189: /* CreateSchemaStmt: CREATE SCHEMA opt_single_name AUTHORIZATION RoleSpec OptSchemaEltList */
+#line 1494 "gram.y"
+ {
+ 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 29669 "gram.c"
+ break;
+
+ case 190: /* CreateSchemaStmt: CREATE SCHEMA ColId OptSchemaEltList */
+#line 1505 "gram.y"
+ {
+ 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 29684 "gram.c"
+ break;
+
+ case 191: /* CreateSchemaStmt: CREATE SCHEMA IF_P NOT EXISTS opt_single_name AUTHORIZATION RoleSpec OptSchemaEltList */
+#line 1516 "gram.y"
+ {
+ 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 29704 "gram.c"
+ break;
+
+ case 192: /* CreateSchemaStmt: CREATE SCHEMA IF_P NOT EXISTS ColId OptSchemaEltList */
+#line 1532 "gram.y"
+ {
+ 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 29724 "gram.c"
+ break;
+
+ case 193: /* OptSchemaEltList: OptSchemaEltList schema_stmt */
+#line 1551 "gram.y"
+ {
+ if ((yyloc) < 0) /* see comments for YYLLOC_DEFAULT */
+ (yyloc) = (yylsp[0]);
+ (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node));
+ }
+#line 29734 "gram.c"
+ break;
+
+ case 194: /* OptSchemaEltList: %empty */
+#line 1557 "gram.y"
+ { (yyval.list) = NIL; }
+#line 29740 "gram.c"
+ break;
+
+ case 201: /* VariableSetStmt: SET set_rest */
+#line 1585 "gram.y"
+ {
+ VariableSetStmt *n = (yyvsp[0].vsetstmt);
+
+ n->is_local = false;
+ (yyval.node) = (Node *) n;
+ }
+#line 29751 "gram.c"
+ break;
+
+ case 202: /* VariableSetStmt: SET LOCAL set_rest */
+#line 1592 "gram.y"
+ {
+ VariableSetStmt *n = (yyvsp[0].vsetstmt);
+
+ n->is_local = true;
+ (yyval.node) = (Node *) n;
+ }
+#line 29762 "gram.c"
+ break;
+
+ case 203: /* VariableSetStmt: SET SESSION set_rest */
+#line 1599 "gram.y"
+ {
+ VariableSetStmt *n = (yyvsp[0].vsetstmt);
+
+ n->is_local = false;
+ (yyval.node) = (Node *) n;
+ }
+#line 29773 "gram.c"
+ break;
+
+ case 204: /* set_rest: TRANSACTION transaction_mode_list */
+#line 1609 "gram.y"
+ {
+ VariableSetStmt *n = makeNode(VariableSetStmt);
+
+ n->kind = VAR_SET_MULTI;
+ n->name = "TRANSACTION";
+ n->args = (yyvsp[0].list);
+ (yyval.vsetstmt) = n;
+ }
+#line 29786 "gram.c"
+ break;
+
+ case 205: /* set_rest: SESSION CHARACTERISTICS AS TRANSACTION transaction_mode_list */
+#line 1618 "gram.y"
+ {
+ VariableSetStmt *n = makeNode(VariableSetStmt);
+
+ n->kind = VAR_SET_MULTI;
+ n->name = "SESSION CHARACTERISTICS";
+ n->args = (yyvsp[0].list);
+ (yyval.vsetstmt) = n;
+ }
+#line 29799 "gram.c"
+ break;
+
+ case 207: /* generic_set: var_name TO var_list */
+#line 1631 "gram.y"
+ {
+ VariableSetStmt *n = makeNode(VariableSetStmt);
+
+ n->kind = VAR_SET_VALUE;
+ n->name = (yyvsp[-2].str);
+ n->args = (yyvsp[0].list);
+ (yyval.vsetstmt) = n;
+ }
+#line 29812 "gram.c"
+ break;
+
+ case 208: /* generic_set: var_name '=' var_list */
+#line 1640 "gram.y"
+ {
+ VariableSetStmt *n = makeNode(VariableSetStmt);
+
+ n->kind = VAR_SET_VALUE;
+ n->name = (yyvsp[-2].str);
+ n->args = (yyvsp[0].list);
+ (yyval.vsetstmt) = n;
+ }
+#line 29825 "gram.c"
+ break;
+
+ case 209: /* generic_set: var_name TO DEFAULT */
+#line 1649 "gram.y"
+ {
+ VariableSetStmt *n = makeNode(VariableSetStmt);
+
+ n->kind = VAR_SET_DEFAULT;
+ n->name = (yyvsp[-2].str);
+ (yyval.vsetstmt) = n;
+ }
+#line 29837 "gram.c"
+ break;
+
+ case 210: /* generic_set: var_name '=' DEFAULT */
+#line 1657 "gram.y"
+ {
+ VariableSetStmt *n = makeNode(VariableSetStmt);
+
+ n->kind = VAR_SET_DEFAULT;
+ n->name = (yyvsp[-2].str);
+ (yyval.vsetstmt) = n;
+ }
+#line 29849 "gram.c"
+ break;
+
+ case 211: /* set_rest_more: generic_set */
+#line 1667 "gram.y"
+ {(yyval.vsetstmt) = (yyvsp[0].vsetstmt);}
+#line 29855 "gram.c"
+ break;
+
+ case 212: /* set_rest_more: var_name FROM CURRENT_P */
+#line 1669 "gram.y"
+ {
+ VariableSetStmt *n = makeNode(VariableSetStmt);
+
+ n->kind = VAR_SET_CURRENT;
+ n->name = (yyvsp[-2].str);
+ (yyval.vsetstmt) = n;
+ }
+#line 29867 "gram.c"
+ break;
+
+ case 213: /* set_rest_more: TIME ZONE zone_value */
+#line 1678 "gram.y"
+ {
+ 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 29883 "gram.c"
+ break;
+
+ case 214: /* set_rest_more: CATALOG_P Sconst */
+#line 1690 "gram.y"
+ {
+ ereport(ERROR,
+ (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
+ errmsg("current database cannot be changed"),
+ parser_errposition((yylsp[0]))));
+ (yyval.vsetstmt) = NULL; /*not reached*/
+ }
+#line 29895 "gram.c"
+ break;
+
+ case 215: /* set_rest_more: SCHEMA Sconst */
+#line 1698 "gram.y"
+ {
+ 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 29908 "gram.c"
+ break;
+
+ case 216: /* set_rest_more: NAMES opt_encoding */
+#line 1707 "gram.y"
+ {
+ 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 29924 "gram.c"
+ break;
+
+ case 217: /* set_rest_more: ROLE NonReservedWord_or_Sconst */
+#line 1719 "gram.y"
+ {
+ 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 29937 "gram.c"
+ break;
+
+ case 218: /* set_rest_more: SESSION AUTHORIZATION NonReservedWord_or_Sconst */
+#line 1728 "gram.y"
+ {
+ 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 29950 "gram.c"
+ break;
+
+ case 219: /* set_rest_more: SESSION AUTHORIZATION DEFAULT */
+#line 1737 "gram.y"
+ {
+ VariableSetStmt *n = makeNode(VariableSetStmt);
+
+ n->kind = VAR_SET_DEFAULT;
+ n->name = "session_authorization";
+ (yyval.vsetstmt) = n;
+ }
+#line 29962 "gram.c"
+ break;
+
+ case 220: /* set_rest_more: XML_P OPTION document_or_content */
+#line 1745 "gram.y"
+ {
+ 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 29975 "gram.c"
+ break;
+
+ case 221: /* set_rest_more: TRANSACTION SNAPSHOT Sconst */
+#line 1755 "gram.y"
+ {
+ 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 29988 "gram.c"
+ break;
+
+ case 222: /* var_name: ColId */
+#line 1765 "gram.y"
+ { (yyval.str) = (yyvsp[0].str); }
+#line 29994 "gram.c"
+ break;
+
+ case 223: /* var_name: var_name '.' ColId */
+#line 1767 "gram.y"
+ { (yyval.str) = psprintf("%s.%s", (yyvsp[-2].str), (yyvsp[0].str)); }
+#line 30000 "gram.c"
+ break;
+
+ case 224: /* var_list: var_value */
+#line 1770 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].node)); }
+#line 30006 "gram.c"
+ break;
+
+ case 225: /* var_list: var_list ',' var_value */
+#line 1771 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
+#line 30012 "gram.c"
+ break;
+
+ case 226: /* var_value: opt_boolean_or_string */
+#line 1775 "gram.y"
+ { (yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0])); }
+#line 30018 "gram.c"
+ break;
+
+ case 227: /* var_value: NumericOnly */
+#line 1777 "gram.y"
+ { (yyval.node) = makeAConst((yyvsp[0].node), (yylsp[0])); }
+#line 30024 "gram.c"
+ break;
+
+ case 228: /* iso_level: READ UNCOMMITTED */
+#line 1780 "gram.y"
+ { (yyval.str) = "read uncommitted"; }
+#line 30030 "gram.c"
+ break;
+
+ case 229: /* iso_level: READ COMMITTED */
+#line 1781 "gram.y"
+ { (yyval.str) = "read committed"; }
+#line 30036 "gram.c"
+ break;
+
+ case 230: /* iso_level: REPEATABLE READ */
+#line 1782 "gram.y"
+ { (yyval.str) = "repeatable read"; }
+#line 30042 "gram.c"
+ break;
+
+ case 231: /* iso_level: SERIALIZABLE */
+#line 1783 "gram.y"
+ { (yyval.str) = "serializable"; }
+#line 30048 "gram.c"
+ break;
+
+ case 232: /* opt_boolean_or_string: TRUE_P */
+#line 1787 "gram.y"
+ { (yyval.str) = "true"; }
+#line 30054 "gram.c"
+ break;
+
+ case 233: /* opt_boolean_or_string: FALSE_P */
+#line 1788 "gram.y"
+ { (yyval.str) = "false"; }
+#line 30060 "gram.c"
+ break;
+
+ case 234: /* opt_boolean_or_string: ON */
+#line 1789 "gram.y"
+ { (yyval.str) = "on"; }
+#line 30066 "gram.c"
+ break;
+
+ case 235: /* opt_boolean_or_string: NonReservedWord_or_Sconst */
+#line 1795 "gram.y"
+ { (yyval.str) = (yyvsp[0].str); }
+#line 30072 "gram.c"
+ break;
+
+ case 236: /* zone_value: Sconst */
+#line 1808 "gram.y"
+ {
+ (yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0]));
+ }
+#line 30080 "gram.c"
+ break;
+
+ case 237: /* zone_value: IDENT */
+#line 1812 "gram.y"
+ {
+ (yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0]));
+ }
+#line 30088 "gram.c"
+ break;
+
+ case 238: /* zone_value: ConstInterval Sconst opt_interval */
+#line 1816 "gram.y"
+ {
+ TypeName *t = (yyvsp[-2].typnam);
+
+ if ((yyvsp[0].list) != NIL)
+ {
+ A_Const *n = (A_Const *) linitial((yyvsp[0].list));
+
+ if ((n->val.ival.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 30109 "gram.c"
+ break;
+
+ case 239: /* zone_value: ConstInterval '(' Iconst ')' Sconst */
+#line 1833 "gram.y"
+ {
+ 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 30121 "gram.c"
+ break;
+
+ case 240: /* zone_value: NumericOnly */
+#line 1840 "gram.y"
+ { (yyval.node) = makeAConst((yyvsp[0].node), (yylsp[0])); }
+#line 30127 "gram.c"
+ break;
+
+ case 241: /* zone_value: DEFAULT */
+#line 1841 "gram.y"
+ { (yyval.node) = NULL; }
+#line 30133 "gram.c"
+ break;
+
+ case 242: /* zone_value: LOCAL */
+#line 1842 "gram.y"
+ { (yyval.node) = NULL; }
+#line 30139 "gram.c"
+ break;
+
+ case 243: /* opt_encoding: Sconst */
+#line 1846 "gram.y"
+ { (yyval.str) = (yyvsp[0].str); }
+#line 30145 "gram.c"
+ break;
+
+ case 244: /* opt_encoding: DEFAULT */
+#line 1847 "gram.y"
+ { (yyval.str) = NULL; }
+#line 30151 "gram.c"
+ break;
+
+ case 245: /* opt_encoding: %empty */
+#line 1848 "gram.y"
+ { (yyval.str) = NULL; }
+#line 30157 "gram.c"
+ break;
+
+ case 246: /* NonReservedWord_or_Sconst: NonReservedWord */
+#line 1852 "gram.y"
+ { (yyval.str) = (yyvsp[0].str); }
+#line 30163 "gram.c"
+ break;
+
+ case 247: /* NonReservedWord_or_Sconst: Sconst */
+#line 1853 "gram.y"
+ { (yyval.str) = (yyvsp[0].str); }
+#line 30169 "gram.c"
+ break;
+
+ case 248: /* VariableResetStmt: RESET reset_rest */
+#line 1857 "gram.y"
+ { (yyval.node) = (Node *) (yyvsp[0].vsetstmt); }
+#line 30175 "gram.c"
+ break;
+
+ case 249: /* reset_rest: generic_reset */
+#line 1861 "gram.y"
+ { (yyval.vsetstmt) = (yyvsp[0].vsetstmt); }
+#line 30181 "gram.c"
+ break;
+
+ case 250: /* reset_rest: TIME ZONE */
+#line 1863 "gram.y"
+ {
+ VariableSetStmt *n = makeNode(VariableSetStmt);
+
+ n->kind = VAR_RESET;
+ n->name = "timezone";
+ (yyval.vsetstmt) = n;
+ }
+#line 30193 "gram.c"
+ break;
+
+ case 251: /* reset_rest: TRANSACTION ISOLATION LEVEL */
+#line 1871 "gram.y"
+ {
+ VariableSetStmt *n = makeNode(VariableSetStmt);
+
+ n->kind = VAR_RESET;
+ n->name = "transaction_isolation";
+ (yyval.vsetstmt) = n;
+ }
+#line 30205 "gram.c"
+ break;
+
+ case 252: /* reset_rest: SESSION AUTHORIZATION */
+#line 1879 "gram.y"
+ {
+ VariableSetStmt *n = makeNode(VariableSetStmt);
+
+ n->kind = VAR_RESET;
+ n->name = "session_authorization";
+ (yyval.vsetstmt) = n;
+ }
+#line 30217 "gram.c"
+ break;
+
+ case 253: /* generic_reset: var_name */
+#line 1890 "gram.y"
+ {
+ VariableSetStmt *n = makeNode(VariableSetStmt);
+
+ n->kind = VAR_RESET;
+ n->name = (yyvsp[0].str);
+ (yyval.vsetstmt) = n;
+ }
+#line 30229 "gram.c"
+ break;
+
+ case 254: /* generic_reset: ALL */
+#line 1898 "gram.y"
+ {
+ VariableSetStmt *n = makeNode(VariableSetStmt);
+
+ n->kind = VAR_RESET_ALL;
+ (yyval.vsetstmt) = n;
+ }
+#line 30240 "gram.c"
+ break;
+
+ case 255: /* SetResetClause: SET set_rest */
+#line 1908 "gram.y"
+ { (yyval.vsetstmt) = (yyvsp[0].vsetstmt); }
+#line 30246 "gram.c"
+ break;
+
+ case 256: /* SetResetClause: VariableResetStmt */
+#line 1909 "gram.y"
+ { (yyval.vsetstmt) = (VariableSetStmt *) (yyvsp[0].node); }
+#line 30252 "gram.c"
+ break;
+
+ case 257: /* FunctionSetResetClause: SET set_rest_more */
+#line 1914 "gram.y"
+ { (yyval.vsetstmt) = (yyvsp[0].vsetstmt); }
+#line 30258 "gram.c"
+ break;
+
+ case 258: /* FunctionSetResetClause: VariableResetStmt */
+#line 1915 "gram.y"
+ { (yyval.vsetstmt) = (VariableSetStmt *) (yyvsp[0].node); }
+#line 30264 "gram.c"
+ break;
+
+ case 259: /* VariableShowStmt: SHOW var_name */
+#line 1921 "gram.y"
+ {
+ VariableShowStmt *n = makeNode(VariableShowStmt);
+
+ n->name = (yyvsp[0].str);
+ (yyval.node) = (Node *) n;
+ }
+#line 30275 "gram.c"
+ break;
+
+ case 260: /* VariableShowStmt: SHOW TIME ZONE */
+#line 1928 "gram.y"
+ {
+ VariableShowStmt *n = makeNode(VariableShowStmt);
+
+ n->name = "timezone";
+ (yyval.node) = (Node *) n;
+ }
+#line 30286 "gram.c"
+ break;
+
+ case 261: /* VariableShowStmt: SHOW TRANSACTION ISOLATION LEVEL */
+#line 1935 "gram.y"
+ {
+ VariableShowStmt *n = makeNode(VariableShowStmt);
+
+ n->name = "transaction_isolation";
+ (yyval.node) = (Node *) n;
+ }
+#line 30297 "gram.c"
+ break;
+
+ case 262: /* VariableShowStmt: SHOW SESSION AUTHORIZATION */
+#line 1942 "gram.y"
+ {
+ VariableShowStmt *n = makeNode(VariableShowStmt);
+
+ n->name = "session_authorization";
+ (yyval.node) = (Node *) n;
+ }
+#line 30308 "gram.c"
+ break;
+
+ case 263: /* VariableShowStmt: SHOW ALL */
+#line 1949 "gram.y"
+ {
+ VariableShowStmt *n = makeNode(VariableShowStmt);
+
+ n->name = "all";
+ (yyval.node) = (Node *) n;
+ }
+#line 30319 "gram.c"
+ break;
+
+ case 264: /* ConstraintsSetStmt: SET CONSTRAINTS constraints_set_list constraints_set_mode */
+#line 1960 "gram.y"
+ {
+ ConstraintsSetStmt *n = makeNode(ConstraintsSetStmt);
+
+ n->constraints = (yyvsp[-1].list);
+ n->deferred = (yyvsp[0].boolean);
+ (yyval.node) = (Node *) n;
+ }
+#line 30331 "gram.c"
+ break;
+
+ case 265: /* constraints_set_list: ALL */
+#line 1970 "gram.y"
+ { (yyval.list) = NIL; }
+#line 30337 "gram.c"
+ break;
+
+ case 266: /* constraints_set_list: qualified_name_list */
+#line 1971 "gram.y"
+ { (yyval.list) = (yyvsp[0].list); }
+#line 30343 "gram.c"
+ break;
+
+ case 267: /* constraints_set_mode: DEFERRED */
+#line 1975 "gram.y"
+ { (yyval.boolean) = true; }
+#line 30349 "gram.c"
+ break;
+
+ case 268: /* constraints_set_mode: IMMEDIATE */
+#line 1976 "gram.y"
+ { (yyval.boolean) = false; }
+#line 30355 "gram.c"
+ break;
+
+ case 269: /* CheckPointStmt: CHECKPOINT */
+#line 1985 "gram.y"
+ {
+ CheckPointStmt *n = makeNode(CheckPointStmt);
+
+ (yyval.node) = (Node *) n;
+ }
+#line 30365 "gram.c"
+ break;
+
+ case 270: /* DiscardStmt: DISCARD ALL */
+#line 2001 "gram.y"
+ {
+ DiscardStmt *n = makeNode(DiscardStmt);
+
+ n->target = DISCARD_ALL;
+ (yyval.node) = (Node *) n;
+ }
+#line 30376 "gram.c"
+ break;
+
+ case 271: /* DiscardStmt: DISCARD TEMP */
+#line 2008 "gram.y"
+ {
+ DiscardStmt *n = makeNode(DiscardStmt);
+
+ n->target = DISCARD_TEMP;
+ (yyval.node) = (Node *) n;
+ }
+#line 30387 "gram.c"
+ break;
+
+ case 272: /* DiscardStmt: DISCARD TEMPORARY */
+#line 2015 "gram.y"
+ {
+ DiscardStmt *n = makeNode(DiscardStmt);
+
+ n->target = DISCARD_TEMP;
+ (yyval.node) = (Node *) n;
+ }
+#line 30398 "gram.c"
+ break;
+
+ case 273: /* DiscardStmt: DISCARD PLANS */
+#line 2022 "gram.y"
+ {
+ DiscardStmt *n = makeNode(DiscardStmt);
+
+ n->target = DISCARD_PLANS;
+ (yyval.node) = (Node *) n;
+ }
+#line 30409 "gram.c"
+ break;
+
+ case 274: /* DiscardStmt: DISCARD SEQUENCES */
+#line 2029 "gram.y"
+ {
+ DiscardStmt *n = makeNode(DiscardStmt);
+
+ n->target = DISCARD_SEQUENCES;
+ (yyval.node) = (Node *) n;
+ }
+#line 30420 "gram.c"
+ break;
+
+ case 275: /* AlterTableStmt: ALTER TABLE relation_expr alter_table_cmds */
+#line 2049 "gram.y"
+ {
+ AlterTableStmt *n = makeNode(AlterTableStmt);
+
+ n->relation = (yyvsp[-1].range);
+ n->cmds = (yyvsp[0].list);
+ n->objtype = OBJECT_TABLE;
+ n->missing_ok = false;
+ (yyval.node) = (Node *) n;
+ }
+#line 30434 "gram.c"
+ break;
+
+ case 276: /* AlterTableStmt: ALTER TABLE IF_P EXISTS relation_expr alter_table_cmds */
+#line 2059 "gram.y"
+ {
+ AlterTableStmt *n = makeNode(AlterTableStmt);
+
+ n->relation = (yyvsp[-1].range);
+ n->cmds = (yyvsp[0].list);
+ n->objtype = OBJECT_TABLE;
+ n->missing_ok = true;
+ (yyval.node) = (Node *) n;
+ }
+#line 30448 "gram.c"
+ break;
+
+ case 277: /* AlterTableStmt: ALTER TABLE relation_expr partition_cmd */
+#line 2069 "gram.y"
+ {
+ AlterTableStmt *n = makeNode(AlterTableStmt);
+
+ n->relation = (yyvsp[-1].range);
+ n->cmds = list_make1((yyvsp[0].node));
+ n->objtype = OBJECT_TABLE;
+ n->missing_ok = false;
+ (yyval.node) = (Node *) n;
+ }
+#line 30462 "gram.c"
+ break;
+
+ case 278: /* AlterTableStmt: ALTER TABLE IF_P EXISTS relation_expr partition_cmd */
+#line 2079 "gram.y"
+ {
+ AlterTableStmt *n = makeNode(AlterTableStmt);
+
+ n->relation = (yyvsp[-1].range);
+ n->cmds = list_make1((yyvsp[0].node));
+ n->objtype = OBJECT_TABLE;
+ n->missing_ok = true;
+ (yyval.node) = (Node *) n;
+ }
+#line 30476 "gram.c"
+ break;
+
+ case 279: /* AlterTableStmt: ALTER TABLE ALL IN_P TABLESPACE name SET TABLESPACE name opt_nowait */
+#line 2089 "gram.y"
+ {
+ 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 30492 "gram.c"
+ break;
+
+ case 280: /* AlterTableStmt: ALTER TABLE ALL IN_P TABLESPACE name OWNED BY role_list SET TABLESPACE name opt_nowait */
+#line 2101 "gram.y"
+ {
+ 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 30508 "gram.c"
+ break;
+
+ case 281: /* AlterTableStmt: ALTER INDEX qualified_name alter_table_cmds */
+#line 2113 "gram.y"
+ {
+ AlterTableStmt *n = makeNode(AlterTableStmt);
+
+ n->relation = (yyvsp[-1].range);
+ n->cmds = (yyvsp[0].list);
+ n->objtype = OBJECT_INDEX;
+ n->missing_ok = false;
+ (yyval.node) = (Node *) n;
+ }
+#line 30522 "gram.c"
+ break;
+
+ case 282: /* AlterTableStmt: ALTER INDEX IF_P EXISTS qualified_name alter_table_cmds */
+#line 2123 "gram.y"
+ {
+ AlterTableStmt *n = makeNode(AlterTableStmt);
+
+ n->relation = (yyvsp[-1].range);
+ n->cmds = (yyvsp[0].list);
+ n->objtype = OBJECT_INDEX;
+ n->missing_ok = true;
+ (yyval.node) = (Node *) n;
+ }
+#line 30536 "gram.c"
+ break;
+
+ case 283: /* AlterTableStmt: ALTER INDEX qualified_name index_partition_cmd */
+#line 2133 "gram.y"
+ {
+ AlterTableStmt *n = makeNode(AlterTableStmt);
+
+ n->relation = (yyvsp[-1].range);
+ n->cmds = list_make1((yyvsp[0].node));
+ n->objtype = OBJECT_INDEX;
+ n->missing_ok = false;
+ (yyval.node) = (Node *) n;
+ }
+#line 30550 "gram.c"
+ break;
+
+ case 284: /* AlterTableStmt: ALTER INDEX ALL IN_P TABLESPACE name SET TABLESPACE name opt_nowait */
+#line 2143 "gram.y"
+ {
+ 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 30566 "gram.c"
+ break;
+
+ case 285: /* AlterTableStmt: ALTER INDEX ALL IN_P TABLESPACE name OWNED BY role_list SET TABLESPACE name opt_nowait */
+#line 2155 "gram.y"
+ {
+ 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 30582 "gram.c"
+ break;
+
+ case 286: /* AlterTableStmt: ALTER SEQUENCE qualified_name alter_table_cmds */
+#line 2167 "gram.y"
+ {
+ AlterTableStmt *n = makeNode(AlterTableStmt);
+
+ n->relation = (yyvsp[-1].range);
+ n->cmds = (yyvsp[0].list);
+ n->objtype = OBJECT_SEQUENCE;
+ n->missing_ok = false;
+ (yyval.node) = (Node *) n;
+ }
+#line 30596 "gram.c"
+ break;
+
+ case 287: /* AlterTableStmt: ALTER SEQUENCE IF_P EXISTS qualified_name alter_table_cmds */
+#line 2177 "gram.y"
+ {
+ AlterTableStmt *n = makeNode(AlterTableStmt);
+
+ n->relation = (yyvsp[-1].range);
+ n->cmds = (yyvsp[0].list);
+ n->objtype = OBJECT_SEQUENCE;
+ n->missing_ok = true;
+ (yyval.node) = (Node *) n;
+ }
+#line 30610 "gram.c"
+ break;
+
+ case 288: /* AlterTableStmt: ALTER VIEW qualified_name alter_table_cmds */
+#line 2187 "gram.y"
+ {
+ AlterTableStmt *n = makeNode(AlterTableStmt);
+
+ n->relation = (yyvsp[-1].range);
+ n->cmds = (yyvsp[0].list);
+ n->objtype = OBJECT_VIEW;
+ n->missing_ok = false;
+ (yyval.node) = (Node *) n;
+ }
+#line 30624 "gram.c"
+ break;
+
+ case 289: /* AlterTableStmt: ALTER VIEW IF_P EXISTS qualified_name alter_table_cmds */
+#line 2197 "gram.y"
+ {
+ AlterTableStmt *n = makeNode(AlterTableStmt);
+
+ n->relation = (yyvsp[-1].range);
+ n->cmds = (yyvsp[0].list);
+ n->objtype = OBJECT_VIEW;
+ n->missing_ok = true;
+ (yyval.node) = (Node *) n;
+ }
+#line 30638 "gram.c"
+ break;
+
+ case 290: /* AlterTableStmt: ALTER MATERIALIZED VIEW qualified_name alter_table_cmds */
+#line 2207 "gram.y"
+ {
+ AlterTableStmt *n = makeNode(AlterTableStmt);
+
+ n->relation = (yyvsp[-1].range);
+ n->cmds = (yyvsp[0].list);
+ n->objtype = OBJECT_MATVIEW;
+ n->missing_ok = false;
+ (yyval.node) = (Node *) n;
+ }
+#line 30652 "gram.c"
+ break;
+
+ case 291: /* AlterTableStmt: ALTER MATERIALIZED VIEW IF_P EXISTS qualified_name alter_table_cmds */
+#line 2217 "gram.y"
+ {
+ AlterTableStmt *n = makeNode(AlterTableStmt);
+
+ n->relation = (yyvsp[-1].range);
+ n->cmds = (yyvsp[0].list);
+ n->objtype = OBJECT_MATVIEW;
+ n->missing_ok = true;
+ (yyval.node) = (Node *) n;
+ }
+#line 30666 "gram.c"
+ break;
+
+ case 292: /* AlterTableStmt: ALTER MATERIALIZED VIEW ALL IN_P TABLESPACE name SET TABLESPACE name opt_nowait */
+#line 2227 "gram.y"
+ {
+ 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 30682 "gram.c"
+ break;
+
+ case 293: /* AlterTableStmt: ALTER MATERIALIZED VIEW ALL IN_P TABLESPACE name OWNED BY role_list SET TABLESPACE name opt_nowait */
+#line 2239 "gram.y"
+ {
+ 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 30698 "gram.c"
+ break;
+
+ case 294: /* AlterTableStmt: ALTER FOREIGN TABLE relation_expr alter_table_cmds */
+#line 2251 "gram.y"
+ {
+ AlterTableStmt *n = makeNode(AlterTableStmt);
+
+ n->relation = (yyvsp[-1].range);
+ n->cmds = (yyvsp[0].list);
+ n->objtype = OBJECT_FOREIGN_TABLE;
+ n->missing_ok = false;
+ (yyval.node) = (Node *) n;
+ }
+#line 30712 "gram.c"
+ break;
+
+ case 295: /* AlterTableStmt: ALTER FOREIGN TABLE IF_P EXISTS relation_expr alter_table_cmds */
+#line 2261 "gram.y"
+ {
+ AlterTableStmt *n = makeNode(AlterTableStmt);
+
+ n->relation = (yyvsp[-1].range);
+ n->cmds = (yyvsp[0].list);
+ n->objtype = OBJECT_FOREIGN_TABLE;
+ n->missing_ok = true;
+ (yyval.node) = (Node *) n;
+ }
+#line 30726 "gram.c"
+ break;
+
+ case 296: /* alter_table_cmds: alter_table_cmd */
+#line 2273 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].node)); }
+#line 30732 "gram.c"
+ break;
+
+ case 297: /* alter_table_cmds: alter_table_cmds ',' alter_table_cmd */
+#line 2274 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
+#line 30738 "gram.c"
+ break;
+
+ case 298: /* partition_cmd: ATTACH PARTITION qualified_name PartitionBoundSpec */
+#line 2280 "gram.y"
+ {
+ AlterTableCmd *n = makeNode(AlterTableCmd);
+ PartitionCmd *cmd = makeNode(PartitionCmd);
+
+ n->subtype = AT_AttachPartition;
+ cmd->name = (yyvsp[-1].range);
+ cmd->bound = (yyvsp[0].partboundspec);
+ cmd->concurrent = false;
+ n->def = (Node *) cmd;
+
+ (yyval.node) = (Node *) n;
+ }
+#line 30755 "gram.c"
+ break;
+
+ case 299: /* partition_cmd: DETACH PARTITION qualified_name opt_concurrently */
+#line 2294 "gram.y"
+ {
+ AlterTableCmd *n = makeNode(AlterTableCmd);
+ PartitionCmd *cmd = makeNode(PartitionCmd);
+
+ n->subtype = AT_DetachPartition;
+ cmd->name = (yyvsp[-1].range);
+ cmd->bound = NULL;
+ cmd->concurrent = (yyvsp[0].boolean);
+ n->def = (Node *) cmd;
+
+ (yyval.node) = (Node *) n;
+ }
+#line 30772 "gram.c"
+ break;
+
+ case 300: /* partition_cmd: DETACH PARTITION qualified_name FINALIZE */
+#line 2307 "gram.y"
+ {
+ AlterTableCmd *n = makeNode(AlterTableCmd);
+ PartitionCmd *cmd = makeNode(PartitionCmd);
+
+ n->subtype = AT_DetachPartitionFinalize;
+ cmd->name = (yyvsp[-1].range);
+ cmd->bound = NULL;
+ cmd->concurrent = false;
+ n->def = (Node *) cmd;
+ (yyval.node) = (Node *) n;
+ }
+#line 30788 "gram.c"
+ break;
+
+ case 301: /* index_partition_cmd: ATTACH PARTITION qualified_name */
+#line 2323 "gram.y"
+ {
+ AlterTableCmd *n = makeNode(AlterTableCmd);
+ PartitionCmd *cmd = makeNode(PartitionCmd);
+
+ n->subtype = AT_AttachPartition;
+ cmd->name = (yyvsp[0].range);
+ cmd->bound = NULL;
+ cmd->concurrent = false;
+ n->def = (Node *) cmd;
+
+ (yyval.node) = (Node *) n;
+ }
+#line 30805 "gram.c"
+ break;
+
+ case 302: /* alter_table_cmd: ADD_P columnDef */
+#line 2340 "gram.y"
+ {
+ AlterTableCmd *n = makeNode(AlterTableCmd);
+
+ n->subtype = AT_AddColumn;
+ n->def = (yyvsp[0].node);
+ n->missing_ok = false;
+ (yyval.node) = (Node *) n;
+ }
+#line 30818 "gram.c"
+ break;
+
+ case 303: /* alter_table_cmd: ADD_P IF_P NOT EXISTS columnDef */
+#line 2350 "gram.y"
+ {
+ AlterTableCmd *n = makeNode(AlterTableCmd);
+
+ n->subtype = AT_AddColumn;
+ n->def = (yyvsp[0].node);
+ n->missing_ok = true;
+ (yyval.node) = (Node *) n;
+ }
+#line 30831 "gram.c"
+ break;
+
+ case 304: /* alter_table_cmd: ADD_P COLUMN columnDef */
+#line 2360 "gram.y"
+ {
+ AlterTableCmd *n = makeNode(AlterTableCmd);
+
+ n->subtype = AT_AddColumn;
+ n->def = (yyvsp[0].node);
+ n->missing_ok = false;
+ (yyval.node) = (Node *) n;
+ }
+#line 30844 "gram.c"
+ break;
+
+ case 305: /* alter_table_cmd: ADD_P COLUMN IF_P NOT EXISTS columnDef */
+#line 2370 "gram.y"
+ {
+ AlterTableCmd *n = makeNode(AlterTableCmd);
+
+ n->subtype = AT_AddColumn;
+ n->def = (yyvsp[0].node);
+ n->missing_ok = true;
+ (yyval.node) = (Node *) n;
+ }
+#line 30857 "gram.c"
+ break;
+
+ case 306: /* alter_table_cmd: ALTER opt_column ColId alter_column_default */
+#line 2380 "gram.y"
+ {
+ AlterTableCmd *n = makeNode(AlterTableCmd);
+
+ n->subtype = AT_ColumnDefault;
+ n->name = (yyvsp[-1].str);
+ n->def = (yyvsp[0].node);
+ (yyval.node) = (Node *) n;
+ }
+#line 30870 "gram.c"
+ break;
+
+ case 307: /* alter_table_cmd: ALTER opt_column ColId DROP NOT NULL_P */
+#line 2390 "gram.y"
+ {
+ AlterTableCmd *n = makeNode(AlterTableCmd);
+
+ n->subtype = AT_DropNotNull;
+ n->name = (yyvsp[-3].str);
+ (yyval.node) = (Node *) n;
+ }
+#line 30882 "gram.c"
+ break;
+
+ case 308: /* alter_table_cmd: ALTER opt_column ColId SET NOT NULL_P */
+#line 2399 "gram.y"
+ {
+ AlterTableCmd *n = makeNode(AlterTableCmd);
+
+ n->subtype = AT_SetNotNull;
+ n->name = (yyvsp[-3].str);
+ (yyval.node) = (Node *) n;
+ }
+#line 30894 "gram.c"
+ break;
+
+ case 309: /* alter_table_cmd: ALTER opt_column ColId DROP EXPRESSION */
+#line 2408 "gram.y"
+ {
+ AlterTableCmd *n = makeNode(AlterTableCmd);
+
+ n->subtype = AT_DropExpression;
+ n->name = (yyvsp[-2].str);
+ (yyval.node) = (Node *) n;
+ }
+#line 30906 "gram.c"
+ break;
+
+ case 310: /* alter_table_cmd: ALTER opt_column ColId DROP EXPRESSION IF_P EXISTS */
+#line 2417 "gram.y"
+ {
+ AlterTableCmd *n = makeNode(AlterTableCmd);
+
+ n->subtype = AT_DropExpression;
+ n->name = (yyvsp[-4].str);
+ n->missing_ok = true;
+ (yyval.node) = (Node *) n;
+ }
+#line 30919 "gram.c"
+ break;
+
+ case 311: /* alter_table_cmd: ALTER opt_column ColId SET STATISTICS SignedIconst */
+#line 2427 "gram.y"
+ {
+ 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 30932 "gram.c"
+ break;
+
+ case 312: /* alter_table_cmd: ALTER opt_column Iconst SET STATISTICS SignedIconst */
+#line 2437 "gram.y"
+ {
+ 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 30951 "gram.c"
+ break;
+
+ case 313: /* alter_table_cmd: ALTER opt_column ColId SET reloptions */
+#line 2453 "gram.y"
+ {
+ AlterTableCmd *n = makeNode(AlterTableCmd);
+
+ n->subtype = AT_SetOptions;
+ n->name = (yyvsp[-2].str);
+ n->def = (Node *) (yyvsp[0].list);
+ (yyval.node) = (Node *) n;
+ }
+#line 30964 "gram.c"
+ break;
+
+ case 314: /* alter_table_cmd: ALTER opt_column ColId RESET reloptions */
+#line 2463 "gram.y"
+ {
+ AlterTableCmd *n = makeNode(AlterTableCmd);
+
+ n->subtype = AT_ResetOptions;
+ n->name = (yyvsp[-2].str);
+ n->def = (Node *) (yyvsp[0].list);
+ (yyval.node) = (Node *) n;
+ }
+#line 30977 "gram.c"
+ break;
+
+ case 315: /* alter_table_cmd: ALTER opt_column ColId SET column_storage */
+#line 2473 "gram.y"
+ {
+ AlterTableCmd *n = makeNode(AlterTableCmd);
+
+ n->subtype = AT_SetStorage;
+ n->name = (yyvsp[-2].str);
+ n->def = (Node *) makeString((yyvsp[0].str));
+ (yyval.node) = (Node *) n;
+ }
+#line 30990 "gram.c"
+ break;
+
+ case 316: /* alter_table_cmd: ALTER opt_column ColId SET column_compression */
+#line 2483 "gram.y"
+ {
+ AlterTableCmd *n = makeNode(AlterTableCmd);
+
+ n->subtype = AT_SetCompression;
+ n->name = (yyvsp[-2].str);
+ n->def = (Node *) makeString((yyvsp[0].str));
+ (yyval.node) = (Node *) n;
+ }
+#line 31003 "gram.c"
+ break;
+
+ case 317: /* alter_table_cmd: ALTER opt_column ColId ADD_P GENERATED generated_when AS IDENTITY_P OptParenthesizedSeqOptList */
+#line 2493 "gram.y"
+ {
+ 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 31023 "gram.c"
+ break;
+
+ case 318: /* alter_table_cmd: ALTER opt_column ColId alter_identity_column_option_list */
+#line 2510 "gram.y"
+ {
+ AlterTableCmd *n = makeNode(AlterTableCmd);
+
+ n->subtype = AT_SetIdentity;
+ n->name = (yyvsp[-1].str);
+ n->def = (Node *) (yyvsp[0].list);
+ (yyval.node) = (Node *) n;
+ }
+#line 31036 "gram.c"
+ break;
+
+ case 319: /* alter_table_cmd: ALTER opt_column ColId DROP IDENTITY_P */
+#line 2520 "gram.y"
+ {
+ AlterTableCmd *n = makeNode(AlterTableCmd);
+
+ n->subtype = AT_DropIdentity;
+ n->name = (yyvsp[-2].str);
+ n->missing_ok = false;
+ (yyval.node) = (Node *) n;
+ }
+#line 31049 "gram.c"
+ break;
+
+ case 320: /* alter_table_cmd: ALTER opt_column ColId DROP IDENTITY_P IF_P EXISTS */
+#line 2530 "gram.y"
+ {
+ AlterTableCmd *n = makeNode(AlterTableCmd);
+
+ n->subtype = AT_DropIdentity;
+ n->name = (yyvsp[-4].str);
+ n->missing_ok = true;
+ (yyval.node) = (Node *) n;
+ }
+#line 31062 "gram.c"
+ break;
+
+ case 321: /* alter_table_cmd: DROP opt_column IF_P EXISTS ColId opt_drop_behavior */
+#line 2540 "gram.y"
+ {
+ 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 31076 "gram.c"
+ break;
+
+ case 322: /* alter_table_cmd: DROP opt_column ColId opt_drop_behavior */
+#line 2551 "gram.y"
+ {
+ 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 31090 "gram.c"
+ break;
+
+ case 323: /* alter_table_cmd: ALTER opt_column ColId opt_set_data TYPE_P Typename opt_collate_clause alter_using */
+#line 2565 "gram.y"
+ {
+ 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 31109 "gram.c"
+ break;
+
+ case 324: /* alter_table_cmd: ALTER opt_column ColId alter_generic_options */
+#line 2581 "gram.y"
+ {
+ AlterTableCmd *n = makeNode(AlterTableCmd);
+
+ n->subtype = AT_AlterColumnGenericOptions;
+ n->name = (yyvsp[-1].str);
+ n->def = (Node *) (yyvsp[0].list);
+ (yyval.node) = (Node *) n;
+ }
+#line 31122 "gram.c"
+ break;
+
+ case 325: /* alter_table_cmd: ADD_P TableConstraint */
+#line 2591 "gram.y"
+ {
+ AlterTableCmd *n = makeNode(AlterTableCmd);
+
+ n->subtype = AT_AddConstraint;
+ n->def = (yyvsp[0].node);
+ (yyval.node) = (Node *) n;
+ }
+#line 31134 "gram.c"
+ break;
+
+ case 326: /* alter_table_cmd: ALTER CONSTRAINT name ConstraintAttributeSpec */
+#line 2600 "gram.y"
+ {
+ 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 31153 "gram.c"
+ break;
+
+ case 327: /* alter_table_cmd: VALIDATE CONSTRAINT name */
+#line 2616 "gram.y"
+ {
+ AlterTableCmd *n = makeNode(AlterTableCmd);
+
+ n->subtype = AT_ValidateConstraint;
+ n->name = (yyvsp[0].str);
+ (yyval.node) = (Node *) n;
+ }
+#line 31165 "gram.c"
+ break;
+
+ case 328: /* alter_table_cmd: DROP CONSTRAINT IF_P EXISTS name opt_drop_behavior */
+#line 2625 "gram.y"
+ {
+ 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 31179 "gram.c"
+ break;
+
+ case 329: /* alter_table_cmd: DROP CONSTRAINT name opt_drop_behavior */
+#line 2636 "gram.y"
+ {
+ 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 31193 "gram.c"
+ break;
+
+ case 330: /* alter_table_cmd: SET WITHOUT OIDS */
+#line 2647 "gram.y"
+ {
+ AlterTableCmd *n = makeNode(AlterTableCmd);
+
+ n->subtype = AT_DropOids;
+ (yyval.node) = (Node *) n;
+ }
+#line 31204 "gram.c"
+ break;
+
+ case 331: /* alter_table_cmd: CLUSTER ON name */
+#line 2655 "gram.y"
+ {
+ AlterTableCmd *n = makeNode(AlterTableCmd);
+
+ n->subtype = AT_ClusterOn;
+ n->name = (yyvsp[0].str);
+ (yyval.node) = (Node *) n;
+ }
+#line 31216 "gram.c"
+ break;
+
+ case 332: /* alter_table_cmd: SET WITHOUT CLUSTER */
+#line 2664 "gram.y"
+ {
+ AlterTableCmd *n = makeNode(AlterTableCmd);
+
+ n->subtype = AT_DropCluster;
+ n->name = NULL;
+ (yyval.node) = (Node *) n;
+ }
+#line 31228 "gram.c"
+ break;
+
+ case 333: /* alter_table_cmd: SET LOGGED */
+#line 2673 "gram.y"
+ {
+ AlterTableCmd *n = makeNode(AlterTableCmd);
+
+ n->subtype = AT_SetLogged;
+ (yyval.node) = (Node *) n;
+ }
+#line 31239 "gram.c"
+ break;
+
+ case 334: /* alter_table_cmd: SET UNLOGGED */
+#line 2681 "gram.y"
+ {
+ AlterTableCmd *n = makeNode(AlterTableCmd);
+
+ n->subtype = AT_SetUnLogged;
+ (yyval.node) = (Node *) n;
+ }
+#line 31250 "gram.c"
+ break;
+
+ case 335: /* alter_table_cmd: ENABLE_P TRIGGER name */
+#line 2689 "gram.y"
+ {
+ AlterTableCmd *n = makeNode(AlterTableCmd);
+
+ n->subtype = AT_EnableTrig;
+ n->name = (yyvsp[0].str);
+ (yyval.node) = (Node *) n;
+ }
+#line 31262 "gram.c"
+ break;
+
+ case 336: /* alter_table_cmd: ENABLE_P ALWAYS TRIGGER name */
+#line 2698 "gram.y"
+ {
+ AlterTableCmd *n = makeNode(AlterTableCmd);
+
+ n->subtype = AT_EnableAlwaysTrig;
+ n->name = (yyvsp[0].str);
+ (yyval.node) = (Node *) n;
+ }
+#line 31274 "gram.c"
+ break;
+
+ case 337: /* alter_table_cmd: ENABLE_P REPLICA TRIGGER name */
+#line 2707 "gram.y"
+ {
+ AlterTableCmd *n = makeNode(AlterTableCmd);
+
+ n->subtype = AT_EnableReplicaTrig;
+ n->name = (yyvsp[0].str);
+ (yyval.node) = (Node *) n;
+ }
+#line 31286 "gram.c"
+ break;
+
+ case 338: /* alter_table_cmd: ENABLE_P TRIGGER ALL */
+#line 2716 "gram.y"
+ {
+ AlterTableCmd *n = makeNode(AlterTableCmd);
+
+ n->subtype = AT_EnableTrigAll;
+ (yyval.node) = (Node *) n;
+ }
+#line 31297 "gram.c"
+ break;
+
+ case 339: /* alter_table_cmd: ENABLE_P TRIGGER USER */
+#line 2724 "gram.y"
+ {
+ AlterTableCmd *n = makeNode(AlterTableCmd);
+
+ n->subtype = AT_EnableTrigUser;
+ (yyval.node) = (Node *) n;
+ }
+#line 31308 "gram.c"
+ break;
+
+ case 340: /* alter_table_cmd: DISABLE_P TRIGGER name */
+#line 2732 "gram.y"
+ {
+ AlterTableCmd *n = makeNode(AlterTableCmd);
+
+ n->subtype = AT_DisableTrig;
+ n->name = (yyvsp[0].str);
+ (yyval.node) = (Node *) n;
+ }
+#line 31320 "gram.c"
+ break;
+
+ case 341: /* alter_table_cmd: DISABLE_P TRIGGER ALL */
+#line 2741 "gram.y"
+ {
+ AlterTableCmd *n = makeNode(AlterTableCmd);
+
+ n->subtype = AT_DisableTrigAll;
+ (yyval.node) = (Node *) n;
+ }
+#line 31331 "gram.c"
+ break;
+
+ case 342: /* alter_table_cmd: DISABLE_P TRIGGER USER */
+#line 2749 "gram.y"
+ {
+ AlterTableCmd *n = makeNode(AlterTableCmd);
+
+ n->subtype = AT_DisableTrigUser;
+ (yyval.node) = (Node *) n;
+ }
+#line 31342 "gram.c"
+ break;
+
+ case 343: /* alter_table_cmd: ENABLE_P RULE name */
+#line 2757 "gram.y"
+ {
+ AlterTableCmd *n = makeNode(AlterTableCmd);
+
+ n->subtype = AT_EnableRule;
+ n->name = (yyvsp[0].str);
+ (yyval.node) = (Node *) n;
+ }
+#line 31354 "gram.c"
+ break;
+
+ case 344: /* alter_table_cmd: ENABLE_P ALWAYS RULE name */
+#line 2766 "gram.y"
+ {
+ AlterTableCmd *n = makeNode(AlterTableCmd);
+
+ n->subtype = AT_EnableAlwaysRule;
+ n->name = (yyvsp[0].str);
+ (yyval.node) = (Node *) n;
+ }
+#line 31366 "gram.c"
+ break;
+
+ case 345: /* alter_table_cmd: ENABLE_P REPLICA RULE name */
+#line 2775 "gram.y"
+ {
+ AlterTableCmd *n = makeNode(AlterTableCmd);
+
+ n->subtype = AT_EnableReplicaRule;
+ n->name = (yyvsp[0].str);
+ (yyval.node) = (Node *) n;
+ }
+#line 31378 "gram.c"
+ break;
+
+ case 346: /* alter_table_cmd: DISABLE_P RULE name */
+#line 2784 "gram.y"
+ {
+ AlterTableCmd *n = makeNode(AlterTableCmd);
+
+ n->subtype = AT_DisableRule;
+ n->name = (yyvsp[0].str);
+ (yyval.node) = (Node *) n;
+ }
+#line 31390 "gram.c"
+ break;
+
+ case 347: /* alter_table_cmd: INHERIT qualified_name */
+#line 2793 "gram.y"
+ {
+ AlterTableCmd *n = makeNode(AlterTableCmd);
+
+ n->subtype = AT_AddInherit;
+ n->def = (Node *) (yyvsp[0].range);
+ (yyval.node) = (Node *) n;
+ }
+#line 31402 "gram.c"
+ break;
+
+ case 348: /* alter_table_cmd: NO INHERIT qualified_name */
+#line 2802 "gram.y"
+ {
+ AlterTableCmd *n = makeNode(AlterTableCmd);
+
+ n->subtype = AT_DropInherit;
+ n->def = (Node *) (yyvsp[0].range);
+ (yyval.node) = (Node *) n;
+ }
+#line 31414 "gram.c"
+ break;
+
+ case 349: /* alter_table_cmd: OF any_name */
+#line 2811 "gram.y"
+ {
+ 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 31428 "gram.c"
+ break;
+
+ case 350: /* alter_table_cmd: NOT OF */
+#line 2822 "gram.y"
+ {
+ AlterTableCmd *n = makeNode(AlterTableCmd);
+
+ n->subtype = AT_DropOf;
+ (yyval.node) = (Node *) n;
+ }
+#line 31439 "gram.c"
+ break;
+
+ case 351: /* alter_table_cmd: OWNER TO RoleSpec */
+#line 2830 "gram.y"
+ {
+ AlterTableCmd *n = makeNode(AlterTableCmd);
+
+ n->subtype = AT_ChangeOwner;
+ n->newowner = (yyvsp[0].rolespec);
+ (yyval.node) = (Node *) n;
+ }
+#line 31451 "gram.c"
+ break;
+
+ case 352: /* alter_table_cmd: SET ACCESS METHOD name */
+#line 2839 "gram.y"
+ {
+ AlterTableCmd *n = makeNode(AlterTableCmd);
+
+ n->subtype = AT_SetAccessMethod;
+ n->name = (yyvsp[0].str);
+ (yyval.node) = (Node *) n;
+ }
+#line 31463 "gram.c"
+ break;
+
+ case 353: /* alter_table_cmd: SET TABLESPACE name */
+#line 2848 "gram.y"
+ {
+ AlterTableCmd *n = makeNode(AlterTableCmd);
+
+ n->subtype = AT_SetTableSpace;
+ n->name = (yyvsp[0].str);
+ (yyval.node) = (Node *) n;
+ }
+#line 31475 "gram.c"
+ break;
+
+ case 354: /* alter_table_cmd: SET reloptions */
+#line 2857 "gram.y"
+ {
+ AlterTableCmd *n = makeNode(AlterTableCmd);
+
+ n->subtype = AT_SetRelOptions;
+ n->def = (Node *) (yyvsp[0].list);
+ (yyval.node) = (Node *) n;
+ }
+#line 31487 "gram.c"
+ break;
+
+ case 355: /* alter_table_cmd: RESET reloptions */
+#line 2866 "gram.y"
+ {
+ AlterTableCmd *n = makeNode(AlterTableCmd);
+
+ n->subtype = AT_ResetRelOptions;
+ n->def = (Node *) (yyvsp[0].list);
+ (yyval.node) = (Node *) n;
+ }
+#line 31499 "gram.c"
+ break;
+
+ case 356: /* alter_table_cmd: REPLICA IDENTITY_P replica_identity */
+#line 2875 "gram.y"
+ {
+ AlterTableCmd *n = makeNode(AlterTableCmd);
+
+ n->subtype = AT_ReplicaIdentity;
+ n->def = (yyvsp[0].node);
+ (yyval.node) = (Node *) n;
+ }
+#line 31511 "gram.c"
+ break;
+
+ case 357: /* alter_table_cmd: ENABLE_P ROW LEVEL SECURITY */
+#line 2884 "gram.y"
+ {
+ AlterTableCmd *n = makeNode(AlterTableCmd);
+
+ n->subtype = AT_EnableRowSecurity;
+ (yyval.node) = (Node *) n;
+ }
+#line 31522 "gram.c"
+ break;
+
+ case 358: /* alter_table_cmd: DISABLE_P ROW LEVEL SECURITY */
+#line 2892 "gram.y"
+ {
+ AlterTableCmd *n = makeNode(AlterTableCmd);
+
+ n->subtype = AT_DisableRowSecurity;
+ (yyval.node) = (Node *) n;
+ }
+#line 31533 "gram.c"
+ break;
+
+ case 359: /* alter_table_cmd: FORCE ROW LEVEL SECURITY */
+#line 2900 "gram.y"
+ {
+ AlterTableCmd *n = makeNode(AlterTableCmd);
+
+ n->subtype = AT_ForceRowSecurity;
+ (yyval.node) = (Node *) n;
+ }
+#line 31544 "gram.c"
+ break;
+
+ case 360: /* alter_table_cmd: NO FORCE ROW LEVEL SECURITY */
+#line 2908 "gram.y"
+ {
+ AlterTableCmd *n = makeNode(AlterTableCmd);
+
+ n->subtype = AT_NoForceRowSecurity;
+ (yyval.node) = (Node *) n;
+ }
+#line 31555 "gram.c"
+ break;
+
+ case 361: /* alter_table_cmd: alter_generic_options */
+#line 2915 "gram.y"
+ {
+ AlterTableCmd *n = makeNode(AlterTableCmd);
+
+ n->subtype = AT_GenericOptions;
+ n->def = (Node *) (yyvsp[0].list);
+ (yyval.node) = (Node *) n;
+ }
+#line 31567 "gram.c"
+ break;
+
+ case 362: /* alter_column_default: SET DEFAULT a_expr */
+#line 2925 "gram.y"
+ { (yyval.node) = (yyvsp[0].node); }
+#line 31573 "gram.c"
+ break;
+
+ case 363: /* alter_column_default: DROP DEFAULT */
+#line 2926 "gram.y"
+ { (yyval.node) = NULL; }
+#line 31579 "gram.c"
+ break;
+
+ case 364: /* opt_collate_clause: COLLATE any_name */
+#line 2931 "gram.y"
+ {
+ CollateClause *n = makeNode(CollateClause);
+
+ n->arg = NULL;
+ n->collname = (yyvsp[0].list);
+ n->location = (yylsp[-1]);
+ (yyval.node) = (Node *) n;
+ }
+#line 31592 "gram.c"
+ break;
+
+ case 365: /* opt_collate_clause: %empty */
+#line 2939 "gram.y"
+ { (yyval.node) = NULL; }
+#line 31598 "gram.c"
+ break;
+
+ case 366: /* alter_using: USING a_expr */
+#line 2943 "gram.y"
+ { (yyval.node) = (yyvsp[0].node); }
+#line 31604 "gram.c"
+ break;
+
+ case 367: /* alter_using: %empty */
+#line 2944 "gram.y"
+ { (yyval.node) = NULL; }
+#line 31610 "gram.c"
+ break;
+
+ case 368: /* replica_identity: NOTHING */
+#line 2949 "gram.y"
+ {
+ ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
+
+ n->identity_type = REPLICA_IDENTITY_NOTHING;
+ n->name = NULL;
+ (yyval.node) = (Node *) n;
+ }
+#line 31622 "gram.c"
+ break;
+
+ case 369: /* replica_identity: FULL */
+#line 2957 "gram.y"
+ {
+ ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
+
+ n->identity_type = REPLICA_IDENTITY_FULL;
+ n->name = NULL;
+ (yyval.node) = (Node *) n;
+ }
+#line 31634 "gram.c"
+ break;
+
+ case 370: /* replica_identity: DEFAULT */
+#line 2965 "gram.y"
+ {
+ ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
+
+ n->identity_type = REPLICA_IDENTITY_DEFAULT;
+ n->name = NULL;
+ (yyval.node) = (Node *) n;
+ }
+#line 31646 "gram.c"
+ break;
+
+ case 371: /* replica_identity: USING INDEX name */
+#line 2973 "gram.y"
+ {
+ ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
+
+ n->identity_type = REPLICA_IDENTITY_INDEX;
+ n->name = (yyvsp[0].str);
+ (yyval.node) = (Node *) n;
+ }
+#line 31658 "gram.c"
+ break;
+
+ case 372: /* reloptions: '(' reloption_list ')' */
+#line 2983 "gram.y"
+ { (yyval.list) = (yyvsp[-1].list); }
+#line 31664 "gram.c"
+ break;
+
+ case 373: /* opt_reloptions: WITH reloptions */
+#line 2986 "gram.y"
+ { (yyval.list) = (yyvsp[0].list); }
+#line 31670 "gram.c"
+ break;
+
+ case 374: /* opt_reloptions: %empty */
+#line 2987 "gram.y"
+ { (yyval.list) = NIL; }
+#line 31676 "gram.c"
+ break;
+
+ case 375: /* reloption_list: reloption_elem */
+#line 2991 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].defelt)); }
+#line 31682 "gram.c"
+ break;
+
+ case 376: /* reloption_list: reloption_list ',' reloption_elem */
+#line 2992 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
+#line 31688 "gram.c"
+ break;
+
+ case 377: /* reloption_elem: ColLabel '=' def_arg */
+#line 2998 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *) (yyvsp[0].node), (yylsp[-2]));
+ }
+#line 31696 "gram.c"
+ break;
+
+ case 378: /* reloption_elem: ColLabel */
+#line 3002 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem((yyvsp[0].str), NULL, (yylsp[0]));
+ }
+#line 31704 "gram.c"
+ break;
+
+ case 379: /* reloption_elem: ColLabel '.' ColLabel '=' def_arg */
+#line 3006 "gram.y"
+ {
+ (yyval.defelt) = makeDefElemExtended((yyvsp[-4].str), (yyvsp[-2].str), (Node *) (yyvsp[0].node),
+ DEFELEM_UNSPEC, (yylsp[-4]));
+ }
+#line 31713 "gram.c"
+ break;
+
+ case 380: /* reloption_elem: ColLabel '.' ColLabel */
+#line 3011 "gram.y"
+ {
+ (yyval.defelt) = makeDefElemExtended((yyvsp[-2].str), (yyvsp[0].str), NULL, DEFELEM_UNSPEC, (yylsp[-2]));
+ }
+#line 31721 "gram.c"
+ break;
+
+ case 381: /* alter_identity_column_option_list: alter_identity_column_option */
+#line 3018 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].defelt)); }
+#line 31727 "gram.c"
+ break;
+
+ case 382: /* alter_identity_column_option_list: alter_identity_column_option_list alter_identity_column_option */
+#line 3020 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
+#line 31733 "gram.c"
+ break;
+
+ case 383: /* alter_identity_column_option: RESTART */
+#line 3025 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("restart", NULL, (yylsp[0]));
+ }
+#line 31741 "gram.c"
+ break;
+
+ case 384: /* alter_identity_column_option: RESTART opt_with NumericOnly */
+#line 3029 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("restart", (Node *) (yyvsp[0].node), (yylsp[-2]));
+ }
+#line 31749 "gram.c"
+ break;
+
+ case 385: /* alter_identity_column_option: SET SeqOptElem */
+#line 3033 "gram.y"
+ {
+ 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 31764 "gram.c"
+ break;
+
+ case 386: /* alter_identity_column_option: SET GENERATED generated_when */
+#line 3044 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("generated", (Node *) makeInteger((yyvsp[0].ival)), (yylsp[-2]));
+ }
+#line 31772 "gram.c"
+ break;
+
+ case 387: /* PartitionBoundSpec: FOR VALUES WITH '(' hash_partbound ')' */
+#line 3052 "gram.y"
+ {
+ 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 31827 "gram.c"
+ break;
+
+ case 388: /* PartitionBoundSpec: FOR VALUES IN_P '(' expr_list ')' */
+#line 3105 "gram.y"
+ {
+ 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 31842 "gram.c"
+ break;
+
+ case 389: /* PartitionBoundSpec: FOR VALUES FROM '(' expr_list ')' TO '(' expr_list ')' */
+#line 3118 "gram.y"
+ {
+ 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 31858 "gram.c"
+ break;
+
+ case 390: /* PartitionBoundSpec: DEFAULT */
+#line 3132 "gram.y"
+ {
+ PartitionBoundSpec *n = makeNode(PartitionBoundSpec);
+
+ n->is_default = true;
+ n->location = (yylsp[0]);
+
+ (yyval.partboundspec) = n;
+ }
+#line 31871 "gram.c"
+ break;
+
+ case 391: /* hash_partbound_elem: NonReservedWord Iconst */
+#line 3144 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem((yyvsp[-1].str), (Node *) makeInteger((yyvsp[0].ival)), (yylsp[-1]));
+ }
+#line 31879 "gram.c"
+ break;
+
+ case 392: /* hash_partbound: hash_partbound_elem */
+#line 3151 "gram.y"
+ {
+ (yyval.list) = list_make1((yyvsp[0].defelt));
+ }
+#line 31887 "gram.c"
+ break;
+
+ case 393: /* hash_partbound: hash_partbound ',' hash_partbound_elem */
+#line 3155 "gram.y"
+ {
+ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
+ }
+#line 31895 "gram.c"
+ break;
+
+ case 394: /* AlterCompositeTypeStmt: ALTER TYPE_P any_name alter_type_cmds */
+#line 3169 "gram.y"
+ {
+ 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->objtype = OBJECT_TYPE;
+ (yyval.node) = (Node *) n;
+ }
+#line 31909 "gram.c"
+ break;
+
+ case 395: /* alter_type_cmds: alter_type_cmd */
+#line 3181 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].node)); }
+#line 31915 "gram.c"
+ break;
+
+ case 396: /* alter_type_cmds: alter_type_cmds ',' alter_type_cmd */
+#line 3182 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
+#line 31921 "gram.c"
+ break;
+
+ case 397: /* alter_type_cmd: ADD_P ATTRIBUTE TableFuncElement opt_drop_behavior */
+#line 3188 "gram.y"
+ {
+ AlterTableCmd *n = makeNode(AlterTableCmd);
+
+ n->subtype = AT_AddColumn;
+ n->def = (yyvsp[-1].node);
+ n->behavior = (yyvsp[0].dbehavior);
+ (yyval.node) = (Node *) n;
+ }
+#line 31934 "gram.c"
+ break;
+
+ case 398: /* alter_type_cmd: DROP ATTRIBUTE IF_P EXISTS ColId opt_drop_behavior */
+#line 3198 "gram.y"
+ {
+ 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 31948 "gram.c"
+ break;
+
+ case 399: /* alter_type_cmd: DROP ATTRIBUTE ColId opt_drop_behavior */
+#line 3209 "gram.y"
+ {
+ 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 31962 "gram.c"
+ break;
+
+ case 400: /* alter_type_cmd: ALTER ATTRIBUTE ColId opt_set_data TYPE_P Typename opt_collate_clause opt_drop_behavior */
+#line 3220 "gram.y"
+ {
+ 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 31982 "gram.c"
+ break;
+
+ case 401: /* ClosePortalStmt: CLOSE cursor_name */
+#line 3247 "gram.y"
+ {
+ ClosePortalStmt *n = makeNode(ClosePortalStmt);
+
+ n->portalname = (yyvsp[0].str);
+ (yyval.node) = (Node *) n;
+ }
+#line 31993 "gram.c"
+ break;
+
+ case 402: /* ClosePortalStmt: CLOSE ALL */
+#line 3254 "gram.y"
+ {
+ ClosePortalStmt *n = makeNode(ClosePortalStmt);
+
+ n->portalname = NULL;
+ (yyval.node) = (Node *) n;
+ }
+#line 32004 "gram.c"
+ break;
+
+ case 403: /* CopyStmt: COPY opt_binary qualified_name opt_column_list copy_from opt_program copy_file_name copy_delimiter opt_with copy_options where_clause */
+#line 3290 "gram.y"
+ {
+ 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 32042 "gram.c"
+ break;
+
+ case 404: /* CopyStmt: COPY '(' PreparableStmt ')' TO opt_program copy_file_name opt_with copy_options */
+#line 3324 "gram.y"
+ {
+ 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 32066 "gram.c"
+ break;
+
+ case 405: /* copy_from: FROM */
+#line 3346 "gram.y"
+ { (yyval.boolean) = true; }
+#line 32072 "gram.c"
+ break;
+
+ case 406: /* copy_from: TO */
+#line 3347 "gram.y"
+ { (yyval.boolean) = false; }
+#line 32078 "gram.c"
+ break;
+
+ case 407: /* opt_program: PROGRAM */
+#line 3351 "gram.y"
+ { (yyval.boolean) = true; }
+#line 32084 "gram.c"
+ break;
+
+ case 408: /* opt_program: %empty */
+#line 3352 "gram.y"
+ { (yyval.boolean) = false; }
+#line 32090 "gram.c"
+ break;
+
+ case 409: /* copy_file_name: Sconst */
+#line 3361 "gram.y"
+ { (yyval.str) = (yyvsp[0].str); }
+#line 32096 "gram.c"
+ break;
+
+ case 410: /* copy_file_name: STDIN */
+#line 3362 "gram.y"
+ { (yyval.str) = NULL; }
+#line 32102 "gram.c"
+ break;
+
+ case 411: /* copy_file_name: STDOUT */
+#line 3363 "gram.y"
+ { (yyval.str) = NULL; }
+#line 32108 "gram.c"
+ break;
+
+ case 412: /* copy_options: copy_opt_list */
+#line 3366 "gram.y"
+ { (yyval.list) = (yyvsp[0].list); }
+#line 32114 "gram.c"
+ break;
+
+ case 413: /* copy_options: '(' copy_generic_opt_list ')' */
+#line 3367 "gram.y"
+ { (yyval.list) = (yyvsp[-1].list); }
+#line 32120 "gram.c"
+ break;
+
+ case 414: /* copy_opt_list: copy_opt_list copy_opt_item */
+#line 3372 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
+#line 32126 "gram.c"
+ break;
+
+ case 415: /* copy_opt_list: %empty */
+#line 3373 "gram.y"
+ { (yyval.list) = NIL; }
+#line 32132 "gram.c"
+ break;
+
+ case 416: /* copy_opt_item: BINARY */
+#line 3378 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("format", (Node *) makeString("binary"), (yylsp[0]));
+ }
+#line 32140 "gram.c"
+ break;
+
+ case 417: /* copy_opt_item: FREEZE */
+#line 3382 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("freeze", (Node *) makeBoolean(true), (yylsp[0]));
+ }
+#line 32148 "gram.c"
+ break;
+
+ case 418: /* copy_opt_item: DELIMITER opt_as Sconst */
+#line 3386 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("delimiter", (Node *) makeString((yyvsp[0].str)), (yylsp[-2]));
+ }
+#line 32156 "gram.c"
+ break;
+
+ case 419: /* copy_opt_item: NULL_P opt_as Sconst */
+#line 3390 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("null", (Node *) makeString((yyvsp[0].str)), (yylsp[-2]));
+ }
+#line 32164 "gram.c"
+ break;
+
+ case 420: /* copy_opt_item: CSV */
+#line 3394 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("format", (Node *) makeString("csv"), (yylsp[0]));
+ }
+#line 32172 "gram.c"
+ break;
+
+ case 421: /* copy_opt_item: HEADER_P */
+#line 3398 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("header", (Node *) makeBoolean(true), (yylsp[0]));
+ }
+#line 32180 "gram.c"
+ break;
+
+ case 422: /* copy_opt_item: QUOTE opt_as Sconst */
+#line 3402 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("quote", (Node *) makeString((yyvsp[0].str)), (yylsp[-2]));
+ }
+#line 32188 "gram.c"
+ break;
+
+ case 423: /* copy_opt_item: ESCAPE opt_as Sconst */
+#line 3406 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("escape", (Node *) makeString((yyvsp[0].str)), (yylsp[-2]));
+ }
+#line 32196 "gram.c"
+ break;
+
+ case 424: /* copy_opt_item: FORCE QUOTE columnList */
+#line 3410 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("force_quote", (Node *) (yyvsp[0].list), (yylsp[-2]));
+ }
+#line 32204 "gram.c"
+ break;
+
+ case 425: /* copy_opt_item: FORCE QUOTE '*' */
+#line 3414 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("force_quote", (Node *) makeNode(A_Star), (yylsp[-2]));
+ }
+#line 32212 "gram.c"
+ break;
+
+ case 426: /* copy_opt_item: FORCE NOT NULL_P columnList */
+#line 3418 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("force_not_null", (Node *) (yyvsp[0].list), (yylsp[-3]));
+ }
+#line 32220 "gram.c"
+ break;
+
+ case 427: /* copy_opt_item: FORCE NULL_P columnList */
+#line 3422 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("force_null", (Node *) (yyvsp[0].list), (yylsp[-2]));
+ }
+#line 32228 "gram.c"
+ break;
+
+ case 428: /* copy_opt_item: ENCODING Sconst */
+#line 3426 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("encoding", (Node *) makeString((yyvsp[0].str)), (yylsp[-1]));
+ }
+#line 32236 "gram.c"
+ break;
+
+ case 429: /* opt_binary: BINARY */
+#line 3435 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("format", (Node *) makeString("binary"), (yylsp[0]));
+ }
+#line 32244 "gram.c"
+ break;
+
+ case 430: /* opt_binary: %empty */
+#line 3438 "gram.y"
+ { (yyval.defelt) = NULL; }
+#line 32250 "gram.c"
+ break;
+
+ case 431: /* copy_delimiter: opt_using DELIMITERS Sconst */
+#line 3443 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("delimiter", (Node *) makeString((yyvsp[0].str)), (yylsp[-1]));
+ }
+#line 32258 "gram.c"
+ break;
+
+ case 432: /* copy_delimiter: %empty */
+#line 3446 "gram.y"
+ { (yyval.defelt) = NULL; }
+#line 32264 "gram.c"
+ break;
+
+ case 435: /* copy_generic_opt_list: copy_generic_opt_elem */
+#line 3457 "gram.y"
+ {
+ (yyval.list) = list_make1((yyvsp[0].defelt));
+ }
+#line 32272 "gram.c"
+ break;
+
+ case 436: /* copy_generic_opt_list: copy_generic_opt_list ',' copy_generic_opt_elem */
+#line 3461 "gram.y"
+ {
+ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
+ }
+#line 32280 "gram.c"
+ break;
+
+ case 437: /* copy_generic_opt_elem: ColLabel copy_generic_opt_arg */
+#line 3468 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1]));
+ }
+#line 32288 "gram.c"
+ break;
+
+ case 438: /* copy_generic_opt_arg: opt_boolean_or_string */
+#line 3474 "gram.y"
+ { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
+#line 32294 "gram.c"
+ break;
+
+ case 439: /* copy_generic_opt_arg: NumericOnly */
+#line 3475 "gram.y"
+ { (yyval.node) = (Node *) (yyvsp[0].node); }
+#line 32300 "gram.c"
+ break;
+
+ case 440: /* copy_generic_opt_arg: '*' */
+#line 3476 "gram.y"
+ { (yyval.node) = (Node *) makeNode(A_Star); }
+#line 32306 "gram.c"
+ break;
+
+ case 441: /* copy_generic_opt_arg: '(' copy_generic_opt_arg_list ')' */
+#line 3477 "gram.y"
+ { (yyval.node) = (Node *) (yyvsp[-1].list); }
+#line 32312 "gram.c"
+ break;
+
+ case 442: /* copy_generic_opt_arg: %empty */
+#line 3478 "gram.y"
+ { (yyval.node) = NULL; }
+#line 32318 "gram.c"
+ break;
+
+ case 443: /* copy_generic_opt_arg_list: copy_generic_opt_arg_list_item */
+#line 3483 "gram.y"
+ {
+ (yyval.list) = list_make1((yyvsp[0].node));
+ }
+#line 32326 "gram.c"
+ break;
+
+ case 444: /* copy_generic_opt_arg_list: copy_generic_opt_arg_list ',' copy_generic_opt_arg_list_item */
+#line 3487 "gram.y"
+ {
+ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
+ }
+#line 32334 "gram.c"
+ break;
+
+ case 445: /* copy_generic_opt_arg_list_item: opt_boolean_or_string */
+#line 3494 "gram.y"
+ { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
+#line 32340 "gram.c"
+ break;
+
+ case 446: /* CreateStmt: CREATE OptTemp TABLE qualified_name '(' OptTableElementList ')' OptInherit OptPartitionSpec table_access_method_clause OptWith OnCommitOption OptTableSpace */
+#line 3508 "gram.y"
+ {
+ 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 32362 "gram.c"
+ break;
+
+ case 447: /* CreateStmt: CREATE OptTemp TABLE IF_P NOT EXISTS qualified_name '(' OptTableElementList ')' OptInherit OptPartitionSpec table_access_method_clause OptWith OnCommitOption OptTableSpace */
+#line 3528 "gram.y"
+ {
+ 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 32384 "gram.c"
+ break;
+
+ case 448: /* CreateStmt: CREATE OptTemp TABLE qualified_name OF any_name OptTypedTableElementList OptPartitionSpec table_access_method_clause OptWith OnCommitOption OptTableSpace */
+#line 3548 "gram.y"
+ {
+ 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 32407 "gram.c"
+ break;
+
+ case 449: /* CreateStmt: CREATE OptTemp TABLE IF_P NOT EXISTS qualified_name OF any_name OptTypedTableElementList OptPartitionSpec table_access_method_clause OptWith OnCommitOption OptTableSpace */
+#line 3569 "gram.y"
+ {
+ 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 32430 "gram.c"
+ break;
+
+ case 450: /* CreateStmt: CREATE OptTemp TABLE qualified_name PARTITION OF qualified_name OptTypedTableElementList PartitionBoundSpec OptPartitionSpec table_access_method_clause OptWith OnCommitOption OptTableSpace */
+#line 3590 "gram.y"
+ {
+ 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 32453 "gram.c"
+ break;
+
+ case 451: /* CreateStmt: CREATE OptTemp TABLE IF_P NOT EXISTS qualified_name PARTITION OF qualified_name OptTypedTableElementList PartitionBoundSpec OptPartitionSpec table_access_method_clause OptWith OnCommitOption OptTableSpace */
+#line 3611 "gram.y"
+ {
+ 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 32476 "gram.c"
+ break;
+
+ case 452: /* OptTemp: TEMPORARY */
+#line 3642 "gram.y"
+ { (yyval.ival) = RELPERSISTENCE_TEMP; }
+#line 32482 "gram.c"
+ break;
+
+ case 453: /* OptTemp: TEMP */
+#line 3643 "gram.y"
+ { (yyval.ival) = RELPERSISTENCE_TEMP; }
+#line 32488 "gram.c"
+ break;
+
+ case 454: /* OptTemp: LOCAL TEMPORARY */
+#line 3644 "gram.y"
+ { (yyval.ival) = RELPERSISTENCE_TEMP; }
+#line 32494 "gram.c"
+ break;
+
+ case 455: /* OptTemp: LOCAL TEMP */
+#line 3645 "gram.y"
+ { (yyval.ival) = RELPERSISTENCE_TEMP; }
+#line 32500 "gram.c"
+ break;
+
+ case 456: /* OptTemp: GLOBAL TEMPORARY */
+#line 3647 "gram.y"
+ {
+ ereport(WARNING,
+ (errmsg("GLOBAL is deprecated in temporary table creation"),
+ parser_errposition((yylsp[-1]))));
+ (yyval.ival) = RELPERSISTENCE_TEMP;
+ }
+#line 32511 "gram.c"
+ break;
+
+ case 457: /* OptTemp: GLOBAL TEMP */
+#line 3654 "gram.y"
+ {
+ ereport(WARNING,
+ (errmsg("GLOBAL is deprecated in temporary table creation"),
+ parser_errposition((yylsp[-1]))));
+ (yyval.ival) = RELPERSISTENCE_TEMP;
+ }
+#line 32522 "gram.c"
+ break;
+
+ case 458: /* OptTemp: UNLOGGED */
+#line 3660 "gram.y"
+ { (yyval.ival) = RELPERSISTENCE_UNLOGGED; }
+#line 32528 "gram.c"
+ break;
+
+ case 459: /* OptTemp: %empty */
+#line 3661 "gram.y"
+ { (yyval.ival) = RELPERSISTENCE_PERMANENT; }
+#line 32534 "gram.c"
+ break;
+
+ case 460: /* OptTableElementList: TableElementList */
+#line 3665 "gram.y"
+ { (yyval.list) = (yyvsp[0].list); }
+#line 32540 "gram.c"
+ break;
+
+ case 461: /* OptTableElementList: %empty */
+#line 3666 "gram.y"
+ { (yyval.list) = NIL; }
+#line 32546 "gram.c"
+ break;
+
+ case 462: /* OptTypedTableElementList: '(' TypedTableElementList ')' */
+#line 3670 "gram.y"
+ { (yyval.list) = (yyvsp[-1].list); }
+#line 32552 "gram.c"
+ break;
+
+ case 463: /* OptTypedTableElementList: %empty */
+#line 3671 "gram.y"
+ { (yyval.list) = NIL; }
+#line 32558 "gram.c"
+ break;
+
+ case 464: /* TableElementList: TableElement */
+#line 3676 "gram.y"
+ {
+ (yyval.list) = list_make1((yyvsp[0].node));
+ }
+#line 32566 "gram.c"
+ break;
+
+ case 465: /* TableElementList: TableElementList ',' TableElement */
+#line 3680 "gram.y"
+ {
+ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
+ }
+#line 32574 "gram.c"
+ break;
+
+ case 466: /* TypedTableElementList: TypedTableElement */
+#line 3687 "gram.y"
+ {
+ (yyval.list) = list_make1((yyvsp[0].node));
+ }
+#line 32582 "gram.c"
+ break;
+
+ case 467: /* TypedTableElementList: TypedTableElementList ',' TypedTableElement */
+#line 3691 "gram.y"
+ {
+ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
+ }
+#line 32590 "gram.c"
+ break;
+
+ case 468: /* TableElement: columnDef */
+#line 3697 "gram.y"
+ { (yyval.node) = (yyvsp[0].node); }
+#line 32596 "gram.c"
+ break;
+
+ case 469: /* TableElement: TableLikeClause */
+#line 3698 "gram.y"
+ { (yyval.node) = (yyvsp[0].node); }
+#line 32602 "gram.c"
+ break;
+
+ case 470: /* TableElement: TableConstraint */
+#line 3699 "gram.y"
+ { (yyval.node) = (yyvsp[0].node); }
+#line 32608 "gram.c"
+ break;
+
+ case 471: /* TypedTableElement: columnOptions */
+#line 3703 "gram.y"
+ { (yyval.node) = (yyvsp[0].node); }
+#line 32614 "gram.c"
+ break;
+
+ case 472: /* TypedTableElement: TableConstraint */
+#line 3704 "gram.y"
+ { (yyval.node) = (yyvsp[0].node); }
+#line 32620 "gram.c"
+ break;
+
+ case 473: /* columnDef: ColId Typename opt_column_storage opt_column_compression create_generic_options ColQualList */
+#line 3708 "gram.y"
+ {
+ ColumnDef *n = makeNode(ColumnDef);
+
+ n->colname = (yyvsp[-5].str);
+ n->typeName = (yyvsp[-4].typnam);
+ n->storage_name = (yyvsp[-3].str);
+ n->compression = (yyvsp[-2].str);
+ 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[-5]);
+ (yyval.node) = (Node *) n;
+ }
+#line 32646 "gram.c"
+ break;
+
+ case 474: /* columnOptions: ColId ColQualList */
+#line 3732 "gram.y"
+ {
+ 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 32669 "gram.c"
+ break;
+
+ case 475: /* columnOptions: ColId WITH OPTIONS ColQualList */
+#line 3751 "gram.y"
+ {
+ 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 32692 "gram.c"
+ break;
+
+ case 476: /* column_compression: COMPRESSION ColId */
+#line 3772 "gram.y"
+ { (yyval.str) = (yyvsp[0].str); }
+#line 32698 "gram.c"
+ break;
+
+ case 477: /* column_compression: COMPRESSION DEFAULT */
+#line 3773 "gram.y"
+ { (yyval.str) = pstrdup("default"); }
+#line 32704 "gram.c"
+ break;
+
+ case 478: /* opt_column_compression: column_compression */
+#line 3777 "gram.y"
+ { (yyval.str) = (yyvsp[0].str); }
+#line 32710 "gram.c"
+ break;
+
+ case 479: /* opt_column_compression: %empty */
+#line 3778 "gram.y"
+ { (yyval.str) = NULL; }
+#line 32716 "gram.c"
+ break;
+
+ case 480: /* column_storage: STORAGE ColId */
+#line 3782 "gram.y"
+ { (yyval.str) = (yyvsp[0].str); }
+#line 32722 "gram.c"
+ break;
+
+ case 481: /* column_storage: STORAGE DEFAULT */
+#line 3783 "gram.y"
+ { (yyval.str) = pstrdup("default"); }
+#line 32728 "gram.c"
+ break;
+
+ case 482: /* opt_column_storage: column_storage */
+#line 3787 "gram.y"
+ { (yyval.str) = (yyvsp[0].str); }
+#line 32734 "gram.c"
+ break;
+
+ case 483: /* opt_column_storage: %empty */
+#line 3788 "gram.y"
+ { (yyval.str) = NULL; }
+#line 32740 "gram.c"
+ break;
+
+ case 484: /* ColQualList: ColQualList ColConstraint */
+#line 3792 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
+#line 32746 "gram.c"
+ break;
+
+ case 485: /* ColQualList: %empty */
+#line 3793 "gram.y"
+ { (yyval.list) = NIL; }
+#line 32752 "gram.c"
+ break;
+
+ case 486: /* ColConstraint: CONSTRAINT name ColConstraintElem */
+#line 3798 "gram.y"
+ {
+ Constraint *n = castNode(Constraint, (yyvsp[0].node));
+
+ n->conname = (yyvsp[-1].str);
+ n->location = (yylsp[-2]);
+ (yyval.node) = (Node *) n;
+ }
+#line 32764 "gram.c"
+ break;
+
+ case 487: /* ColConstraint: ColConstraintElem */
+#line 3805 "gram.y"
+ { (yyval.node) = (yyvsp[0].node); }
+#line 32770 "gram.c"
+ break;
+
+ case 488: /* ColConstraint: ConstraintAttr */
+#line 3806 "gram.y"
+ { (yyval.node) = (yyvsp[0].node); }
+#line 32776 "gram.c"
+ break;
+
+ case 489: /* ColConstraint: COLLATE any_name */
+#line 3808 "gram.y"
+ {
+ /*
+ * 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 32794 "gram.c"
+ break;
+
+ case 490: /* ColConstraintElem: NOT NULL_P */
+#line 3840 "gram.y"
+ {
+ Constraint *n = makeNode(Constraint);
+
+ n->contype = CONSTR_NOTNULL;
+ n->location = (yylsp[-1]);
+ (yyval.node) = (Node *) n;
+ }
+#line 32806 "gram.c"
+ break;
+
+ case 491: /* ColConstraintElem: NULL_P */
+#line 3848 "gram.y"
+ {
+ Constraint *n = makeNode(Constraint);
+
+ n->contype = CONSTR_NULL;
+ n->location = (yylsp[0]);
+ (yyval.node) = (Node *) n;
+ }
+#line 32818 "gram.c"
+ break;
+
+ case 492: /* ColConstraintElem: UNIQUE opt_unique_null_treatment opt_definition OptConsTableSpace */
+#line 3856 "gram.y"
+ {
+ Constraint *n = makeNode(Constraint);
+
+ n->contype = CONSTR_UNIQUE;
+ n->location = (yylsp[-3]);
+ n->nulls_not_distinct = !(yyvsp[-2].boolean);
+ n->keys = NULL;
+ n->options = (yyvsp[-1].list);
+ n->indexname = NULL;
+ n->indexspace = (yyvsp[0].str);
+ (yyval.node) = (Node *) n;
+ }
+#line 32835 "gram.c"
+ break;
+
+ case 493: /* ColConstraintElem: PRIMARY KEY opt_definition OptConsTableSpace */
+#line 3869 "gram.y"
+ {
+ 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 32851 "gram.c"
+ break;
+
+ case 494: /* ColConstraintElem: CHECK '(' a_expr ')' opt_no_inherit */
+#line 3881 "gram.y"
+ {
+ 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 32868 "gram.c"
+ break;
+
+ case 495: /* ColConstraintElem: DEFAULT b_expr */
+#line 3894 "gram.y"
+ {
+ 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 32882 "gram.c"
+ break;
+
+ case 496: /* ColConstraintElem: GENERATED generated_when AS IDENTITY_P OptParenthesizedSeqOptList */
+#line 3904 "gram.y"
+ {
+ 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 32896 "gram.c"
+ break;
+
+ case 497: /* ColConstraintElem: GENERATED generated_when AS '(' a_expr ')' STORED */
+#line 3914 "gram.y"
+ {
+ 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 32924 "gram.c"
+ break;
+
+ case 498: /* ColConstraintElem: REFERENCES qualified_name opt_column_list key_match key_actions */
+#line 3938 "gram.y"
+ {
+ 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 = ((yyvsp[0].keyactions))->updateAction->action;
+ n->fk_del_action = ((yyvsp[0].keyactions))->deleteAction->action;
+ n->fk_del_set_cols = ((yyvsp[0].keyactions))->deleteAction->cols;
+ n->skip_validation = false;
+ n->initially_valid = true;
+ (yyval.node) = (Node *) n;
+ }
+#line 32945 "gram.c"
+ break;
+
+ case 499: /* opt_unique_null_treatment: NULLS_P DISTINCT */
+#line 3957 "gram.y"
+ { (yyval.boolean) = true; }
+#line 32951 "gram.c"
+ break;
+
+ case 500: /* opt_unique_null_treatment: NULLS_P NOT DISTINCT */
+#line 3958 "gram.y"
+ { (yyval.boolean) = false; }
+#line 32957 "gram.c"
+ break;
+
+ case 501: /* opt_unique_null_treatment: %empty */
+#line 3959 "gram.y"
+ { (yyval.boolean) = true; }
+#line 32963 "gram.c"
+ break;
+
+ case 502: /* generated_when: ALWAYS */
+#line 3963 "gram.y"
+ { (yyval.ival) = ATTRIBUTE_IDENTITY_ALWAYS; }
+#line 32969 "gram.c"
+ break;
+
+ case 503: /* generated_when: BY DEFAULT */
+#line 3964 "gram.y"
+ { (yyval.ival) = ATTRIBUTE_IDENTITY_BY_DEFAULT; }
+#line 32975 "gram.c"
+ break;
+
+ case 504: /* ConstraintAttr: DEFERRABLE */
+#line 3984 "gram.y"
+ {
+ Constraint *n = makeNode(Constraint);
+
+ n->contype = CONSTR_ATTR_DEFERRABLE;
+ n->location = (yylsp[0]);
+ (yyval.node) = (Node *) n;
+ }
+#line 32987 "gram.c"
+ break;
+
+ case 505: /* ConstraintAttr: NOT DEFERRABLE */
+#line 3992 "gram.y"
+ {
+ Constraint *n = makeNode(Constraint);
+
+ n->contype = CONSTR_ATTR_NOT_DEFERRABLE;
+ n->location = (yylsp[-1]);
+ (yyval.node) = (Node *) n;
+ }
+#line 32999 "gram.c"
+ break;
+
+ case 506: /* ConstraintAttr: INITIALLY DEFERRED */
+#line 4000 "gram.y"
+ {
+ Constraint *n = makeNode(Constraint);
+
+ n->contype = CONSTR_ATTR_DEFERRED;
+ n->location = (yylsp[-1]);
+ (yyval.node) = (Node *) n;
+ }
+#line 33011 "gram.c"
+ break;
+
+ case 507: /* ConstraintAttr: INITIALLY IMMEDIATE */
+#line 4008 "gram.y"
+ {
+ Constraint *n = makeNode(Constraint);
+
+ n->contype = CONSTR_ATTR_IMMEDIATE;
+ n->location = (yylsp[-1]);
+ (yyval.node) = (Node *) n;
+ }
+#line 33023 "gram.c"
+ break;
+
+ case 508: /* TableLikeClause: LIKE qualified_name TableLikeOptionList */
+#line 4020 "gram.y"
+ {
+ TableLikeClause *n = makeNode(TableLikeClause);
+
+ n->relation = (yyvsp[-1].range);
+ n->options = (yyvsp[0].ival);
+ n->relationOid = InvalidOid;
+ (yyval.node) = (Node *) n;
+ }
+#line 33036 "gram.c"
+ break;
+
+ case 509: /* TableLikeOptionList: TableLikeOptionList INCLUDING TableLikeOption */
+#line 4031 "gram.y"
+ { (yyval.ival) = (yyvsp[-2].ival) | (yyvsp[0].ival); }
+#line 33042 "gram.c"
+ break;
+
+ case 510: /* TableLikeOptionList: TableLikeOptionList EXCLUDING TableLikeOption */
+#line 4032 "gram.y"
+ { (yyval.ival) = (yyvsp[-2].ival) & ~(yyvsp[0].ival); }
+#line 33048 "gram.c"
+ break;
+
+ case 511: /* TableLikeOptionList: %empty */
+#line 4033 "gram.y"
+ { (yyval.ival) = 0; }
+#line 33054 "gram.c"
+ break;
+
+ case 512: /* TableLikeOption: COMMENTS */
+#line 4037 "gram.y"
+ { (yyval.ival) = CREATE_TABLE_LIKE_COMMENTS; }
+#line 33060 "gram.c"
+ break;
+
+ case 513: /* TableLikeOption: COMPRESSION */
+#line 4038 "gram.y"
+ { (yyval.ival) = CREATE_TABLE_LIKE_COMPRESSION; }
+#line 33066 "gram.c"
+ break;
+
+ case 514: /* TableLikeOption: CONSTRAINTS */
+#line 4039 "gram.y"
+ { (yyval.ival) = CREATE_TABLE_LIKE_CONSTRAINTS; }
+#line 33072 "gram.c"
+ break;
+
+ case 515: /* TableLikeOption: DEFAULTS */
+#line 4040 "gram.y"
+ { (yyval.ival) = CREATE_TABLE_LIKE_DEFAULTS; }
+#line 33078 "gram.c"
+ break;
+
+ case 516: /* TableLikeOption: IDENTITY_P */
+#line 4041 "gram.y"
+ { (yyval.ival) = CREATE_TABLE_LIKE_IDENTITY; }
+#line 33084 "gram.c"
+ break;
+
+ case 517: /* TableLikeOption: GENERATED */
+#line 4042 "gram.y"
+ { (yyval.ival) = CREATE_TABLE_LIKE_GENERATED; }
+#line 33090 "gram.c"
+ break;
+
+ case 518: /* TableLikeOption: INDEXES */
+#line 4043 "gram.y"
+ { (yyval.ival) = CREATE_TABLE_LIKE_INDEXES; }
+#line 33096 "gram.c"
+ break;
+
+ case 519: /* TableLikeOption: STATISTICS */
+#line 4044 "gram.y"
+ { (yyval.ival) = CREATE_TABLE_LIKE_STATISTICS; }
+#line 33102 "gram.c"
+ break;
+
+ case 520: /* TableLikeOption: STORAGE */
+#line 4045 "gram.y"
+ { (yyval.ival) = CREATE_TABLE_LIKE_STORAGE; }
+#line 33108 "gram.c"
+ break;
+
+ case 521: /* TableLikeOption: ALL */
+#line 4046 "gram.y"
+ { (yyval.ival) = CREATE_TABLE_LIKE_ALL; }
+#line 33114 "gram.c"
+ break;
+
+ case 522: /* TableConstraint: CONSTRAINT name ConstraintElem */
+#line 4056 "gram.y"
+ {
+ Constraint *n = castNode(Constraint, (yyvsp[0].node));
+
+ n->conname = (yyvsp[-1].str);
+ n->location = (yylsp[-2]);
+ (yyval.node) = (Node *) n;
+ }
+#line 33126 "gram.c"
+ break;
+
+ case 523: /* TableConstraint: ConstraintElem */
+#line 4063 "gram.y"
+ { (yyval.node) = (yyvsp[0].node); }
+#line 33132 "gram.c"
+ break;
+
+ case 524: /* ConstraintElem: CHECK '(' a_expr ')' ConstraintAttributeSpec */
+#line 4068 "gram.y"
+ {
+ 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 33150 "gram.c"
+ break;
+
+ case 525: /* ConstraintElem: UNIQUE opt_unique_null_treatment '(' columnList ')' opt_c_include opt_definition OptConsTableSpace ConstraintAttributeSpec */
+#line 4083 "gram.y"
+ {
+ Constraint *n = makeNode(Constraint);
+
+ n->contype = CONSTR_UNIQUE;
+ n->location = (yylsp[-8]);
+ n->nulls_not_distinct = !(yyvsp[-7].boolean);
+ 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 33171 "gram.c"
+ break;
+
+ case 526: /* ConstraintElem: UNIQUE ExistingIndex ConstraintAttributeSpec */
+#line 4100 "gram.y"
+ {
+ 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 33191 "gram.c"
+ break;
+
+ case 527: /* ConstraintElem: PRIMARY KEY '(' columnList ')' opt_c_include opt_definition OptConsTableSpace ConstraintAttributeSpec */
+#line 4117 "gram.y"
+ {
+ 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 33211 "gram.c"
+ break;
+
+ case 528: /* ConstraintElem: PRIMARY KEY ExistingIndex ConstraintAttributeSpec */
+#line 4133 "gram.y"
+ {
+ 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 33231 "gram.c"
+ break;
+
+ case 529: /* ConstraintElem: EXCLUDE access_method_clause '(' ExclusionConstraintList ')' opt_c_include opt_definition OptConsTableSpace OptWhereClause ConstraintAttributeSpec */
+#line 4151 "gram.y"
+ {
+ 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 33253 "gram.c"
+ break;
+
+ case 530: /* ConstraintElem: FOREIGN KEY '(' columnList ')' REFERENCES qualified_name opt_column_list key_match key_actions ConstraintAttributeSpec */
+#line 4170 "gram.y"
+ {
+ 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 = ((yyvsp[-1].keyactions))->updateAction->action;
+ n->fk_del_action = ((yyvsp[-1].keyactions))->deleteAction->action;
+ n->fk_del_set_cols = ((yyvsp[-1].keyactions))->deleteAction->cols;
+ 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 33277 "gram.c"
+ break;
+
+ case 531: /* opt_no_inherit: NO INHERIT */
+#line 4191 "gram.y"
+ { (yyval.boolean) = true; }
+#line 33283 "gram.c"
+ break;
+
+ case 532: /* opt_no_inherit: %empty */
+#line 4192 "gram.y"
+ { (yyval.boolean) = false; }
+#line 33289 "gram.c"
+ break;
+
+ case 533: /* opt_column_list: '(' columnList ')' */
+#line 4196 "gram.y"
+ { (yyval.list) = (yyvsp[-1].list); }
+#line 33295 "gram.c"
+ break;
+
+ case 534: /* opt_column_list: %empty */
+#line 4197 "gram.y"
+ { (yyval.list) = NIL; }
+#line 33301 "gram.c"
+ break;
+
+ case 535: /* columnList: columnElem */
+#line 4201 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].node)); }
+#line 33307 "gram.c"
+ break;
+
+ case 536: /* columnList: columnList ',' columnElem */
+#line 4202 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
+#line 33313 "gram.c"
+ break;
+
+ case 537: /* columnElem: ColId */
+#line 4206 "gram.y"
+ {
+ (yyval.node) = (Node *) makeString((yyvsp[0].str));
+ }
+#line 33321 "gram.c"
+ break;
+
+ case 538: /* opt_c_include: INCLUDE '(' columnList ')' */
+#line 4211 "gram.y"
+ { (yyval.list) = (yyvsp[-1].list); }
+#line 33327 "gram.c"
+ break;
+
+ case 539: /* opt_c_include: %empty */
+#line 4212 "gram.y"
+ { (yyval.list) = NIL; }
+#line 33333 "gram.c"
+ break;
+
+ case 540: /* key_match: MATCH FULL */
+#line 4216 "gram.y"
+ {
+ (yyval.ival) = FKCONSTR_MATCH_FULL;
+ }
+#line 33341 "gram.c"
+ break;
+
+ case 541: /* key_match: MATCH PARTIAL */
+#line 4220 "gram.y"
+ {
+ ereport(ERROR,
+ (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
+ errmsg("MATCH PARTIAL not yet implemented"),
+ parser_errposition((yylsp[-1]))));
+ (yyval.ival) = FKCONSTR_MATCH_PARTIAL;
+ }
+#line 33353 "gram.c"
+ break;
+
+ case 542: /* key_match: MATCH SIMPLE */
+#line 4228 "gram.y"
+ {
+ (yyval.ival) = FKCONSTR_MATCH_SIMPLE;
+ }
+#line 33361 "gram.c"
+ break;
+
+ case 543: /* key_match: %empty */
+#line 4232 "gram.y"
+ {
+ (yyval.ival) = FKCONSTR_MATCH_SIMPLE;
+ }
+#line 33369 "gram.c"
+ break;
+
+ case 544: /* ExclusionConstraintList: ExclusionConstraintElem */
+#line 4238 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].list)); }
+#line 33375 "gram.c"
+ break;
+
+ case 545: /* ExclusionConstraintList: ExclusionConstraintList ',' ExclusionConstraintElem */
+#line 4240 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].list)); }
+#line 33381 "gram.c"
+ break;
+
+ case 546: /* ExclusionConstraintElem: index_elem WITH any_operator */
+#line 4244 "gram.y"
+ {
+ (yyval.list) = list_make2((yyvsp[-2].ielem), (yyvsp[0].list));
+ }
+#line 33389 "gram.c"
+ break;
+
+ case 547: /* ExclusionConstraintElem: index_elem WITH OPERATOR '(' any_operator ')' */
+#line 4249 "gram.y"
+ {
+ (yyval.list) = list_make2((yyvsp[-5].ielem), (yyvsp[-1].list));
+ }
+#line 33397 "gram.c"
+ break;
+
+ case 548: /* OptWhereClause: WHERE '(' a_expr ')' */
+#line 4255 "gram.y"
+ { (yyval.node) = (yyvsp[-1].node); }
+#line 33403 "gram.c"
+ break;
+
+ case 549: /* OptWhereClause: %empty */
+#line 4256 "gram.y"
+ { (yyval.node) = NULL; }
+#line 33409 "gram.c"
+ break;
+
+ case 550: /* key_actions: key_update */
+#line 4261 "gram.y"
+ {
+ KeyActions *n = palloc(sizeof(KeyActions));
+
+ n->updateAction = (yyvsp[0].keyaction);
+ n->deleteAction = palloc(sizeof(KeyAction));
+ n->deleteAction->action = FKCONSTR_ACTION_NOACTION;
+ n->deleteAction->cols = NIL;
+ (yyval.keyactions) = n;
+ }
+#line 33423 "gram.c"
+ break;
+
+ case 551: /* key_actions: key_delete */
+#line 4271 "gram.y"
+ {
+ KeyActions *n = palloc(sizeof(KeyActions));
+
+ n->updateAction = palloc(sizeof(KeyAction));
+ n->updateAction->action = FKCONSTR_ACTION_NOACTION;
+ n->updateAction->cols = NIL;
+ n->deleteAction = (yyvsp[0].keyaction);
+ (yyval.keyactions) = n;
+ }
+#line 33437 "gram.c"
+ break;
+
+ case 552: /* key_actions: key_update key_delete */
+#line 4281 "gram.y"
+ {
+ KeyActions *n = palloc(sizeof(KeyActions));
+
+ n->updateAction = (yyvsp[-1].keyaction);
+ n->deleteAction = (yyvsp[0].keyaction);
+ (yyval.keyactions) = n;
+ }
+#line 33449 "gram.c"
+ break;
+
+ case 553: /* key_actions: key_delete key_update */
+#line 4289 "gram.y"
+ {
+ KeyActions *n = palloc(sizeof(KeyActions));
+
+ n->updateAction = (yyvsp[0].keyaction);
+ n->deleteAction = (yyvsp[-1].keyaction);
+ (yyval.keyactions) = n;
+ }
+#line 33461 "gram.c"
+ break;
+
+ case 554: /* key_actions: %empty */
+#line 4297 "gram.y"
+ {
+ KeyActions *n = palloc(sizeof(KeyActions));
+
+ n->updateAction = palloc(sizeof(KeyAction));
+ n->updateAction->action = FKCONSTR_ACTION_NOACTION;
+ n->updateAction->cols = NIL;
+ n->deleteAction = palloc(sizeof(KeyAction));
+ n->deleteAction->action = FKCONSTR_ACTION_NOACTION;
+ n->deleteAction->cols = NIL;
+ (yyval.keyactions) = n;
+ }
+#line 33477 "gram.c"
+ break;
+
+ case 555: /* key_update: ON UPDATE key_action */
+#line 4311 "gram.y"
+ {
+ if (((yyvsp[0].keyaction))->cols)
+ ereport(ERROR,
+ (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
+ errmsg("a column list with %s is only supported for ON DELETE actions",
+ ((yyvsp[0].keyaction))->action == FKCONSTR_ACTION_SETNULL ? "SET NULL" : "SET DEFAULT"),
+ parser_errposition((yylsp[-2]))));
+ (yyval.keyaction) = (yyvsp[0].keyaction);
+ }
+#line 33491 "gram.c"
+ break;
+
+ case 556: /* key_delete: ON DELETE_P key_action */
+#line 4323 "gram.y"
+ {
+ (yyval.keyaction) = (yyvsp[0].keyaction);
+ }
+#line 33499 "gram.c"
+ break;
+
+ case 557: /* key_action: NO ACTION */
+#line 4330 "gram.y"
+ {
+ KeyAction *n = palloc(sizeof(KeyAction));
+
+ n->action = FKCONSTR_ACTION_NOACTION;
+ n->cols = NIL;
+ (yyval.keyaction) = n;
+ }
+#line 33511 "gram.c"
+ break;
+
+ case 558: /* key_action: RESTRICT */
+#line 4338 "gram.y"
+ {
+ KeyAction *n = palloc(sizeof(KeyAction));
+
+ n->action = FKCONSTR_ACTION_RESTRICT;
+ n->cols = NIL;
+ (yyval.keyaction) = n;
+ }
+#line 33523 "gram.c"
+ break;
+
+ case 559: /* key_action: CASCADE */
+#line 4346 "gram.y"
+ {
+ KeyAction *n = palloc(sizeof(KeyAction));
+
+ n->action = FKCONSTR_ACTION_CASCADE;
+ n->cols = NIL;
+ (yyval.keyaction) = n;
+ }
+#line 33535 "gram.c"
+ break;
+
+ case 560: /* key_action: SET NULL_P opt_column_list */
+#line 4354 "gram.y"
+ {
+ KeyAction *n = palloc(sizeof(KeyAction));
+
+ n->action = FKCONSTR_ACTION_SETNULL;
+ n->cols = (yyvsp[0].list);
+ (yyval.keyaction) = n;
+ }
+#line 33547 "gram.c"
+ break;
+
+ case 561: /* key_action: SET DEFAULT opt_column_list */
+#line 4362 "gram.y"
+ {
+ KeyAction *n = palloc(sizeof(KeyAction));
+
+ n->action = FKCONSTR_ACTION_SETDEFAULT;
+ n->cols = (yyvsp[0].list);
+ (yyval.keyaction) = n;
+ }
+#line 33559 "gram.c"
+ break;
+
+ case 562: /* OptInherit: INHERITS '(' qualified_name_list ')' */
+#line 4371 "gram.y"
+ { (yyval.list) = (yyvsp[-1].list); }
+#line 33565 "gram.c"
+ break;
+
+ case 563: /* OptInherit: %empty */
+#line 4372 "gram.y"
+ { (yyval.list) = NIL; }
+#line 33571 "gram.c"
+ break;
+
+ case 564: /* OptPartitionSpec: PartitionSpec */
+#line 4376 "gram.y"
+ { (yyval.partspec) = (yyvsp[0].partspec); }
+#line 33577 "gram.c"
+ break;
+
+ case 565: /* OptPartitionSpec: %empty */
+#line 4377 "gram.y"
+ { (yyval.partspec) = NULL; }
+#line 33583 "gram.c"
+ break;
+
+ case 566: /* PartitionSpec: PARTITION BY ColId '(' part_params ')' */
+#line 4381 "gram.y"
+ {
+ PartitionSpec *n = makeNode(PartitionSpec);
+
+ n->strategy = parsePartitionStrategy((yyvsp[-3].str));
+ n->partParams = (yyvsp[-1].list);
+ n->location = (yylsp[-5]);
+
+ (yyval.partspec) = n;
+ }
+#line 33597 "gram.c"
+ break;
+
+ case 567: /* part_params: part_elem */
+#line 4392 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].partelem)); }
+#line 33603 "gram.c"
+ break;
+
+ case 568: /* part_params: part_params ',' part_elem */
+#line 4393 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].partelem)); }
+#line 33609 "gram.c"
+ break;
+
+ case 569: /* part_elem: ColId opt_collate opt_qualified_name */
+#line 4397 "gram.y"
+ {
+ 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 33624 "gram.c"
+ break;
+
+ case 570: /* part_elem: func_expr_windowless opt_collate opt_qualified_name */
+#line 4408 "gram.y"
+ {
+ 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 33639 "gram.c"
+ break;
+
+ case 571: /* part_elem: '(' a_expr ')' opt_collate opt_qualified_name */
+#line 4419 "gram.y"
+ {
+ 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 33654 "gram.c"
+ break;
+
+ case 572: /* table_access_method_clause: USING name */
+#line 4432 "gram.y"
+ { (yyval.str) = (yyvsp[0].str); }
+#line 33660 "gram.c"
+ break;
+
+ case 573: /* table_access_method_clause: %empty */
+#line 4433 "gram.y"
+ { (yyval.str) = NULL; }
+#line 33666 "gram.c"
+ break;
+
+ case 574: /* OptWith: WITH reloptions */
+#line 4438 "gram.y"
+ { (yyval.list) = (yyvsp[0].list); }
+#line 33672 "gram.c"
+ break;
+
+ case 575: /* OptWith: WITHOUT OIDS */
+#line 4439 "gram.y"
+ { (yyval.list) = NIL; }
+#line 33678 "gram.c"
+ break;
+
+ case 576: /* OptWith: %empty */
+#line 4440 "gram.y"
+ { (yyval.list) = NIL; }
+#line 33684 "gram.c"
+ break;
+
+ case 577: /* OnCommitOption: ON COMMIT DROP */
+#line 4443 "gram.y"
+ { (yyval.oncommit) = ONCOMMIT_DROP; }
+#line 33690 "gram.c"
+ break;
+
+ case 578: /* OnCommitOption: ON COMMIT DELETE_P ROWS */
+#line 4444 "gram.y"
+ { (yyval.oncommit) = ONCOMMIT_DELETE_ROWS; }
+#line 33696 "gram.c"
+ break;
+
+ case 579: /* OnCommitOption: ON COMMIT PRESERVE ROWS */
+#line 4445 "gram.y"
+ { (yyval.oncommit) = ONCOMMIT_PRESERVE_ROWS; }
+#line 33702 "gram.c"
+ break;
+
+ case 580: /* OnCommitOption: %empty */
+#line 4446 "gram.y"
+ { (yyval.oncommit) = ONCOMMIT_NOOP; }
+#line 33708 "gram.c"
+ break;
+
+ case 581: /* OptTableSpace: TABLESPACE name */
+#line 4449 "gram.y"
+ { (yyval.str) = (yyvsp[0].str); }
+#line 33714 "gram.c"
+ break;
+
+ case 582: /* OptTableSpace: %empty */
+#line 4450 "gram.y"
+ { (yyval.str) = NULL; }
+#line 33720 "gram.c"
+ break;
+
+ case 583: /* OptConsTableSpace: USING INDEX TABLESPACE name */
+#line 4453 "gram.y"
+ { (yyval.str) = (yyvsp[0].str); }
+#line 33726 "gram.c"
+ break;
+
+ case 584: /* OptConsTableSpace: %empty */
+#line 4454 "gram.y"
+ { (yyval.str) = NULL; }
+#line 33732 "gram.c"
+ break;
+
+ case 585: /* ExistingIndex: USING INDEX name */
+#line 4457 "gram.y"
+ { (yyval.str) = (yyvsp[0].str); }
+#line 33738 "gram.c"
+ break;
+
+ case 586: /* CreateStatsStmt: CREATE STATISTICS opt_qualified_name opt_name_list ON stats_params FROM from_list */
+#line 4479 "gram.y"
+ {
+ 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 33754 "gram.c"
+ break;
+
+ case 587: /* CreateStatsStmt: CREATE STATISTICS IF_P NOT EXISTS any_name opt_name_list ON stats_params FROM from_list */
+#line 4492 "gram.y"
+ {
+ 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 33770 "gram.c"
+ break;
+
+ case 588: /* stats_params: stats_param */
+#line 4512 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].selem)); }
+#line 33776 "gram.c"
+ break;
+
+ case 589: /* stats_params: stats_params ',' stats_param */
+#line 4513 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].selem)); }
+#line 33782 "gram.c"
+ break;
+
+ case 590: /* stats_param: ColId */
+#line 4517 "gram.y"
+ {
+ (yyval.selem) = makeNode(StatsElem);
+ (yyval.selem)->name = (yyvsp[0].str);
+ (yyval.selem)->expr = NULL;
+ }
+#line 33792 "gram.c"
+ break;
+
+ case 591: /* stats_param: func_expr_windowless */
+#line 4523 "gram.y"
+ {
+ (yyval.selem) = makeNode(StatsElem);
+ (yyval.selem)->name = NULL;
+ (yyval.selem)->expr = (yyvsp[0].node);
+ }
+#line 33802 "gram.c"
+ break;
+
+ case 592: /* stats_param: '(' a_expr ')' */
+#line 4529 "gram.y"
+ {
+ (yyval.selem) = makeNode(StatsElem);
+ (yyval.selem)->name = NULL;
+ (yyval.selem)->expr = (yyvsp[-1].node);
+ }
+#line 33812 "gram.c"
+ break;
+
+ case 593: /* AlterStatsStmt: ALTER STATISTICS any_name SET STATISTICS SignedIconst */
+#line 4546 "gram.y"
+ {
+ AlterStatsStmt *n = makeNode(AlterStatsStmt);
+
+ n->defnames = (yyvsp[-3].list);
+ n->missing_ok = false;
+ n->stxstattarget = (yyvsp[0].ival);
+ (yyval.node) = (Node *) n;
+ }
+#line 33825 "gram.c"
+ break;
+
+ case 594: /* AlterStatsStmt: ALTER STATISTICS IF_P EXISTS any_name SET STATISTICS SignedIconst */
+#line 4555 "gram.y"
+ {
+ AlterStatsStmt *n = makeNode(AlterStatsStmt);
+
+ n->defnames = (yyvsp[-3].list);
+ n->missing_ok = true;
+ n->stxstattarget = (yyvsp[0].ival);
+ (yyval.node) = (Node *) n;
+ }
+#line 33838 "gram.c"
+ break;
+
+ case 595: /* CreateAsStmt: CREATE OptTemp TABLE create_as_target AS SelectStmt opt_with_data */
+#line 4577 "gram.y"
+ {
+ CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
+
+ ctas->query = (yyvsp[-1].node);
+ ctas->into = (yyvsp[-3].into);
+ ctas->objtype = 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 33856 "gram.c"
+ break;
+
+ case 596: /* CreateAsStmt: CREATE OptTemp TABLE IF_P NOT EXISTS create_as_target AS SelectStmt opt_with_data */
+#line 4591 "gram.y"
+ {
+ CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
+
+ ctas->query = (yyvsp[-1].node);
+ ctas->into = (yyvsp[-3].into);
+ ctas->objtype = 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 33874 "gram.c"
+ break;
+
+ case 597: /* create_as_target: qualified_name opt_column_list table_access_method_clause OptWith OnCommitOption OptTableSpace */
+#line 4609 "gram.y"
+ {
+ (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 33890 "gram.c"
+ break;
+
+ case 598: /* opt_with_data: WITH DATA_P */
+#line 4623 "gram.y"
+ { (yyval.boolean) = true; }
+#line 33896 "gram.c"
+ break;
+
+ case 599: /* opt_with_data: WITH NO DATA_P */
+#line 4624 "gram.y"
+ { (yyval.boolean) = false; }
+#line 33902 "gram.c"
+ break;
+
+ case 600: /* opt_with_data: %empty */
+#line 4625 "gram.y"
+ { (yyval.boolean) = true; }
+#line 33908 "gram.c"
+ break;
+
+ case 601: /* CreateMatViewStmt: CREATE OptNoLog MATERIALIZED VIEW create_mv_target AS SelectStmt opt_with_data */
+#line 4638 "gram.y"
+ {
+ CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
+
+ ctas->query = (yyvsp[-1].node);
+ ctas->into = (yyvsp[-3].into);
+ ctas->objtype = 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 33926 "gram.c"
+ break;
+
+ case 602: /* CreateMatViewStmt: CREATE OptNoLog MATERIALIZED VIEW IF_P NOT EXISTS create_mv_target AS SelectStmt opt_with_data */
+#line 4652 "gram.y"
+ {
+ CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
+
+ ctas->query = (yyvsp[-1].node);
+ ctas->into = (yyvsp[-3].into);
+ ctas->objtype = 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 33944 "gram.c"
+ break;
+
+ case 603: /* create_mv_target: qualified_name opt_column_list table_access_method_clause opt_reloptions OptTableSpace */
+#line 4669 "gram.y"
+ {
+ (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 33960 "gram.c"
+ break;
+
+ case 604: /* OptNoLog: UNLOGGED */
+#line 4682 "gram.y"
+ { (yyval.ival) = RELPERSISTENCE_UNLOGGED; }
+#line 33966 "gram.c"
+ break;
+
+ case 605: /* OptNoLog: %empty */
+#line 4683 "gram.y"
+ { (yyval.ival) = RELPERSISTENCE_PERMANENT; }
+#line 33972 "gram.c"
+ break;
+
+ case 606: /* RefreshMatViewStmt: REFRESH MATERIALIZED VIEW opt_concurrently qualified_name opt_with_data */
+#line 4696 "gram.y"
+ {
+ RefreshMatViewStmt *n = makeNode(RefreshMatViewStmt);
+
+ n->concurrent = (yyvsp[-2].boolean);
+ n->relation = (yyvsp[-1].range);
+ n->skipData = !((yyvsp[0].boolean));
+ (yyval.node) = (Node *) n;
+ }
+#line 33985 "gram.c"
+ break;
+
+ case 607: /* CreateSeqStmt: CREATE OptTemp SEQUENCE qualified_name OptSeqOptList */
+#line 4717 "gram.y"
+ {
+ 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 34000 "gram.c"
+ break;
+
+ case 608: /* CreateSeqStmt: CREATE OptTemp SEQUENCE IF_P NOT EXISTS qualified_name OptSeqOptList */
+#line 4728 "gram.y"
+ {
+ 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 34015 "gram.c"
+ break;
+
+ case 609: /* AlterSeqStmt: ALTER SEQUENCE qualified_name SeqOptList */
+#line 4742 "gram.y"
+ {
+ AlterSeqStmt *n = makeNode(AlterSeqStmt);
+
+ n->sequence = (yyvsp[-1].range);
+ n->options = (yyvsp[0].list);
+ n->missing_ok = false;
+ (yyval.node) = (Node *) n;
+ }
+#line 34028 "gram.c"
+ break;
+
+ case 610: /* AlterSeqStmt: ALTER SEQUENCE IF_P EXISTS qualified_name SeqOptList */
+#line 4751 "gram.y"
+ {
+ AlterSeqStmt *n = makeNode(AlterSeqStmt);
+
+ n->sequence = (yyvsp[-1].range);
+ n->options = (yyvsp[0].list);
+ n->missing_ok = true;
+ (yyval.node) = (Node *) n;
+ }
+#line 34041 "gram.c"
+ break;
+
+ case 611: /* OptSeqOptList: SeqOptList */
+#line 4762 "gram.y"
+ { (yyval.list) = (yyvsp[0].list); }
+#line 34047 "gram.c"
+ break;
+
+ case 612: /* OptSeqOptList: %empty */
+#line 4763 "gram.y"
+ { (yyval.list) = NIL; }
+#line 34053 "gram.c"
+ break;
+
+ case 613: /* OptParenthesizedSeqOptList: '(' SeqOptList ')' */
+#line 4766 "gram.y"
+ { (yyval.list) = (yyvsp[-1].list); }
+#line 34059 "gram.c"
+ break;
+
+ case 614: /* OptParenthesizedSeqOptList: %empty */
+#line 4767 "gram.y"
+ { (yyval.list) = NIL; }
+#line 34065 "gram.c"
+ break;
+
+ case 615: /* SeqOptList: SeqOptElem */
+#line 4770 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].defelt)); }
+#line 34071 "gram.c"
+ break;
+
+ case 616: /* SeqOptList: SeqOptList SeqOptElem */
+#line 4771 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
+#line 34077 "gram.c"
+ break;
+
+ case 617: /* SeqOptElem: AS SimpleTypename */
+#line 4775 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("as", (Node *) (yyvsp[0].typnam), (yylsp[-1]));
+ }
+#line 34085 "gram.c"
+ break;
+
+ case 618: /* SeqOptElem: CACHE NumericOnly */
+#line 4779 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("cache", (Node *) (yyvsp[0].node), (yylsp[-1]));
+ }
+#line 34093 "gram.c"
+ break;
+
+ case 619: /* SeqOptElem: CYCLE */
+#line 4783 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("cycle", (Node *) makeBoolean(true), (yylsp[0]));
+ }
+#line 34101 "gram.c"
+ break;
+
+ case 620: /* SeqOptElem: NO CYCLE */
+#line 4787 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("cycle", (Node *) makeBoolean(false), (yylsp[-1]));
+ }
+#line 34109 "gram.c"
+ break;
+
+ case 621: /* SeqOptElem: INCREMENT opt_by NumericOnly */
+#line 4791 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("increment", (Node *) (yyvsp[0].node), (yylsp[-2]));
+ }
+#line 34117 "gram.c"
+ break;
+
+ case 622: /* SeqOptElem: MAXVALUE NumericOnly */
+#line 4795 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("maxvalue", (Node *) (yyvsp[0].node), (yylsp[-1]));
+ }
+#line 34125 "gram.c"
+ break;
+
+ case 623: /* SeqOptElem: MINVALUE NumericOnly */
+#line 4799 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("minvalue", (Node *) (yyvsp[0].node), (yylsp[-1]));
+ }
+#line 34133 "gram.c"
+ break;
+
+ case 624: /* SeqOptElem: NO MAXVALUE */
+#line 4803 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("maxvalue", NULL, (yylsp[-1]));
+ }
+#line 34141 "gram.c"
+ break;
+
+ case 625: /* SeqOptElem: NO MINVALUE */
+#line 4807 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("minvalue", NULL, (yylsp[-1]));
+ }
+#line 34149 "gram.c"
+ break;
+
+ case 626: /* SeqOptElem: OWNED BY any_name */
+#line 4811 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("owned_by", (Node *) (yyvsp[0].list), (yylsp[-2]));
+ }
+#line 34157 "gram.c"
+ break;
+
+ case 627: /* SeqOptElem: SEQUENCE NAME_P any_name */
+#line 4815 "gram.y"
+ {
+ /* not documented, only used by pg_dump */
+ (yyval.defelt) = makeDefElem("sequence_name", (Node *) (yyvsp[0].list), (yylsp[-2]));
+ }
+#line 34166 "gram.c"
+ break;
+
+ case 628: /* SeqOptElem: START opt_with NumericOnly */
+#line 4820 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("start", (Node *) (yyvsp[0].node), (yylsp[-2]));
+ }
+#line 34174 "gram.c"
+ break;
+
+ case 629: /* SeqOptElem: RESTART */
+#line 4824 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("restart", NULL, (yylsp[0]));
+ }
+#line 34182 "gram.c"
+ break;
+
+ case 630: /* SeqOptElem: RESTART opt_with NumericOnly */
+#line 4828 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("restart", (Node *) (yyvsp[0].node), (yylsp[-2]));
+ }
+#line 34190 "gram.c"
+ break;
+
+ case 633: /* NumericOnly: FCONST */
+#line 4838 "gram.y"
+ { (yyval.node) = (Node *) makeFloat((yyvsp[0].str)); }
+#line 34196 "gram.c"
+ break;
+
+ case 634: /* NumericOnly: '+' FCONST */
+#line 4839 "gram.y"
+ { (yyval.node) = (Node *) makeFloat((yyvsp[0].str)); }
+#line 34202 "gram.c"
+ break;
+
+ case 635: /* NumericOnly: '-' FCONST */
+#line 4841 "gram.y"
+ {
+ Float *f = makeFloat((yyvsp[0].str));
+
+ doNegateFloat(f);
+ (yyval.node) = (Node *) f;
+ }
+#line 34213 "gram.c"
+ break;
+
+ case 636: /* NumericOnly: SignedIconst */
+#line 4847 "gram.y"
+ { (yyval.node) = (Node *) makeInteger((yyvsp[0].ival)); }
+#line 34219 "gram.c"
+ break;
+
+ case 637: /* NumericOnly_list: NumericOnly */
+#line 4850 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].node)); }
+#line 34225 "gram.c"
+ break;
+
+ case 638: /* NumericOnly_list: NumericOnly_list ',' NumericOnly */
+#line 4851 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
+#line 34231 "gram.c"
+ break;
+
+ case 639: /* CreatePLangStmt: CREATE opt_or_replace opt_trusted opt_procedural LANGUAGE name */
+#line 4864 "gram.y"
+ {
+ /*
+ * We now interpret parameterless CREATE LANGUAGE as
+ * CREATE EXTENSION. "OR REPLACE" is silently translated
+ * to "IF NOT EXISTS", which isn't quite the same, but
+ * seems more useful than throwing an error. We just
+ * ignore TRUSTED, as the previous code would have too.
+ */
+ CreateExtensionStmt *n = makeNode(CreateExtensionStmt);
+
+ n->if_not_exists = (yyvsp[-4].boolean);
+ n->extname = (yyvsp[0].str);
+ n->options = NIL;
+ (yyval.node) = (Node *) n;
+ }
+#line 34251 "gram.c"
+ break;
+
+ case 640: /* CreatePLangStmt: CREATE opt_or_replace opt_trusted opt_procedural LANGUAGE name HANDLER handler_name opt_inline_handler opt_validator */
+#line 4881 "gram.y"
+ {
+ 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 34267 "gram.c"
+ break;
+
+ case 641: /* opt_trusted: TRUSTED */
+#line 4895 "gram.y"
+ { (yyval.boolean) = true; }
+#line 34273 "gram.c"
+ break;
+
+ case 642: /* opt_trusted: %empty */
+#line 4896 "gram.y"
+ { (yyval.boolean) = false; }
+#line 34279 "gram.c"
+ break;
+
+ case 643: /* handler_name: name */
+#line 4904 "gram.y"
+ { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
+#line 34285 "gram.c"
+ break;
+
+ case 644: /* handler_name: name attrs */
+#line 4905 "gram.y"
+ { (yyval.list) = lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)); }
+#line 34291 "gram.c"
+ break;
+
+ case 645: /* opt_inline_handler: INLINE_P handler_name */
+#line 4909 "gram.y"
+ { (yyval.list) = (yyvsp[0].list); }
+#line 34297 "gram.c"
+ break;
+
+ case 646: /* opt_inline_handler: %empty */
+#line 4910 "gram.y"
+ { (yyval.list) = NIL; }
+#line 34303 "gram.c"
+ break;
+
+ case 647: /* validator_clause: VALIDATOR handler_name */
+#line 4914 "gram.y"
+ { (yyval.list) = (yyvsp[0].list); }
+#line 34309 "gram.c"
+ break;
+
+ case 648: /* validator_clause: NO VALIDATOR */
+#line 4915 "gram.y"
+ { (yyval.list) = NIL; }
+#line 34315 "gram.c"
+ break;
+
+ case 649: /* opt_validator: validator_clause */
+#line 4919 "gram.y"
+ { (yyval.list) = (yyvsp[0].list); }
+#line 34321 "gram.c"
+ break;
+
+ case 650: /* opt_validator: %empty */
+#line 4920 "gram.y"
+ { (yyval.list) = NIL; }
+#line 34327 "gram.c"
+ break;
+
+ case 653: /* CreateTableSpaceStmt: CREATE TABLESPACE name OptTableSpaceOwner LOCATION Sconst opt_reloptions */
+#line 4936 "gram.y"
+ {
+ 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 34341 "gram.c"
+ break;
+
+ case 654: /* OptTableSpaceOwner: OWNER RoleSpec */
+#line 4947 "gram.y"
+ { (yyval.rolespec) = (yyvsp[0].rolespec); }
+#line 34347 "gram.c"
+ break;
+
+ case 655: /* OptTableSpaceOwner: %empty */
+#line 4948 "gram.y"
+ { (yyval.rolespec) = NULL; }
+#line 34353 "gram.c"
+ break;
+
+ case 656: /* DropTableSpaceStmt: DROP TABLESPACE name */
+#line 4962 "gram.y"
+ {
+ DropTableSpaceStmt *n = makeNode(DropTableSpaceStmt);
+
+ n->tablespacename = (yyvsp[0].str);
+ n->missing_ok = false;
+ (yyval.node) = (Node *) n;
+ }
+#line 34365 "gram.c"
+ break;
+
+ case 657: /* DropTableSpaceStmt: DROP TABLESPACE IF_P EXISTS name */
+#line 4970 "gram.y"
+ {
+ DropTableSpaceStmt *n = makeNode(DropTableSpaceStmt);
+
+ n->tablespacename = (yyvsp[0].str);
+ n->missing_ok = true;
+ (yyval.node) = (Node *) n;
+ }
+#line 34377 "gram.c"
+ break;
+
+ case 658: /* CreateExtensionStmt: CREATE EXTENSION name opt_with create_extension_opt_list */
+#line 4988 "gram.y"
+ {
+ CreateExtensionStmt *n = makeNode(CreateExtensionStmt);
+
+ n->extname = (yyvsp[-2].str);
+ n->if_not_exists = false;
+ n->options = (yyvsp[0].list);
+ (yyval.node) = (Node *) n;
+ }
+#line 34390 "gram.c"
+ break;
+
+ case 659: /* CreateExtensionStmt: CREATE EXTENSION IF_P NOT EXISTS name opt_with create_extension_opt_list */
+#line 4997 "gram.y"
+ {
+ CreateExtensionStmt *n = makeNode(CreateExtensionStmt);
+
+ n->extname = (yyvsp[-2].str);
+ n->if_not_exists = true;
+ n->options = (yyvsp[0].list);
+ (yyval.node) = (Node *) n;
+ }
+#line 34403 "gram.c"
+ break;
+
+ case 660: /* create_extension_opt_list: create_extension_opt_list create_extension_opt_item */
+#line 5009 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
+#line 34409 "gram.c"
+ break;
+
+ case 661: /* create_extension_opt_list: %empty */
+#line 5011 "gram.y"
+ { (yyval.list) = NIL; }
+#line 34415 "gram.c"
+ break;
+
+ case 662: /* create_extension_opt_item: SCHEMA name */
+#line 5016 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("schema", (Node *) makeString((yyvsp[0].str)), (yylsp[-1]));
+ }
+#line 34423 "gram.c"
+ break;
+
+ case 663: /* create_extension_opt_item: VERSION_P NonReservedWord_or_Sconst */
+#line 5020 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("new_version", (Node *) makeString((yyvsp[0].str)), (yylsp[-1]));
+ }
+#line 34431 "gram.c"
+ break;
+
+ case 664: /* create_extension_opt_item: FROM NonReservedWord_or_Sconst */
+#line 5024 "gram.y"
+ {
+ ereport(ERROR,
+ (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
+ errmsg("CREATE EXTENSION ... FROM is no longer supported"),
+ parser_errposition((yylsp[-1]))));
+ }
+#line 34442 "gram.c"
+ break;
+
+ case 665: /* create_extension_opt_item: CASCADE */
+#line 5031 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("cascade", (Node *) makeBoolean(true), (yylsp[0]));
+ }
+#line 34450 "gram.c"
+ break;
+
+ case 666: /* AlterExtensionStmt: ALTER EXTENSION name UPDATE alter_extension_opt_list */
+#line 5043 "gram.y"
+ {
+ AlterExtensionStmt *n = makeNode(AlterExtensionStmt);
+
+ n->extname = (yyvsp[-2].str);
+ n->options = (yyvsp[0].list);
+ (yyval.node) = (Node *) n;
+ }
+#line 34462 "gram.c"
+ break;
+
+ case 667: /* alter_extension_opt_list: alter_extension_opt_list alter_extension_opt_item */
+#line 5054 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
+#line 34468 "gram.c"
+ break;
+
+ case 668: /* alter_extension_opt_list: %empty */
+#line 5056 "gram.y"
+ { (yyval.list) = NIL; }
+#line 34474 "gram.c"
+ break;
+
+ case 669: /* alter_extension_opt_item: TO NonReservedWord_or_Sconst */
+#line 5061 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("new_version", (Node *) makeString((yyvsp[0].str)), (yylsp[-1]));
+ }
+#line 34482 "gram.c"
+ break;
+
+ case 670: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop object_type_name name */
+#line 5074 "gram.y"
+ {
+ AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
+
+ n->extname = (yyvsp[-3].str);
+ n->action = (yyvsp[-2].ival);
+ n->objtype = (yyvsp[-1].objtype);
+ n->object = (Node *) makeString((yyvsp[0].str));
+ (yyval.node) = (Node *) n;
+ }
+#line 34496 "gram.c"
+ break;
+
+ case 671: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop object_type_any_name any_name */
+#line 5084 "gram.y"
+ {
+ AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
+
+ n->extname = (yyvsp[-3].str);
+ n->action = (yyvsp[-2].ival);
+ n->objtype = (yyvsp[-1].objtype);
+ n->object = (Node *) (yyvsp[0].list);
+ (yyval.node) = (Node *) n;
+ }
+#line 34510 "gram.c"
+ break;
+
+ case 672: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop AGGREGATE aggregate_with_argtypes */
+#line 5094 "gram.y"
+ {
+ 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 34524 "gram.c"
+ break;
+
+ case 673: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop CAST '(' Typename AS Typename ')' */
+#line 5104 "gram.y"
+ {
+ 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 34538 "gram.c"
+ break;
+
+ case 674: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop DOMAIN_P Typename */
+#line 5114 "gram.y"
+ {
+ 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 34552 "gram.c"
+ break;
+
+ case 675: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop FUNCTION function_with_argtypes */
+#line 5124 "gram.y"
+ {
+ 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 34566 "gram.c"
+ break;
+
+ case 676: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop OPERATOR operator_with_argtypes */
+#line 5134 "gram.y"
+ {
+ 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 34580 "gram.c"
+ break;
+
+ case 677: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop OPERATOR CLASS any_name USING name */
+#line 5144 "gram.y"
+ {
+ 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 34594 "gram.c"
+ break;
+
+ case 678: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop OPERATOR FAMILY any_name USING name */
+#line 5154 "gram.y"
+ {
+ 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 34608 "gram.c"
+ break;
+
+ case 679: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop PROCEDURE function_with_argtypes */
+#line 5164 "gram.y"
+ {
+ 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 34622 "gram.c"
+ break;
+
+ case 680: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop ROUTINE function_with_argtypes */
+#line 5174 "gram.y"
+ {
+ 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 34636 "gram.c"
+ break;
+
+ case 681: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop TRANSFORM FOR Typename LANGUAGE name */
+#line 5184 "gram.y"
+ {
+ 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 34650 "gram.c"
+ break;
+
+ case 682: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop TYPE_P Typename */
+#line 5194 "gram.y"
+ {
+ 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 34664 "gram.c"
+ break;
+
+ case 683: /* CreateFdwStmt: CREATE FOREIGN DATA_P WRAPPER name opt_fdw_options create_generic_options */
+#line 5213 "gram.y"
+ {
+ 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 34677 "gram.c"
+ break;
+
+ case 684: /* fdw_option: HANDLER handler_name */
+#line 5224 "gram.y"
+ { (yyval.defelt) = makeDefElem("handler", (Node *) (yyvsp[0].list), (yylsp[-1])); }
+#line 34683 "gram.c"
+ break;
+
+ case 685: /* fdw_option: NO HANDLER */
+#line 5225 "gram.y"
+ { (yyval.defelt) = makeDefElem("handler", NULL, (yylsp[-1])); }
+#line 34689 "gram.c"
+ break;
+
+ case 686: /* fdw_option: VALIDATOR handler_name */
+#line 5226 "gram.y"
+ { (yyval.defelt) = makeDefElem("validator", (Node *) (yyvsp[0].list), (yylsp[-1])); }
+#line 34695 "gram.c"
+ break;
+
+ case 687: /* fdw_option: NO VALIDATOR */
+#line 5227 "gram.y"
+ { (yyval.defelt) = makeDefElem("validator", NULL, (yylsp[-1])); }
+#line 34701 "gram.c"
+ break;
+
+ case 688: /* fdw_options: fdw_option */
+#line 5231 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].defelt)); }
+#line 34707 "gram.c"
+ break;
+
+ case 689: /* fdw_options: fdw_options fdw_option */
+#line 5232 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
+#line 34713 "gram.c"
+ break;
+
+ case 690: /* opt_fdw_options: fdw_options */
+#line 5236 "gram.y"
+ { (yyval.list) = (yyvsp[0].list); }
+#line 34719 "gram.c"
+ break;
+
+ case 691: /* opt_fdw_options: %empty */
+#line 5237 "gram.y"
+ { (yyval.list) = NIL; }
+#line 34725 "gram.c"
+ break;
+
+ case 692: /* AlterFdwStmt: ALTER FOREIGN DATA_P WRAPPER name opt_fdw_options alter_generic_options */
+#line 5248 "gram.y"
+ {
+ 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 34738 "gram.c"
+ break;
+
+ case 693: /* AlterFdwStmt: ALTER FOREIGN DATA_P WRAPPER name fdw_options */
+#line 5257 "gram.y"
+ {
+ AlterFdwStmt *n = makeNode(AlterFdwStmt);
+
+ n->fdwname = (yyvsp[-1].str);
+ n->func_options = (yyvsp[0].list);
+ n->options = NIL;
+ (yyval.node) = (Node *) n;
+ }
+#line 34751 "gram.c"
+ break;
+
+ case 694: /* create_generic_options: OPTIONS '(' generic_option_list ')' */
+#line 5269 "gram.y"
+ { (yyval.list) = (yyvsp[-1].list); }
+#line 34757 "gram.c"
+ break;
+
+ case 695: /* create_generic_options: %empty */
+#line 5270 "gram.y"
+ { (yyval.list) = NIL; }
+#line 34763 "gram.c"
+ break;
+
+ case 696: /* generic_option_list: generic_option_elem */
+#line 5275 "gram.y"
+ {
+ (yyval.list) = list_make1((yyvsp[0].defelt));
+ }
+#line 34771 "gram.c"
+ break;
+
+ case 697: /* generic_option_list: generic_option_list ',' generic_option_elem */
+#line 5279 "gram.y"
+ {
+ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
+ }
+#line 34779 "gram.c"
+ break;
+
+ case 698: /* alter_generic_options: OPTIONS '(' alter_generic_option_list ')' */
+#line 5286 "gram.y"
+ { (yyval.list) = (yyvsp[-1].list); }
+#line 34785 "gram.c"
+ break;
+
+ case 699: /* alter_generic_option_list: alter_generic_option_elem */
+#line 5291 "gram.y"
+ {
+ (yyval.list) = list_make1((yyvsp[0].defelt));
+ }
+#line 34793 "gram.c"
+ break;
+
+ case 700: /* alter_generic_option_list: alter_generic_option_list ',' alter_generic_option_elem */
+#line 5295 "gram.y"
+ {
+ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
+ }
+#line 34801 "gram.c"
+ break;
+
+ case 701: /* alter_generic_option_elem: generic_option_elem */
+#line 5302 "gram.y"
+ {
+ (yyval.defelt) = (yyvsp[0].defelt);
+ }
+#line 34809 "gram.c"
+ break;
+
+ case 702: /* alter_generic_option_elem: SET generic_option_elem */
+#line 5306 "gram.y"
+ {
+ (yyval.defelt) = (yyvsp[0].defelt);
+ (yyval.defelt)->defaction = DEFELEM_SET;
+ }
+#line 34818 "gram.c"
+ break;
+
+ case 703: /* alter_generic_option_elem: ADD_P generic_option_elem */
+#line 5311 "gram.y"
+ {
+ (yyval.defelt) = (yyvsp[0].defelt);
+ (yyval.defelt)->defaction = DEFELEM_ADD;
+ }
+#line 34827 "gram.c"
+ break;
+
+ case 704: /* alter_generic_option_elem: DROP generic_option_name */
+#line 5316 "gram.y"
+ {
+ (yyval.defelt) = makeDefElemExtended(NULL, (yyvsp[0].str), NULL, DEFELEM_DROP, (yylsp[0]));
+ }
+#line 34835 "gram.c"
+ break;
+
+ case 705: /* generic_option_elem: generic_option_name generic_option_arg */
+#line 5323 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1]));
+ }
+#line 34843 "gram.c"
+ break;
+
+ case 706: /* generic_option_name: ColLabel */
+#line 5329 "gram.y"
+ { (yyval.str) = (yyvsp[0].str); }
+#line 34849 "gram.c"
+ break;
+
+ case 707: /* generic_option_arg: Sconst */
+#line 5334 "gram.y"
+ { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
+#line 34855 "gram.c"
+ break;
+
+ case 708: /* CreateForeignServerStmt: CREATE SERVER name opt_type opt_foreign_server_version FOREIGN DATA_P WRAPPER name create_generic_options */
+#line 5346 "gram.y"
+ {
+ 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 34871 "gram.c"
+ break;
+
+ case 709: /* CreateForeignServerStmt: CREATE SERVER IF_P NOT EXISTS name opt_type opt_foreign_server_version FOREIGN DATA_P WRAPPER name create_generic_options */
+#line 5359 "gram.y"
+ {
+ 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 34887 "gram.c"
+ break;
+
+ case 710: /* opt_type: TYPE_P Sconst */
+#line 5373 "gram.y"
+ { (yyval.str) = (yyvsp[0].str); }
+#line 34893 "gram.c"
+ break;
+
+ case 711: /* opt_type: %empty */
+#line 5374 "gram.y"
+ { (yyval.str) = NULL; }
+#line 34899 "gram.c"
+ break;
+
+ case 712: /* foreign_server_version: VERSION_P Sconst */
+#line 5379 "gram.y"
+ { (yyval.str) = (yyvsp[0].str); }
+#line 34905 "gram.c"
+ break;
+
+ case 713: /* foreign_server_version: VERSION_P NULL_P */
+#line 5380 "gram.y"
+ { (yyval.str) = NULL; }
+#line 34911 "gram.c"
+ break;
+
+ case 714: /* opt_foreign_server_version: foreign_server_version */
+#line 5384 "gram.y"
+ { (yyval.str) = (yyvsp[0].str); }
+#line 34917 "gram.c"
+ break;
+
+ case 715: /* opt_foreign_server_version: %empty */
+#line 5385 "gram.y"
+ { (yyval.str) = NULL; }
+#line 34923 "gram.c"
+ break;
+
+ case 716: /* AlterForeignServerStmt: ALTER SERVER name foreign_server_version alter_generic_options */
+#line 5396 "gram.y"
+ {
+ 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 34937 "gram.c"
+ break;
+
+ case 717: /* AlterForeignServerStmt: ALTER SERVER name foreign_server_version */
+#line 5406 "gram.y"
+ {
+ AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
+
+ n->servername = (yyvsp[-1].str);
+ n->version = (yyvsp[0].str);
+ n->has_version = true;
+ (yyval.node) = (Node *) n;
+ }
+#line 34950 "gram.c"
+ break;
+
+ case 718: /* AlterForeignServerStmt: ALTER SERVER name alter_generic_options */
+#line 5415 "gram.y"
+ {
+ AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
+
+ n->servername = (yyvsp[-1].str);
+ n->options = (yyvsp[0].list);
+ (yyval.node) = (Node *) n;
+ }
+#line 34962 "gram.c"
+ break;
+
+ case 719: /* CreateForeignTableStmt: CREATE FOREIGN TABLE qualified_name '(' OptTableElementList ')' OptInherit SERVER name create_generic_options */
+#line 5435 "gram.y"
+ {
+ 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 34985 "gram.c"
+ break;
+
+ case 720: /* CreateForeignTableStmt: CREATE FOREIGN TABLE IF_P NOT EXISTS qualified_name '(' OptTableElementList ')' OptInherit SERVER name create_generic_options */
+#line 5456 "gram.y"
+ {
+ 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 35008 "gram.c"
+ break;
+
+ case 721: /* CreateForeignTableStmt: CREATE FOREIGN TABLE qualified_name PARTITION OF qualified_name OptTypedTableElementList PartitionBoundSpec SERVER name create_generic_options */
+#line 5477 "gram.y"
+ {
+ 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 35032 "gram.c"
+ break;
+
+ case 722: /* CreateForeignTableStmt: CREATE FOREIGN TABLE IF_P NOT EXISTS qualified_name PARTITION OF qualified_name OptTypedTableElementList PartitionBoundSpec SERVER name create_generic_options */
+#line 5499 "gram.y"
+ {
+ 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 35056 "gram.c"
+ break;
+
+ case 723: /* ImportForeignSchemaStmt: IMPORT_P FOREIGN SCHEMA name import_qualification FROM SERVER name INTO name create_generic_options */
+#line 5532 "gram.y"
+ {
+ 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 35072 "gram.c"
+ break;
+
+ case 724: /* import_qualification_type: LIMIT TO */
+#line 5546 "gram.y"
+ { (yyval.ival) = FDW_IMPORT_SCHEMA_LIMIT_TO; }
+#line 35078 "gram.c"
+ break;
+
+ case 725: /* import_qualification_type: EXCEPT */
+#line 5547 "gram.y"
+ { (yyval.ival) = FDW_IMPORT_SCHEMA_EXCEPT; }
+#line 35084 "gram.c"
+ break;
+
+ case 726: /* import_qualification: import_qualification_type '(' relation_expr_list ')' */
+#line 5552 "gram.y"
+ {
+ ImportQual *n = (ImportQual *) palloc(sizeof(ImportQual));
+
+ n->type = (yyvsp[-3].ival);
+ n->table_names = (yyvsp[-1].list);
+ (yyval.importqual) = n;
+ }
+#line 35096 "gram.c"
+ break;
+
+ case 727: /* import_qualification: %empty */
+#line 5560 "gram.y"
+ {
+ ImportQual *n = (ImportQual *) palloc(sizeof(ImportQual));
+ n->type = FDW_IMPORT_SCHEMA_ALL;
+ n->table_names = NIL;
+ (yyval.importqual) = n;
+ }
+#line 35107 "gram.c"
+ break;
+
+ case 728: /* CreateUserMappingStmt: CREATE USER MAPPING FOR auth_ident SERVER name create_generic_options */
+#line 5576 "gram.y"
+ {
+ 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 35121 "gram.c"
+ break;
+
+ case 729: /* CreateUserMappingStmt: CREATE USER MAPPING IF_P NOT EXISTS FOR auth_ident SERVER name create_generic_options */
+#line 5586 "gram.y"
+ {
+ 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 35135 "gram.c"
+ break;
+
+ case 730: /* auth_ident: RoleSpec */
+#line 5598 "gram.y"
+ { (yyval.rolespec) = (yyvsp[0].rolespec); }
+#line 35141 "gram.c"
+ break;
+
+ case 731: /* auth_ident: USER */
+#line 5599 "gram.y"
+ { (yyval.rolespec) = makeRoleSpec(ROLESPEC_CURRENT_USER, (yylsp[0])); }
+#line 35147 "gram.c"
+ break;
+
+ case 732: /* DropUserMappingStmt: DROP USER MAPPING FOR auth_ident SERVER name */
+#line 5612 "gram.y"
+ {
+ DropUserMappingStmt *n = makeNode(DropUserMappingStmt);
+
+ n->user = (yyvsp[-2].rolespec);
+ n->servername = (yyvsp[0].str);
+ n->missing_ok = false;
+ (yyval.node) = (Node *) n;
+ }
+#line 35160 "gram.c"
+ break;
+
+ case 733: /* DropUserMappingStmt: DROP USER MAPPING IF_P EXISTS FOR auth_ident SERVER name */
+#line 5621 "gram.y"
+ {
+ DropUserMappingStmt *n = makeNode(DropUserMappingStmt);
+
+ n->user = (yyvsp[-2].rolespec);
+ n->servername = (yyvsp[0].str);
+ n->missing_ok = true;
+ (yyval.node) = (Node *) n;
+ }
+#line 35173 "gram.c"
+ break;
+
+ case 734: /* AlterUserMappingStmt: ALTER USER MAPPING FOR auth_ident SERVER name alter_generic_options */
+#line 5639 "gram.y"
+ {
+ AlterUserMappingStmt *n = makeNode(AlterUserMappingStmt);
+
+ n->user = (yyvsp[-3].rolespec);
+ n->servername = (yyvsp[-1].str);
+ n->options = (yyvsp[0].list);
+ (yyval.node) = (Node *) n;
+ }
+#line 35186 "gram.c"
+ break;
+
+ case 735: /* CreatePolicyStmt: CREATE POLICY name ON qualified_name RowSecurityDefaultPermissive RowSecurityDefaultForCmd RowSecurityDefaultToRole RowSecurityOptionalExpr RowSecurityOptionalWithCheck */
+#line 5666 "gram.y"
+ {
+ 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 35203 "gram.c"
+ break;
+
+ case 736: /* AlterPolicyStmt: ALTER POLICY name ON qualified_name RowSecurityOptionalToRole RowSecurityOptionalExpr RowSecurityOptionalWithCheck */
+#line 5683 "gram.y"
+ {
+ 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 35218 "gram.c"
+ break;
+
+ case 737: /* RowSecurityOptionalExpr: USING '(' a_expr ')' */
+#line 5696 "gram.y"
+ { (yyval.node) = (yyvsp[-1].node); }
+#line 35224 "gram.c"
+ break;
+
+ case 738: /* RowSecurityOptionalExpr: %empty */
+#line 5697 "gram.y"
+ { (yyval.node) = NULL; }
+#line 35230 "gram.c"
+ break;
+
+ case 739: /* RowSecurityOptionalWithCheck: WITH CHECK '(' a_expr ')' */
+#line 5701 "gram.y"
+ { (yyval.node) = (yyvsp[-1].node); }
+#line 35236 "gram.c"
+ break;
+
+ case 740: /* RowSecurityOptionalWithCheck: %empty */
+#line 5702 "gram.y"
+ { (yyval.node) = NULL; }
+#line 35242 "gram.c"
+ break;
+
+ case 741: /* RowSecurityDefaultToRole: TO role_list */
+#line 5706 "gram.y"
+ { (yyval.list) = (yyvsp[0].list); }
+#line 35248 "gram.c"
+ break;
+
+ case 742: /* RowSecurityDefaultToRole: %empty */
+#line 5707 "gram.y"
+ { (yyval.list) = list_make1(makeRoleSpec(ROLESPEC_PUBLIC, -1)); }
+#line 35254 "gram.c"
+ break;
+
+ case 743: /* RowSecurityOptionalToRole: TO role_list */
+#line 5711 "gram.y"
+ { (yyval.list) = (yyvsp[0].list); }
+#line 35260 "gram.c"
+ break;
+
+ case 744: /* RowSecurityOptionalToRole: %empty */
+#line 5712 "gram.y"
+ { (yyval.list) = NULL; }
+#line 35266 "gram.c"
+ break;
+
+ case 745: /* RowSecurityDefaultPermissive: AS IDENT */
+#line 5717 "gram.y"
+ {
+ 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 35284 "gram.c"
+ break;
+
+ case 746: /* RowSecurityDefaultPermissive: %empty */
+#line 5730 "gram.y"
+ { (yyval.boolean) = true; }
+#line 35290 "gram.c"
+ break;
+
+ case 747: /* RowSecurityDefaultForCmd: FOR row_security_cmd */
+#line 5734 "gram.y"
+ { (yyval.str) = (yyvsp[0].str); }
+#line 35296 "gram.c"
+ break;
+
+ case 748: /* RowSecurityDefaultForCmd: %empty */
+#line 5735 "gram.y"
+ { (yyval.str) = "all"; }
+#line 35302 "gram.c"
+ break;
+
+ case 749: /* row_security_cmd: ALL */
+#line 5739 "gram.y"
+ { (yyval.str) = "all"; }
+#line 35308 "gram.c"
+ break;
+
+ case 750: /* row_security_cmd: SELECT */
+#line 5740 "gram.y"
+ { (yyval.str) = "select"; }
+#line 35314 "gram.c"
+ break;
+
+ case 751: /* row_security_cmd: INSERT */
+#line 5741 "gram.y"
+ { (yyval.str) = "insert"; }
+#line 35320 "gram.c"
+ break;
+
+ case 752: /* row_security_cmd: UPDATE */
+#line 5742 "gram.y"
+ { (yyval.str) = "update"; }
+#line 35326 "gram.c"
+ break;
+
+ case 753: /* row_security_cmd: DELETE_P */
+#line 5743 "gram.y"
+ { (yyval.str) = "delete"; }
+#line 35332 "gram.c"
+ break;
+
+ case 754: /* CreateAmStmt: CREATE ACCESS METHOD name TYPE_P am_type HANDLER handler_name */
+#line 5754 "gram.y"
+ {
+ 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 35345 "gram.c"
+ break;
+
+ case 755: /* am_type: INDEX */
+#line 5765 "gram.y"
+ { (yyval.chr) = AMTYPE_INDEX; }
+#line 35351 "gram.c"
+ break;
+
+ case 756: /* am_type: TABLE */
+#line 5766 "gram.y"
+ { (yyval.chr) = AMTYPE_TABLE; }
+#line 35357 "gram.c"
+ break;
+
+ case 757: /* CreateTrigStmt: CREATE opt_or_replace TRIGGER name TriggerActionTime TriggerEvents ON qualified_name TriggerReferencing TriggerForSpec TriggerWhen EXECUTE FUNCTION_or_PROCEDURE func_name '(' TriggerFuncArgs ')' */
+#line 5780 "gram.y"
+ {
+ CreateTrigStmt *n = makeNode(CreateTrigStmt);
+
+ n->replace = (yyvsp[-15].boolean);
+ n->isconstraint = false;
+ 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->deferrable = false;
+ n->initdeferred = false;
+ n->constrrel = NULL;
+ (yyval.node) = (Node *) n;
+ }
+#line 35382 "gram.c"
+ break;
+
+ case 758: /* CreateTrigStmt: CREATE opt_or_replace CONSTRAINT TRIGGER name AFTER TriggerEvents ON qualified_name OptConstrFromTable ConstraintAttributeSpec FOR EACH ROW TriggerWhen EXECUTE FUNCTION_or_PROCEDURE func_name '(' TriggerFuncArgs ')' */
+#line 5804 "gram.y"
+ {
+ CreateTrigStmt *n = makeNode(CreateTrigStmt);
+
+ n->replace = (yyvsp[-19].boolean);
+ if (n->replace) /* not supported, see CreateTrigger */
+ ereport(ERROR,
+ (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
+ errmsg("CREATE OR REPLACE CONSTRAINT TRIGGER is not supported")));
+ n->isconstraint = true;
+ 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;
+ processCASbits((yyvsp[-10].ival), (yylsp[-10]), "TRIGGER",
+ &n->deferrable, &n->initdeferred, NULL,
+ NULL, yyscanner);
+ n->constrrel = (yyvsp[-11].range);
+ (yyval.node) = (Node *) n;
+ }
+#line 35412 "gram.c"
+ break;
+
+ case 759: /* TriggerActionTime: BEFORE */
+#line 5832 "gram.y"
+ { (yyval.ival) = TRIGGER_TYPE_BEFORE; }
+#line 35418 "gram.c"
+ break;
+
+ case 760: /* TriggerActionTime: AFTER */
+#line 5833 "gram.y"
+ { (yyval.ival) = TRIGGER_TYPE_AFTER; }
+#line 35424 "gram.c"
+ break;
+
+ case 761: /* TriggerActionTime: INSTEAD OF */
+#line 5834 "gram.y"
+ { (yyval.ival) = TRIGGER_TYPE_INSTEAD; }
+#line 35430 "gram.c"
+ break;
+
+ case 762: /* TriggerEvents: TriggerOneEvent */
+#line 5839 "gram.y"
+ { (yyval.list) = (yyvsp[0].list); }
+#line 35436 "gram.c"
+ break;
+
+ case 763: /* TriggerEvents: TriggerEvents OR TriggerOneEvent */
+#line 5841 "gram.y"
+ {
+ 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 35459 "gram.c"
+ break;
+
+ case 764: /* TriggerOneEvent: INSERT */
+#line 5863 "gram.y"
+ { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_INSERT), NIL); }
+#line 35465 "gram.c"
+ break;
+
+ case 765: /* TriggerOneEvent: DELETE_P */
+#line 5865 "gram.y"
+ { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_DELETE), NIL); }
+#line 35471 "gram.c"
+ break;
+
+ case 766: /* TriggerOneEvent: UPDATE */
+#line 5867 "gram.y"
+ { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_UPDATE), NIL); }
+#line 35477 "gram.c"
+ break;
+
+ case 767: /* TriggerOneEvent: UPDATE OF columnList */
+#line 5869 "gram.y"
+ { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_UPDATE), (yyvsp[0].list)); }
+#line 35483 "gram.c"
+ break;
+
+ case 768: /* TriggerOneEvent: TRUNCATE */
+#line 5871 "gram.y"
+ { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_TRUNCATE), NIL); }
+#line 35489 "gram.c"
+ break;
+
+ case 769: /* TriggerReferencing: REFERENCING TriggerTransitions */
+#line 5875 "gram.y"
+ { (yyval.list) = (yyvsp[0].list); }
+#line 35495 "gram.c"
+ break;
+
+ case 770: /* TriggerReferencing: %empty */
+#line 5876 "gram.y"
+ { (yyval.list) = NIL; }
+#line 35501 "gram.c"
+ break;
+
+ case 771: /* TriggerTransitions: TriggerTransition */
+#line 5880 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].node)); }
+#line 35507 "gram.c"
+ break;
+
+ case 772: /* TriggerTransitions: TriggerTransitions TriggerTransition */
+#line 5881 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
+#line 35513 "gram.c"
+ break;
+
+ case 773: /* TriggerTransition: TransitionOldOrNew TransitionRowOrTable opt_as TransitionRelName */
+#line 5886 "gram.y"
+ {
+ TriggerTransition *n = makeNode(TriggerTransition);
+
+ n->name = (yyvsp[0].str);
+ n->isNew = (yyvsp[-3].boolean);
+ n->isTable = (yyvsp[-2].boolean);
+ (yyval.node) = (Node *) n;
+ }
+#line 35526 "gram.c"
+ break;
+
+ case 774: /* TransitionOldOrNew: NEW */
+#line 5897 "gram.y"
+ { (yyval.boolean) = true; }
+#line 35532 "gram.c"
+ break;
+
+ case 775: /* TransitionOldOrNew: OLD */
+#line 5898 "gram.y"
+ { (yyval.boolean) = false; }
+#line 35538 "gram.c"
+ break;
+
+ case 776: /* TransitionRowOrTable: TABLE */
+#line 5902 "gram.y"
+ { (yyval.boolean) = true; }
+#line 35544 "gram.c"
+ break;
+
+ case 777: /* TransitionRowOrTable: ROW */
+#line 5911 "gram.y"
+ { (yyval.boolean) = false; }
+#line 35550 "gram.c"
+ break;
+
+ case 778: /* TransitionRelName: ColId */
+#line 5915 "gram.y"
+ { (yyval.str) = (yyvsp[0].str); }
+#line 35556 "gram.c"
+ break;
+
+ case 779: /* TriggerForSpec: FOR TriggerForOptEach TriggerForType */
+#line 5920 "gram.y"
+ {
+ (yyval.boolean) = (yyvsp[0].boolean);
+ }
+#line 35564 "gram.c"
+ break;
+
+ case 780: /* TriggerForSpec: %empty */
+#line 5924 "gram.y"
+ {
+ /*
+ * If ROW/STATEMENT not specified, default to
+ * STATEMENT, per SQL
+ */
+ (yyval.boolean) = false;
+ }
+#line 35576 "gram.c"
+ break;
+
+ case 783: /* TriggerForType: ROW */
+#line 5939 "gram.y"
+ { (yyval.boolean) = true; }
+#line 35582 "gram.c"
+ break;
+
+ case 784: /* TriggerForType: STATEMENT */
+#line 5940 "gram.y"
+ { (yyval.boolean) = false; }
+#line 35588 "gram.c"
+ break;
+
+ case 785: /* TriggerWhen: WHEN '(' a_expr ')' */
+#line 5944 "gram.y"
+ { (yyval.node) = (yyvsp[-1].node); }
+#line 35594 "gram.c"
+ break;
+
+ case 786: /* TriggerWhen: %empty */
+#line 5945 "gram.y"
+ { (yyval.node) = NULL; }
+#line 35600 "gram.c"
+ break;
+
+ case 789: /* TriggerFuncArgs: TriggerFuncArg */
+#line 5954 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].node)); }
+#line 35606 "gram.c"
+ break;
+
+ case 790: /* TriggerFuncArgs: TriggerFuncArgs ',' TriggerFuncArg */
+#line 5955 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
+#line 35612 "gram.c"
+ break;
+
+ case 791: /* TriggerFuncArgs: %empty */
+#line 5956 "gram.y"
+ { (yyval.list) = NIL; }
+#line 35618 "gram.c"
+ break;
+
+ case 792: /* TriggerFuncArg: Iconst */
+#line 5961 "gram.y"
+ {
+ (yyval.node) = (Node *) makeString(psprintf("%d", (yyvsp[0].ival)));
+ }
+#line 35626 "gram.c"
+ break;
+
+ case 793: /* TriggerFuncArg: FCONST */
+#line 5964 "gram.y"
+ { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
+#line 35632 "gram.c"
+ break;
+
+ case 794: /* TriggerFuncArg: Sconst */
+#line 5965 "gram.y"
+ { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
+#line 35638 "gram.c"
+ break;
+
+ case 795: /* TriggerFuncArg: ColLabel */
+#line 5966 "gram.y"
+ { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
+#line 35644 "gram.c"
+ break;
+
+ case 796: /* OptConstrFromTable: FROM qualified_name */
+#line 5970 "gram.y"
+ { (yyval.range) = (yyvsp[0].range); }
+#line 35650 "gram.c"
+ break;
+
+ case 797: /* OptConstrFromTable: %empty */
+#line 5971 "gram.y"
+ { (yyval.range) = NULL; }
+#line 35656 "gram.c"
+ break;
+
+ case 798: /* ConstraintAttributeSpec: %empty */
+#line 5976 "gram.y"
+ { (yyval.ival) = 0; }
+#line 35662 "gram.c"
+ break;
+
+ case 799: /* ConstraintAttributeSpec: ConstraintAttributeSpec ConstraintAttributeElem */
+#line 5978 "gram.y"
+ {
+ /*
+ * 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 35690 "gram.c"
+ break;
+
+ case 800: /* ConstraintAttributeElem: NOT DEFERRABLE */
+#line 6004 "gram.y"
+ { (yyval.ival) = CAS_NOT_DEFERRABLE; }
+#line 35696 "gram.c"
+ break;
+
+ case 801: /* ConstraintAttributeElem: DEFERRABLE */
+#line 6005 "gram.y"
+ { (yyval.ival) = CAS_DEFERRABLE; }
+#line 35702 "gram.c"
+ break;
+
+ case 802: /* ConstraintAttributeElem: INITIALLY IMMEDIATE */
+#line 6006 "gram.y"
+ { (yyval.ival) = CAS_INITIALLY_IMMEDIATE; }
+#line 35708 "gram.c"
+ break;
+
+ case 803: /* ConstraintAttributeElem: INITIALLY DEFERRED */
+#line 6007 "gram.y"
+ { (yyval.ival) = CAS_INITIALLY_DEFERRED; }
+#line 35714 "gram.c"
+ break;
+
+ case 804: /* ConstraintAttributeElem: NOT VALID */
+#line 6008 "gram.y"
+ { (yyval.ival) = CAS_NOT_VALID; }
+#line 35720 "gram.c"
+ break;
+
+ case 805: /* ConstraintAttributeElem: NO INHERIT */
+#line 6009 "gram.y"
+ { (yyval.ival) = CAS_NO_INHERIT; }
+#line 35726 "gram.c"
+ break;
+
+ case 806: /* CreateEventTrigStmt: CREATE EVENT TRIGGER name ON ColLabel EXECUTE FUNCTION_or_PROCEDURE func_name '(' ')' */
+#line 6024 "gram.y"
+ {
+ 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 35740 "gram.c"
+ break;
+
+ case 807: /* CreateEventTrigStmt: CREATE EVENT TRIGGER name ON ColLabel WHEN event_trigger_when_list EXECUTE FUNCTION_or_PROCEDURE func_name '(' ')' */
+#line 6036 "gram.y"
+ {
+ 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 35754 "gram.c"
+ break;
+
+ case 808: /* event_trigger_when_list: event_trigger_when_item */
+#line 6049 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].defelt)); }
+#line 35760 "gram.c"
+ break;
+
+ case 809: /* event_trigger_when_list: event_trigger_when_list AND event_trigger_when_item */
+#line 6051 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
+#line 35766 "gram.c"
+ break;
+
+ case 810: /* event_trigger_when_item: ColId IN_P '(' event_trigger_value_list ')' */
+#line 6056 "gram.y"
+ { (yyval.defelt) = makeDefElem((yyvsp[-4].str), (Node *) (yyvsp[-1].list), (yylsp[-4])); }
+#line 35772 "gram.c"
+ break;
+
+ case 811: /* event_trigger_value_list: SCONST */
+#line 6061 "gram.y"
+ { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
+#line 35778 "gram.c"
+ break;
+
+ case 812: /* event_trigger_value_list: event_trigger_value_list ',' SCONST */
+#line 6063 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
+#line 35784 "gram.c"
+ break;
+
+ case 813: /* AlterEventTrigStmt: ALTER EVENT TRIGGER name enable_trigger */
+#line 6068 "gram.y"
+ {
+ AlterEventTrigStmt *n = makeNode(AlterEventTrigStmt);
+
+ n->trigname = (yyvsp[-1].str);
+ n->tgenabled = (yyvsp[0].chr);
+ (yyval.node) = (Node *) n;
+ }
+#line 35796 "gram.c"
+ break;
+
+ case 814: /* enable_trigger: ENABLE_P */
+#line 6078 "gram.y"
+ { (yyval.chr) = TRIGGER_FIRES_ON_ORIGIN; }
+#line 35802 "gram.c"
+ break;
+
+ case 815: /* enable_trigger: ENABLE_P REPLICA */
+#line 6079 "gram.y"
+ { (yyval.chr) = TRIGGER_FIRES_ON_REPLICA; }
+#line 35808 "gram.c"
+ break;
+
+ case 816: /* enable_trigger: ENABLE_P ALWAYS */
+#line 6080 "gram.y"
+ { (yyval.chr) = TRIGGER_FIRES_ALWAYS; }
+#line 35814 "gram.c"
+ break;
+
+ case 817: /* enable_trigger: DISABLE_P */
+#line 6081 "gram.y"
+ { (yyval.chr) = TRIGGER_DISABLED; }
+#line 35820 "gram.c"
+ break;
+
+ case 818: /* CreateAssertionStmt: CREATE ASSERTION any_name CHECK '(' a_expr ')' ConstraintAttributeSpec */
+#line 6093 "gram.y"
+ {
+ ereport(ERROR,
+ (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
+ errmsg("CREATE ASSERTION is not yet implemented")));
+
+ (yyval.node) = NULL;
+ }
+#line 35832 "gram.c"
+ break;
+
+ case 819: /* DefineStmt: CREATE opt_or_replace AGGREGATE func_name aggr_args definition */
+#line 6112 "gram.y"
+ {
+ 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 35848 "gram.c"
+ break;
+
+ case 820: /* DefineStmt: CREATE opt_or_replace AGGREGATE func_name old_aggr_definition */
+#line 6124 "gram.y"
+ {
+ /* 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 35865 "gram.c"
+ break;
+
+ case 821: /* DefineStmt: CREATE OPERATOR any_operator definition */
+#line 6137 "gram.y"
+ {
+ 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 35880 "gram.c"
+ break;
+
+ case 822: /* DefineStmt: CREATE TYPE_P any_name definition */
+#line 6148 "gram.y"
+ {
+ 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 35895 "gram.c"
+ break;
+
+ case 823: /* DefineStmt: CREATE TYPE_P any_name */
+#line 6159 "gram.y"
+ {
+ /* 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 35911 "gram.c"
+ break;
+
+ case 824: /* DefineStmt: CREATE TYPE_P any_name AS '(' OptTableFuncElementList ')' */
+#line 6171 "gram.y"
+ {
+ 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 35924 "gram.c"
+ break;
+
+ case 825: /* DefineStmt: CREATE TYPE_P any_name AS ENUM_P '(' opt_enum_val_list ')' */
+#line 6180 "gram.y"
+ {
+ CreateEnumStmt *n = makeNode(CreateEnumStmt);
+
+ n->typeName = (yyvsp[-5].list);
+ n->vals = (yyvsp[-1].list);
+ (yyval.node) = (Node *) n;
+ }
+#line 35936 "gram.c"
+ break;
+
+ case 826: /* DefineStmt: CREATE TYPE_P any_name AS RANGE definition */
+#line 6188 "gram.y"
+ {
+ CreateRangeStmt *n = makeNode(CreateRangeStmt);
+
+ n->typeName = (yyvsp[-3].list);
+ n->params = (yyvsp[0].list);
+ (yyval.node) = (Node *) n;
+ }
+#line 35948 "gram.c"
+ break;
+
+ case 827: /* DefineStmt: CREATE TEXT_P SEARCH PARSER any_name definition */
+#line 6196 "gram.y"
+ {
+ 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 35962 "gram.c"
+ break;
+
+ case 828: /* DefineStmt: CREATE TEXT_P SEARCH DICTIONARY any_name definition */
+#line 6206 "gram.y"
+ {
+ 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 35976 "gram.c"
+ break;
+
+ case 829: /* DefineStmt: CREATE TEXT_P SEARCH TEMPLATE any_name definition */
+#line 6216 "gram.y"
+ {
+ 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 35990 "gram.c"
+ break;
+
+ case 830: /* DefineStmt: CREATE TEXT_P SEARCH CONFIGURATION any_name definition */
+#line 6226 "gram.y"
+ {
+ 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 36004 "gram.c"
+ break;
+
+ case 831: /* DefineStmt: CREATE COLLATION any_name definition */
+#line 6236 "gram.y"
+ {
+ 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 36018 "gram.c"
+ break;
+
+ case 832: /* DefineStmt: CREATE COLLATION IF_P NOT EXISTS any_name definition */
+#line 6246 "gram.y"
+ {
+ 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 36033 "gram.c"
+ break;
+
+ case 833: /* DefineStmt: CREATE COLLATION any_name FROM any_name */
+#line 6257 "gram.y"
+ {
+ 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 36047 "gram.c"
+ break;
+
+ case 834: /* DefineStmt: CREATE COLLATION IF_P NOT EXISTS any_name FROM any_name */
+#line 6267 "gram.y"
+ {
+ 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 36062 "gram.c"
+ break;
+
+ case 835: /* definition: '(' def_list ')' */
+#line 6279 "gram.y"
+ { (yyval.list) = (yyvsp[-1].list); }
+#line 36068 "gram.c"
+ break;
+
+ case 836: /* def_list: def_elem */
+#line 6282 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].defelt)); }
+#line 36074 "gram.c"
+ break;
+
+ case 837: /* def_list: def_list ',' def_elem */
+#line 6283 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
+#line 36080 "gram.c"
+ break;
+
+ case 838: /* def_elem: ColLabel '=' def_arg */
+#line 6287 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *) (yyvsp[0].node), (yylsp[-2]));
+ }
+#line 36088 "gram.c"
+ break;
+
+ case 839: /* def_elem: ColLabel */
+#line 6291 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem((yyvsp[0].str), NULL, (yylsp[0]));
+ }
+#line 36096 "gram.c"
+ break;
+
+ case 840: /* def_arg: func_type */
+#line 6297 "gram.y"
+ { (yyval.node) = (Node *) (yyvsp[0].typnam); }
+#line 36102 "gram.c"
+ break;
+
+ case 841: /* def_arg: reserved_keyword */
+#line 6298 "gram.y"
+ { (yyval.node) = (Node *) makeString(pstrdup((yyvsp[0].keyword))); }
+#line 36108 "gram.c"
+ break;
+
+ case 842: /* def_arg: qual_all_Op */
+#line 6299 "gram.y"
+ { (yyval.node) = (Node *) (yyvsp[0].list); }
+#line 36114 "gram.c"
+ break;
+
+ case 843: /* def_arg: NumericOnly */
+#line 6300 "gram.y"
+ { (yyval.node) = (Node *) (yyvsp[0].node); }
+#line 36120 "gram.c"
+ break;
+
+ case 844: /* def_arg: Sconst */
+#line 6301 "gram.y"
+ { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
+#line 36126 "gram.c"
+ break;
+
+ case 845: /* def_arg: NONE */
+#line 6302 "gram.y"
+ { (yyval.node) = (Node *) makeString(pstrdup((yyvsp[0].keyword))); }
+#line 36132 "gram.c"
+ break;
+
+ case 846: /* old_aggr_definition: '(' old_aggr_list ')' */
+#line 6305 "gram.y"
+ { (yyval.list) = (yyvsp[-1].list); }
+#line 36138 "gram.c"
+ break;
+
+ case 847: /* old_aggr_list: old_aggr_elem */
+#line 6308 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].defelt)); }
+#line 36144 "gram.c"
+ break;
+
+ case 848: /* old_aggr_list: old_aggr_list ',' old_aggr_elem */
+#line 6309 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
+#line 36150 "gram.c"
+ break;
+
+ case 849: /* old_aggr_elem: IDENT '=' def_arg */
+#line 6318 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *) (yyvsp[0].node), (yylsp[-2]));
+ }
+#line 36158 "gram.c"
+ break;
+
+ case 850: /* opt_enum_val_list: enum_val_list */
+#line 6324 "gram.y"
+ { (yyval.list) = (yyvsp[0].list); }
+#line 36164 "gram.c"
+ break;
+
+ case 851: /* opt_enum_val_list: %empty */
+#line 6325 "gram.y"
+ { (yyval.list) = NIL; }
+#line 36170 "gram.c"
+ break;
+
+ case 852: /* enum_val_list: Sconst */
+#line 6329 "gram.y"
+ { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
+#line 36176 "gram.c"
+ break;
+
+ case 853: /* enum_val_list: enum_val_list ',' Sconst */
+#line 6331 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
+#line 36182 "gram.c"
+ break;
+
+ case 854: /* AlterEnumStmt: ALTER TYPE_P any_name ADD_P VALUE_P opt_if_not_exists Sconst */
+#line 6342 "gram.y"
+ {
+ 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 36198 "gram.c"
+ break;
+
+ case 855: /* AlterEnumStmt: ALTER TYPE_P any_name ADD_P VALUE_P opt_if_not_exists Sconst BEFORE Sconst */
+#line 6354 "gram.y"
+ {
+ 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 36214 "gram.c"
+ break;
+
+ case 856: /* AlterEnumStmt: ALTER TYPE_P any_name ADD_P VALUE_P opt_if_not_exists Sconst AFTER Sconst */
+#line 6366 "gram.y"
+ {
+ 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 36230 "gram.c"
+ break;
+
+ case 857: /* AlterEnumStmt: ALTER TYPE_P any_name RENAME VALUE_P Sconst TO Sconst */
+#line 6378 "gram.y"
+ {
+ 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 36246 "gram.c"
+ break;
+
+ case 858: /* opt_if_not_exists: IF_P NOT EXISTS */
+#line 6391 "gram.y"
+ { (yyval.boolean) = true; }
+#line 36252 "gram.c"
+ break;
+
+ case 859: /* opt_if_not_exists: %empty */
+#line 6392 "gram.y"
+ { (yyval.boolean) = false; }
+#line 36258 "gram.c"
+ break;
+
+ case 860: /* CreateOpClassStmt: CREATE OPERATOR CLASS any_name opt_default FOR TYPE_P Typename USING name opt_opfamily AS opclass_item_list */
+#line 6410 "gram.y"
+ {
+ 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 36274 "gram.c"
+ break;
+
+ case 861: /* opclass_item_list: opclass_item */
+#line 6424 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].node)); }
+#line 36280 "gram.c"
+ break;
+
+ case 862: /* opclass_item_list: opclass_item_list ',' opclass_item */
+#line 6425 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
+#line 36286 "gram.c"
+ break;
+
+ case 863: /* opclass_item: OPERATOR Iconst any_operator opclass_purpose opt_recheck */
+#line 6430 "gram.y"
+ {
+ 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 36303 "gram.c"
+ break;
+
+ case 864: /* opclass_item: OPERATOR Iconst operator_with_argtypes opclass_purpose opt_recheck */
+#line 6444 "gram.y"
+ {
+ 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 36317 "gram.c"
+ break;
+
+ case 865: /* opclass_item: FUNCTION Iconst function_with_argtypes */
+#line 6454 "gram.y"
+ {
+ CreateOpClassItem *n = makeNode(CreateOpClassItem);
+
+ n->itemtype = OPCLASS_ITEM_FUNCTION;
+ n->name = (yyvsp[0].objwithargs);
+ n->number = (yyvsp[-1].ival);
+ (yyval.node) = (Node *) n;
+ }
+#line 36330 "gram.c"
+ break;
+
+ case 866: /* opclass_item: FUNCTION Iconst '(' type_list ')' function_with_argtypes */
+#line 6463 "gram.y"
+ {
+ 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 36344 "gram.c"
+ break;
+
+ case 867: /* opclass_item: STORAGE Typename */
+#line 6473 "gram.y"
+ {
+ CreateOpClassItem *n = makeNode(CreateOpClassItem);
+
+ n->itemtype = OPCLASS_ITEM_STORAGETYPE;
+ n->storedtype = (yyvsp[0].typnam);
+ (yyval.node) = (Node *) n;
+ }
+#line 36356 "gram.c"
+ break;
+
+ case 868: /* opt_default: DEFAULT */
+#line 6482 "gram.y"
+ { (yyval.boolean) = true; }
+#line 36362 "gram.c"
+ break;
+
+ case 869: /* opt_default: %empty */
+#line 6483 "gram.y"
+ { (yyval.boolean) = false; }
+#line 36368 "gram.c"
+ break;
+
+ case 870: /* opt_opfamily: FAMILY any_name */
+#line 6486 "gram.y"
+ { (yyval.list) = (yyvsp[0].list); }
+#line 36374 "gram.c"
+ break;
+
+ case 871: /* opt_opfamily: %empty */
+#line 6487 "gram.y"
+ { (yyval.list) = NIL; }
+#line 36380 "gram.c"
+ break;
+
+ case 872: /* opclass_purpose: FOR SEARCH */
+#line 6490 "gram.y"
+ { (yyval.list) = NIL; }
+#line 36386 "gram.c"
+ break;
+
+ case 873: /* opclass_purpose: FOR ORDER BY any_name */
+#line 6491 "gram.y"
+ { (yyval.list) = (yyvsp[0].list); }
+#line 36392 "gram.c"
+ break;
+
+ case 874: /* opclass_purpose: %empty */
+#line 6492 "gram.y"
+ { (yyval.list) = NIL; }
+#line 36398 "gram.c"
+ break;
+
+ case 875: /* opt_recheck: RECHECK */
+#line 6496 "gram.y"
+ {
+ /*
+ * 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 36416 "gram.c"
+ break;
+
+ case 876: /* opt_recheck: %empty */
+#line 6509 "gram.y"
+ { (yyval.boolean) = false; }
+#line 36422 "gram.c"
+ break;
+
+ case 877: /* CreateOpFamilyStmt: CREATE OPERATOR FAMILY any_name USING name */
+#line 6515 "gram.y"
+ {
+ CreateOpFamilyStmt *n = makeNode(CreateOpFamilyStmt);
+
+ n->opfamilyname = (yyvsp[-2].list);
+ n->amname = (yyvsp[0].str);
+ (yyval.node) = (Node *) n;
+ }
+#line 36434 "gram.c"
+ break;
+
+ case 878: /* AlterOpFamilyStmt: ALTER OPERATOR FAMILY any_name USING name ADD_P opclass_item_list */
+#line 6526 "gram.y"
+ {
+ 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 36448 "gram.c"
+ break;
+
+ case 879: /* AlterOpFamilyStmt: ALTER OPERATOR FAMILY any_name USING name DROP opclass_drop_list */
+#line 6536 "gram.y"
+ {
+ 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 36462 "gram.c"
+ break;
+
+ case 880: /* opclass_drop_list: opclass_drop */
+#line 6548 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].node)); }
+#line 36468 "gram.c"
+ break;
+
+ case 881: /* opclass_drop_list: opclass_drop_list ',' opclass_drop */
+#line 6549 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
+#line 36474 "gram.c"
+ break;
+
+ case 882: /* opclass_drop: OPERATOR Iconst '(' type_list ')' */
+#line 6554 "gram.y"
+ {
+ 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 36487 "gram.c"
+ break;
+
+ case 883: /* opclass_drop: FUNCTION Iconst '(' type_list ')' */
+#line 6563 "gram.y"
+ {
+ 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 36500 "gram.c"
+ break;
+
+ case 884: /* DropOpClassStmt: DROP OPERATOR CLASS any_name USING name opt_drop_behavior */
+#line 6576 "gram.y"
+ {
+ 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 36515 "gram.c"
+ break;
+
+ case 885: /* DropOpClassStmt: DROP OPERATOR CLASS IF_P EXISTS any_name USING name opt_drop_behavior */
+#line 6587 "gram.y"
+ {
+ 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 36530 "gram.c"
+ break;
+
+ case 886: /* DropOpFamilyStmt: DROP OPERATOR FAMILY any_name USING name opt_drop_behavior */
+#line 6601 "gram.y"
+ {
+ 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 36545 "gram.c"
+ break;
+
+ case 887: /* DropOpFamilyStmt: DROP OPERATOR FAMILY IF_P EXISTS any_name USING name opt_drop_behavior */
+#line 6612 "gram.y"
+ {
+ 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 36560 "gram.c"
+ break;
+
+ case 888: /* DropOwnedStmt: DROP OWNED BY role_list opt_drop_behavior */
+#line 6635 "gram.y"
+ {
+ DropOwnedStmt *n = makeNode(DropOwnedStmt);
+
+ n->roles = (yyvsp[-1].list);
+ n->behavior = (yyvsp[0].dbehavior);
+ (yyval.node) = (Node *) n;
+ }
+#line 36572 "gram.c"
+ break;
+
+ case 889: /* ReassignOwnedStmt: REASSIGN OWNED BY role_list TO RoleSpec */
+#line 6646 "gram.y"
+ {
+ ReassignOwnedStmt *n = makeNode(ReassignOwnedStmt);
+
+ n->roles = (yyvsp[-2].list);
+ n->newrole = (yyvsp[0].rolespec);
+ (yyval.node) = (Node *) n;
+ }
+#line 36584 "gram.c"
+ break;
+
+ case 890: /* DropStmt: DROP object_type_any_name IF_P EXISTS any_name_list opt_drop_behavior */
+#line 6665 "gram.y"
+ {
+ 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 36599 "gram.c"
+ break;
+
+ case 891: /* DropStmt: DROP object_type_any_name any_name_list opt_drop_behavior */
+#line 6676 "gram.y"
+ {
+ 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 36614 "gram.c"
+ break;
+
+ case 892: /* DropStmt: DROP drop_type_name IF_P EXISTS name_list opt_drop_behavior */
+#line 6687 "gram.y"
+ {
+ 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 36629 "gram.c"
+ break;
+
+ case 893: /* DropStmt: DROP drop_type_name name_list opt_drop_behavior */
+#line 6698 "gram.y"
+ {
+ 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 36644 "gram.c"
+ break;
+
+ case 894: /* DropStmt: DROP object_type_name_on_any_name name ON any_name opt_drop_behavior */
+#line 6709 "gram.y"
+ {
+ 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 36659 "gram.c"
+ break;
+
+ case 895: /* DropStmt: DROP object_type_name_on_any_name IF_P EXISTS name ON any_name opt_drop_behavior */
+#line 6720 "gram.y"
+ {
+ 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 36674 "gram.c"
+ break;
+
+ case 896: /* DropStmt: DROP TYPE_P type_name_list opt_drop_behavior */
+#line 6731 "gram.y"
+ {
+ 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 36689 "gram.c"
+ break;
+
+ case 897: /* DropStmt: DROP TYPE_P IF_P EXISTS type_name_list opt_drop_behavior */
+#line 6742 "gram.y"
+ {
+ 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 36704 "gram.c"
+ break;
+
+ case 898: /* DropStmt: DROP DOMAIN_P type_name_list opt_drop_behavior */
+#line 6753 "gram.y"
+ {
+ 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 36719 "gram.c"
+ break;
+
+ case 899: /* DropStmt: DROP DOMAIN_P IF_P EXISTS type_name_list opt_drop_behavior */
+#line 6764 "gram.y"
+ {
+ 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 36734 "gram.c"
+ break;
+
+ case 900: /* DropStmt: DROP INDEX CONCURRENTLY any_name_list opt_drop_behavior */
+#line 6775 "gram.y"
+ {
+ 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 36749 "gram.c"
+ break;
+
+ case 901: /* DropStmt: DROP INDEX CONCURRENTLY IF_P EXISTS any_name_list opt_drop_behavior */
+#line 6786 "gram.y"
+ {
+ 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 36764 "gram.c"
+ break;
+
+ case 902: /* object_type_any_name: TABLE */
+#line 6800 "gram.y"
+ { (yyval.objtype) = OBJECT_TABLE; }
+#line 36770 "gram.c"
+ break;
+
+ case 903: /* object_type_any_name: SEQUENCE */
+#line 6801 "gram.y"
+ { (yyval.objtype) = OBJECT_SEQUENCE; }
+#line 36776 "gram.c"
+ break;
+
+ case 904: /* object_type_any_name: VIEW */
+#line 6802 "gram.y"
+ { (yyval.objtype) = OBJECT_VIEW; }
+#line 36782 "gram.c"
+ break;
+
+ case 905: /* object_type_any_name: MATERIALIZED VIEW */
+#line 6803 "gram.y"
+ { (yyval.objtype) = OBJECT_MATVIEW; }
+#line 36788 "gram.c"
+ break;
+
+ case 906: /* object_type_any_name: INDEX */
+#line 6804 "gram.y"
+ { (yyval.objtype) = OBJECT_INDEX; }
+#line 36794 "gram.c"
+ break;
+
+ case 907: /* object_type_any_name: FOREIGN TABLE */
+#line 6805 "gram.y"
+ { (yyval.objtype) = OBJECT_FOREIGN_TABLE; }
+#line 36800 "gram.c"
+ break;
+
+ case 908: /* object_type_any_name: COLLATION */
+#line 6806 "gram.y"
+ { (yyval.objtype) = OBJECT_COLLATION; }
+#line 36806 "gram.c"
+ break;
+
+ case 909: /* object_type_any_name: CONVERSION_P */
+#line 6807 "gram.y"
+ { (yyval.objtype) = OBJECT_CONVERSION; }
+#line 36812 "gram.c"
+ break;
+
+ case 910: /* object_type_any_name: STATISTICS */
+#line 6808 "gram.y"
+ { (yyval.objtype) = OBJECT_STATISTIC_EXT; }
+#line 36818 "gram.c"
+ break;
+
+ case 911: /* object_type_any_name: TEXT_P SEARCH PARSER */
+#line 6809 "gram.y"
+ { (yyval.objtype) = OBJECT_TSPARSER; }
+#line 36824 "gram.c"
+ break;
+
+ case 912: /* object_type_any_name: TEXT_P SEARCH DICTIONARY */
+#line 6810 "gram.y"
+ { (yyval.objtype) = OBJECT_TSDICTIONARY; }
+#line 36830 "gram.c"
+ break;
+
+ case 913: /* object_type_any_name: TEXT_P SEARCH TEMPLATE */
+#line 6811 "gram.y"
+ { (yyval.objtype) = OBJECT_TSTEMPLATE; }
+#line 36836 "gram.c"
+ break;
+
+ case 914: /* object_type_any_name: TEXT_P SEARCH CONFIGURATION */
+#line 6812 "gram.y"
+ { (yyval.objtype) = OBJECT_TSCONFIGURATION; }
+#line 36842 "gram.c"
+ break;
+
+ case 915: /* object_type_name: drop_type_name */
+#line 6822 "gram.y"
+ { (yyval.objtype) = (yyvsp[0].objtype); }
+#line 36848 "gram.c"
+ break;
+
+ case 916: /* object_type_name: DATABASE */
+#line 6823 "gram.y"
+ { (yyval.objtype) = OBJECT_DATABASE; }
+#line 36854 "gram.c"
+ break;
+
+ case 917: /* object_type_name: ROLE */
+#line 6824 "gram.y"
+ { (yyval.objtype) = OBJECT_ROLE; }
+#line 36860 "gram.c"
+ break;
+
+ case 918: /* object_type_name: SUBSCRIPTION */
+#line 6825 "gram.y"
+ { (yyval.objtype) = OBJECT_SUBSCRIPTION; }
+#line 36866 "gram.c"
+ break;
+
+ case 919: /* object_type_name: TABLESPACE */
+#line 6826 "gram.y"
+ { (yyval.objtype) = OBJECT_TABLESPACE; }
+#line 36872 "gram.c"
+ break;
+
+ case 920: /* drop_type_name: ACCESS METHOD */
+#line 6830 "gram.y"
+ { (yyval.objtype) = OBJECT_ACCESS_METHOD; }
+#line 36878 "gram.c"
+ break;
+
+ case 921: /* drop_type_name: EVENT TRIGGER */
+#line 6831 "gram.y"
+ { (yyval.objtype) = OBJECT_EVENT_TRIGGER; }
+#line 36884 "gram.c"
+ break;
+
+ case 922: /* drop_type_name: EXTENSION */
+#line 6832 "gram.y"
+ { (yyval.objtype) = OBJECT_EXTENSION; }
+#line 36890 "gram.c"
+ break;
+
+ case 923: /* drop_type_name: FOREIGN DATA_P WRAPPER */
+#line 6833 "gram.y"
+ { (yyval.objtype) = OBJECT_FDW; }
+#line 36896 "gram.c"
+ break;
+
+ case 924: /* drop_type_name: opt_procedural LANGUAGE */
+#line 6834 "gram.y"
+ { (yyval.objtype) = OBJECT_LANGUAGE; }
+#line 36902 "gram.c"
+ break;
+
+ case 925: /* drop_type_name: PUBLICATION */
+#line 6835 "gram.y"
+ { (yyval.objtype) = OBJECT_PUBLICATION; }
+#line 36908 "gram.c"
+ break;
+
+ case 926: /* drop_type_name: SCHEMA */
+#line 6836 "gram.y"
+ { (yyval.objtype) = OBJECT_SCHEMA; }
+#line 36914 "gram.c"
+ break;
+
+ case 927: /* drop_type_name: SERVER */
+#line 6837 "gram.y"
+ { (yyval.objtype) = OBJECT_FOREIGN_SERVER; }
+#line 36920 "gram.c"
+ break;
+
+ case 928: /* object_type_name_on_any_name: POLICY */
+#line 6842 "gram.y"
+ { (yyval.objtype) = OBJECT_POLICY; }
+#line 36926 "gram.c"
+ break;
+
+ case 929: /* object_type_name_on_any_name: RULE */
+#line 6843 "gram.y"
+ { (yyval.objtype) = OBJECT_RULE; }
+#line 36932 "gram.c"
+ break;
+
+ case 930: /* object_type_name_on_any_name: TRIGGER */
+#line 6844 "gram.y"
+ { (yyval.objtype) = OBJECT_TRIGGER; }
+#line 36938 "gram.c"
+ break;
+
+ case 931: /* any_name_list: any_name */
+#line 6848 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].list)); }
+#line 36944 "gram.c"
+ break;
+
+ case 932: /* any_name_list: any_name_list ',' any_name */
+#line 6849 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].list)); }
+#line 36950 "gram.c"
+ break;
+
+ case 933: /* any_name: ColId */
+#line 6852 "gram.y"
+ { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
+#line 36956 "gram.c"
+ break;
+
+ case 934: /* any_name: ColId attrs */
+#line 6853 "gram.y"
+ { (yyval.list) = lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)); }
+#line 36962 "gram.c"
+ break;
+
+ case 935: /* attrs: '.' attr_name */
+#line 6857 "gram.y"
+ { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
+#line 36968 "gram.c"
+ break;
+
+ case 936: /* attrs: attrs '.' attr_name */
+#line 6859 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
+#line 36974 "gram.c"
+ break;
+
+ case 937: /* type_name_list: Typename */
+#line 6863 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].typnam)); }
+#line 36980 "gram.c"
+ break;
+
+ case 938: /* type_name_list: type_name_list ',' Typename */
+#line 6864 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].typnam)); }
+#line 36986 "gram.c"
+ break;
+
+ case 939: /* TruncateStmt: TRUNCATE opt_table relation_expr_list opt_restart_seqs opt_drop_behavior */
+#line 6876 "gram.y"
+ {
+ 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 36999 "gram.c"
+ break;
+
+ case 940: /* opt_restart_seqs: CONTINUE_P IDENTITY_P */
+#line 6887 "gram.y"
+ { (yyval.boolean) = false; }
+#line 37005 "gram.c"
+ break;
+
+ case 941: /* opt_restart_seqs: RESTART IDENTITY_P */
+#line 6888 "gram.y"
+ { (yyval.boolean) = true; }
+#line 37011 "gram.c"
+ break;
+
+ case 942: /* opt_restart_seqs: %empty */
+#line 6889 "gram.y"
+ { (yyval.boolean) = false; }
+#line 37017 "gram.c"
+ break;
+
+ case 943: /* CommentStmt: COMMENT ON object_type_any_name any_name IS comment_text */
+#line 6900 "gram.y"
+ {
+ 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 37030 "gram.c"
+ break;
+
+ case 944: /* CommentStmt: COMMENT ON COLUMN any_name IS comment_text */
+#line 6909 "gram.y"
+ {
+ CommentStmt *n = makeNode(CommentStmt);
+
+ n->objtype = OBJECT_COLUMN;
+ n->object = (Node *) (yyvsp[-2].list);
+ n->comment = (yyvsp[0].str);
+ (yyval.node) = (Node *) n;
+ }
+#line 37043 "gram.c"
+ break;
+
+ case 945: /* CommentStmt: COMMENT ON object_type_name name IS comment_text */
+#line 6918 "gram.y"
+ {
+ 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 37056 "gram.c"
+ break;
+
+ case 946: /* CommentStmt: COMMENT ON TYPE_P Typename IS comment_text */
+#line 6927 "gram.y"
+ {
+ CommentStmt *n = makeNode(CommentStmt);
+
+ n->objtype = OBJECT_TYPE;
+ n->object = (Node *) (yyvsp[-2].typnam);
+ n->comment = (yyvsp[0].str);
+ (yyval.node) = (Node *) n;
+ }
+#line 37069 "gram.c"
+ break;
+
+ case 947: /* CommentStmt: COMMENT ON DOMAIN_P Typename IS comment_text */
+#line 6936 "gram.y"
+ {
+ CommentStmt *n = makeNode(CommentStmt);
+
+ n->objtype = OBJECT_DOMAIN;
+ n->object = (Node *) (yyvsp[-2].typnam);
+ n->comment = (yyvsp[0].str);
+ (yyval.node) = (Node *) n;
+ }
+#line 37082 "gram.c"
+ break;
+
+ case 948: /* CommentStmt: COMMENT ON AGGREGATE aggregate_with_argtypes IS comment_text */
+#line 6945 "gram.y"
+ {
+ CommentStmt *n = makeNode(CommentStmt);
+
+ n->objtype = OBJECT_AGGREGATE;
+ n->object = (Node *) (yyvsp[-2].objwithargs);
+ n->comment = (yyvsp[0].str);
+ (yyval.node) = (Node *) n;
+ }
+#line 37095 "gram.c"
+ break;
+
+ case 949: /* CommentStmt: COMMENT ON FUNCTION function_with_argtypes IS comment_text */
+#line 6954 "gram.y"
+ {
+ CommentStmt *n = makeNode(CommentStmt);
+
+ n->objtype = OBJECT_FUNCTION;
+ n->object = (Node *) (yyvsp[-2].objwithargs);
+ n->comment = (yyvsp[0].str);
+ (yyval.node) = (Node *) n;
+ }
+#line 37108 "gram.c"
+ break;
+
+ case 950: /* CommentStmt: COMMENT ON OPERATOR operator_with_argtypes IS comment_text */
+#line 6963 "gram.y"
+ {
+ CommentStmt *n = makeNode(CommentStmt);
+
+ n->objtype = OBJECT_OPERATOR;
+ n->object = (Node *) (yyvsp[-2].objwithargs);
+ n->comment = (yyvsp[0].str);
+ (yyval.node) = (Node *) n;
+ }
+#line 37121 "gram.c"
+ break;
+
+ case 951: /* CommentStmt: COMMENT ON CONSTRAINT name ON any_name IS comment_text */
+#line 6972 "gram.y"
+ {
+ 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 37134 "gram.c"
+ break;
+
+ case 952: /* CommentStmt: COMMENT ON CONSTRAINT name ON DOMAIN_P any_name IS comment_text */
+#line 6981 "gram.y"
+ {
+ 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 37152 "gram.c"
+ break;
+
+ case 953: /* CommentStmt: COMMENT ON object_type_name_on_any_name name ON any_name IS comment_text */
+#line 6995 "gram.y"
+ {
+ CommentStmt *n = makeNode(CommentStmt);
+
+ n->objtype = (yyvsp[-5].objtype);
+ n->object = (Node *) lappend((yyvsp[-2].list), makeString((yyvsp[-4].str)));
+ n->comment = (yyvsp[0].str);
+ (yyval.node) = (Node *) n;
+ }
+#line 37165 "gram.c"
+ break;
+
+ case 954: /* CommentStmt: COMMENT ON PROCEDURE function_with_argtypes IS comment_text */
+#line 7004 "gram.y"
+ {
+ CommentStmt *n = makeNode(CommentStmt);
+
+ n->objtype = OBJECT_PROCEDURE;
+ n->object = (Node *) (yyvsp[-2].objwithargs);
+ n->comment = (yyvsp[0].str);
+ (yyval.node) = (Node *) n;
+ }
+#line 37178 "gram.c"
+ break;
+
+ case 955: /* CommentStmt: COMMENT ON ROUTINE function_with_argtypes IS comment_text */
+#line 7013 "gram.y"
+ {
+ CommentStmt *n = makeNode(CommentStmt);
+
+ n->objtype = OBJECT_ROUTINE;
+ n->object = (Node *) (yyvsp[-2].objwithargs);
+ n->comment = (yyvsp[0].str);
+ (yyval.node) = (Node *) n;
+ }
+#line 37191 "gram.c"
+ break;
+
+ case 956: /* CommentStmt: COMMENT ON TRANSFORM FOR Typename LANGUAGE name IS comment_text */
+#line 7022 "gram.y"
+ {
+ 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 37204 "gram.c"
+ break;
+
+ case 957: /* CommentStmt: COMMENT ON OPERATOR CLASS any_name USING name IS comment_text */
+#line 7031 "gram.y"
+ {
+ 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 37217 "gram.c"
+ break;
+
+ case 958: /* CommentStmt: COMMENT ON OPERATOR FAMILY any_name USING name IS comment_text */
+#line 7040 "gram.y"
+ {
+ 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 37230 "gram.c"
+ break;
+
+ case 959: /* CommentStmt: COMMENT ON LARGE_P OBJECT_P NumericOnly IS comment_text */
+#line 7049 "gram.y"
+ {
+ CommentStmt *n = makeNode(CommentStmt);
+
+ n->objtype = OBJECT_LARGEOBJECT;
+ n->object = (Node *) (yyvsp[-2].node);
+ n->comment = (yyvsp[0].str);
+ (yyval.node) = (Node *) n;
+ }
+#line 37243 "gram.c"
+ break;
+
+ case 960: /* CommentStmt: COMMENT ON CAST '(' Typename AS Typename ')' IS comment_text */
+#line 7058 "gram.y"
+ {
+ 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 37256 "gram.c"
+ break;
+
+ case 961: /* comment_text: Sconst */
+#line 7069 "gram.y"
+ { (yyval.str) = (yyvsp[0].str); }
+#line 37262 "gram.c"
+ break;
+
+ case 962: /* comment_text: NULL_P */
+#line 7070 "gram.y"
+ { (yyval.str) = NULL; }
+#line 37268 "gram.c"
+ break;
+
+ case 963: /* SecLabelStmt: SECURITY LABEL opt_provider ON object_type_any_name any_name IS security_label */
+#line 7086 "gram.y"
+ {
+ 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 37282 "gram.c"
+ break;
+
+ case 964: /* SecLabelStmt: SECURITY LABEL opt_provider ON COLUMN any_name IS security_label */
+#line 7097 "gram.y"
+ {
+ SecLabelStmt *n = makeNode(SecLabelStmt);
+
+ n->provider = (yyvsp[-5].str);
+ n->objtype = OBJECT_COLUMN;
+ n->object = (Node *) (yyvsp[-2].list);
+ n->label = (yyvsp[0].str);
+ (yyval.node) = (Node *) n;
+ }
+#line 37296 "gram.c"
+ break;
+
+ case 965: /* SecLabelStmt: SECURITY LABEL opt_provider ON object_type_name name IS security_label */
+#line 7108 "gram.y"
+ {
+ 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 37310 "gram.c"
+ break;
+
+ case 966: /* SecLabelStmt: SECURITY LABEL opt_provider ON TYPE_P Typename IS security_label */
+#line 7119 "gram.y"
+ {
+ 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 37324 "gram.c"
+ break;
+
+ case 967: /* SecLabelStmt: SECURITY LABEL opt_provider ON DOMAIN_P Typename IS security_label */
+#line 7130 "gram.y"
+ {
+ 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 37338 "gram.c"
+ break;
+
+ case 968: /* SecLabelStmt: SECURITY LABEL opt_provider ON AGGREGATE aggregate_with_argtypes IS security_label */
+#line 7141 "gram.y"
+ {
+ 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 37352 "gram.c"
+ break;
+
+ case 969: /* SecLabelStmt: SECURITY LABEL opt_provider ON FUNCTION function_with_argtypes IS security_label */
+#line 7152 "gram.y"
+ {
+ 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 37366 "gram.c"
+ break;
+
+ case 970: /* SecLabelStmt: SECURITY LABEL opt_provider ON LARGE_P OBJECT_P NumericOnly IS security_label */
+#line 7163 "gram.y"
+ {
+ SecLabelStmt *n = makeNode(SecLabelStmt);
+
+ n->provider = (yyvsp[-6].str);
+ n->objtype = OBJECT_LARGEOBJECT;
+ n->object = (Node *) (yyvsp[-2].node);
+ n->label = (yyvsp[0].str);
+ (yyval.node) = (Node *) n;
+ }
+#line 37380 "gram.c"
+ break;
+
+ case 971: /* SecLabelStmt: SECURITY LABEL opt_provider ON PROCEDURE function_with_argtypes IS security_label */
+#line 7174 "gram.y"
+ {
+ 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 37394 "gram.c"
+ break;
+
+ case 972: /* SecLabelStmt: SECURITY LABEL opt_provider ON ROUTINE function_with_argtypes IS security_label */
+#line 7185 "gram.y"
+ {
+ 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 37408 "gram.c"
+ break;
+
+ case 973: /* opt_provider: FOR NonReservedWord_or_Sconst */
+#line 7196 "gram.y"
+ { (yyval.str) = (yyvsp[0].str); }
+#line 37414 "gram.c"
+ break;
+
+ case 974: /* opt_provider: %empty */
+#line 7197 "gram.y"
+ { (yyval.str) = NULL; }
+#line 37420 "gram.c"
+ break;
+
+ case 975: /* security_label: Sconst */
+#line 7200 "gram.y"
+ { (yyval.str) = (yyvsp[0].str); }
+#line 37426 "gram.c"
+ break;
+
+ case 976: /* security_label: NULL_P */
+#line 7201 "gram.y"
+ { (yyval.str) = NULL; }
+#line 37432 "gram.c"
+ break;
+
+ case 977: /* FetchStmt: FETCH fetch_args */
+#line 7212 "gram.y"
+ {
+ FetchStmt *n = (FetchStmt *) (yyvsp[0].node);
+
+ n->ismove = false;
+ (yyval.node) = (Node *) n;
+ }
+#line 37443 "gram.c"
+ break;
+
+ case 978: /* FetchStmt: MOVE fetch_args */
+#line 7219 "gram.y"
+ {
+ FetchStmt *n = (FetchStmt *) (yyvsp[0].node);
+
+ n->ismove = true;
+ (yyval.node) = (Node *) n;
+ }
+#line 37454 "gram.c"
+ break;
+
+ case 979: /* fetch_args: cursor_name */
+#line 7228 "gram.y"
+ {
+ FetchStmt *n = makeNode(FetchStmt);
+
+ n->portalname = (yyvsp[0].str);
+ n->direction = FETCH_FORWARD;
+ n->howMany = 1;
+ (yyval.node) = (Node *) n;
+ }
+#line 37467 "gram.c"
+ break;
+
+ case 980: /* fetch_args: from_in cursor_name */
+#line 7237 "gram.y"
+ {
+ FetchStmt *n = makeNode(FetchStmt);
+
+ n->portalname = (yyvsp[0].str);
+ n->direction = FETCH_FORWARD;
+ n->howMany = 1;
+ (yyval.node) = (Node *) n;
+ }
+#line 37480 "gram.c"
+ break;
+
+ case 981: /* fetch_args: NEXT opt_from_in cursor_name */
+#line 7246 "gram.y"
+ {
+ FetchStmt *n = makeNode(FetchStmt);
+
+ n->portalname = (yyvsp[0].str);
+ n->direction = FETCH_FORWARD;
+ n->howMany = 1;
+ (yyval.node) = (Node *) n;
+ }
+#line 37493 "gram.c"
+ break;
+
+ case 982: /* fetch_args: PRIOR opt_from_in cursor_name */
+#line 7255 "gram.y"
+ {
+ FetchStmt *n = makeNode(FetchStmt);
+
+ n->portalname = (yyvsp[0].str);
+ n->direction = FETCH_BACKWARD;
+ n->howMany = 1;
+ (yyval.node) = (Node *) n;
+ }
+#line 37506 "gram.c"
+ break;
+
+ case 983: /* fetch_args: FIRST_P opt_from_in cursor_name */
+#line 7264 "gram.y"
+ {
+ FetchStmt *n = makeNode(FetchStmt);
+
+ n->portalname = (yyvsp[0].str);
+ n->direction = FETCH_ABSOLUTE;
+ n->howMany = 1;
+ (yyval.node) = (Node *) n;
+ }
+#line 37519 "gram.c"
+ break;
+
+ case 984: /* fetch_args: LAST_P opt_from_in cursor_name */
+#line 7273 "gram.y"
+ {
+ FetchStmt *n = makeNode(FetchStmt);
+
+ n->portalname = (yyvsp[0].str);
+ n->direction = FETCH_ABSOLUTE;
+ n->howMany = -1;
+ (yyval.node) = (Node *) n;
+ }
+#line 37532 "gram.c"
+ break;
+
+ case 985: /* fetch_args: ABSOLUTE_P SignedIconst opt_from_in cursor_name */
+#line 7282 "gram.y"
+ {
+ FetchStmt *n = makeNode(FetchStmt);
+
+ n->portalname = (yyvsp[0].str);
+ n->direction = FETCH_ABSOLUTE;
+ n->howMany = (yyvsp[-2].ival);
+ (yyval.node) = (Node *) n;
+ }
+#line 37545 "gram.c"
+ break;
+
+ case 986: /* fetch_args: RELATIVE_P SignedIconst opt_from_in cursor_name */
+#line 7291 "gram.y"
+ {
+ FetchStmt *n = makeNode(FetchStmt);
+
+ n->portalname = (yyvsp[0].str);
+ n->direction = FETCH_RELATIVE;
+ n->howMany = (yyvsp[-2].ival);
+ (yyval.node) = (Node *) n;
+ }
+#line 37558 "gram.c"
+ break;
+
+ case 987: /* fetch_args: SignedIconst opt_from_in cursor_name */
+#line 7300 "gram.y"
+ {
+ FetchStmt *n = makeNode(FetchStmt);
+
+ n->portalname = (yyvsp[0].str);
+ n->direction = FETCH_FORWARD;
+ n->howMany = (yyvsp[-2].ival);
+ (yyval.node) = (Node *) n;
+ }
+#line 37571 "gram.c"
+ break;
+
+ case 988: /* fetch_args: ALL opt_from_in cursor_name */
+#line 7309 "gram.y"
+ {
+ FetchStmt *n = makeNode(FetchStmt);
+
+ n->portalname = (yyvsp[0].str);
+ n->direction = FETCH_FORWARD;
+ n->howMany = FETCH_ALL;
+ (yyval.node) = (Node *) n;
+ }
+#line 37584 "gram.c"
+ break;
+
+ case 989: /* fetch_args: FORWARD opt_from_in cursor_name */
+#line 7318 "gram.y"
+ {
+ FetchStmt *n = makeNode(FetchStmt);
+
+ n->portalname = (yyvsp[0].str);
+ n->direction = FETCH_FORWARD;
+ n->howMany = 1;
+ (yyval.node) = (Node *) n;
+ }
+#line 37597 "gram.c"
+ break;
+
+ case 990: /* fetch_args: FORWARD SignedIconst opt_from_in cursor_name */
+#line 7327 "gram.y"
+ {
+ FetchStmt *n = makeNode(FetchStmt);
+
+ n->portalname = (yyvsp[0].str);
+ n->direction = FETCH_FORWARD;
+ n->howMany = (yyvsp[-2].ival);
+ (yyval.node) = (Node *) n;
+ }
+#line 37610 "gram.c"
+ break;
+
+ case 991: /* fetch_args: FORWARD ALL opt_from_in cursor_name */
+#line 7336 "gram.y"
+ {
+ FetchStmt *n = makeNode(FetchStmt);
+
+ n->portalname = (yyvsp[0].str);
+ n->direction = FETCH_FORWARD;
+ n->howMany = FETCH_ALL;
+ (yyval.node) = (Node *) n;
+ }
+#line 37623 "gram.c"
+ break;
+
+ case 992: /* fetch_args: BACKWARD opt_from_in cursor_name */
+#line 7345 "gram.y"
+ {
+ FetchStmt *n = makeNode(FetchStmt);
+
+ n->portalname = (yyvsp[0].str);
+ n->direction = FETCH_BACKWARD;
+ n->howMany = 1;
+ (yyval.node) = (Node *) n;
+ }
+#line 37636 "gram.c"
+ break;
+
+ case 993: /* fetch_args: BACKWARD SignedIconst opt_from_in cursor_name */
+#line 7354 "gram.y"
+ {
+ FetchStmt *n = makeNode(FetchStmt);
+
+ n->portalname = (yyvsp[0].str);
+ n->direction = FETCH_BACKWARD;
+ n->howMany = (yyvsp[-2].ival);
+ (yyval.node) = (Node *) n;
+ }
+#line 37649 "gram.c"
+ break;
+
+ case 994: /* fetch_args: BACKWARD ALL opt_from_in cursor_name */
+#line 7363 "gram.y"
+ {
+ FetchStmt *n = makeNode(FetchStmt);
+
+ n->portalname = (yyvsp[0].str);
+ n->direction = FETCH_BACKWARD;
+ n->howMany = FETCH_ALL;
+ (yyval.node) = (Node *) n;
+ }
+#line 37662 "gram.c"
+ break;
+
+ case 999: /* GrantStmt: GRANT privileges ON privilege_target TO grantee_list opt_grant_grant_option opt_granted_by */
+#line 7390 "gram.y"
+ {
+ GrantStmt *n = makeNode(GrantStmt);
+
+ n->is_grant = true;
+ n->privileges = (yyvsp[-6].list);
+ n->targtype = ((yyvsp[-4].privtarget))->targtype;
+ n->objtype = ((yyvsp[-4].privtarget))->objtype;
+ n->objects = ((yyvsp[-4].privtarget))->objs;
+ n->grantees = (yyvsp[-2].list);
+ n->grant_option = (yyvsp[-1].boolean);
+ n->grantor = (yyvsp[0].rolespec);
+ (yyval.node) = (Node *) n;
+ }
+#line 37680 "gram.c"
+ break;
+
+ case 1000: /* RevokeStmt: REVOKE privileges ON privilege_target FROM grantee_list opt_granted_by opt_drop_behavior */
+#line 7408 "gram.y"
+ {
+ GrantStmt *n = makeNode(GrantStmt);
+
+ n->is_grant = false;
+ n->grant_option = false;
+ n->privileges = (yyvsp[-6].list);
+ n->targtype = ((yyvsp[-4].privtarget))->targtype;
+ n->objtype = ((yyvsp[-4].privtarget))->objtype;
+ n->objects = ((yyvsp[-4].privtarget))->objs;
+ n->grantees = (yyvsp[-2].list);
+ n->grantor = (yyvsp[-1].rolespec);
+ n->behavior = (yyvsp[0].dbehavior);
+ (yyval.node) = (Node *) n;
+ }
+#line 37699 "gram.c"
+ break;
+
+ case 1001: /* RevokeStmt: REVOKE GRANT OPTION FOR privileges ON privilege_target FROM grantee_list opt_granted_by opt_drop_behavior */
+#line 7424 "gram.y"
+ {
+ GrantStmt *n = makeNode(GrantStmt);
+
+ n->is_grant = false;
+ n->grant_option = true;
+ n->privileges = (yyvsp[-6].list);
+ n->targtype = ((yyvsp[-4].privtarget))->targtype;
+ n->objtype = ((yyvsp[-4].privtarget))->objtype;
+ n->objects = ((yyvsp[-4].privtarget))->objs;
+ n->grantees = (yyvsp[-2].list);
+ n->grantor = (yyvsp[-1].rolespec);
+ n->behavior = (yyvsp[0].dbehavior);
+ (yyval.node) = (Node *) n;
+ }
+#line 37718 "gram.c"
+ break;
+
+ case 1002: /* privileges: privilege_list */
+#line 7451 "gram.y"
+ { (yyval.list) = (yyvsp[0].list); }
+#line 37724 "gram.c"
+ break;
+
+ case 1003: /* privileges: ALL */
+#line 7453 "gram.y"
+ { (yyval.list) = NIL; }
+#line 37730 "gram.c"
+ break;
+
+ case 1004: /* privileges: ALL PRIVILEGES */
+#line 7455 "gram.y"
+ { (yyval.list) = NIL; }
+#line 37736 "gram.c"
+ break;
+
+ case 1005: /* privileges: ALL '(' columnList ')' */
+#line 7457 "gram.y"
+ {
+ AccessPriv *n = makeNode(AccessPriv);
+
+ n->priv_name = NULL;
+ n->cols = (yyvsp[-1].list);
+ (yyval.list) = list_make1(n);
+ }
+#line 37748 "gram.c"
+ break;
+
+ case 1006: /* privileges: ALL PRIVILEGES '(' columnList ')' */
+#line 7465 "gram.y"
+ {
+ AccessPriv *n = makeNode(AccessPriv);
+
+ n->priv_name = NULL;
+ n->cols = (yyvsp[-1].list);
+ (yyval.list) = list_make1(n);
+ }
+#line 37760 "gram.c"
+ break;
+
+ case 1007: /* privilege_list: privilege */
+#line 7474 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].accesspriv)); }
+#line 37766 "gram.c"
+ break;
+
+ case 1008: /* privilege_list: privilege_list ',' privilege */
+#line 7475 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].accesspriv)); }
+#line 37772 "gram.c"
+ break;
+
+ case 1009: /* privilege: SELECT opt_column_list */
+#line 7479 "gram.y"
+ {
+ AccessPriv *n = makeNode(AccessPriv);
+
+ n->priv_name = pstrdup((yyvsp[-1].keyword));
+ n->cols = (yyvsp[0].list);
+ (yyval.accesspriv) = n;
+ }
+#line 37784 "gram.c"
+ break;
+
+ case 1010: /* privilege: REFERENCES opt_column_list */
+#line 7487 "gram.y"
+ {
+ AccessPriv *n = makeNode(AccessPriv);
+
+ n->priv_name = pstrdup((yyvsp[-1].keyword));
+ n->cols = (yyvsp[0].list);
+ (yyval.accesspriv) = n;
+ }
+#line 37796 "gram.c"
+ break;
+
+ case 1011: /* privilege: CREATE opt_column_list */
+#line 7495 "gram.y"
+ {
+ AccessPriv *n = makeNode(AccessPriv);
+
+ n->priv_name = pstrdup((yyvsp[-1].keyword));
+ n->cols = (yyvsp[0].list);
+ (yyval.accesspriv) = n;
+ }
+#line 37808 "gram.c"
+ break;
+
+ case 1012: /* privilege: ALTER SYSTEM_P */
+#line 7503 "gram.y"
+ {
+ AccessPriv *n = makeNode(AccessPriv);
+ n->priv_name = pstrdup("alter system");
+ n->cols = NIL;
+ (yyval.accesspriv) = n;
+ }
+#line 37819 "gram.c"
+ break;
+
+ case 1013: /* privilege: ColId opt_column_list */
+#line 7510 "gram.y"
+ {
+ AccessPriv *n = makeNode(AccessPriv);
+
+ n->priv_name = (yyvsp[-1].str);
+ n->cols = (yyvsp[0].list);
+ (yyval.accesspriv) = n;
+ }
+#line 37831 "gram.c"
+ break;
+
+ case 1014: /* parameter_name_list: parameter_name */
+#line 7521 "gram.y"
+ {
+ (yyval.list) = list_make1(makeString((yyvsp[0].str)));
+ }
+#line 37839 "gram.c"
+ break;
+
+ case 1015: /* parameter_name_list: parameter_name_list ',' parameter_name */
+#line 7525 "gram.y"
+ {
+ (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str)));
+ }
+#line 37847 "gram.c"
+ break;
+
+ case 1016: /* parameter_name: ColId */
+#line 7532 "gram.y"
+ {
+ (yyval.str) = (yyvsp[0].str);
+ }
+#line 37855 "gram.c"
+ break;
+
+ case 1017: /* parameter_name: parameter_name '.' ColId */
+#line 7536 "gram.y"
+ {
+ (yyval.str) = psprintf("%s.%s", (yyvsp[-2].str), (yyvsp[0].str));
+ }
+#line 37863 "gram.c"
+ break;
+
+ case 1018: /* privilege_target: qualified_name_list */
+#line 7547 "gram.y"
+ {
+ PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
+
+ n->targtype = ACL_TARGET_OBJECT;
+ n->objtype = OBJECT_TABLE;
+ n->objs = (yyvsp[0].list);
+ (yyval.privtarget) = n;
+ }
+#line 37876 "gram.c"
+ break;
+
+ case 1019: /* privilege_target: TABLE qualified_name_list */
+#line 7556 "gram.y"
+ {
+ PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
+
+ n->targtype = ACL_TARGET_OBJECT;
+ n->objtype = OBJECT_TABLE;
+ n->objs = (yyvsp[0].list);
+ (yyval.privtarget) = n;
+ }
+#line 37889 "gram.c"
+ break;
+
+ case 1020: /* privilege_target: SEQUENCE qualified_name_list */
+#line 7565 "gram.y"
+ {
+ PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
+
+ n->targtype = ACL_TARGET_OBJECT;
+ n->objtype = OBJECT_SEQUENCE;
+ n->objs = (yyvsp[0].list);
+ (yyval.privtarget) = n;
+ }
+#line 37902 "gram.c"
+ break;
+
+ case 1021: /* privilege_target: FOREIGN DATA_P WRAPPER name_list */
+#line 7574 "gram.y"
+ {
+ PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
+
+ n->targtype = ACL_TARGET_OBJECT;
+ n->objtype = OBJECT_FDW;
+ n->objs = (yyvsp[0].list);
+ (yyval.privtarget) = n;
+ }
+#line 37915 "gram.c"
+ break;
+
+ case 1022: /* privilege_target: FOREIGN SERVER name_list */
+#line 7583 "gram.y"
+ {
+ 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 37928 "gram.c"
+ break;
+
+ case 1023: /* privilege_target: FUNCTION function_with_argtypes_list */
+#line 7592 "gram.y"
+ {
+ PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
+
+ n->targtype = ACL_TARGET_OBJECT;
+ n->objtype = OBJECT_FUNCTION;
+ n->objs = (yyvsp[0].list);
+ (yyval.privtarget) = n;
+ }
+#line 37941 "gram.c"
+ break;
+
+ case 1024: /* privilege_target: PROCEDURE function_with_argtypes_list */
+#line 7601 "gram.y"
+ {
+ PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
+
+ n->targtype = ACL_TARGET_OBJECT;
+ n->objtype = OBJECT_PROCEDURE;
+ n->objs = (yyvsp[0].list);
+ (yyval.privtarget) = n;
+ }
+#line 37954 "gram.c"
+ break;
+
+ case 1025: /* privilege_target: ROUTINE function_with_argtypes_list */
+#line 7610 "gram.y"
+ {
+ PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
+
+ n->targtype = ACL_TARGET_OBJECT;
+ n->objtype = OBJECT_ROUTINE;
+ n->objs = (yyvsp[0].list);
+ (yyval.privtarget) = n;
+ }
+#line 37967 "gram.c"
+ break;
+
+ case 1026: /* privilege_target: DATABASE name_list */
+#line 7619 "gram.y"
+ {
+ PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
+
+ n->targtype = ACL_TARGET_OBJECT;
+ n->objtype = OBJECT_DATABASE;
+ n->objs = (yyvsp[0].list);
+ (yyval.privtarget) = n;
+ }
+#line 37980 "gram.c"
+ break;
+
+ case 1027: /* privilege_target: DOMAIN_P any_name_list */
+#line 7628 "gram.y"
+ {
+ PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
+
+ n->targtype = ACL_TARGET_OBJECT;
+ n->objtype = OBJECT_DOMAIN;
+ n->objs = (yyvsp[0].list);
+ (yyval.privtarget) = n;
+ }
+#line 37993 "gram.c"
+ break;
+
+ case 1028: /* privilege_target: LANGUAGE name_list */
+#line 7637 "gram.y"
+ {
+ PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
+
+ n->targtype = ACL_TARGET_OBJECT;
+ n->objtype = OBJECT_LANGUAGE;
+ n->objs = (yyvsp[0].list);
+ (yyval.privtarget) = n;
+ }
+#line 38006 "gram.c"
+ break;
+
+ case 1029: /* privilege_target: LARGE_P OBJECT_P NumericOnly_list */
+#line 7646 "gram.y"
+ {
+ PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
+
+ n->targtype = ACL_TARGET_OBJECT;
+ n->objtype = OBJECT_LARGEOBJECT;
+ n->objs = (yyvsp[0].list);
+ (yyval.privtarget) = n;
+ }
+#line 38019 "gram.c"
+ break;
+
+ case 1030: /* privilege_target: PARAMETER parameter_name_list */
+#line 7655 "gram.y"
+ {
+ PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
+ n->targtype = ACL_TARGET_OBJECT;
+ n->objtype = OBJECT_PARAMETER_ACL;
+ n->objs = (yyvsp[0].list);
+ (yyval.privtarget) = n;
+ }
+#line 38031 "gram.c"
+ break;
+
+ case 1031: /* privilege_target: SCHEMA name_list */
+#line 7663 "gram.y"
+ {
+ PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
+
+ n->targtype = ACL_TARGET_OBJECT;
+ n->objtype = OBJECT_SCHEMA;
+ n->objs = (yyvsp[0].list);
+ (yyval.privtarget) = n;
+ }
+#line 38044 "gram.c"
+ break;
+
+ case 1032: /* privilege_target: TABLESPACE name_list */
+#line 7672 "gram.y"
+ {
+ PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
+
+ n->targtype = ACL_TARGET_OBJECT;
+ n->objtype = OBJECT_TABLESPACE;
+ n->objs = (yyvsp[0].list);
+ (yyval.privtarget) = n;
+ }
+#line 38057 "gram.c"
+ break;
+
+ case 1033: /* privilege_target: TYPE_P any_name_list */
+#line 7681 "gram.y"
+ {
+ PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
+
+ n->targtype = ACL_TARGET_OBJECT;
+ n->objtype = OBJECT_TYPE;
+ n->objs = (yyvsp[0].list);
+ (yyval.privtarget) = n;
+ }
+#line 38070 "gram.c"
+ break;
+
+ case 1034: /* privilege_target: ALL TABLES IN_P SCHEMA name_list */
+#line 7690 "gram.y"
+ {
+ 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 38083 "gram.c"
+ break;
+
+ case 1035: /* privilege_target: ALL SEQUENCES IN_P SCHEMA name_list */
+#line 7699 "gram.y"
+ {
+ 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 38096 "gram.c"
+ break;
+
+ case 1036: /* privilege_target: ALL FUNCTIONS IN_P SCHEMA name_list */
+#line 7708 "gram.y"
+ {
+ 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 38109 "gram.c"
+ break;
+
+ case 1037: /* privilege_target: ALL PROCEDURES IN_P SCHEMA name_list */
+#line 7717 "gram.y"
+ {
+ 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 38122 "gram.c"
+ break;
+
+ case 1038: /* privilege_target: ALL ROUTINES IN_P SCHEMA name_list */
+#line 7726 "gram.y"
+ {
+ 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 38135 "gram.c"
+ break;
+
+ case 1039: /* grantee_list: grantee */
+#line 7738 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].rolespec)); }
+#line 38141 "gram.c"
+ break;
+
+ case 1040: /* grantee_list: grantee_list ',' grantee */
+#line 7739 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].rolespec)); }
+#line 38147 "gram.c"
+ break;
+
+ case 1041: /* grantee: RoleSpec */
+#line 7743 "gram.y"
+ { (yyval.rolespec) = (yyvsp[0].rolespec); }
+#line 38153 "gram.c"
+ break;
+
+ case 1042: /* grantee: GROUP_P RoleSpec */
+#line 7744 "gram.y"
+ { (yyval.rolespec) = (yyvsp[0].rolespec); }
+#line 38159 "gram.c"
+ break;
+
+ case 1043: /* opt_grant_grant_option: WITH GRANT OPTION */
+#line 7749 "gram.y"
+ { (yyval.boolean) = true; }
+#line 38165 "gram.c"
+ break;
+
+ case 1044: /* opt_grant_grant_option: %empty */
+#line 7750 "gram.y"
+ { (yyval.boolean) = false; }
+#line 38171 "gram.c"
+ break;
+
+ case 1045: /* GrantRoleStmt: GRANT privilege_list TO role_list opt_granted_by */
+#line 7761 "gram.y"
+ {
+ GrantRoleStmt *n = makeNode(GrantRoleStmt);
+
+ n->is_grant = true;
+ n->granted_roles = (yyvsp[-3].list);
+ n->grantee_roles = (yyvsp[-1].list);
+ n->opt = NIL;
+ n->grantor = (yyvsp[0].rolespec);
+ (yyval.node) = (Node *) n;
+ }
+#line 38186 "gram.c"
+ break;
+
+ case 1046: /* GrantRoleStmt: GRANT privilege_list TO role_list WITH grant_role_opt_list opt_granted_by */
+#line 7772 "gram.y"
+ {
+ GrantRoleStmt *n = makeNode(GrantRoleStmt);
+
+ n->is_grant = true;
+ n->granted_roles = (yyvsp[-5].list);
+ n->grantee_roles = (yyvsp[-3].list);
+ n->opt = (yyvsp[-1].list);
+ n->grantor = (yyvsp[0].rolespec);
+ (yyval.node) = (Node *) n;
+ }
+#line 38201 "gram.c"
+ break;
+
+ case 1047: /* RevokeRoleStmt: REVOKE privilege_list FROM role_list opt_granted_by opt_drop_behavior */
+#line 7786 "gram.y"
+ {
+ GrantRoleStmt *n = makeNode(GrantRoleStmt);
+
+ n->is_grant = false;
+ n->opt = NIL;
+ n->granted_roles = (yyvsp[-4].list);
+ n->grantee_roles = (yyvsp[-2].list);
+ n->grantor = (yyvsp[-1].rolespec);
+ n->behavior = (yyvsp[0].dbehavior);
+ (yyval.node) = (Node *) n;
+ }
+#line 38217 "gram.c"
+ break;
+
+ case 1048: /* RevokeRoleStmt: REVOKE ColId OPTION FOR privilege_list FROM role_list opt_granted_by opt_drop_behavior */
+#line 7798 "gram.y"
+ {
+ GrantRoleStmt *n = makeNode(GrantRoleStmt);
+ DefElem *opt;
+
+ opt = makeDefElem(pstrdup((yyvsp[-7].str)),
+ (Node *) makeBoolean(false), (yylsp[-7]));
+ n->is_grant = false;
+ n->opt = list_make1(opt);
+ n->granted_roles = (yyvsp[-4].list);
+ n->grantee_roles = (yyvsp[-2].list);
+ n->grantor = (yyvsp[-1].rolespec);
+ n->behavior = (yyvsp[0].dbehavior);
+ (yyval.node) = (Node *) n;
+ }
+#line 38236 "gram.c"
+ break;
+
+ case 1049: /* grant_role_opt_list: grant_role_opt_list ',' grant_role_opt */
+#line 7815 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
+#line 38242 "gram.c"
+ break;
+
+ case 1050: /* grant_role_opt_list: grant_role_opt */
+#line 7816 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].defelt)); }
+#line 38248 "gram.c"
+ break;
+
+ case 1051: /* grant_role_opt: ColLabel grant_role_opt_value */
+#line 7821 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem(pstrdup((yyvsp[-1].str)), (yyvsp[0].node), (yylsp[-1]));
+ }
+#line 38256 "gram.c"
+ break;
+
+ case 1052: /* grant_role_opt_value: OPTION */
+#line 7827 "gram.y"
+ { (yyval.node) = (Node *) makeBoolean(true); }
+#line 38262 "gram.c"
+ break;
+
+ case 1053: /* grant_role_opt_value: TRUE_P */
+#line 7828 "gram.y"
+ { (yyval.node) = (Node *) makeBoolean(true); }
+#line 38268 "gram.c"
+ break;
+
+ case 1054: /* grant_role_opt_value: FALSE_P */
+#line 7829 "gram.y"
+ { (yyval.node) = (Node *) makeBoolean(false); }
+#line 38274 "gram.c"
+ break;
+
+ case 1055: /* opt_granted_by: GRANTED BY RoleSpec */
+#line 7832 "gram.y"
+ { (yyval.rolespec) = (yyvsp[0].rolespec); }
+#line 38280 "gram.c"
+ break;
+
+ case 1056: /* opt_granted_by: %empty */
+#line 7833 "gram.y"
+ { (yyval.rolespec) = NULL; }
+#line 38286 "gram.c"
+ break;
+
+ case 1057: /* AlterDefaultPrivilegesStmt: ALTER DEFAULT PRIVILEGES DefACLOptionList DefACLAction */
+#line 7844 "gram.y"
+ {
+ AlterDefaultPrivilegesStmt *n = makeNode(AlterDefaultPrivilegesStmt);
+
+ n->options = (yyvsp[-1].list);
+ n->action = (GrantStmt *) (yyvsp[0].node);
+ (yyval.node) = (Node *) n;
+ }
+#line 38298 "gram.c"
+ break;
+
+ case 1058: /* DefACLOptionList: DefACLOptionList DefACLOption */
+#line 7854 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
+#line 38304 "gram.c"
+ break;
+
+ case 1059: /* DefACLOptionList: %empty */
+#line 7855 "gram.y"
+ { (yyval.list) = NIL; }
+#line 38310 "gram.c"
+ break;
+
+ case 1060: /* DefACLOption: IN_P SCHEMA name_list */
+#line 7860 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("schemas", (Node *) (yyvsp[0].list), (yylsp[-2]));
+ }
+#line 38318 "gram.c"
+ break;
+
+ case 1061: /* DefACLOption: FOR ROLE role_list */
+#line 7864 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("roles", (Node *) (yyvsp[0].list), (yylsp[-2]));
+ }
+#line 38326 "gram.c"
+ break;
+
+ case 1062: /* DefACLOption: FOR USER role_list */
+#line 7868 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("roles", (Node *) (yyvsp[0].list), (yylsp[-2]));
+ }
+#line 38334 "gram.c"
+ break;
+
+ case 1063: /* DefACLAction: GRANT privileges ON defacl_privilege_target TO grantee_list opt_grant_grant_option */
+#line 7880 "gram.y"
+ {
+ 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 38351 "gram.c"
+ break;
+
+ case 1064: /* DefACLAction: REVOKE privileges ON defacl_privilege_target FROM grantee_list opt_drop_behavior */
+#line 7894 "gram.y"
+ {
+ 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 38369 "gram.c"
+ break;
+
+ case 1065: /* DefACLAction: REVOKE GRANT OPTION FOR privileges ON defacl_privilege_target FROM grantee_list opt_drop_behavior */
+#line 7909 "gram.y"
+ {
+ 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 38387 "gram.c"
+ break;
+
+ case 1066: /* defacl_privilege_target: TABLES */
+#line 7925 "gram.y"
+ { (yyval.ival) = OBJECT_TABLE; }
+#line 38393 "gram.c"
+ break;
+
+ case 1067: /* defacl_privilege_target: FUNCTIONS */
+#line 7926 "gram.y"
+ { (yyval.ival) = OBJECT_FUNCTION; }
+#line 38399 "gram.c"
+ break;
+
+ case 1068: /* defacl_privilege_target: ROUTINES */
+#line 7927 "gram.y"
+ { (yyval.ival) = OBJECT_FUNCTION; }
+#line 38405 "gram.c"
+ break;
+
+ case 1069: /* defacl_privilege_target: SEQUENCES */
+#line 7928 "gram.y"
+ { (yyval.ival) = OBJECT_SEQUENCE; }
+#line 38411 "gram.c"
+ break;
+
+ case 1070: /* defacl_privilege_target: TYPES_P */
+#line 7929 "gram.y"
+ { (yyval.ival) = OBJECT_TYPE; }
+#line 38417 "gram.c"
+ break;
+
+ case 1071: /* defacl_privilege_target: SCHEMAS */
+#line 7930 "gram.y"
+ { (yyval.ival) = OBJECT_SCHEMA; }
+#line 38423 "gram.c"
+ break;
+
+ case 1072: /* IndexStmt: CREATE opt_unique INDEX opt_concurrently opt_single_name ON relation_expr access_method_clause '(' index_params ')' opt_include opt_unique_null_treatment opt_reloptions OptTableSpace where_clause */
+#line 7945 "gram.y"
+ {
+ IndexStmt *n = makeNode(IndexStmt);
+
+ n->unique = (yyvsp[-14].boolean);
+ n->concurrent = (yyvsp[-12].boolean);
+ n->idxname = (yyvsp[-11].str);
+ n->relation = (yyvsp[-9].range);
+ n->accessMethod = (yyvsp[-8].str);
+ n->indexParams = (yyvsp[-6].list);
+ n->indexIncludingParams = (yyvsp[-4].list);
+ n->nulls_not_distinct = !(yyvsp[-3].boolean);
+ 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->oldNumber = InvalidRelFileNumber;
+ n->oldCreateSubid = InvalidSubTransactionId;
+ n->oldFirstRelfilelocatorSubid = InvalidSubTransactionId;
+ 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 38457 "gram.c"
+ break;
+
+ case 1073: /* IndexStmt: CREATE opt_unique INDEX opt_concurrently IF_P NOT EXISTS name ON relation_expr access_method_clause '(' index_params ')' opt_include opt_unique_null_treatment opt_reloptions OptTableSpace where_clause */
+#line 7977 "gram.y"
+ {
+ IndexStmt *n = makeNode(IndexStmt);
+
+ n->unique = (yyvsp[-17].boolean);
+ n->concurrent = (yyvsp[-15].boolean);
+ n->idxname = (yyvsp[-11].str);
+ n->relation = (yyvsp[-9].range);
+ n->accessMethod = (yyvsp[-8].str);
+ n->indexParams = (yyvsp[-6].list);
+ n->indexIncludingParams = (yyvsp[-4].list);
+ n->nulls_not_distinct = !(yyvsp[-3].boolean);
+ 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->oldNumber = InvalidRelFileNumber;
+ n->oldCreateSubid = InvalidSubTransactionId;
+ n->oldFirstRelfilelocatorSubid = InvalidSubTransactionId;
+ 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 38491 "gram.c"
+ break;
+
+ case 1074: /* opt_unique: UNIQUE */
+#line 8009 "gram.y"
+ { (yyval.boolean) = true; }
+#line 38497 "gram.c"
+ break;
+
+ case 1075: /* opt_unique: %empty */
+#line 8010 "gram.y"
+ { (yyval.boolean) = false; }
+#line 38503 "gram.c"
+ break;
+
+ case 1076: /* access_method_clause: USING name */
+#line 8014 "gram.y"
+ { (yyval.str) = (yyvsp[0].str); }
+#line 38509 "gram.c"
+ break;
+
+ case 1077: /* access_method_clause: %empty */
+#line 8015 "gram.y"
+ { (yyval.str) = DEFAULT_INDEX_TYPE; }
+#line 38515 "gram.c"
+ break;
+
+ case 1078: /* index_params: index_elem */
+#line 8018 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].ielem)); }
+#line 38521 "gram.c"
+ break;
+
+ case 1079: /* index_params: index_params ',' index_elem */
+#line 8019 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].ielem)); }
+#line 38527 "gram.c"
+ break;
+
+ case 1080: /* index_elem_options: opt_collate opt_qualified_name opt_asc_desc opt_nulls_order */
+#line 8025 "gram.y"
+ {
+ (yyval.ielem) = makeNode(IndexElem);
+ (yyval.ielem)->name = NULL;
+ (yyval.ielem)->expr = NULL;
+ (yyval.ielem)->indexcolname = NULL;
+ (yyval.ielem)->collation = (yyvsp[-3].list);
+ (yyval.ielem)->opclass = (yyvsp[-2].list);
+ (yyval.ielem)->opclassopts = NIL;
+ (yyval.ielem)->ordering = (yyvsp[-1].ival);
+ (yyval.ielem)->nulls_ordering = (yyvsp[0].ival);
+ }
+#line 38543 "gram.c"
+ break;
+
+ case 1081: /* index_elem_options: opt_collate any_name reloptions opt_asc_desc opt_nulls_order */
+#line 8037 "gram.y"
+ {
+ (yyval.ielem) = makeNode(IndexElem);
+ (yyval.ielem)->name = NULL;
+ (yyval.ielem)->expr = NULL;
+ (yyval.ielem)->indexcolname = NULL;
+ (yyval.ielem)->collation = (yyvsp[-4].list);
+ (yyval.ielem)->opclass = (yyvsp[-3].list);
+ (yyval.ielem)->opclassopts = (yyvsp[-2].list);
+ (yyval.ielem)->ordering = (yyvsp[-1].ival);
+ (yyval.ielem)->nulls_ordering = (yyvsp[0].ival);
+ }
+#line 38559 "gram.c"
+ break;
+
+ case 1082: /* index_elem: ColId index_elem_options */
+#line 8056 "gram.y"
+ {
+ (yyval.ielem) = (yyvsp[0].ielem);
+ (yyval.ielem)->name = (yyvsp[-1].str);
+ }
+#line 38568 "gram.c"
+ break;
+
+ case 1083: /* index_elem: func_expr_windowless index_elem_options */
+#line 8061 "gram.y"
+ {
+ (yyval.ielem) = (yyvsp[0].ielem);
+ (yyval.ielem)->expr = (yyvsp[-1].node);
+ }
+#line 38577 "gram.c"
+ break;
+
+ case 1084: /* index_elem: '(' a_expr ')' index_elem_options */
+#line 8066 "gram.y"
+ {
+ (yyval.ielem) = (yyvsp[0].ielem);
+ (yyval.ielem)->expr = (yyvsp[-2].node);
+ }
+#line 38586 "gram.c"
+ break;
+
+ case 1085: /* opt_include: INCLUDE '(' index_including_params ')' */
+#line 8072 "gram.y"
+ { (yyval.list) = (yyvsp[-1].list); }
+#line 38592 "gram.c"
+ break;
+
+ case 1086: /* opt_include: %empty */
+#line 8073 "gram.y"
+ { (yyval.list) = NIL; }
+#line 38598 "gram.c"
+ break;
+
+ case 1087: /* index_including_params: index_elem */
+#line 8076 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].ielem)); }
+#line 38604 "gram.c"
+ break;
+
+ case 1088: /* index_including_params: index_including_params ',' index_elem */
+#line 8077 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].ielem)); }
+#line 38610 "gram.c"
+ break;
+
+ case 1089: /* opt_collate: COLLATE any_name */
+#line 8080 "gram.y"
+ { (yyval.list) = (yyvsp[0].list); }
+#line 38616 "gram.c"
+ break;
+
+ case 1090: /* opt_collate: %empty */
+#line 8081 "gram.y"
+ { (yyval.list) = NIL; }
+#line 38622 "gram.c"
+ break;
+
+ case 1091: /* opt_asc_desc: ASC */
+#line 8085 "gram.y"
+ { (yyval.ival) = SORTBY_ASC; }
+#line 38628 "gram.c"
+ break;
+
+ case 1092: /* opt_asc_desc: DESC */
+#line 8086 "gram.y"
+ { (yyval.ival) = SORTBY_DESC; }
+#line 38634 "gram.c"
+ break;
+
+ case 1093: /* opt_asc_desc: %empty */
+#line 8087 "gram.y"
+ { (yyval.ival) = SORTBY_DEFAULT; }
+#line 38640 "gram.c"
+ break;
+
+ case 1094: /* opt_nulls_order: NULLS_LA FIRST_P */
+#line 8090 "gram.y"
+ { (yyval.ival) = SORTBY_NULLS_FIRST; }
+#line 38646 "gram.c"
+ break;
+
+ case 1095: /* opt_nulls_order: NULLS_LA LAST_P */
+#line 8091 "gram.y"
+ { (yyval.ival) = SORTBY_NULLS_LAST; }
+#line 38652 "gram.c"
+ break;
+
+ case 1096: /* opt_nulls_order: %empty */
+#line 8092 "gram.y"
+ { (yyval.ival) = SORTBY_NULLS_DEFAULT; }
+#line 38658 "gram.c"
+ break;
+
+ case 1097: /* CreateFunctionStmt: CREATE opt_or_replace FUNCTION func_name func_args_with_defaults RETURNS func_return opt_createfunc_opt_list opt_routine_body */
+#line 8110 "gram.y"
+ {
+ CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
+
+ n->is_procedure = false;
+ n->replace = (yyvsp[-7].boolean);
+ n->funcname = (yyvsp[-5].list);
+ n->parameters = (yyvsp[-4].list);
+ n->returnType = (yyvsp[-2].typnam);
+ n->options = (yyvsp[-1].list);
+ n->sql_body = (yyvsp[0].node);
+ (yyval.node) = (Node *) n;
+ }
+#line 38675 "gram.c"
+ break;
+
+ case 1098: /* CreateFunctionStmt: CREATE opt_or_replace FUNCTION func_name func_args_with_defaults RETURNS TABLE '(' table_func_column_list ')' opt_createfunc_opt_list opt_routine_body */
+#line 8124 "gram.y"
+ {
+ CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
+
+ n->is_procedure = false;
+ n->replace = (yyvsp[-10].boolean);
+ n->funcname = (yyvsp[-8].list);
+ n->parameters = mergeTableFuncParameters((yyvsp[-7].list), (yyvsp[-3].list));
+ n->returnType = TableFuncTypeName((yyvsp[-3].list));
+ n->returnType->location = (yylsp[-5]);
+ n->options = (yyvsp[-1].list);
+ n->sql_body = (yyvsp[0].node);
+ (yyval.node) = (Node *) n;
+ }
+#line 38693 "gram.c"
+ break;
+
+ case 1099: /* CreateFunctionStmt: CREATE opt_or_replace FUNCTION func_name func_args_with_defaults opt_createfunc_opt_list opt_routine_body */
+#line 8139 "gram.y"
+ {
+ CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
+
+ n->is_procedure = false;
+ n->replace = (yyvsp[-5].boolean);
+ n->funcname = (yyvsp[-3].list);
+ n->parameters = (yyvsp[-2].list);
+ n->returnType = NULL;
+ n->options = (yyvsp[-1].list);
+ n->sql_body = (yyvsp[0].node);
+ (yyval.node) = (Node *) n;
+ }
+#line 38710 "gram.c"
+ break;
+
+ case 1100: /* CreateFunctionStmt: CREATE opt_or_replace PROCEDURE func_name func_args_with_defaults opt_createfunc_opt_list opt_routine_body */
+#line 8153 "gram.y"
+ {
+ CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
+
+ n->is_procedure = true;
+ n->replace = (yyvsp[-5].boolean);
+ n->funcname = (yyvsp[-3].list);
+ n->parameters = (yyvsp[-2].list);
+ n->returnType = NULL;
+ n->options = (yyvsp[-1].list);
+ n->sql_body = (yyvsp[0].node);
+ (yyval.node) = (Node *) n;
+ }
+#line 38727 "gram.c"
+ break;
+
+ case 1101: /* opt_or_replace: OR REPLACE */
+#line 8168 "gram.y"
+ { (yyval.boolean) = true; }
+#line 38733 "gram.c"
+ break;
+
+ case 1102: /* opt_or_replace: %empty */
+#line 8169 "gram.y"
+ { (yyval.boolean) = false; }
+#line 38739 "gram.c"
+ break;
+
+ case 1103: /* func_args: '(' func_args_list ')' */
+#line 8172 "gram.y"
+ { (yyval.list) = (yyvsp[-1].list); }
+#line 38745 "gram.c"
+ break;
+
+ case 1104: /* func_args: '(' ')' */
+#line 8173 "gram.y"
+ { (yyval.list) = NIL; }
+#line 38751 "gram.c"
+ break;
+
+ case 1105: /* func_args_list: func_arg */
+#line 8177 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].fun_param)); }
+#line 38757 "gram.c"
+ break;
+
+ case 1106: /* func_args_list: func_args_list ',' func_arg */
+#line 8178 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param)); }
+#line 38763 "gram.c"
+ break;
+
+ case 1107: /* function_with_argtypes_list: function_with_argtypes */
+#line 8182 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].objwithargs)); }
+#line 38769 "gram.c"
+ break;
+
+ case 1108: /* function_with_argtypes_list: function_with_argtypes_list ',' function_with_argtypes */
+#line 8184 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].objwithargs)); }
+#line 38775 "gram.c"
+ break;
+
+ case 1109: /* function_with_argtypes: func_name func_args */
+#line 8189 "gram.y"
+ {
+ ObjectWithArgs *n = makeNode(ObjectWithArgs);
+
+ n->objname = (yyvsp[-1].list);
+ n->objargs = extractArgTypes((yyvsp[0].list));
+ n->objfuncargs = (yyvsp[0].list);
+ (yyval.objwithargs) = n;
+ }
+#line 38788 "gram.c"
+ break;
+
+ case 1110: /* function_with_argtypes: type_func_name_keyword */
+#line 8203 "gram.y"
+ {
+ ObjectWithArgs *n = makeNode(ObjectWithArgs);
+
+ n->objname = list_make1(makeString(pstrdup((yyvsp[0].keyword))));
+ n->args_unspecified = true;
+ (yyval.objwithargs) = n;
+ }
+#line 38800 "gram.c"
+ break;
+
+ case 1111: /* function_with_argtypes: ColId */
+#line 8211 "gram.y"
+ {
+ ObjectWithArgs *n = makeNode(ObjectWithArgs);
+
+ n->objname = list_make1(makeString((yyvsp[0].str)));
+ n->args_unspecified = true;
+ (yyval.objwithargs) = n;
+ }
+#line 38812 "gram.c"
+ break;
+
+ case 1112: /* function_with_argtypes: ColId indirection */
+#line 8219 "gram.y"
+ {
+ 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 38825 "gram.c"
+ break;
+
+ case 1113: /* func_args_with_defaults: '(' func_args_with_defaults_list ')' */
+#line 8234 "gram.y"
+ { (yyval.list) = (yyvsp[-1].list); }
+#line 38831 "gram.c"
+ break;
+
+ case 1114: /* func_args_with_defaults: '(' ')' */
+#line 8235 "gram.y"
+ { (yyval.list) = NIL; }
+#line 38837 "gram.c"
+ break;
+
+ case 1115: /* func_args_with_defaults_list: func_arg_with_default */
+#line 8239 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].fun_param)); }
+#line 38843 "gram.c"
+ break;
+
+ case 1116: /* func_args_with_defaults_list: func_args_with_defaults_list ',' func_arg_with_default */
+#line 8241 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param)); }
+#line 38849 "gram.c"
+ break;
+
+ case 1117: /* func_arg: arg_class param_name func_type */
+#line 8256 "gram.y"
+ {
+ 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 38863 "gram.c"
+ break;
+
+ case 1118: /* func_arg: param_name arg_class func_type */
+#line 8266 "gram.y"
+ {
+ 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 38877 "gram.c"
+ break;
+
+ case 1119: /* func_arg: param_name func_type */
+#line 8276 "gram.y"
+ {
+ FunctionParameter *n = makeNode(FunctionParameter);
+
+ n->name = (yyvsp[-1].str);
+ n->argType = (yyvsp[0].typnam);
+ n->mode = FUNC_PARAM_DEFAULT;
+ n->defexpr = NULL;
+ (yyval.fun_param) = n;
+ }
+#line 38891 "gram.c"
+ break;
+
+ case 1120: /* func_arg: arg_class func_type */
+#line 8286 "gram.y"
+ {
+ 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 38905 "gram.c"
+ break;
+
+ case 1121: /* func_arg: func_type */
+#line 8296 "gram.y"
+ {
+ FunctionParameter *n = makeNode(FunctionParameter);
+
+ n->name = NULL;
+ n->argType = (yyvsp[0].typnam);
+ n->mode = FUNC_PARAM_DEFAULT;
+ n->defexpr = NULL;
+ (yyval.fun_param) = n;
+ }
+#line 38919 "gram.c"
+ break;
+
+ case 1122: /* arg_class: IN_P */
+#line 8308 "gram.y"
+ { (yyval.fun_param_mode) = FUNC_PARAM_IN; }
+#line 38925 "gram.c"
+ break;
+
+ case 1123: /* arg_class: OUT_P */
+#line 8309 "gram.y"
+ { (yyval.fun_param_mode) = FUNC_PARAM_OUT; }
+#line 38931 "gram.c"
+ break;
+
+ case 1124: /* arg_class: INOUT */
+#line 8310 "gram.y"
+ { (yyval.fun_param_mode) = FUNC_PARAM_INOUT; }
+#line 38937 "gram.c"
+ break;
+
+ case 1125: /* arg_class: IN_P OUT_P */
+#line 8311 "gram.y"
+ { (yyval.fun_param_mode) = FUNC_PARAM_INOUT; }
+#line 38943 "gram.c"
+ break;
+
+ case 1126: /* arg_class: VARIADIC */
+#line 8312 "gram.y"
+ { (yyval.fun_param_mode) = FUNC_PARAM_VARIADIC; }
+#line 38949 "gram.c"
+ break;
+
+ case 1128: /* func_return: func_type */
+#line 8323 "gram.y"
+ {
+ /* 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 38961 "gram.c"
+ break;
+
+ case 1129: /* func_type: Typename */
+#line 8337 "gram.y"
+ { (yyval.typnam) = (yyvsp[0].typnam); }
+#line 38967 "gram.c"
+ break;
+
+ case 1130: /* func_type: type_function_name attrs '%' TYPE_P */
+#line 8339 "gram.y"
+ {
+ (yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[-3].str)), (yyvsp[-2].list)));
+ (yyval.typnam)->pct_type = true;
+ (yyval.typnam)->location = (yylsp[-3]);
+ }
+#line 38977 "gram.c"
+ break;
+
+ case 1131: /* func_type: SETOF type_function_name attrs '%' TYPE_P */
+#line 8345 "gram.y"
+ {
+ (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 38988 "gram.c"
+ break;
+
+ case 1132: /* func_arg_with_default: func_arg */
+#line 8355 "gram.y"
+ {
+ (yyval.fun_param) = (yyvsp[0].fun_param);
+ }
+#line 38996 "gram.c"
+ break;
+
+ case 1133: /* func_arg_with_default: func_arg DEFAULT a_expr */
+#line 8359 "gram.y"
+ {
+ (yyval.fun_param) = (yyvsp[-2].fun_param);
+ (yyval.fun_param)->defexpr = (yyvsp[0].node);
+ }
+#line 39005 "gram.c"
+ break;
+
+ case 1134: /* func_arg_with_default: func_arg '=' a_expr */
+#line 8364 "gram.y"
+ {
+ (yyval.fun_param) = (yyvsp[-2].fun_param);
+ (yyval.fun_param)->defexpr = (yyvsp[0].node);
+ }
+#line 39014 "gram.c"
+ break;
+
+ case 1135: /* aggr_arg: func_arg */
+#line 8372 "gram.y"
+ {
+ if (!((yyvsp[0].fun_param)->mode == FUNC_PARAM_DEFAULT ||
+ (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 39029 "gram.c"
+ break;
+
+ case 1136: /* aggr_args: '(' '*' ')' */
+#line 8414 "gram.y"
+ {
+ (yyval.list) = list_make2(NIL, makeInteger(-1));
+ }
+#line 39037 "gram.c"
+ break;
+
+ case 1137: /* aggr_args: '(' aggr_args_list ')' */
+#line 8418 "gram.y"
+ {
+ (yyval.list) = list_make2((yyvsp[-1].list), makeInteger(-1));
+ }
+#line 39045 "gram.c"
+ break;
+
+ case 1138: /* aggr_args: '(' ORDER BY aggr_args_list ')' */
+#line 8422 "gram.y"
+ {
+ (yyval.list) = list_make2((yyvsp[-1].list), makeInteger(0));
+ }
+#line 39053 "gram.c"
+ break;
+
+ case 1139: /* aggr_args: '(' aggr_args_list ORDER BY aggr_args_list ')' */
+#line 8426 "gram.y"
+ {
+ /* this is the only case requiring consistency checking */
+ (yyval.list) = makeOrderedSetArgs((yyvsp[-4].list), (yyvsp[-1].list), yyscanner);
+ }
+#line 39062 "gram.c"
+ break;
+
+ case 1140: /* aggr_args_list: aggr_arg */
+#line 8433 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].fun_param)); }
+#line 39068 "gram.c"
+ break;
+
+ case 1141: /* aggr_args_list: aggr_args_list ',' aggr_arg */
+#line 8434 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param)); }
+#line 39074 "gram.c"
+ break;
+
+ case 1142: /* aggregate_with_argtypes: func_name aggr_args */
+#line 8439 "gram.y"
+ {
+ ObjectWithArgs *n = makeNode(ObjectWithArgs);
+
+ n->objname = (yyvsp[-1].list);
+ n->objargs = extractAggrArgTypes((yyvsp[0].list));
+ n->objfuncargs = (List *) linitial((yyvsp[0].list));
+ (yyval.objwithargs) = n;
+ }
+#line 39087 "gram.c"
+ break;
+
+ case 1143: /* aggregate_with_argtypes_list: aggregate_with_argtypes */
+#line 8450 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].objwithargs)); }
+#line 39093 "gram.c"
+ break;
+
+ case 1144: /* aggregate_with_argtypes_list: aggregate_with_argtypes_list ',' aggregate_with_argtypes */
+#line 8452 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].objwithargs)); }
+#line 39099 "gram.c"
+ break;
+
+ case 1146: /* opt_createfunc_opt_list: %empty */
+#line 8457 "gram.y"
+ { (yyval.list) = NIL; }
+#line 39105 "gram.c"
+ break;
+
+ case 1147: /* createfunc_opt_list: createfunc_opt_item */
+#line 8462 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].defelt)); }
+#line 39111 "gram.c"
+ break;
+
+ case 1148: /* createfunc_opt_list: createfunc_opt_list createfunc_opt_item */
+#line 8463 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
+#line 39117 "gram.c"
+ break;
+
+ case 1149: /* common_func_opt_item: CALLED ON NULL_P INPUT_P */
+#line 8471 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("strict", (Node *) makeBoolean(false), (yylsp[-3]));
+ }
+#line 39125 "gram.c"
+ break;
+
+ case 1150: /* common_func_opt_item: RETURNS NULL_P ON NULL_P INPUT_P */
+#line 8475 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("strict", (Node *) makeBoolean(true), (yylsp[-4]));
+ }
+#line 39133 "gram.c"
+ break;
+
+ case 1151: /* common_func_opt_item: STRICT_P */
+#line 8479 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("strict", (Node *) makeBoolean(true), (yylsp[0]));
+ }
+#line 39141 "gram.c"
+ break;
+
+ case 1152: /* common_func_opt_item: IMMUTABLE */
+#line 8483 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("volatility", (Node *) makeString("immutable"), (yylsp[0]));
+ }
+#line 39149 "gram.c"
+ break;
+
+ case 1153: /* common_func_opt_item: STABLE */
+#line 8487 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("volatility", (Node *) makeString("stable"), (yylsp[0]));
+ }
+#line 39157 "gram.c"
+ break;
+
+ case 1154: /* common_func_opt_item: VOLATILE */
+#line 8491 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("volatility", (Node *) makeString("volatile"), (yylsp[0]));
+ }
+#line 39165 "gram.c"
+ break;
+
+ case 1155: /* common_func_opt_item: EXTERNAL SECURITY DEFINER */
+#line 8495 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("security", (Node *) makeBoolean(true), (yylsp[-2]));
+ }
+#line 39173 "gram.c"
+ break;
+
+ case 1156: /* common_func_opt_item: EXTERNAL SECURITY INVOKER */
+#line 8499 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("security", (Node *) makeBoolean(false), (yylsp[-2]));
+ }
+#line 39181 "gram.c"
+ break;
+
+ case 1157: /* common_func_opt_item: SECURITY DEFINER */
+#line 8503 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("security", (Node *) makeBoolean(true), (yylsp[-1]));
+ }
+#line 39189 "gram.c"
+ break;
+
+ case 1158: /* common_func_opt_item: SECURITY INVOKER */
+#line 8507 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("security", (Node *) makeBoolean(false), (yylsp[-1]));
+ }
+#line 39197 "gram.c"
+ break;
+
+ case 1159: /* common_func_opt_item: LEAKPROOF */
+#line 8511 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("leakproof", (Node *) makeBoolean(true), (yylsp[0]));
+ }
+#line 39205 "gram.c"
+ break;
+
+ case 1160: /* common_func_opt_item: NOT LEAKPROOF */
+#line 8515 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("leakproof", (Node *) makeBoolean(false), (yylsp[-1]));
+ }
+#line 39213 "gram.c"
+ break;
+
+ case 1161: /* common_func_opt_item: COST NumericOnly */
+#line 8519 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("cost", (Node *) (yyvsp[0].node), (yylsp[-1]));
+ }
+#line 39221 "gram.c"
+ break;
+
+ case 1162: /* common_func_opt_item: ROWS NumericOnly */
+#line 8523 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("rows", (Node *) (yyvsp[0].node), (yylsp[-1]));
+ }
+#line 39229 "gram.c"
+ break;
+
+ case 1163: /* common_func_opt_item: SUPPORT any_name */
+#line 8527 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("support", (Node *) (yyvsp[0].list), (yylsp[-1]));
+ }
+#line 39237 "gram.c"
+ break;
+
+ case 1164: /* common_func_opt_item: FunctionSetResetClause */
+#line 8531 "gram.y"
+ {
+ /* we abuse the normal content of a DefElem here */
+ (yyval.defelt) = makeDefElem("set", (Node *) (yyvsp[0].vsetstmt), (yylsp[0]));
+ }
+#line 39246 "gram.c"
+ break;
+
+ case 1165: /* common_func_opt_item: PARALLEL ColId */
+#line 8536 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("parallel", (Node *) makeString((yyvsp[0].str)), (yylsp[-1]));
+ }
+#line 39254 "gram.c"
+ break;
+
+ case 1166: /* createfunc_opt_item: AS func_as */
+#line 8543 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("as", (Node *) (yyvsp[0].list), (yylsp[-1]));
+ }
+#line 39262 "gram.c"
+ break;
+
+ case 1167: /* createfunc_opt_item: LANGUAGE NonReservedWord_or_Sconst */
+#line 8547 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("language", (Node *) makeString((yyvsp[0].str)), (yylsp[-1]));
+ }
+#line 39270 "gram.c"
+ break;
+
+ case 1168: /* createfunc_opt_item: TRANSFORM transform_type_list */
+#line 8551 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("transform", (Node *) (yyvsp[0].list), (yylsp[-1]));
+ }
+#line 39278 "gram.c"
+ break;
+
+ case 1169: /* createfunc_opt_item: WINDOW */
+#line 8555 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("window", (Node *) makeBoolean(true), (yylsp[0]));
+ }
+#line 39286 "gram.c"
+ break;
+
+ case 1170: /* createfunc_opt_item: common_func_opt_item */
+#line 8559 "gram.y"
+ {
+ (yyval.defelt) = (yyvsp[0].defelt);
+ }
+#line 39294 "gram.c"
+ break;
+
+ case 1171: /* func_as: Sconst */
+#line 8564 "gram.y"
+ { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
+#line 39300 "gram.c"
+ break;
+
+ case 1172: /* func_as: Sconst ',' Sconst */
+#line 8566 "gram.y"
+ {
+ (yyval.list) = list_make2(makeString((yyvsp[-2].str)), makeString((yyvsp[0].str)));
+ }
+#line 39308 "gram.c"
+ break;
+
+ case 1173: /* ReturnStmt: RETURN a_expr */
+#line 8572 "gram.y"
+ {
+ ReturnStmt *r = makeNode(ReturnStmt);
+
+ r->returnval = (Node *) (yyvsp[0].node);
+ (yyval.node) = (Node *) r;
+ }
+#line 39319 "gram.c"
+ break;
+
+ case 1174: /* opt_routine_body: ReturnStmt */
+#line 8582 "gram.y"
+ {
+ (yyval.node) = (yyvsp[0].node);
+ }
+#line 39327 "gram.c"
+ break;
+
+ case 1175: /* opt_routine_body: BEGIN_P ATOMIC routine_body_stmt_list END_P */
+#line 8586 "gram.y"
+ {
+ /*
+ * A compound statement is stored as a single-item list
+ * containing the list of statements as its member. That
+ * way, the parse analysis code can tell apart an empty
+ * body from no body at all.
+ */
+ (yyval.node) = (Node *) list_make1((yyvsp[-1].list));
+ }
+#line 39341 "gram.c"
+ break;
+
+ case 1176: /* opt_routine_body: %empty */
+#line 8596 "gram.y"
+ {
+ (yyval.node) = NULL;
+ }
+#line 39349 "gram.c"
+ break;
+
+ case 1177: /* routine_body_stmt_list: routine_body_stmt_list routine_body_stmt ';' */
+#line 8603 "gram.y"
+ {
+ /* As in stmtmulti, discard empty statements */
+ if ((yyvsp[-1].node) != NULL)
+ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[-1].node));
+ else
+ (yyval.list) = (yyvsp[-2].list);
+ }
+#line 39361 "gram.c"
+ break;
+
+ case 1178: /* routine_body_stmt_list: %empty */
+#line 8611 "gram.y"
+ {
+ (yyval.list) = NIL;
+ }
+#line 39369 "gram.c"
+ break;
+
+ case 1181: /* transform_type_list: FOR TYPE_P Typename */
+#line 8622 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].typnam)); }
+#line 39375 "gram.c"
+ break;
+
+ case 1182: /* transform_type_list: transform_type_list ',' FOR TYPE_P Typename */
+#line 8623 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-4].list), (yyvsp[0].typnam)); }
+#line 39381 "gram.c"
+ break;
+
+ case 1183: /* opt_definition: WITH definition */
+#line 8627 "gram.y"
+ { (yyval.list) = (yyvsp[0].list); }
+#line 39387 "gram.c"
+ break;
+
+ case 1184: /* opt_definition: %empty */
+#line 8628 "gram.y"
+ { (yyval.list) = NIL; }
+#line 39393 "gram.c"
+ break;
+
+ case 1185: /* table_func_column: param_name func_type */
+#line 8632 "gram.y"
+ {
+ 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 39407 "gram.c"
+ break;
+
+ case 1186: /* table_func_column_list: table_func_column */
+#line 8645 "gram.y"
+ {
+ (yyval.list) = list_make1((yyvsp[0].fun_param));
+ }
+#line 39415 "gram.c"
+ break;
+
+ case 1187: /* table_func_column_list: table_func_column_list ',' table_func_column */
+#line 8649 "gram.y"
+ {
+ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param));
+ }
+#line 39423 "gram.c"
+ break;
+
+ case 1188: /* AlterFunctionStmt: ALTER FUNCTION function_with_argtypes alterfunc_opt_list opt_restrict */
+#line 8664 "gram.y"
+ {
+ AlterFunctionStmt *n = makeNode(AlterFunctionStmt);
+
+ n->objtype = OBJECT_FUNCTION;
+ n->func = (yyvsp[-2].objwithargs);
+ n->actions = (yyvsp[-1].list);
+ (yyval.node) = (Node *) n;
+ }
+#line 39436 "gram.c"
+ break;
+
+ case 1189: /* AlterFunctionStmt: ALTER PROCEDURE function_with_argtypes alterfunc_opt_list opt_restrict */
+#line 8673 "gram.y"
+ {
+ AlterFunctionStmt *n = makeNode(AlterFunctionStmt);
+
+ n->objtype = OBJECT_PROCEDURE;
+ n->func = (yyvsp[-2].objwithargs);
+ n->actions = (yyvsp[-1].list);
+ (yyval.node) = (Node *) n;
+ }
+#line 39449 "gram.c"
+ break;
+
+ case 1190: /* AlterFunctionStmt: ALTER ROUTINE function_with_argtypes alterfunc_opt_list opt_restrict */
+#line 8682 "gram.y"
+ {
+ AlterFunctionStmt *n = makeNode(AlterFunctionStmt);
+
+ n->objtype = OBJECT_ROUTINE;
+ n->func = (yyvsp[-2].objwithargs);
+ n->actions = (yyvsp[-1].list);
+ (yyval.node) = (Node *) n;
+ }
+#line 39462 "gram.c"
+ break;
+
+ case 1191: /* alterfunc_opt_list: common_func_opt_item */
+#line 8694 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].defelt)); }
+#line 39468 "gram.c"
+ break;
+
+ case 1192: /* alterfunc_opt_list: alterfunc_opt_list common_func_opt_item */
+#line 8695 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
+#line 39474 "gram.c"
+ break;
+
+ case 1195: /* RemoveFuncStmt: DROP FUNCTION function_with_argtypes_list opt_drop_behavior */
+#line 8719 "gram.y"
+ {
+ 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 39489 "gram.c"
+ break;
+
+ case 1196: /* RemoveFuncStmt: DROP FUNCTION IF_P EXISTS function_with_argtypes_list opt_drop_behavior */
+#line 8730 "gram.y"
+ {
+ 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 39504 "gram.c"
+ break;
+
+ case 1197: /* RemoveFuncStmt: DROP PROCEDURE function_with_argtypes_list opt_drop_behavior */
+#line 8741 "gram.y"
+ {
+ 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 39519 "gram.c"
+ break;
+
+ case 1198: /* RemoveFuncStmt: DROP PROCEDURE IF_P EXISTS function_with_argtypes_list opt_drop_behavior */
+#line 8752 "gram.y"
+ {
+ 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 39534 "gram.c"
+ break;
+
+ case 1199: /* RemoveFuncStmt: DROP ROUTINE function_with_argtypes_list opt_drop_behavior */
+#line 8763 "gram.y"
+ {
+ 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 39549 "gram.c"
+ break;
+
+ case 1200: /* RemoveFuncStmt: DROP ROUTINE IF_P EXISTS function_with_argtypes_list opt_drop_behavior */
+#line 8774 "gram.y"
+ {
+ 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 39564 "gram.c"
+ break;
+
+ case 1201: /* RemoveAggrStmt: DROP AGGREGATE aggregate_with_argtypes_list opt_drop_behavior */
+#line 8788 "gram.y"
+ {
+ 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 39579 "gram.c"
+ break;
+
+ case 1202: /* RemoveAggrStmt: DROP AGGREGATE IF_P EXISTS aggregate_with_argtypes_list opt_drop_behavior */
+#line 8799 "gram.y"
+ {
+ 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 39594 "gram.c"
+ break;
+
+ case 1203: /* RemoveOperStmt: DROP OPERATOR operator_with_argtypes_list opt_drop_behavior */
+#line 8813 "gram.y"
+ {
+ 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 39609 "gram.c"
+ break;
+
+ case 1204: /* RemoveOperStmt: DROP OPERATOR IF_P EXISTS operator_with_argtypes_list opt_drop_behavior */
+#line 8824 "gram.y"
+ {
+ 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 39624 "gram.c"
+ break;
+
+ case 1205: /* oper_argtypes: '(' Typename ')' */
+#line 8838 "gram.y"
+ {
+ 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 39636 "gram.c"
+ break;
+
+ case 1206: /* oper_argtypes: '(' Typename ',' Typename ')' */
+#line 8846 "gram.y"
+ { (yyval.list) = list_make2((yyvsp[-3].typnam), (yyvsp[-1].typnam)); }
+#line 39642 "gram.c"
+ break;
+
+ case 1207: /* oper_argtypes: '(' NONE ',' Typename ')' */
+#line 8848 "gram.y"
+ { (yyval.list) = list_make2(NULL, (yyvsp[-1].typnam)); }
+#line 39648 "gram.c"
+ break;
+
+ case 1208: /* oper_argtypes: '(' Typename ',' NONE ')' */
+#line 8850 "gram.y"
+ { (yyval.list) = list_make2((yyvsp[-3].typnam), NULL); }
+#line 39654 "gram.c"
+ break;
+
+ case 1209: /* any_operator: all_Op */
+#line 8855 "gram.y"
+ { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
+#line 39660 "gram.c"
+ break;
+
+ case 1210: /* any_operator: ColId '.' any_operator */
+#line 8857 "gram.y"
+ { (yyval.list) = lcons(makeString((yyvsp[-2].str)), (yyvsp[0].list)); }
+#line 39666 "gram.c"
+ break;
+
+ case 1211: /* operator_with_argtypes_list: operator_with_argtypes */
+#line 8861 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].objwithargs)); }
+#line 39672 "gram.c"
+ break;
+
+ case 1212: /* operator_with_argtypes_list: operator_with_argtypes_list ',' operator_with_argtypes */
+#line 8863 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].objwithargs)); }
+#line 39678 "gram.c"
+ break;
+
+ case 1213: /* operator_with_argtypes: any_operator oper_argtypes */
+#line 8868 "gram.y"
+ {
+ ObjectWithArgs *n = makeNode(ObjectWithArgs);
+
+ n->objname = (yyvsp[-1].list);
+ n->objargs = (yyvsp[0].list);
+ (yyval.objwithargs) = n;
+ }
+#line 39690 "gram.c"
+ break;
+
+ case 1214: /* DoStmt: DO dostmt_opt_list */
+#line 8887 "gram.y"
+ {
+ DoStmt *n = makeNode(DoStmt);
+
+ n->args = (yyvsp[0].list);
+ (yyval.node) = (Node *) n;
+ }
+#line 39701 "gram.c"
+ break;
+
+ case 1215: /* dostmt_opt_list: dostmt_opt_item */
+#line 8896 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].defelt)); }
+#line 39707 "gram.c"
+ break;
+
+ case 1216: /* dostmt_opt_list: dostmt_opt_list dostmt_opt_item */
+#line 8897 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
+#line 39713 "gram.c"
+ break;
+
+ case 1217: /* dostmt_opt_item: Sconst */
+#line 8902 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("as", (Node *) makeString((yyvsp[0].str)), (yylsp[0]));
+ }
+#line 39721 "gram.c"
+ break;
+
+ case 1218: /* dostmt_opt_item: LANGUAGE NonReservedWord_or_Sconst */
+#line 8906 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("language", (Node *) makeString((yyvsp[0].str)), (yylsp[-1]));
+ }
+#line 39729 "gram.c"
+ break;
+
+ case 1219: /* CreateCastStmt: CREATE CAST '(' Typename AS Typename ')' WITH FUNCTION function_with_argtypes cast_context */
+#line 8919 "gram.y"
+ {
+ 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 39744 "gram.c"
+ break;
+
+ case 1220: /* CreateCastStmt: CREATE CAST '(' Typename AS Typename ')' WITHOUT FUNCTION cast_context */
+#line 8931 "gram.y"
+ {
+ 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 39759 "gram.c"
+ break;
+
+ case 1221: /* CreateCastStmt: CREATE CAST '(' Typename AS Typename ')' WITH INOUT cast_context */
+#line 8943 "gram.y"
+ {
+ 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 39774 "gram.c"
+ break;
+
+ case 1222: /* cast_context: AS IMPLICIT_P */
+#line 8955 "gram.y"
+ { (yyval.ival) = COERCION_IMPLICIT; }
+#line 39780 "gram.c"
+ break;
+
+ case 1223: /* cast_context: AS ASSIGNMENT */
+#line 8956 "gram.y"
+ { (yyval.ival) = COERCION_ASSIGNMENT; }
+#line 39786 "gram.c"
+ break;
+
+ case 1224: /* cast_context: %empty */
+#line 8957 "gram.y"
+ { (yyval.ival) = COERCION_EXPLICIT; }
+#line 39792 "gram.c"
+ break;
+
+ case 1225: /* DropCastStmt: DROP CAST opt_if_exists '(' Typename AS Typename ')' opt_drop_behavior */
+#line 8962 "gram.y"
+ {
+ 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 39807 "gram.c"
+ break;
+
+ case 1226: /* opt_if_exists: IF_P EXISTS */
+#line 8974 "gram.y"
+ { (yyval.boolean) = true; }
+#line 39813 "gram.c"
+ break;
+
+ case 1227: /* opt_if_exists: %empty */
+#line 8975 "gram.y"
+ { (yyval.boolean) = false; }
+#line 39819 "gram.c"
+ break;
+
+ case 1228: /* CreateTransformStmt: CREATE opt_or_replace TRANSFORM FOR Typename LANGUAGE name '(' transform_element_list ')' */
+#line 8986 "gram.y"
+ {
+ 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 39834 "gram.c"
+ break;
+
+ case 1229: /* transform_element_list: FROM SQL_P WITH FUNCTION function_with_argtypes ',' TO SQL_P WITH FUNCTION function_with_argtypes */
+#line 8999 "gram.y"
+ {
+ (yyval.list) = list_make2((yyvsp[-6].objwithargs), (yyvsp[0].objwithargs));
+ }
+#line 39842 "gram.c"
+ break;
+
+ case 1230: /* transform_element_list: TO SQL_P WITH FUNCTION function_with_argtypes ',' FROM SQL_P WITH FUNCTION function_with_argtypes */
+#line 9003 "gram.y"
+ {
+ (yyval.list) = list_make2((yyvsp[0].objwithargs), (yyvsp[-6].objwithargs));
+ }
+#line 39850 "gram.c"
+ break;
+
+ case 1231: /* transform_element_list: FROM SQL_P WITH FUNCTION function_with_argtypes */
+#line 9007 "gram.y"
+ {
+ (yyval.list) = list_make2((yyvsp[0].objwithargs), NULL);
+ }
+#line 39858 "gram.c"
+ break;
+
+ case 1232: /* transform_element_list: TO SQL_P WITH FUNCTION function_with_argtypes */
+#line 9011 "gram.y"
+ {
+ (yyval.list) = list_make2(NULL, (yyvsp[0].objwithargs));
+ }
+#line 39866 "gram.c"
+ break;
+
+ case 1233: /* DropTransformStmt: DROP TRANSFORM opt_if_exists FOR Typename LANGUAGE name opt_drop_behavior */
+#line 9018 "gram.y"
+ {
+ 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 39880 "gram.c"
+ break;
+
+ case 1234: /* ReindexStmt: REINDEX opt_reindex_option_list reindex_target_relation opt_concurrently qualified_name */
+#line 9040 "gram.y"
+ {
+ ReindexStmt *n = makeNode(ReindexStmt);
+
+ n->kind = (yyvsp[-2].ival);
+ n->relation = (yyvsp[0].range);
+ n->name = NULL;
+ n->params = (yyvsp[-3].list);
+ if ((yyvsp[-1].boolean))
+ n->params = lappend(n->params,
+ makeDefElem("concurrently", NULL, (yylsp[-1])));
+ (yyval.node) = (Node *) n;
+ }
+#line 39897 "gram.c"
+ break;
+
+ case 1235: /* ReindexStmt: REINDEX opt_reindex_option_list SCHEMA opt_concurrently name */
+#line 9053 "gram.y"
+ {
+ ReindexStmt *n = makeNode(ReindexStmt);
+
+ n->kind = REINDEX_OBJECT_SCHEMA;
+ n->relation = NULL;
+ n->name = (yyvsp[0].str);
+ n->params = (yyvsp[-3].list);
+ if ((yyvsp[-1].boolean))
+ n->params = lappend(n->params,
+ makeDefElem("concurrently", NULL, (yylsp[-1])));
+ (yyval.node) = (Node *) n;
+ }
+#line 39914 "gram.c"
+ break;
+
+ case 1236: /* ReindexStmt: REINDEX opt_reindex_option_list reindex_target_all opt_concurrently opt_single_name */
+#line 9066 "gram.y"
+ {
+ ReindexStmt *n = makeNode(ReindexStmt);
+
+ n->kind = (yyvsp[-2].ival);
+ n->relation = NULL;
+ n->name = (yyvsp[0].str);
+ n->params = (yyvsp[-3].list);
+ if ((yyvsp[-1].boolean))
+ n->params = lappend(n->params,
+ makeDefElem("concurrently", NULL, (yylsp[-1])));
+ (yyval.node) = (Node *) n;
+ }
+#line 39931 "gram.c"
+ break;
+
+ case 1237: /* reindex_target_relation: INDEX */
+#line 9080 "gram.y"
+ { (yyval.ival) = REINDEX_OBJECT_INDEX; }
+#line 39937 "gram.c"
+ break;
+
+ case 1238: /* reindex_target_relation: TABLE */
+#line 9081 "gram.y"
+ { (yyval.ival) = REINDEX_OBJECT_TABLE; }
+#line 39943 "gram.c"
+ break;
+
+ case 1239: /* reindex_target_all: SYSTEM_P */
+#line 9084 "gram.y"
+ { (yyval.ival) = REINDEX_OBJECT_SYSTEM; }
+#line 39949 "gram.c"
+ break;
+
+ case 1240: /* reindex_target_all: DATABASE */
+#line 9085 "gram.y"
+ { (yyval.ival) = REINDEX_OBJECT_DATABASE; }
+#line 39955 "gram.c"
+ break;
+
+ case 1241: /* opt_reindex_option_list: '(' utility_option_list ')' */
+#line 9088 "gram.y"
+ { (yyval.list) = (yyvsp[-1].list); }
+#line 39961 "gram.c"
+ break;
+
+ case 1242: /* opt_reindex_option_list: %empty */
+#line 9089 "gram.y"
+ { (yyval.list) = NULL; }
+#line 39967 "gram.c"
+ break;
+
+ case 1243: /* AlterTblSpcStmt: ALTER TABLESPACE name SET reloptions */
+#line 9100 "gram.y"
+ {
+ AlterTableSpaceOptionsStmt *n =
+ makeNode(AlterTableSpaceOptionsStmt);
+
+ n->tablespacename = (yyvsp[-2].str);
+ n->options = (yyvsp[0].list);
+ n->isReset = false;
+ (yyval.node) = (Node *) n;
+ }
+#line 39981 "gram.c"
+ break;
+
+ case 1244: /* AlterTblSpcStmt: ALTER TABLESPACE name RESET reloptions */
+#line 9110 "gram.y"
+ {
+ AlterTableSpaceOptionsStmt *n =
+ makeNode(AlterTableSpaceOptionsStmt);
+
+ n->tablespacename = (yyvsp[-2].str);
+ n->options = (yyvsp[0].list);
+ n->isReset = true;
+ (yyval.node) = (Node *) n;
+ }
+#line 39995 "gram.c"
+ break;
+
+ case 1245: /* RenameStmt: ALTER AGGREGATE aggregate_with_argtypes RENAME TO name */
+#line 9128 "gram.y"
+ {
+ 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 40009 "gram.c"
+ break;
+
+ case 1246: /* RenameStmt: ALTER COLLATION any_name RENAME TO name */
+#line 9138 "gram.y"
+ {
+ 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 40023 "gram.c"
+ break;
+
+ case 1247: /* RenameStmt: ALTER CONVERSION_P any_name RENAME TO name */
+#line 9148 "gram.y"
+ {
+ 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 40037 "gram.c"
+ break;
+
+ case 1248: /* RenameStmt: ALTER DATABASE name RENAME TO name */
+#line 9158 "gram.y"
+ {
+ 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 40051 "gram.c"
+ break;
+
+ case 1249: /* RenameStmt: ALTER DOMAIN_P any_name RENAME TO name */
+#line 9168 "gram.y"
+ {
+ 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 40065 "gram.c"
+ break;
+
+ case 1250: /* RenameStmt: ALTER DOMAIN_P any_name RENAME CONSTRAINT name TO name */
+#line 9178 "gram.y"
+ {
+ 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 40079 "gram.c"
+ break;
+
+ case 1251: /* RenameStmt: ALTER FOREIGN DATA_P WRAPPER name RENAME TO name */
+#line 9188 "gram.y"
+ {
+ 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 40093 "gram.c"
+ break;
+
+ case 1252: /* RenameStmt: ALTER FUNCTION function_with_argtypes RENAME TO name */
+#line 9198 "gram.y"
+ {
+ 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 40107 "gram.c"
+ break;
+
+ case 1253: /* RenameStmt: ALTER GROUP_P RoleId RENAME TO RoleId */
+#line 9208 "gram.y"
+ {
+ 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 40121 "gram.c"
+ break;
+
+ case 1254: /* RenameStmt: ALTER opt_procedural LANGUAGE name RENAME TO name */
+#line 9218 "gram.y"
+ {
+ 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 40135 "gram.c"
+ break;
+
+ case 1255: /* RenameStmt: ALTER OPERATOR CLASS any_name USING name RENAME TO name */
+#line 9228 "gram.y"
+ {
+ 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 40149 "gram.c"
+ break;
+
+ case 1256: /* RenameStmt: ALTER OPERATOR FAMILY any_name USING name RENAME TO name */
+#line 9238 "gram.y"
+ {
+ 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 40163 "gram.c"
+ break;
+
+ case 1257: /* RenameStmt: ALTER POLICY name ON qualified_name RENAME TO name */
+#line 9248 "gram.y"
+ {
+ 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 40178 "gram.c"
+ break;
+
+ case 1258: /* RenameStmt: ALTER POLICY IF_P EXISTS name ON qualified_name RENAME TO name */
+#line 9259 "gram.y"
+ {
+ 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 40193 "gram.c"
+ break;
+
+ case 1259: /* RenameStmt: ALTER PROCEDURE function_with_argtypes RENAME TO name */
+#line 9270 "gram.y"
+ {
+ 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 40207 "gram.c"
+ break;
+
+ case 1260: /* RenameStmt: ALTER PUBLICATION name RENAME TO name */
+#line 9280 "gram.y"
+ {
+ 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 40221 "gram.c"
+ break;
+
+ case 1261: /* RenameStmt: ALTER ROUTINE function_with_argtypes RENAME TO name */
+#line 9290 "gram.y"
+ {
+ 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 40235 "gram.c"
+ break;
+
+ case 1262: /* RenameStmt: ALTER SCHEMA name RENAME TO name */
+#line 9300 "gram.y"
+ {
+ 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 40249 "gram.c"
+ break;
+
+ case 1263: /* RenameStmt: ALTER SERVER name RENAME TO name */
+#line 9310 "gram.y"
+ {
+ 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 40263 "gram.c"
+ break;
+
+ case 1264: /* RenameStmt: ALTER SUBSCRIPTION name RENAME TO name */
+#line 9320 "gram.y"
+ {
+ 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 40277 "gram.c"
+ break;
+
+ case 1265: /* RenameStmt: ALTER TABLE relation_expr RENAME TO name */
+#line 9330 "gram.y"
+ {
+ 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 40292 "gram.c"
+ break;
+
+ case 1266: /* RenameStmt: ALTER TABLE IF_P EXISTS relation_expr RENAME TO name */
+#line 9341 "gram.y"
+ {
+ 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 40307 "gram.c"
+ break;
+
+ case 1267: /* RenameStmt: ALTER SEQUENCE qualified_name RENAME TO name */
+#line 9352 "gram.y"
+ {
+ 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 40322 "gram.c"
+ break;
+
+ case 1268: /* RenameStmt: ALTER SEQUENCE IF_P EXISTS qualified_name RENAME TO name */
+#line 9363 "gram.y"
+ {
+ 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 40337 "gram.c"
+ break;
+
+ case 1269: /* RenameStmt: ALTER VIEW qualified_name RENAME TO name */
+#line 9374 "gram.y"
+ {
+ 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 40352 "gram.c"
+ break;
+
+ case 1270: /* RenameStmt: ALTER VIEW IF_P EXISTS qualified_name RENAME TO name */
+#line 9385 "gram.y"
+ {
+ 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 40367 "gram.c"
+ break;
+
+ case 1271: /* RenameStmt: ALTER MATERIALIZED VIEW qualified_name RENAME TO name */
+#line 9396 "gram.y"
+ {
+ 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 40382 "gram.c"
+ break;
+
+ case 1272: /* RenameStmt: ALTER MATERIALIZED VIEW IF_P EXISTS qualified_name RENAME TO name */
+#line 9407 "gram.y"
+ {
+ 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 40397 "gram.c"
+ break;
+
+ case 1273: /* RenameStmt: ALTER INDEX qualified_name RENAME TO name */
+#line 9418 "gram.y"
+ {
+ 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 40412 "gram.c"
+ break;
+
+ case 1274: /* RenameStmt: ALTER INDEX IF_P EXISTS qualified_name RENAME TO name */
+#line 9429 "gram.y"
+ {
+ 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 40427 "gram.c"
+ break;
+
+ case 1275: /* RenameStmt: ALTER FOREIGN TABLE relation_expr RENAME TO name */
+#line 9440 "gram.y"
+ {
+ 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 40442 "gram.c"
+ break;
+
+ case 1276: /* RenameStmt: ALTER FOREIGN TABLE IF_P EXISTS relation_expr RENAME TO name */
+#line 9451 "gram.y"
+ {
+ 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 40457 "gram.c"
+ break;
+
+ case 1277: /* RenameStmt: ALTER TABLE relation_expr RENAME opt_column name TO name */
+#line 9462 "gram.y"
+ {
+ 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 40473 "gram.c"
+ break;
+
+ case 1278: /* RenameStmt: ALTER TABLE IF_P EXISTS relation_expr RENAME opt_column name TO name */
+#line 9474 "gram.y"
+ {
+ 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 40489 "gram.c"
+ break;
+
+ case 1279: /* RenameStmt: ALTER VIEW qualified_name RENAME opt_column name TO name */
+#line 9486 "gram.y"
+ {
+ RenameStmt *n = makeNode(RenameStmt);
+
+ n->renameType = OBJECT_COLUMN;
+ n->relationType = OBJECT_VIEW;
+ n->relation = (yyvsp[-5].range);
+ n->subname = (yyvsp[-2].str);
+ n->newname = (yyvsp[0].str);
+ n->missing_ok = false;
+ (yyval.node) = (Node *) n;
+ }
+#line 40505 "gram.c"
+ break;
+
+ case 1280: /* RenameStmt: ALTER VIEW IF_P EXISTS qualified_name RENAME opt_column name TO name */
+#line 9498 "gram.y"
+ {
+ RenameStmt *n = makeNode(RenameStmt);
+
+ n->renameType = OBJECT_COLUMN;
+ n->relationType = OBJECT_VIEW;
+ n->relation = (yyvsp[-5].range);
+ n->subname = (yyvsp[-2].str);
+ n->newname = (yyvsp[0].str);
+ n->missing_ok = true;
+ (yyval.node) = (Node *) n;
+ }
+#line 40521 "gram.c"
+ break;
+
+ case 1281: /* RenameStmt: ALTER MATERIALIZED VIEW qualified_name RENAME opt_column name TO name */
+#line 9510 "gram.y"
+ {
+ 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 40537 "gram.c"
+ break;
+
+ case 1282: /* RenameStmt: ALTER MATERIALIZED VIEW IF_P EXISTS qualified_name RENAME opt_column name TO name */
+#line 9522 "gram.y"
+ {
+ 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 40553 "gram.c"
+ break;
+
+ case 1283: /* RenameStmt: ALTER TABLE relation_expr RENAME CONSTRAINT name TO name */
+#line 9534 "gram.y"
+ {
+ 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 40568 "gram.c"
+ break;
+
+ case 1284: /* RenameStmt: ALTER TABLE IF_P EXISTS relation_expr RENAME CONSTRAINT name TO name */
+#line 9545 "gram.y"
+ {
+ 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 40583 "gram.c"
+ break;
+
+ case 1285: /* RenameStmt: ALTER FOREIGN TABLE relation_expr RENAME opt_column name TO name */
+#line 9556 "gram.y"
+ {
+ 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 40599 "gram.c"
+ break;
+
+ case 1286: /* RenameStmt: ALTER FOREIGN TABLE IF_P EXISTS relation_expr RENAME opt_column name TO name */
+#line 9568 "gram.y"
+ {
+ 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 40615 "gram.c"
+ break;
+
+ case 1287: /* RenameStmt: ALTER RULE name ON qualified_name RENAME TO name */
+#line 9580 "gram.y"
+ {
+ 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 40630 "gram.c"
+ break;
+
+ case 1288: /* RenameStmt: ALTER TRIGGER name ON qualified_name RENAME TO name */
+#line 9591 "gram.y"
+ {
+ 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 40645 "gram.c"
+ break;
+
+ case 1289: /* RenameStmt: ALTER EVENT TRIGGER name RENAME TO name */
+#line 9602 "gram.y"
+ {
+ 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 40658 "gram.c"
+ break;
+
+ case 1290: /* RenameStmt: ALTER ROLE RoleId RENAME TO RoleId */
+#line 9611 "gram.y"
+ {
+ 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 40672 "gram.c"
+ break;
+
+ case 1291: /* RenameStmt: ALTER USER RoleId RENAME TO RoleId */
+#line 9621 "gram.y"
+ {
+ 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 40686 "gram.c"
+ break;
+
+ case 1292: /* RenameStmt: ALTER TABLESPACE name RENAME TO name */
+#line 9631 "gram.y"
+ {
+ 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 40700 "gram.c"
+ break;
+
+ case 1293: /* RenameStmt: ALTER STATISTICS any_name RENAME TO name */
+#line 9641 "gram.y"
+ {
+ 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 40714 "gram.c"
+ break;
+
+ case 1294: /* RenameStmt: ALTER TEXT_P SEARCH PARSER any_name RENAME TO name */
+#line 9651 "gram.y"
+ {
+ 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 40728 "gram.c"
+ break;
+
+ case 1295: /* RenameStmt: ALTER TEXT_P SEARCH DICTIONARY any_name RENAME TO name */
+#line 9661 "gram.y"
+ {
+ 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 40742 "gram.c"
+ break;
+
+ case 1296: /* RenameStmt: ALTER TEXT_P SEARCH TEMPLATE any_name RENAME TO name */
+#line 9671 "gram.y"
+ {
+ 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 40756 "gram.c"
+ break;
+
+ case 1297: /* RenameStmt: ALTER TEXT_P SEARCH CONFIGURATION any_name RENAME TO name */
+#line 9681 "gram.y"
+ {
+ 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 40770 "gram.c"
+ break;
+
+ case 1298: /* RenameStmt: ALTER TYPE_P any_name RENAME TO name */
+#line 9691 "gram.y"
+ {
+ 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 40784 "gram.c"
+ break;
+
+ case 1299: /* RenameStmt: ALTER TYPE_P any_name RENAME ATTRIBUTE name TO name opt_drop_behavior */
+#line 9701 "gram.y"
+ {
+ 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 40801 "gram.c"
+ break;
+
+ case 1302: /* opt_set_data: SET DATA_P */
+#line 9719 "gram.y"
+ { (yyval.ival) = 1; }
+#line 40807 "gram.c"
+ break;
+
+ case 1303: /* opt_set_data: %empty */
+#line 9720 "gram.y"
+ { (yyval.ival) = 0; }
+#line 40813 "gram.c"
+ break;
+
+ case 1304: /* AlterObjectDependsStmt: ALTER FUNCTION function_with_argtypes opt_no DEPENDS ON EXTENSION name */
+#line 9731 "gram.y"
+ {
+ AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
+
+ n->objectType = OBJECT_FUNCTION;
+ n->object = (Node *) (yyvsp[-5].objwithargs);
+ n->extname = makeString((yyvsp[0].str));
+ n->remove = (yyvsp[-4].boolean);
+ (yyval.node) = (Node *) n;
+ }
+#line 40827 "gram.c"
+ break;
+
+ case 1305: /* AlterObjectDependsStmt: ALTER PROCEDURE function_with_argtypes opt_no DEPENDS ON EXTENSION name */
+#line 9741 "gram.y"
+ {
+ AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
+
+ n->objectType = OBJECT_PROCEDURE;
+ n->object = (Node *) (yyvsp[-5].objwithargs);
+ n->extname = makeString((yyvsp[0].str));
+ n->remove = (yyvsp[-4].boolean);
+ (yyval.node) = (Node *) n;
+ }
+#line 40841 "gram.c"
+ break;
+
+ case 1306: /* AlterObjectDependsStmt: ALTER ROUTINE function_with_argtypes opt_no DEPENDS ON EXTENSION name */
+#line 9751 "gram.y"
+ {
+ AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
+
+ n->objectType = OBJECT_ROUTINE;
+ n->object = (Node *) (yyvsp[-5].objwithargs);
+ n->extname = makeString((yyvsp[0].str));
+ n->remove = (yyvsp[-4].boolean);
+ (yyval.node) = (Node *) n;
+ }
+#line 40855 "gram.c"
+ break;
+
+ case 1307: /* AlterObjectDependsStmt: ALTER TRIGGER name ON qualified_name opt_no DEPENDS ON EXTENSION name */
+#line 9761 "gram.y"
+ {
+ AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
+
+ n->objectType = OBJECT_TRIGGER;
+ n->relation = (yyvsp[-5].range);
+ n->object = (Node *) list_make1(makeString((yyvsp[-7].str)));
+ n->extname = makeString((yyvsp[0].str));
+ n->remove = (yyvsp[-4].boolean);
+ (yyval.node) = (Node *) n;
+ }
+#line 40870 "gram.c"
+ break;
+
+ case 1308: /* AlterObjectDependsStmt: ALTER MATERIALIZED VIEW qualified_name opt_no DEPENDS ON EXTENSION name */
+#line 9772 "gram.y"
+ {
+ AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
+
+ n->objectType = OBJECT_MATVIEW;
+ n->relation = (yyvsp[-5].range);
+ n->extname = makeString((yyvsp[0].str));
+ n->remove = (yyvsp[-4].boolean);
+ (yyval.node) = (Node *) n;
+ }
+#line 40884 "gram.c"
+ break;
+
+ case 1309: /* AlterObjectDependsStmt: ALTER INDEX qualified_name opt_no DEPENDS ON EXTENSION name */
+#line 9782 "gram.y"
+ {
+ AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
+
+ n->objectType = OBJECT_INDEX;
+ n->relation = (yyvsp[-5].range);
+ n->extname = makeString((yyvsp[0].str));
+ n->remove = (yyvsp[-4].boolean);
+ (yyval.node) = (Node *) n;
+ }
+#line 40898 "gram.c"
+ break;
+
+ case 1310: /* opt_no: NO */
+#line 9793 "gram.y"
+ { (yyval.boolean) = true; }
+#line 40904 "gram.c"
+ break;
+
+ case 1311: /* opt_no: %empty */
+#line 9794 "gram.y"
+ { (yyval.boolean) = false; }
+#line 40910 "gram.c"
+ break;
+
+ case 1312: /* AlterObjectSchemaStmt: ALTER AGGREGATE aggregate_with_argtypes SET SCHEMA name */
+#line 9805 "gram.y"
+ {
+ 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 40924 "gram.c"
+ break;
+
+ case 1313: /* AlterObjectSchemaStmt: ALTER COLLATION any_name SET SCHEMA name */
+#line 9815 "gram.y"
+ {
+ 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 40938 "gram.c"
+ break;
+
+ case 1314: /* AlterObjectSchemaStmt: ALTER CONVERSION_P any_name SET SCHEMA name */
+#line 9825 "gram.y"
+ {
+ 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 40952 "gram.c"
+ break;
+
+ case 1315: /* AlterObjectSchemaStmt: ALTER DOMAIN_P any_name SET SCHEMA name */
+#line 9835 "gram.y"
+ {
+ 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 40966 "gram.c"
+ break;
+
+ case 1316: /* AlterObjectSchemaStmt: ALTER EXTENSION name SET SCHEMA name */
+#line 9845 "gram.y"
+ {
+ 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 40980 "gram.c"
+ break;
+
+ case 1317: /* AlterObjectSchemaStmt: ALTER FUNCTION function_with_argtypes SET SCHEMA name */
+#line 9855 "gram.y"
+ {
+ 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 40994 "gram.c"
+ break;
+
+ case 1318: /* AlterObjectSchemaStmt: ALTER OPERATOR operator_with_argtypes SET SCHEMA name */
+#line 9865 "gram.y"
+ {
+ 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 41008 "gram.c"
+ break;
+
+ case 1319: /* AlterObjectSchemaStmt: ALTER OPERATOR CLASS any_name USING name SET SCHEMA name */
+#line 9875 "gram.y"
+ {
+ 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 41022 "gram.c"
+ break;
+
+ case 1320: /* AlterObjectSchemaStmt: ALTER OPERATOR FAMILY any_name USING name SET SCHEMA name */
+#line 9885 "gram.y"
+ {
+ 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 41036 "gram.c"
+ break;
+
+ case 1321: /* AlterObjectSchemaStmt: ALTER PROCEDURE function_with_argtypes SET SCHEMA name */
+#line 9895 "gram.y"
+ {
+ 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 41050 "gram.c"
+ break;
+
+ case 1322: /* AlterObjectSchemaStmt: ALTER ROUTINE function_with_argtypes SET SCHEMA name */
+#line 9905 "gram.y"
+ {
+ 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 41064 "gram.c"
+ break;
+
+ case 1323: /* AlterObjectSchemaStmt: ALTER TABLE relation_expr SET SCHEMA name */
+#line 9915 "gram.y"
+ {
+ 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 41078 "gram.c"
+ break;
+
+ case 1324: /* AlterObjectSchemaStmt: ALTER TABLE IF_P EXISTS relation_expr SET SCHEMA name */
+#line 9925 "gram.y"
+ {
+ 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 41092 "gram.c"
+ break;
+
+ case 1325: /* AlterObjectSchemaStmt: ALTER STATISTICS any_name SET SCHEMA name */
+#line 9935 "gram.y"
+ {
+ 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 41106 "gram.c"
+ break;
+
+ case 1326: /* AlterObjectSchemaStmt: ALTER TEXT_P SEARCH PARSER any_name SET SCHEMA name */
+#line 9945 "gram.y"
+ {
+ 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 41120 "gram.c"
+ break;
+
+ case 1327: /* AlterObjectSchemaStmt: ALTER TEXT_P SEARCH DICTIONARY any_name SET SCHEMA name */
+#line 9955 "gram.y"
+ {
+ 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 41134 "gram.c"
+ break;
+
+ case 1328: /* AlterObjectSchemaStmt: ALTER TEXT_P SEARCH TEMPLATE any_name SET SCHEMA name */
+#line 9965 "gram.y"
+ {
+ 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 41148 "gram.c"
+ break;
+
+ case 1329: /* AlterObjectSchemaStmt: ALTER TEXT_P SEARCH CONFIGURATION any_name SET SCHEMA name */
+#line 9975 "gram.y"
+ {
+ 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 41162 "gram.c"
+ break;
+
+ case 1330: /* AlterObjectSchemaStmt: ALTER SEQUENCE qualified_name SET SCHEMA name */
+#line 9985 "gram.y"
+ {
+ 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 41176 "gram.c"
+ break;
+
+ case 1331: /* AlterObjectSchemaStmt: ALTER SEQUENCE IF_P EXISTS qualified_name SET SCHEMA name */
+#line 9995 "gram.y"
+ {
+ 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 41190 "gram.c"
+ break;
+
+ case 1332: /* AlterObjectSchemaStmt: ALTER VIEW qualified_name SET SCHEMA name */
+#line 10005 "gram.y"
+ {
+ 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 41204 "gram.c"
+ break;
+
+ case 1333: /* AlterObjectSchemaStmt: ALTER VIEW IF_P EXISTS qualified_name SET SCHEMA name */
+#line 10015 "gram.y"
+ {
+ 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 41218 "gram.c"
+ break;
+
+ case 1334: /* AlterObjectSchemaStmt: ALTER MATERIALIZED VIEW qualified_name SET SCHEMA name */
+#line 10025 "gram.y"
+ {
+ 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 41232 "gram.c"
+ break;
+
+ case 1335: /* AlterObjectSchemaStmt: ALTER MATERIALIZED VIEW IF_P EXISTS qualified_name SET SCHEMA name */
+#line 10035 "gram.y"
+ {
+ 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 41246 "gram.c"
+ break;
+
+ case 1336: /* AlterObjectSchemaStmt: ALTER FOREIGN TABLE relation_expr SET SCHEMA name */
+#line 10045 "gram.y"
+ {
+ 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 41260 "gram.c"
+ break;
+
+ case 1337: /* AlterObjectSchemaStmt: ALTER FOREIGN TABLE IF_P EXISTS relation_expr SET SCHEMA name */
+#line 10055 "gram.y"
+ {
+ 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 41274 "gram.c"
+ break;
+
+ case 1338: /* AlterObjectSchemaStmt: ALTER TYPE_P any_name SET SCHEMA name */
+#line 10065 "gram.y"
+ {
+ 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 41288 "gram.c"
+ break;
+
+ case 1339: /* AlterOperatorStmt: ALTER OPERATOR operator_with_argtypes SET '(' operator_def_list ')' */
+#line 10084 "gram.y"
+ {
+ AlterOperatorStmt *n = makeNode(AlterOperatorStmt);
+
+ n->opername = (yyvsp[-4].objwithargs);
+ n->options = (yyvsp[-1].list);
+ (yyval.node) = (Node *) n;
+ }
+#line 41300 "gram.c"
+ break;
+
+ case 1340: /* operator_def_list: operator_def_elem */
+#line 10093 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].defelt)); }
+#line 41306 "gram.c"
+ break;
+
+ case 1341: /* operator_def_list: operator_def_list ',' operator_def_elem */
+#line 10094 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
+#line 41312 "gram.c"
+ break;
+
+ case 1342: /* operator_def_elem: ColLabel '=' NONE */
+#line 10098 "gram.y"
+ { (yyval.defelt) = makeDefElem((yyvsp[-2].str), NULL, (yylsp[-2])); }
+#line 41318 "gram.c"
+ break;
+
+ case 1343: /* operator_def_elem: ColLabel '=' operator_def_arg */
+#line 10100 "gram.y"
+ { (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *) (yyvsp[0].node), (yylsp[-2])); }
+#line 41324 "gram.c"
+ break;
+
+ case 1344: /* operator_def_arg: func_type */
+#line 10105 "gram.y"
+ { (yyval.node) = (Node *) (yyvsp[0].typnam); }
+#line 41330 "gram.c"
+ break;
+
+ case 1345: /* operator_def_arg: reserved_keyword */
+#line 10106 "gram.y"
+ { (yyval.node) = (Node *) makeString(pstrdup((yyvsp[0].keyword))); }
+#line 41336 "gram.c"
+ break;
+
+ case 1346: /* operator_def_arg: qual_all_Op */
+#line 10107 "gram.y"
+ { (yyval.node) = (Node *) (yyvsp[0].list); }
+#line 41342 "gram.c"
+ break;
+
+ case 1347: /* operator_def_arg: NumericOnly */
+#line 10108 "gram.y"
+ { (yyval.node) = (Node *) (yyvsp[0].node); }
+#line 41348 "gram.c"
+ break;
+
+ case 1348: /* operator_def_arg: Sconst */
+#line 10109 "gram.y"
+ { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
+#line 41354 "gram.c"
+ break;
+
+ case 1349: /* AlterTypeStmt: ALTER TYPE_P any_name SET '(' operator_def_list ')' */
+#line 10122 "gram.y"
+ {
+ AlterTypeStmt *n = makeNode(AlterTypeStmt);
+
+ n->typeName = (yyvsp[-4].list);
+ n->options = (yyvsp[-1].list);
+ (yyval.node) = (Node *) n;
+ }
+#line 41366 "gram.c"
+ break;
+
+ case 1350: /* AlterOwnerStmt: ALTER AGGREGATE aggregate_with_argtypes OWNER TO RoleSpec */
+#line 10138 "gram.y"
+ {
+ AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
+
+ n->objectType = OBJECT_AGGREGATE;
+ n->object = (Node *) (yyvsp[-3].objwithargs);
+ n->newowner = (yyvsp[0].rolespec);
+ (yyval.node) = (Node *) n;
+ }
+#line 41379 "gram.c"
+ break;
+
+ case 1351: /* AlterOwnerStmt: ALTER COLLATION any_name OWNER TO RoleSpec */
+#line 10147 "gram.y"
+ {
+ AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
+
+ n->objectType = OBJECT_COLLATION;
+ n->object = (Node *) (yyvsp[-3].list);
+ n->newowner = (yyvsp[0].rolespec);
+ (yyval.node) = (Node *) n;
+ }
+#line 41392 "gram.c"
+ break;
+
+ case 1352: /* AlterOwnerStmt: ALTER CONVERSION_P any_name OWNER TO RoleSpec */
+#line 10156 "gram.y"
+ {
+ AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
+
+ n->objectType = OBJECT_CONVERSION;
+ n->object = (Node *) (yyvsp[-3].list);
+ n->newowner = (yyvsp[0].rolespec);
+ (yyval.node) = (Node *) n;
+ }
+#line 41405 "gram.c"
+ break;
+
+ case 1353: /* AlterOwnerStmt: ALTER DATABASE name OWNER TO RoleSpec */
+#line 10165 "gram.y"
+ {
+ 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 41418 "gram.c"
+ break;
+
+ case 1354: /* AlterOwnerStmt: ALTER DOMAIN_P any_name OWNER TO RoleSpec */
+#line 10174 "gram.y"
+ {
+ AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
+
+ n->objectType = OBJECT_DOMAIN;
+ n->object = (Node *) (yyvsp[-3].list);
+ n->newowner = (yyvsp[0].rolespec);
+ (yyval.node) = (Node *) n;
+ }
+#line 41431 "gram.c"
+ break;
+
+ case 1355: /* AlterOwnerStmt: ALTER FUNCTION function_with_argtypes OWNER TO RoleSpec */
+#line 10183 "gram.y"
+ {
+ AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
+
+ n->objectType = OBJECT_FUNCTION;
+ n->object = (Node *) (yyvsp[-3].objwithargs);
+ n->newowner = (yyvsp[0].rolespec);
+ (yyval.node) = (Node *) n;
+ }
+#line 41444 "gram.c"
+ break;
+
+ case 1356: /* AlterOwnerStmt: ALTER opt_procedural LANGUAGE name OWNER TO RoleSpec */
+#line 10192 "gram.y"
+ {
+ 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 41457 "gram.c"
+ break;
+
+ case 1357: /* AlterOwnerStmt: ALTER LARGE_P OBJECT_P NumericOnly OWNER TO RoleSpec */
+#line 10201 "gram.y"
+ {
+ AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
+
+ n->objectType = OBJECT_LARGEOBJECT;
+ n->object = (Node *) (yyvsp[-3].node);
+ n->newowner = (yyvsp[0].rolespec);
+ (yyval.node) = (Node *) n;
+ }
+#line 41470 "gram.c"
+ break;
+
+ case 1358: /* AlterOwnerStmt: ALTER OPERATOR operator_with_argtypes OWNER TO RoleSpec */
+#line 10210 "gram.y"
+ {
+ AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
+
+ n->objectType = OBJECT_OPERATOR;
+ n->object = (Node *) (yyvsp[-3].objwithargs);
+ n->newowner = (yyvsp[0].rolespec);
+ (yyval.node) = (Node *) n;
+ }
+#line 41483 "gram.c"
+ break;
+
+ case 1359: /* AlterOwnerStmt: ALTER OPERATOR CLASS any_name USING name OWNER TO RoleSpec */
+#line 10219 "gram.y"
+ {
+ 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 41496 "gram.c"
+ break;
+
+ case 1360: /* AlterOwnerStmt: ALTER OPERATOR FAMILY any_name USING name OWNER TO RoleSpec */
+#line 10228 "gram.y"
+ {
+ 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 41509 "gram.c"
+ break;
+
+ case 1361: /* AlterOwnerStmt: ALTER PROCEDURE function_with_argtypes OWNER TO RoleSpec */
+#line 10237 "gram.y"
+ {
+ AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
+
+ n->objectType = OBJECT_PROCEDURE;
+ n->object = (Node *) (yyvsp[-3].objwithargs);
+ n->newowner = (yyvsp[0].rolespec);
+ (yyval.node) = (Node *) n;
+ }
+#line 41522 "gram.c"
+ break;
+
+ case 1362: /* AlterOwnerStmt: ALTER ROUTINE function_with_argtypes OWNER TO RoleSpec */
+#line 10246 "gram.y"
+ {
+ AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
+
+ n->objectType = OBJECT_ROUTINE;
+ n->object = (Node *) (yyvsp[-3].objwithargs);
+ n->newowner = (yyvsp[0].rolespec);
+ (yyval.node) = (Node *) n;
+ }
+#line 41535 "gram.c"
+ break;
+
+ case 1363: /* AlterOwnerStmt: ALTER SCHEMA name OWNER TO RoleSpec */
+#line 10255 "gram.y"
+ {
+ 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 41548 "gram.c"
+ break;
+
+ case 1364: /* AlterOwnerStmt: ALTER TYPE_P any_name OWNER TO RoleSpec */
+#line 10264 "gram.y"
+ {
+ AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
+
+ n->objectType = OBJECT_TYPE;
+ n->object = (Node *) (yyvsp[-3].list);
+ n->newowner = (yyvsp[0].rolespec);
+ (yyval.node) = (Node *) n;
+ }
+#line 41561 "gram.c"
+ break;
+
+ case 1365: /* AlterOwnerStmt: ALTER TABLESPACE name OWNER TO RoleSpec */
+#line 10273 "gram.y"
+ {
+ 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 41574 "gram.c"
+ break;
+
+ case 1366: /* AlterOwnerStmt: ALTER STATISTICS any_name OWNER TO RoleSpec */
+#line 10282 "gram.y"
+ {
+ 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 41587 "gram.c"
+ break;
+
+ case 1367: /* AlterOwnerStmt: ALTER TEXT_P SEARCH DICTIONARY any_name OWNER TO RoleSpec */
+#line 10291 "gram.y"
+ {
+ AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
+
+ n->objectType = OBJECT_TSDICTIONARY;
+ n->object = (Node *) (yyvsp[-3].list);
+ n->newowner = (yyvsp[0].rolespec);
+ (yyval.node) = (Node *) n;
+ }
+#line 41600 "gram.c"
+ break;
+
+ case 1368: /* AlterOwnerStmt: ALTER TEXT_P SEARCH CONFIGURATION any_name OWNER TO RoleSpec */
+#line 10300 "gram.y"
+ {
+ AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
+
+ n->objectType = OBJECT_TSCONFIGURATION;
+ n->object = (Node *) (yyvsp[-3].list);
+ n->newowner = (yyvsp[0].rolespec);
+ (yyval.node) = (Node *) n;
+ }
+#line 41613 "gram.c"
+ break;
+
+ case 1369: /* AlterOwnerStmt: ALTER FOREIGN DATA_P WRAPPER name OWNER TO RoleSpec */
+#line 10309 "gram.y"
+ {
+ 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 41626 "gram.c"
+ break;
+
+ case 1370: /* AlterOwnerStmt: ALTER SERVER name OWNER TO RoleSpec */
+#line 10318 "gram.y"
+ {
+ 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 41639 "gram.c"
+ break;
+
+ case 1371: /* AlterOwnerStmt: ALTER EVENT TRIGGER name OWNER TO RoleSpec */
+#line 10327 "gram.y"
+ {
+ 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 41652 "gram.c"
+ break;
+
+ case 1372: /* AlterOwnerStmt: ALTER PUBLICATION name OWNER TO RoleSpec */
+#line 10336 "gram.y"
+ {
+ 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 41665 "gram.c"
+ break;
+
+ case 1373: /* AlterOwnerStmt: ALTER SUBSCRIPTION name OWNER TO RoleSpec */
+#line 10345 "gram.y"
+ {
+ 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 41678 "gram.c"
+ break;
+
+ case 1374: /* CreatePublicationStmt: CREATE PUBLICATION name opt_definition */
+#line 10373 "gram.y"
+ {
+ CreatePublicationStmt *n = makeNode(CreatePublicationStmt);
+
+ n->pubname = (yyvsp[-1].str);
+ n->options = (yyvsp[0].list);
+ (yyval.node) = (Node *) n;
+ }
+#line 41690 "gram.c"
+ break;
+
+ case 1375: /* CreatePublicationStmt: CREATE PUBLICATION name FOR ALL TABLES opt_definition */
+#line 10381 "gram.y"
+ {
+ CreatePublicationStmt *n = makeNode(CreatePublicationStmt);
+
+ n->pubname = (yyvsp[-4].str);
+ n->options = (yyvsp[0].list);
+ n->for_all_tables = true;
+ (yyval.node) = (Node *) n;
+ }
+#line 41703 "gram.c"
+ break;
+
+ case 1376: /* CreatePublicationStmt: CREATE PUBLICATION name FOR pub_obj_list opt_definition */
+#line 10390 "gram.y"
+ {
+ CreatePublicationStmt *n = makeNode(CreatePublicationStmt);
+
+ n->pubname = (yyvsp[-3].str);
+ n->options = (yyvsp[0].list);
+ n->pubobjects = (List *) (yyvsp[-1].list);
+ preprocess_pubobj_list(n->pubobjects, yyscanner);
+ (yyval.node) = (Node *) n;
+ }
+#line 41717 "gram.c"
+ break;
+
+ case 1377: /* PublicationObjSpec: TABLE relation_expr opt_column_list OptWhereClause */
+#line 10416 "gram.y"
+ {
+ (yyval.publicationobjectspec) = makeNode(PublicationObjSpec);
+ (yyval.publicationobjectspec)->pubobjtype = PUBLICATIONOBJ_TABLE;
+ (yyval.publicationobjectspec)->pubtable = makeNode(PublicationTable);
+ (yyval.publicationobjectspec)->pubtable->relation = (yyvsp[-2].range);
+ (yyval.publicationobjectspec)->pubtable->columns = (yyvsp[-1].list);
+ (yyval.publicationobjectspec)->pubtable->whereClause = (yyvsp[0].node);
+ }
+#line 41730 "gram.c"
+ break;
+
+ case 1378: /* PublicationObjSpec: TABLES IN_P SCHEMA ColId */
+#line 10425 "gram.y"
+ {
+ (yyval.publicationobjectspec) = makeNode(PublicationObjSpec);
+ (yyval.publicationobjectspec)->pubobjtype = PUBLICATIONOBJ_TABLES_IN_SCHEMA;
+ (yyval.publicationobjectspec)->name = (yyvsp[0].str);
+ (yyval.publicationobjectspec)->location = (yylsp[0]);
+ }
+#line 41741 "gram.c"
+ break;
+
+ case 1379: /* PublicationObjSpec: TABLES IN_P SCHEMA CURRENT_SCHEMA */
+#line 10432 "gram.y"
+ {
+ (yyval.publicationobjectspec) = makeNode(PublicationObjSpec);
+ (yyval.publicationobjectspec)->pubobjtype = PUBLICATIONOBJ_TABLES_IN_CUR_SCHEMA;
+ (yyval.publicationobjectspec)->location = (yylsp[0]);
+ }
+#line 41751 "gram.c"
+ break;
+
+ case 1380: /* PublicationObjSpec: ColId opt_column_list OptWhereClause */
+#line 10438 "gram.y"
+ {
+ (yyval.publicationobjectspec) = makeNode(PublicationObjSpec);
+ (yyval.publicationobjectspec)->pubobjtype = PUBLICATIONOBJ_CONTINUATION;
+ /*
+ * If either a row filter or column list is specified, create
+ * a PublicationTable object.
+ */
+ if ((yyvsp[-1].list) || (yyvsp[0].node))
+ {
+ /*
+ * The OptWhereClause must be stored here but it is
+ * valid only for tables. For non-table objects, an
+ * error will be thrown later via
+ * preprocess_pubobj_list().
+ */
+ (yyval.publicationobjectspec)->pubtable = makeNode(PublicationTable);
+ (yyval.publicationobjectspec)->pubtable->relation = makeRangeVar(NULL, (yyvsp[-2].str), (yylsp[-2]));
+ (yyval.publicationobjectspec)->pubtable->columns = (yyvsp[-1].list);
+ (yyval.publicationobjectspec)->pubtable->whereClause = (yyvsp[0].node);
+ }
+ else
+ {
+ (yyval.publicationobjectspec)->name = (yyvsp[-2].str);
+ }
+ (yyval.publicationobjectspec)->location = (yylsp[-2]);
+ }
+#line 41782 "gram.c"
+ break;
+
+ case 1381: /* PublicationObjSpec: ColId indirection opt_column_list OptWhereClause */
+#line 10465 "gram.y"
+ {
+ (yyval.publicationobjectspec) = makeNode(PublicationObjSpec);
+ (yyval.publicationobjectspec)->pubobjtype = PUBLICATIONOBJ_CONTINUATION;
+ (yyval.publicationobjectspec)->pubtable = makeNode(PublicationTable);
+ (yyval.publicationobjectspec)->pubtable->relation = makeRangeVarFromQualifiedName((yyvsp[-3].str), (yyvsp[-2].list), (yylsp[-3]), yyscanner);
+ (yyval.publicationobjectspec)->pubtable->columns = (yyvsp[-1].list);
+ (yyval.publicationobjectspec)->pubtable->whereClause = (yyvsp[0].node);
+ (yyval.publicationobjectspec)->location = (yylsp[-3]);
+ }
+#line 41796 "gram.c"
+ break;
+
+ case 1382: /* PublicationObjSpec: extended_relation_expr opt_column_list OptWhereClause */
+#line 10476 "gram.y"
+ {
+ (yyval.publicationobjectspec) = makeNode(PublicationObjSpec);
+ (yyval.publicationobjectspec)->pubobjtype = PUBLICATIONOBJ_CONTINUATION;
+ (yyval.publicationobjectspec)->pubtable = makeNode(PublicationTable);
+ (yyval.publicationobjectspec)->pubtable->relation = (yyvsp[-2].range);
+ (yyval.publicationobjectspec)->pubtable->columns = (yyvsp[-1].list);
+ (yyval.publicationobjectspec)->pubtable->whereClause = (yyvsp[0].node);
+ }
+#line 41809 "gram.c"
+ break;
+
+ case 1383: /* PublicationObjSpec: CURRENT_SCHEMA */
+#line 10485 "gram.y"
+ {
+ (yyval.publicationobjectspec) = makeNode(PublicationObjSpec);
+ (yyval.publicationobjectspec)->pubobjtype = PUBLICATIONOBJ_CONTINUATION;
+ (yyval.publicationobjectspec)->location = (yylsp[0]);
+ }
+#line 41819 "gram.c"
+ break;
+
+ case 1384: /* pub_obj_list: PublicationObjSpec */
+#line 10493 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].publicationobjectspec)); }
+#line 41825 "gram.c"
+ break;
+
+ case 1385: /* pub_obj_list: pub_obj_list ',' PublicationObjSpec */
+#line 10495 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].publicationobjectspec)); }
+#line 41831 "gram.c"
+ break;
+
+ case 1386: /* AlterPublicationStmt: ALTER PUBLICATION name SET definition */
+#line 10517 "gram.y"
+ {
+ AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
+
+ n->pubname = (yyvsp[-2].str);
+ n->options = (yyvsp[0].list);
+ (yyval.node) = (Node *) n;
+ }
+#line 41843 "gram.c"
+ break;
+
+ case 1387: /* AlterPublicationStmt: ALTER PUBLICATION name ADD_P pub_obj_list */
+#line 10525 "gram.y"
+ {
+ AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
+
+ n->pubname = (yyvsp[-2].str);
+ n->pubobjects = (yyvsp[0].list);
+ preprocess_pubobj_list(n->pubobjects, yyscanner);
+ n->action = AP_AddObjects;
+ (yyval.node) = (Node *) n;
+ }
+#line 41857 "gram.c"
+ break;
+
+ case 1388: /* AlterPublicationStmt: ALTER PUBLICATION name SET pub_obj_list */
+#line 10535 "gram.y"
+ {
+ AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
+
+ n->pubname = (yyvsp[-2].str);
+ n->pubobjects = (yyvsp[0].list);
+ preprocess_pubobj_list(n->pubobjects, yyscanner);
+ n->action = AP_SetObjects;
+ (yyval.node) = (Node *) n;
+ }
+#line 41871 "gram.c"
+ break;
+
+ case 1389: /* AlterPublicationStmt: ALTER PUBLICATION name DROP pub_obj_list */
+#line 10545 "gram.y"
+ {
+ AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
+
+ n->pubname = (yyvsp[-2].str);
+ n->pubobjects = (yyvsp[0].list);
+ preprocess_pubobj_list(n->pubobjects, yyscanner);
+ n->action = AP_DropObjects;
+ (yyval.node) = (Node *) n;
+ }
+#line 41885 "gram.c"
+ break;
+
+ case 1390: /* CreateSubscriptionStmt: CREATE SUBSCRIPTION name CONNECTION Sconst PUBLICATION name_list opt_definition */
+#line 10564 "gram.y"
+ {
+ 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 41899 "gram.c"
+ break;
+
+ case 1391: /* AlterSubscriptionStmt: ALTER SUBSCRIPTION name SET definition */
+#line 10583 "gram.y"
+ {
+ AlterSubscriptionStmt *n =
+ makeNode(AlterSubscriptionStmt);
+
+ n->kind = ALTER_SUBSCRIPTION_OPTIONS;
+ n->subname = (yyvsp[-2].str);
+ n->options = (yyvsp[0].list);
+ (yyval.node) = (Node *) n;
+ }
+#line 41913 "gram.c"
+ break;
+
+ case 1392: /* AlterSubscriptionStmt: ALTER SUBSCRIPTION name CONNECTION Sconst */
+#line 10593 "gram.y"
+ {
+ AlterSubscriptionStmt *n =
+ makeNode(AlterSubscriptionStmt);
+
+ n->kind = ALTER_SUBSCRIPTION_CONNECTION;
+ n->subname = (yyvsp[-2].str);
+ n->conninfo = (yyvsp[0].str);
+ (yyval.node) = (Node *) n;
+ }
+#line 41927 "gram.c"
+ break;
+
+ case 1393: /* AlterSubscriptionStmt: ALTER SUBSCRIPTION name REFRESH PUBLICATION opt_definition */
+#line 10603 "gram.y"
+ {
+ AlterSubscriptionStmt *n =
+ makeNode(AlterSubscriptionStmt);
+
+ n->kind = ALTER_SUBSCRIPTION_REFRESH;
+ n->subname = (yyvsp[-3].str);
+ n->options = (yyvsp[0].list);
+ (yyval.node) = (Node *) n;
+ }
+#line 41941 "gram.c"
+ break;
+
+ case 1394: /* AlterSubscriptionStmt: ALTER SUBSCRIPTION name ADD_P PUBLICATION name_list opt_definition */
+#line 10613 "gram.y"
+ {
+ AlterSubscriptionStmt *n =
+ makeNode(AlterSubscriptionStmt);
+
+ n->kind = ALTER_SUBSCRIPTION_ADD_PUBLICATION;
+ n->subname = (yyvsp[-4].str);
+ n->publication = (yyvsp[-1].list);
+ n->options = (yyvsp[0].list);
+ (yyval.node) = (Node *) n;
+ }
+#line 41956 "gram.c"
+ break;
+
+ case 1395: /* AlterSubscriptionStmt: ALTER SUBSCRIPTION name DROP PUBLICATION name_list opt_definition */
+#line 10624 "gram.y"
+ {
+ AlterSubscriptionStmt *n =
+ makeNode(AlterSubscriptionStmt);
+
+ n->kind = ALTER_SUBSCRIPTION_DROP_PUBLICATION;
+ n->subname = (yyvsp[-4].str);
+ n->publication = (yyvsp[-1].list);
+ n->options = (yyvsp[0].list);
+ (yyval.node) = (Node *) n;
+ }
+#line 41971 "gram.c"
+ break;
+
+ case 1396: /* AlterSubscriptionStmt: ALTER SUBSCRIPTION name SET PUBLICATION name_list opt_definition */
+#line 10635 "gram.y"
+ {
+ AlterSubscriptionStmt *n =
+ makeNode(AlterSubscriptionStmt);
+
+ n->kind = ALTER_SUBSCRIPTION_SET_PUBLICATION;
+ n->subname = (yyvsp[-4].str);
+ n->publication = (yyvsp[-1].list);
+ n->options = (yyvsp[0].list);
+ (yyval.node) = (Node *) n;
+ }
+#line 41986 "gram.c"
+ break;
+
+ case 1397: /* AlterSubscriptionStmt: ALTER SUBSCRIPTION name ENABLE_P */
+#line 10646 "gram.y"
+ {
+ AlterSubscriptionStmt *n =
+ makeNode(AlterSubscriptionStmt);
+
+ n->kind = ALTER_SUBSCRIPTION_ENABLED;
+ n->subname = (yyvsp[-1].str);
+ n->options = list_make1(makeDefElem("enabled",
+ (Node *) makeBoolean(true), (yylsp[-3])));
+ (yyval.node) = (Node *) n;
+ }
+#line 42001 "gram.c"
+ break;
+
+ case 1398: /* AlterSubscriptionStmt: ALTER SUBSCRIPTION name DISABLE_P */
+#line 10657 "gram.y"
+ {
+ AlterSubscriptionStmt *n =
+ makeNode(AlterSubscriptionStmt);
+
+ n->kind = ALTER_SUBSCRIPTION_ENABLED;
+ n->subname = (yyvsp[-1].str);
+ n->options = list_make1(makeDefElem("enabled",
+ (Node *) makeBoolean(false), (yylsp[-3])));
+ (yyval.node) = (Node *) n;
+ }
+#line 42016 "gram.c"
+ break;
+
+ case 1399: /* AlterSubscriptionStmt: ALTER SUBSCRIPTION name SKIP definition */
+#line 10668 "gram.y"
+ {
+ AlterSubscriptionStmt *n =
+ makeNode(AlterSubscriptionStmt);
+
+ n->kind = ALTER_SUBSCRIPTION_SKIP;
+ n->subname = (yyvsp[-2].str);
+ n->options = (yyvsp[0].list);
+ (yyval.node) = (Node *) n;
+ }
+#line 42030 "gram.c"
+ break;
+
+ case 1400: /* DropSubscriptionStmt: DROP SUBSCRIPTION name opt_drop_behavior */
+#line 10686 "gram.y"
+ {
+ DropSubscriptionStmt *n = makeNode(DropSubscriptionStmt);
+
+ n->subname = (yyvsp[-1].str);
+ n->missing_ok = false;
+ n->behavior = (yyvsp[0].dbehavior);
+ (yyval.node) = (Node *) n;
+ }
+#line 42043 "gram.c"
+ break;
+
+ case 1401: /* DropSubscriptionStmt: DROP SUBSCRIPTION IF_P EXISTS name opt_drop_behavior */
+#line 10695 "gram.y"
+ {
+ DropSubscriptionStmt *n = makeNode(DropSubscriptionStmt);
+
+ n->subname = (yyvsp[-1].str);
+ n->missing_ok = true;
+ n->behavior = (yyvsp[0].dbehavior);
+ (yyval.node) = (Node *) n;
+ }
+#line 42056 "gram.c"
+ break;
+
+ case 1402: /* RuleStmt: CREATE opt_or_replace RULE name AS ON event TO qualified_name where_clause DO opt_instead RuleActionList */
+#line 10714 "gram.y"
+ {
+ 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 42073 "gram.c"
+ break;
+
+ case 1403: /* RuleActionList: NOTHING */
+#line 10729 "gram.y"
+ { (yyval.list) = NIL; }
+#line 42079 "gram.c"
+ break;
+
+ case 1404: /* RuleActionList: RuleActionStmt */
+#line 10730 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].node)); }
+#line 42085 "gram.c"
+ break;
+
+ case 1405: /* RuleActionList: '(' RuleActionMulti ')' */
+#line 10731 "gram.y"
+ { (yyval.list) = (yyvsp[-1].list); }
+#line 42091 "gram.c"
+ break;
+
+ case 1406: /* RuleActionMulti: RuleActionMulti ';' RuleActionStmtOrEmpty */
+#line 10737 "gram.y"
+ { if ((yyvsp[0].node) != NULL)
+ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
+ else
+ (yyval.list) = (yyvsp[-2].list);
+ }
+#line 42101 "gram.c"
+ break;
+
+ case 1407: /* RuleActionMulti: RuleActionStmtOrEmpty */
+#line 10743 "gram.y"
+ { if ((yyvsp[0].node) != NULL)
+ (yyval.list) = list_make1((yyvsp[0].node));
+ else
+ (yyval.list) = NIL;
+ }
+#line 42111 "gram.c"
+ break;
+
+ case 1413: /* RuleActionStmtOrEmpty: RuleActionStmt */
+#line 10759 "gram.y"
+ { (yyval.node) = (yyvsp[0].node); }
+#line 42117 "gram.c"
+ break;
+
+ case 1414: /* RuleActionStmtOrEmpty: %empty */
+#line 10760 "gram.y"
+ { (yyval.node) = NULL; }
+#line 42123 "gram.c"
+ break;
+
+ case 1415: /* event: SELECT */
+#line 10763 "gram.y"
+ { (yyval.ival) = CMD_SELECT; }
+#line 42129 "gram.c"
+ break;
+
+ case 1416: /* event: UPDATE */
+#line 10764 "gram.y"
+ { (yyval.ival) = CMD_UPDATE; }
+#line 42135 "gram.c"
+ break;
+
+ case 1417: /* event: DELETE_P */
+#line 10765 "gram.y"
+ { (yyval.ival) = CMD_DELETE; }
+#line 42141 "gram.c"
+ break;
+
+ case 1418: /* event: INSERT */
+#line 10766 "gram.y"
+ { (yyval.ival) = CMD_INSERT; }
+#line 42147 "gram.c"
+ break;
+
+ case 1419: /* opt_instead: INSTEAD */
+#line 10770 "gram.y"
+ { (yyval.boolean) = true; }
+#line 42153 "gram.c"
+ break;
+
+ case 1420: /* opt_instead: ALSO */
+#line 10771 "gram.y"
+ { (yyval.boolean) = false; }
+#line 42159 "gram.c"
+ break;
+
+ case 1421: /* opt_instead: %empty */
+#line 10772 "gram.y"
+ { (yyval.boolean) = false; }
+#line 42165 "gram.c"
+ break;
+
+ case 1422: /* NotifyStmt: NOTIFY ColId notify_payload */
+#line 10785 "gram.y"
+ {
+ NotifyStmt *n = makeNode(NotifyStmt);
+
+ n->conditionname = (yyvsp[-1].str);
+ n->payload = (yyvsp[0].str);
+ (yyval.node) = (Node *) n;
+ }
+#line 42177 "gram.c"
+ break;
+
+ case 1423: /* notify_payload: ',' Sconst */
+#line 10795 "gram.y"
+ { (yyval.str) = (yyvsp[0].str); }
+#line 42183 "gram.c"
+ break;
+
+ case 1424: /* notify_payload: %empty */
+#line 10796 "gram.y"
+ { (yyval.str) = NULL; }
+#line 42189 "gram.c"
+ break;
+
+ case 1425: /* ListenStmt: LISTEN ColId */
+#line 10800 "gram.y"
+ {
+ ListenStmt *n = makeNode(ListenStmt);
+
+ n->conditionname = (yyvsp[0].str);
+ (yyval.node) = (Node *) n;
+ }
+#line 42200 "gram.c"
+ break;
+
+ case 1426: /* UnlistenStmt: UNLISTEN ColId */
+#line 10810 "gram.y"
+ {
+ UnlistenStmt *n = makeNode(UnlistenStmt);
+
+ n->conditionname = (yyvsp[0].str);
+ (yyval.node) = (Node *) n;
+ }
+#line 42211 "gram.c"
+ break;
+
+ case 1427: /* UnlistenStmt: UNLISTEN '*' */
+#line 10817 "gram.y"
+ {
+ UnlistenStmt *n = makeNode(UnlistenStmt);
+
+ n->conditionname = NULL;
+ (yyval.node) = (Node *) n;
+ }
+#line 42222 "gram.c"
+ break;
+
+ case 1428: /* TransactionStmt: ABORT_P opt_transaction opt_transaction_chain */
+#line 10837 "gram.y"
+ {
+ TransactionStmt *n = makeNode(TransactionStmt);
+
+ n->kind = TRANS_STMT_ROLLBACK;
+ n->options = NIL;
+ n->chain = (yyvsp[0].boolean);
+ (yyval.node) = (Node *) n;
+ }
+#line 42235 "gram.c"
+ break;
+
+ case 1429: /* TransactionStmt: START TRANSACTION transaction_mode_list_or_empty */
+#line 10846 "gram.y"
+ {
+ TransactionStmt *n = makeNode(TransactionStmt);
+
+ n->kind = TRANS_STMT_START;
+ n->options = (yyvsp[0].list);
+ (yyval.node) = (Node *) n;
+ }
+#line 42247 "gram.c"
+ break;
+
+ case 1430: /* TransactionStmt: COMMIT opt_transaction opt_transaction_chain */
+#line 10854 "gram.y"
+ {
+ TransactionStmt *n = makeNode(TransactionStmt);
+
+ n->kind = TRANS_STMT_COMMIT;
+ n->options = NIL;
+ n->chain = (yyvsp[0].boolean);
+ (yyval.node) = (Node *) n;
+ }
+#line 42260 "gram.c"
+ break;
+
+ case 1431: /* TransactionStmt: ROLLBACK opt_transaction opt_transaction_chain */
+#line 10863 "gram.y"
+ {
+ TransactionStmt *n = makeNode(TransactionStmt);
+
+ n->kind = TRANS_STMT_ROLLBACK;
+ n->options = NIL;
+ n->chain = (yyvsp[0].boolean);
+ (yyval.node) = (Node *) n;
+ }
+#line 42273 "gram.c"
+ break;
+
+ case 1432: /* TransactionStmt: SAVEPOINT ColId */
+#line 10872 "gram.y"
+ {
+ TransactionStmt *n = makeNode(TransactionStmt);
+
+ n->kind = TRANS_STMT_SAVEPOINT;
+ n->savepoint_name = (yyvsp[0].str);
+ (yyval.node) = (Node *) n;
+ }
+#line 42285 "gram.c"
+ break;
+
+ case 1433: /* TransactionStmt: RELEASE SAVEPOINT ColId */
+#line 10880 "gram.y"
+ {
+ TransactionStmt *n = makeNode(TransactionStmt);
+
+ n->kind = TRANS_STMT_RELEASE;
+ n->savepoint_name = (yyvsp[0].str);
+ (yyval.node) = (Node *) n;
+ }
+#line 42297 "gram.c"
+ break;
+
+ case 1434: /* TransactionStmt: RELEASE ColId */
+#line 10888 "gram.y"
+ {
+ TransactionStmt *n = makeNode(TransactionStmt);
+
+ n->kind = TRANS_STMT_RELEASE;
+ n->savepoint_name = (yyvsp[0].str);
+ (yyval.node) = (Node *) n;
+ }
+#line 42309 "gram.c"
+ break;
+
+ case 1435: /* TransactionStmt: ROLLBACK opt_transaction TO SAVEPOINT ColId */
+#line 10896 "gram.y"
+ {
+ TransactionStmt *n = makeNode(TransactionStmt);
+
+ n->kind = TRANS_STMT_ROLLBACK_TO;
+ n->savepoint_name = (yyvsp[0].str);
+ (yyval.node) = (Node *) n;
+ }
+#line 42321 "gram.c"
+ break;
+
+ case 1436: /* TransactionStmt: ROLLBACK opt_transaction TO ColId */
+#line 10904 "gram.y"
+ {
+ TransactionStmt *n = makeNode(TransactionStmt);
+
+ n->kind = TRANS_STMT_ROLLBACK_TO;
+ n->savepoint_name = (yyvsp[0].str);
+ (yyval.node) = (Node *) n;
+ }
+#line 42333 "gram.c"
+ break;
+
+ case 1437: /* TransactionStmt: PREPARE TRANSACTION Sconst */
+#line 10912 "gram.y"
+ {
+ TransactionStmt *n = makeNode(TransactionStmt);
+
+ n->kind = TRANS_STMT_PREPARE;
+ n->gid = (yyvsp[0].str);
+ (yyval.node) = (Node *) n;
+ }
+#line 42345 "gram.c"
+ break;
+
+ case 1438: /* TransactionStmt: COMMIT PREPARED Sconst */
+#line 10920 "gram.y"
+ {
+ TransactionStmt *n = makeNode(TransactionStmt);
+
+ n->kind = TRANS_STMT_COMMIT_PREPARED;
+ n->gid = (yyvsp[0].str);
+ (yyval.node) = (Node *) n;
+ }
+#line 42357 "gram.c"
+ break;
+
+ case 1439: /* TransactionStmt: ROLLBACK PREPARED Sconst */
+#line 10928 "gram.y"
+ {
+ TransactionStmt *n = makeNode(TransactionStmt);
+
+ n->kind = TRANS_STMT_ROLLBACK_PREPARED;
+ n->gid = (yyvsp[0].str);
+ (yyval.node) = (Node *) n;
+ }
+#line 42369 "gram.c"
+ break;
+
+ case 1440: /* TransactionStmtLegacy: BEGIN_P opt_transaction transaction_mode_list_or_empty */
+#line 10939 "gram.y"
+ {
+ TransactionStmt *n = makeNode(TransactionStmt);
+
+ n->kind = TRANS_STMT_BEGIN;
+ n->options = (yyvsp[0].list);
+ (yyval.node) = (Node *) n;
+ }
+#line 42381 "gram.c"
+ break;
+
+ case 1441: /* TransactionStmtLegacy: END_P opt_transaction opt_transaction_chain */
+#line 10947 "gram.y"
+ {
+ TransactionStmt *n = makeNode(TransactionStmt);
+
+ n->kind = TRANS_STMT_COMMIT;
+ n->options = NIL;
+ n->chain = (yyvsp[0].boolean);
+ (yyval.node) = (Node *) n;
+ }
+#line 42394 "gram.c"
+ break;
+
+ case 1445: /* transaction_mode_item: ISOLATION LEVEL iso_level */
+#line 10964 "gram.y"
+ { (yyval.defelt) = makeDefElem("transaction_isolation",
+ makeStringConst((yyvsp[0].str), (yylsp[0])), (yylsp[-2])); }
+#line 42401 "gram.c"
+ break;
+
+ case 1446: /* transaction_mode_item: READ ONLY */
+#line 10967 "gram.y"
+ { (yyval.defelt) = makeDefElem("transaction_read_only",
+ makeIntConst(true, (yylsp[-1])), (yylsp[-1])); }
+#line 42408 "gram.c"
+ break;
+
+ case 1447: /* transaction_mode_item: READ WRITE */
+#line 10970 "gram.y"
+ { (yyval.defelt) = makeDefElem("transaction_read_only",
+ makeIntConst(false, (yylsp[-1])), (yylsp[-1])); }
+#line 42415 "gram.c"
+ break;
+
+ case 1448: /* transaction_mode_item: DEFERRABLE */
+#line 10973 "gram.y"
+ { (yyval.defelt) = makeDefElem("transaction_deferrable",
+ makeIntConst(true, (yylsp[0])), (yylsp[0])); }
+#line 42422 "gram.c"
+ break;
+
+ case 1449: /* transaction_mode_item: NOT DEFERRABLE */
+#line 10976 "gram.y"
+ { (yyval.defelt) = makeDefElem("transaction_deferrable",
+ makeIntConst(false, (yylsp[-1])), (yylsp[-1])); }
+#line 42429 "gram.c"
+ break;
+
+ case 1450: /* transaction_mode_list: transaction_mode_item */
+#line 10983 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].defelt)); }
+#line 42435 "gram.c"
+ break;
+
+ case 1451: /* transaction_mode_list: transaction_mode_list ',' transaction_mode_item */
+#line 10985 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
+#line 42441 "gram.c"
+ break;
+
+ case 1452: /* transaction_mode_list: transaction_mode_list transaction_mode_item */
+#line 10987 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
+#line 42447 "gram.c"
+ break;
+
+ case 1454: /* transaction_mode_list_or_empty: %empty */
+#line 10993 "gram.y"
+ { (yyval.list) = NIL; }
+#line 42453 "gram.c"
+ break;
+
+ case 1455: /* opt_transaction_chain: AND CHAIN */
+#line 10997 "gram.y"
+ { (yyval.boolean) = true; }
+#line 42459 "gram.c"
+ break;
+
+ case 1456: /* opt_transaction_chain: AND NO CHAIN */
+#line 10998 "gram.y"
+ { (yyval.boolean) = false; }
+#line 42465 "gram.c"
+ break;
+
+ case 1457: /* opt_transaction_chain: %empty */
+#line 10999 "gram.y"
+ { (yyval.boolean) = false; }
+#line 42471 "gram.c"
+ break;
+
+ case 1458: /* ViewStmt: CREATE OptTemp VIEW qualified_name opt_column_list opt_reloptions AS SelectStmt opt_check_option */
+#line 11013 "gram.y"
+ {
+ 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 42488 "gram.c"
+ break;
+
+ case 1459: /* ViewStmt: CREATE OR REPLACE OptTemp VIEW qualified_name opt_column_list opt_reloptions AS SelectStmt opt_check_option */
+#line 11027 "gram.y"
+ {
+ 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 42505 "gram.c"
+ break;
+
+ case 1460: /* ViewStmt: CREATE OptTemp RECURSIVE VIEW qualified_name '(' columnList ')' opt_reloptions AS SelectStmt opt_check_option */
+#line 11041 "gram.y"
+ {
+ 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 42527 "gram.c"
+ break;
+
+ case 1461: /* ViewStmt: CREATE OR REPLACE OptTemp RECURSIVE VIEW qualified_name '(' columnList ')' opt_reloptions AS SelectStmt opt_check_option */
+#line 11060 "gram.y"
+ {
+ 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 42549 "gram.c"
+ break;
+
+ case 1462: /* opt_check_option: WITH CHECK OPTION */
+#line 11080 "gram.y"
+ { (yyval.ival) = CASCADED_CHECK_OPTION; }
+#line 42555 "gram.c"
+ break;
+
+ case 1463: /* opt_check_option: WITH CASCADED CHECK OPTION */
+#line 11081 "gram.y"
+ { (yyval.ival) = CASCADED_CHECK_OPTION; }
+#line 42561 "gram.c"
+ break;
+
+ case 1464: /* opt_check_option: WITH LOCAL CHECK OPTION */
+#line 11082 "gram.y"
+ { (yyval.ival) = LOCAL_CHECK_OPTION; }
+#line 42567 "gram.c"
+ break;
+
+ case 1465: /* opt_check_option: %empty */
+#line 11083 "gram.y"
+ { (yyval.ival) = NO_CHECK_OPTION; }
+#line 42573 "gram.c"
+ break;
+
+ case 1466: /* LoadStmt: LOAD file_name */
+#line 11094 "gram.y"
+ {
+ LoadStmt *n = makeNode(LoadStmt);
+
+ n->filename = (yyvsp[0].str);
+ (yyval.node) = (Node *) n;
+ }
+#line 42584 "gram.c"
+ break;
+
+ case 1467: /* CreatedbStmt: CREATE DATABASE name opt_with createdb_opt_list */
+#line 11111 "gram.y"
+ {
+ CreatedbStmt *n = makeNode(CreatedbStmt);
+
+ n->dbname = (yyvsp[-2].str);
+ n->options = (yyvsp[0].list);
+ (yyval.node) = (Node *) n;
+ }
+#line 42596 "gram.c"
+ break;
+
+ case 1468: /* createdb_opt_list: createdb_opt_items */
+#line 11121 "gram.y"
+ { (yyval.list) = (yyvsp[0].list); }
+#line 42602 "gram.c"
+ break;
+
+ case 1469: /* createdb_opt_list: %empty */
+#line 11122 "gram.y"
+ { (yyval.list) = NIL; }
+#line 42608 "gram.c"
+ break;
+
+ case 1470: /* createdb_opt_items: createdb_opt_item */
+#line 11126 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].defelt)); }
+#line 42614 "gram.c"
+ break;
+
+ case 1471: /* createdb_opt_items: createdb_opt_items createdb_opt_item */
+#line 11127 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
+#line 42620 "gram.c"
+ break;
+
+ case 1472: /* createdb_opt_item: createdb_opt_name opt_equal NumericOnly */
+#line 11132 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem((yyvsp[-2].str), (yyvsp[0].node), (yylsp[-2]));
+ }
+#line 42628 "gram.c"
+ break;
+
+ case 1473: /* createdb_opt_item: createdb_opt_name opt_equal opt_boolean_or_string */
+#line 11136 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *) makeString((yyvsp[0].str)), (yylsp[-2]));
+ }
+#line 42636 "gram.c"
+ break;
+
+ case 1474: /* createdb_opt_item: createdb_opt_name opt_equal DEFAULT */
+#line 11140 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem((yyvsp[-2].str), NULL, (yylsp[-2]));
+ }
+#line 42644 "gram.c"
+ break;
+
+ case 1475: /* createdb_opt_name: IDENT */
+#line 11157 "gram.y"
+ { (yyval.str) = (yyvsp[0].str); }
+#line 42650 "gram.c"
+ break;
+
+ case 1476: /* createdb_opt_name: CONNECTION LIMIT */
+#line 11158 "gram.y"
+ { (yyval.str) = pstrdup("connection_limit"); }
+#line 42656 "gram.c"
+ break;
+
+ case 1477: /* createdb_opt_name: ENCODING */
+#line 11159 "gram.y"
+ { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
+#line 42662 "gram.c"
+ break;
+
+ case 1478: /* createdb_opt_name: LOCATION */
+#line 11160 "gram.y"
+ { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
+#line 42668 "gram.c"
+ break;
+
+ case 1479: /* createdb_opt_name: OWNER */
+#line 11161 "gram.y"
+ { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
+#line 42674 "gram.c"
+ break;
+
+ case 1480: /* createdb_opt_name: TABLESPACE */
+#line 11162 "gram.y"
+ { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
+#line 42680 "gram.c"
+ break;
+
+ case 1481: /* createdb_opt_name: TEMPLATE */
+#line 11163 "gram.y"
+ { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
+#line 42686 "gram.c"
+ break;
+
+ case 1484: /* AlterDatabaseStmt: ALTER DATABASE name WITH createdb_opt_list */
+#line 11183 "gram.y"
+ {
+ AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
+
+ n->dbname = (yyvsp[-2].str);
+ n->options = (yyvsp[0].list);
+ (yyval.node) = (Node *) n;
+ }
+#line 42698 "gram.c"
+ break;
+
+ case 1485: /* AlterDatabaseStmt: ALTER DATABASE name createdb_opt_list */
+#line 11191 "gram.y"
+ {
+ AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
+
+ n->dbname = (yyvsp[-1].str);
+ n->options = (yyvsp[0].list);
+ (yyval.node) = (Node *) n;
+ }
+#line 42710 "gram.c"
+ break;
+
+ case 1486: /* AlterDatabaseStmt: ALTER DATABASE name SET TABLESPACE name */
+#line 11199 "gram.y"
+ {
+ 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 42723 "gram.c"
+ break;
+
+ case 1487: /* AlterDatabaseStmt: ALTER DATABASE name REFRESH COLLATION VERSION_P */
+#line 11208 "gram.y"
+ {
+ AlterDatabaseRefreshCollStmt *n = makeNode(AlterDatabaseRefreshCollStmt);
+
+ n->dbname = (yyvsp[-3].str);
+ (yyval.node) = (Node *) n;
+ }
+#line 42734 "gram.c"
+ break;
+
+ case 1488: /* AlterDatabaseSetStmt: ALTER DATABASE name SetResetClause */
+#line 11218 "gram.y"
+ {
+ AlterDatabaseSetStmt *n = makeNode(AlterDatabaseSetStmt);
+
+ n->dbname = (yyvsp[-1].str);
+ n->setstmt = (yyvsp[0].vsetstmt);
+ (yyval.node) = (Node *) n;
+ }
+#line 42746 "gram.c"
+ break;
+
+ case 1489: /* DropdbStmt: DROP DATABASE name */
+#line 11236 "gram.y"
+ {
+ DropdbStmt *n = makeNode(DropdbStmt);
+
+ n->dbname = (yyvsp[0].str);
+ n->missing_ok = false;
+ n->options = NULL;
+ (yyval.node) = (Node *) n;
+ }
+#line 42759 "gram.c"
+ break;
+
+ case 1490: /* DropdbStmt: DROP DATABASE IF_P EXISTS name */
+#line 11245 "gram.y"
+ {
+ DropdbStmt *n = makeNode(DropdbStmt);
+
+ n->dbname = (yyvsp[0].str);
+ n->missing_ok = true;
+ n->options = NULL;
+ (yyval.node) = (Node *) n;
+ }
+#line 42772 "gram.c"
+ break;
+
+ case 1491: /* DropdbStmt: DROP DATABASE name opt_with '(' drop_option_list ')' */
+#line 11254 "gram.y"
+ {
+ DropdbStmt *n = makeNode(DropdbStmt);
+
+ n->dbname = (yyvsp[-4].str);
+ n->missing_ok = false;
+ n->options = (yyvsp[-1].list);
+ (yyval.node) = (Node *) n;
+ }
+#line 42785 "gram.c"
+ break;
+
+ case 1492: /* DropdbStmt: DROP DATABASE IF_P EXISTS name opt_with '(' drop_option_list ')' */
+#line 11263 "gram.y"
+ {
+ DropdbStmt *n = makeNode(DropdbStmt);
+
+ n->dbname = (yyvsp[-4].str);
+ n->missing_ok = true;
+ n->options = (yyvsp[-1].list);
+ (yyval.node) = (Node *) n;
+ }
+#line 42798 "gram.c"
+ break;
+
+ case 1493: /* drop_option_list: drop_option */
+#line 11275 "gram.y"
+ {
+ (yyval.list) = list_make1((Node *) (yyvsp[0].defelt));
+ }
+#line 42806 "gram.c"
+ break;
+
+ case 1494: /* drop_option_list: drop_option_list ',' drop_option */
+#line 11279 "gram.y"
+ {
+ (yyval.list) = lappend((yyvsp[-2].list), (Node *) (yyvsp[0].defelt));
+ }
+#line 42814 "gram.c"
+ break;
+
+ case 1495: /* drop_option: FORCE */
+#line 11290 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem("force", NULL, (yylsp[0]));
+ }
+#line 42822 "gram.c"
+ break;
+
+ case 1496: /* AlterCollationStmt: ALTER COLLATION any_name REFRESH VERSION_P */
+#line 11302 "gram.y"
+ {
+ AlterCollationStmt *n = makeNode(AlterCollationStmt);
+
+ n->collname = (yyvsp[-2].list);
+ (yyval.node) = (Node *) n;
+ }
+#line 42833 "gram.c"
+ break;
+
+ case 1497: /* AlterSystemStmt: ALTER SYSTEM_P SET generic_set */
+#line 11320 "gram.y"
+ {
+ AlterSystemStmt *n = makeNode(AlterSystemStmt);
+
+ n->setstmt = (yyvsp[0].vsetstmt);
+ (yyval.node) = (Node *) n;
+ }
+#line 42844 "gram.c"
+ break;
+
+ case 1498: /* AlterSystemStmt: ALTER SYSTEM_P RESET generic_reset */
+#line 11327 "gram.y"
+ {
+ AlterSystemStmt *n = makeNode(AlterSystemStmt);
+
+ n->setstmt = (yyvsp[0].vsetstmt);
+ (yyval.node) = (Node *) n;
+ }
+#line 42855 "gram.c"
+ break;
+
+ case 1499: /* CreateDomainStmt: CREATE DOMAIN_P any_name opt_as Typename ColQualList */
+#line 11344 "gram.y"
+ {
+ 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 42869 "gram.c"
+ break;
+
+ case 1500: /* AlterDomainStmt: ALTER DOMAIN_P any_name alter_column_default */
+#line 11358 "gram.y"
+ {
+ AlterDomainStmt *n = makeNode(AlterDomainStmt);
+
+ n->subtype = 'T';
+ n->typeName = (yyvsp[-1].list);
+ n->def = (yyvsp[0].node);
+ (yyval.node) = (Node *) n;
+ }
+#line 42882 "gram.c"
+ break;
+
+ case 1501: /* AlterDomainStmt: ALTER DOMAIN_P any_name DROP NOT NULL_P */
+#line 11368 "gram.y"
+ {
+ AlterDomainStmt *n = makeNode(AlterDomainStmt);
+
+ n->subtype = 'N';
+ n->typeName = (yyvsp[-3].list);
+ (yyval.node) = (Node *) n;
+ }
+#line 42894 "gram.c"
+ break;
+
+ case 1502: /* AlterDomainStmt: ALTER DOMAIN_P any_name SET NOT NULL_P */
+#line 11377 "gram.y"
+ {
+ AlterDomainStmt *n = makeNode(AlterDomainStmt);
+
+ n->subtype = 'O';
+ n->typeName = (yyvsp[-3].list);
+ (yyval.node) = (Node *) n;
+ }
+#line 42906 "gram.c"
+ break;
+
+ case 1503: /* AlterDomainStmt: ALTER DOMAIN_P any_name ADD_P TableConstraint */
+#line 11386 "gram.y"
+ {
+ AlterDomainStmt *n = makeNode(AlterDomainStmt);
+
+ n->subtype = 'C';
+ n->typeName = (yyvsp[-2].list);
+ n->def = (yyvsp[0].node);
+ (yyval.node) = (Node *) n;
+ }
+#line 42919 "gram.c"
+ break;
+
+ case 1504: /* AlterDomainStmt: ALTER DOMAIN_P any_name DROP CONSTRAINT name opt_drop_behavior */
+#line 11396 "gram.y"
+ {
+ 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 42934 "gram.c"
+ break;
+
+ case 1505: /* AlterDomainStmt: ALTER DOMAIN_P any_name DROP CONSTRAINT IF_P EXISTS name opt_drop_behavior */
+#line 11408 "gram.y"
+ {
+ 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 42949 "gram.c"
+ break;
+
+ case 1506: /* AlterDomainStmt: ALTER DOMAIN_P any_name VALIDATE CONSTRAINT name */
+#line 11420 "gram.y"
+ {
+ AlterDomainStmt *n = makeNode(AlterDomainStmt);
+
+ n->subtype = 'V';
+ n->typeName = (yyvsp[-3].list);
+ n->name = (yyvsp[0].str);
+ (yyval.node) = (Node *) n;
+ }
+#line 42962 "gram.c"
+ break;
+
+ case 1509: /* AlterTSDictionaryStmt: ALTER TEXT_P SEARCH DICTIONARY any_name definition */
+#line 11443 "gram.y"
+ {
+ AlterTSDictionaryStmt *n = makeNode(AlterTSDictionaryStmt);
+
+ n->dictname = (yyvsp[-1].list);
+ n->options = (yyvsp[0].list);
+ (yyval.node) = (Node *) n;
+ }
+#line 42974 "gram.c"
+ break;
+
+ case 1510: /* AlterTSConfigurationStmt: ALTER TEXT_P SEARCH CONFIGURATION any_name ADD_P MAPPING FOR name_list any_with any_name_list */
+#line 11454 "gram.y"
+ {
+ 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 42990 "gram.c"
+ break;
+
+ case 1511: /* AlterTSConfigurationStmt: ALTER TEXT_P SEARCH CONFIGURATION any_name ALTER MAPPING FOR name_list any_with any_name_list */
+#line 11466 "gram.y"
+ {
+ 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 43006 "gram.c"
+ break;
+
+ case 1512: /* AlterTSConfigurationStmt: ALTER TEXT_P SEARCH CONFIGURATION any_name ALTER MAPPING REPLACE any_name any_with any_name */
+#line 11478 "gram.y"
+ {
+ 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 43022 "gram.c"
+ break;
+
+ case 1513: /* AlterTSConfigurationStmt: ALTER TEXT_P SEARCH CONFIGURATION any_name ALTER MAPPING FOR name_list REPLACE any_name any_with any_name */
+#line 11490 "gram.y"
+ {
+ 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 43038 "gram.c"
+ break;
+
+ case 1514: /* AlterTSConfigurationStmt: ALTER TEXT_P SEARCH CONFIGURATION any_name DROP MAPPING FOR name_list */
+#line 11502 "gram.y"
+ {
+ 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 43052 "gram.c"
+ break;
+
+ case 1515: /* AlterTSConfigurationStmt: ALTER TEXT_P SEARCH CONFIGURATION any_name DROP MAPPING IF_P EXISTS FOR name_list */
+#line 11512 "gram.y"
+ {
+ 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 43066 "gram.c"
+ break;
+
+ case 1518: /* CreateConversionStmt: CREATE opt_default CONVERSION_P any_name FOR Sconst TO Sconst FROM any_name */
+#line 11541 "gram.y"
+ {
+ 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 43081 "gram.c"
+ break;
+
+ case 1519: /* ClusterStmt: CLUSTER opt_verbose qualified_name cluster_index_specification */
+#line 11565 "gram.y"
+ {
+ ClusterStmt *n = makeNode(ClusterStmt);
+
+ n->relation = (yyvsp[-1].range);
+ n->indexname = (yyvsp[0].str);
+ n->params = NIL;
+ if ((yyvsp[-2].boolean))
+ n->params = lappend(n->params, makeDefElem("verbose", NULL, (yylsp[-2])));
+ (yyval.node) = (Node *) n;
+ }
+#line 43096 "gram.c"
+ break;
+
+ case 1520: /* ClusterStmt: CLUSTER '(' utility_option_list ')' qualified_name cluster_index_specification */
+#line 11577 "gram.y"
+ {
+ ClusterStmt *n = makeNode(ClusterStmt);
+
+ n->relation = (yyvsp[-1].range);
+ n->indexname = (yyvsp[0].str);
+ n->params = (yyvsp[-3].list);
+ (yyval.node) = (Node *) n;
+ }
+#line 43109 "gram.c"
+ break;
+
+ case 1521: /* ClusterStmt: CLUSTER opt_verbose */
+#line 11586 "gram.y"
+ {
+ ClusterStmt *n = makeNode(ClusterStmt);
+
+ n->relation = NULL;
+ n->indexname = NULL;
+ n->params = NIL;
+ if ((yyvsp[0].boolean))
+ n->params = lappend(n->params, makeDefElem("verbose", NULL, (yylsp[0])));
+ (yyval.node) = (Node *) n;
+ }
+#line 43124 "gram.c"
+ break;
+
+ case 1522: /* ClusterStmt: CLUSTER opt_verbose name ON qualified_name */
+#line 11598 "gram.y"
+ {
+ ClusterStmt *n = makeNode(ClusterStmt);
+
+ n->relation = (yyvsp[0].range);
+ n->indexname = (yyvsp[-2].str);
+ n->params = NIL;
+ if ((yyvsp[-3].boolean))
+ n->params = lappend(n->params, makeDefElem("verbose", NULL, (yylsp[-3])));
+ (yyval.node) = (Node *) n;
+ }
+#line 43139 "gram.c"
+ break;
+
+ case 1523: /* cluster_index_specification: USING name */
+#line 11611 "gram.y"
+ { (yyval.str) = (yyvsp[0].str); }
+#line 43145 "gram.c"
+ break;
+
+ case 1524: /* cluster_index_specification: %empty */
+#line 11612 "gram.y"
+ { (yyval.str) = NULL; }
+#line 43151 "gram.c"
+ break;
+
+ case 1525: /* VacuumStmt: VACUUM opt_full opt_freeze opt_verbose opt_analyze opt_vacuum_relation_list */
+#line 11625 "gram.y"
+ {
+ 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 43176 "gram.c"
+ break;
+
+ case 1526: /* VacuumStmt: VACUUM '(' utility_option_list ')' opt_vacuum_relation_list */
+#line 11646 "gram.y"
+ {
+ VacuumStmt *n = makeNode(VacuumStmt);
+
+ n->options = (yyvsp[-2].list);
+ n->rels = (yyvsp[0].list);
+ n->is_vacuumcmd = true;
+ (yyval.node) = (Node *) n;
+ }
+#line 43189 "gram.c"
+ break;
+
+ case 1527: /* AnalyzeStmt: analyze_keyword opt_verbose opt_vacuum_relation_list */
+#line 11657 "gram.y"
+ {
+ 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 43205 "gram.c"
+ break;
+
+ case 1528: /* AnalyzeStmt: analyze_keyword '(' utility_option_list ')' opt_vacuum_relation_list */
+#line 11669 "gram.y"
+ {
+ VacuumStmt *n = makeNode(VacuumStmt);
+
+ n->options = (yyvsp[-2].list);
+ n->rels = (yyvsp[0].list);
+ n->is_vacuumcmd = false;
+ (yyval.node) = (Node *) n;
+ }
+#line 43218 "gram.c"
+ break;
+
+ case 1529: /* utility_option_list: utility_option_elem */
+#line 11681 "gram.y"
+ {
+ (yyval.list) = list_make1((yyvsp[0].defelt));
+ }
+#line 43226 "gram.c"
+ break;
+
+ case 1530: /* utility_option_list: utility_option_list ',' utility_option_elem */
+#line 11685 "gram.y"
+ {
+ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
+ }
+#line 43234 "gram.c"
+ break;
+
+ case 1533: /* utility_option_elem: utility_option_name utility_option_arg */
+#line 11697 "gram.y"
+ {
+ (yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1]));
+ }
+#line 43242 "gram.c"
+ break;
+
+ case 1534: /* utility_option_name: NonReservedWord */
+#line 11703 "gram.y"
+ { (yyval.str) = (yyvsp[0].str); }
+#line 43248 "gram.c"
+ break;
+
+ case 1535: /* utility_option_name: analyze_keyword */
+#line 11704 "gram.y"
+ { (yyval.str) = "analyze"; }
+#line 43254 "gram.c"
+ break;
+
+ case 1536: /* utility_option_name: FORMAT_LA */
+#line 11705 "gram.y"
+ { (yyval.str) = "format"; }
+#line 43260 "gram.c"
+ break;
+
+ case 1537: /* utility_option_arg: opt_boolean_or_string */
+#line 11709 "gram.y"
+ { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
+#line 43266 "gram.c"
+ break;
+
+ case 1538: /* utility_option_arg: NumericOnly */
+#line 11710 "gram.y"
+ { (yyval.node) = (Node *) (yyvsp[0].node); }
+#line 43272 "gram.c"
+ break;
+
+ case 1539: /* utility_option_arg: %empty */
+#line 11711 "gram.y"
+ { (yyval.node) = NULL; }
+#line 43278 "gram.c"
+ break;
+
+ case 1540: /* opt_analyze: analyze_keyword */
+#line 11715 "gram.y"
+ { (yyval.boolean) = true; }
+#line 43284 "gram.c"
+ break;
+
+ case 1541: /* opt_analyze: %empty */
+#line 11716 "gram.y"
+ { (yyval.boolean) = false; }
+#line 43290 "gram.c"
+ break;
+
+ case 1542: /* opt_verbose: VERBOSE */
+#line 11720 "gram.y"
+ { (yyval.boolean) = true; }
+#line 43296 "gram.c"
+ break;
+
+ case 1543: /* opt_verbose: %empty */
+#line 11721 "gram.y"
+ { (yyval.boolean) = false; }
+#line 43302 "gram.c"
+ break;
+
+ case 1544: /* opt_full: FULL */
+#line 11724 "gram.y"
+ { (yyval.boolean) = true; }
+#line 43308 "gram.c"
+ break;
+
+ case 1545: /* opt_full: %empty */
+#line 11725 "gram.y"
+ { (yyval.boolean) = false; }
+#line 43314 "gram.c"
+ break;
+
+ case 1546: /* opt_freeze: FREEZE */
+#line 11728 "gram.y"
+ { (yyval.boolean) = true; }
+#line 43320 "gram.c"
+ break;
+
+ case 1547: /* opt_freeze: %empty */
+#line 11729 "gram.y"
+ { (yyval.boolean) = false; }
+#line 43326 "gram.c"
+ break;
+
+ case 1548: /* opt_name_list: '(' name_list ')' */
+#line 11733 "gram.y"
+ { (yyval.list) = (yyvsp[-1].list); }
+#line 43332 "gram.c"
+ break;
+
+ case 1549: /* opt_name_list: %empty */
+#line 11734 "gram.y"
+ { (yyval.list) = NIL; }
+#line 43338 "gram.c"
+ break;
+
+ case 1550: /* vacuum_relation: qualified_name opt_name_list */
+#line 11739 "gram.y"
+ {
+ (yyval.node) = (Node *) makeVacuumRelation((yyvsp[-1].range), InvalidOid, (yyvsp[0].list));
+ }
+#line 43346 "gram.c"
+ break;
+
+ case 1551: /* vacuum_relation_list: vacuum_relation */
+#line 11746 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].node)); }
+#line 43352 "gram.c"
+ break;
+
+ case 1552: /* vacuum_relation_list: vacuum_relation_list ',' vacuum_relation */
+#line 11748 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
+#line 43358 "gram.c"
+ break;
+
+ case 1553: /* opt_vacuum_relation_list: vacuum_relation_list */
+#line 11752 "gram.y"
+ { (yyval.list) = (yyvsp[0].list); }
+#line 43364 "gram.c"
+ break;
+
+ case 1554: /* opt_vacuum_relation_list: %empty */
+#line 11753 "gram.y"
+ { (yyval.list) = NIL; }
+#line 43370 "gram.c"
+ break;
+
+ case 1555: /* ExplainStmt: EXPLAIN ExplainableStmt */
+#line 11767 "gram.y"
+ {
+ ExplainStmt *n = makeNode(ExplainStmt);
+
+ n->query = (yyvsp[0].node);
+ n->options = NIL;
+ (yyval.node) = (Node *) n;
+ }
+#line 43382 "gram.c"
+ break;
+
+ case 1556: /* ExplainStmt: EXPLAIN analyze_keyword opt_verbose ExplainableStmt */
+#line 11775 "gram.y"
+ {
+ 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 43397 "gram.c"
+ break;
+
+ case 1557: /* ExplainStmt: EXPLAIN VERBOSE ExplainableStmt */
+#line 11786 "gram.y"
+ {
+ ExplainStmt *n = makeNode(ExplainStmt);
+
+ n->query = (yyvsp[0].node);
+ n->options = list_make1(makeDefElem("verbose", NULL, (yylsp[-1])));
+ (yyval.node) = (Node *) n;
+ }
+#line 43409 "gram.c"
+ break;
+
+ case 1558: /* ExplainStmt: EXPLAIN '(' utility_option_list ')' ExplainableStmt */
+#line 11794 "gram.y"
+ {
+ ExplainStmt *n = makeNode(ExplainStmt);
+
+ n->query = (yyvsp[0].node);
+ n->options = (yyvsp[-2].list);
+ (yyval.node) = (Node *) n;
+ }
+#line 43421 "gram.c"
+ break;
+
+ case 1569: /* PrepareStmt: PREPARE name prep_type_clause AS PreparableStmt */
+#line 11824 "gram.y"
+ {
+ PrepareStmt *n = makeNode(PrepareStmt);
+
+ n->name = (yyvsp[-3].str);
+ n->argtypes = (yyvsp[-2].list);
+ n->query = (yyvsp[0].node);
+ (yyval.node) = (Node *) n;
+ }
+#line 43434 "gram.c"
+ break;
+
+ case 1570: /* prep_type_clause: '(' type_list ')' */
+#line 11834 "gram.y"
+ { (yyval.list) = (yyvsp[-1].list); }
+#line 43440 "gram.c"
+ break;
+
+ case 1571: /* prep_type_clause: %empty */
+#line 11835 "gram.y"
+ { (yyval.list) = NIL; }
+#line 43446 "gram.c"
+ break;
+
+ case 1577: /* ExecuteStmt: EXECUTE name execute_param_clause */
+#line 11854 "gram.y"
+ {
+ ExecuteStmt *n = makeNode(ExecuteStmt);
+
+ n->name = (yyvsp[-1].str);
+ n->params = (yyvsp[0].list);
+ (yyval.node) = (Node *) n;
+ }
+#line 43458 "gram.c"
+ break;
+
+ case 1578: /* ExecuteStmt: CREATE OptTemp TABLE create_as_target AS EXECUTE name execute_param_clause opt_with_data */
+#line 11863 "gram.y"
+ {
+ 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->objtype = 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 43479 "gram.c"
+ break;
+
+ case 1579: /* ExecuteStmt: CREATE OptTemp TABLE IF_P NOT EXISTS create_as_target AS EXECUTE name execute_param_clause opt_with_data */
+#line 11881 "gram.y"
+ {
+ 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->objtype = 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 43500 "gram.c"
+ break;
+
+ case 1580: /* execute_param_clause: '(' expr_list ')' */
+#line 11899 "gram.y"
+ { (yyval.list) = (yyvsp[-1].list); }
+#line 43506 "gram.c"
+ break;
+
+ case 1581: /* execute_param_clause: %empty */
+#line 11900 "gram.y"
+ { (yyval.list) = NIL; }
+#line 43512 "gram.c"
+ break;
+
+ case 1582: /* DeallocateStmt: DEALLOCATE name */
+#line 11911 "gram.y"
+ {
+ DeallocateStmt *n = makeNode(DeallocateStmt);
+
+ n->name = (yyvsp[0].str);
+ (yyval.node) = (Node *) n;
+ }
+#line 43523 "gram.c"
+ break;
+
+ case 1583: /* DeallocateStmt: DEALLOCATE PREPARE name */
+#line 11918 "gram.y"
+ {
+ DeallocateStmt *n = makeNode(DeallocateStmt);
+
+ n->name = (yyvsp[0].str);
+ (yyval.node) = (Node *) n;
+ }
+#line 43534 "gram.c"
+ break;
+
+ case 1584: /* DeallocateStmt: DEALLOCATE ALL */
+#line 11925 "gram.y"
+ {
+ DeallocateStmt *n = makeNode(DeallocateStmt);
+
+ n->name = NULL;
+ (yyval.node) = (Node *) n;
+ }
+#line 43545 "gram.c"
+ break;
+
+ case 1585: /* DeallocateStmt: DEALLOCATE PREPARE ALL */
+#line 11932 "gram.y"
+ {
+ DeallocateStmt *n = makeNode(DeallocateStmt);
+
+ n->name = NULL;
+ (yyval.node) = (Node *) n;
+ }
+#line 43556 "gram.c"
+ break;
+
+ case 1586: /* InsertStmt: opt_with_clause INSERT INTO insert_target insert_rest opt_on_conflict returning_clause */
+#line 11950 "gram.y"
+ {
+ (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 43568 "gram.c"
+ break;
+
+ case 1587: /* insert_target: qualified_name */
+#line 11967 "gram.y"
+ {
+ (yyval.range) = (yyvsp[0].range);
+ }
+#line 43576 "gram.c"
+ break;
+
+ case 1588: /* insert_target: qualified_name AS ColId */
+#line 11971 "gram.y"
+ {
+ (yyvsp[-2].range)->alias = makeAlias((yyvsp[0].str), NIL);
+ (yyval.range) = (yyvsp[-2].range);
+ }
+#line 43585 "gram.c"
+ break;
+
+ case 1589: /* insert_rest: SelectStmt */
+#line 11979 "gram.y"
+ {
+ (yyval.istmt) = makeNode(InsertStmt);
+ (yyval.istmt)->cols = NIL;
+ (yyval.istmt)->selectStmt = (yyvsp[0].node);
+ }
+#line 43595 "gram.c"
+ break;
+
+ case 1590: /* insert_rest: OVERRIDING override_kind VALUE_P SelectStmt */
+#line 11985 "gram.y"
+ {
+ (yyval.istmt) = makeNode(InsertStmt);
+ (yyval.istmt)->cols = NIL;
+ (yyval.istmt)->override = (yyvsp[-2].ival);
+ (yyval.istmt)->selectStmt = (yyvsp[0].node);
+ }
+#line 43606 "gram.c"
+ break;
+
+ case 1591: /* insert_rest: '(' insert_column_list ')' SelectStmt */
+#line 11992 "gram.y"
+ {
+ (yyval.istmt) = makeNode(InsertStmt);
+ (yyval.istmt)->cols = (yyvsp[-2].list);
+ (yyval.istmt)->selectStmt = (yyvsp[0].node);
+ }
+#line 43616 "gram.c"
+ break;
+
+ case 1592: /* insert_rest: '(' insert_column_list ')' OVERRIDING override_kind VALUE_P SelectStmt */
+#line 11998 "gram.y"
+ {
+ (yyval.istmt) = makeNode(InsertStmt);
+ (yyval.istmt)->cols = (yyvsp[-5].list);
+ (yyval.istmt)->override = (yyvsp[-2].ival);
+ (yyval.istmt)->selectStmt = (yyvsp[0].node);
+ }
+#line 43627 "gram.c"
+ break;
+
+ case 1593: /* insert_rest: DEFAULT VALUES */
+#line 12005 "gram.y"
+ {
+ (yyval.istmt) = makeNode(InsertStmt);
+ (yyval.istmt)->cols = NIL;
+ (yyval.istmt)->selectStmt = NULL;
+ }
+#line 43637 "gram.c"
+ break;
+
+ case 1594: /* override_kind: USER */
+#line 12013 "gram.y"
+ { (yyval.ival) = OVERRIDING_USER_VALUE; }
+#line 43643 "gram.c"
+ break;
+
+ case 1595: /* override_kind: SYSTEM_P */
+#line 12014 "gram.y"
+ { (yyval.ival) = OVERRIDING_SYSTEM_VALUE; }
+#line 43649 "gram.c"
+ break;
+
+ case 1596: /* insert_column_list: insert_column_item */
+#line 12019 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].target)); }
+#line 43655 "gram.c"
+ break;
+
+ case 1597: /* insert_column_list: insert_column_list ',' insert_column_item */
+#line 12021 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
+#line 43661 "gram.c"
+ break;
+
+ case 1598: /* insert_column_item: ColId opt_indirection */
+#line 12026 "gram.y"
+ {
+ (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 43673 "gram.c"
+ break;
+
+ case 1599: /* opt_on_conflict: ON CONFLICT opt_conf_expr DO UPDATE SET set_clause_list where_clause */
+#line 12037 "gram.y"
+ {
+ (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 43686 "gram.c"
+ break;
+
+ case 1600: /* opt_on_conflict: ON CONFLICT opt_conf_expr DO NOTHING */
+#line 12047 "gram.y"
+ {
+ (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 43699 "gram.c"
+ break;
+
+ case 1601: /* opt_on_conflict: %empty */
+#line 12056 "gram.y"
+ {
+ (yyval.onconflict) = NULL;
+ }
+#line 43707 "gram.c"
+ break;
+
+ case 1602: /* opt_conf_expr: '(' index_params ')' where_clause */
+#line 12063 "gram.y"
+ {
+ (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 43719 "gram.c"
+ break;
+
+ case 1603: /* opt_conf_expr: ON CONSTRAINT name */
+#line 12072 "gram.y"
+ {
+ (yyval.infer) = makeNode(InferClause);
+ (yyval.infer)->indexElems = NIL;
+ (yyval.infer)->whereClause = NULL;
+ (yyval.infer)->conname = (yyvsp[0].str);
+ (yyval.infer)->location = (yylsp[-2]);
+ }
+#line 43731 "gram.c"
+ break;
+
+ case 1604: /* opt_conf_expr: %empty */
+#line 12080 "gram.y"
+ {
+ (yyval.infer) = NULL;
+ }
+#line 43739 "gram.c"
+ break;
+
+ case 1605: /* returning_clause: RETURNING target_list */
+#line 12086 "gram.y"
+ { (yyval.list) = (yyvsp[0].list); }
+#line 43745 "gram.c"
+ break;
+
+ case 1606: /* returning_clause: %empty */
+#line 12087 "gram.y"
+ { (yyval.list) = NIL; }
+#line 43751 "gram.c"
+ break;
+
+ case 1607: /* DeleteStmt: opt_with_clause DELETE_P FROM relation_expr_opt_alias using_clause where_or_current_clause returning_clause */
+#line 12100 "gram.y"
+ {
+ 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 43766 "gram.c"
+ break;
+
+ case 1608: /* using_clause: USING from_list */
+#line 12113 "gram.y"
+ { (yyval.list) = (yyvsp[0].list); }
+#line 43772 "gram.c"
+ break;
+
+ case 1609: /* using_clause: %empty */
+#line 12114 "gram.y"
+ { (yyval.list) = NIL; }
+#line 43778 "gram.c"
+ break;
+
+ case 1610: /* LockStmt: LOCK_P opt_table relation_expr_list opt_lock opt_nowait */
+#line 12126 "gram.y"
+ {
+ LockStmt *n = makeNode(LockStmt);
+
+ n->relations = (yyvsp[-2].list);
+ n->mode = (yyvsp[-1].ival);
+ n->nowait = (yyvsp[0].boolean);
+ (yyval.node) = (Node *) n;
+ }
+#line 43791 "gram.c"
+ break;
+
+ case 1611: /* opt_lock: IN_P lock_type MODE */
+#line 12136 "gram.y"
+ { (yyval.ival) = (yyvsp[-1].ival); }
+#line 43797 "gram.c"
+ break;
+
+ case 1612: /* opt_lock: %empty */
+#line 12137 "gram.y"
+ { (yyval.ival) = AccessExclusiveLock; }
+#line 43803 "gram.c"
+ break;
+
+ case 1613: /* lock_type: ACCESS SHARE */
+#line 12140 "gram.y"
+ { (yyval.ival) = AccessShareLock; }
+#line 43809 "gram.c"
+ break;
+
+ case 1614: /* lock_type: ROW SHARE */
+#line 12141 "gram.y"
+ { (yyval.ival) = RowShareLock; }
+#line 43815 "gram.c"
+ break;
+
+ case 1615: /* lock_type: ROW EXCLUSIVE */
+#line 12142 "gram.y"
+ { (yyval.ival) = RowExclusiveLock; }
+#line 43821 "gram.c"
+ break;
+
+ case 1616: /* lock_type: SHARE UPDATE EXCLUSIVE */
+#line 12143 "gram.y"
+ { (yyval.ival) = ShareUpdateExclusiveLock; }
+#line 43827 "gram.c"
+ break;
+
+ case 1617: /* lock_type: SHARE */
+#line 12144 "gram.y"
+ { (yyval.ival) = ShareLock; }
+#line 43833 "gram.c"
+ break;
+
+ case 1618: /* lock_type: SHARE ROW EXCLUSIVE */
+#line 12145 "gram.y"
+ { (yyval.ival) = ShareRowExclusiveLock; }
+#line 43839 "gram.c"
+ break;
+
+ case 1619: /* lock_type: EXCLUSIVE */
+#line 12146 "gram.y"
+ { (yyval.ival) = ExclusiveLock; }
+#line 43845 "gram.c"
+ break;
+
+ case 1620: /* lock_type: ACCESS EXCLUSIVE */
+#line 12147 "gram.y"
+ { (yyval.ival) = AccessExclusiveLock; }
+#line 43851 "gram.c"
+ break;
+
+ case 1621: /* opt_nowait: NOWAIT */
+#line 12150 "gram.y"
+ { (yyval.boolean) = true; }
+#line 43857 "gram.c"
+ break;
+
+ case 1622: /* opt_nowait: %empty */
+#line 12151 "gram.y"
+ { (yyval.boolean) = false; }
+#line 43863 "gram.c"
+ break;
+
+ case 1623: /* opt_nowait_or_skip: NOWAIT */
+#line 12155 "gram.y"
+ { (yyval.ival) = LockWaitError; }
+#line 43869 "gram.c"
+ break;
+
+ case 1624: /* opt_nowait_or_skip: SKIP LOCKED */
+#line 12156 "gram.y"
+ { (yyval.ival) = LockWaitSkip; }
+#line 43875 "gram.c"
+ break;
+
+ case 1625: /* opt_nowait_or_skip: %empty */
+#line 12157 "gram.y"
+ { (yyval.ival) = LockWaitBlock; }
+#line 43881 "gram.c"
+ break;
+
+ case 1626: /* UpdateStmt: opt_with_clause UPDATE relation_expr_opt_alias SET set_clause_list from_clause where_or_current_clause returning_clause */
+#line 12173 "gram.y"
+ {
+ 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 43897 "gram.c"
+ break;
+
+ case 1627: /* set_clause_list: set_clause */
+#line 12187 "gram.y"
+ { (yyval.list) = (yyvsp[0].list); }
+#line 43903 "gram.c"
+ break;
+
+ case 1628: /* set_clause_list: set_clause_list ',' set_clause */
+#line 12188 "gram.y"
+ { (yyval.list) = list_concat((yyvsp[-2].list),(yyvsp[0].list)); }
+#line 43909 "gram.c"
+ break;
+
+ case 1629: /* set_clause: set_target '=' a_expr */
+#line 12193 "gram.y"
+ {
+ (yyvsp[-2].target)->val = (Node *) (yyvsp[0].node);
+ (yyval.list) = list_make1((yyvsp[-2].target));
+ }
+#line 43918 "gram.c"
+ break;
+
+ case 1630: /* set_clause: '(' set_target_list ')' '=' a_expr */
+#line 12198 "gram.y"
+ {
+ 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 43943 "gram.c"
+ break;
+
+ case 1631: /* set_target: ColId opt_indirection */
+#line 12222 "gram.y"
+ {
+ (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 43955 "gram.c"
+ break;
+
+ case 1632: /* set_target_list: set_target */
+#line 12232 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].target)); }
+#line 43961 "gram.c"
+ break;
+
+ case 1633: /* set_target_list: set_target_list ',' set_target */
+#line 12233 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list),(yyvsp[0].target)); }
+#line 43967 "gram.c"
+ break;
+
+ case 1634: /* MergeStmt: opt_with_clause MERGE INTO relation_expr_opt_alias USING table_ref ON a_expr merge_when_list */
+#line 12249 "gram.y"
+ {
+ MergeStmt *m = makeNode(MergeStmt);
+
+ m->withClause = (yyvsp[-8].with);
+ m->relation = (yyvsp[-5].range);
+ m->sourceRelation = (yyvsp[-3].node);
+ m->joinCondition = (yyvsp[-1].node);
+ m->mergeWhenClauses = (yyvsp[0].list);
+
+ (yyval.node) = (Node *) m;
+ }
+#line 43983 "gram.c"
+ break;
+
+ case 1635: /* merge_when_list: merge_when_clause */
+#line 12263 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].node)); }
+#line 43989 "gram.c"
+ break;
+
+ case 1636: /* merge_when_list: merge_when_list merge_when_clause */
+#line 12264 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-1].list),(yyvsp[0].node)); }
+#line 43995 "gram.c"
+ break;
+
+ case 1637: /* merge_when_clause: WHEN MATCHED opt_merge_when_condition THEN merge_update */
+#line 12269 "gram.y"
+ {
+ (yyvsp[0].mergewhen)->matched = true;
+ (yyvsp[0].mergewhen)->condition = (yyvsp[-2].node);
+
+ (yyval.node) = (Node *) (yyvsp[0].mergewhen);
+ }
+#line 44006 "gram.c"
+ break;
+
+ case 1638: /* merge_when_clause: WHEN MATCHED opt_merge_when_condition THEN merge_delete */
+#line 12276 "gram.y"
+ {
+ (yyvsp[0].mergewhen)->matched = true;
+ (yyvsp[0].mergewhen)->condition = (yyvsp[-2].node);
+
+ (yyval.node) = (Node *) (yyvsp[0].mergewhen);
+ }
+#line 44017 "gram.c"
+ break;
+
+ case 1639: /* merge_when_clause: WHEN NOT MATCHED opt_merge_when_condition THEN merge_insert */
+#line 12283 "gram.y"
+ {
+ (yyvsp[0].mergewhen)->matched = false;
+ (yyvsp[0].mergewhen)->condition = (yyvsp[-2].node);
+
+ (yyval.node) = (Node *) (yyvsp[0].mergewhen);
+ }
+#line 44028 "gram.c"
+ break;
+
+ case 1640: /* merge_when_clause: WHEN MATCHED opt_merge_when_condition THEN DO NOTHING */
+#line 12290 "gram.y"
+ {
+ MergeWhenClause *m = makeNode(MergeWhenClause);
+
+ m->matched = true;
+ m->commandType = CMD_NOTHING;
+ m->condition = (yyvsp[-3].node);
+
+ (yyval.node) = (Node *) m;
+ }
+#line 44042 "gram.c"
+ break;
+
+ case 1641: /* merge_when_clause: WHEN NOT MATCHED opt_merge_when_condition THEN DO NOTHING */
+#line 12300 "gram.y"
+ {
+ MergeWhenClause *m = makeNode(MergeWhenClause);
+
+ m->matched = false;
+ m->commandType = CMD_NOTHING;
+ m->condition = (yyvsp[-3].node);
+
+ (yyval.node) = (Node *) m;
+ }
+#line 44056 "gram.c"
+ break;
+
+ case 1642: /* opt_merge_when_condition: AND a_expr */
+#line 12312 "gram.y"
+ { (yyval.node) = (yyvsp[0].node); }
+#line 44062 "gram.c"
+ break;
+
+ case 1643: /* opt_merge_when_condition: %empty */
+#line 12313 "gram.y"
+ { (yyval.node) = NULL; }
+#line 44068 "gram.c"
+ break;
+
+ case 1644: /* merge_update: UPDATE SET set_clause_list */
+#line 12318 "gram.y"
+ {
+ MergeWhenClause *n = makeNode(MergeWhenClause);
+ n->commandType = CMD_UPDATE;
+ n->override = OVERRIDING_NOT_SET;
+ n->targetList = (yyvsp[0].list);
+ n->values = NIL;
+
+ (yyval.mergewhen) = n;
+ }
+#line 44082 "gram.c"
+ break;
+
+ case 1645: /* merge_delete: DELETE_P */
+#line 12331 "gram.y"
+ {
+ MergeWhenClause *n = makeNode(MergeWhenClause);
+ n->commandType = CMD_DELETE;
+ n->override = OVERRIDING_NOT_SET;
+ n->targetList = NIL;
+ n->values = NIL;
+
+ (yyval.mergewhen) = n;
+ }
+#line 44096 "gram.c"
+ break;
+
+ case 1646: /* merge_insert: INSERT merge_values_clause */
+#line 12344 "gram.y"
+ {
+ MergeWhenClause *n = makeNode(MergeWhenClause);
+ n->commandType = CMD_INSERT;
+ n->override = OVERRIDING_NOT_SET;
+ n->targetList = NIL;
+ n->values = (yyvsp[0].list);
+ (yyval.mergewhen) = n;
+ }
+#line 44109 "gram.c"
+ break;
+
+ case 1647: /* merge_insert: INSERT OVERRIDING override_kind VALUE_P merge_values_clause */
+#line 12353 "gram.y"
+ {
+ MergeWhenClause *n = makeNode(MergeWhenClause);
+ n->commandType = CMD_INSERT;
+ n->override = (yyvsp[-2].ival);
+ n->targetList = NIL;
+ n->values = (yyvsp[0].list);
+ (yyval.mergewhen) = n;
+ }
+#line 44122 "gram.c"
+ break;
+
+ case 1648: /* merge_insert: INSERT '(' insert_column_list ')' merge_values_clause */
+#line 12362 "gram.y"
+ {
+ MergeWhenClause *n = makeNode(MergeWhenClause);
+ n->commandType = CMD_INSERT;
+ n->override = OVERRIDING_NOT_SET;
+ n->targetList = (yyvsp[-2].list);
+ n->values = (yyvsp[0].list);
+ (yyval.mergewhen) = n;
+ }
+#line 44135 "gram.c"
+ break;
+
+ case 1649: /* merge_insert: INSERT '(' insert_column_list ')' OVERRIDING override_kind VALUE_P merge_values_clause */
+#line 12371 "gram.y"
+ {
+ MergeWhenClause *n = makeNode(MergeWhenClause);
+ n->commandType = CMD_INSERT;
+ n->override = (yyvsp[-2].ival);
+ n->targetList = (yyvsp[-5].list);
+ n->values = (yyvsp[0].list);
+ (yyval.mergewhen) = n;
+ }
+#line 44148 "gram.c"
+ break;
+
+ case 1650: /* merge_insert: INSERT DEFAULT VALUES */
+#line 12380 "gram.y"
+ {
+ MergeWhenClause *n = makeNode(MergeWhenClause);
+ n->commandType = CMD_INSERT;
+ n->override = OVERRIDING_NOT_SET;
+ n->targetList = NIL;
+ n->values = NIL;
+ (yyval.mergewhen) = n;
+ }
+#line 44161 "gram.c"
+ break;
+
+ case 1651: /* merge_values_clause: VALUES '(' expr_list ')' */
+#line 12392 "gram.y"
+ {
+ (yyval.list) = (yyvsp[-1].list);
+ }
+#line 44169 "gram.c"
+ break;
+
+ case 1652: /* DeclareCursorStmt: DECLARE cursor_name cursor_options CURSOR opt_hold FOR SelectStmt */
+#line 12404 "gram.y"
+ {
+ 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 44183 "gram.c"
+ break;
+
+ case 1653: /* cursor_name: name */
+#line 12415 "gram.y"
+ { (yyval.str) = (yyvsp[0].str); }
+#line 44189 "gram.c"
+ break;
+
+ case 1654: /* cursor_options: %empty */
+#line 12418 "gram.y"
+ { (yyval.ival) = 0; }
+#line 44195 "gram.c"
+ break;
+
+ case 1655: /* cursor_options: cursor_options NO SCROLL */
+#line 12419 "gram.y"
+ { (yyval.ival) = (yyvsp[-2].ival) | CURSOR_OPT_NO_SCROLL; }
+#line 44201 "gram.c"
+ break;
+
+ case 1656: /* cursor_options: cursor_options SCROLL */
+#line 12420 "gram.y"
+ { (yyval.ival) = (yyvsp[-1].ival) | CURSOR_OPT_SCROLL; }
+#line 44207 "gram.c"
+ break;
+
+ case 1657: /* cursor_options: cursor_options BINARY */
+#line 12421 "gram.y"
+ { (yyval.ival) = (yyvsp[-1].ival) | CURSOR_OPT_BINARY; }
+#line 44213 "gram.c"
+ break;
+
+ case 1658: /* cursor_options: cursor_options ASENSITIVE */
+#line 12422 "gram.y"
+ { (yyval.ival) = (yyvsp[-1].ival) | CURSOR_OPT_ASENSITIVE; }
+#line 44219 "gram.c"
+ break;
+
+ case 1659: /* cursor_options: cursor_options INSENSITIVE */
+#line 12423 "gram.y"
+ { (yyval.ival) = (yyvsp[-1].ival) | CURSOR_OPT_INSENSITIVE; }
+#line 44225 "gram.c"
+ break;
+
+ case 1660: /* opt_hold: %empty */
+#line 12426 "gram.y"
+ { (yyval.ival) = 0; }
+#line 44231 "gram.c"
+ break;
+
+ case 1661: /* opt_hold: WITH HOLD */
+#line 12427 "gram.y"
+ { (yyval.ival) = CURSOR_OPT_HOLD; }
+#line 44237 "gram.c"
+ break;
+
+ case 1662: /* opt_hold: WITHOUT HOLD */
+#line 12428 "gram.y"
+ { (yyval.ival) = 0; }
+#line 44243 "gram.c"
+ break;
+
+ case 1665: /* select_with_parens: '(' select_no_parens ')' */
+#line 12481 "gram.y"
+ { (yyval.node) = (yyvsp[-1].node); }
+#line 44249 "gram.c"
+ break;
+
+ case 1666: /* select_with_parens: '(' select_with_parens ')' */
+#line 12482 "gram.y"
+ { (yyval.node) = (yyvsp[-1].node); }
+#line 44255 "gram.c"
+ break;
+
+ case 1667: /* select_no_parens: simple_select */
+#line 12497 "gram.y"
+ { (yyval.node) = (yyvsp[0].node); }
+#line 44261 "gram.c"
+ break;
+
+ case 1668: /* select_no_parens: select_clause sort_clause */
+#line 12499 "gram.y"
+ {
+ insertSelectOptions((SelectStmt *) (yyvsp[-1].node), (yyvsp[0].list), NIL,
+ NULL, NULL,
+ yyscanner);
+ (yyval.node) = (yyvsp[-1].node);
+ }
+#line 44272 "gram.c"
+ break;
+
+ case 1669: /* select_no_parens: select_clause opt_sort_clause for_locking_clause opt_select_limit */
+#line 12506 "gram.y"
+ {
+ insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[-1].list),
+ (yyvsp[0].selectlimit),
+ NULL,
+ yyscanner);
+ (yyval.node) = (yyvsp[-3].node);
+ }
+#line 44284 "gram.c"
+ break;
+
+ case 1670: /* select_no_parens: select_clause opt_sort_clause select_limit opt_for_locking_clause */
+#line 12514 "gram.y"
+ {
+ insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[0].list),
+ (yyvsp[-1].selectlimit),
+ NULL,
+ yyscanner);
+ (yyval.node) = (yyvsp[-3].node);
+ }
+#line 44296 "gram.c"
+ break;
+
+ case 1671: /* select_no_parens: with_clause select_clause */
+#line 12522 "gram.y"
+ {
+ insertSelectOptions((SelectStmt *) (yyvsp[0].node), NULL, NIL,
+ NULL,
+ (yyvsp[-1].with),
+ yyscanner);
+ (yyval.node) = (yyvsp[0].node);
+ }
+#line 44308 "gram.c"
+ break;
+
+ case 1672: /* select_no_parens: with_clause select_clause sort_clause */
+#line 12530 "gram.y"
+ {
+ insertSelectOptions((SelectStmt *) (yyvsp[-1].node), (yyvsp[0].list), NIL,
+ NULL,
+ (yyvsp[-2].with),
+ yyscanner);
+ (yyval.node) = (yyvsp[-1].node);
+ }
+#line 44320 "gram.c"
+ break;
+
+ case 1673: /* select_no_parens: with_clause select_clause opt_sort_clause for_locking_clause opt_select_limit */
+#line 12538 "gram.y"
+ {
+ insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[-1].list),
+ (yyvsp[0].selectlimit),
+ (yyvsp[-4].with),
+ yyscanner);
+ (yyval.node) = (yyvsp[-3].node);
+ }
+#line 44332 "gram.c"
+ break;
+
+ case 1674: /* select_no_parens: with_clause select_clause opt_sort_clause select_limit opt_for_locking_clause */
+#line 12546 "gram.y"
+ {
+ insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[0].list),
+ (yyvsp[-1].selectlimit),
+ (yyvsp[-4].with),
+ yyscanner);
+ (yyval.node) = (yyvsp[-3].node);
+ }
+#line 44344 "gram.c"
+ break;
+
+ case 1675: /* select_clause: simple_select */
+#line 12556 "gram.y"
+ { (yyval.node) = (yyvsp[0].node); }
+#line 44350 "gram.c"
+ break;
+
+ case 1676: /* select_clause: select_with_parens */
+#line 12557 "gram.y"
+ { (yyval.node) = (yyvsp[0].node); }
+#line 44356 "gram.c"
+ break;
+
+ case 1677: /* simple_select: SELECT opt_all_clause opt_target_list into_clause from_clause where_clause group_clause having_clause window_clause */
+#line 12592 "gram.y"
+ {
+ 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].groupclause))->list;
+ n->groupDistinct = ((yyvsp[-2].groupclause))->distinct;
+ n->havingClause = (yyvsp[-1].node);
+ n->windowClause = (yyvsp[0].list);
+ (yyval.node) = (Node *) n;
+ }
+#line 44374 "gram.c"
+ break;
+
+ case 1678: /* simple_select: SELECT distinct_clause target_list into_clause from_clause where_clause group_clause having_clause window_clause */
+#line 12608 "gram.y"
+ {
+ 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].groupclause))->list;
+ n->groupDistinct = ((yyvsp[-2].groupclause))->distinct;
+ n->havingClause = (yyvsp[-1].node);
+ n->windowClause = (yyvsp[0].list);
+ (yyval.node) = (Node *) n;
+ }
+#line 44393 "gram.c"
+ break;
+
+ case 1679: /* simple_select: values_clause */
+#line 12622 "gram.y"
+ { (yyval.node) = (yyvsp[0].node); }
+#line 44399 "gram.c"
+ break;
+
+ case 1680: /* simple_select: TABLE relation_expr */
+#line 12624 "gram.y"
+ {
+ /* 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 44422 "gram.c"
+ break;
+
+ case 1681: /* simple_select: select_clause UNION set_quantifier select_clause */
+#line 12643 "gram.y"
+ {
+ (yyval.node) = makeSetOp(SETOP_UNION, (yyvsp[-1].setquantifier) == SET_QUANTIFIER_ALL, (yyvsp[-3].node), (yyvsp[0].node));
+ }
+#line 44430 "gram.c"
+ break;
+
+ case 1682: /* simple_select: select_clause INTERSECT set_quantifier select_clause */
+#line 12647 "gram.y"
+ {
+ (yyval.node) = makeSetOp(SETOP_INTERSECT, (yyvsp[-1].setquantifier) == SET_QUANTIFIER_ALL, (yyvsp[-3].node), (yyvsp[0].node));
+ }
+#line 44438 "gram.c"
+ break;
+
+ case 1683: /* simple_select: select_clause EXCEPT set_quantifier select_clause */
+#line 12651 "gram.y"
+ {
+ (yyval.node) = makeSetOp(SETOP_EXCEPT, (yyvsp[-1].setquantifier) == SET_QUANTIFIER_ALL, (yyvsp[-3].node), (yyvsp[0].node));
+ }
+#line 44446 "gram.c"
+ break;
+
+ case 1684: /* with_clause: WITH cte_list */
+#line 12666 "gram.y"
+ {
+ (yyval.with) = makeNode(WithClause);
+ (yyval.with)->ctes = (yyvsp[0].list);
+ (yyval.with)->recursive = false;
+ (yyval.with)->location = (yylsp[-1]);
+ }
+#line 44457 "gram.c"
+ break;
+
+ case 1685: /* with_clause: WITH_LA cte_list */
+#line 12673 "gram.y"
+ {
+ (yyval.with) = makeNode(WithClause);
+ (yyval.with)->ctes = (yyvsp[0].list);
+ (yyval.with)->recursive = false;
+ (yyval.with)->location = (yylsp[-1]);
+ }
+#line 44468 "gram.c"
+ break;
+
+ case 1686: /* with_clause: WITH RECURSIVE cte_list */
+#line 12680 "gram.y"
+ {
+ (yyval.with) = makeNode(WithClause);
+ (yyval.with)->ctes = (yyvsp[0].list);
+ (yyval.with)->recursive = true;
+ (yyval.with)->location = (yylsp[-2]);
+ }
+#line 44479 "gram.c"
+ break;
+
+ case 1687: /* cte_list: common_table_expr */
+#line 12689 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].node)); }
+#line 44485 "gram.c"
+ break;
+
+ case 1688: /* cte_list: cte_list ',' common_table_expr */
+#line 12690 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
+#line 44491 "gram.c"
+ break;
+
+ case 1689: /* common_table_expr: name opt_name_list AS opt_materialized '(' PreparableStmt ')' opt_search_clause opt_cycle_clause */
+#line 12694 "gram.y"
+ {
+ CommonTableExpr *n = makeNode(CommonTableExpr);
+
+ n->ctename = (yyvsp[-8].str);
+ n->aliascolnames = (yyvsp[-7].list);
+ n->ctematerialized = (yyvsp[-5].ival);
+ n->ctequery = (yyvsp[-3].node);
+ n->search_clause = castNode(CTESearchClause, (yyvsp[-1].node));
+ n->cycle_clause = castNode(CTECycleClause, (yyvsp[0].node));
+ n->location = (yylsp[-8]);
+ (yyval.node) = (Node *) n;
+ }
+#line 44508 "gram.c"
+ break;
+
+ case 1690: /* opt_materialized: MATERIALIZED */
+#line 12709 "gram.y"
+ { (yyval.ival) = CTEMaterializeAlways; }
+#line 44514 "gram.c"
+ break;
+
+ case 1691: /* opt_materialized: NOT MATERIALIZED */
+#line 12710 "gram.y"
+ { (yyval.ival) = CTEMaterializeNever; }
+#line 44520 "gram.c"
+ break;
+
+ case 1692: /* opt_materialized: %empty */
+#line 12711 "gram.y"
+ { (yyval.ival) = CTEMaterializeDefault; }
+#line 44526 "gram.c"
+ break;
+
+ case 1693: /* opt_search_clause: SEARCH DEPTH FIRST_P BY columnList SET ColId */
+#line 12716 "gram.y"
+ {
+ CTESearchClause *n = makeNode(CTESearchClause);
+
+ n->search_col_list = (yyvsp[-2].list);
+ n->search_breadth_first = false;
+ n->search_seq_column = (yyvsp[0].str);
+ n->location = (yylsp[-6]);
+ (yyval.node) = (Node *) n;
+ }
+#line 44540 "gram.c"
+ break;
+
+ case 1694: /* opt_search_clause: SEARCH BREADTH FIRST_P BY columnList SET ColId */
+#line 12726 "gram.y"
+ {
+ CTESearchClause *n = makeNode(CTESearchClause);
+
+ n->search_col_list = (yyvsp[-2].list);
+ n->search_breadth_first = true;
+ n->search_seq_column = (yyvsp[0].str);
+ n->location = (yylsp[-6]);
+ (yyval.node) = (Node *) n;
+ }
+#line 44554 "gram.c"
+ break;
+
+ case 1695: /* opt_search_clause: %empty */
+#line 12736 "gram.y"
+ {
+ (yyval.node) = NULL;
+ }
+#line 44562 "gram.c"
+ break;
+
+ case 1696: /* opt_cycle_clause: CYCLE columnList SET ColId TO AexprConst DEFAULT AexprConst USING ColId */
+#line 12743 "gram.y"
+ {
+ CTECycleClause *n = makeNode(CTECycleClause);
+
+ n->cycle_col_list = (yyvsp[-8].list);
+ n->cycle_mark_column = (yyvsp[-6].str);
+ n->cycle_mark_value = (yyvsp[-4].node);
+ n->cycle_mark_default = (yyvsp[-2].node);
+ n->cycle_path_column = (yyvsp[0].str);
+ n->location = (yylsp[-9]);
+ (yyval.node) = (Node *) n;
+ }
+#line 44578 "gram.c"
+ break;
+
+ case 1697: /* opt_cycle_clause: CYCLE columnList SET ColId USING ColId */
+#line 12755 "gram.y"
+ {
+ CTECycleClause *n = makeNode(CTECycleClause);
+
+ n->cycle_col_list = (yyvsp[-4].list);
+ n->cycle_mark_column = (yyvsp[-2].str);
+ n->cycle_mark_value = makeBoolAConst(true, -1);
+ n->cycle_mark_default = makeBoolAConst(false, -1);
+ n->cycle_path_column = (yyvsp[0].str);
+ n->location = (yylsp[-5]);
+ (yyval.node) = (Node *) n;
+ }
+#line 44594 "gram.c"
+ break;
+
+ case 1698: /* opt_cycle_clause: %empty */
+#line 12767 "gram.y"
+ {
+ (yyval.node) = NULL;
+ }
+#line 44602 "gram.c"
+ break;
+
+ case 1699: /* opt_with_clause: with_clause */
+#line 12773 "gram.y"
+ { (yyval.with) = (yyvsp[0].with); }
+#line 44608 "gram.c"
+ break;
+
+ case 1700: /* opt_with_clause: %empty */
+#line 12774 "gram.y"
+ { (yyval.with) = NULL; }
+#line 44614 "gram.c"
+ break;
+
+ case 1701: /* into_clause: INTO OptTempTableName */
+#line 12779 "gram.y"
+ {
+ (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 44629 "gram.c"
+ break;
+
+ case 1702: /* into_clause: %empty */
+#line 12790 "gram.y"
+ { (yyval.into) = NULL; }
+#line 44635 "gram.c"
+ break;
+
+ case 1703: /* OptTempTableName: TEMPORARY opt_table qualified_name */
+#line 12799 "gram.y"
+ {
+ (yyval.range) = (yyvsp[0].range);
+ (yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
+ }
+#line 44644 "gram.c"
+ break;
+
+ case 1704: /* OptTempTableName: TEMP opt_table qualified_name */
+#line 12804 "gram.y"
+ {
+ (yyval.range) = (yyvsp[0].range);
+ (yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
+ }
+#line 44653 "gram.c"
+ break;
+
+ case 1705: /* OptTempTableName: LOCAL TEMPORARY opt_table qualified_name */
+#line 12809 "gram.y"
+ {
+ (yyval.range) = (yyvsp[0].range);
+ (yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
+ }
+#line 44662 "gram.c"
+ break;
+
+ case 1706: /* OptTempTableName: LOCAL TEMP opt_table qualified_name */
+#line 12814 "gram.y"
+ {
+ (yyval.range) = (yyvsp[0].range);
+ (yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
+ }
+#line 44671 "gram.c"
+ break;
+
+ case 1707: /* OptTempTableName: GLOBAL TEMPORARY opt_table qualified_name */
+#line 12819 "gram.y"
+ {
+ 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 44683 "gram.c"
+ break;
+
+ case 1708: /* OptTempTableName: GLOBAL TEMP opt_table qualified_name */
+#line 12827 "gram.y"
+ {
+ 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 44695 "gram.c"
+ break;
+
+ case 1709: /* OptTempTableName: UNLOGGED opt_table qualified_name */
+#line 12835 "gram.y"
+ {
+ (yyval.range) = (yyvsp[0].range);
+ (yyval.range)->relpersistence = RELPERSISTENCE_UNLOGGED;
+ }
+#line 44704 "gram.c"
+ break;
+
+ case 1710: /* OptTempTableName: TABLE qualified_name */
+#line 12840 "gram.y"
+ {
+ (yyval.range) = (yyvsp[0].range);
+ (yyval.range)->relpersistence = RELPERSISTENCE_PERMANENT;
+ }
+#line 44713 "gram.c"
+ break;
+
+ case 1711: /* OptTempTableName: qualified_name */
+#line 12845 "gram.y"
+ {
+ (yyval.range) = (yyvsp[0].range);
+ (yyval.range)->relpersistence = RELPERSISTENCE_PERMANENT;
+ }
+#line 44722 "gram.c"
+ break;
+
+ case 1714: /* set_quantifier: ALL */
+#line 12856 "gram.y"
+ { (yyval.setquantifier) = SET_QUANTIFIER_ALL; }
+#line 44728 "gram.c"
+ break;
+
+ case 1715: /* set_quantifier: DISTINCT */
+#line 12857 "gram.y"
+ { (yyval.setquantifier) = SET_QUANTIFIER_DISTINCT; }
+#line 44734 "gram.c"
+ break;
+
+ case 1716: /* set_quantifier: %empty */
+#line 12858 "gram.y"
+ { (yyval.setquantifier) = SET_QUANTIFIER_DEFAULT; }
+#line 44740 "gram.c"
+ break;
+
+ case 1717: /* distinct_clause: DISTINCT */
+#line 12865 "gram.y"
+ { (yyval.list) = list_make1(NIL); }
+#line 44746 "gram.c"
+ break;
+
+ case 1718: /* distinct_clause: DISTINCT ON '(' expr_list ')' */
+#line 12866 "gram.y"
+ { (yyval.list) = (yyvsp[-1].list); }
+#line 44752 "gram.c"
+ break;
+
+ case 1721: /* opt_distinct_clause: distinct_clause */
+#line 12875 "gram.y"
+ { (yyval.list) = (yyvsp[0].list); }
+#line 44758 "gram.c"
+ break;
+
+ case 1722: /* opt_distinct_clause: opt_all_clause */
+#line 12876 "gram.y"
+ { (yyval.list) = NIL; }
+#line 44764 "gram.c"
+ break;
+
+ case 1723: /* opt_sort_clause: sort_clause */
+#line 12880 "gram.y"
+ { (yyval.list) = (yyvsp[0].list); }
+#line 44770 "gram.c"
+ break;
+
+ case 1724: /* opt_sort_clause: %empty */
+#line 12881 "gram.y"
+ { (yyval.list) = NIL; }
+#line 44776 "gram.c"
+ break;
+
+ case 1725: /* sort_clause: ORDER BY sortby_list */
+#line 12885 "gram.y"
+ { (yyval.list) = (yyvsp[0].list); }
+#line 44782 "gram.c"
+ break;
+
+ case 1726: /* sortby_list: sortby */
+#line 12889 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].sortby)); }
+#line 44788 "gram.c"
+ break;
+
+ case 1727: /* sortby_list: sortby_list ',' sortby */
+#line 12890 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].sortby)); }
+#line 44794 "gram.c"
+ break;
+
+ case 1728: /* sortby: a_expr USING qual_all_Op opt_nulls_order */
+#line 12894 "gram.y"
+ {
+ (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 44807 "gram.c"
+ break;
+
+ case 1729: /* sortby: a_expr opt_asc_desc opt_nulls_order */
+#line 12903 "gram.y"
+ {
+ (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 44820 "gram.c"
+ break;
+
+ case 1730: /* select_limit: limit_clause offset_clause */
+#line 12916 "gram.y"
+ {
+ (yyval.selectlimit) = (yyvsp[-1].selectlimit);
+ ((yyval.selectlimit))->limitOffset = (yyvsp[0].node);
+ }
+#line 44829 "gram.c"
+ break;
+
+ case 1731: /* select_limit: offset_clause limit_clause */
+#line 12921 "gram.y"
+ {
+ (yyval.selectlimit) = (yyvsp[0].selectlimit);
+ ((yyval.selectlimit))->limitOffset = (yyvsp[-1].node);
+ }
+#line 44838 "gram.c"
+ break;
+
+ case 1732: /* select_limit: limit_clause */
+#line 12926 "gram.y"
+ {
+ (yyval.selectlimit) = (yyvsp[0].selectlimit);
+ }
+#line 44846 "gram.c"
+ break;
+
+ case 1733: /* select_limit: offset_clause */
+#line 12930 "gram.y"
+ {
+ SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit));
+
+ n->limitOffset = (yyvsp[0].node);
+ n->limitCount = NULL;
+ n->limitOption = LIMIT_OPTION_COUNT;
+ (yyval.selectlimit) = n;
+ }
+#line 44859 "gram.c"
+ break;
+
+ case 1734: /* opt_select_limit: select_limit */
+#line 12941 "gram.y"
+ { (yyval.selectlimit) = (yyvsp[0].selectlimit); }
+#line 44865 "gram.c"
+ break;
+
+ case 1735: /* opt_select_limit: %empty */
+#line 12942 "gram.y"
+ { (yyval.selectlimit) = NULL; }
+#line 44871 "gram.c"
+ break;
+
+ case 1736: /* limit_clause: LIMIT select_limit_value */
+#line 12947 "gram.y"
+ {
+ SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit));
+
+ n->limitOffset = NULL;
+ n->limitCount = (yyvsp[0].node);
+ n->limitOption = LIMIT_OPTION_COUNT;
+ (yyval.selectlimit) = n;
+ }
+#line 44884 "gram.c"
+ break;
+
+ case 1737: /* limit_clause: LIMIT select_limit_value ',' select_offset_value */
+#line 12956 "gram.y"
+ {
+ /* 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 44897 "gram.c"
+ break;
+
+ case 1738: /* limit_clause: FETCH first_or_next select_fetch_first_value row_or_rows ONLY */
+#line 12972 "gram.y"
+ {
+ SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit));
+
+ n->limitOffset = NULL;
+ n->limitCount = (yyvsp[-2].node);
+ n->limitOption = LIMIT_OPTION_COUNT;
+ (yyval.selectlimit) = n;
+ }
+#line 44910 "gram.c"
+ break;
+
+ case 1739: /* limit_clause: FETCH first_or_next select_fetch_first_value row_or_rows WITH TIES */
+#line 12981 "gram.y"
+ {
+ SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit));
+
+ n->limitOffset = NULL;
+ n->limitCount = (yyvsp[-3].node);
+ n->limitOption = LIMIT_OPTION_WITH_TIES;
+ (yyval.selectlimit) = n;
+ }
+#line 44923 "gram.c"
+ break;
+
+ case 1740: /* limit_clause: FETCH first_or_next row_or_rows ONLY */
+#line 12990 "gram.y"
+ {
+ SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit));
+
+ n->limitOffset = NULL;
+ n->limitCount = makeIntConst(1, -1);
+ n->limitOption = LIMIT_OPTION_COUNT;
+ (yyval.selectlimit) = n;
+ }
+#line 44936 "gram.c"
+ break;
+
+ case 1741: /* limit_clause: FETCH first_or_next row_or_rows WITH TIES */
+#line 12999 "gram.y"
+ {
+ SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit));
+
+ n->limitOffset = NULL;
+ n->limitCount = makeIntConst(1, -1);
+ n->limitOption = LIMIT_OPTION_WITH_TIES;
+ (yyval.selectlimit) = n;
+ }
+#line 44949 "gram.c"
+ break;
+
+ case 1742: /* offset_clause: OFFSET select_offset_value */
+#line 13011 "gram.y"
+ { (yyval.node) = (yyvsp[0].node); }
+#line 44955 "gram.c"
+ break;
+
+ case 1743: /* offset_clause: OFFSET select_fetch_first_value row_or_rows */
+#line 13014 "gram.y"
+ { (yyval.node) = (yyvsp[-1].node); }
+#line 44961 "gram.c"
+ break;
+
+ case 1744: /* select_limit_value: a_expr */
+#line 13018 "gram.y"
+ { (yyval.node) = (yyvsp[0].node); }
+#line 44967 "gram.c"
+ break;
+
+ case 1745: /* select_limit_value: ALL */
+#line 13020 "gram.y"
+ {
+ /* LIMIT ALL is represented as a NULL constant */
+ (yyval.node) = makeNullAConst((yylsp[0]));
+ }
+#line 44976 "gram.c"
+ break;
+
+ case 1746: /* select_offset_value: a_expr */
+#line 13027 "gram.y"
+ { (yyval.node) = (yyvsp[0].node); }
+#line 44982 "gram.c"
+ break;
+
+ case 1747: /* select_fetch_first_value: c_expr */
+#line 13047 "gram.y"
+ { (yyval.node) = (yyvsp[0].node); }
+#line 44988 "gram.c"
+ break;
+
+ case 1748: /* select_fetch_first_value: '+' I_or_F_const */
+#line 13049 "gram.y"
+ { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[0].node), (yylsp[-1])); }
+#line 44994 "gram.c"
+ break;
+
+ case 1749: /* select_fetch_first_value: '-' I_or_F_const */
+#line 13051 "gram.y"
+ { (yyval.node) = doNegate((yyvsp[0].node), (yylsp[-1])); }
+#line 45000 "gram.c"
+ break;
+
+ case 1750: /* I_or_F_const: Iconst */
+#line 13055 "gram.y"
+ { (yyval.node) = makeIntConst((yyvsp[0].ival),(yylsp[0])); }
+#line 45006 "gram.c"
+ break;
+
+ case 1751: /* I_or_F_const: FCONST */
+#line 13056 "gram.y"
+ { (yyval.node) = makeFloatConst((yyvsp[0].str),(yylsp[0])); }
+#line 45012 "gram.c"
+ break;
+
+ case 1752: /* row_or_rows: ROW */
+#line 13060 "gram.y"
+ { (yyval.ival) = 0; }
+#line 45018 "gram.c"
+ break;
+
+ case 1753: /* row_or_rows: ROWS */
+#line 13061 "gram.y"
+ { (yyval.ival) = 0; }
+#line 45024 "gram.c"
+ break;
+
+ case 1754: /* first_or_next: FIRST_P */
+#line 13064 "gram.y"
+ { (yyval.ival) = 0; }
+#line 45030 "gram.c"
+ break;
+
+ case 1755: /* first_or_next: NEXT */
+#line 13065 "gram.y"
+ { (yyval.ival) = 0; }
+#line 45036 "gram.c"
+ break;
+
+ case 1756: /* group_clause: GROUP_P BY set_quantifier group_by_list */
+#line 13091 "gram.y"
+ {
+ GroupClause *n = (GroupClause *) palloc(sizeof(GroupClause));
+
+ n->distinct = (yyvsp[-1].setquantifier) == SET_QUANTIFIER_DISTINCT;
+ n->list = (yyvsp[0].list);
+ (yyval.groupclause) = n;
+ }
+#line 45048 "gram.c"
+ break;
+
+ case 1757: /* group_clause: %empty */
+#line 13099 "gram.y"
+ {
+ GroupClause *n = (GroupClause *) palloc(sizeof(GroupClause));
+
+ n->distinct = false;
+ n->list = NIL;
+ (yyval.groupclause) = n;
+ }
+#line 45060 "gram.c"
+ break;
+
+ case 1758: /* group_by_list: group_by_item */
+#line 13109 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].node)); }
+#line 45066 "gram.c"
+ break;
+
+ case 1759: /* group_by_list: group_by_list ',' group_by_item */
+#line 13110 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list),(yyvsp[0].node)); }
+#line 45072 "gram.c"
+ break;
+
+ case 1760: /* group_by_item: a_expr */
+#line 13114 "gram.y"
+ { (yyval.node) = (yyvsp[0].node); }
+#line 45078 "gram.c"
+ break;
+
+ case 1761: /* group_by_item: empty_grouping_set */
+#line 13115 "gram.y"
+ { (yyval.node) = (yyvsp[0].node); }
+#line 45084 "gram.c"
+ break;
+
+ case 1762: /* group_by_item: cube_clause */
+#line 13116 "gram.y"
+ { (yyval.node) = (yyvsp[0].node); }
+#line 45090 "gram.c"
+ break;
+
+ case 1763: /* group_by_item: rollup_clause */
+#line 13117 "gram.y"
+ { (yyval.node) = (yyvsp[0].node); }
+#line 45096 "gram.c"
+ break;
+
+ case 1764: /* group_by_item: grouping_sets_clause */
+#line 13118 "gram.y"
+ { (yyval.node) = (yyvsp[0].node); }
+#line 45102 "gram.c"
+ break;
+
+ case 1765: /* empty_grouping_set: '(' ')' */
+#line 13123 "gram.y"
+ {
+ (yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_EMPTY, NIL, (yylsp[-1]));
+ }
+#line 45110 "gram.c"
+ break;
+
+ case 1766: /* rollup_clause: ROLLUP '(' expr_list ')' */
+#line 13136 "gram.y"
+ {
+ (yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_ROLLUP, (yyvsp[-1].list), (yylsp[-3]));
+ }
+#line 45118 "gram.c"
+ break;
+
+ case 1767: /* cube_clause: CUBE '(' expr_list ')' */
+#line 13143 "gram.y"
+ {
+ (yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_CUBE, (yyvsp[-1].list), (yylsp[-3]));
+ }
+#line 45126 "gram.c"
+ break;
+
+ case 1768: /* grouping_sets_clause: GROUPING SETS '(' group_by_list ')' */
+#line 13150 "gram.y"
+ {
+ (yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_SETS, (yyvsp[-1].list), (yylsp[-4]));
+ }
+#line 45134 "gram.c"
+ break;
+
+ case 1769: /* having_clause: HAVING a_expr */
+#line 13156 "gram.y"
+ { (yyval.node) = (yyvsp[0].node); }
+#line 45140 "gram.c"
+ break;
+
+ case 1770: /* having_clause: %empty */
+#line 13157 "gram.y"
+ { (yyval.node) = NULL; }
+#line 45146 "gram.c"
+ break;
+
+ case 1771: /* for_locking_clause: for_locking_items */
+#line 13161 "gram.y"
+ { (yyval.list) = (yyvsp[0].list); }
+#line 45152 "gram.c"
+ break;
+
+ case 1772: /* for_locking_clause: FOR READ ONLY */
+#line 13162 "gram.y"
+ { (yyval.list) = NIL; }
+#line 45158 "gram.c"
+ break;
+
+ case 1773: /* opt_for_locking_clause: for_locking_clause */
+#line 13166 "gram.y"
+ { (yyval.list) = (yyvsp[0].list); }
+#line 45164 "gram.c"
+ break;
+
+ case 1774: /* opt_for_locking_clause: %empty */
+#line 13167 "gram.y"
+ { (yyval.list) = NIL; }
+#line 45170 "gram.c"
+ break;
+
+ case 1775: /* for_locking_items: for_locking_item */
+#line 13171 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].node)); }
+#line 45176 "gram.c"
+ break;
+
+ case 1776: /* for_locking_items: for_locking_items for_locking_item */
+#line 13172 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
+#line 45182 "gram.c"
+ break;
+
+ case 1777: /* for_locking_item: for_locking_strength locked_rels_list opt_nowait_or_skip */
+#line 13177 "gram.y"
+ {
+ LockingClause *n = makeNode(LockingClause);
+
+ n->lockedRels = (yyvsp[-1].list);
+ n->strength = (yyvsp[-2].ival);
+ n->waitPolicy = (yyvsp[0].ival);
+ (yyval.node) = (Node *) n;
+ }
+#line 45195 "gram.c"
+ break;
+
+ case 1778: /* for_locking_strength: FOR UPDATE */
+#line 13188 "gram.y"
+ { (yyval.ival) = LCS_FORUPDATE; }
+#line 45201 "gram.c"
+ break;
+
+ case 1779: /* for_locking_strength: FOR NO KEY UPDATE */
+#line 13189 "gram.y"
+ { (yyval.ival) = LCS_FORNOKEYUPDATE; }
+#line 45207 "gram.c"
+ break;
+
+ case 1780: /* for_locking_strength: FOR SHARE */
+#line 13190 "gram.y"
+ { (yyval.ival) = LCS_FORSHARE; }
+#line 45213 "gram.c"
+ break;
+
+ case 1781: /* for_locking_strength: FOR KEY SHARE */
+#line 13191 "gram.y"
+ { (yyval.ival) = LCS_FORKEYSHARE; }
+#line 45219 "gram.c"
+ break;
+
+ case 1782: /* locked_rels_list: OF qualified_name_list */
+#line 13195 "gram.y"
+ { (yyval.list) = (yyvsp[0].list); }
+#line 45225 "gram.c"
+ break;
+
+ case 1783: /* locked_rels_list: %empty */
+#line 13196 "gram.y"
+ { (yyval.list) = NIL; }
+#line 45231 "gram.c"
+ break;
+
+ case 1784: /* values_clause: VALUES '(' expr_list ')' */
+#line 13207 "gram.y"
+ {
+ SelectStmt *n = makeNode(SelectStmt);
+
+ n->valuesLists = list_make1((yyvsp[-1].list));
+ (yyval.node) = (Node *) n;
+ }
+#line 45242 "gram.c"
+ break;
+
+ case 1785: /* values_clause: values_clause ',' '(' expr_list ')' */
+#line 13214 "gram.y"
+ {
+ SelectStmt *n = (SelectStmt *) (yyvsp[-4].node);
+
+ n->valuesLists = lappend(n->valuesLists, (yyvsp[-1].list));
+ (yyval.node) = (Node *) n;
+ }
+#line 45253 "gram.c"
+ break;
+
+ case 1786: /* from_clause: FROM from_list */
+#line 13232 "gram.y"
+ { (yyval.list) = (yyvsp[0].list); }
+#line 45259 "gram.c"
+ break;
+
+ case 1787: /* from_clause: %empty */
+#line 13233 "gram.y"
+ { (yyval.list) = NIL; }
+#line 45265 "gram.c"
+ break;
+
+ case 1788: /* from_list: table_ref */
+#line 13237 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].node)); }
+#line 45271 "gram.c"
+ break;
+
+ case 1789: /* from_list: from_list ',' table_ref */
+#line 13238 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
+#line 45277 "gram.c"
+ break;
+
+ case 1790: /* table_ref: relation_expr opt_alias_clause */
+#line 13245 "gram.y"
+ {
+ (yyvsp[-1].range)->alias = (yyvsp[0].alias);
+ (yyval.node) = (Node *) (yyvsp[-1].range);
+ }
+#line 45286 "gram.c"
+ break;
+
+ case 1791: /* table_ref: relation_expr opt_alias_clause tablesample_clause */
+#line 13250 "gram.y"
+ {
+ 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 45299 "gram.c"
+ break;
+
+ case 1792: /* table_ref: func_table func_alias_clause */
+#line 13259 "gram.y"
+ {
+ RangeFunction *n = (RangeFunction *) (yyvsp[-1].node);
+
+ n->alias = linitial((yyvsp[0].list));
+ n->coldeflist = lsecond((yyvsp[0].list));
+ (yyval.node) = (Node *) n;
+ }
+#line 45311 "gram.c"
+ break;
+
+ case 1793: /* table_ref: LATERAL_P func_table func_alias_clause */
+#line 13267 "gram.y"
+ {
+ 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 45324 "gram.c"
+ break;
+
+ case 1794: /* table_ref: xmltable opt_alias_clause */
+#line 13276 "gram.y"
+ {
+ RangeTableFunc *n = (RangeTableFunc *) (yyvsp[-1].node);
+
+ n->alias = (yyvsp[0].alias);
+ (yyval.node) = (Node *) n;
+ }
+#line 45335 "gram.c"
+ break;
+
+ case 1795: /* table_ref: LATERAL_P xmltable opt_alias_clause */
+#line 13283 "gram.y"
+ {
+ RangeTableFunc *n = (RangeTableFunc *) (yyvsp[-1].node);
+
+ n->lateral = true;
+ n->alias = (yyvsp[0].alias);
+ (yyval.node) = (Node *) n;
+ }
+#line 45347 "gram.c"
+ break;
+
+ case 1796: /* table_ref: select_with_parens opt_alias_clause */
+#line 13291 "gram.y"
+ {
+ RangeSubselect *n = makeNode(RangeSubselect);
+
+ n->lateral = false;
+ n->subquery = (yyvsp[-1].node);
+ n->alias = (yyvsp[0].alias);
+ (yyval.node) = (Node *) n;
+ }
+#line 45360 "gram.c"
+ break;
+
+ case 1797: /* table_ref: LATERAL_P select_with_parens opt_alias_clause */
+#line 13300 "gram.y"
+ {
+ RangeSubselect *n = makeNode(RangeSubselect);
+
+ n->lateral = true;
+ n->subquery = (yyvsp[-1].node);
+ n->alias = (yyvsp[0].alias);
+ (yyval.node) = (Node *) n;
+ }
+#line 45373 "gram.c"
+ break;
+
+ case 1798: /* table_ref: joined_table */
+#line 13309 "gram.y"
+ {
+ (yyval.node) = (Node *) (yyvsp[0].jexpr);
+ }
+#line 45381 "gram.c"
+ break;
+
+ case 1799: /* table_ref: '(' joined_table ')' alias_clause */
+#line 13313 "gram.y"
+ {
+ (yyvsp[-2].jexpr)->alias = (yyvsp[0].alias);
+ (yyval.node) = (Node *) (yyvsp[-2].jexpr);
+ }
+#line 45390 "gram.c"
+ break;
+
+ case 1800: /* joined_table: '(' joined_table ')' */
+#line 13339 "gram.y"
+ {
+ (yyval.jexpr) = (yyvsp[-1].jexpr);
+ }
+#line 45398 "gram.c"
+ break;
+
+ case 1801: /* joined_table: table_ref CROSS JOIN table_ref */
+#line 13343 "gram.y"
+ {
+ /* 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->join_using_alias = NULL;
+ n->quals = NULL;
+ (yyval.jexpr) = n;
+ }
+#line 45416 "gram.c"
+ break;
+
+ case 1802: /* joined_table: table_ref join_type JOIN table_ref join_qual */
+#line 13357 "gram.y"
+ {
+ 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))
+ {
+ /* USING clause */
+ n->usingClause = linitial_node(List, castNode(List, (yyvsp[0].node)));
+ n->join_using_alias = lsecond_node(Alias, castNode(List, (yyvsp[0].node)));
+ }
+ else
+ {
+ /* ON clause */
+ n->quals = (yyvsp[0].node);
+ }
+ (yyval.jexpr) = n;
+ }
+#line 45441 "gram.c"
+ break;
+
+ case 1803: /* joined_table: table_ref JOIN table_ref join_qual */
+#line 13378 "gram.y"
+ {
+ /* 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))
+ {
+ /* USING clause */
+ n->usingClause = linitial_node(List, castNode(List, (yyvsp[0].node)));
+ n->join_using_alias = lsecond_node(Alias, castNode(List, (yyvsp[0].node)));
+ }
+ else
+ {
+ /* ON clause */
+ n->quals = (yyvsp[0].node);
+ }
+ (yyval.jexpr) = n;
+ }
+#line 45467 "gram.c"
+ break;
+
+ case 1804: /* joined_table: table_ref NATURAL join_type JOIN table_ref */
+#line 13400 "gram.y"
+ {
+ 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->join_using_alias = NULL;
+ n->quals = NULL; /* fill later */
+ (yyval.jexpr) = n;
+ }
+#line 45484 "gram.c"
+ break;
+
+ case 1805: /* joined_table: table_ref NATURAL JOIN table_ref */
+#line 13413 "gram.y"
+ {
+ /* 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->join_using_alias = NULL;
+ n->quals = NULL; /* fill later */
+ (yyval.jexpr) = n;
+ }
+#line 45502 "gram.c"
+ break;
+
+ case 1806: /* alias_clause: AS ColId '(' name_list ')' */
+#line 13430 "gram.y"
+ {
+ (yyval.alias) = makeNode(Alias);
+ (yyval.alias)->aliasname = (yyvsp[-3].str);
+ (yyval.alias)->colnames = (yyvsp[-1].list);
+ }
+#line 45512 "gram.c"
+ break;
+
+ case 1807: /* alias_clause: AS ColId */
+#line 13436 "gram.y"
+ {
+ (yyval.alias) = makeNode(Alias);
+ (yyval.alias)->aliasname = (yyvsp[0].str);
+ }
+#line 45521 "gram.c"
+ break;
+
+ case 1808: /* alias_clause: ColId '(' name_list ')' */
+#line 13441 "gram.y"
+ {
+ (yyval.alias) = makeNode(Alias);
+ (yyval.alias)->aliasname = (yyvsp[-3].str);
+ (yyval.alias)->colnames = (yyvsp[-1].list);
+ }
+#line 45531 "gram.c"
+ break;
+
+ case 1809: /* alias_clause: ColId */
+#line 13447 "gram.y"
+ {
+ (yyval.alias) = makeNode(Alias);
+ (yyval.alias)->aliasname = (yyvsp[0].str);
+ }
+#line 45540 "gram.c"
+ break;
+
+ case 1810: /* opt_alias_clause: alias_clause */
+#line 13453 "gram.y"
+ { (yyval.alias) = (yyvsp[0].alias); }
+#line 45546 "gram.c"
+ break;
+
+ case 1811: /* opt_alias_clause: %empty */
+#line 13454 "gram.y"
+ { (yyval.alias) = NULL; }
+#line 45552 "gram.c"
+ break;
+
+ case 1812: /* opt_alias_clause_for_join_using: AS ColId */
+#line 13465 "gram.y"
+ {
+ (yyval.alias) = makeNode(Alias);
+ (yyval.alias)->aliasname = (yyvsp[0].str);
+ /* the column name list will be inserted later */
+ }
+#line 45562 "gram.c"
+ break;
+
+ case 1813: /* opt_alias_clause_for_join_using: %empty */
+#line 13470 "gram.y"
+ { (yyval.alias) = NULL; }
+#line 45568 "gram.c"
+ break;
+
+ case 1814: /* func_alias_clause: alias_clause */
+#line 13479 "gram.y"
+ {
+ (yyval.list) = list_make2((yyvsp[0].alias), NIL);
+ }
+#line 45576 "gram.c"
+ break;
+
+ case 1815: /* func_alias_clause: AS '(' TableFuncElementList ')' */
+#line 13483 "gram.y"
+ {
+ (yyval.list) = list_make2(NULL, (yyvsp[-1].list));
+ }
+#line 45584 "gram.c"
+ break;
+
+ case 1816: /* func_alias_clause: AS ColId '(' TableFuncElementList ')' */
+#line 13487 "gram.y"
+ {
+ Alias *a = makeNode(Alias);
+
+ a->aliasname = (yyvsp[-3].str);
+ (yyval.list) = list_make2(a, (yyvsp[-1].list));
+ }
+#line 45595 "gram.c"
+ break;
+
+ case 1817: /* func_alias_clause: ColId '(' TableFuncElementList ')' */
+#line 13494 "gram.y"
+ {
+ Alias *a = makeNode(Alias);
+
+ a->aliasname = (yyvsp[-3].str);
+ (yyval.list) = list_make2(a, (yyvsp[-1].list));
+ }
+#line 45606 "gram.c"
+ break;
+
+ case 1818: /* func_alias_clause: %empty */
+#line 13501 "gram.y"
+ {
+ (yyval.list) = list_make2(NULL, NIL);
+ }
+#line 45614 "gram.c"
+ break;
+
+ case 1819: /* join_type: FULL opt_outer */
+#line 13506 "gram.y"
+ { (yyval.jtype) = JOIN_FULL; }
+#line 45620 "gram.c"
+ break;
+
+ case 1820: /* join_type: LEFT opt_outer */
+#line 13507 "gram.y"
+ { (yyval.jtype) = JOIN_LEFT; }
+#line 45626 "gram.c"
+ break;
+
+ case 1821: /* join_type: RIGHT opt_outer */
+#line 13508 "gram.y"
+ { (yyval.jtype) = JOIN_RIGHT; }
+#line 45632 "gram.c"
+ break;
+
+ case 1822: /* join_type: INNER_P */
+#line 13509 "gram.y"
+ { (yyval.jtype) = JOIN_INNER; }
+#line 45638 "gram.c"
+ break;
+
+ case 1825: /* join_qual: USING '(' name_list ')' opt_alias_clause_for_join_using */
+#line 13530 "gram.y"
+ {
+ (yyval.node) = (Node *) list_make2((yyvsp[-2].list), (yyvsp[0].alias));
+ }
+#line 45646 "gram.c"
+ break;
+
+ case 1826: /* join_qual: ON a_expr */
+#line 13534 "gram.y"
+ {
+ (yyval.node) = (yyvsp[0].node);
+ }
+#line 45654 "gram.c"
+ break;
+
+ case 1827: /* relation_expr: qualified_name */
+#line 13542 "gram.y"
+ {
+ /* inheritance query, implicitly */
+ (yyval.range) = (yyvsp[0].range);
+ (yyval.range)->inh = true;
+ (yyval.range)->alias = NULL;
+ }
+#line 45665 "gram.c"
+ break;
+
+ case 1828: /* relation_expr: extended_relation_expr */
+#line 13549 "gram.y"
+ {
+ (yyval.range) = (yyvsp[0].range);
+ }
+#line 45673 "gram.c"
+ break;
+
+ case 1829: /* extended_relation_expr: qualified_name '*' */
+#line 13556 "gram.y"
+ {
+ /* inheritance query, explicitly */
+ (yyval.range) = (yyvsp[-1].range);
+ (yyval.range)->inh = true;
+ (yyval.range)->alias = NULL;
+ }
+#line 45684 "gram.c"
+ break;
+
+ case 1830: /* extended_relation_expr: ONLY qualified_name */
+#line 13563 "gram.y"
+ {
+ /* no inheritance */
+ (yyval.range) = (yyvsp[0].range);
+ (yyval.range)->inh = false;
+ (yyval.range)->alias = NULL;
+ }
+#line 45695 "gram.c"
+ break;
+
+ case 1831: /* extended_relation_expr: ONLY '(' qualified_name ')' */
+#line 13570 "gram.y"
+ {
+ /* no inheritance, SQL99-style syntax */
+ (yyval.range) = (yyvsp[-1].range);
+ (yyval.range)->inh = false;
+ (yyval.range)->alias = NULL;
+ }
+#line 45706 "gram.c"
+ break;
+
+ case 1832: /* relation_expr_list: relation_expr */
+#line 13580 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].range)); }
+#line 45712 "gram.c"
+ break;
+
+ case 1833: /* relation_expr_list: relation_expr_list ',' relation_expr */
+#line 13581 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].range)); }
+#line 45718 "gram.c"
+ break;
+
+ case 1834: /* relation_expr_opt_alias: relation_expr */
+#line 13595 "gram.y"
+ {
+ (yyval.range) = (yyvsp[0].range);
+ }
+#line 45726 "gram.c"
+ break;
+
+ case 1835: /* relation_expr_opt_alias: relation_expr ColId */
+#line 13599 "gram.y"
+ {
+ Alias *alias = makeNode(Alias);
+
+ alias->aliasname = (yyvsp[0].str);
+ (yyvsp[-1].range)->alias = alias;
+ (yyval.range) = (yyvsp[-1].range);
+ }
+#line 45738 "gram.c"
+ break;
+
+ case 1836: /* relation_expr_opt_alias: relation_expr AS ColId */
+#line 13607 "gram.y"
+ {
+ Alias *alias = makeNode(Alias);
+
+ alias->aliasname = (yyvsp[0].str);
+ (yyvsp[-2].range)->alias = alias;
+ (yyval.range) = (yyvsp[-2].range);
+ }
+#line 45750 "gram.c"
+ break;
+
+ case 1837: /* tablesample_clause: TABLESAMPLE func_name '(' expr_list ')' opt_repeatable_clause */
+#line 13621 "gram.y"
+ {
+ 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 45765 "gram.c"
+ break;
+
+ case 1838: /* opt_repeatable_clause: REPEATABLE '(' a_expr ')' */
+#line 13634 "gram.y"
+ { (yyval.node) = (Node *) (yyvsp[-1].node); }
+#line 45771 "gram.c"
+ break;
+
+ case 1839: /* opt_repeatable_clause: %empty */
+#line 13635 "gram.y"
+ { (yyval.node) = NULL; }
+#line 45777 "gram.c"
+ break;
+
+ case 1840: /* func_table: func_expr_windowless opt_ordinality */
+#line 13651 "gram.y"
+ {
+ 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 45792 "gram.c"
+ break;
+
+ case 1841: /* func_table: ROWS FROM '(' rowsfrom_list ')' opt_ordinality */
+#line 13662 "gram.y"
+ {
+ 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 45807 "gram.c"
+ break;
+
+ case 1842: /* rowsfrom_item: func_expr_windowless opt_col_def_list */
+#line 13675 "gram.y"
+ { (yyval.list) = list_make2((yyvsp[-1].node), (yyvsp[0].list)); }
+#line 45813 "gram.c"
+ break;
+
+ case 1843: /* rowsfrom_list: rowsfrom_item */
+#line 13679 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].list)); }
+#line 45819 "gram.c"
+ break;
+
+ case 1844: /* rowsfrom_list: rowsfrom_list ',' rowsfrom_item */
+#line 13680 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].list)); }
+#line 45825 "gram.c"
+ break;
+
+ case 1845: /* opt_col_def_list: AS '(' TableFuncElementList ')' */
+#line 13683 "gram.y"
+ { (yyval.list) = (yyvsp[-1].list); }
+#line 45831 "gram.c"
+ break;
+
+ case 1846: /* opt_col_def_list: %empty */
+#line 13684 "gram.y"
+ { (yyval.list) = NIL; }
+#line 45837 "gram.c"
+ break;
+
+ case 1847: /* opt_ordinality: WITH_LA ORDINALITY */
+#line 13687 "gram.y"
+ { (yyval.boolean) = true; }
+#line 45843 "gram.c"
+ break;
+
+ case 1848: /* opt_ordinality: %empty */
+#line 13688 "gram.y"
+ { (yyval.boolean) = false; }
+#line 45849 "gram.c"
+ break;
+
+ case 1849: /* where_clause: WHERE a_expr */
+#line 13693 "gram.y"
+ { (yyval.node) = (yyvsp[0].node); }
+#line 45855 "gram.c"
+ break;
+
+ case 1850: /* where_clause: %empty */
+#line 13694 "gram.y"
+ { (yyval.node) = NULL; }
+#line 45861 "gram.c"
+ break;
+
+ case 1851: /* where_or_current_clause: WHERE a_expr */
+#line 13699 "gram.y"
+ { (yyval.node) = (yyvsp[0].node); }
+#line 45867 "gram.c"
+ break;
+
+ case 1852: /* where_or_current_clause: WHERE CURRENT_P OF cursor_name */
+#line 13701 "gram.y"
+ {
+ 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 45880 "gram.c"
+ break;
+
+ case 1853: /* where_or_current_clause: %empty */
+#line 13709 "gram.y"
+ { (yyval.node) = NULL; }
+#line 45886 "gram.c"
+ break;
+
+ case 1854: /* OptTableFuncElementList: TableFuncElementList */
+#line 13714 "gram.y"
+ { (yyval.list) = (yyvsp[0].list); }
+#line 45892 "gram.c"
+ break;
+
+ case 1855: /* OptTableFuncElementList: %empty */
+#line 13715 "gram.y"
+ { (yyval.list) = NIL; }
+#line 45898 "gram.c"
+ break;
+
+ case 1856: /* TableFuncElementList: TableFuncElement */
+#line 13720 "gram.y"
+ {
+ (yyval.list) = list_make1((yyvsp[0].node));
+ }
+#line 45906 "gram.c"
+ break;
+
+ case 1857: /* TableFuncElementList: TableFuncElementList ',' TableFuncElement */
+#line 13724 "gram.y"
+ {
+ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
+ }
+#line 45914 "gram.c"
+ break;
+
+ case 1858: /* TableFuncElement: ColId Typename opt_collate_clause */
+#line 13730 "gram.y"
+ {
+ 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 45937 "gram.c"
+ break;
+
+ case 1859: /* xmltable: XMLTABLE '(' c_expr xmlexists_argument COLUMNS xmltable_column_list ')' */
+#line 13755 "gram.y"
+ {
+ 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 45952 "gram.c"
+ break;
+
+ case 1860: /* xmltable: XMLTABLE '(' XMLNAMESPACES '(' xml_namespace_list ')' ',' c_expr xmlexists_argument COLUMNS xmltable_column_list ')' */
+#line 13767 "gram.y"
+ {
+ 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 45967 "gram.c"
+ break;
+
+ case 1861: /* xmltable_column_list: xmltable_column_el */
+#line 13779 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].node)); }
+#line 45973 "gram.c"
+ break;
+
+ case 1862: /* xmltable_column_list: xmltable_column_list ',' xmltable_column_el */
+#line 13780 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
+#line 45979 "gram.c"
+ break;
+
+ case 1863: /* xmltable_column_el: ColId Typename */
+#line 13785 "gram.y"
+ {
+ 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 45997 "gram.c"
+ break;
+
+ case 1864: /* xmltable_column_el: ColId Typename xmltable_column_option_list */
+#line 13799 "gram.y"
+ {
+ 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 = boolVal(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 46058 "gram.c"
+ break;
+
+ case 1865: /* xmltable_column_el: ColId FOR ORDINALITY */
+#line 13856 "gram.y"
+ {
+ 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 46073 "gram.c"
+ break;
+
+ case 1866: /* xmltable_column_option_list: xmltable_column_option_el */
+#line 13870 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].defelt)); }
+#line 46079 "gram.c"
+ break;
+
+ case 1867: /* xmltable_column_option_list: xmltable_column_option_list xmltable_column_option_el */
+#line 13872 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
+#line 46085 "gram.c"
+ break;
+
+ case 1868: /* xmltable_column_option_el: IDENT b_expr */
+#line 13877 "gram.y"
+ { (yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1])); }
+#line 46091 "gram.c"
+ break;
+
+ case 1869: /* xmltable_column_option_el: DEFAULT b_expr */
+#line 13879 "gram.y"
+ { (yyval.defelt) = makeDefElem("default", (yyvsp[0].node), (yylsp[-1])); }
+#line 46097 "gram.c"
+ break;
+
+ case 1870: /* xmltable_column_option_el: NOT NULL_P */
+#line 13881 "gram.y"
+ { (yyval.defelt) = makeDefElem("is_not_null", (Node *) makeBoolean(true), (yylsp[-1])); }
+#line 46103 "gram.c"
+ break;
+
+ case 1871: /* xmltable_column_option_el: NULL_P */
+#line 13883 "gram.y"
+ { (yyval.defelt) = makeDefElem("is_not_null", (Node *) makeBoolean(false), (yylsp[0])); }
+#line 46109 "gram.c"
+ break;
+
+ case 1872: /* xml_namespace_list: xml_namespace_el */
+#line 13888 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].target)); }
+#line 46115 "gram.c"
+ break;
+
+ case 1873: /* xml_namespace_list: xml_namespace_list ',' xml_namespace_el */
+#line 13890 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
+#line 46121 "gram.c"
+ break;
+
+ case 1874: /* xml_namespace_el: b_expr AS ColLabel */
+#line 13895 "gram.y"
+ {
+ (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 46133 "gram.c"
+ break;
+
+ case 1875: /* xml_namespace_el: DEFAULT b_expr */
+#line 13903 "gram.y"
+ {
+ (yyval.target) = makeNode(ResTarget);
+ (yyval.target)->name = NULL;
+ (yyval.target)->indirection = NIL;
+ (yyval.target)->val = (yyvsp[0].node);
+ (yyval.target)->location = (yylsp[-1]);
+ }
+#line 46145 "gram.c"
+ break;
+
+ case 1876: /* Typename: SimpleTypename opt_array_bounds */
+#line 13923 "gram.y"
+ {
+ (yyval.typnam) = (yyvsp[-1].typnam);
+ (yyval.typnam)->arrayBounds = (yyvsp[0].list);
+ }
+#line 46154 "gram.c"
+ break;
+
+ case 1877: /* Typename: SETOF SimpleTypename opt_array_bounds */
+#line 13928 "gram.y"
+ {
+ (yyval.typnam) = (yyvsp[-1].typnam);
+ (yyval.typnam)->arrayBounds = (yyvsp[0].list);
+ (yyval.typnam)->setof = true;
+ }
+#line 46164 "gram.c"
+ break;
+
+ case 1878: /* Typename: SimpleTypename ARRAY '[' Iconst ']' */
+#line 13935 "gram.y"
+ {
+ (yyval.typnam) = (yyvsp[-4].typnam);
+ (yyval.typnam)->arrayBounds = list_make1(makeInteger((yyvsp[-1].ival)));
+ }
+#line 46173 "gram.c"
+ break;
+
+ case 1879: /* Typename: SETOF SimpleTypename ARRAY '[' Iconst ']' */
+#line 13940 "gram.y"
+ {
+ (yyval.typnam) = (yyvsp[-4].typnam);
+ (yyval.typnam)->arrayBounds = list_make1(makeInteger((yyvsp[-1].ival)));
+ (yyval.typnam)->setof = true;
+ }
+#line 46183 "gram.c"
+ break;
+
+ case 1880: /* Typename: SimpleTypename ARRAY */
+#line 13946 "gram.y"
+ {
+ (yyval.typnam) = (yyvsp[-1].typnam);
+ (yyval.typnam)->arrayBounds = list_make1(makeInteger(-1));
+ }
+#line 46192 "gram.c"
+ break;
+
+ case 1881: /* Typename: SETOF SimpleTypename ARRAY */
+#line 13951 "gram.y"
+ {
+ (yyval.typnam) = (yyvsp[-1].typnam);
+ (yyval.typnam)->arrayBounds = list_make1(makeInteger(-1));
+ (yyval.typnam)->setof = true;
+ }
+#line 46202 "gram.c"
+ break;
+
+ case 1882: /* opt_array_bounds: opt_array_bounds '[' ']' */
+#line 13960 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list), makeInteger(-1)); }
+#line 46208 "gram.c"
+ break;
+
+ case 1883: /* opt_array_bounds: opt_array_bounds '[' Iconst ']' */
+#line 13962 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-3].list), makeInteger((yyvsp[-1].ival))); }
+#line 46214 "gram.c"
+ break;
+
+ case 1884: /* opt_array_bounds: %empty */
+#line 13964 "gram.y"
+ { (yyval.list) = NIL; }
+#line 46220 "gram.c"
+ break;
+
+ case 1885: /* SimpleTypename: GenericType */
+#line 13968 "gram.y"
+ { (yyval.typnam) = (yyvsp[0].typnam); }
+#line 46226 "gram.c"
+ break;
+
+ case 1886: /* SimpleTypename: Numeric */
+#line 13969 "gram.y"
+ { (yyval.typnam) = (yyvsp[0].typnam); }
+#line 46232 "gram.c"
+ break;
+
+ case 1887: /* SimpleTypename: Bit */
+#line 13970 "gram.y"
+ { (yyval.typnam) = (yyvsp[0].typnam); }
+#line 46238 "gram.c"
+ break;
+
+ case 1888: /* SimpleTypename: Character */
+#line 13971 "gram.y"
+ { (yyval.typnam) = (yyvsp[0].typnam); }
+#line 46244 "gram.c"
+ break;
+
+ case 1889: /* SimpleTypename: ConstDatetime */
+#line 13972 "gram.y"
+ { (yyval.typnam) = (yyvsp[0].typnam); }
+#line 46250 "gram.c"
+ break;
+
+ case 1890: /* SimpleTypename: ConstInterval opt_interval */
+#line 13974 "gram.y"
+ {
+ (yyval.typnam) = (yyvsp[-1].typnam);
+ (yyval.typnam)->typmods = (yyvsp[0].list);
+ }
+#line 46259 "gram.c"
+ break;
+
+ case 1891: /* SimpleTypename: ConstInterval '(' Iconst ')' */
+#line 13979 "gram.y"
+ {
+ (yyval.typnam) = (yyvsp[-3].typnam);
+ (yyval.typnam)->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1),
+ makeIntConst((yyvsp[-1].ival), (yylsp[-1])));
+ }
+#line 46269 "gram.c"
+ break;
+
+ case 1892: /* ConstTypename: Numeric */
+#line 13998 "gram.y"
+ { (yyval.typnam) = (yyvsp[0].typnam); }
+#line 46275 "gram.c"
+ break;
+
+ case 1893: /* ConstTypename: ConstBit */
+#line 13999 "gram.y"
+ { (yyval.typnam) = (yyvsp[0].typnam); }
+#line 46281 "gram.c"
+ break;
+
+ case 1894: /* ConstTypename: ConstCharacter */
+#line 14000 "gram.y"
+ { (yyval.typnam) = (yyvsp[0].typnam); }
+#line 46287 "gram.c"
+ break;
+
+ case 1895: /* ConstTypename: ConstDatetime */
+#line 14001 "gram.y"
+ { (yyval.typnam) = (yyvsp[0].typnam); }
+#line 46293 "gram.c"
+ break;
+
+ case 1896: /* GenericType: type_function_name opt_type_modifiers */
+#line 14013 "gram.y"
+ {
+ (yyval.typnam) = makeTypeName((yyvsp[-1].str));
+ (yyval.typnam)->typmods = (yyvsp[0].list);
+ (yyval.typnam)->location = (yylsp[-1]);
+ }
+#line 46303 "gram.c"
+ break;
+
+ case 1897: /* GenericType: type_function_name attrs opt_type_modifiers */
+#line 14019 "gram.y"
+ {
+ (yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[-2].str)), (yyvsp[-1].list)));
+ (yyval.typnam)->typmods = (yyvsp[0].list);
+ (yyval.typnam)->location = (yylsp[-2]);
+ }
+#line 46313 "gram.c"
+ break;
+
+ case 1898: /* opt_type_modifiers: '(' expr_list ')' */
+#line 14026 "gram.y"
+ { (yyval.list) = (yyvsp[-1].list); }
+#line 46319 "gram.c"
+ break;
+
+ case 1899: /* opt_type_modifiers: %empty */
+#line 14027 "gram.y"
+ { (yyval.list) = NIL; }
+#line 46325 "gram.c"
+ break;
+
+ case 1900: /* Numeric: INT_P */
+#line 14034 "gram.y"
+ {
+ (yyval.typnam) = SystemTypeName("int4");
+ (yyval.typnam)->location = (yylsp[0]);
+ }
+#line 46334 "gram.c"
+ break;
+
+ case 1901: /* Numeric: INTEGER */
+#line 14039 "gram.y"
+ {
+ (yyval.typnam) = SystemTypeName("int4");
+ (yyval.typnam)->location = (yylsp[0]);
+ }
+#line 46343 "gram.c"
+ break;
+
+ case 1902: /* Numeric: SMALLINT */
+#line 14044 "gram.y"
+ {
+ (yyval.typnam) = SystemTypeName("int2");
+ (yyval.typnam)->location = (yylsp[0]);
+ }
+#line 46352 "gram.c"
+ break;
+
+ case 1903: /* Numeric: BIGINT */
+#line 14049 "gram.y"
+ {
+ (yyval.typnam) = SystemTypeName("int8");
+ (yyval.typnam)->location = (yylsp[0]);
+ }
+#line 46361 "gram.c"
+ break;
+
+ case 1904: /* Numeric: REAL */
+#line 14054 "gram.y"
+ {
+ (yyval.typnam) = SystemTypeName("float4");
+ (yyval.typnam)->location = (yylsp[0]);
+ }
+#line 46370 "gram.c"
+ break;
+
+ case 1905: /* Numeric: FLOAT_P opt_float */
+#line 14059 "gram.y"
+ {
+ (yyval.typnam) = (yyvsp[0].typnam);
+ (yyval.typnam)->location = (yylsp[-1]);
+ }
+#line 46379 "gram.c"
+ break;
+
+ case 1906: /* Numeric: DOUBLE_P PRECISION */
+#line 14064 "gram.y"
+ {
+ (yyval.typnam) = SystemTypeName("float8");
+ (yyval.typnam)->location = (yylsp[-1]);
+ }
+#line 46388 "gram.c"
+ break;
+
+ case 1907: /* Numeric: DECIMAL_P opt_type_modifiers */
+#line 14069 "gram.y"
+ {
+ (yyval.typnam) = SystemTypeName("numeric");
+ (yyval.typnam)->typmods = (yyvsp[0].list);
+ (yyval.typnam)->location = (yylsp[-1]);
+ }
+#line 46398 "gram.c"
+ break;
+
+ case 1908: /* Numeric: DEC opt_type_modifiers */
+#line 14075 "gram.y"
+ {
+ (yyval.typnam) = SystemTypeName("numeric");
+ (yyval.typnam)->typmods = (yyvsp[0].list);
+ (yyval.typnam)->location = (yylsp[-1]);
+ }
+#line 46408 "gram.c"
+ break;
+
+ case 1909: /* Numeric: NUMERIC opt_type_modifiers */
+#line 14081 "gram.y"
+ {
+ (yyval.typnam) = SystemTypeName("numeric");
+ (yyval.typnam)->typmods = (yyvsp[0].list);
+ (yyval.typnam)->location = (yylsp[-1]);
+ }
+#line 46418 "gram.c"
+ break;
+
+ case 1910: /* Numeric: BOOLEAN_P */
+#line 14087 "gram.y"
+ {
+ (yyval.typnam) = SystemTypeName("bool");
+ (yyval.typnam)->location = (yylsp[0]);
+ }
+#line 46427 "gram.c"
+ break;
+
+ case 1911: /* opt_float: '(' Iconst ')' */
+#line 14094 "gram.y"
+ {
+ /*
+ * 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 46452 "gram.c"
+ break;
+
+ case 1912: /* opt_float: %empty */
+#line 14115 "gram.y"
+ {
+ (yyval.typnam) = SystemTypeName("float8");
+ }
+#line 46460 "gram.c"
+ break;
+
+ case 1913: /* Bit: BitWithLength */
+#line 14125 "gram.y"
+ {
+ (yyval.typnam) = (yyvsp[0].typnam);
+ }
+#line 46468 "gram.c"
+ break;
+
+ case 1914: /* Bit: BitWithoutLength */
+#line 14129 "gram.y"
+ {
+ (yyval.typnam) = (yyvsp[0].typnam);
+ }
+#line 46476 "gram.c"
+ break;
+
+ case 1915: /* ConstBit: BitWithLength */
+#line 14137 "gram.y"
+ {
+ (yyval.typnam) = (yyvsp[0].typnam);
+ }
+#line 46484 "gram.c"
+ break;
+
+ case 1916: /* ConstBit: BitWithoutLength */
+#line 14141 "gram.y"
+ {
+ (yyval.typnam) = (yyvsp[0].typnam);
+ (yyval.typnam)->typmods = NIL;
+ }
+#line 46493 "gram.c"
+ break;
+
+ case 1917: /* BitWithLength: BIT opt_varying '(' expr_list ')' */
+#line 14149 "gram.y"
+ {
+ char *typname;
+
+ typname = (yyvsp[-3].boolean) ? "varbit" : "bit";
+ (yyval.typnam) = SystemTypeName(typname);
+ (yyval.typnam)->typmods = (yyvsp[-1].list);
+ (yyval.typnam)->location = (yylsp[-4]);
+ }
+#line 46506 "gram.c"
+ break;
+
+ case 1918: /* BitWithoutLength: BIT opt_varying */
+#line 14161 "gram.y"
+ {
+ /* 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 46524 "gram.c"
+ break;
+
+ case 1919: /* Character: CharacterWithLength */
+#line 14182 "gram.y"
+ {
+ (yyval.typnam) = (yyvsp[0].typnam);
+ }
+#line 46532 "gram.c"
+ break;
+
+ case 1920: /* Character: CharacterWithoutLength */
+#line 14186 "gram.y"
+ {
+ (yyval.typnam) = (yyvsp[0].typnam);
+ }
+#line 46540 "gram.c"
+ break;
+
+ case 1921: /* ConstCharacter: CharacterWithLength */
+#line 14192 "gram.y"
+ {
+ (yyval.typnam) = (yyvsp[0].typnam);
+ }
+#line 46548 "gram.c"
+ break;
+
+ case 1922: /* ConstCharacter: CharacterWithoutLength */
+#line 14196 "gram.y"
+ {
+ /* 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 46563 "gram.c"
+ break;
+
+ case 1923: /* CharacterWithLength: character '(' Iconst ')' */
+#line 14209 "gram.y"
+ {
+ (yyval.typnam) = SystemTypeName((yyvsp[-3].str));
+ (yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[-1].ival), (yylsp[-1])));
+ (yyval.typnam)->location = (yylsp[-3]);
+ }
+#line 46573 "gram.c"
+ break;
+
+ case 1924: /* CharacterWithoutLength: character */
+#line 14217 "gram.y"
+ {
+ (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 46585 "gram.c"
+ break;
+
+ case 1925: /* character: CHARACTER opt_varying */
+#line 14227 "gram.y"
+ { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
+#line 46591 "gram.c"
+ break;
+
+ case 1926: /* character: CHAR_P opt_varying */
+#line 14229 "gram.y"
+ { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
+#line 46597 "gram.c"
+ break;
+
+ case 1927: /* character: VARCHAR */
+#line 14231 "gram.y"
+ { (yyval.str) = "varchar"; }
+#line 46603 "gram.c"
+ break;
+
+ case 1928: /* character: NATIONAL CHARACTER opt_varying */
+#line 14233 "gram.y"
+ { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
+#line 46609 "gram.c"
+ break;
+
+ case 1929: /* character: NATIONAL CHAR_P opt_varying */
+#line 14235 "gram.y"
+ { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
+#line 46615 "gram.c"
+ break;
+
+ case 1930: /* character: NCHAR opt_varying */
+#line 14237 "gram.y"
+ { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
+#line 46621 "gram.c"
+ break;
+
+ case 1931: /* opt_varying: VARYING */
+#line 14241 "gram.y"
+ { (yyval.boolean) = true; }
+#line 46627 "gram.c"
+ break;
+
+ case 1932: /* opt_varying: %empty */
+#line 14242 "gram.y"
+ { (yyval.boolean) = false; }
+#line 46633 "gram.c"
+ break;
+
+ case 1933: /* ConstDatetime: TIMESTAMP '(' Iconst ')' opt_timezone */
+#line 14250 "gram.y"
+ {
+ 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 46646 "gram.c"
+ break;
+
+ case 1934: /* ConstDatetime: TIMESTAMP opt_timezone */
+#line 14259 "gram.y"
+ {
+ if ((yyvsp[0].boolean))
+ (yyval.typnam) = SystemTypeName("timestamptz");
+ else
+ (yyval.typnam) = SystemTypeName("timestamp");
+ (yyval.typnam)->location = (yylsp[-1]);
+ }
+#line 46658 "gram.c"
+ break;
+
+ case 1935: /* ConstDatetime: TIME '(' Iconst ')' opt_timezone */
+#line 14267 "gram.y"
+ {
+ 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 46671 "gram.c"
+ break;
+
+ case 1936: /* ConstDatetime: TIME opt_timezone */
+#line 14276 "gram.y"
+ {
+ if ((yyvsp[0].boolean))
+ (yyval.typnam) = SystemTypeName("timetz");
+ else
+ (yyval.typnam) = SystemTypeName("time");
+ (yyval.typnam)->location = (yylsp[-1]);
+ }
+#line 46683 "gram.c"
+ break;
+
+ case 1937: /* ConstInterval: INTERVAL */
+#line 14287 "gram.y"
+ {
+ (yyval.typnam) = SystemTypeName("interval");
+ (yyval.typnam)->location = (yylsp[0]);
+ }
+#line 46692 "gram.c"
+ break;
+
+ case 1938: /* opt_timezone: WITH_LA TIME ZONE */
+#line 14294 "gram.y"
+ { (yyval.boolean) = true; }
+#line 46698 "gram.c"
+ break;
+
+ case 1939: /* opt_timezone: WITHOUT_LA TIME ZONE */
+#line 14295 "gram.y"
+ { (yyval.boolean) = false; }
+#line 46704 "gram.c"
+ break;
+
+ case 1940: /* opt_timezone: %empty */
+#line 14296 "gram.y"
+ { (yyval.boolean) = false; }
+#line 46710 "gram.c"
+ break;
+
+ case 1941: /* opt_interval: YEAR_P */
+#line 14301 "gram.y"
+ { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(YEAR), (yylsp[0]))); }
+#line 46716 "gram.c"
+ break;
+
+ case 1942: /* opt_interval: MONTH_P */
+#line 14303 "gram.y"
+ { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MONTH), (yylsp[0]))); }
+#line 46722 "gram.c"
+ break;
+
+ case 1943: /* opt_interval: DAY_P */
+#line 14305 "gram.y"
+ { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY), (yylsp[0]))); }
+#line 46728 "gram.c"
+ break;
+
+ case 1944: /* opt_interval: HOUR_P */
+#line 14307 "gram.y"
+ { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(HOUR), (yylsp[0]))); }
+#line 46734 "gram.c"
+ break;
+
+ case 1945: /* opt_interval: MINUTE_P */
+#line 14309 "gram.y"
+ { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MINUTE), (yylsp[0]))); }
+#line 46740 "gram.c"
+ break;
+
+ case 1946: /* opt_interval: interval_second */
+#line 14311 "gram.y"
+ { (yyval.list) = (yyvsp[0].list); }
+#line 46746 "gram.c"
+ break;
+
+ case 1947: /* opt_interval: YEAR_P TO MONTH_P */
+#line 14313 "gram.y"
+ {
+ (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(YEAR) |
+ INTERVAL_MASK(MONTH), (yylsp[-2])));
+ }
+#line 46755 "gram.c"
+ break;
+
+ case 1948: /* opt_interval: DAY_P TO HOUR_P */
+#line 14318 "gram.y"
+ {
+ (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY) |
+ INTERVAL_MASK(HOUR), (yylsp[-2])));
+ }
+#line 46764 "gram.c"
+ break;
+
+ case 1949: /* opt_interval: DAY_P TO MINUTE_P */
+#line 14323 "gram.y"
+ {
+ (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY) |
+ INTERVAL_MASK(HOUR) |
+ INTERVAL_MASK(MINUTE), (yylsp[-2])));
+ }
+#line 46774 "gram.c"
+ break;
+
+ case 1950: /* opt_interval: DAY_P TO interval_second */
+#line 14329 "gram.y"
+ {
+ (yyval.list) = (yyvsp[0].list);
+ linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(DAY) |
+ INTERVAL_MASK(HOUR) |
+ INTERVAL_MASK(MINUTE) |
+ INTERVAL_MASK(SECOND), (yylsp[-2]));
+ }
+#line 46786 "gram.c"
+ break;
+
+ case 1951: /* opt_interval: HOUR_P TO MINUTE_P */
+#line 14337 "gram.y"
+ {
+ (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(HOUR) |
+ INTERVAL_MASK(MINUTE), (yylsp[-2])));
+ }
+#line 46795 "gram.c"
+ break;
+
+ case 1952: /* opt_interval: HOUR_P TO interval_second */
+#line 14342 "gram.y"
+ {
+ (yyval.list) = (yyvsp[0].list);
+ linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(HOUR) |
+ INTERVAL_MASK(MINUTE) |
+ INTERVAL_MASK(SECOND), (yylsp[-2]));
+ }
+#line 46806 "gram.c"
+ break;
+
+ case 1953: /* opt_interval: MINUTE_P TO interval_second */
+#line 14349 "gram.y"
+ {
+ (yyval.list) = (yyvsp[0].list);
+ linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(MINUTE) |
+ INTERVAL_MASK(SECOND), (yylsp[-2]));
+ }
+#line 46816 "gram.c"
+ break;
+
+ case 1954: /* opt_interval: %empty */
+#line 14355 "gram.y"
+ { (yyval.list) = NIL; }
+#line 46822 "gram.c"
+ break;
+
+ case 1955: /* interval_second: SECOND_P */
+#line 14360 "gram.y"
+ {
+ (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(SECOND), (yylsp[0])));
+ }
+#line 46830 "gram.c"
+ break;
+
+ case 1956: /* interval_second: SECOND_P '(' Iconst ')' */
+#line 14364 "gram.y"
+ {
+ (yyval.list) = list_make2(makeIntConst(INTERVAL_MASK(SECOND), (yylsp[-3])),
+ makeIntConst((yyvsp[-1].ival), (yylsp[-1])));
+ }
+#line 46839 "gram.c"
+ break;
+
+ case 1957: /* a_expr: c_expr */
+#line 14399 "gram.y"
+ { (yyval.node) = (yyvsp[0].node); }
+#line 46845 "gram.c"
+ break;
+
+ case 1958: /* a_expr: a_expr TYPECAST Typename */
+#line 14401 "gram.y"
+ { (yyval.node) = makeTypeCast((yyvsp[-2].node), (yyvsp[0].typnam), (yylsp[-1])); }
+#line 46851 "gram.c"
+ break;
+
+ case 1959: /* a_expr: a_expr COLLATE any_name */
+#line 14403 "gram.y"
+ {
+ CollateClause *n = makeNode(CollateClause);
+
+ n->arg = (yyvsp[-2].node);
+ n->collname = (yyvsp[0].list);
+ n->location = (yylsp[-1]);
+ (yyval.node) = (Node *) n;
+ }
+#line 46864 "gram.c"
+ break;
+
+ case 1960: /* a_expr: a_expr AT TIME ZONE a_expr */
+#line 14412 "gram.y"
+ {
+ (yyval.node) = (Node *) makeFuncCall(SystemFuncName("timezone"),
+ list_make2((yyvsp[0].node), (yyvsp[-4].node)),
+ COERCE_SQL_SYNTAX,
+ (yylsp[-3]));
+ }
+#line 46875 "gram.c"
+ break;
+
+ case 1961: /* a_expr: '+' a_expr */
+#line 14428 "gram.y"
+ { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[0].node), (yylsp[-1])); }
+#line 46881 "gram.c"
+ break;
+
+ case 1962: /* a_expr: '-' a_expr */
+#line 14430 "gram.y"
+ { (yyval.node) = doNegate((yyvsp[0].node), (yylsp[-1])); }
+#line 46887 "gram.c"
+ break;
+
+ case 1963: /* a_expr: a_expr '+' a_expr */
+#line 14432 "gram.y"
+ { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
+#line 46893 "gram.c"
+ break;
+
+ case 1964: /* a_expr: a_expr '-' a_expr */
+#line 14434 "gram.y"
+ { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "-", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
+#line 46899 "gram.c"
+ break;
+
+ case 1965: /* a_expr: a_expr '*' a_expr */
+#line 14436 "gram.y"
+ { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "*", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
+#line 46905 "gram.c"
+ break;
+
+ case 1966: /* a_expr: a_expr '/' a_expr */
+#line 14438 "gram.y"
+ { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "/", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
+#line 46911 "gram.c"
+ break;
+
+ case 1967: /* a_expr: a_expr '%' a_expr */
+#line 14440 "gram.y"
+ { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
+#line 46917 "gram.c"
+ break;
+
+ case 1968: /* a_expr: a_expr '^' a_expr */
+#line 14442 "gram.y"
+ { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
+#line 46923 "gram.c"
+ break;
+
+ case 1969: /* a_expr: a_expr '<' a_expr */
+#line 14444 "gram.y"
+ { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
+#line 46929 "gram.c"
+ break;
+
+ case 1970: /* a_expr: a_expr '>' a_expr */
+#line 14446 "gram.y"
+ { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
+#line 46935 "gram.c"
+ break;
+
+ case 1971: /* a_expr: a_expr '=' a_expr */
+#line 14448 "gram.y"
+ { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
+#line 46941 "gram.c"
+ break;
+
+ case 1972: /* a_expr: a_expr LESS_EQUALS a_expr */
+#line 14450 "gram.y"
+ { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
+#line 46947 "gram.c"
+ break;
+
+ case 1973: /* a_expr: a_expr GREATER_EQUALS a_expr */
+#line 14452 "gram.y"
+ { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
+#line 46953 "gram.c"
+ break;
+
+ case 1974: /* a_expr: a_expr NOT_EQUALS a_expr */
+#line 14454 "gram.y"
+ { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<>", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
+#line 46959 "gram.c"
+ break;
+
+ case 1975: /* a_expr: a_expr qual_Op a_expr */
+#line 14457 "gram.y"
+ { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
+#line 46965 "gram.c"
+ break;
+
+ case 1976: /* a_expr: qual_Op a_expr */
+#line 14459 "gram.y"
+ { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), NULL, (yyvsp[0].node), (yylsp[-1])); }
+#line 46971 "gram.c"
+ break;
+
+ case 1977: /* a_expr: a_expr AND a_expr */
+#line 14462 "gram.y"
+ { (yyval.node) = makeAndExpr((yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
+#line 46977 "gram.c"
+ break;
+
+ case 1978: /* a_expr: a_expr OR a_expr */
+#line 14464 "gram.y"
+ { (yyval.node) = makeOrExpr((yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
+#line 46983 "gram.c"
+ break;
+
+ case 1979: /* a_expr: NOT a_expr */
+#line 14466 "gram.y"
+ { (yyval.node) = makeNotExpr((yyvsp[0].node), (yylsp[-1])); }
+#line 46989 "gram.c"
+ break;
+
+ case 1980: /* a_expr: NOT_LA a_expr */
+#line 14468 "gram.y"
+ { (yyval.node) = makeNotExpr((yyvsp[0].node), (yylsp[-1])); }
+#line 46995 "gram.c"
+ break;
+
+ case 1981: /* a_expr: a_expr LIKE a_expr */
+#line 14471 "gram.y"
+ {
+ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "~~",
+ (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1]));
+ }
+#line 47004 "gram.c"
+ break;
+
+ case 1982: /* a_expr: a_expr LIKE a_expr ESCAPE a_expr */
+#line 14476 "gram.y"
+ {
+ FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
+ list_make2((yyvsp[-2].node), (yyvsp[0].node)),
+ COERCE_EXPLICIT_CALL,
+ (yylsp[-3]));
+ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "~~",
+ (yyvsp[-4].node), (Node *) n, (yylsp[-3]));
+ }
+#line 47017 "gram.c"
+ break;
+
+ case 1983: /* a_expr: a_expr NOT_LA LIKE a_expr */
+#line 14485 "gram.y"
+ {
+ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "!~~",
+ (yyvsp[-3].node), (yyvsp[0].node), (yylsp[-2]));
+ }
+#line 47026 "gram.c"
+ break;
+
+ case 1984: /* a_expr: a_expr NOT_LA LIKE a_expr ESCAPE a_expr */
+#line 14490 "gram.y"
+ {
+ FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
+ list_make2((yyvsp[-2].node), (yyvsp[0].node)),
+ COERCE_EXPLICIT_CALL,
+ (yylsp[-4]));
+ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "!~~",
+ (yyvsp[-5].node), (Node *) n, (yylsp[-4]));
+ }
+#line 47039 "gram.c"
+ break;
+
+ case 1985: /* a_expr: a_expr ILIKE a_expr */
+#line 14499 "gram.y"
+ {
+ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "~~*",
+ (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1]));
+ }
+#line 47048 "gram.c"
+ break;
+
+ case 1986: /* a_expr: a_expr ILIKE a_expr ESCAPE a_expr */
+#line 14504 "gram.y"
+ {
+ FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
+ list_make2((yyvsp[-2].node), (yyvsp[0].node)),
+ COERCE_EXPLICIT_CALL,
+ (yylsp[-3]));
+ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "~~*",
+ (yyvsp[-4].node), (Node *) n, (yylsp[-3]));
+ }
+#line 47061 "gram.c"
+ break;
+
+ case 1987: /* a_expr: a_expr NOT_LA ILIKE a_expr */
+#line 14513 "gram.y"
+ {
+ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "!~~*",
+ (yyvsp[-3].node), (yyvsp[0].node), (yylsp[-2]));
+ }
+#line 47070 "gram.c"
+ break;
+
+ case 1988: /* a_expr: a_expr NOT_LA ILIKE a_expr ESCAPE a_expr */
+#line 14518 "gram.y"
+ {
+ FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
+ list_make2((yyvsp[-2].node), (yyvsp[0].node)),
+ COERCE_EXPLICIT_CALL,
+ (yylsp[-4]));
+ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "!~~*",
+ (yyvsp[-5].node), (Node *) n, (yylsp[-4]));
+ }
+#line 47083 "gram.c"
+ break;
+
+ case 1989: /* a_expr: a_expr SIMILAR TO a_expr */
+#line 14528 "gram.y"
+ {
+ FuncCall *n = makeFuncCall(SystemFuncName("similar_to_escape"),
+ list_make1((yyvsp[0].node)),
+ COERCE_EXPLICIT_CALL,
+ (yylsp[-2]));
+ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "~",
+ (yyvsp[-3].node), (Node *) n, (yylsp[-2]));
+ }
+#line 47096 "gram.c"
+ break;
+
+ case 1990: /* a_expr: a_expr SIMILAR TO a_expr ESCAPE a_expr */
+#line 14537 "gram.y"
+ {
+ FuncCall *n = makeFuncCall(SystemFuncName("similar_to_escape"),
+ list_make2((yyvsp[-2].node), (yyvsp[0].node)),
+ COERCE_EXPLICIT_CALL,
+ (yylsp[-4]));
+ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "~",
+ (yyvsp[-5].node), (Node *) n, (yylsp[-4]));
+ }
+#line 47109 "gram.c"
+ break;
+
+ case 1991: /* a_expr: a_expr NOT_LA SIMILAR TO a_expr */
+#line 14546 "gram.y"
+ {
+ FuncCall *n = makeFuncCall(SystemFuncName("similar_to_escape"),
+ list_make1((yyvsp[0].node)),
+ COERCE_EXPLICIT_CALL,
+ (yylsp[-3]));
+ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "!~",
+ (yyvsp[-4].node), (Node *) n, (yylsp[-3]));
+ }
+#line 47122 "gram.c"
+ break;
+
+ case 1992: /* a_expr: a_expr NOT_LA SIMILAR TO a_expr ESCAPE a_expr */
+#line 14555 "gram.y"
+ {
+ FuncCall *n = makeFuncCall(SystemFuncName("similar_to_escape"),
+ list_make2((yyvsp[-2].node), (yyvsp[0].node)),
+ COERCE_EXPLICIT_CALL,
+ (yylsp[-5]));
+ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "!~",
+ (yyvsp[-6].node), (Node *) n, (yylsp[-5]));
+ }
+#line 47135 "gram.c"
+ break;
+
+ case 1993: /* a_expr: a_expr IS NULL_P */
+#line 14574 "gram.y"
+ {
+ NullTest *n = makeNode(NullTest);
+
+ n->arg = (Expr *) (yyvsp[-2].node);
+ n->nulltesttype = IS_NULL;
+ n->location = (yylsp[-1]);
+ (yyval.node) = (Node *) n;
+ }
+#line 47148 "gram.c"
+ break;
+
+ case 1994: /* a_expr: a_expr ISNULL */
+#line 14583 "gram.y"
+ {
+ NullTest *n = makeNode(NullTest);
+
+ n->arg = (Expr *) (yyvsp[-1].node);
+ n->nulltesttype = IS_NULL;
+ n->location = (yylsp[0]);
+ (yyval.node) = (Node *) n;
+ }
+#line 47161 "gram.c"
+ break;
+
+ case 1995: /* a_expr: a_expr IS NOT NULL_P */
+#line 14592 "gram.y"
+ {
+ NullTest *n = makeNode(NullTest);
+
+ n->arg = (Expr *) (yyvsp[-3].node);
+ n->nulltesttype = IS_NOT_NULL;
+ n->location = (yylsp[-2]);
+ (yyval.node) = (Node *) n;
+ }
+#line 47174 "gram.c"
+ break;
+
+ case 1996: /* a_expr: a_expr NOTNULL */
+#line 14601 "gram.y"
+ {
+ NullTest *n = makeNode(NullTest);
+
+ n->arg = (Expr *) (yyvsp[-1].node);
+ n->nulltesttype = IS_NOT_NULL;
+ n->location = (yylsp[0]);
+ (yyval.node) = (Node *) n;
+ }
+#line 47187 "gram.c"
+ break;
+
+ case 1997: /* a_expr: row OVERLAPS row */
+#line 14610 "gram.y"
+ {
+ 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)),
+ COERCE_SQL_SYNTAX,
+ (yylsp[-1]));
+ }
+#line 47208 "gram.c"
+ break;
+
+ case 1998: /* a_expr: a_expr IS TRUE_P */
+#line 14627 "gram.y"
+ {
+ BooleanTest *b = makeNode(BooleanTest);
+
+ b->arg = (Expr *) (yyvsp[-2].node);
+ b->booltesttype = IS_TRUE;
+ b->location = (yylsp[-1]);
+ (yyval.node) = (Node *) b;
+ }
+#line 47221 "gram.c"
+ break;
+
+ case 1999: /* a_expr: a_expr IS NOT TRUE_P */
+#line 14636 "gram.y"
+ {
+ BooleanTest *b = makeNode(BooleanTest);
+
+ b->arg = (Expr *) (yyvsp[-3].node);
+ b->booltesttype = IS_NOT_TRUE;
+ b->location = (yylsp[-2]);
+ (yyval.node) = (Node *) b;
+ }
+#line 47234 "gram.c"
+ break;
+
+ case 2000: /* a_expr: a_expr IS FALSE_P */
+#line 14645 "gram.y"
+ {
+ BooleanTest *b = makeNode(BooleanTest);
+
+ b->arg = (Expr *) (yyvsp[-2].node);
+ b->booltesttype = IS_FALSE;
+ b->location = (yylsp[-1]);
+ (yyval.node) = (Node *) b;
+ }
+#line 47247 "gram.c"
+ break;
+
+ case 2001: /* a_expr: a_expr IS NOT FALSE_P */
+#line 14654 "gram.y"
+ {
+ BooleanTest *b = makeNode(BooleanTest);
+
+ b->arg = (Expr *) (yyvsp[-3].node);
+ b->booltesttype = IS_NOT_FALSE;
+ b->location = (yylsp[-2]);
+ (yyval.node) = (Node *) b;
+ }
+#line 47260 "gram.c"
+ break;
+
+ case 2002: /* a_expr: a_expr IS UNKNOWN */
+#line 14663 "gram.y"
+ {
+ BooleanTest *b = makeNode(BooleanTest);
+
+ b->arg = (Expr *) (yyvsp[-2].node);
+ b->booltesttype = IS_UNKNOWN;
+ b->location = (yylsp[-1]);
+ (yyval.node) = (Node *) b;
+ }
+#line 47273 "gram.c"
+ break;
+
+ case 2003: /* a_expr: a_expr IS NOT UNKNOWN */
+#line 14672 "gram.y"
+ {
+ BooleanTest *b = makeNode(BooleanTest);
+
+ b->arg = (Expr *) (yyvsp[-3].node);
+ b->booltesttype = IS_NOT_UNKNOWN;
+ b->location = (yylsp[-2]);
+ (yyval.node) = (Node *) b;
+ }
+#line 47286 "gram.c"
+ break;
+
+ case 2004: /* a_expr: a_expr IS DISTINCT FROM a_expr */
+#line 14681 "gram.y"
+ {
+ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", (yyvsp[-4].node), (yyvsp[0].node), (yylsp[-3]));
+ }
+#line 47294 "gram.c"
+ break;
+
+ case 2005: /* a_expr: a_expr IS NOT DISTINCT FROM a_expr */
+#line 14685 "gram.y"
+ {
+ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_DISTINCT, "=", (yyvsp[-5].node), (yyvsp[0].node), (yylsp[-4]));
+ }
+#line 47302 "gram.c"
+ break;
+
+ case 2006: /* a_expr: a_expr BETWEEN opt_asymmetric b_expr AND a_expr */
+#line 14689 "gram.y"
+ {
+ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_BETWEEN,
+ "BETWEEN",
+ (yyvsp[-5].node),
+ (Node *) list_make2((yyvsp[-2].node), (yyvsp[0].node)),
+ (yylsp[-4]));
+ }
+#line 47314 "gram.c"
+ break;
+
+ case 2007: /* a_expr: a_expr NOT_LA BETWEEN opt_asymmetric b_expr AND a_expr */
+#line 14697 "gram.y"
+ {
+ (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 47326 "gram.c"
+ break;
+
+ case 2008: /* a_expr: a_expr BETWEEN SYMMETRIC b_expr AND a_expr */
+#line 14705 "gram.y"
+ {
+ (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 47338 "gram.c"
+ break;
+
+ case 2009: /* a_expr: a_expr NOT_LA BETWEEN SYMMETRIC b_expr AND a_expr */
+#line 14713 "gram.y"
+ {
+ (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 47350 "gram.c"
+ break;
+
+ case 2010: /* a_expr: a_expr IN_P in_expr */
+#line 14721 "gram.y"
+ {
+ /* 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 47375 "gram.c"
+ break;
+
+ case 2011: /* a_expr: a_expr NOT_LA IN_P in_expr */
+#line 14742 "gram.y"
+ {
+ /* 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 47402 "gram.c"
+ break;
+
+ case 2012: /* a_expr: a_expr subquery_Op sub_type select_with_parens */
+#line 14765 "gram.y"
+ {
+ 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 47418 "gram.c"
+ break;
+
+ case 2013: /* a_expr: a_expr subquery_Op sub_type '(' a_expr ')' */
+#line 14777 "gram.y"
+ {
+ 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 47429 "gram.c"
+ break;
+
+ case 2014: /* a_expr: UNIQUE opt_unique_null_treatment select_with_parens */
+#line 14784 "gram.y"
+ {
+ /* 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[-2]))));
+ }
+#line 47449 "gram.c"
+ break;
+
+ case 2015: /* a_expr: a_expr IS DOCUMENT_P */
+#line 14800 "gram.y"
+ {
+ (yyval.node) = makeXmlExpr(IS_DOCUMENT, NULL, NIL,
+ list_make1((yyvsp[-2].node)), (yylsp[-1]));
+ }
+#line 47458 "gram.c"
+ break;
+
+ case 2016: /* a_expr: a_expr IS NOT DOCUMENT_P */
+#line 14805 "gram.y"
+ {
+ (yyval.node) = makeNotExpr(makeXmlExpr(IS_DOCUMENT, NULL, NIL,
+ list_make1((yyvsp[-3].node)), (yylsp[-2])),
+ (yylsp[-2]));
+ }
+#line 47468 "gram.c"
+ break;
+
+ case 2017: /* a_expr: a_expr IS NORMALIZED */
+#line 14811 "gram.y"
+ {
+ (yyval.node) = (Node *) makeFuncCall(SystemFuncName("is_normalized"),
+ list_make1((yyvsp[-2].node)),
+ COERCE_SQL_SYNTAX,
+ (yylsp[-1]));
+ }
+#line 47479 "gram.c"
+ break;
+
+ case 2018: /* a_expr: a_expr IS unicode_normal_form NORMALIZED */
+#line 14818 "gram.y"
+ {
+ (yyval.node) = (Node *) makeFuncCall(SystemFuncName("is_normalized"),
+ list_make2((yyvsp[-3].node), makeStringConst((yyvsp[-1].str), (yylsp[-1]))),
+ COERCE_SQL_SYNTAX,
+ (yylsp[-2]));
+ }
+#line 47490 "gram.c"
+ break;
+
+ case 2019: /* a_expr: a_expr IS NOT NORMALIZED */
+#line 14825 "gram.y"
+ {
+ (yyval.node) = makeNotExpr((Node *) makeFuncCall(SystemFuncName("is_normalized"),
+ list_make1((yyvsp[-3].node)),
+ COERCE_SQL_SYNTAX,
+ (yylsp[-2])),
+ (yylsp[-2]));
+ }
+#line 47502 "gram.c"
+ break;
+
+ case 2020: /* a_expr: a_expr IS NOT unicode_normal_form NORMALIZED */
+#line 14833 "gram.y"
+ {
+ (yyval.node) = makeNotExpr((Node *) makeFuncCall(SystemFuncName("is_normalized"),
+ list_make2((yyvsp[-4].node), makeStringConst((yyvsp[-1].str), (yylsp[-1]))),
+ COERCE_SQL_SYNTAX,
+ (yylsp[-3])),
+ (yylsp[-3]));
+ }
+#line 47514 "gram.c"
+ break;
+
+ case 2021: /* a_expr: a_expr IS json_predicate_type_constraint json_key_uniqueness_constraint_opt */
+#line 14842 "gram.y"
+ {
+ JsonFormat *format = makeJsonFormat(JS_FORMAT_DEFAULT, JS_ENC_DEFAULT, -1);
+
+ (yyval.node) = makeJsonIsPredicate((yyvsp[-3].node), format, (yyvsp[-1].ival), (yyvsp[0].boolean), (yylsp[-3]));
+ }
+#line 47524 "gram.c"
+ break;
+
+ case 2022: /* a_expr: a_expr IS NOT json_predicate_type_constraint json_key_uniqueness_constraint_opt */
+#line 14861 "gram.y"
+ {
+ JsonFormat *format = makeJsonFormat(JS_FORMAT_DEFAULT, JS_ENC_DEFAULT, -1);
+
+ (yyval.node) = makeNotExpr(makeJsonIsPredicate((yyvsp[-4].node), format, (yyvsp[-1].ival), (yyvsp[0].boolean), (yylsp[-4])), (yylsp[-4]));
+ }
+#line 47534 "gram.c"
+ break;
+
+ case 2023: /* a_expr: DEFAULT */
+#line 14879 "gram.y"
+ {
+ /*
+ * 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 47553 "gram.c"
+ break;
+
+ case 2024: /* b_expr: c_expr */
+#line 14905 "gram.y"
+ { (yyval.node) = (yyvsp[0].node); }
+#line 47559 "gram.c"
+ break;
+
+ case 2025: /* b_expr: b_expr TYPECAST Typename */
+#line 14907 "gram.y"
+ { (yyval.node) = makeTypeCast((yyvsp[-2].node), (yyvsp[0].typnam), (yylsp[-1])); }
+#line 47565 "gram.c"
+ break;
+
+ case 2026: /* b_expr: '+' b_expr */
+#line 14909 "gram.y"
+ { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[0].node), (yylsp[-1])); }
+#line 47571 "gram.c"
+ break;
+
+ case 2027: /* b_expr: '-' b_expr */
+#line 14911 "gram.y"
+ { (yyval.node) = doNegate((yyvsp[0].node), (yylsp[-1])); }
+#line 47577 "gram.c"
+ break;
+
+ case 2028: /* b_expr: b_expr '+' b_expr */
+#line 14913 "gram.y"
+ { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
+#line 47583 "gram.c"
+ break;
+
+ case 2029: /* b_expr: b_expr '-' b_expr */
+#line 14915 "gram.y"
+ { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "-", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
+#line 47589 "gram.c"
+ break;
+
+ case 2030: /* b_expr: b_expr '*' b_expr */
+#line 14917 "gram.y"
+ { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "*", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
+#line 47595 "gram.c"
+ break;
+
+ case 2031: /* b_expr: b_expr '/' b_expr */
+#line 14919 "gram.y"
+ { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "/", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
+#line 47601 "gram.c"
+ break;
+
+ case 2032: /* b_expr: b_expr '%' b_expr */
+#line 14921 "gram.y"
+ { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
+#line 47607 "gram.c"
+ break;
+
+ case 2033: /* b_expr: b_expr '^' b_expr */
+#line 14923 "gram.y"
+ { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
+#line 47613 "gram.c"
+ break;
+
+ case 2034: /* b_expr: b_expr '<' b_expr */
+#line 14925 "gram.y"
+ { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
+#line 47619 "gram.c"
+ break;
+
+ case 2035: /* b_expr: b_expr '>' b_expr */
+#line 14927 "gram.y"
+ { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
+#line 47625 "gram.c"
+ break;
+
+ case 2036: /* b_expr: b_expr '=' b_expr */
+#line 14929 "gram.y"
+ { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
+#line 47631 "gram.c"
+ break;
+
+ case 2037: /* b_expr: b_expr LESS_EQUALS b_expr */
+#line 14931 "gram.y"
+ { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
+#line 47637 "gram.c"
+ break;
+
+ case 2038: /* b_expr: b_expr GREATER_EQUALS b_expr */
+#line 14933 "gram.y"
+ { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
+#line 47643 "gram.c"
+ break;
+
+ case 2039: /* b_expr: b_expr NOT_EQUALS b_expr */
+#line 14935 "gram.y"
+ { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<>", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
+#line 47649 "gram.c"
+ break;
+
+ case 2040: /* b_expr: b_expr qual_Op b_expr */
+#line 14937 "gram.y"
+ { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
+#line 47655 "gram.c"
+ break;
+
+ case 2041: /* b_expr: qual_Op b_expr */
+#line 14939 "gram.y"
+ { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), NULL, (yyvsp[0].node), (yylsp[-1])); }
+#line 47661 "gram.c"
+ break;
+
+ case 2042: /* b_expr: b_expr IS DISTINCT FROM b_expr */
+#line 14941 "gram.y"
+ {
+ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", (yyvsp[-4].node), (yyvsp[0].node), (yylsp[-3]));
+ }
+#line 47669 "gram.c"
+ break;
+
+ case 2043: /* b_expr: b_expr IS NOT DISTINCT FROM b_expr */
+#line 14945 "gram.y"
+ {
+ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_DISTINCT, "=", (yyvsp[-5].node), (yyvsp[0].node), (yylsp[-4]));
+ }
+#line 47677 "gram.c"
+ break;
+
+ case 2044: /* b_expr: b_expr IS DOCUMENT_P */
+#line 14949 "gram.y"
+ {
+ (yyval.node) = makeXmlExpr(IS_DOCUMENT, NULL, NIL,
+ list_make1((yyvsp[-2].node)), (yylsp[-1]));
+ }
+#line 47686 "gram.c"
+ break;
+
+ case 2045: /* b_expr: b_expr IS NOT DOCUMENT_P */
+#line 14954 "gram.y"
+ {
+ (yyval.node) = makeNotExpr(makeXmlExpr(IS_DOCUMENT, NULL, NIL,
+ list_make1((yyvsp[-3].node)), (yylsp[-2])),
+ (yylsp[-2]));
+ }
+#line 47696 "gram.c"
+ break;
+
+ case 2046: /* c_expr: columnref */
+#line 14969 "gram.y"
+ { (yyval.node) = (yyvsp[0].node); }
+#line 47702 "gram.c"
+ break;
+
+ case 2047: /* c_expr: AexprConst */
+#line 14970 "gram.y"
+ { (yyval.node) = (yyvsp[0].node); }
+#line 47708 "gram.c"
+ break;
+
+ case 2048: /* c_expr: PARAM opt_indirection */
+#line 14972 "gram.y"
+ {
+ 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 47729 "gram.c"
+ break;
+
+ case 2049: /* c_expr: '(' a_expr ')' opt_indirection */
+#line 14989 "gram.y"
+ {
+ 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
+ (yyval.node) = (yyvsp[-2].node);
+ }
+#line 47746 "gram.c"
+ break;
+
+ case 2050: /* c_expr: case_expr */
+#line 15002 "gram.y"
+ { (yyval.node) = (yyvsp[0].node); }
+#line 47752 "gram.c"
+ break;
+
+ case 2051: /* c_expr: func_expr */
+#line 15004 "gram.y"
+ { (yyval.node) = (yyvsp[0].node); }
+#line 47758 "gram.c"
+ break;
+
+ case 2052: /* c_expr: select_with_parens */
+#line 15006 "gram.y"
+ {
+ 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 47774 "gram.c"
+ break;
+
+ case 2053: /* c_expr: select_with_parens indirection */
+#line 15018 "gram.y"
+ {
+ /*
+ * 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 47803 "gram.c"
+ break;
+
+ case 2054: /* c_expr: EXISTS select_with_parens */
+#line 15043 "gram.y"
+ {
+ 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 47819 "gram.c"
+ break;
+
+ case 2055: /* c_expr: ARRAY select_with_parens */
+#line 15055 "gram.y"
+ {
+ 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 47835 "gram.c"
+ break;
+
+ case 2056: /* c_expr: ARRAY array_expr */
+#line 15067 "gram.y"
+ {
+ 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 47847 "gram.c"
+ break;
+
+ case 2057: /* c_expr: explicit_row */
+#line 15075 "gram.y"
+ {
+ 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 47862 "gram.c"
+ break;
+
+ case 2058: /* c_expr: implicit_row */
+#line 15086 "gram.y"
+ {
+ 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 47877 "gram.c"
+ break;
+
+ case 2059: /* c_expr: GROUPING '(' expr_list ')' */
+#line 15097 "gram.y"
+ {
+ GroupingFunc *g = makeNode(GroupingFunc);
+
+ g->args = (yyvsp[-1].list);
+ g->location = (yylsp[-3]);
+ (yyval.node) = (Node *) g;
+ }
+#line 47889 "gram.c"
+ break;
+
+ case 2060: /* func_application: func_name '(' ')' */
+#line 15107 "gram.y"
+ {
+ (yyval.node) = (Node *) makeFuncCall((yyvsp[-2].list), NIL,
+ COERCE_EXPLICIT_CALL,
+ (yylsp[-2]));
+ }
+#line 47899 "gram.c"
+ break;
+
+ case 2061: /* func_application: func_name '(' func_arg_list opt_sort_clause ')' */
+#line 15113 "gram.y"
+ {
+ FuncCall *n = makeFuncCall((yyvsp[-4].list), (yyvsp[-2].list),
+ COERCE_EXPLICIT_CALL,
+ (yylsp[-4]));
+
+ n->agg_order = (yyvsp[-1].list);
+ (yyval.node) = (Node *) n;
+ }
+#line 47912 "gram.c"
+ break;
+
+ case 2062: /* func_application: func_name '(' VARIADIC func_arg_expr opt_sort_clause ')' */
+#line 15122 "gram.y"
+ {
+ FuncCall *n = makeFuncCall((yyvsp[-5].list), list_make1((yyvsp[-2].node)),
+ COERCE_EXPLICIT_CALL,
+ (yylsp[-5]));
+
+ n->func_variadic = true;
+ n->agg_order = (yyvsp[-1].list);
+ (yyval.node) = (Node *) n;
+ }
+#line 47926 "gram.c"
+ break;
+
+ case 2063: /* func_application: func_name '(' func_arg_list ',' VARIADIC func_arg_expr opt_sort_clause ')' */
+#line 15132 "gram.y"
+ {
+ FuncCall *n = makeFuncCall((yyvsp[-7].list), lappend((yyvsp[-5].list), (yyvsp[-2].node)),
+ COERCE_EXPLICIT_CALL,
+ (yylsp[-7]));
+
+ n->func_variadic = true;
+ n->agg_order = (yyvsp[-1].list);
+ (yyval.node) = (Node *) n;
+ }
+#line 47940 "gram.c"
+ break;
+
+ case 2064: /* func_application: func_name '(' ALL func_arg_list opt_sort_clause ')' */
+#line 15142 "gram.y"
+ {
+ FuncCall *n = makeFuncCall((yyvsp[-5].list), (yyvsp[-2].list),
+ COERCE_EXPLICIT_CALL,
+ (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 47957 "gram.c"
+ break;
+
+ case 2065: /* func_application: func_name '(' DISTINCT func_arg_list opt_sort_clause ')' */
+#line 15155 "gram.y"
+ {
+ FuncCall *n = makeFuncCall((yyvsp[-5].list), (yyvsp[-2].list),
+ COERCE_EXPLICIT_CALL,
+ (yylsp[-5]));
+
+ n->agg_order = (yyvsp[-1].list);
+ n->agg_distinct = true;
+ (yyval.node) = (Node *) n;
+ }
+#line 47971 "gram.c"
+ break;
+
+ case 2066: /* func_application: func_name '(' '*' ')' */
+#line 15165 "gram.y"
+ {
+ /*
+ * 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,
+ COERCE_EXPLICIT_CALL,
+ (yylsp[-3]));
+
+ n->agg_star = true;
+ (yyval.node) = (Node *) n;
+ }
+#line 47994 "gram.c"
+ break;
+
+ case 2067: /* func_expr: func_application within_group_clause filter_clause over_clause */
+#line 15196 "gram.y"
+ {
+ 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 48034 "gram.c"
+ break;
+
+ case 2068: /* func_expr: json_aggregate_func filter_clause over_clause */
+#line 15232 "gram.y"
+ {
+ JsonAggConstructor *n = IsA((yyvsp[-2].node), JsonObjectAgg) ?
+ ((JsonObjectAgg *) (yyvsp[-2].node))->constructor :
+ ((JsonArrayAgg *) (yyvsp[-2].node))->constructor;
+
+ n->agg_filter = (yyvsp[-1].node);
+ n->over = (yyvsp[0].windef);
+ (yyval.node) = (Node *) (yyvsp[-2].node);
+ }
+#line 48048 "gram.c"
+ break;
+
+ case 2069: /* func_expr: func_expr_common_subexpr */
+#line 15242 "gram.y"
+ { (yyval.node) = (yyvsp[0].node); }
+#line 48054 "gram.c"
+ break;
+
+ case 2070: /* func_expr_windowless: func_application */
+#line 15252 "gram.y"
+ { (yyval.node) = (yyvsp[0].node); }
+#line 48060 "gram.c"
+ break;
+
+ case 2071: /* func_expr_windowless: func_expr_common_subexpr */
+#line 15253 "gram.y"
+ { (yyval.node) = (yyvsp[0].node); }
+#line 48066 "gram.c"
+ break;
+
+ case 2072: /* func_expr_windowless: json_aggregate_func */
+#line 15254 "gram.y"
+ { (yyval.node) = (yyvsp[0].node); }
+#line 48072 "gram.c"
+ break;
+
+ case 2073: /* func_expr_common_subexpr: COLLATION FOR '(' a_expr ')' */
+#line 15262 "gram.y"
+ {
+ (yyval.node) = (Node *) makeFuncCall(SystemFuncName("pg_collation_for"),
+ list_make1((yyvsp[-1].node)),
+ COERCE_SQL_SYNTAX,
+ (yylsp[-4]));
+ }
+#line 48083 "gram.c"
+ break;
+
+ case 2074: /* func_expr_common_subexpr: CURRENT_DATE */
+#line 15269 "gram.y"
+ {
+ (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_DATE, -1, (yylsp[0]));
+ }
+#line 48091 "gram.c"
+ break;
+
+ case 2075: /* func_expr_common_subexpr: CURRENT_TIME */
+#line 15273 "gram.y"
+ {
+ (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIME, -1, (yylsp[0]));
+ }
+#line 48099 "gram.c"
+ break;
+
+ case 2076: /* func_expr_common_subexpr: CURRENT_TIME '(' Iconst ')' */
+#line 15277 "gram.y"
+ {
+ (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIME_N, (yyvsp[-1].ival), (yylsp[-3]));
+ }
+#line 48107 "gram.c"
+ break;
+
+ case 2077: /* func_expr_common_subexpr: CURRENT_TIMESTAMP */
+#line 15281 "gram.y"
+ {
+ (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIMESTAMP, -1, (yylsp[0]));
+ }
+#line 48115 "gram.c"
+ break;
+
+ case 2078: /* func_expr_common_subexpr: CURRENT_TIMESTAMP '(' Iconst ')' */
+#line 15285 "gram.y"
+ {
+ (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIMESTAMP_N, (yyvsp[-1].ival), (yylsp[-3]));
+ }
+#line 48123 "gram.c"
+ break;
+
+ case 2079: /* func_expr_common_subexpr: LOCALTIME */
+#line 15289 "gram.y"
+ {
+ (yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIME, -1, (yylsp[0]));
+ }
+#line 48131 "gram.c"
+ break;
+
+ case 2080: /* func_expr_common_subexpr: LOCALTIME '(' Iconst ')' */
+#line 15293 "gram.y"
+ {
+ (yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIME_N, (yyvsp[-1].ival), (yylsp[-3]));
+ }
+#line 48139 "gram.c"
+ break;
+
+ case 2081: /* func_expr_common_subexpr: LOCALTIMESTAMP */
+#line 15297 "gram.y"
+ {
+ (yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIMESTAMP, -1, (yylsp[0]));
+ }
+#line 48147 "gram.c"
+ break;
+
+ case 2082: /* func_expr_common_subexpr: LOCALTIMESTAMP '(' Iconst ')' */
+#line 15301 "gram.y"
+ {
+ (yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIMESTAMP_N, (yyvsp[-1].ival), (yylsp[-3]));
+ }
+#line 48155 "gram.c"
+ break;
+
+ case 2083: /* func_expr_common_subexpr: CURRENT_ROLE */
+#line 15305 "gram.y"
+ {
+ (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_ROLE, -1, (yylsp[0]));
+ }
+#line 48163 "gram.c"
+ break;
+
+ case 2084: /* func_expr_common_subexpr: CURRENT_USER */
+#line 15309 "gram.y"
+ {
+ (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_USER, -1, (yylsp[0]));
+ }
+#line 48171 "gram.c"
+ break;
+
+ case 2085: /* func_expr_common_subexpr: SESSION_USER */
+#line 15313 "gram.y"
+ {
+ (yyval.node) = makeSQLValueFunction(SVFOP_SESSION_USER, -1, (yylsp[0]));
+ }
+#line 48179 "gram.c"
+ break;
+
+ case 2086: /* func_expr_common_subexpr: SYSTEM_USER */
+#line 15317 "gram.y"
+ {
+ (yyval.node) = (Node *) makeFuncCall(SystemFuncName("system_user"),
+ NIL,
+ COERCE_SQL_SYNTAX,
+ (yylsp[0]));
+ }
+#line 48190 "gram.c"
+ break;
+
+ case 2087: /* func_expr_common_subexpr: USER */
+#line 15324 "gram.y"
+ {
+ (yyval.node) = makeSQLValueFunction(SVFOP_USER, -1, (yylsp[0]));
+ }
+#line 48198 "gram.c"
+ break;
+
+ case 2088: /* func_expr_common_subexpr: CURRENT_CATALOG */
+#line 15328 "gram.y"
+ {
+ (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_CATALOG, -1, (yylsp[0]));
+ }
+#line 48206 "gram.c"
+ break;
+
+ case 2089: /* func_expr_common_subexpr: CURRENT_SCHEMA */
+#line 15332 "gram.y"
+ {
+ (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_SCHEMA, -1, (yylsp[0]));
+ }
+#line 48214 "gram.c"
+ break;
+
+ case 2090: /* func_expr_common_subexpr: CAST '(' a_expr AS Typename ')' */
+#line 15336 "gram.y"
+ { (yyval.node) = makeTypeCast((yyvsp[-3].node), (yyvsp[-1].typnam), (yylsp[-5])); }
+#line 48220 "gram.c"
+ break;
+
+ case 2091: /* func_expr_common_subexpr: EXTRACT '(' extract_list ')' */
+#line 15338 "gram.y"
+ {
+ (yyval.node) = (Node *) makeFuncCall(SystemFuncName("extract"),
+ (yyvsp[-1].list),
+ COERCE_SQL_SYNTAX,
+ (yylsp[-3]));
+ }
+#line 48231 "gram.c"
+ break;
+
+ case 2092: /* func_expr_common_subexpr: NORMALIZE '(' a_expr ')' */
+#line 15345 "gram.y"
+ {
+ (yyval.node) = (Node *) makeFuncCall(SystemFuncName("normalize"),
+ list_make1((yyvsp[-1].node)),
+ COERCE_SQL_SYNTAX,
+ (yylsp[-3]));
+ }
+#line 48242 "gram.c"
+ break;
+
+ case 2093: /* func_expr_common_subexpr: NORMALIZE '(' a_expr ',' unicode_normal_form ')' */
+#line 15352 "gram.y"
+ {
+ (yyval.node) = (Node *) makeFuncCall(SystemFuncName("normalize"),
+ list_make2((yyvsp[-3].node), makeStringConst((yyvsp[-1].str), (yylsp[-1]))),
+ COERCE_SQL_SYNTAX,
+ (yylsp[-5]));
+ }
+#line 48253 "gram.c"
+ break;
+
+ case 2094: /* func_expr_common_subexpr: OVERLAY '(' overlay_list ')' */
+#line 15359 "gram.y"
+ {
+ (yyval.node) = (Node *) makeFuncCall(SystemFuncName("overlay"),
+ (yyvsp[-1].list),
+ COERCE_SQL_SYNTAX,
+ (yylsp[-3]));
+ }
+#line 48264 "gram.c"
+ break;
+
+ case 2095: /* func_expr_common_subexpr: OVERLAY '(' func_arg_list_opt ')' */
+#line 15366 "gram.y"
+ {
+ /*
+ * allow functions named overlay() to be called without
+ * special syntax
+ */
+ (yyval.node) = (Node *) makeFuncCall(list_make1(makeString("overlay")),
+ (yyvsp[-1].list),
+ COERCE_EXPLICIT_CALL,
+ (yylsp[-3]));
+ }
+#line 48279 "gram.c"
+ break;
+
+ case 2096: /* func_expr_common_subexpr: POSITION '(' position_list ')' */
+#line 15377 "gram.y"
+ {
+ /*
+ * position(A in B) is converted to position(B, A)
+ *
+ * We deliberately don't offer a "plain syntax" option
+ * for position(), because the reversal of the arguments
+ * creates too much risk of confusion.
+ */
+ (yyval.node) = (Node *) makeFuncCall(SystemFuncName("position"),
+ (yyvsp[-1].list),
+ COERCE_SQL_SYNTAX,
+ (yylsp[-3]));
+ }
+#line 48297 "gram.c"
+ break;
+
+ case 2097: /* func_expr_common_subexpr: SUBSTRING '(' substr_list ')' */
+#line 15391 "gram.y"
+ {
+ /* 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),
+ COERCE_SQL_SYNTAX,
+ (yylsp[-3]));
+ }
+#line 48311 "gram.c"
+ break;
+
+ case 2098: /* func_expr_common_subexpr: SUBSTRING '(' func_arg_list_opt ')' */
+#line 15401 "gram.y"
+ {
+ /*
+ * allow functions named substring() to be called without
+ * special syntax
+ */
+ (yyval.node) = (Node *) makeFuncCall(list_make1(makeString("substring")),
+ (yyvsp[-1].list),
+ COERCE_EXPLICIT_CALL,
+ (yylsp[-3]));
+ }
+#line 48326 "gram.c"
+ break;
+
+ case 2099: /* func_expr_common_subexpr: TREAT '(' a_expr AS Typename ')' */
+#line 15412 "gram.y"
+ {
+ /* 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(strVal(llast((yyvsp[-1].typnam)->names))),
+ list_make1((yyvsp[-3].node)),
+ COERCE_EXPLICIT_CALL,
+ (yylsp[-5]));
+ }
+#line 48346 "gram.c"
+ break;
+
+ case 2100: /* func_expr_common_subexpr: TRIM '(' BOTH trim_list ')' */
+#line 15428 "gram.y"
+ {
+ /* various trim expressions are defined in SQL
+ * - thomas 1997-07-19
+ */
+ (yyval.node) = (Node *) makeFuncCall(SystemFuncName("btrim"),
+ (yyvsp[-1].list),
+ COERCE_SQL_SYNTAX,
+ (yylsp[-4]));
+ }
+#line 48360 "gram.c"
+ break;
+
+ case 2101: /* func_expr_common_subexpr: TRIM '(' LEADING trim_list ')' */
+#line 15438 "gram.y"
+ {
+ (yyval.node) = (Node *) makeFuncCall(SystemFuncName("ltrim"),
+ (yyvsp[-1].list),
+ COERCE_SQL_SYNTAX,
+ (yylsp[-4]));
+ }
+#line 48371 "gram.c"
+ break;
+
+ case 2102: /* func_expr_common_subexpr: TRIM '(' TRAILING trim_list ')' */
+#line 15445 "gram.y"
+ {
+ (yyval.node) = (Node *) makeFuncCall(SystemFuncName("rtrim"),
+ (yyvsp[-1].list),
+ COERCE_SQL_SYNTAX,
+ (yylsp[-4]));
+ }
+#line 48382 "gram.c"
+ break;
+
+ case 2103: /* func_expr_common_subexpr: TRIM '(' trim_list ')' */
+#line 15452 "gram.y"
+ {
+ (yyval.node) = (Node *) makeFuncCall(SystemFuncName("btrim"),
+ (yyvsp[-1].list),
+ COERCE_SQL_SYNTAX,
+ (yylsp[-3]));
+ }
+#line 48393 "gram.c"
+ break;
+
+ case 2104: /* func_expr_common_subexpr: NULLIF '(' a_expr ',' a_expr ')' */
+#line 15459 "gram.y"
+ {
+ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NULLIF, "=", (yyvsp[-3].node), (yyvsp[-1].node), (yylsp[-5]));
+ }
+#line 48401 "gram.c"
+ break;
+
+ case 2105: /* func_expr_common_subexpr: COALESCE '(' expr_list ')' */
+#line 15463 "gram.y"
+ {
+ CoalesceExpr *c = makeNode(CoalesceExpr);
+
+ c->args = (yyvsp[-1].list);
+ c->location = (yylsp[-3]);
+ (yyval.node) = (Node *) c;
+ }
+#line 48413 "gram.c"
+ break;
+
+ case 2106: /* func_expr_common_subexpr: GREATEST '(' expr_list ')' */
+#line 15471 "gram.y"
+ {
+ MinMaxExpr *v = makeNode(MinMaxExpr);
+
+ v->args = (yyvsp[-1].list);
+ v->op = IS_GREATEST;
+ v->location = (yylsp[-3]);
+ (yyval.node) = (Node *) v;
+ }
+#line 48426 "gram.c"
+ break;
+
+ case 2107: /* func_expr_common_subexpr: LEAST '(' expr_list ')' */
+#line 15480 "gram.y"
+ {
+ MinMaxExpr *v = makeNode(MinMaxExpr);
+
+ v->args = (yyvsp[-1].list);
+ v->op = IS_LEAST;
+ v->location = (yylsp[-3]);
+ (yyval.node) = (Node *) v;
+ }
+#line 48439 "gram.c"
+ break;
+
+ case 2108: /* func_expr_common_subexpr: XMLCONCAT '(' expr_list ')' */
+#line 15489 "gram.y"
+ {
+ (yyval.node) = makeXmlExpr(IS_XMLCONCAT, NULL, NIL, (yyvsp[-1].list), (yylsp[-3]));
+ }
+#line 48447 "gram.c"
+ break;
+
+ case 2109: /* func_expr_common_subexpr: XMLELEMENT '(' NAME_P ColLabel ')' */
+#line 15493 "gram.y"
+ {
+ (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-1].str), NIL, NIL, (yylsp[-4]));
+ }
+#line 48455 "gram.c"
+ break;
+
+ case 2110: /* func_expr_common_subexpr: XMLELEMENT '(' NAME_P ColLabel ',' xml_attributes ')' */
+#line 15497 "gram.y"
+ {
+ (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-3].str), (yyvsp[-1].list), NIL, (yylsp[-6]));
+ }
+#line 48463 "gram.c"
+ break;
+
+ case 2111: /* func_expr_common_subexpr: XMLELEMENT '(' NAME_P ColLabel ',' expr_list ')' */
+#line 15501 "gram.y"
+ {
+ (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-3].str), NIL, (yyvsp[-1].list), (yylsp[-6]));
+ }
+#line 48471 "gram.c"
+ break;
+
+ case 2112: /* func_expr_common_subexpr: XMLELEMENT '(' NAME_P ColLabel ',' xml_attributes ',' expr_list ')' */
+#line 15505 "gram.y"
+ {
+ (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-5].str), (yyvsp[-3].list), (yyvsp[-1].list), (yylsp[-8]));
+ }
+#line 48479 "gram.c"
+ break;
+
+ case 2113: /* func_expr_common_subexpr: XMLEXISTS '(' c_expr xmlexists_argument ')' */
+#line 15509 "gram.y"
+ {
+ /* 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)),
+ COERCE_SQL_SYNTAX,
+ (yylsp[-4]));
+ }
+#line 48492 "gram.c"
+ break;
+
+ case 2114: /* func_expr_common_subexpr: XMLFOREST '(' xml_attribute_list ')' */
+#line 15518 "gram.y"
+ {
+ (yyval.node) = makeXmlExpr(IS_XMLFOREST, NULL, (yyvsp[-1].list), NIL, (yylsp[-3]));
+ }
+#line 48500 "gram.c"
+ break;
+
+ case 2115: /* func_expr_common_subexpr: XMLPARSE '(' document_or_content a_expr xml_whitespace_option ')' */
+#line 15522 "gram.y"
+ {
+ 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 48514 "gram.c"
+ break;
+
+ case 2116: /* func_expr_common_subexpr: XMLPI '(' NAME_P ColLabel ')' */
+#line 15532 "gram.y"
+ {
+ (yyval.node) = makeXmlExpr(IS_XMLPI, (yyvsp[-1].str), NULL, NIL, (yylsp[-4]));
+ }
+#line 48522 "gram.c"
+ break;
+
+ case 2117: /* func_expr_common_subexpr: XMLPI '(' NAME_P ColLabel ',' a_expr ')' */
+#line 15536 "gram.y"
+ {
+ (yyval.node) = makeXmlExpr(IS_XMLPI, (yyvsp[-3].str), NULL, list_make1((yyvsp[-1].node)), (yylsp[-6]));
+ }
+#line 48530 "gram.c"
+ break;
+
+ case 2118: /* func_expr_common_subexpr: XMLROOT '(' a_expr ',' xml_root_version opt_xml_root_standalone ')' */
+#line 15540 "gram.y"
+ {
+ (yyval.node) = makeXmlExpr(IS_XMLROOT, NULL, NIL,
+ list_make3((yyvsp[-4].node), (yyvsp[-2].node), (yyvsp[-1].node)), (yylsp[-6]));
+ }
+#line 48539 "gram.c"
+ break;
+
+ case 2119: /* func_expr_common_subexpr: XMLSERIALIZE '(' document_or_content a_expr AS SimpleTypename xml_indent_option ')' */
+#line 15545 "gram.y"
+ {
+ XmlSerialize *n = makeNode(XmlSerialize);
+
+ n->xmloption = (yyvsp[-5].ival);
+ n->expr = (yyvsp[-4].node);
+ n->typeName = (yyvsp[-2].typnam);
+ n->indent = (yyvsp[-1].boolean);
+ n->location = (yylsp[-7]);
+ (yyval.node) = (Node *) n;
+ }
+#line 48554 "gram.c"
+ break;
+
+ case 2120: /* func_expr_common_subexpr: JSON_OBJECT '(' func_arg_list ')' */
+#line 15556 "gram.y"
+ {
+ /* Support for legacy (non-standard) json_object() */
+ (yyval.node) = (Node *) makeFuncCall(SystemFuncName("json_object"),
+ (yyvsp[-1].list), COERCE_EXPLICIT_CALL, (yylsp[-3]));
+ }
+#line 48564 "gram.c"
+ break;
+
+ case 2121: /* func_expr_common_subexpr: JSON_OBJECT '(' json_name_and_value_list json_object_constructor_null_clause_opt json_key_uniqueness_constraint_opt json_output_clause_opt ')' */
+#line 15565 "gram.y"
+ {
+ JsonObjectConstructor *n = makeNode(JsonObjectConstructor);
+
+ n->exprs = (yyvsp[-4].list);
+ n->absent_on_null = (yyvsp[-3].boolean);
+ n->unique = (yyvsp[-2].boolean);
+ n->output = (JsonOutput *) (yyvsp[-1].node);
+ n->location = (yylsp[-6]);
+ (yyval.node) = (Node *) n;
+ }
+#line 48579 "gram.c"
+ break;
+
+ case 2122: /* func_expr_common_subexpr: JSON_OBJECT '(' json_output_clause_opt ')' */
+#line 15576 "gram.y"
+ {
+ JsonObjectConstructor *n = makeNode(JsonObjectConstructor);
+
+ n->exprs = NULL;
+ n->absent_on_null = false;
+ n->unique = false;
+ n->output = (JsonOutput *) (yyvsp[-1].node);
+ n->location = (yylsp[-3]);
+ (yyval.node) = (Node *) n;
+ }
+#line 48594 "gram.c"
+ break;
+
+ case 2123: /* func_expr_common_subexpr: JSON_ARRAY '(' json_value_expr_list json_array_constructor_null_clause_opt json_output_clause_opt ')' */
+#line 15591 "gram.y"
+ {
+ JsonArrayConstructor *n = makeNode(JsonArrayConstructor);
+
+ n->exprs = (yyvsp[-3].list);
+ n->absent_on_null = (yyvsp[-2].boolean);
+ n->output = (JsonOutput *) (yyvsp[-1].node);
+ n->location = (yylsp[-5]);
+ (yyval.node) = (Node *) n;
+ }
+#line 48608 "gram.c"
+ break;
+
+ case 2124: /* func_expr_common_subexpr: JSON_ARRAY '(' select_no_parens json_format_clause_opt json_output_clause_opt ')' */
+#line 15606 "gram.y"
+ {
+ JsonArrayQueryConstructor *n = makeNode(JsonArrayQueryConstructor);
+
+ n->query = (yyvsp[-3].node);
+ n->format = (JsonFormat *) (yyvsp[-2].node);
+ n->absent_on_null = true; /* XXX */
+ n->output = (JsonOutput *) (yyvsp[-1].node);
+ n->location = (yylsp[-5]);
+ (yyval.node) = (Node *) n;
+ }
+#line 48623 "gram.c"
+ break;
+
+ case 2125: /* func_expr_common_subexpr: JSON_ARRAY '(' json_output_clause_opt ')' */
+#line 15619 "gram.y"
+ {
+ JsonArrayConstructor *n = makeNode(JsonArrayConstructor);
+
+ n->exprs = NIL;
+ n->absent_on_null = true;
+ n->output = (JsonOutput *) (yyvsp[-1].node);
+ n->location = (yylsp[-3]);
+ (yyval.node) = (Node *) n;
+ }
+#line 48637 "gram.c"
+ break;
+
+ case 2126: /* xml_root_version: VERSION_P a_expr */
+#line 15634 "gram.y"
+ { (yyval.node) = (yyvsp[0].node); }
+#line 48643 "gram.c"
+ break;
+
+ case 2127: /* xml_root_version: VERSION_P NO VALUE_P */
+#line 15636 "gram.y"
+ { (yyval.node) = makeNullAConst(-1); }
+#line 48649 "gram.c"
+ break;
+
+ case 2128: /* opt_xml_root_standalone: ',' STANDALONE_P YES_P */
+#line 15640 "gram.y"
+ { (yyval.node) = makeIntConst(XML_STANDALONE_YES, -1); }
+#line 48655 "gram.c"
+ break;
+
+ case 2129: /* opt_xml_root_standalone: ',' STANDALONE_P NO */
+#line 15642 "gram.y"
+ { (yyval.node) = makeIntConst(XML_STANDALONE_NO, -1); }
+#line 48661 "gram.c"
+ break;
+
+ case 2130: /* opt_xml_root_standalone: ',' STANDALONE_P NO VALUE_P */
+#line 15644 "gram.y"
+ { (yyval.node) = makeIntConst(XML_STANDALONE_NO_VALUE, -1); }
+#line 48667 "gram.c"
+ break;
+
+ case 2131: /* opt_xml_root_standalone: %empty */
+#line 15646 "gram.y"
+ { (yyval.node) = makeIntConst(XML_STANDALONE_OMITTED, -1); }
+#line 48673 "gram.c"
+ break;
+
+ case 2132: /* xml_attributes: XMLATTRIBUTES '(' xml_attribute_list ')' */
+#line 15649 "gram.y"
+ { (yyval.list) = (yyvsp[-1].list); }
+#line 48679 "gram.c"
+ break;
+
+ case 2133: /* xml_attribute_list: xml_attribute_el */
+#line 15652 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].target)); }
+#line 48685 "gram.c"
+ break;
+
+ case 2134: /* xml_attribute_list: xml_attribute_list ',' xml_attribute_el */
+#line 15653 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
+#line 48691 "gram.c"
+ break;
+
+ case 2135: /* xml_attribute_el: a_expr AS ColLabel */
+#line 15657 "gram.y"
+ {
+ (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 48703 "gram.c"
+ break;
+
+ case 2136: /* xml_attribute_el: a_expr */
+#line 15665 "gram.y"
+ {
+ (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 48715 "gram.c"
+ break;
+
+ case 2137: /* document_or_content: DOCUMENT_P */
+#line 15674 "gram.y"
+ { (yyval.ival) = XMLOPTION_DOCUMENT; }
+#line 48721 "gram.c"
+ break;
+
+ case 2138: /* document_or_content: CONTENT_P */
+#line 15675 "gram.y"
+ { (yyval.ival) = XMLOPTION_CONTENT; }
+#line 48727 "gram.c"
+ break;
+
+ case 2139: /* xml_indent_option: INDENT */
+#line 15678 "gram.y"
+ { (yyval.boolean) = true; }
+#line 48733 "gram.c"
+ break;
+
+ case 2140: /* xml_indent_option: NO INDENT */
+#line 15679 "gram.y"
+ { (yyval.boolean) = false; }
+#line 48739 "gram.c"
+ break;
+
+ case 2141: /* xml_indent_option: %empty */
+#line 15680 "gram.y"
+ { (yyval.boolean) = false; }
+#line 48745 "gram.c"
+ break;
+
+ case 2142: /* xml_whitespace_option: PRESERVE WHITESPACE_P */
+#line 15683 "gram.y"
+ { (yyval.boolean) = true; }
+#line 48751 "gram.c"
+ break;
+
+ case 2143: /* xml_whitespace_option: STRIP_P WHITESPACE_P */
+#line 15684 "gram.y"
+ { (yyval.boolean) = false; }
+#line 48757 "gram.c"
+ break;
+
+ case 2144: /* xml_whitespace_option: %empty */
+#line 15685 "gram.y"
+ { (yyval.boolean) = false; }
+#line 48763 "gram.c"
+ break;
+
+ case 2145: /* xmlexists_argument: PASSING c_expr */
+#line 15691 "gram.y"
+ {
+ (yyval.node) = (yyvsp[0].node);
+ }
+#line 48771 "gram.c"
+ break;
+
+ case 2146: /* xmlexists_argument: PASSING c_expr xml_passing_mech */
+#line 15695 "gram.y"
+ {
+ (yyval.node) = (yyvsp[-1].node);
+ }
+#line 48779 "gram.c"
+ break;
+
+ case 2147: /* xmlexists_argument: PASSING xml_passing_mech c_expr */
+#line 15699 "gram.y"
+ {
+ (yyval.node) = (yyvsp[0].node);
+ }
+#line 48787 "gram.c"
+ break;
+
+ case 2148: /* xmlexists_argument: PASSING xml_passing_mech c_expr xml_passing_mech */
+#line 15703 "gram.y"
+ {
+ (yyval.node) = (yyvsp[-1].node);
+ }
+#line 48795 "gram.c"
+ break;
+
+ case 2151: /* within_group_clause: WITHIN GROUP_P '(' sort_clause ')' */
+#line 15718 "gram.y"
+ { (yyval.list) = (yyvsp[-1].list); }
+#line 48801 "gram.c"
+ break;
+
+ case 2152: /* within_group_clause: %empty */
+#line 15719 "gram.y"
+ { (yyval.list) = NIL; }
+#line 48807 "gram.c"
+ break;
+
+ case 2153: /* filter_clause: FILTER '(' WHERE a_expr ')' */
+#line 15723 "gram.y"
+ { (yyval.node) = (yyvsp[-1].node); }
+#line 48813 "gram.c"
+ break;
+
+ case 2154: /* filter_clause: %empty */
+#line 15724 "gram.y"
+ { (yyval.node) = NULL; }
+#line 48819 "gram.c"
+ break;
+
+ case 2155: /* window_clause: WINDOW window_definition_list */
+#line 15732 "gram.y"
+ { (yyval.list) = (yyvsp[0].list); }
+#line 48825 "gram.c"
+ break;
+
+ case 2156: /* window_clause: %empty */
+#line 15733 "gram.y"
+ { (yyval.list) = NIL; }
+#line 48831 "gram.c"
+ break;
+
+ case 2157: /* window_definition_list: window_definition */
+#line 15737 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].windef)); }
+#line 48837 "gram.c"
+ break;
+
+ case 2158: /* window_definition_list: window_definition_list ',' window_definition */
+#line 15739 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].windef)); }
+#line 48843 "gram.c"
+ break;
+
+ case 2159: /* window_definition: ColId AS window_specification */
+#line 15744 "gram.y"
+ {
+ WindowDef *n = (yyvsp[0].windef);
+
+ n->name = (yyvsp[-2].str);
+ (yyval.windef) = n;
+ }
+#line 48854 "gram.c"
+ break;
+
+ case 2160: /* over_clause: OVER window_specification */
+#line 15753 "gram.y"
+ { (yyval.windef) = (yyvsp[0].windef); }
+#line 48860 "gram.c"
+ break;
+
+ case 2161: /* over_clause: OVER ColId */
+#line 15755 "gram.y"
+ {
+ 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 48878 "gram.c"
+ break;
+
+ case 2162: /* over_clause: %empty */
+#line 15769 "gram.y"
+ { (yyval.windef) = NULL; }
+#line 48884 "gram.c"
+ break;
+
+ case 2163: /* window_specification: '(' opt_existing_window_name opt_partition_clause opt_sort_clause opt_frame_clause ')' */
+#line 15774 "gram.y"
+ {
+ 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 48903 "gram.c"
+ break;
+
+ case 2164: /* opt_existing_window_name: ColId */
+#line 15800 "gram.y"
+ { (yyval.str) = (yyvsp[0].str); }
+#line 48909 "gram.c"
+ break;
+
+ case 2165: /* opt_existing_window_name: %empty */
+#line 15801 "gram.y"
+ { (yyval.str) = NULL; }
+#line 48915 "gram.c"
+ break;
+
+ case 2166: /* opt_partition_clause: PARTITION BY expr_list */
+#line 15804 "gram.y"
+ { (yyval.list) = (yyvsp[0].list); }
+#line 48921 "gram.c"
+ break;
+
+ case 2167: /* opt_partition_clause: %empty */
+#line 15805 "gram.y"
+ { (yyval.list) = NIL; }
+#line 48927 "gram.c"
+ break;
+
+ case 2168: /* opt_frame_clause: RANGE frame_extent opt_window_exclusion_clause */
+#line 15814 "gram.y"
+ {
+ WindowDef *n = (yyvsp[-1].windef);
+
+ n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_RANGE;
+ n->frameOptions |= (yyvsp[0].ival);
+ (yyval.windef) = n;
+ }
+#line 48939 "gram.c"
+ break;
+
+ case 2169: /* opt_frame_clause: ROWS frame_extent opt_window_exclusion_clause */
+#line 15822 "gram.y"
+ {
+ WindowDef *n = (yyvsp[-1].windef);
+
+ n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_ROWS;
+ n->frameOptions |= (yyvsp[0].ival);
+ (yyval.windef) = n;
+ }
+#line 48951 "gram.c"
+ break;
+
+ case 2170: /* opt_frame_clause: GROUPS frame_extent opt_window_exclusion_clause */
+#line 15830 "gram.y"
+ {
+ WindowDef *n = (yyvsp[-1].windef);
+
+ n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_GROUPS;
+ n->frameOptions |= (yyvsp[0].ival);
+ (yyval.windef) = n;
+ }
+#line 48963 "gram.c"
+ break;
+
+ case 2171: /* opt_frame_clause: %empty */
+#line 15838 "gram.y"
+ {
+ WindowDef *n = makeNode(WindowDef);
+
+ n->frameOptions = FRAMEOPTION_DEFAULTS;
+ n->startOffset = NULL;
+ n->endOffset = NULL;
+ (yyval.windef) = n;
+ }
+#line 48976 "gram.c"
+ break;
+
+ case 2172: /* frame_extent: frame_bound */
+#line 15849 "gram.y"
+ {
+ 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 48998 "gram.c"
+ break;
+
+ case 2173: /* frame_extent: BETWEEN frame_bound AND frame_bound */
+#line 15867 "gram.y"
+ {
+ 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 49040 "gram.c"
+ break;
+
+ case 2174: /* frame_bound: UNBOUNDED PRECEDING */
+#line 15913 "gram.y"
+ {
+ WindowDef *n = makeNode(WindowDef);
+
+ n->frameOptions = FRAMEOPTION_START_UNBOUNDED_PRECEDING;
+ n->startOffset = NULL;
+ n->endOffset = NULL;
+ (yyval.windef) = n;
+ }
+#line 49053 "gram.c"
+ break;
+
+ case 2175: /* frame_bound: UNBOUNDED FOLLOWING */
+#line 15922 "gram.y"
+ {
+ WindowDef *n = makeNode(WindowDef);
+
+ n->frameOptions = FRAMEOPTION_START_UNBOUNDED_FOLLOWING;
+ n->startOffset = NULL;
+ n->endOffset = NULL;
+ (yyval.windef) = n;
+ }
+#line 49066 "gram.c"
+ break;
+
+ case 2176: /* frame_bound: CURRENT_P ROW */
+#line 15931 "gram.y"
+ {
+ WindowDef *n = makeNode(WindowDef);
+
+ n->frameOptions = FRAMEOPTION_START_CURRENT_ROW;
+ n->startOffset = NULL;
+ n->endOffset = NULL;
+ (yyval.windef) = n;
+ }
+#line 49079 "gram.c"
+ break;
+
+ case 2177: /* frame_bound: a_expr PRECEDING */
+#line 15940 "gram.y"
+ {
+ WindowDef *n = makeNode(WindowDef);
+
+ n->frameOptions = FRAMEOPTION_START_OFFSET_PRECEDING;
+ n->startOffset = (yyvsp[-1].node);
+ n->endOffset = NULL;
+ (yyval.windef) = n;
+ }
+#line 49092 "gram.c"
+ break;
+
+ case 2178: /* frame_bound: a_expr FOLLOWING */
+#line 15949 "gram.y"
+ {
+ WindowDef *n = makeNode(WindowDef);
+
+ n->frameOptions = FRAMEOPTION_START_OFFSET_FOLLOWING;
+ n->startOffset = (yyvsp[-1].node);
+ n->endOffset = NULL;
+ (yyval.windef) = n;
+ }
+#line 49105 "gram.c"
+ break;
+
+ case 2179: /* opt_window_exclusion_clause: EXCLUDE CURRENT_P ROW */
+#line 15960 "gram.y"
+ { (yyval.ival) = FRAMEOPTION_EXCLUDE_CURRENT_ROW; }
+#line 49111 "gram.c"
+ break;
+
+ case 2180: /* opt_window_exclusion_clause: EXCLUDE GROUP_P */
+#line 15961 "gram.y"
+ { (yyval.ival) = FRAMEOPTION_EXCLUDE_GROUP; }
+#line 49117 "gram.c"
+ break;
+
+ case 2181: /* opt_window_exclusion_clause: EXCLUDE TIES */
+#line 15962 "gram.y"
+ { (yyval.ival) = FRAMEOPTION_EXCLUDE_TIES; }
+#line 49123 "gram.c"
+ break;
+
+ case 2182: /* opt_window_exclusion_clause: EXCLUDE NO OTHERS */
+#line 15963 "gram.y"
+ { (yyval.ival) = 0; }
+#line 49129 "gram.c"
+ break;
+
+ case 2183: /* opt_window_exclusion_clause: %empty */
+#line 15964 "gram.y"
+ { (yyval.ival) = 0; }
+#line 49135 "gram.c"
+ break;
+
+ case 2184: /* row: ROW '(' expr_list ')' */
+#line 15978 "gram.y"
+ { (yyval.list) = (yyvsp[-1].list); }
+#line 49141 "gram.c"
+ break;
+
+ case 2185: /* row: ROW '(' ')' */
+#line 15979 "gram.y"
+ { (yyval.list) = NIL; }
+#line 49147 "gram.c"
+ break;
+
+ case 2186: /* row: '(' expr_list ',' a_expr ')' */
+#line 15980 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-3].list), (yyvsp[-1].node)); }
+#line 49153 "gram.c"
+ break;
+
+ case 2187: /* explicit_row: ROW '(' expr_list ')' */
+#line 15983 "gram.y"
+ { (yyval.list) = (yyvsp[-1].list); }
+#line 49159 "gram.c"
+ break;
+
+ case 2188: /* explicit_row: ROW '(' ')' */
+#line 15984 "gram.y"
+ { (yyval.list) = NIL; }
+#line 49165 "gram.c"
+ break;
+
+ case 2189: /* implicit_row: '(' expr_list ',' a_expr ')' */
+#line 15987 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-3].list), (yyvsp[-1].node)); }
+#line 49171 "gram.c"
+ break;
+
+ case 2190: /* sub_type: ANY */
+#line 15990 "gram.y"
+ { (yyval.ival) = ANY_SUBLINK; }
+#line 49177 "gram.c"
+ break;
+
+ case 2191: /* sub_type: SOME */
+#line 15991 "gram.y"
+ { (yyval.ival) = ANY_SUBLINK; }
+#line 49183 "gram.c"
+ break;
+
+ case 2192: /* sub_type: ALL */
+#line 15992 "gram.y"
+ { (yyval.ival) = ALL_SUBLINK; }
+#line 49189 "gram.c"
+ break;
+
+ case 2193: /* all_Op: Op */
+#line 15995 "gram.y"
+ { (yyval.str) = (yyvsp[0].str); }
+#line 49195 "gram.c"
+ break;
+
+ case 2194: /* all_Op: MathOp */
+#line 15996 "gram.y"
+ { (yyval.str) = (yyvsp[0].str); }
+#line 49201 "gram.c"
+ break;
+
+ case 2195: /* MathOp: '+' */
+#line 15999 "gram.y"
+ { (yyval.str) = "+"; }
+#line 49207 "gram.c"
+ break;
+
+ case 2196: /* MathOp: '-' */
+#line 16000 "gram.y"
+ { (yyval.str) = "-"; }
+#line 49213 "gram.c"
+ break;
+
+ case 2197: /* MathOp: '*' */
+#line 16001 "gram.y"
+ { (yyval.str) = "*"; }
+#line 49219 "gram.c"
+ break;
+
+ case 2198: /* MathOp: '/' */
+#line 16002 "gram.y"
+ { (yyval.str) = "/"; }
+#line 49225 "gram.c"
+ break;
+
+ case 2199: /* MathOp: '%' */
+#line 16003 "gram.y"
+ { (yyval.str) = "%"; }
+#line 49231 "gram.c"
+ break;
+
+ case 2200: /* MathOp: '^' */
+#line 16004 "gram.y"
+ { (yyval.str) = "^"; }
+#line 49237 "gram.c"
+ break;
+
+ case 2201: /* MathOp: '<' */
+#line 16005 "gram.y"
+ { (yyval.str) = "<"; }
+#line 49243 "gram.c"
+ break;
+
+ case 2202: /* MathOp: '>' */
+#line 16006 "gram.y"
+ { (yyval.str) = ">"; }
+#line 49249 "gram.c"
+ break;
+
+ case 2203: /* MathOp: '=' */
+#line 16007 "gram.y"
+ { (yyval.str) = "="; }
+#line 49255 "gram.c"
+ break;
+
+ case 2204: /* MathOp: LESS_EQUALS */
+#line 16008 "gram.y"
+ { (yyval.str) = "<="; }
+#line 49261 "gram.c"
+ break;
+
+ case 2205: /* MathOp: GREATER_EQUALS */
+#line 16009 "gram.y"
+ { (yyval.str) = ">="; }
+#line 49267 "gram.c"
+ break;
+
+ case 2206: /* MathOp: NOT_EQUALS */
+#line 16010 "gram.y"
+ { (yyval.str) = "<>"; }
+#line 49273 "gram.c"
+ break;
+
+ case 2207: /* qual_Op: Op */
+#line 16014 "gram.y"
+ { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
+#line 49279 "gram.c"
+ break;
+
+ case 2208: /* qual_Op: OPERATOR '(' any_operator ')' */
+#line 16016 "gram.y"
+ { (yyval.list) = (yyvsp[-1].list); }
+#line 49285 "gram.c"
+ break;
+
+ case 2209: /* qual_all_Op: all_Op */
+#line 16021 "gram.y"
+ { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
+#line 49291 "gram.c"
+ break;
+
+ case 2210: /* qual_all_Op: OPERATOR '(' any_operator ')' */
+#line 16023 "gram.y"
+ { (yyval.list) = (yyvsp[-1].list); }
+#line 49297 "gram.c"
+ break;
+
+ case 2211: /* subquery_Op: all_Op */
+#line 16028 "gram.y"
+ { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
+#line 49303 "gram.c"
+ break;
+
+ case 2212: /* subquery_Op: OPERATOR '(' any_operator ')' */
+#line 16030 "gram.y"
+ { (yyval.list) = (yyvsp[-1].list); }
+#line 49309 "gram.c"
+ break;
+
+ case 2213: /* subquery_Op: LIKE */
+#line 16032 "gram.y"
+ { (yyval.list) = list_make1(makeString("~~")); }
+#line 49315 "gram.c"
+ break;
+
+ case 2214: /* subquery_Op: NOT_LA LIKE */
+#line 16034 "gram.y"
+ { (yyval.list) = list_make1(makeString("!~~")); }
+#line 49321 "gram.c"
+ break;
+
+ case 2215: /* subquery_Op: ILIKE */
+#line 16036 "gram.y"
+ { (yyval.list) = list_make1(makeString("~~*")); }
+#line 49327 "gram.c"
+ break;
+
+ case 2216: /* subquery_Op: NOT_LA ILIKE */
+#line 16038 "gram.y"
+ { (yyval.list) = list_make1(makeString("!~~*")); }
+#line 49333 "gram.c"
+ break;
+
+ case 2217: /* expr_list: a_expr */
+#line 16050 "gram.y"
+ {
+ (yyval.list) = list_make1((yyvsp[0].node));
+ }
+#line 49341 "gram.c"
+ break;
+
+ case 2218: /* expr_list: expr_list ',' a_expr */
+#line 16054 "gram.y"
+ {
+ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
+ }
+#line 49349 "gram.c"
+ break;
+
+ case 2219: /* func_arg_list: func_arg_expr */
+#line 16061 "gram.y"
+ {
+ (yyval.list) = list_make1((yyvsp[0].node));
+ }
+#line 49357 "gram.c"
+ break;
+
+ case 2220: /* func_arg_list: func_arg_list ',' func_arg_expr */
+#line 16065 "gram.y"
+ {
+ (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
+ }
+#line 49365 "gram.c"
+ break;
+
+ case 2221: /* func_arg_expr: a_expr */
+#line 16071 "gram.y"
+ {
+ (yyval.node) = (yyvsp[0].node);
+ }
+#line 49373 "gram.c"
+ break;
+
+ case 2222: /* func_arg_expr: param_name COLON_EQUALS a_expr */
+#line 16075 "gram.y"
+ {
+ 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 49387 "gram.c"
+ break;
+
+ case 2223: /* func_arg_expr: param_name EQUALS_GREATER a_expr */
+#line 16085 "gram.y"
+ {
+ 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 49401 "gram.c"
+ break;
+
+ case 2224: /* func_arg_list_opt: func_arg_list */
+#line 16096 "gram.y"
+ { (yyval.list) = (yyvsp[0].list); }
+#line 49407 "gram.c"
+ break;
+
+ case 2225: /* func_arg_list_opt: %empty */
+#line 16097 "gram.y"
+ { (yyval.list) = NIL; }
+#line 49413 "gram.c"
+ break;
+
+ case 2226: /* type_list: Typename */
+#line 16100 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].typnam)); }
+#line 49419 "gram.c"
+ break;
+
+ case 2227: /* type_list: type_list ',' Typename */
+#line 16101 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].typnam)); }
+#line 49425 "gram.c"
+ break;
+
+ case 2228: /* array_expr: '[' expr_list ']' */
+#line 16105 "gram.y"
+ {
+ (yyval.node) = makeAArrayExpr((yyvsp[-1].list), (yylsp[-2]));
+ }
+#line 49433 "gram.c"
+ break;
+
+ case 2229: /* array_expr: '[' array_expr_list ']' */
+#line 16109 "gram.y"
+ {
+ (yyval.node) = makeAArrayExpr((yyvsp[-1].list), (yylsp[-2]));
+ }
+#line 49441 "gram.c"
+ break;
+
+ case 2230: /* array_expr: '[' ']' */
+#line 16113 "gram.y"
+ {
+ (yyval.node) = makeAArrayExpr(NIL, (yylsp[-1]));
+ }
+#line 49449 "gram.c"
+ break;
+
+ case 2231: /* array_expr_list: array_expr */
+#line 16118 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].node)); }
+#line 49455 "gram.c"
+ break;
+
+ case 2232: /* array_expr_list: array_expr_list ',' array_expr */
+#line 16119 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
+#line 49461 "gram.c"
+ break;
+
+ case 2233: /* extract_list: extract_arg FROM a_expr */
+#line 16125 "gram.y"
+ {
+ (yyval.list) = list_make2(makeStringConst((yyvsp[-2].str), (yylsp[-2])), (yyvsp[0].node));
+ }
+#line 49469 "gram.c"
+ break;
+
+ case 2234: /* extract_arg: IDENT */
+#line 16134 "gram.y"
+ { (yyval.str) = (yyvsp[0].str); }
+#line 49475 "gram.c"
+ break;
+
+ case 2235: /* extract_arg: YEAR_P */
+#line 16135 "gram.y"
+ { (yyval.str) = "year"; }
+#line 49481 "gram.c"
+ break;
+
+ case 2236: /* extract_arg: MONTH_P */
+#line 16136 "gram.y"
+ { (yyval.str) = "month"; }
+#line 49487 "gram.c"
+ break;
+
+ case 2237: /* extract_arg: DAY_P */
+#line 16137 "gram.y"
+ { (yyval.str) = "day"; }
+#line 49493 "gram.c"
+ break;
+
+ case 2238: /* extract_arg: HOUR_P */
+#line 16138 "gram.y"
+ { (yyval.str) = "hour"; }
+#line 49499 "gram.c"
+ break;
+
+ case 2239: /* extract_arg: MINUTE_P */
+#line 16139 "gram.y"
+ { (yyval.str) = "minute"; }
+#line 49505 "gram.c"
+ break;
+
+ case 2240: /* extract_arg: SECOND_P */
+#line 16140 "gram.y"
+ { (yyval.str) = "second"; }
+#line 49511 "gram.c"
+ break;
+
+ case 2241: /* extract_arg: Sconst */
+#line 16141 "gram.y"
+ { (yyval.str) = (yyvsp[0].str); }
+#line 49517 "gram.c"
+ break;
+
+ case 2242: /* unicode_normal_form: NFC */
+#line 16145 "gram.y"
+ { (yyval.str) = "NFC"; }
+#line 49523 "gram.c"
+ break;
+
+ case 2243: /* unicode_normal_form: NFD */
+#line 16146 "gram.y"
+ { (yyval.str) = "NFD"; }
+#line 49529 "gram.c"
+ break;
+
+ case 2244: /* unicode_normal_form: NFKC */
+#line 16147 "gram.y"
+ { (yyval.str) = "NFKC"; }
+#line 49535 "gram.c"
+ break;
+
+ case 2245: /* unicode_normal_form: NFKD */
+#line 16148 "gram.y"
+ { (yyval.str) = "NFKD"; }
+#line 49541 "gram.c"
+ break;
+
+ case 2246: /* overlay_list: a_expr PLACING a_expr FROM a_expr FOR a_expr */
+#line 16154 "gram.y"
+ {
+ /* overlay(A PLACING B FROM C FOR D) is converted to overlay(A, B, C, D) */
+ (yyval.list) = list_make4((yyvsp[-6].node), (yyvsp[-4].node), (yyvsp[-2].node), (yyvsp[0].node));
+ }
+#line 49550 "gram.c"
+ break;
+
+ case 2247: /* overlay_list: a_expr PLACING a_expr FROM a_expr */
+#line 16159 "gram.y"
+ {
+ /* overlay(A PLACING B FROM C) is converted to overlay(A, B, C) */
+ (yyval.list) = list_make3((yyvsp[-4].node), (yyvsp[-2].node), (yyvsp[0].node));
+ }
+#line 49559 "gram.c"
+ break;
+
+ case 2248: /* position_list: b_expr IN_P b_expr */
+#line 16167 "gram.y"
+ { (yyval.list) = list_make2((yyvsp[0].node), (yyvsp[-2].node)); }
+#line 49565 "gram.c"
+ break;
+
+ case 2249: /* substr_list: a_expr FROM a_expr FOR a_expr */
+#line 16189 "gram.y"
+ {
+ (yyval.list) = list_make3((yyvsp[-4].node), (yyvsp[-2].node), (yyvsp[0].node));
+ }
+#line 49573 "gram.c"
+ break;
+
+ case 2250: /* substr_list: a_expr FOR a_expr FROM a_expr */
+#line 16193 "gram.y"
+ {
+ /* not legal per SQL, but might as well allow it */
+ (yyval.list) = list_make3((yyvsp[-4].node), (yyvsp[0].node), (yyvsp[-2].node));
+ }
+#line 49582 "gram.c"
+ break;
+
+ case 2251: /* substr_list: a_expr FROM a_expr */
+#line 16198 "gram.y"
+ {
+ /*
+ * Because we aren't restricting data types here, this
+ * syntax can end up resolving to textregexsubstr().
+ * We've historically allowed that to happen, so continue
+ * to accept it. However, ruleutils.c will reverse-list
+ * such a call in regular function call syntax.
+ */
+ (yyval.list) = list_make2((yyvsp[-2].node), (yyvsp[0].node));
+ }
+#line 49597 "gram.c"
+ break;
+
+ case 2252: /* substr_list: a_expr FOR a_expr */
+#line 16209 "gram.y"
+ {
+ /* not legal per SQL */
+
+ /*
+ * 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[-2].node), makeIntConst(1, -1),
+ makeTypeCast((yyvsp[0].node),
+ SystemTypeName("int4"), -1));
+ }
+#line 49618 "gram.c"
+ break;
+
+ case 2253: /* substr_list: a_expr SIMILAR a_expr ESCAPE a_expr */
+#line 16226 "gram.y"
+ {
+ (yyval.list) = list_make3((yyvsp[-4].node), (yyvsp[-2].node), (yyvsp[0].node));
+ }
+#line 49626 "gram.c"
+ break;
+
+ case 2254: /* trim_list: a_expr FROM expr_list */
+#line 16231 "gram.y"
+ { (yyval.list) = lappend((yyvsp[0].list), (yyvsp[-2].node)); }
+#line 49632 "gram.c"
+ break;
+
+ case 2255: /* trim_list: FROM expr_list */
+#line 16232 "gram.y"
+ { (yyval.list) = (yyvsp[0].list); }
+#line 49638 "gram.c"
+ break;
+
+ case 2256: /* trim_list: expr_list */
+#line 16233 "gram.y"
+ { (yyval.list) = (yyvsp[0].list); }
+#line 49644 "gram.c"
+ break;
+
+ case 2257: /* in_expr: select_with_parens */
+#line 16237 "gram.y"
+ {
+ SubLink *n = makeNode(SubLink);
+
+ n->subselect = (yyvsp[0].node);
+ /* other fields will be filled later */
+ (yyval.node) = (Node *) n;
+ }
+#line 49656 "gram.c"
+ break;
+
+ case 2258: /* in_expr: '(' expr_list ')' */
+#line 16244 "gram.y"
+ { (yyval.node) = (Node *) (yyvsp[-1].list); }
+#line 49662 "gram.c"
+ break;
+
+ case 2259: /* case_expr: CASE case_arg when_clause_list case_default END_P */
+#line 16255 "gram.y"
+ {
+ 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 49677 "gram.c"
+ break;
+
+ case 2260: /* when_clause_list: when_clause */
+#line 16269 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].node)); }
+#line 49683 "gram.c"
+ break;
+
+ case 2261: /* when_clause_list: when_clause_list when_clause */
+#line 16270 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
+#line 49689 "gram.c"
+ break;
+
+ case 2262: /* when_clause: WHEN a_expr THEN a_expr */
+#line 16275 "gram.y"
+ {
+ 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 49702 "gram.c"
+ break;
+
+ case 2263: /* case_default: ELSE a_expr */
+#line 16286 "gram.y"
+ { (yyval.node) = (yyvsp[0].node); }
+#line 49708 "gram.c"
+ break;
+
+ case 2264: /* case_default: %empty */
+#line 16287 "gram.y"
+ { (yyval.node) = NULL; }
+#line 49714 "gram.c"
+ break;
+
+ case 2265: /* case_arg: a_expr */
+#line 16290 "gram.y"
+ { (yyval.node) = (yyvsp[0].node); }
+#line 49720 "gram.c"
+ break;
+
+ case 2266: /* case_arg: %empty */
+#line 16291 "gram.y"
+ { (yyval.node) = NULL; }
+#line 49726 "gram.c"
+ break;
+
+ case 2267: /* columnref: ColId */
+#line 16295 "gram.y"
+ {
+ (yyval.node) = makeColumnRef((yyvsp[0].str), NIL, (yylsp[0]), yyscanner);
+ }
+#line 49734 "gram.c"
+ break;
+
+ case 2268: /* columnref: ColId indirection */
+#line 16299 "gram.y"
+ {
+ (yyval.node) = makeColumnRef((yyvsp[-1].str), (yyvsp[0].list), (yylsp[-1]), yyscanner);
+ }
+#line 49742 "gram.c"
+ break;
+
+ case 2269: /* indirection_el: '.' attr_name */
+#line 16306 "gram.y"
+ {
+ (yyval.node) = (Node *) makeString((yyvsp[0].str));
+ }
+#line 49750 "gram.c"
+ break;
+
+ case 2270: /* indirection_el: '.' '*' */
+#line 16310 "gram.y"
+ {
+ (yyval.node) = (Node *) makeNode(A_Star);
+ }
+#line 49758 "gram.c"
+ break;
+
+ case 2271: /* indirection_el: '[' a_expr ']' */
+#line 16314 "gram.y"
+ {
+ A_Indices *ai = makeNode(A_Indices);
+
+ ai->is_slice = false;
+ ai->lidx = NULL;
+ ai->uidx = (yyvsp[-1].node);
+ (yyval.node) = (Node *) ai;
+ }
+#line 49771 "gram.c"
+ break;
+
+ case 2272: /* indirection_el: '[' opt_slice_bound ':' opt_slice_bound ']' */
+#line 16323 "gram.y"
+ {
+ 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 49784 "gram.c"
+ break;
+
+ case 2273: /* opt_slice_bound: a_expr */
+#line 16334 "gram.y"
+ { (yyval.node) = (yyvsp[0].node); }
+#line 49790 "gram.c"
+ break;
+
+ case 2274: /* opt_slice_bound: %empty */
+#line 16335 "gram.y"
+ { (yyval.node) = NULL; }
+#line 49796 "gram.c"
+ break;
+
+ case 2275: /* indirection: indirection_el */
+#line 16339 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].node)); }
+#line 49802 "gram.c"
+ break;
+
+ case 2276: /* indirection: indirection indirection_el */
+#line 16340 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
+#line 49808 "gram.c"
+ break;
+
+ case 2277: /* opt_indirection: %empty */
+#line 16344 "gram.y"
+ { (yyval.list) = NIL; }
+#line 49814 "gram.c"
+ break;
+
+ case 2278: /* opt_indirection: opt_indirection indirection_el */
+#line 16345 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
+#line 49820 "gram.c"
+ break;
+
+ case 2281: /* json_value_expr: a_expr json_format_clause_opt */
+#line 16355 "gram.y"
+ {
+ /* formatted_expr will be set during parse-analysis. */
+ (yyval.node) = (Node *) makeJsonValueExpr((Expr *) (yyvsp[-1].node), NULL,
+ castNode(JsonFormat, (yyvsp[0].node)));
+ }
+#line 49830 "gram.c"
+ break;
+
+ case 2282: /* json_format_clause_opt: FORMAT_LA JSON json_encoding_clause_opt */
+#line 16364 "gram.y"
+ {
+ (yyval.node) = (Node *) makeJsonFormat(JS_FORMAT_JSON, (yyvsp[0].ival), (yylsp[-2]));
+ }
+#line 49838 "gram.c"
+ break;
+
+ case 2283: /* json_format_clause_opt: %empty */
+#line 16368 "gram.y"
+ {
+ (yyval.node) = (Node *) makeJsonFormat(JS_FORMAT_DEFAULT, JS_ENC_DEFAULT, -1);
+ }
+#line 49846 "gram.c"
+ break;
+
+ case 2284: /* json_encoding_clause_opt: ENCODING name */
+#line 16374 "gram.y"
+ { (yyval.ival) = makeJsonEncoding((yyvsp[0].str)); }
+#line 49852 "gram.c"
+ break;
+
+ case 2285: /* json_encoding_clause_opt: %empty */
+#line 16375 "gram.y"
+ { (yyval.ival) = JS_ENC_DEFAULT; }
+#line 49858 "gram.c"
+ break;
+
+ case 2286: /* json_output_clause_opt: RETURNING Typename json_format_clause_opt */
+#line 16380 "gram.y"
+ {
+ JsonOutput *n = makeNode(JsonOutput);
+
+ n->typeName = (yyvsp[-1].typnam);
+ n->returning = makeNode(JsonReturning);
+ n->returning->format = (JsonFormat *) (yyvsp[0].node);
+ (yyval.node) = (Node *) n;
+ }
+#line 49871 "gram.c"
+ break;
+
+ case 2287: /* json_output_clause_opt: %empty */
+#line 16388 "gram.y"
+ { (yyval.node) = NULL; }
+#line 49877 "gram.c"
+ break;
+
+ case 2288: /* json_predicate_type_constraint: JSON */
+#line 16392 "gram.y"
+ { (yyval.ival) = JS_TYPE_ANY; }
+#line 49883 "gram.c"
+ break;
+
+ case 2289: /* json_predicate_type_constraint: JSON VALUE_P */
+#line 16393 "gram.y"
+ { (yyval.ival) = JS_TYPE_ANY; }
+#line 49889 "gram.c"
+ break;
+
+ case 2290: /* json_predicate_type_constraint: JSON ARRAY */
+#line 16394 "gram.y"
+ { (yyval.ival) = JS_TYPE_ARRAY; }
+#line 49895 "gram.c"
+ break;
+
+ case 2291: /* json_predicate_type_constraint: JSON OBJECT_P */
+#line 16395 "gram.y"
+ { (yyval.ival) = JS_TYPE_OBJECT; }
+#line 49901 "gram.c"
+ break;
+
+ case 2292: /* json_predicate_type_constraint: JSON SCALAR */
+#line 16396 "gram.y"
+ { (yyval.ival) = JS_TYPE_SCALAR; }
+#line 49907 "gram.c"
+ break;
+
+ case 2293: /* json_key_uniqueness_constraint_opt: WITH UNIQUE KEYS */
+#line 16401 "gram.y"
+ { (yyval.boolean) = true; }
+#line 49913 "gram.c"
+ break;
+
+ case 2294: /* json_key_uniqueness_constraint_opt: WITH UNIQUE */
+#line 16402 "gram.y"
+ { (yyval.boolean) = true; }
+#line 49919 "gram.c"
+ break;
+
+ case 2295: /* json_key_uniqueness_constraint_opt: WITHOUT UNIQUE KEYS */
+#line 16403 "gram.y"
+ { (yyval.boolean) = false; }
+#line 49925 "gram.c"
+ break;
+
+ case 2296: /* json_key_uniqueness_constraint_opt: WITHOUT UNIQUE */
+#line 16404 "gram.y"
+ { (yyval.boolean) = false; }
+#line 49931 "gram.c"
+ break;
+
+ case 2297: /* json_key_uniqueness_constraint_opt: %empty */
+#line 16405 "gram.y"
+ { (yyval.boolean) = false; }
+#line 49937 "gram.c"
+ break;
+
+ case 2298: /* json_name_and_value_list: json_name_and_value */
+#line 16410 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].node)); }
+#line 49943 "gram.c"
+ break;
+
+ case 2299: /* json_name_and_value_list: json_name_and_value_list ',' json_name_and_value */
+#line 16412 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
+#line 49949 "gram.c"
+ break;
+
+ case 2300: /* json_name_and_value: c_expr VALUE_P json_value_expr */
+#line 16422 "gram.y"
+ { (yyval.node) = makeJsonKeyValue((yyvsp[-2].node), (yyvsp[0].node)); }
+#line 49955 "gram.c"
+ break;
+
+ case 2301: /* json_name_and_value: a_expr ':' json_value_expr */
+#line 16425 "gram.y"
+ { (yyval.node) = makeJsonKeyValue((yyvsp[-2].node), (yyvsp[0].node)); }
+#line 49961 "gram.c"
+ break;
+
+ case 2302: /* json_object_constructor_null_clause_opt: NULL_P ON NULL_P */
+#line 16430 "gram.y"
+ { (yyval.boolean) = false; }
+#line 49967 "gram.c"
+ break;
+
+ case 2303: /* json_object_constructor_null_clause_opt: ABSENT ON NULL_P */
+#line 16431 "gram.y"
+ { (yyval.boolean) = true; }
+#line 49973 "gram.c"
+ break;
+
+ case 2304: /* json_object_constructor_null_clause_opt: %empty */
+#line 16432 "gram.y"
+ { (yyval.boolean) = false; }
+#line 49979 "gram.c"
+ break;
+
+ case 2305: /* json_array_constructor_null_clause_opt: NULL_P ON NULL_P */
+#line 16436 "gram.y"
+ { (yyval.boolean) = false; }
+#line 49985 "gram.c"
+ break;
+
+ case 2306: /* json_array_constructor_null_clause_opt: ABSENT ON NULL_P */
+#line 16437 "gram.y"
+ { (yyval.boolean) = true; }
+#line 49991 "gram.c"
+ break;
+
+ case 2307: /* json_array_constructor_null_clause_opt: %empty */
+#line 16438 "gram.y"
+ { (yyval.boolean) = true; }
+#line 49997 "gram.c"
+ break;
+
+ case 2308: /* json_value_expr_list: json_value_expr */
+#line 16442 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].node)); }
+#line 50003 "gram.c"
+ break;
+
+ case 2309: /* json_value_expr_list: json_value_expr_list ',' json_value_expr */
+#line 16443 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));}
+#line 50009 "gram.c"
+ break;
+
+ case 2310: /* json_aggregate_func: JSON_OBJECTAGG '(' json_name_and_value json_object_constructor_null_clause_opt json_key_uniqueness_constraint_opt json_output_clause_opt ')' */
+#line 16453 "gram.y"
+ {
+ JsonObjectAgg *n = makeNode(JsonObjectAgg);
+
+ n->arg = (JsonKeyValue *) (yyvsp[-4].node);
+ n->absent_on_null = (yyvsp[-3].boolean);
+ n->unique = (yyvsp[-2].boolean);
+ n->constructor = makeNode(JsonAggConstructor);
+ n->constructor->output = (JsonOutput *) (yyvsp[-1].node);
+ n->constructor->agg_order = NULL;
+ n->constructor->location = (yylsp[-6]);
+ (yyval.node) = (Node *) n;
+ }
+#line 50026 "gram.c"
+ break;
+
+ case 2311: /* json_aggregate_func: JSON_ARRAYAGG '(' json_value_expr json_array_aggregate_order_by_clause_opt json_array_constructor_null_clause_opt json_output_clause_opt ')' */
+#line 16471 "gram.y"
+ {
+ JsonArrayAgg *n = makeNode(JsonArrayAgg);
+
+ n->arg = (JsonValueExpr *) (yyvsp[-4].node);
+ n->absent_on_null = (yyvsp[-2].boolean);
+ n->constructor = makeNode(JsonAggConstructor);
+ n->constructor->agg_order = (yyvsp[-3].list);
+ n->constructor->output = (JsonOutput *) (yyvsp[-1].node);
+ n->constructor->location = (yylsp[-6]);
+ (yyval.node) = (Node *) n;
+ }
+#line 50042 "gram.c"
+ break;
+
+ case 2312: /* json_array_aggregate_order_by_clause_opt: ORDER BY sortby_list */
+#line 16485 "gram.y"
+ { (yyval.list) = (yyvsp[0].list); }
+#line 50048 "gram.c"
+ break;
+
+ case 2313: /* json_array_aggregate_order_by_clause_opt: %empty */
+#line 16486 "gram.y"
+ { (yyval.list) = NIL; }
+#line 50054 "gram.c"
+ break;
+
+ case 2314: /* opt_target_list: target_list */
+#line 16495 "gram.y"
+ { (yyval.list) = (yyvsp[0].list); }
+#line 50060 "gram.c"
+ break;
+
+ case 2315: /* opt_target_list: %empty */
+#line 16496 "gram.y"
+ { (yyval.list) = NIL; }
+#line 50066 "gram.c"
+ break;
+
+ case 2316: /* target_list: target_el */
+#line 16500 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].target)); }
+#line 50072 "gram.c"
+ break;
+
+ case 2317: /* target_list: target_list ',' target_el */
+#line 16501 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
+#line 50078 "gram.c"
+ break;
+
+ case 2318: /* target_el: a_expr AS ColLabel */
+#line 16505 "gram.y"
+ {
+ (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 50090 "gram.c"
+ break;
+
+ case 2319: /* target_el: a_expr BareColLabel */
+#line 16513 "gram.y"
+ {
+ (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 50102 "gram.c"
+ break;
+
+ case 2320: /* target_el: a_expr */
+#line 16521 "gram.y"
+ {
+ (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 50114 "gram.c"
+ break;
+
+ case 2321: /* target_el: '*' */
+#line 16529 "gram.y"
+ {
+ 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 50131 "gram.c"
+ break;
+
+ case 2322: /* qualified_name_list: qualified_name */
+#line 16551 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].range)); }
+#line 50137 "gram.c"
+ break;
+
+ case 2323: /* qualified_name_list: qualified_name_list ',' qualified_name */
+#line 16552 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].range)); }
+#line 50143 "gram.c"
+ break;
+
+ case 2324: /* qualified_name: ColId */
+#line 16564 "gram.y"
+ {
+ (yyval.range) = makeRangeVar(NULL, (yyvsp[0].str), (yylsp[0]));
+ }
+#line 50151 "gram.c"
+ break;
+
+ case 2325: /* qualified_name: ColId indirection */
+#line 16568 "gram.y"
+ {
+ (yyval.range) = makeRangeVarFromQualifiedName((yyvsp[-1].str), (yyvsp[0].list), (yylsp[-1]), yyscanner);
+ }
+#line 50159 "gram.c"
+ break;
+
+ case 2326: /* name_list: name */
+#line 16574 "gram.y"
+ { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
+#line 50165 "gram.c"
+ break;
+
+ case 2327: /* name_list: name_list ',' name */
+#line 16576 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
+#line 50171 "gram.c"
+ break;
+
+ case 2328: /* name: ColId */
+#line 16580 "gram.y"
+ { (yyval.str) = (yyvsp[0].str); }
+#line 50177 "gram.c"
+ break;
+
+ case 2329: /* attr_name: ColLabel */
+#line 16582 "gram.y"
+ { (yyval.str) = (yyvsp[0].str); }
+#line 50183 "gram.c"
+ break;
+
+ case 2330: /* file_name: Sconst */
+#line 16584 "gram.y"
+ { (yyval.str) = (yyvsp[0].str); }
+#line 50189 "gram.c"
+ break;
+
+ case 2331: /* func_name: type_function_name */
+#line 16595 "gram.y"
+ { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
+#line 50195 "gram.c"
+ break;
+
+ case 2332: /* func_name: ColId indirection */
+#line 16597 "gram.y"
+ {
+ (yyval.list) = check_func_name(lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)),
+ yyscanner);
+ }
+#line 50204 "gram.c"
+ break;
+
+ case 2333: /* AexprConst: Iconst */
+#line 16608 "gram.y"
+ {
+ (yyval.node) = makeIntConst((yyvsp[0].ival), (yylsp[0]));
+ }
+#line 50212 "gram.c"
+ break;
+
+ case 2334: /* AexprConst: FCONST */
+#line 16612 "gram.y"
+ {
+ (yyval.node) = makeFloatConst((yyvsp[0].str), (yylsp[0]));
+ }
+#line 50220 "gram.c"
+ break;
+
+ case 2335: /* AexprConst: Sconst */
+#line 16616 "gram.y"
+ {
+ (yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0]));
+ }
+#line 50228 "gram.c"
+ break;
+
+ case 2336: /* AexprConst: BCONST */
+#line 16620 "gram.y"
+ {
+ (yyval.node) = makeBitStringConst((yyvsp[0].str), (yylsp[0]));
+ }
+#line 50236 "gram.c"
+ break;
+
+ case 2337: /* AexprConst: XCONST */
+#line 16624 "gram.y"
+ {
+ /* This is a bit constant per SQL99:
+ * Without Feature F511, "BIT data type",
+ * a <general literal> shall not be a
+ * <bit string literal> or a <hex string literal>.
+ */
+ (yyval.node) = makeBitStringConst((yyvsp[0].str), (yylsp[0]));
+ }
+#line 50249 "gram.c"
+ break;
+
+ case 2338: /* AexprConst: func_name Sconst */
+#line 16633 "gram.y"
+ {
+ /* generic type 'literal' syntax */
+ TypeName *t = makeTypeNameFromNameList((yyvsp[-1].list));
+
+ t->location = (yylsp[-1]);
+ (yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t);
+ }
+#line 50261 "gram.c"
+ break;
+
+ case 2339: /* AexprConst: func_name '(' func_arg_list opt_sort_clause ')' Sconst */
+#line 16641 "gram.y"
+ {
+ /* 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 50297 "gram.c"
+ break;
+
+ case 2340: /* AexprConst: ConstTypename Sconst */
+#line 16673 "gram.y"
+ {
+ (yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), (yyvsp[-1].typnam));
+ }
+#line 50305 "gram.c"
+ break;
+
+ case 2341: /* AexprConst: ConstInterval Sconst opt_interval */
+#line 16677 "gram.y"
+ {
+ TypeName *t = (yyvsp[-2].typnam);
+
+ t->typmods = (yyvsp[0].list);
+ (yyval.node) = makeStringConstCast((yyvsp[-1].str), (yylsp[-1]), t);
+ }
+#line 50316 "gram.c"
+ break;
+
+ case 2342: /* AexprConst: ConstInterval '(' Iconst ')' Sconst */
+#line 16684 "gram.y"
+ {
+ 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 50328 "gram.c"
+ break;
+
+ case 2343: /* AexprConst: TRUE_P */
+#line 16692 "gram.y"
+ {
+ (yyval.node) = makeBoolAConst(true, (yylsp[0]));
+ }
+#line 50336 "gram.c"
+ break;
+
+ case 2344: /* AexprConst: FALSE_P */
+#line 16696 "gram.y"
+ {
+ (yyval.node) = makeBoolAConst(false, (yylsp[0]));
+ }
+#line 50344 "gram.c"
+ break;
+
+ case 2345: /* AexprConst: NULL_P */
+#line 16700 "gram.y"
+ {
+ (yyval.node) = makeNullAConst((yylsp[0]));
+ }
+#line 50352 "gram.c"
+ break;
+
+ case 2346: /* Iconst: ICONST */
+#line 16705 "gram.y"
+ { (yyval.ival) = (yyvsp[0].ival); }
+#line 50358 "gram.c"
+ break;
+
+ case 2347: /* Sconst: SCONST */
+#line 16706 "gram.y"
+ { (yyval.str) = (yyvsp[0].str); }
+#line 50364 "gram.c"
+ break;
+
+ case 2348: /* SignedIconst: Iconst */
+#line 16708 "gram.y"
+ { (yyval.ival) = (yyvsp[0].ival); }
+#line 50370 "gram.c"
+ break;
+
+ case 2349: /* SignedIconst: '+' Iconst */
+#line 16709 "gram.y"
+ { (yyval.ival) = + (yyvsp[0].ival); }
+#line 50376 "gram.c"
+ break;
+
+ case 2350: /* SignedIconst: '-' Iconst */
+#line 16710 "gram.y"
+ { (yyval.ival) = - (yyvsp[0].ival); }
+#line 50382 "gram.c"
+ break;
+
+ case 2351: /* RoleId: RoleSpec */
+#line 16715 "gram.y"
+ {
+ 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;
+ case ROLESPEC_CURRENT_ROLE:
+ ereport(ERROR,
+ (errcode(ERRCODE_RESERVED_NAME),
+ errmsg("%s cannot be used as a role name here",
+ "CURRENT_ROLE"),
+ parser_errposition((yylsp[0]))));
+ break;
+ }
+ }
+#line 50425 "gram.c"
+ break;
+
+ case 2352: /* RoleSpec: NonReservedWord */
+#line 16756 "gram.y"
+ {
+ /*
+ * "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 50457 "gram.c"
+ break;
+
+ case 2353: /* RoleSpec: CURRENT_ROLE */
+#line 16784 "gram.y"
+ {
+ (yyval.rolespec) = makeRoleSpec(ROLESPEC_CURRENT_ROLE, (yylsp[0]));
+ }
+#line 50465 "gram.c"
+ break;
+
+ case 2354: /* RoleSpec: CURRENT_USER */
+#line 16788 "gram.y"
+ {
+ (yyval.rolespec) = makeRoleSpec(ROLESPEC_CURRENT_USER, (yylsp[0]));
+ }
+#line 50473 "gram.c"
+ break;
+
+ case 2355: /* RoleSpec: SESSION_USER */
+#line 16792 "gram.y"
+ {
+ (yyval.rolespec) = makeRoleSpec(ROLESPEC_SESSION_USER, (yylsp[0]));
+ }
+#line 50481 "gram.c"
+ break;
+
+ case 2356: /* role_list: RoleSpec */
+#line 16798 "gram.y"
+ { (yyval.list) = list_make1((yyvsp[0].rolespec)); }
+#line 50487 "gram.c"
+ break;
+
+ case 2357: /* role_list: role_list ',' RoleSpec */
+#line 16800 "gram.y"
+ { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].rolespec)); }
+#line 50493 "gram.c"
+ break;
+
+ case 2358: /* PLpgSQL_Expr: opt_distinct_clause opt_target_list from_clause where_clause group_clause having_clause window_clause opt_sort_clause opt_select_limit opt_for_locking_clause */
+#line 16817 "gram.y"
+ {
+ SelectStmt *n = makeNode(SelectStmt);
+
+ n->distinctClause = (yyvsp[-9].list);
+ n->targetList = (yyvsp[-8].list);
+ n->fromClause = (yyvsp[-7].list);
+ n->whereClause = (yyvsp[-6].node);
+ n->groupClause = ((yyvsp[-5].groupclause))->list;
+ n->groupDistinct = ((yyvsp[-5].groupclause))->distinct;
+ n->havingClause = (yyvsp[-4].node);
+ n->windowClause = (yyvsp[-3].list);
+ n->sortClause = (yyvsp[-2].list);
+ if ((yyvsp[-1].selectlimit))
+ {
+ n->limitOffset = (yyvsp[-1].selectlimit)->limitOffset;
+ n->limitCount = (yyvsp[-1].selectlimit)->limitCount;
+ if (!n->sortClause &&
+ (yyvsp[-1].selectlimit)->limitOption == LIMIT_OPTION_WITH_TIES)
+ ereport(ERROR,
+ (errcode(ERRCODE_SYNTAX_ERROR),
+ errmsg("WITH TIES cannot be specified without ORDER BY clause")));
+ n->limitOption = (yyvsp[-1].selectlimit)->limitOption;
+ }
+ n->lockingClause = (yyvsp[0].list);
+ (yyval.node) = (Node *) n;
+ }
+#line 50524 "gram.c"
+ break;
+
+ case 2359: /* PLAssignStmt: plassign_target opt_indirection plassign_equals PLpgSQL_Expr */
+#line 16850 "gram.y"
+ {
+ PLAssignStmt *n = makeNode(PLAssignStmt);
+
+ n->name = (yyvsp[-3].str);
+ n->indirection = check_indirection((yyvsp[-2].list), yyscanner);
+ /* nnames will be filled by calling production */
+ n->val = (SelectStmt *) (yyvsp[0].node);
+ n->location = (yylsp[-3]);
+ (yyval.node) = (Node *) n;
+ }
+#line 50539 "gram.c"
+ break;
+
+ case 2360: /* plassign_target: ColId */
+#line 16862 "gram.y"
+ { (yyval.str) = (yyvsp[0].str); }
+#line 50545 "gram.c"
+ break;
+
+ case 2361: /* plassign_target: PARAM */
+#line 16863 "gram.y"
+ { (yyval.str) = psprintf("$%d", (yyvsp[0].ival)); }
+#line 50551 "gram.c"
+ break;
+
+ case 2364: /* ColId: IDENT */
+#line 16884 "gram.y"
+ { (yyval.str) = (yyvsp[0].str); }
+#line 50557 "gram.c"
+ break;
+
+ case 2365: /* ColId: unreserved_keyword */
+#line 16885 "gram.y"
+ { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
+#line 50563 "gram.c"
+ break;
+
+ case 2366: /* ColId: col_name_keyword */
+#line 16886 "gram.y"
+ { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
+#line 50569 "gram.c"
+ break;
+
+ case 2367: /* type_function_name: IDENT */
+#line 16891 "gram.y"
+ { (yyval.str) = (yyvsp[0].str); }
+#line 50575 "gram.c"
+ break;
+
+ case 2368: /* type_function_name: unreserved_keyword */
+#line 16892 "gram.y"
+ { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
+#line 50581 "gram.c"
+ break;
+
+ case 2369: /* type_function_name: type_func_name_keyword */
+#line 16893 "gram.y"
+ { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
+#line 50587 "gram.c"
+ break;
+
+ case 2370: /* NonReservedWord: IDENT */
+#line 16898 "gram.y"
+ { (yyval.str) = (yyvsp[0].str); }
+#line 50593 "gram.c"
+ break;
+
+ case 2371: /* NonReservedWord: unreserved_keyword */
+#line 16899 "gram.y"
+ { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
+#line 50599 "gram.c"
+ break;
+
+ case 2372: /* NonReservedWord: col_name_keyword */
+#line 16900 "gram.y"
+ { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
+#line 50605 "gram.c"
+ break;
+
+ case 2373: /* NonReservedWord: type_func_name_keyword */
+#line 16901 "gram.y"
+ { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
+#line 50611 "gram.c"
+ break;
+
+ case 2374: /* ColLabel: IDENT */
+#line 16907 "gram.y"
+ { (yyval.str) = (yyvsp[0].str); }
+#line 50617 "gram.c"
+ break;
+
+ case 2375: /* ColLabel: unreserved_keyword */
+#line 16908 "gram.y"
+ { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
+#line 50623 "gram.c"
+ break;
+
+ case 2376: /* ColLabel: col_name_keyword */
+#line 16909 "gram.y"
+ { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
+#line 50629 "gram.c"
+ break;
+
+ case 2377: /* ColLabel: type_func_name_keyword */
+#line 16910 "gram.y"
+ { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
+#line 50635 "gram.c"
+ break;
+
+ case 2378: /* ColLabel: reserved_keyword */
+#line 16911 "gram.y"
+ { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
+#line 50641 "gram.c"
+ break;
+
+ case 2379: /* BareColLabel: IDENT */
+#line 16917 "gram.y"
+ { (yyval.str) = (yyvsp[0].str); }
+#line 50647 "gram.c"
+ break;
+
+ case 2380: /* BareColLabel: bare_label_keyword */
+#line 16918 "gram.y"
+ { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
+#line 50653 "gram.c"
+ break;
+
+
+#line 50657 "gram.c"
+
+ 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 ("-> $$ =", YY_CAST (yysymbol_kind_t, yyr1[yyn]), &yyval, &yyloc);
+
+ YYPOPSTACK (yylen);
+ yylen = 0;
+
+ *++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 ? YYSYMBOL_YYEMPTY : YYTRANSLATE (yychar);
+ /* If not already recovering from an error, report this error. */
+ if (!yyerrstatus)
+ {
+ ++yynerrs;
+ yyerror (&yylloc, yyscanner, YY_("syntax error"));
+ }
+
+ 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. */
+
+ /* Pop stack until we find a state that shifts the error token. */
+ for (;;)
+ {
+ yyn = yypact[yystate];
+ if (!yypact_value_is_default (yyn))
+ {
+ yyn += YYSYMBOL_YYerror;
+ if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror)
+ {
+ 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",
+ YY_ACCESSING_SYMBOL (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;
+ ++yylsp;
+ YYLLOC_DEFAULT (*yylsp, yyerror_range, 2);
+
+ /* Shift the error token. */
+ YY_SYMBOL_PRINT ("Shifting", YY_ACCESSING_SYMBOL (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
+/*-------------------------------------------------.
+| yyexhaustedlab -- memory exhaustion comes here. |
+`-------------------------------------------------*/
+yyexhaustedlab:
+ yyerror (&yylloc, yyscanner, YY_("memory exhausted"));
+ yyresult = 2;
+ goto yyreturn;
+#endif
+
+
+/*-------------------------------------------------------.
+| yyreturn -- parsing is finished, clean up and return. |
+`-------------------------------------------------------*/
+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",
+ YY_ACCESSING_SYMBOL (+*yyssp), yyvsp, yylsp, yyscanner);
+ YYPOPSTACK (1);
+ }
+#ifndef yyoverflow
+ if (yyss != yyssa)
+ YYSTACK_FREE (yyss);
+#endif
+
+ return yyresult;
+}
+
+#line 17890 "gram.y"
+
+
+/*
+ * 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(indirection, 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.sval.type = T_String;
+ n->val.sval.sval = 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.ival.type = T_Integer;
+ n->val.ival.ival = val;
+ n->location = location;
+
+ return (Node *) n;
+}
+
+static Node *
+makeFloatConst(char *str, int location)
+{
+ A_Const *n = makeNode(A_Const);
+
+ n->val.fval.type = T_Float;
+ n->val.fval.fval = str;
+ n->location = location;
+
+ return (Node *) n;
+}
+
+static Node *
+makeBoolAConst(bool state, int location)
+{
+ A_Const *n = makeNode(A_Const);
+
+ n->val.boolval.type = T_Boolean;
+ n->val.boolval.boolval = state;
+ n->location = location;
+
+ return (Node *) n;
+}
+
+static Node *
+makeBitStringConst(char *str, int location)
+{
+ A_Const *n = makeNode(A_Const);
+
+ n->val.bsval.type = T_BitString;
+ n->val.bsval.bsval = str;
+ n->location = location;
+
+ return (Node *) n;
+}
+
+static Node *
+makeNullAConst(int location)
+{
+ A_Const *n = makeNode(A_Const);
+
+ n->isnull = true;
+ n->location = location;
+
+ return (Node *) n;
+}
+
+static Node *
+makeAConst(Node *v, int location)
+{
+ Node *n;
+
+ switch (v->type)
+ {
+ case T_Float:
+ n = makeFloatConst(castNode(Float, v)->fval, location);
+ break;
+
+ case T_Integer:
+ n = makeIntConst(castNode(Integer, v)->ival, location);
+ break;
+
+ default:
+ /* currently not used */
+ Assert(false);
+ n = NULL;
+ }
+
+ return n;
+}
+
+/* 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(indirection, 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);
+ Integer *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,
+ SelectLimit *limitClause,
+ 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 (limitClause && limitClause->limitOffset)
+ {
+ if (stmt->limitOffset)
+ ereport(ERROR,
+ (errcode(ERRCODE_SYNTAX_ERROR),
+ errmsg("multiple OFFSET clauses not allowed"),
+ parser_errposition(exprLocation(limitClause->limitOffset))));
+ stmt->limitOffset = limitClause->limitOffset;
+ }
+ if (limitClause && limitClause->limitCount)
+ {
+ if (stmt->limitCount)
+ ereport(ERROR,
+ (errcode(ERRCODE_SYNTAX_ERROR),
+ errmsg("multiple LIMIT clauses not allowed"),
+ parser_errposition(exprLocation(limitClause->limitCount))));
+ stmt->limitCount = limitClause->limitCount;
+ }
+ if (limitClause && limitClause->limitOption != LIMIT_OPTION_DEFAULT)
+ {
+ if (stmt->limitOption)
+ ereport(ERROR,
+ (errcode(ERRCODE_SYNTAX_ERROR),
+ errmsg("multiple limit options not allowed")));
+ if (!stmt->sortClause && limitClause->limitOption == LIMIT_OPTION_WITH_TIES)
+ ereport(ERROR,
+ (errcode(ERRCODE_SYNTAX_ERROR),
+ errmsg("WITH TIES cannot be specified without ORDER BY clause")));
+ if (limitClause->limitOption == LIMIT_OPTION_WITH_TIES && stmt->lockingClause)
+ {
+ ListCell *lc;
+
+ foreach(lc, stmt->lockingClause)
+ {
+ LockingClause *lock = lfirst_node(LockingClause, lc);
+
+ if (lock->waitPolicy == LockWaitSkip)
+ ereport(ERROR,
+ (errcode(ERRCODE_SYNTAX_ERROR),
+ errmsg("%s and %s options cannot be used together",
+ "SKIP LOCKED", "WITH TIES")));
+ }
+ }
+ stmt->limitOption = limitClause->limitOption;
+ }
+ 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 (IsA(&con->val, Integer))
+ {
+ con->val.ival.ival = -con->val.ival.ival;
+ return n;
+ }
+ if (IsA(&con->val, Float))
+ {
+ doNegateFloat(&con->val.fval);
+ return n;
+ }
+ }
+
+ return (Node *) makeSimpleA_Expr(AEXPR_OP, "-", NULL, n, location);
+}
+
+static void
+doNegateFloat(Float *v)
+{
+ char *oldval = v->fval;
+
+ if (*oldval == '+')
+ oldval++;
+ if (*oldval == '-')
+ v->fval = oldval+1; /* just strip the '-' */
+ else
+ v->fval = psprintf("-%s", oldval);
+}
+
+static Node *
+makeAndExpr(Node *lexpr, Node *rexpr, int location)
+{
+ /* Flatten "a AND b AND c ..." to a single BoolExpr on sight */
+ if (IsA(lexpr, BoolExpr))
+ {
+ BoolExpr *blexpr = (BoolExpr *) lexpr;
+
+ 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)
+{
+ /* Flatten "a OR b OR c ..." to a single BoolExpr on sight */
+ if (IsA(lexpr, BoolExpr))
+ {
+ BoolExpr *blexpr = (BoolExpr *) lexpr;
+
+ 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_DEFAULT &&
+ 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;
+}
+
+/*
+ * Convert a relation_name with name and namelist to a RangeVar using
+ * makeRangeVar.
+ */
+static RangeVar *
+makeRangeVarFromQualifiedName(char *name, List *namelist, int location,
+ core_yyscan_t yyscanner)
+{
+ RangeVar *r;
+
+ check_qualified_name(namelist, yyscanner);
+ r = makeRangeVar(NULL, NULL, location);
+
+ switch (list_length(namelist))
+ {
+ case 1:
+ r->catalogname = NULL;
+ r->schemaname = name;
+ r->relname = strVal(linitial(namelist));
+ break;
+ case 2:
+ r->catalogname = name;
+ r->schemaname = strVal(linitial(namelist));
+ r->relname = strVal(lsecond(namelist));
+ break;
+ default:
+ ereport(ERROR,
+ errcode(ERRCODE_SYNTAX_ERROR),
+ errmsg("improper qualified name (too many dotted names): %s",
+ NameListToString(lcons(makeString(name), namelist))),
+ parser_errposition(location));
+ break;
+ }
+
+ 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;
+
+ *collClause = NULL;
+ foreach(cell, qualList)
+ {
+ Node *n = (Node *) lfirst(cell);
+
+ if (IsA(n, Constraint))
+ {
+ /* keep it in list */
+ 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 = foreach_delete_current(qualList, cell);
+ }
+ *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)));
+ }
+}
+
+/*
+ * Parse a user-supplied partition strategy string into parse node
+ * PartitionStrategy representation, or die trying.
+ */
+static PartitionStrategy
+parsePartitionStrategy(char *strategy)
+{
+ if (pg_strcasecmp(strategy, "list") == 0)
+ return PARTITION_STRATEGY_LIST;
+ else if (pg_strcasecmp(strategy, "range") == 0)
+ return PARTITION_STRATEGY_RANGE;
+ else if (pg_strcasecmp(strategy, "hash") == 0)
+ return PARTITION_STRATEGY_HASH;
+
+ ereport(ERROR,
+ (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
+ errmsg("unrecognized partitioning strategy \"%s\"",
+ strategy)));
+ return PARTITION_STRATEGY_LIST; /* keep compiler quiet */
+
+}
+
+/*
+ * Process pubobjspec_list to check for errors in any of the objects and
+ * convert PUBLICATIONOBJ_CONTINUATION into appropriate PublicationObjSpecType.
+ */
+static void
+preprocess_pubobj_list(List *pubobjspec_list, core_yyscan_t yyscanner)
+{
+ ListCell *cell;
+ PublicationObjSpec *pubobj;
+ PublicationObjSpecType prevobjtype = PUBLICATIONOBJ_CONTINUATION;
+
+ if (!pubobjspec_list)
+ return;
+
+ pubobj = (PublicationObjSpec *) linitial(pubobjspec_list);
+ if (pubobj->pubobjtype == PUBLICATIONOBJ_CONTINUATION)
+ ereport(ERROR,
+ errcode(ERRCODE_SYNTAX_ERROR),
+ errmsg("invalid publication object list"),
+ errdetail("One of TABLE or TABLES IN SCHEMA must be specified before a standalone table or schema name."),
+ parser_errposition(pubobj->location));
+
+ foreach(cell, pubobjspec_list)
+ {
+ pubobj = (PublicationObjSpec *) lfirst(cell);
+
+ if (pubobj->pubobjtype == PUBLICATIONOBJ_CONTINUATION)
+ pubobj->pubobjtype = prevobjtype;
+
+ if (pubobj->pubobjtype == PUBLICATIONOBJ_TABLE)
+ {
+ /* relation name or pubtable must be set for this type of object */
+ if (!pubobj->name && !pubobj->pubtable)
+ ereport(ERROR,
+ errcode(ERRCODE_SYNTAX_ERROR),
+ errmsg("invalid table name"),
+ parser_errposition(pubobj->location));
+
+ if (pubobj->name)
+ {
+ /* convert it to PublicationTable */
+ PublicationTable *pubtable = makeNode(PublicationTable);
+
+ pubtable->relation =
+ makeRangeVar(NULL, pubobj->name, pubobj->location);
+ pubobj->pubtable = pubtable;
+ pubobj->name = NULL;
+ }
+ }
+ else if (pubobj->pubobjtype == PUBLICATIONOBJ_TABLES_IN_SCHEMA ||
+ pubobj->pubobjtype == PUBLICATIONOBJ_TABLES_IN_CUR_SCHEMA)
+ {
+ /* WHERE clause is not allowed on a schema object */
+ if (pubobj->pubtable && pubobj->pubtable->whereClause)
+ ereport(ERROR,
+ errcode(ERRCODE_SYNTAX_ERROR),
+ errmsg("WHERE clause not allowed for schema"),
+ parser_errposition(pubobj->location));
+
+ /* Column list is not allowed on a schema object */
+ if (pubobj->pubtable && pubobj->pubtable->columns)
+ ereport(ERROR,
+ errcode(ERRCODE_SYNTAX_ERROR),
+ errmsg("column specification not allowed for schema"),
+ parser_errposition(pubobj->location));
+
+ /*
+ * We can distinguish between the different type of schema
+ * objects based on whether name and pubtable is set.
+ */
+ if (pubobj->name)
+ pubobj->pubobjtype = PUBLICATIONOBJ_TABLES_IN_SCHEMA;
+ else if (!pubobj->name && !pubobj->pubtable)
+ pubobj->pubobjtype = PUBLICATIONOBJ_TABLES_IN_CUR_SCHEMA;
+ else
+ ereport(ERROR,
+ errcode(ERRCODE_SYNTAX_ERROR),
+ errmsg("invalid schema name"),
+ parser_errposition(pubobj->location));
+ }
+
+ prevobjtype = pubobj->pubobjtype;
+ }
+}
+
+/*----------
+ * 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 */
+}